More questions on expected loft behavior

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
nikolajsheller
Posts: 7
Joined: Wed Oct 09, 2019 9:13 pm

More questions on expected loft behavior

Postby nikolajsheller » Fri Oct 11, 2019 10:14 pm

I have been experimenting a bit more with Additive Loft, and I am having trouble understanding how the tool decides how to loft.
I am using the latest AppImage of FreeCAD 0.19R18403 (Git)

The result I want to achieve looks something like this. Note Sketch001 is at y = 16:
Screenshot from 2019-10-11 23-55-36.png
Screenshot from 2019-10-11 23-55-36.png (258.72 KiB) Viewed 255 times
Moving Sketch001 down 2 mm, so y = 14, I get this:
Screenshot from 2019-10-11 23-55-08.png
Screenshot from 2019-10-11 23-55-08.png (264.75 KiB) Viewed 255 times
Moving Sketch001 down 1 mm, so y = 13, I get this:
Screenshot from 2019-10-11 23-54-51.png
Screenshot from 2019-10-11 23-54-51.png (249.22 KiB) Viewed 255 times
Moving Sketch001 down 1 mm, so y = 12, I get this:
Screenshot from 2019-10-11 23-54-35.png
Screenshot from 2019-10-11 23-54-35.png (263.43 KiB) Viewed 255 times
I am having trouble understanding what is going on here.
The attached 'VentManifold 3.FCStd' illustrates the problem.
Attachments
VentManifold 3.FCStd
(60.5 KiB) Downloaded 6 times
chrisb
Posts: 19003
Joined: Tue Mar 17, 2015 9:14 am

Re: More questions on expected loft behavior

Postby chrisb » Fri Oct 11, 2019 11:06 pm

You had already in your other topic the opportunity to learn that such a 90° loft doesn't work; take it!

Furthermore you seem to have mixed inside and outside of one of the sketches. If I swap them and tilt Sketch001 by 1° towards the other I get nice results, even with 10mm, as shown here:
Snip macro screenshot-3d162d.png
Snip macro screenshot-3d162d.png (16.78 KiB) Viewed 247 times
Attachments
VentManifold_cb.FCStd
(50.63 KiB) Downloaded 7 times
nikolajsheller
Posts: 7
Joined: Wed Oct 09, 2019 9:13 pm

Re: More questions on expected loft behavior

Postby nikolajsheller » Sat Oct 12, 2019 2:33 pm

1) In the previous topic we discussed rotation exceeding 90 degrees. I am not exceeding 90 degrees here.

2) I have not mixed inside and outside of the sketches, I have _only_ translated along Y. If in doubt please try using the attached file 'VentManifold 3.FCStd

3) You state here that loft uses the shortest connections. Pure translation along Y do alter the shortest connections and should not give 3 completely different, seemingly non-deterministic, solutions to what basically is the same loft.

4) Users should not have to go through all kinds of workarounds to perform what should be a trivial operation.

Testing this operation on Fusion 360 and Onshape yield deterministic, unsurprising results.

I really like FreeCAD, and I want to see it succeed, but problems like this need to be fixed for this to happen.
kisolre
Posts: 1360
Joined: Wed Nov 21, 2018 1:13 pm

Re: More questions on expected loft behavior

Postby kisolre » Sat Oct 12, 2019 5:35 pm

Part_Loft_Technical_Details
Probably Step2 could explain things.
chrisb
Posts: 19003
Joined: Tue Mar 17, 2015 9:14 am

Re: More questions on expected loft behavior

Postby chrisb » Sat Oct 12, 2019 8:58 pm

nikolajsheller wrote:
Sat Oct 12, 2019 2:33 pm
1) In the previous topic we discussed rotation exceeding 90 degrees. I am not exceeding 90 degrees here.
Let me quote myself:
chrisb wrote:
Thu Oct 10, 2019 5:39 am
As I'm afraid that 90° may still be unstable I would even go for a rotation of -0.001°
2) I have not mixed inside and outside of the sketches, I have _only_ translated along Y. If in doubt please try using the attached file 'VentManifold 3.FCStd
Even at y=16mm the loft is not ok. If you hover over the sketches you will see in the status bar that for the vertical sketch the inner edges have higher numbers than the outer sketches. This means that you made the outer slot first and the inner slot later.
With the horizontal sketch it is vice versa: the inner slot has lower edge numbers than the outer. These images show some z-fighting, indicating issues on the surface:
Bildschirmfoto 2019-10-12 um 22.50.11.png
Bildschirmfoto 2019-10-12 um 22.50.11.png (83.2 KiB) Viewed 184 times
Bildschirmfoto 2019-10-12 um 22.51.56.png
Bildschirmfoto 2019-10-12 um 22.51.56.png (69.63 KiB) Viewed 184 times
You state here that loft uses the shortest connections. Pure translation along Y do alter the shortest connections and should not give 3 completely different, seemingly non-deterministic, solutions to what basically is the same loft.
This is just a guess, and as stated above, the loft is broken in all 3 cases.


4) Users should not have to go through all kinds of workarounds to perform what should be a trivial operation.
Calling a loft "trivial" is open for discussion, but you are perfectly right, that users should not have to use (rather complicated) workarounds for such things.
nikolajsheller
Posts: 7
Joined: Wed Oct 09, 2019 9:13 pm

Re: More questions on expected loft behavior

Postby nikolajsheller » Mon Oct 14, 2019 12:04 pm

Thank you for taking a look at this chrisb

You are right about the inner and outer walls being swapped on Sketch001, my apologies.

Fixing the swapped walls does not change the fact that loft gives at least 3 completely unpredictable, mainly incorrect, outputs. Please see the illustrated outputs in the initial post of this thread.

If the loft cannot give the correct output it should fail and report the problem to the user. Loft should not generate an incorrect loft, when the inputs are correct.

In my case the loft was initially correct, but working with the model the loft failed unexpectedly as some dimensions changed, leaving me unable to diagnose the problem. Bumping in to crashes and behavior like this becomes very frustrating to me as a user, and I want FreeCAD to be a nice tool to use.

I feel this is a bug in FreeCAD that should be addressed.

What are your thoughts on this chrisb?