67 lines
2.6 KiB
OpenSCAD
67 lines
2.6 KiB
OpenSCAD
$fn = 128;
|
|
|
|
module gauge(gauge_size, gauge_width, gauge_height, gauge_thickness, hole_size) {
|
|
body_radius = 5;
|
|
|
|
difference() {
|
|
union() {
|
|
difference(){
|
|
union() {
|
|
minkowski() {
|
|
cube([gauge_width - body_radius, gauge_height - body_radius, gauge_thickness / 2], center = true);
|
|
cylinder(d = body_radius, h = gauge_thickness / 2, center = true);
|
|
};
|
|
|
|
translate([-((gauge_width / 2) - (body_radius / 2)), (gauge_height / 2) - (body_radius / 2), 0])
|
|
cube([body_radius, body_radius, gauge_thickness], center = true);
|
|
|
|
translate([(gauge_width / 2) - (body_radius / 2), (gauge_height / 2) - (body_radius / 2), 0])
|
|
cube([body_radius, body_radius, gauge_thickness], center = true);
|
|
};
|
|
|
|
translate([-(gauge_width / 2), gauge_height / 2, 0])
|
|
cylinder(h = gauge_thickness, r1 = gauge_size, r2 = gauge_size, center = true);
|
|
|
|
translate([gauge_width / 2, gauge_height / 2, 0])
|
|
cylinder(h = gauge_thickness, r1 = gauge_size, r2 = gauge_size, center = true);
|
|
};
|
|
|
|
translate([(gauge_width / 2) - gauge_size, gauge_height / 2 - gauge_size, 0])
|
|
difference() {
|
|
cylinder(h = gauge_thickness, r1 = gauge_size, r2 = gauge_size, center = true);
|
|
|
|
translate([-gauge_size/2, -gauge_size/2, 0])
|
|
cube([gauge_size, gauge_size, gauge_thickness], center = true);
|
|
|
|
translate([-gauge_size/2, gauge_size/2, 0])
|
|
cube([gauge_size, gauge_size, gauge_thickness], center = true);
|
|
|
|
translate([gauge_size/2, -gauge_size/2, 0])
|
|
cube([gauge_size, gauge_size, gauge_thickness], center = true);
|
|
};
|
|
};
|
|
|
|
if (hole_size > 0) {
|
|
translate([(gauge_width / 2) - 3.5, -((gauge_height / 2) - 3.5), 0])
|
|
cylinder(h = gauge_thickness, d = hole_size, center = true);
|
|
};
|
|
|
|
translate([0, -(gauge_height / 3), 0])
|
|
linear_extrude(gauge_thickness, center = true)
|
|
text(str(gauge_size, "mm"), size = 6, valign = "center", halign = "center", font = "OpenSans:style=Extrabold");
|
|
};
|
|
};
|
|
|
|
thickness = false;
|
|
hole = 5.5;
|
|
size = 30;
|
|
g_width = 65;
|
|
g_height = 35;
|
|
g_thickness = 1.5;
|
|
|
|
if(thickness) {
|
|
gauge(size, g_width, g_height, size, hole);
|
|
}
|
|
else {
|
|
gauge(size, g_width, g_height, g_thickness, hole);
|
|
}
|