34 lines
975 B
OpenSCAD
34 lines
975 B
OpenSCAD
$fn=40;
|
|
HOLE_RADIUS=2.4; // my Wanhao Duplicator 4 makes no errors with Slic3r, 2.4mm is ideal lego hole
|
|
|
|
difference() {
|
|
union() {
|
|
translate([0, 0, 16+4]) sphere(r=3);
|
|
hull() {
|
|
translate([0, 0, 4]) cylinder(r=4, h=4+8);
|
|
translate([0, 0, 4]) cylinder(r=1.5, h=4+8+3);
|
|
}
|
|
translate([0, 4, 4]) rotate([90, 0, 0]) cylinder(r=4, h=8);
|
|
}
|
|
translate([0, 4.1, 4-0.1]) rotate([90, 0, 0]) linear_extrude(height=8.2) axle();
|
|
}
|
|
|
|
module axle() {
|
|
axle_gap = 1.95;
|
|
union() {
|
|
translate([-HOLE_RADIUS, -axle_gap/2, 0])
|
|
roundedRect(HOLE_RADIUS * 2, axle_gap, .2);
|
|
translate([-axle_gap/2, -HOLE_RADIUS, 0])
|
|
roundedRect(axle_gap, HOLE_RADIUS * 2, .2);
|
|
}
|
|
}
|
|
|
|
module roundedRect(x, y, radius) {
|
|
hull() {
|
|
translate([radius, radius, 0]) circle(r=radius);
|
|
translate([x - radius, radius, 0]) circle(r=radius);
|
|
translate([x - radius, y - radius, 0]) circle(r=radius);
|
|
translate([radius, y - radius, 0]) circle(r=radius);
|
|
}
|
|
}
|