3d/Motor.scad
2017-11-25 15:06:25 +01:00

88 lines
1.9 KiB
OpenSCAD

CIRCLE_ROUNDS=36;
// Cylinder Block
difference() {
// Block
translate([-8, -8, 0])
cube([16, 16, 11]);
// Piston bearing
translate([0, 0, 0])
cylinder(h=11, d=10, $fn=CIRCLE_ROUNDS);
// Block Head Screw Holes
translate([6, 6, 0])
cylinder(h=11, d=1, $fn=CIRCLE_ROUNDS);
translate([-6, 6, 0])
cylinder(h=11, d=1, $fn=CIRCLE_ROUNDS);
translate([6, -6, 0])
cylinder(h=11, d=1, $fn=CIRCLE_ROUNDS);
translate([-6, -6, 0])
cylinder(h=11, d=1, $fn=CIRCLE_ROUNDS);
}
// 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);
}