Blend Curve / Surface integration project

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
Chris_G
Veteran
Posts: 2579
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Blend Curve / Surface integration project

Post by Chris_G »

Hello,
My 20yo son @MatteoG studies software development.
He is doing a business internship at my workshop this summer.
We would like to integrate Blend Curves, and Blend Surfaces into the Surface workbench.
I have already worked on this in the Curves workbench, so I hope we can push this a step further and integrate something similar into FreeCAD Surface workbench.

I have tried to write down a rough description of the planned features below :
Attachments
BlendSurface_integration_1.0.pdf
(311.77 KiB) Downloaded 138 times
User avatar
jnxd
Posts: 951
Joined: Mon Mar 30, 2015 2:30 pm
Contact:

Re: Blend Curve / Surface integration project

Post by jnxd »

Great to hear there's some developments happening in this direction. I had some interest in trying this myself, but B-Spline work in Sketcher is taking up my time. I'd like to stay in the loop though, if possible.
My latest (or last) project: B-spline Construction Project.
User avatar
Chris_G
Veteran
Posts: 2579
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Blend Curve / Surface integration project

Post by Chris_G »

Thanks. We'll try to keep the thread regularly updated.
Today, he got an empty App::Feature of BlendCurve compiling fine, and the icon to show in the Gui.
That's a good first grip for upcoming work.
User avatar
Chris_G
Veteran
Posts: 2579
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Blend Curve / Surface integration project

Post by Chris_G »

Hello,
Here is an overview of the planned implementation.
Any advice or comment is welcome.
Implementation.jpg
Implementation.jpg (55.93 KiB) Viewed 2246 times
I don't think we will need a BlendPoint Feature, since it is rather low level.
Also, the Gordon Surface class won't get a feature for now, because we only plan to implement the basic Gordon algorithm, while a Feature would need much more preliminary work on the curve network.

Development is located here :
https://github.com/Matteo-Grellier/Free ... e/Blending
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Blend Curve / Surface integration project

Post by Zolko »

Chris_G wrote: Tue Jul 12, 2022 8:21 am We would like to integrate Blend Curves, and Blend Surfaces into the Surface workbench.
I'm not sure to know what these are, but I'd like to see "CurvedShapes" and "Curves" workbenches merged, because they are complementary:

Code: Select all

Installed mods: 
  * CurvedShapes 1.0.1
  * Curves 0.4.1
If that's your goal, please yes, absolutely.
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
jnxd
Posts: 951
Joined: Mon Mar 30, 2015 2:30 pm
Contact:

Re: Blend Curve / Surface integration project

Post by jnxd »

Zolko wrote: Mon Jul 18, 2022 1:37 pm
Chris_G wrote: Tue Jul 12, 2022 8:21 am We would like to integrate Blend Curves, and Blend Surfaces into the Surface workbench.
I'm not sure to know what these are, but I'd like to see "CurvedShapes" and "Curves" workbenches merged, because they are complementary:

Code: Select all

Installed mods: 
  * CurvedShapes 1.0.1
  * Curves 0.4.1
Their goal is to merge Curves with Surface workbench (which is present in FC main). What is the main difference between CurvedShapes and Curves that you find, and why do you believe both are needed?
My latest (or last) project: B-spline Construction Project.
User avatar
Chris_G
Veteran
Posts: 2579
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Blend Curve / Surface integration project

Post by Chris_G »

No, our goal is not to merge the whole Curves workbench.
We plan only to implement the BlendCurve and the BlendSurface tools, like in the attached example :
Attachments
Blend_Curve_Surface_example.FCStd
(40.28 KiB) Downloaded 52 times
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Blend Curve / Surface integration project

Post by Zolko »

jnxd wrote: Mon Jul 18, 2022 1:56 pm What is the main difference between CurvedShapes and Curves that you find, and why do you believe both are needed?
I use the resampling of curves a lot: airfoils come as coordinates, and different airfoil families have different number of points and distributions, especially at the leading edge, therefore the resulting sweep or loft can produce undesired warped surfaces if you use raw coordinates
Discretize.png
Discretize.png (393.83 KiB) Viewed 2203 times
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
jnxd
Posts: 951
Joined: Mon Mar 30, 2015 2:30 pm
Contact:

Re: Blend Curve / Surface integration project

Post by jnxd »

Chris_G wrote: Mon Jul 18, 2022 1:29 pm Hello,
Here is an overview of the planned implementation.
Any advice or comment is welcome.
Implementation.jpg
What is the meaning of the arrows?
Chris_G wrote: Mon Jul 18, 2022 1:29 pm I don't think we will need a BlendPoint Feature, since it is rather low level.
Also, the Gordon Surface class won't get a feature for now, because we only plan to implement the basic Gordon algorithm, while a Feature would need much more preliminary work on the curve network.
Blend point-like functionality may be useful in Sketcher. But that might require it's own implementation and doesn't appear to be relevant to the work in this thread.
My latest (or last) project: B-spline Construction Project.
User avatar
Chris_G
Veteran
Posts: 2579
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Blend Curve / Surface integration project

Post by Chris_G »

jnxd wrote: Mon Jul 18, 2022 2:30 pm What is the meaning of the arrows?
It means "used by".
Post Reply