42 lines
963 B
OpenSCAD
42 lines
963 B
OpenSCAD
$fn=200;
|
|
|
|
include </home/julien/.local/share/OpenSCAD/libraries/boltsos_0.4.1/BOLTS.scad>
|
|
|
|
// Calculate optimal rows and columns
|
|
n = 1;
|
|
rows = floor(sqrt(n));
|
|
cols = ceil(n/rows);
|
|
|
|
module knobs(size = 1) {
|
|
difference() {
|
|
union() {
|
|
translate([-15,-15,0]) {
|
|
linear_extrude(height = size)
|
|
import("../svg/screw.svg");
|
|
}
|
|
translate([0,0,size]) {
|
|
cylinder(5, d=size);
|
|
}
|
|
}
|
|
// M5 screw hole
|
|
color("red", alpha=1) {
|
|
union() {
|
|
translate([0,0,5]) {
|
|
DIN931("M5");
|
|
}
|
|
translate([0,0,2.5]) {
|
|
DIN931("M5");
|
|
}
|
|
cylinder(20, d=5.5);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// Create a 2D array of squares
|
|
for(i = [0:rows-1]) {
|
|
for(j = [0:cols-1]) {
|
|
translate([35*j,35*i,0]) {
|
|
knobs(size = 10);
|
|
}
|
|
}
|
|
} |