// straight-on version, reversed, everything prefixed with t or T
-tjoinrad = 5;
+tjoinrad = mainoutrad * 0.7;
+tstem0leny = tuberad - tjoinrad*0.5;
tjoinoutrad = tjoinrad + mainthick;
thookcy = shookcy;
-tstem0leny = tuberad;
tjoin0c = [tuberad - tjoinrad, -tstem0leny];
tjoin1c = [0, thookcy];
tbend0 = angle_map_range(tbend_raw, 0);
tbend1 = angle_map_range(tbend_raw + 180, -180);
+tbend0p = circle_point(tjoin0c, tjoinrad, tbend_raw);
+tbend1p = circle_point(tjoin1c, -hookoutrad, tbend_raw);
+
module TPlan(){
ClipPlan(0, tstem0leny);
FArcSegment(tjoin0c[0],tjoin0c[1], tjoinrad,tjoinoutrad,
tbend0, 360-tbend0);
FArcSegment(0,shookcy, hookinrad,hookoutrad,
tbend1, 270+hookcurl - tbend1);
+ translate(tbend0p) {
+ rotate(tbend_raw) mirror([0,1]) {
+ square(size=[mainthick, dist2d(tbend0p,tbend1p)]);
+ }
+ }
}
// other toplevels etc.