+ translate(mc_bl){
+ translate([-blhook_str_len/2, 0])
+ square(center=true, [blhook_str_len, main_thick]);
+ translate([-blhook_str_len, blhook_mid_rad]){
+ intersection(){
+ difference(){
+ circle(r=blhook_mid_rad + main_thick/2);
+ circle(r=blhook_mid_rad - main_thick/2);
+ }
+ mirror([1,1]) square(50);
+ }
+ }
+ }
+}
+
+module MainLoopTest(){
+ linear_extrude(height=1.6)
+ MainLoop();
+}
+
+module Attach(){
+ difference(){
+ translate([0, at_block_y/2, 0])
+ cube(center=true, [at_block_x, at_block_y, at_block_z]);
+ translate([0, at_prong_depth/2-1, 0])
+ cube(center=true, [at_gap_width, at_prong_depth+2, at_block_z+1]);
+ translate([0,-1,0])
+ rotate([-90,0,0])
+ cylinder(r= at_tube_dia/2, h= at_prong_depth+1);
+ translate([-50, at_prong_depth-at_bolt_into, 0])
+ rotate([0,90,0])
+ cylinder(r= at_bolt_dia/2, h= 100);
+ }
+ difference(){
+ translate([0, at_block_y + at_stem_yy/2 - 0.1, 0])
+ cube(center=true, [at_tube_dia, at_stem_yy + 0.2, at_block_z]);
+ translate([0, at_offset_y, -50])
+ cylinder(r = mc_mid_rad, 100);
+ }
+}
+
+module Combine(){
+ rotate([0,0,45]) translate([0,-main_thick/2,0]){
+ linear_extrude(height=width)
+ translate([0,at_offset_y,0])
+ MainLoop();
+ translate([0,0, width/2])
+ Attach();
+ }