$fn=60; include include ; // [base] difference() { diff() prismoid(size1=[10,10], size2=[10,17], h=12, rounding=.5, center=true) { edge_profile([BOT+BACK, BOT+FRONT], excess=5, convexity=10) { mask2d_roundover(h=3,mask_angle=$edge_angle); } edge_profile([TOP+FRONT], excess=5, convexity=10) { mask2d_roundover(h=2,mask_angle=$edge_angle); } } color("blue") { translate([0,0,1]) cuboid([1,20,3], rounding=.5); translate([0,0,6]) cuboid([2,20,5]); translate([0,0,3.5]) ycyl(d=3.8, l=20); } color("cyan") translate([0,0,-2.5]) rotate([0,0,30]) zcyl(d=6.65, l=7, $fn=6); color("red") translate([6, 0, -2.5]) rotate([0,90,0]) hole_through(name="M3", l=5, cld=0.1, h=2, hcld=0.4); } // [queue] color("green") { translate([0,0,-10]) rotate([0,0,30]) zcyl(d=6.5, l=6, $fn=6); translate([3.5, 0, -10.5]) rotate([0,90,0]) screw("M3x5"); /* hole_through(name="M3", l=5, cld=0.1, h=2, hcld=0.4); */ translate([0,0,-23]) zcyl(d=5, l=20, rounding1=2.5); }