-tstem0leny = tuberad;
-tbend_raw = tangents_intersect_beta([0,shookcy], hookinrad,
- [0,-tstem0leny], -tuberad);
-echo(tbend_raw);
-tbend = angle_map_range(90-tbend_raw, -180);
+
+tjoin0c = [tuberad - tjoinrad, -tstem0leny];
+tjoin1c = [0, thookcy];
+
+tbend_raw = tangents_intersect_beta(tjoin0c, tjoinrad,
+ tjoin1c, -hookoutrad);
+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);