pin_dia = th;
hole_dia = th + pin_gap;
+main_r = tube_dia/2 + th;
+
hinge_gap = pin_gap;
hinge_o_r = 0.5 * hole_dia + th;
}
module TubePlan(){ circle(r = tube_dia/2); }
-module MainCirclePlan(){ circle(r = tube_dia/2 + th); }
+module MainCirclePlan(){ circle(r = main_r); }
module PlanWeldMainCircle(){
intersection(){
include <scaffold-clamp-common.scad>
+vhook_th = 10;
+
+vhook_smooth = 3;
+
+theta = atan2( smooth_r, main_r );
+
+vhook_inside = 15;
+
+// calculated
+
+vhook_y0 = -cos(theta) * (main_r + smooth_r);
+vhook_ctr = vhook_y0 - vhook_inside/2;
+
+//echo(theta);
+
module VHookPlan() {
PlanWeldMainCircle(){
- rectfromto([ -5, 0 ],
- [ +5, -60 ]);
+ rectfromto([ -vhook_th/2, 0 ],
+ [ +vhook_th/2, vhook_y0 ]);
}
}
+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]);
+}
+
module PartB(){ ////toplevel
GeneralB();
}
DummyA();
linextr(min_z, max_z)
VHookPlan();
+ //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);
}
-module PlanDemo(){
+module PlanDemo(){ ////toplevel
GeneralPlanDemo();
translate([0, -tube_dia*1.5]) {
VHookPlan();
+ translate([0, vhook_ctr, 5])
+ for (m=[0,1]) {
+ mirror([0,m])
+ color("blue") VHookProfile();
+ }
}
}