Curves workbench

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!
User avatar
Chris_G
Veteran
Posts: 2593
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Post by Chris_G »

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
Veteran
Posts: 7790
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Curves workbench

Post by freecad-heini-1 »

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
Veteran
Posts: 2593
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Post by Chris_G »

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 1901 times
gordon-cp.png
gordon-cp.png (87.59 KiB) Viewed 1901 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 53 times
ichiro
Posts: 1
Joined: Tue Aug 27, 2019 4:25 pm

Re: Curves workbench

Post by ichiro »

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 1785 times
Attachments
sample_2.fcstd
(16.61 KiB) Downloaded 42 times
User avatar
Vincent B
Veteran
Posts: 4731
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Curves workbench

Post by Vincent B »

Surface can be carried out with PipeShell here.
Attachments
sample_2.fcstd
(23.37 KiB) Downloaded 49 times
Capture2.JPG
Capture2.JPG (34.09 KiB) Viewed 1745 times
User avatar
Vincent B
Veteran
Posts: 4731
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Curves workbench

Post by Vincent B »

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

Re: Curves workbench

Post by Chris_G »

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
Vincent B
Veteran
Posts: 4731
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Curves workbench

Post by Vincent B »

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

Re: Curves workbench

Post by Chris_G »

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 1622 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
Veteran
Posts: 1924
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Curves workbench

Post by saso »

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