/* mount options */ wt = 5; // wall thickness (min 5mm for m2 inserts) tb = 40; bpt = 7; /* BLT */ hdb = 18; // mounting hole distance wb = 11; // width of Sensor lb = 27; // length of sensor mounting flange mhb = 32.7; // mounting distance from top of base plate rc = 2; // radius corners $fn= 100; module through(l=7, lh=3.3, lt=1, lb=1){ union(){ translate([0,0,l-lh])cylinder(h=lh+lt, d=5.6); translate([0,0,-lb])cylinder(h=l+lh+lb, d=3.5); } } module m3 (h=8, lt=1){ translate([0,0,-lt])cylinder(h, d=2.5); // tapped M3 //translate([0,0,-lt])cylinder(h, d=4); // rutex insert } module m2 (h=8, lt=1){ translate([0,0,-lt])cylinder(h, d=1.5); // tapped M3 //translate([0,0,-lt])cylinder(h, d=3.2); // rutex insert } module mount(){ translate([4,4,-12])difference(){ hull(){ translate([0,0,6])cylinder(h=6, d=8); translate([4,-4,0])cube([0.01,8,12]); } translate([0,0,12])mirror([0,0,1])through(l=10,lb=1,lt=1,lh=7); } } difference(){ hull(){ translate([rc,rc])cylinder(h=wb, r=rc); translate([0,mhb-wb/2, wb/2])rotate([0,90,0])cylinder(h=wt, d=wb); translate([lb-wb/2,0, wb/2])rotate([-90,0,0])cylinder(h=wt, d=wb); } z = wb/2; for(x=[(lb-hdb)/2,(lb-hdb)/2+hdb,lb/2]){ translate([x,0,z])rotate([-90,0,0])m3(h=8); } for(y=[mhb-wb/2,mhb-wb/2-15]){ } translate([0,mhb-6.65,5.9])rotate([0,90,0])through(l=lb+3, lh= lb); translate([0,mhb-6.65-14,5.9])rotate([0,90,0])through(l=lb+3, lh= lb); }