chiark / gitweb /
scaffold-clamp-cleat: sort out toplevels
[reprap-play.git] / summit-lantern-hook.scad
index 7666889305a44c00833a3513217157f4a0cc162c..e91573a51e2ecdc3f283b98af922ef47fb99d7ef 100644 (file)
@@ -3,10 +3,11 @@
 include <utils.scad>
 
 height = 60;
-th = 6;
 curl = 10;
 width = 85;
-sides_depth = 35;
+sides_depth = 50;
+th = 6;
+th2 = 4;
 
 $fa = 3;
 $fs = 0.3;
@@ -22,33 +23,36 @@ module UpperPlan(){
   circle(r = upper_r);
 }
 
+module EndCurl(){
+  rotate([90,0,0])
+    rotate_extrude(angle=180)
+    translate([upper_ctr_maj_r, 0])
+    UpperPlan();
+  translate([-upper_ctr_maj_r, 0,0])
+    sphere(r= upper_r);
+}
+
 module Upper(){
   translate([upper_ctr_maj_r, 0, 0])
     linextr(-0.1, height + 0.1)
     UpperPlan();
-  translate([0, 0, height]){
-    rotate([90,0,0])
-      rotate_extrude(angle=180)
-      translate([upper_ctr_maj_r, 0])
-      UpperPlan();
-    translate([-upper_ctr_maj_r, 0,0])
-      sphere(r= upper_r);
-  }
+  translate([0, 0, height])
+    EndCurl();
 }
 
 module Lower(){
-  difference(){
-    linextr(-zmin, 0)
-      square(center = true, [curl + th*2, th]);
-    linextr_y_xz(-th, th)
-      circle(r = curl/2);
-  }
+  rotate([180,0,0])
+    EndCurl();
   linextr(-zmin, -zmin + th) {
-    square(center=true, [th, width]);
+    square(center=true, [th2, width]);
     for (m=[0,1])
       mirror([0,m])
-       translate([0, width/2 - th/2 ])
-       square(center=true, [ sides_depth, th ]);
+       hull()
+      {
+       for (x= sides_depth/2 * [-1,+1])
+         translate([ x, width/2 - th2/2 ])
+           circle(r= th2/2);
+      }
   }
 }