ickby,ickby wrote:the solidworks guys have gone the easy way: with a circle as profile the profile orientation becomes irrelevant and always works. Your sweep does work with frenet=false flawless, so you could easily reproduce the solid works example. Of course with your triangle profile orientation becomes relevant.
Now I'm not totally sure what the problem with the path is, but the frenet formula seems to completely fail with it. I was able to get the desired result with a binormal profile orientation mode, however, this is not yet exposed to the freecad python api. It only exists in the experimental part design branch.
That is not a valid conclusion. It is quite likely that the orientation is correctly calculated for the frenet orientation, and that the correct result is just not what you expect. Further analysis is needed to see why the result looks like it does.My conclusion is, that the Sweep-Tool has a bug. Should I report it?
Sorry, forgot to quote ickbyickby wrote:My conclusion is, that the Sweep-Tool has a bug. Should I report it?
Code: Select all
>>> elt.normalAt(600) Traceback (most recent call last): File "<input>", line 1, in <module> Part.OCCError: LProp_CLProps::Normal(...):Curvature is null or infinity
Chris_G wrote: The solution is probably to discretize the faulty wire and recreate a clean BSplineCurve by interpoation or approximation.
But is it a FreeCAD bug ?
Maybe the Sweep tool should check the sweep path more strictly ?