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!
Denisvp
Posts: 8
Joined: Mon Aug 17, 2020 1:27 pm

Re: Curves workbench

Post by Denisvp »

dear friends you understand me correctly, happy for your help! problem solved!
User avatar
hammax
Veteran
Posts: 1991
Joined: Thu Jan 19, 2017 5:03 pm
Location: Ammersee DE

Re: Curves workbench

Post by hammax »

... BTW could there be a way to position points in Discretized_Edge
on a curved edge equidistant to a specified direction (e.g. X-axis)?
This would be useful for frame-arrays (aerodynamic profiles, boat-hulls a.s.o.)
Something like cross section tool in PartWB - but in this case parametric.

DiscEdge_Distance_X.PNG
DiscEdge_Distance_X.PNG (50.72 KiB) Viewed 1646 times
Attachments
middleSection_3.FCStd
FC.18.4
(99.09 KiB) Downloaded 55 times
User avatar
Vincent B
Veteran
Posts: 4733
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Curves workbench

Post by Vincent B »

improvement idea:
draw an arrow (cone) on the second vertex of joincurve to indicate his direction.
Attachments
Capture.JPG
Capture.JPG (12.84 KiB) Viewed 1623 times
User avatar
pici-1251
Posts: 5
Joined: Sat Jun 13, 2020 5:03 pm

Re: Curves workbench

Post by pici-1251 »

Chris_G wrote: Fri Feb 01, 2019 5:57 pm The editable interpolation curve tool should now work also with pivy 0.6.4
I think it works quite well to model hulls, wings, etc ...
Hi,
I'm new in using your workbench, so I'm wrong by sure.
I downloaded you example ( Boat-2.fcstd ), and I tried to make re-do the same construction, using Gordon surface.
I tried many times, but I received only the same error: not enough curves!

I suspect some mismatch in my FreeCad implementation:
I'm using FC
  • OS: Ubuntu 18.04.5 LTS (MATE/mate)
    Word size of OS: 64-bit
    Word size of FreeCAD: 64-bit
    Version: 0.19.23756 (Git) AppImage
    Build type: Release
    Branch: master
    Hash: 9c6e9184930a52b165a0b7274e3a45d1006bfe67
    Python version: 3.8.6
    Qt version: 5.12.5
    Coin version: 4.0.0
    OCC version: 7.4.0
    Locale: Italian/Italy (it_IT)
I will really appreciate your help.
Regards
  • Piero
Denisvp
Posts: 8
Joined: Mon Aug 17, 2020 1:27 pm

Re: Curves workbench

Post by Denisvp »

hammax very good ideas! looked at the file. very on time. I build an airplane and work with the drawing. parsed the operations in the file. worked with Discretizet_Edge. my only point is small on the screen, did not find how to do them more in order to better see them. hammax, saso, GlouGlou thanks for the help and links I am studying the material. At first I didn't even know how to make an edge, now I can make an edge and build a section
User avatar
Vincent B
Veteran
Posts: 4733
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Curves workbench

Post by Vincent B »

Interpolated Curve: I've got not regular continuity by selecting different vertex.
Attachments
interpolated_continuity.FCStd
(94.21 KiB) Downloaded 37 times
Capture.JPG
Capture.JPG (41.63 KiB) Viewed 1503 times
User avatar
Chris_G
Veteran
Posts: 2598
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Post by Chris_G »

I'll have a look. Thanks.
User avatar
Chris_G
Veteran
Posts: 2598
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Post by Chris_G »

GlouGlou wrote: Fri Feb 19, 2021 4:11 pm Interpolated Curve: I've got not regular continuity by selecting different vertex.
I checked that. There's C1 continuity at start/end vertex (tangent vectors are equal).
I think this is all we can expect from OCC interpolation algorithm unfortunately.
rsaccon
Posts: 2
Joined: Mon Mar 01, 2021 7:00 am

Re: Curves workbench

Post by rsaccon »

Hello, my first post here. I have created in python an object made from complex surfaces. Now I want to turn it into a solid. First I tried:

Code: Select all

my_shell = Part.makeShell(my_list_of_faces)
my_solid = Part.makeSolid(my_shell)
Unfortunately that does not work, makeShell silently fails and makeSolid throws an error: "No shells or compsolids found in shape"

What does work to turn the faces into a solid is the ParametricSolid tool form the CurvesWB. How can I use it from Python ? I am new to freecad, but not to coding in general. I looked at the ParametricSolid code and I haven't found a specifically designed and exposed API to use this functionality from code, but maybe I looked at the wrong place.

Btw. this is just the first occasion i need to programmatically deal with curves and surfaces, more to come and curvesWB seems to offer a lot of tools to deal with such things, but I need to access it from python. If there is any link of examples of how to deal with that (I tried hard to find, bu no luck), I would be very thankful.
User avatar
Chris_G
Veteran
Posts: 2598
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Post by Chris_G »

rsaccon wrote: Mon Mar 01, 2021 7:25 am What does work to turn the faces into a solid is the ParametricSolid tool form the CurvesWB.
Are you sure it really works ? This tool tries to make a solid, but silently falls back to a shell or a compound if it fails :
https://github.com/tomate44/CurvesWB/bl ... lid.py#L27
BTW, I just added the actual type of the shape in the description of the ParametricSolid object.
When you build a shape, the most extensive check is to run :

Code: Select all

my_shape.check(True)
This will raise an exception if anything is wrong.
rsaccon wrote: Mon Mar 01, 2021 7:25 am How can I use it from Python ? I am new to freecad, but not to coding in general. I looked at the ParametricSolid code and I haven't found a specifically designed and exposed API to use this functionality from code, but maybe I looked at the wrong place.
Most of the tools of the workbench are Gui tools for the Part module API, and are not supposed to be used in scripts.
rsaccon wrote: Mon Mar 01, 2021 7:25 am Btw. this is just the first occasion i need to programmatically deal with curves and surfaces, more to come and curvesWB seems to offer a lot of tools to deal with such things, but I need to access it from python. If there is any link of examples of how to deal with that (I tried hard to find, but no luck), I would be very thankful.
No scripting doc, no API. Most CurvesWB tools create a FreeCAD FeaturePython object, where the main functionality is in the execute() function (see my link above).
So, feel free to ask in the Python Scripting forum when you need help.
Post Reply