Grasshopper - Closing open union of surfaces to create screw geometry

I’m trying to close a geometry representing a screw to 3d print it. I tried a number of ideas unsuccessfully.

I created 3 spirals that I joined together and a cylinder in the middle. The surface is opened on the edges of the screw, and I’m not sure the different surfaces merge well together to one volume. (15.8 KB)

Any help would be greatly appreciated!

You could do a Boolean SolidDifference with a box (making sure the thread surfaces extend well beyond the top and bottom of the box).
When doing booleans with open objects like this, the orientation of the input surfaces matters (since they don’t have an obvious inside/outside). Sometimes you might find you need to flip them to get the result you want, or use SolidIntersection instead of Difference.

Instead of lofting all those lines, you could also use python to create a helix… (38.3 KB)


If you are OK using a very simple, quick & dirty method I made this nut & bolt way back in 2016:


Nut & Bolt

Nut& (18.8 KB)

1 Like

Very useful, thanks for sharing this @Birk_Binnard
the spiral script too, thank you @martinsiegrist

1 Like

Thanks you all! Both methods work very well.

I use some of these scripts to make screw

I had also some problem to make booleans in Grasshopper and I ended explosing the “open” brep then I used join and it worked.