From 6c0d0ce4026b78fa4a7a43ea11836b47c9cd0358 Mon Sep 17 00:00:00 2001 From: maride Date: Thu, 23 Nov 2017 17:51:36 +0100 Subject: [PATCH] A small mono-cylindric motor --- Motor.scad | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Motor.scad 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