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.

Reply via email to