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

Re: Curves workbench

Post by Vincent B »

Understood. And I figure out a double "solid feature" can correct the shell. ;)
Devy
Posts: 9
Joined: Mon Oct 09, 2017 9:47 pm

Re: Curves workbench

Post by Devy »

Hi,

I am trying to reverse engineer some surfaces from scanned data.

I use Blender to extract specific faces from the full scan.

I want to use FreeCAD to fit a surface to a point cloud generated from STL. The reverse engineering WB does not generate results that fit the point set well.

What would be a good way to use this WB to generate surfaces for the point set?

I attached the file I am using for testing.

Thanks to anyone who answers!
Attachments
TestSection.stl
Use points WB or part to points
(490.71 KiB) Downloaded 48 times
User avatar
Chris_G
Veteran
Posts: 2578
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Post by Chris_G »

Hi,
First, you cannot use tools from Curves WB, since they only work on grids of points (points sorted in rows and columns).
However I get a rather simple BSpline surface that seems to fit your points pretty well with the Reverse Engineering WB :
rev-eng-point-cloud.jpg
rev-eng-point-cloud.jpg (185.62 KiB) Viewed 2712 times

You can tweak the settings further and see if it can fit your needs.
Then, it is probably possible to approximate the boundary points with curves, and use them to trim the surface.
Attachments
point-cloud-approx.FCStd
(274.41 KiB) Downloaded 56 times
Devy
Posts: 9
Joined: Mon Oct 09, 2017 9:47 pm

Re: Curves workbench

Post by Devy »

Chris_G wrote: Sun Nov 21, 2021 8:48 am Hi,
First, you cannot use tools from Curves WB, since they only work on grids of points (points sorted in rows and columns).
However I get a rather simple BSpline surface that seems to fit your points pretty well with the Reverse Engineering WB :

rev-eng-point-cloud.jpg


You can tweak the settings further and see if it can fit your needs.
Then, it is probably possible to approximate the boundary points with curves, and use them to trim the surface.
I see, thanks for showing me I can get results with the Reverse Engineering WB. I'll try that again and try trimming like you said.

However, do you think it would be possible to use sections from the Mesh WB cut over the entire entire mesh with your WB? The sections contain edges that have non-smooth linear lines one after another, but what if B-Splines from your WB were fit to the points contained in the edge/section?
User avatar
Chris_G
Veteran
Posts: 2578
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Post by Chris_G »

I am making a tutorial based on your mesh.
Here is a quick result (may not be optimal)
Attachments
point-cloud-approx.FCStd
(423.29 KiB) Downloaded 43 times
Devy
Posts: 9
Joined: Mon Oct 09, 2017 9:47 pm

Re: Curves workbench

Post by Devy »

Chris_G wrote: Sun Nov 21, 2021 7:07 pm I am making a tutorial based on your mesh.
Here is a quick result (may not be optimal)
Well then, you might be interested to know where the mesh comes from.

I am working on making a valid CAD model of a Nintendo GameCube controller. I've wanted to do this for a while but never had good data to base the model off of (I even tried photogrammetry to get mesh data from a controller).

Thankfully, a user on another forum got pretty good scans of the controller: https://bitbuilt.net/forums/index.php?t ... scan.3844/. I am using the scanned mesh data to extract specific faces that should be contained in each CAD surface - this has to be done by eye and by hand.

The test section I posted here is from the top of the left handle.
wmayer
Founder
Posts: 20241
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Curves workbench

Post by wmayer »

I want to use FreeCAD to fit a surface to a point cloud generated from STL. The reverse engineering WB does not generate results that fit the point set well.
With the help of the Surface wb you have another option to create surfaces on a mesh. There you will find a function Curve on mesh that allows you to project a polygon on a mesh. With this tool you can create many small quadrangles and then with the filling function you can create the surfaces from the boundary edges.

However, it's a huge click work to get it done.
Devy
Posts: 9
Joined: Mon Oct 09, 2017 9:47 pm

Re: Curves workbench

Post by Devy »

wmayer wrote: Sun Nov 21, 2021 8:54 pm
I want to use FreeCAD to fit a surface to a point cloud generated from STL. The reverse engineering WB does not generate results that fit the point set well.
With the help of the Surface wb you have another option to create surfaces on a mesh. There you will find a function Curve on mesh that allows you to project a polygon on a mesh. With this tool you can create many small quadrangles and then with the filling function you can create the surfaces from the boundary edges.

However, it's a huge click work to get it done.
Right, I tried that too but like you said, it takes a while. Also, If I used that tool I'll likely end up with jagged edges because it is near impossible to nicely by hand.
User avatar
Chris_G
Veteran
Posts: 2578
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Post by Chris_G »

Devy wrote: Sun Nov 21, 2021 7:19 pmI am working on making a valid CAD model of a Nintendo GameCube controller.
Aaah, Mario Kart Double Dash ! I am sad they didn't push the co-op concept further in the following games.
I still have the console. My son played it a few days ago !

I"ll try to finish the tutorial, with the trimming part, tomorrow.
User avatar
Vincent B
Veteran
Posts: 4713
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Curves workbench

Post by Vincent B »

hi,
I'm trying to get a smooth curve between too curves. But I stuck here.
The curve must have the slope only on Z.
How to do that?
...
PS: I have just changed my nickname. ;)
Attachments
slope.FCStd
(12.2 KiB) Downloaded 45 times
Capture.JPG
Capture.JPG (10.23 KiB) Viewed 2330 times
Post Reply