48 lines
1.1 KiB
OpenSCAD
48 lines
1.1 KiB
OpenSCAD
include <lib/BOSL2/std.scad>
|
|
include <lib/BOSL2/screws.scad>
|
|
|
|
Base_diameter = 30.0; // 0.1
|
|
Base_depth = 30.0; // 0.1
|
|
Screw_size = "M4";
|
|
Screw_length = 15.0; // 0.1
|
|
Head_style = "sphere"; // ["sphere", "stl"]
|
|
Sphere_diameter = 50.0; // 0.1
|
|
Sphere_offset = 40.0; // 0.1
|
|
Head_import = "";
|
|
Head_rotate_x = 0.0; // 0.1
|
|
Head_rotate_y = 0.0; // 0.1
|
|
Head_rotate_z = 0.0; // 0.1
|
|
Head_scale_x = 1.0; // 0.1
|
|
Head_scale_y = 1.0; // 0.1
|
|
Head_scale_z = 1.0; // 0.1
|
|
Head_translate_x = 0.0; // 0.1
|
|
Head_translate_y = 0.0; // 0.1
|
|
Head_translate_z = 0.0; // 0.1
|
|
$fn = 64;
|
|
|
|
module thing() {
|
|
union() {
|
|
cylinder(Base_depth, d=Base_diameter);
|
|
if (Head_style == "sphere") {
|
|
translate([0, 0, Sphere_offset]) { sphere(d=50);
|
|
};
|
|
}
|
|
if (Head_style == "stl") {
|
|
translate([Head_translate_x, Head_translate_y, Head_translate_z]) {
|
|
rotate([Head_rotate_x, Head_rotate_y, Head_rotate_z]) {
|
|
scale([Head_scale_x, Head_scale_y, Head_scale_z]) {
|
|
import(Head_import);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
difference() {
|
|
thing();
|
|
translate([0, 0, Screw_length/2]) {
|
|
screw_hole(Screw_size, tolerance="tap", length=Screw_length);
|
|
}
|
|
};
|