38 lines
778 B
OpenSCAD
38 lines
778 B
OpenSCAD
|
$fn = 36;
|
||
|
|
||
|
difference() {
|
||
|
linear_extrude(height=5) {
|
||
|
translate([2.5, 0])
|
||
|
__radius_cutout(10);
|
||
|
|
||
|
translate([-2.5, 17.5])
|
||
|
rotate([0, 0, 180])
|
||
|
__radius_cutout(10);
|
||
|
|
||
|
translate([-2.5, 7.5])
|
||
|
square([5, 2.5]);
|
||
|
|
||
|
translate([10, -7.5])
|
||
|
square([2.5, 7.5]);
|
||
|
}
|
||
|
|
||
|
translate([10, -6, 2.5])
|
||
|
rotate([90, 0, 90])
|
||
|
cylinder(h=2.5, d=2);
|
||
|
translate([10, -2, 2.5])
|
||
|
rotate([90, 0, 90])
|
||
|
cylinder(h=2.5, d=2);}
|
||
|
|
||
|
/*
|
||
|
* Helper function for round edges
|
||
|
*/
|
||
|
module __radius_cutout(radius) {
|
||
|
difference() {
|
||
|
intersection() {
|
||
|
translate([radius/2, radius/2, 0])
|
||
|
square(radius, center=true);
|
||
|
circle(radius);
|
||
|
}
|
||
|
circle(radius-2.5);
|
||
|
}
|
||
|
}
|