chiark / gitweb /
rpi-mount: copy from other repo
[reprap-play.git] / summit-lantern-hook.scad
index a6c62ac25a23b1b92ed219473349b0cbc7fe58eb..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;
@@ -14,25 +15,50 @@ $fs = 0.3;
 // calculated
 
 upper_r = th/2;
-
 upper_ctr_maj_r = curl/2 + upper_r;
 
+zmin = curl/2 + th;
+
 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(){
+  rotate([180,0,0])
+    EndCurl();
+  linextr(-zmin, -zmin + th) {
+    square(center=true, [th2, width]);
+    for (m=[0,1])
+      mirror([0,m])
+       hull()
+      {
+       for (x= sides_depth/2 * [-1,+1])
+         translate([ x, width/2 - th2/2 ])
+           circle(r= th2/2);
+      }
   }
 }
 
-Upper();
+module Hook(){
+  Upper();
+  Lower();
+}
+
+Hook();