tbend_raw = tangents_intersect_beta(tjoin0c, tjoinrad,
tjoin1c, -hookoutrad);
-echo(tbend_raw);
tbend0 = angle_map_range(tbend_raw, 0);
tbend1 = angle_map_range(tbend_raw + 180, -180);
}
}
+module THookR(){ ///toplevel
+ intersection(){
+ linear_extrude(height=topwidth) TPlan();
+ SElevationPlaced();
+ }
+}
+
// other toplevels etc.
module HookR(){ ////toplevel
mirror([1,0,0]) SHookL();
}
+module THookL(){ ////toplevel
+ mirror([1,0,0]) THookR();
+}
+
module Demo(){ ////toplevel
translate([-30,tubeheight,0]) HookL();
translate([ 0,tubeheight,0]) HookR();
translate([ 30, 0,0]) SHookL();
translate([ 60, 0,0]) SHookR();
+ translate([ 90, 0,0]) THookL();
+ translate([120, 0,0]) THookR();
}