-holder_front_all = crewpunch_shaft_max_y - crewpunch_biggest_shape[1][0]
- + attach_ysz + crewpunch_systematic_size_error + crewpunch_skew_yoff
- + holder_xsz/2 * sin(abs(crewpunch_skew_angle));
+holder_skewangle_yextra = holder_xsz/2 * sin(abs(crewpunch_skew_angle));
+
+holder_max_y = punch_dy + crewpunch_biggest_shape[1][0] + holder_min_wall
+ + crewpunch_systematic_size_error + holder_skewangle_yextra;
+
+holder_attach_max_y = punch_dy
+ - max(crewpunch_biggest_shape[1][1], crewpunch_shaft_max_y)
+ - crewpunch_systematic_size_error - holder_skewangle_yextra;
+
+holder_block_min_y = punch_dy
+ - crewpunch_biggest_shape[1][1] - holder_attach_near_wall +
+ - crewpunch_systematic_size_error - holder_skewangle_yextra;