I believe this is caused by a general limitation of OpenSCAD. When multiple shapes are combined, the shapes must not share an edge or face exactly. There is some explanation of this in the OpenSCAD manual:
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/STL_Import_and_Export#STL_Export One work-around is to slightly increase or shift one of the objects, like this: ----------------------------------------------------------------------- --- leadscrew.scad.orig 2019-02-11 21:03:09.342731302 +0100 +++ leadscrew.scad 2019-02-11 21:05:54.583410574 +0100 @@ -13,14 +13,14 @@ } } } - linear_extrude(height=80,center=true,slices=1000) + linear_extrude(height=80+2,center=true,slices=1000) { union() { - circle(r=5); + circle(r=5.01); for(ang=[0:36:360]) { - rotate(a=ang) + rotate(a=ang+0.01) { polygon(points=[[0,0],[7,0],[8*cos(8),8*sin(8)],[7*cos(16),7*sin(16)]]); } ----------------------------------------------------------------------- This makes the problem go away in my tests. As an aside the "slices=1000" is unnecessary in the second and third linear_extrude since there is no twist. And adding "convexity=20" makes the preview render better. (And yes, this reply is probably several years too old to be of interest, just putting it here for reference). - Kristian.