h=42.35; d=2.85; bd=5.35; brad=26.45; isec_inc=5; isec_off=1; hookd = 6; batc_to_clipleftguide = 49.45; bclipd = 2.0; eclipw = 6.0; bc_left=12.5; module baseplate_circle() { } module baseplate_circle_cut() { intersection() { baseplate_circle(); } } module bclip_ghost() { translate([0,0,6.1]) union() { rotate([0,0,14.6]) cube([49.45, 0.1, 0.1]); translate([49.45*0.966,0,0]) cube([0.1,12.5,0.1]); translate([49.45*0.966,12.5,-5.35]) cube([0.1,0.1,5.35]); } }; module bclip_spine_negative_top() { translate([0,0,6.1]) union() { translate([0,-8,0]) rotate([0,0,14.6]) cube([69.45, 15.1, 15.1]); translate([49.45*0.966,0,0]) cube([5.1,12.5,5.1]); } }; module bclip_spine_negative_fore() { translate([49.45*0.966,0,0]) cube([15.1,22.5,15.1]); } module bclip_spine_negative_aft() { translate([-10,-2,0]) cube([10,10,10]); } module bclip_spine_old() { rotate([0,0,14.6]) rotate([0,-4.5,0]) cube([49.45, 5.0, 2.1]); } module bclip_spine() { rotate([0,0,11.6]) rotate([0,-6.5,0]) cube([59.45, 5.0, 10.1]); translate([0,0,6.1-4.5]) rotate([0,0,11.6]) cube([59.45, 5.0, 10.1]); } module bclip_spine_bulk() { difference() { bclip_spine(); bclip_spine_negative_top(); bclip_spine_negative_fore(); bclip_spine_negative_aft(); } } module bclip_aft_slot_negative_ramp() { translate([0,-1.2,0]) rotate([0,45,0]) cube([8,0.92,8]); //translate([1.5,-0.92,-0.1]) cube([20,0.92,2]); } module bclip_aft_tab_negative_top() { translate([0.9,-15.9199,0.9]) cube([5,15,30]); } module bclip_aft_ghost() { translate([0,-0.92,0]) cube([5.0,0.1,0.1]); translate([5.1,-0.921,0]) rotate([0,-90,0]) cube([5.0,0.1,0.1]); translate([1.51,-0.921,0]) rotate([0,-90,0]) cube([1.0,0.1,0.1]); } module bclip_aft_tab() { difference() { union() { translate([-0.1,-6.5,0]) cube([4,8,6.1]); translate([-3 ,-6.5,0]) cube([4,8,6.1]); } bclip_aft_slot_negative_ramp(); bclip_aft_tab_negative_top(); } } module bclip_fore_tab() { translate([49.45*0.966,10.8,1.6]) cube([5.1,4.1,2.1]); difference() { translate([49.45*0.966+2,10.8,0.81]) rotate([0,-36,0]) cube([3.8,4.1,2.7]); translate([0,0,6.1-6.5]) rotate([0,0,11.6]) cube([69.45, 10.0, 2]); } color([0,0,1,0.25]) bclip_fore_ghost(); } module bclip_fore_ghost() { translate([49.45*0.967,11.8,6.1-2.0]) rotate([0,-90,0]) cube([2.0,0.1,0.1]); } module bclip_circular_pad() { difference() { union() { difference() { translate([23.15,-2.5,3.05]) cylinder(h=6.1,r=26.45,center=true,$fn=200); translate([21.15,-2.5,3.05]) cylinder(h=10.1,r=20.45,center=true,$fn=200); translate([13.45, -50, -1.9]) cube([100,100,12]); } translate([8.45, -22, 6.1-6]) cube([5,40,6]); } translate([-10,-50,-1-100]) rotate([0,-5.5,0]) cube([100,100,100]); } } module bclip() { union() { bclip_spine_bulk(); bclip_aft_tab(); bclip_fore_tab(); bclip_circular_pad(); } } //color([0,0,1,0.25]) bclip_ghost(); bclip(); //color([1,0.3,0,0.25]) bclip_aft_ghost(); //bclip_aft_slot_negative_ramp();