include // mm = 1 $fa = 8; $fs = 0.1; module base_plate() { square([60*mm, 63*mm]); } module motor_mount_holes() { union() { // top left translate([-15.5*mm, 15.5*mm]) circle(d=3.2*mm); // top right translate([15.5*mm, 15.5*mm]) circle(d=3.2*mm); // bottom left translate([-15.5*mm, -15.5*mm]) circle(d=3.2*mm); // bottom right translate([15.5*mm, -15.5*mm]) circle(d=3.2*mm); } } module spindle_mount() { union() { translate([18.5*mm, 0]) circle(d=5.2*mm); translate([-18.5*mm, 0]) circle(d=5.3*mm); // spindle circle(d=10*mm); } } module slide_mount_hole() { hull() { circle(d=5.3*mm); translate([0, 8*mm]) circle(d=5.3*mm); } } module slide_mount() { union() { translate([-10*mm, -4*mm]) slide_mount_hole(); translate([10*mm, -4*mm]) slide_mount_hole(); } } difference() { translate([-30*mm, -35*mm]) base_plate(); rotate(45) motor_mount_holes(); rotate(30) spindle_mount(); translate([0, -25*mm]) slide_mount(); }