chiark / gitweb /
lock-inframe-bracket: wip new divide
[reprap-play.git] / lock-inframe-bracket.scad
index 1267b9ffc3ba22b2b84112d4eaac08a5f2e85bae..36c39b625721883acfe150b8082bf4e79a834d99 100644 (file)
@@ -10,6 +10,7 @@ lock_w = 42.5 + 0.5;
 lock_d = 28.0 + 0.5;
 main_h = 45.0;
 backflange_d = 12;
+backflange_hole_dy = -1;
 lockshaft_dia = 14.35;
 
 cliprecess_h = 16;
@@ -57,7 +58,7 @@ front_th = main_th;
 
 tube_or = tube_dia/2 + tube_th;
 back_ohw = back_gap/2 + backflange_th;
-backflange_ymin = tube_or+backflange_d;
+backflange_ymin = tube_dia/2 + backflange_d;
 
 lock_0y = tube_dia/2 + lock_d/2 + midweb_d;
 lock_0x = lock_w/2 - lock_d/2;
@@ -124,7 +125,28 @@ module DividePlanInPlace(xl=10){
     DividePlan(xl);
 }
 
-module MainPlan(){
+module DivideHook(){ ////toplevel
+  w = tube_th/2;
+  d = divide_gap;
+
+  translate([-1,0] * (w + d + w)){
+    for (sx=[-1,+1])
+      translate([-(w + w+d) * sx, 0]) circle(r= w);
+    difference(){
+      circle(r = 3*w + d);
+      circle(r =   w + d);
+      translate([-10*w, -10*w]) square([20*w, 10*w]);
+    }
+  }
+}
+
+module DivideInPlace(){
+  rotate([0,0, -divide_angle])
+    translate([ -tube_dia/2 -tube_th/2, 0])
+    children();
+}
+
+module MainPlan(){ ////toplevel
   difference(){
     union(){
       difference(){
@@ -223,7 +245,7 @@ module MountingHoleCylinders(r, x=-50){
   for (z=[ 1/4, 3/4 ]) {
     rotate([0,0, backflange_angle])
       ThroughHole( r,
-                  -tube_or -0.5*backflange_d,
+                  -tube_dia/2 -0.5*backflange_d + backflange_hole_dy,
                   total_h * z,
                   x);
   }
@@ -284,6 +306,15 @@ module Demo(){ ////toplevel
                                       back_ohw + 0.25);
 }
 
+module DividePlanDemo(){ ////toplevel
+  DividePlan();
+}
+
+module DivideDemo(){ ////toplevel
+  color("black") translate([0,0,-2]) MainPlan();
+  DivideInPlace() DivideHook();
+}
+
 //MainPlan();
 //ClipElevationPositive();
 //ClipElevation();
@@ -291,7 +322,6 @@ module Demo(){ ////toplevel
 //%ThroughHoles();
 //TestTopEdge();
 //TestClipBoltHole();
-//DividePlan();
 
 //Bracket();