+catch_cr = catch_knob_dia/2 + catch_stem_beside_gap;
+catch_strap_width = sm_main_width;
+catch_strap_thick = sm_main_thick;
+catch_stem_end_h = catch_stem_h;
+catch_pin_width = (rivet_entry_width * sm_inner_rad / bayo_nom_rad)
+ - catch_pin_gap;
+
+echo("R ", sm_inner_rad, bayo_real_rad, bayo_nom_rad);
+
+cppy6 = -catch_strap_width/2;
+cppxC = 0.34 * sm_inner_rad * TAU;
+cppB = [ catch_pin_width/2,
+ cppy6
+ + catch_stem_below_gap
+ + catch_pin_height
+ + catch_knob_dia/2 ];
+cpp0 = [ 0,
+ cppB[1]
+ + catch_knob_dia
+ + catch_knob_above_gap ];
+cpp12 = cpp0 + [1,0] * (catch_pin_height * catch_hook_slope);
+cpp1 = cpp0 + [0,1] * catch_pin_height;
+cpp2 = cpp1 + [1,0] * catch_pin_width;
+cpp4 = cpp0 + [0,-1] * catch_stem_end_h;
+cpp3 = [ cpp2[0], cpp4[1] ];
+cpp5 = [ cpp0[0] - catch_stem_len,
+ -catch_stem_h ];
+cpp6 = [ cpp5[0], catch_cr ];
+cpp7 = cppB + [1,-1] * catch_knob_dia/2
+ + [ catch_stem_beside_gap, -catch_stem_below_gap ]
+ + [ 0, -catch_pin_height ]
+ + [-1,1] * catch_cr;
+cpp11 = cpp7 + [1,0] * catch_cr;
+cpp10 = [ cpp11[0], 0 - catch_cr ];
+cpp8 = cpp10 + [1,0] * catch_cr;
+cpp9 = cpp8 + [0,1] * catch_cr;
+cppC = [ cppxC, cpp9[1] ];
+cppA = [ -cppxC, 0 ];
+cppD = cppC + [0,-1] * catch_strap_width;
+cppE = [ cppA[0], cppD[1] ];
+