# Geometry scale using (simple) functions

**URL:** <https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685>\
**Category:** General Questions\
**Created:** [May 9, 2025, 4:27pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685 "2025-05-09T16:27:38Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@frank](https://prepomax.discourse.group/u/frank)\
**Post date:** [May 9, 2025, 4:27pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/1 "2025-05-09T16:27:38Z")

</div>

Hello,  
I’m trying to study the influence of core height in a sandwich panel. So, rather than using new models I simple use the transform geometry feature. I’m using some odd thicknesses for the core, so wanted to be smart and scale everything first back to 1 and then upscale to whatever number I needed. Unfortunately, the input only allows doubles and no functions. Maybe an in-built calculator could be added as a feature?

 ![Scale-geometry](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/0/0c980d597c2c96494ee62f9a4b02bfa6f7caa97d.png)

Obviously, not the most urgent feature request I guess but something helpful for tthe future.  
Cheers!  
.

---

<div class="post-metadata">

**Author:** ![Matej](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej](https://prepomax.discourse.group/u/Matej)\
**Post date:** [May 9, 2025, 4:44pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/2 "2025-05-09T16:44:18Z")

</div>

To enter the expression, you need to start with the equal sign, like = 1/2

All fields support such expressions, which are computed on the fly. Some fields, like force components, also support equations. The difference is that equations are saved as equations and are recomputed every time their value is needed.

---

<div class="post-metadata">

**Author:** ![frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@frank](https://prepomax.discourse.group/u/frank)\
**Post date:** [May 9, 2025, 6:33pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/3 "2025-05-09T18:33:08Z")

</div>

A very effective feature request, completed before requested ;). Sorry, should have tried the = sign but it did not come to mind :s

---

<div class="post-metadata">

**Author:** ![frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@frank](https://prepomax.discourse.group/u/frank)\
**Post date:** [May 10, 2025, 7:07am UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/4 "2025-05-10T07:07:47Z")

</div>

If not too much work, maybe the way of getting to “Scale” could be decluttered by one step? After having it done a few dozen times now, the upper menu “Transform” does not appear to have any value and “Scale” could move one level up?

 ![scale](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/2/2b5762e6ea9626163299af2eb55f78e627fd6596.png)

---

<div class="post-metadata">

**Author:** ![frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@frank](https://prepomax.discourse.group/u/frank)\
**Post date:** [May 10, 2025, 9:02am UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/5 "2025-05-10T09:02:21Z")

</div>

I’ve also noticed that the model view after scaling a part and remeshing does not appear to get updated. The old positions of the parts are still being shown too. Changing the view, e.g. exploding and then reverting to the normal view, then displays the part correctly. There maybe an “update view” missing in the code?

Here two examples of the meshes shown after scaling and remeshing in the FE Model tab. The first is the display when the ‘normal’ view was selected in the FE Model tab and the second when the ‘exploded’ view was selected before scaling and remeshing (scaling down in z here).

 ![load from previous geometry](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/a/a599714f76b0d9e350a026daad2115aa0125d2e8.png)  
here, the blue layer is the top skin from the previous model before downscaling

 ![geometry from previous scale](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/c/ce1c3066ad425d251200894571f4c4b8134bf087.png)  
(red outlines are the new, scaled meshes / parts.

Not sure if this is by choice, I also noticed that the Constraints do not appear to be scaled and need to be removed and recreated after each operation. Maybe this could be included in the scaling operation?

---

<div class="post-metadata">

**Author:** ![Matej](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej](https://prepomax.discourse.group/u/Matej)\
**Post date:** [May 10, 2025, 7:09pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/6 "2025-05-10T19:09:25Z")

</div>

> [@frank](#):
>
> If not too much work, maybe the way of getting to “Scale” could be decluttered by one step? After having it done a few dozen times now, the upper menu “Transform” does not appear to have any value and “Scale” could move one level up?

This is prepared for the following version when other Transform features will be added.

> [@frank](#):
>
> I’ve also noticed that the model view after scaling a part and remeshing does not appear to get updated.

This is a bug. It is already patched in the upcoming developer version of PrePoMax.

---

<div class="post-metadata">

**Author:** ![frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@frank](https://prepomax.discourse.group/u/frank)\
**Post date:** [May 11, 2025, 5:09am UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/7 "2025-05-11T05:09:37Z")

</div>

Thank you @Matej. Just to be sure has this also been affected?:

> [@frank](#):
>
> Not sure if this is by choice, I also noticed that the Constraints do not appear to be scaled and need to be removed and recreated after each operation. Maybe this could be included in the scaling operation?

---

<div class="post-metadata">

**Author:** ![Matej](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej](https://prepomax.discourse.group/u/Matej)\
**Post date:** [May 11, 2025, 6:03pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/8 "2025-05-11T18:03:59Z")

</div>

For my test cases, yes. Which constraints did you use?

---

<div class="post-metadata">

**Author:** ![frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@frank](https://prepomax.discourse.group/u/frank)\
**Post date:** [May 13, 2025, 10:08am UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/9 "2025-05-13T10:08:45Z")

</div>

Thanks, I just updated to PrePoMax v2.3.2 dev to give it a try.

Afraid, the issue seems not to be resolved resolved. Below image is the displacement of a sandwich sample with 2mm carbon/epoxy composite skins and a 10 mm aluminium core. Part dimension is length 500 mm x width 250 mm and thickness 14 mm. Boundary conditions are clamped at one short and one long edge; symmetry is applied on the remaining two. A uniform load is applied on one surface and the displacement colour contours look like expected:

 ![result unscaled](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/5/586fc52856f32b36665479eb42c0aa37406d1676.png)

If I scale this geometry for all 3 parts by 0.2 and then remesh everything, I get the below display of the mesh which does still show previous mesh parts (also it appears to be less than before):

 ![mesh display incorrect](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/9/925f9ad67e8bf1e5263fbf4f6f0d41f3cb8b4568.png)  
You can see that the skin in the centre is shown double and parts of a horizontal mesh is still shown. The display in the FE model tab was set to an exploded view prior to scaling and remeshing the parts. However, this view does not appear to affect the actual model. If the view is reverted (i.e. the explosion is undone and redone), the parts are displayed correctly.

Unfortunately, the boundary conditions are sometimes altered—this seems to have occurred in this case as well:

 ![bc changed](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/2/2eb2698edae43e355d6c5e60c1309c5337a73c8f.png)  
As shown, one of the short-edge boundary conditions has shifted to a long edge. However, this issue does not appear to occur with all scaling factors.

> [@Matej](#):
>
> Which constraints did you use?

Running this model, also the tie constraints have now been invalidated:

 ![tie constraints not updated](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/2/20b4fd8ac0cc41393435b8dc919855793df3db7f.png)  
as you can see, there is no load transfer between the top skin and the core any longer.

This is the original unscaled pmx file: [https://drive.google.com/file/d/1BfK3xyZumRZpM-oetX4byvxKg8SNozVc/view?usp=sharing](https://drive.google.com/file/d/1BfK3xyZumRZpM-oetX4byvxKg8SNozVc/view?usp=sharing)  
After scaling by 0.2 in Y and remeshing, don’t forget to change the element type to S8R manually before running the model 😉

---

<div class="post-metadata">

**Author:** ![Matej](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej](https://prepomax.discourse.group/u/Matej)\
**Post date:** [May 14, 2025, 2:33pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/10 "2025-05-14T14:33:53Z")

</div>

> [@frank](#):
>
> Unfortunately, the boundary conditions are sometimes altered

OK, I understand this part now. The default selection in PrePoMax is Selection by location. This means that every time the mesh is regenerated, the selection is redone using the saved location. This offers the ability to make small changes to the geometry of the model and the selection can be recreated when needed.

When doing the selection, you can change the default behaviour to Selection by ID. This selection method will always select the same items when the selection must be redone (meshing). But if your model changes IDs (you add or delete a face) the selection might fail.

> [@frank](#):
>
> This is the original unscaled pmx file

I will try to recreate the problem.

> [@frank](#):
>
> don’t forget to change the element type to S8R manually before running the model

I will not 😃

---

<div class="post-metadata">

**Author:** ![frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@frank](https://prepomax.discourse.group/u/frank)\
**Post date:** [May 15, 2025, 9:51am UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/11 "2025-05-15T09:51:06Z")

</div>

> [@Matej](#):
>
> you can change the default behaviour to Selection by ID. This selection method will always select the same items when the selection must be redone (meshing). But if your model changes IDs (you add or delete a face) the selection might fail.

I’ve tried this, must admit that I did not know it was there or what it meant, but this also does not seem to work and the boundary conditions still jump from one to another edge when the geometry is scaled.

---

<div class="post-metadata">

**Author:** ![Matej](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej](https://prepomax.discourse.group/u/Matej)\
**Post date:** [May 15, 2025, 4:46pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/12 "2025-05-15T16:46:15Z")

</div>

Using your file, I was able to reproduce the visualization bug, but not the selection bug while using the Selection by ID. If you switch the selection method, you must select all the items again. Did you do it?

---

<div class="post-metadata">

**Author:** ![frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@frank](https://prepomax.discourse.group/u/frank)\
**Post date:** [May 15, 2025, 5:42pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/13 "2025-05-15T17:42:05Z")

</div>

Maybe it’s just a visualisation thing too?

These are the bc of the short (fixed) edge; Selection by ID selected before scaling.

 ![Selection by ID](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/e/ed21c725d4e93be15a9554e3575e0a206e00fa76.png)

After scaling, one bc is shown incorrectly :

 ![Seelction by ID shown](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/e/ed274039d1b70ca6d956f125a47af48a2db94cc6.png)

but when opening the bc selection menu, the correct boundaries are displayed (ignoring the display bug):

 ![Seelction by ID after](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/7/726bb04cf7a8291e479f0774a899ec299976208f.png)

So, not entirely sure which one to believe 😉

Running the model (needing to redo the tie constraints as they got invalidated during scaling), I get these displacement which do not look correct but I get the same when reselecting the bc:

 ![displacement no bc changes](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/e/e2deb5854e6f40a8692042cf254015f6bfadaf47.png)  
I would expect the maximum displacement at the symmetry constraints

Tried to visualise this in the transformation window but this does not seem to work either any longer 😥

 ![create transformation](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/6/6ac169bf111ee8659cb43f5ecdfd236079afa135.png)

---

<div class="post-metadata">

**Author:** ![Matej](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej](https://prepomax.discourse.group/u/Matej)\
**Post date:** [May 15, 2025, 5:54pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/14 "2025-05-15T17:54:10Z")

</div>

The visualization problem disappears if the assembly view is turned off and on again. If after this the wrong parts of the geometry are selected, it is a bug.

And another one in the Transformations window. I will fix this as soon as possible.

---

<div class="post-metadata">

**Author:** ![Matej](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej](https://prepomax.discourse.group/u/Matej)\
**Post date:** [May 15, 2025, 6:42pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/15 "2025-05-15T18:42:24Z")

</div>

Did you move the point of the symmetry plane for the results transformation to the border of the model? The point 0, 0, 0 is in the middle of the model.

---

<div class="post-metadata">

**Author:** ![Matej](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej](https://prepomax.discourse.group/u/Matej)\
**Post date:** [May 15, 2025, 6:52pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/16 "2025-05-15T18:52:42Z")

</div>

For me the results transform and the selection by ID is working even if I scale the model by a larger scale factors.

I have also fixed the visualization bug.

---

<div class="post-metadata">

**Author:** ![Matej](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej](https://prepomax.discourse.group/u/Matej)\
**Post date:** [May 15, 2025, 7:09pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/17 "2025-05-15T19:09:14Z")

</div>

I think I found the problem with element type selection. If you repeatedly remesh the model the element type is kept the same as set by the user. This must be done only once. But if you apply scaling, this information is lost. Or if you apply any other operation on geometry the information is also lost. So I think if I fix this and keep the element type even after geometry operations, the default element type is not really needed?

---

<div class="post-metadata">

**Author:** ![frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@frank](https://prepomax.discourse.group/u/frank)\
**Post date:** [May 15, 2025, 9:37pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/18 "2025-05-15T21:37:58Z")

</div>

> [@Matej](#):
>
> Did you move the point of the symmetry plane for the results transformation to the border of the model? The point 0, 0, 0 is in the middle of the model.

No, I never had to, and it seems I had the subconscious conviction that nothing else was needed; that just clicking on the desired transformation would be enough. My bad! Got it now!

---

<div class="post-metadata">

**Author:** ![frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@frank](https://prepomax.discourse.group/u/frank)\
**Post date:** [May 15, 2025, 9:47pm UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/19 "2025-05-15T21:47:44Z")

</div>

> [@Matej](#):
>
> So I think if I fix this and keep the element type even after geometry operations, the default element type is not really needed?

Keeping a selected element type after any operation, that would already be a big step forward! I would only need to set this once. Having an option to set the own defaults through an .ini (or similar) would be fantastic. I only need S8R elements (ever), so would not need to deal with this setting ever again when setting up models if changed in he defaults 😉

From a programming point of view, would it not be much easier to go down the .ini file route?

Anyhow, either solution would be of much help already! Many thanks.

---

<div class="post-metadata">

**Author:** ![Matej](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej](https://prepomax.discourse.group/u/Matej)\
**Post date:** [May 16, 2025, 7:22am UTC](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685/20 "2025-05-16T07:22:21Z")

</div>

I have fixed the problem, so now, after remeshing, the element type does not need to be changed.

I am not a fan of the ini file. I would rather integrate the default element selection in the settings. But both options would require more work than the fix did.

[Next page](https://prepomax.discourse.group/t/geometry-scale-using-simple-functions/2685.md?page=2)
