Curves workbench

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
Chris_G
Posts: 1164
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Postby Chris_G » Fri Aug 16, 2019 5:52 pm

DevHeavy wrote:
Thu Aug 15, 2019 8:04 pm
Hey Chris_G, ... As an example, strictly because I can't find any others, is the Deform tool offered by SolidWorks: https://help.solidworks.com/2017/englis ... 17b5c9#Pg0
I have not been able to watch the videos (need a login ?), but I think I understood what you are looking for.
The tool that could match this goal, to some extent, is the Filling tool of the Surface WB.
What would be lacking is a proper UI workflow on top of that.
That's not easy, especially since this Surface WB has no python binding yet.
freecad-heini-1
Posts: 6003
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Curves workbench

Postby freecad-heini-1 » Fri Aug 16, 2019 7:48 pm

Please have a look here:
https://forum.freecadweb.org/viewtopic. ... 12#p250912
https://forum.freecadweb.org/viewtopic. ... 27#p196927
Image
https://forum.freecadweb.org/viewtopic. ... 12#p250912
https://forum.freecadweb.org/viewtopic. ... 25#p251525

phpBB [video]

Image
User avatar
Chris_G
Posts: 1164
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Postby Chris_G » Fri Aug 16, 2019 9:18 pm

GlouGlou wrote:
Thu Aug 15, 2019 8:06 pm
When Gorgon surface works better a Sweep.
While a Sweep or a PipeShell gives BopAlgo GeomAbs_C0 error, Gordon doesn't carrying out that and allow to do an 3D Offset. ;)
And surfaces are pretty identical.
I think OpenCascade is quite weak in some Nurbs / Bspline areas (Fillet included).
Here your example, if you have a look at the surface structure (tool geominfo) of the 2 faces (Gordon vs Sweep), the Gordon surface is way better (although it has more control points (1280 vs 780)).
sweep-cp.jpeg
sweep-cp.jpeg (146.39 KiB) Viewed 653 times
gordon-cp.png
gordon-cp.png (87.59 KiB) Viewed 653 times

The guys at TiGL did a great job with their Gordon algorithm.

However, there is another way to enable the Offset3D on the Sweep surface.
Offset3D doesn't work on C0-continuity surfaces.
I added a Segment-Surface tool to CurvesWB that breaks a surface along its isoCurves of highest multiplicity :
https://forum.freecadweb.org/viewtopic. ... 78#p315578

All the resulting faces have, at least, C1 continuity.
BopAlgo-2.FCStd
(762.28 KiB) Downloaded 14 times
ichiro
Posts: 1
Joined: Tue Aug 27, 2019 4:25 pm

Re: Curves workbench

Postby ichiro » Wed Aug 28, 2019 6:08 am

Hi,

I'm Ichiro.
This workbench is really useful.

And i'm trying to make surface via python API.
But there is no information.

Is it possible to use Python API of this workbench?

Best regards,
test.png
test.png (14.31 KiB) Viewed 537 times
Attachments
sample_2.fcstd
(16.61 KiB) Downloaded 9 times
User avatar
GlouGlou
Posts: 1730
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Curves workbench

Postby GlouGlou » Wed Aug 28, 2019 4:40 pm

Surface can be carried out with PipeShell here.
Attachments
sample_2.fcstd
(23.37 KiB) Downloaded 12 times
Capture2.JPG
Capture2.JPG (34.09 KiB) Viewed 497 times
User avatar
GlouGlou
Posts: 1730
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Curves workbench

Postby GlouGlou » Wed Aug 28, 2019 5:06 pm

Curves WB seems to have some troubles with the new merged freecad (App::link). Isn't it? :roll:
User avatar
Chris_G
Posts: 1164
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Postby Chris_G » Wed Aug 28, 2019 8:53 pm

GlouGlou wrote:
Wed Aug 28, 2019 5:06 pm
Curves WB seems to have some troubles with the new merged freecad (App::link). Isn't it? :roll:
It's me ! I have a pretty blurry view of how the cascading placements work.
And things don't get clearer with the new App::Links.
I definitely need a little study on this when I get time.
User avatar
GlouGlou
Posts: 1730
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Curves workbench

Postby GlouGlou » Thu Aug 29, 2019 8:03 pm

An ExtendedCurve doesn't follow his parent curve with a G2 parameter?
Attachments
extend.FCStd
(8.61 KiB) Downloaded 11 times
Capture2.JPG
Capture2.JPG (12.11 KiB) Viewed 406 times
User avatar
Chris_G
Posts: 1164
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Postby Chris_G » Fri Aug 30, 2019 9:10 am

The Extended Curve work good.
The problem is with the interpolation curve.
Look at its Comb Plot : the curvature is jumping from one side to the other.
inter_vs_approx.jpg
inter_vs_approx.jpg (41.27 KiB) Viewed 374 times

I am afraid there is nothing I can do about it, this is just how the interpolation algorithm work ...
However, when you need a curve fitting a list of points, you should ask yourself if you really need a interpolation curve or an approximation curve.
In my opinion, Interpolation is good if you have very few points.
But if you have a list of many points (if you can "see" the curve just by looking at the points), then you'll probably need an approximation curve.
You can even set a pretty tight tolerance if needed, but, because it is allowed to slightly miss some points, this algorithm will usually produce better (and smoother) curves.
User avatar
saso
Posts: 1337
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Curves workbench

Postby saso » Fri Aug 30, 2019 10:17 am

this is a very nice and clear explanation and demonstration Chris, thanks :)