Unexpected Complex Construction

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Unexpected Complex Construction

randress
This came up while attempting to simplify a test case, while I was working backwards from the issue. I may not be able to reproduce it, but I wanted to report it anyway.  Later I can work on reproducing it if necessary.

Create B1, Cone, extrude outer cone circular face, slice the resulting cylinder at -1.5.

(BTW, GREAT JOB WITH SPLIT/SLICE VISUALIZATION; IT EVEN UPDATES AUTOMATICALLY WHEN PARAMETERS ARE UPDATED!!!)

Then, undo the split/slice and apply a 0.2 fillet to the cylinder.

There were steps in between that were done and undone but the above would be a ground up construction of what appears in the result:



I saved the MATLAB and GUI scripts and the model file:

GUI script:
unexpected_folding_on_fillet.fes

MATLAB script:
unexpected_folding_on_fillet.m

Model file:
unexpected_folding_on_fillet.fea

Kind regards,
-Randal
Reply | Threaded
Open this post in threaded view
|

Re: Unexpected Complex Construction

Precise Simulation
Administrator
Thank you for the feedback. This behaviour is due to the non-standard "undo/revert" behaviour. As FEATool stores the original geometry objects in each transformed object ("children" field) you can revert any object at any time in any order (instead of sequential undo like is more standard/typical). The disadvantage besides storing all original objects is that for operations that result in multiple new objects there are now multiple copies of the parents, and when reverted leads to confusion. In this case you split the cylinder and when reverting the split you get the original (uncut cylinder) but you still have another half (with the other copy of its parent). So in your end result you have two overlapping extruded cylinder of which one is filleted which looks somewhat odd but it expected. I might have to change to a more traditional undo later due to this confusion (as the alternative is to delete non-selected objects but with the same children which also might be unexpected for the user).