module guide() { guideWidth = 5; guideHeight= 9; guideDepth = 12; holeRadius = 0.75; guideSlope=7/12; difference() { union() { cube([guideDepth,guideWidth,guideHeight]); translate([guideDepth/2,guideWidth/2,1]) cylinder(2.5,guideWidth*2,guideWidth*0.75); translate([guideDepth/2,guideWidth/2,-8]) cylinder(9,guideWidth*2,guideWidth*2); } //the hole translate([-0.05,guideWidth/2,4.75]) rotate([0,90,0]) cylinder(guideDepth+0.1,holeRadius,holeRadius); //middle third removal translate([guideDepth/3,-0.05,0.05]) cube([guideDepth/3,guideWidth+0.1,guideHeight+0.1]); //cone hole translate([-0.05,guideWidth/2,4.75]) rotate([0,90,0]) cylinder(guideDepth/5,holeRadius+1.55,holeRadius-.35); //cone hole translate([10,guideWidth/2,4.75]) rotate([0,90,0]) cylinder(guideDepth/5,holeRadius-.35,holeRadius+1.55); } translate([guideDepth/3,-0.05,1]) cube([guideDepth/3,guideWidth+0.1,3]); }