pspt_to_mm = 25.4 / 72;
-hinge_stride = (clamp_width + hinge_gap_z) / hinge_lobes;
-
main_r = tube_dia/2 + main_th;
-hinge_outer_r = hinge_around + hinge_pin/2;
-hinge_y = tube_dia/2 + hinge_outer_r;
-
screw_max_y_lhs = -main_r -screw_nut_across/2;
screw_max_y_rhs = -main_r -knob_behind_across/2;
brace_ctrs_y = [ straps_y[0] - (brace_r + strap_r/2),
straps_y[1] + (brace_r + strap_r/2) ];
+clamp_width_actual = max(clamp_width, 0);
+
+hinge_stride = (clamp_width_actual + hinge_gap_z) / hinge_lobes;
+
+hinge_outer_r = hinge_around + hinge_pin/2;
+hinge_y = tube_dia/2 + hinge_outer_r;
+
echo(bot_y);
module TubePlan(){ circle(r = tube_dia/2); }
}
module TubeClampLeft() { ////toplevel
- linextr(-clamp_width/2, clamp_width/2)
+ linextr(-clamp_width_actual/2, clamp_width_actual/2)
TubeClampLeftPlan();
}
module SomeClamp(hinge_alt=false){
difference(){
- linextr(-clamp_width/2, clamp_width/2)
+ linextr(-clamp_width_actual/2, clamp_width_actual/2)
children(0);
Screws();
for (i=[0 : hinge_lobes-1]) {
translate([0,
hinge_y,
- -clamp_width/2 + i * hinge_stride
+ -clamp_width_actual/2 + i * hinge_stride
+ (hinge_alt ? hinge_stride/2 : 0)
])
linextr(-hinge_gap_z, hinge_stride/2)