+ [ 16, [2.4, 6.9], [2.7, 13.2] ],
+ [ 18, [2.5, 7.0], [2.9, 13.3] ],
+ [ 22, [3.1, 7.1], [3.2, 13.4] ],
+ [ 26, [3.3, 7.2], [3.5, 13.6] ],
+ ];
+
+crewpunch_shaft_max_y = 7.5;
+
+crewpunch_systematic_size_error = +0.36;
+
+crewpunch_smallest_shape = crewpunch_shape[0];
+crewpunch_biggest_shape = crewpunch_shape[len(crewpunch_shape)-1];
+
+crewpunch_skew_angle = 3.5; //degrees
+crewpunch_skew_yoff = +1.1; //mm
+
+// computed
+
+punch_dx = 0.5 * (-crewpunch_biggest_shape[2][0]
+ +crewpunch_biggest_shape[2][1]);
+punch_dy = 0.5 * (+crewpunch_biggest_shape[1][1]
+ -crewpunch_biggest_shape[1][0]) + crewpunch_skew_yoff;
+
+attach_ysz = holder_attach_walls*2 + holder_ctie_width;
+
+holder_block_zsz = crewpunch_biggest_shape[0] - crewpunch_smallest_shape[0];
+holder_xsz = crewpunch_biggest_shape[2][0] + crewpunch_biggest_shape[2][1] +
+ holder_min_wall*2;
+
+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;
+
+holder_all_min_y = holder_attach_max_y - attach_ysz;
+
+jig_max_y = max(holder_max_y + main_slop, strap_width/2) + edgewall_width;
+jig_min_y = min(holder_all_min_y - main_slop, -strap_width/2) - edgewall_width;
+
+jig_main_zsz = holder_block_zsz + punch_travel;
+
+// common stuff
+
+include <belt-cut-jig-common.scad>
+
+// objects