diff --git a/Motor.scad b/Motor.scad new file mode 100644 index 0000000..2df360a --- /dev/null +++ b/Motor.scad @@ -0,0 +1,66 @@ +CIRCLE_ROUNDS=180; + +// Piston +difference() { + // Main Cylinder + cylinder(h=10, d=10, $fn=CIRCLE_ROUNDS); + + // Main cutout + rotate([90, 0, 0]) + translate([0, 1, -5]) { + cylinder(h=10, d=8, $fn=CIRCLE_ROUNDS); + } + translate([-4, -3, 0]) + cube([8, 6, 1]); + + // Tapering cutout on the bottom + difference() { + cylinder(h=5, d=10, $fn=CIRCLE_ROUNDS); + cylinder(h=5, d=9, $fn=CIRCLE_ROUNDS); + } + + // gudgeon pin hole + rotate([0, 90, 0]) + translate([-2, 0, -5]) + cylinder(h=10, d=2, $fn=CIRCLE_ROUNDS); +} + +// Gudgeon pin +difference() { + rotate([0, 90, 0]) + translate([-2, 0, -4.5]) + cylinder(h=9, d=2, $fn=CIRCLE_ROUNDS); + + rotate([0, 90, 0]) + translate([-2, 0, -4.5]) + cylinder(h=9, d=1.5, $fn=CIRCLE_ROUNDS); +} + +// Rod +difference() { + union() { + // rod shaft + translate([-1, -1.5, -13]) + cube([2, 3, 15]); + + // rod pin hole + rotate([90, 0, 90]) + translate([0, 2, -2]) + cylinder(h=4, d=4, $fn=CIRCLE_ROUNDS); + + // crankshaft hole + rotate([90, 0, 90]) + translate([0, -13, -2]) + cylinder(h=4, d=3, $fn=CIRCLE_ROUNDS); + } + + // gudgeon pin cutout + rotate([0, 90, 0]) + translate([-2, 0, -4.5]) + cylinder(h=9, d=2, $fn=CIRCLE_ROUNDS); + + // crankshaft cutout + rotate([0, 90, 0]) + translate([13, 0, -2]) + cylinder(h=4, d=2, $fn=CIRCLE_ROUNDS); +} \ No newline at end of file