Add Matekiste Stencil (base plate)
This commit is contained in:
parent
e31143fc0b
commit
c27c5434f9
46
Matekiste_Laser_Stencil.scad
Normal file
46
Matekiste_Laser_Stencil.scad
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
round_base_plane(300, 200, 5, 20, 20, 10);
|
||||||
|
RESOLUTION=36;
|
||||||
|
|
||||||
|
module base_plane(width, height, hole_size, hole_spacing_x, hole_spacing_y) {
|
||||||
|
difference() {
|
||||||
|
// base square
|
||||||
|
square([width, height]);
|
||||||
|
|
||||||
|
// holes
|
||||||
|
translate([hole_spacing_x, hole_spacing_y])
|
||||||
|
circle(d=hole_size, $fn=RESOLUTION);
|
||||||
|
translate([width - hole_spacing_x, hole_spacing_y])
|
||||||
|
circle(d=hole_size, $fn=RESOLUTION);
|
||||||
|
translate([hole_spacing_x, height - hole_spacing_y])
|
||||||
|
circle(d=hole_size, $fn=RESOLUTION);
|
||||||
|
translate([width - hole_spacing_x, height - hole_spacing_y])
|
||||||
|
circle(d=hole_size, $fn=RESOLUTION);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module round_base_plane(width, height, hole_size, hole_spacing_x, hole_spacing_y, radius) {
|
||||||
|
difference() {
|
||||||
|
base_plane(width, height, hole_size, hole_spacing_x, hole_spacing_y);
|
||||||
|
|
||||||
|
translate([width-radius, height-radius])
|
||||||
|
__radius_cutout(radius);
|
||||||
|
translate([radius, height-radius])
|
||||||
|
rotate([0, 0, 90])
|
||||||
|
__radius_cutout(radius);
|
||||||
|
translate([radius, radius])
|
||||||
|
rotate([0, 0, 180])
|
||||||
|
__radius_cutout(radius);
|
||||||
|
translate([width-radius, radius])
|
||||||
|
rotate([0, 0, 270])
|
||||||
|
__radius_cutout(radius);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module __radius_cutout(radius) {
|
||||||
|
difference() {
|
||||||
|
translate([radius/2, radius/2, 0])
|
||||||
|
square([radius, radius], center=true);
|
||||||
|
circle(radius, $fn=RESOLUTION);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user