As you know those features usually produces twisted faces when start and end profiles are rotated from each other.
But, in sometimes the start and the end profiles are parallel, segments are parallel as well, however in such situation the above features produce Bspline elements (faces n edges) although said elements should be flat or linear.
Such behavior produces too much complex elements for no reason, it's overkill. I don't know if it's related to FreeCAD or OCC, I'm not a developer.
First example:
This ruled surface is totaly flat, however face and edges are Bsplines, the same if the shape is rectangular.
Second example:
Here it's worst, when the shape is totaly rectangular shaped faces are planes and edges are Bezier edges. But when the shape is stretched the faces become Bsplines and the edges Bsplines also. This is a source of instability (Xref for eg.).
Third exemple, draft option of PartDesign Pad in Linkstage3 with draft option:
File: -> see next post.realthunder wrote:ping
Here we've got flat and linear elements, then with draft option faces remain flat but edges turns to Bsplines.
Last example with Sweep, the behavior is better:
https://forum.freecadweb.org/viewtopic. ... 50#p470924
Here faces are planes, but edges are still Bsplines.
AFAIK such behavior make shapes which are impossible to unfold in sheetmetal workbench, it also involves errors with Xref because of the change of elements nature when the shape's dimension vary.
IMO get flat faces and linear edges when start and end profiles are flat and parallel would be far more reliable.
What is the underlying mechanism which controls such behavior in source code?
Is it possible to trigger a special behavior in order to get flat and linear elements from OCC for non twisted shapes?
(It could be a new property "avoid Bspline elements for non twisted shapes". Set to False by default in PartWB preferences for backward compatibility)
Power users of FreeCAD and devs, what's your opinion about such behavior?
Thanks for your attention.
OS: Debian GNU/Linux 10 (buster) (LXDE/LXDE-pi)
Word size of FreeCAD: 64-bit
Version: 0.20.25893 (Git)
Build type: Unknown
Branch: master
Hash: b8c1877133c814cd801309fd0b0266a6d1e0b75e
Python version: 3.7.3
Qt version: 5.11.3
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: French/France (fr_FR)