translate([0, 0, 0]) difference () { translate([0, 42.9 - 6, 0]) scale(0.355) linear_extrude(height = 14 / 0.355) { import(file = "right_parking_template.dxf"); } // Cut out magnet mount translate([-1, -8, 2]) cube([30, 18, 15]); // Make cube X value as large as possible // while leaving at least 2mm for the // magnets. translate([-1, -6, 2]) cube([10, 55, 15]); translate([-1, 29, 2]) cube([28, 25, 15]); // Add magnet holes translate([7, 20.5 - (13 / 2), 0]) { rotate([0, 90, 0]) translate([-10, 2.3, 1.9]) cylinder(h=2.5, r=1.3, $fn=64); rotate([0, 90, 0]) translate([-10, 10, 1.9]) cylinder(h=2.5, r=1.3, $fn=64); } // And slot for the belt to pass translate([0, 20.5 - (3 / 2), 3]) cube([17, 3, 14]); // Another slot for the mount bracket translate([-1, 10, 1]) cube([10, 19, 14]); // And a ramp, to make sure it doesn't catch translate([-2.3, 10, 1]) rotate([0, 45, 0]) cube([2, 19, 2]); // Screw holes for the motor and rail endstop translate([17, 0, -1]) cylinder(h=4, r=1.7, $fn=64); translate([6, 41, -1]) cylinder(h=4, r=1.7, $fn=64); translate([6, 10, -1]) cylinder(h=4, r=3, $fn=64); }