71 lines
1.3 KiB
OpenSCAD
71 lines
1.3 KiB
OpenSCAD
hole_dia = 14;
|
|
hole_depth = 29;
|
|
|
|
wall_thickness = 3;
|
|
|
|
screw_hole_dia = 4;
|
|
screw_hole_chamfer = 2;
|
|
|
|
module slot(width, height) {
|
|
radius = width / 2;
|
|
squ_height = height-2*radius;
|
|
|
|
union(){
|
|
square(size=[width, squ_height], center=true);
|
|
translate([0,squ_height/2,0])
|
|
circle(r=radius);
|
|
translate([0,-squ_height/2,0])
|
|
circle(r=radius);
|
|
}
|
|
}
|
|
|
|
module sector(radius, angles, fn = 24) {
|
|
r = radius / cos(180 / fn);
|
|
step = -360 / fn;
|
|
|
|
points = concat([[0, 0]],
|
|
[for(a = [angles[0] : step : angles[1] - 360])
|
|
[r * cos(a), r * sin(a)]
|
|
],
|
|
[[r * cos(angles[1]), r * sin(angles[1])]]
|
|
);
|
|
|
|
difference() {
|
|
circle(radius, $fn = fn);
|
|
polygon(points);
|
|
}
|
|
}
|
|
|
|
module holder() {
|
|
inner_radius = 10.5;
|
|
round_radius = 3;
|
|
|
|
|
|
minkowski() {
|
|
difference(){
|
|
circle(r=inner_radius+round_radius+0.1);
|
|
circle(r=inner_radius+round_radius);
|
|
sector(inner_radius+round_radius+2, [-30, 210]);
|
|
}
|
|
circle(r=round_radius, $fn=25);
|
|
}
|
|
}
|
|
|
|
module safety() {
|
|
|
|
}
|
|
|
|
linear_extrude(wall_thickness){
|
|
slot(30, 60);
|
|
}
|
|
|
|
my_offset = -13;
|
|
|
|
translate([0,my_offset,wall_thickness])
|
|
linear_extrude(wall_thickness)
|
|
holder($fn=100);
|
|
|
|
color("lavender") {
|
|
translate([0,my_offset,4])
|
|
circle(r=10);
|
|
} |