Offset spline surfaces without self-intersection

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!
Post Reply
amstuff
Posts: 11
Joined: Wed Sep 27, 2017 1:15 am

Offset spline surfaces without self-intersection

Post by amstuff »

I was wondering if there is a way to offset a spline surface in a way that avoids self-intersection.

From my (limited) research it looks like Parts offset feature mainly wraps the respective OCCT feature.
https://www.opencascade.com/doc/occt-7. ... shape.html unfortunately states, that avoiding self-intersection is an unimplemented feature in OCCT.

Is there maybe another way to get the desired result?
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Offset spline surfaces without self-intersection

Post by microelly2 »

The self intersection occurs in koncave areas.
So a workaround is to cut these areas, offset the rest and fill the gap with other faces.
amstuff
Posts: 11
Joined: Wed Sep 27, 2017 1:15 am

Re: Offset spline surfaces without self-intersection

Post by amstuff »

Thanks microelly2! That's of course a valid solution.

However, I forgot to mention that I need to do a lot of offsets on different surfaces (with varying curvature), so manually working around self-intersections really isn't an option for me. I was kind of hoping this had already been implemented somewhere in FreeCAD. ;)
Do you know of any existing way to get offsets, that are free of self-intersections?
Otherwise I'll have to look into implementing it myself, but am really trying to avoid that.
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Offset spline surfaces without self-intersection

Post by microelly2 »

The only way I know is multidimensional dilation with scipy.

https://docs.scipy.org/doc/scipy-0.14.0 ... y_dilation

the adventure is to come back from the point cloud to a approximated surface.
Post Reply