chiark / gitweb /
scaffold-clamp: wip vhook
[reprap-play.git] / scaffold-clamp-vhook.scad
index c62edf9ddb7b247d6b22a956f6f15faa020ea1e0..a22e7977bb6371e666079f4b463f680937e65c43 100644 (file)
@@ -6,8 +6,6 @@ include <scaffold-clamp-common.scad>
 
 vhook_th = 10;
 
-vhook_smooth = 3;
-
 theta = atan2( smooth_r, main_r );
 
 vhook_inside = 15;
@@ -16,6 +14,7 @@ vhook_inside = 15;
 
 vhook_y0 = -cos(theta) * (main_r + smooth_r);
 vhook_ctr = vhook_y0 - vhook_inside/2;
+vhook_outer_dia = vhook_inside + vhook_th*2;
 
 //echo(theta);
 
@@ -27,20 +26,32 @@ module VHookPlan() {
 }
 
 module VHookProfile() {
-  offset(r=+vhook_smooth)
-  offset(delta=-vhook_smooth)
-  rectfromto([ -vhook_th/2, -vhook_inside/2 ],
-            [ +vhook_th/2, -vhook_inside/2 - vhook_th]);
+  translate([0, -vhook_inside/2 - vhook_th/2])
+    circle(r = vhook_th/2);
 }
 
 module PartB(){ ////toplevel
  GeneralB();
 }
 
+module VHookHookMain(){ ////toplevel
+  rotate([0,90,0])
+    rotate_extrude(convexity=10)
+    rotate([0,0,90])
+    VHookProfile();
+}
+
 module PartA(){ ////toplevel
   DummyA();
   linextr(min_z, max_z)
     VHookPlan();
+
+  translate([0, vhook_ctr, min_z + vhook_outer_dia/2]){
+    intersection(){
+      VHookHookMain();
+    }
+  }
+
   //translate([0, vhook_y0, 50]) rotate([0,0,-90]) color("black") cube(10);
   // translate([0,0,-150]) rotate([0,0,180 + theta]) color("blue") cube(100);
 }