44 lines
1.1 KiB
OpenSCAD
44 lines
1.1 KiB
OpenSCAD
// Debug - just show the blue layer with text cut out
|
|
name = "Bennett";
|
|
oval_width = 96;
|
|
oval_height = 30;
|
|
blue_thickness = 1;
|
|
border_width = 2;
|
|
|
|
name_length = len(name);
|
|
text_size = name_length <= 3 ? 18 :
|
|
name_length <= 5 ? 13 :
|
|
name_length <= 8 ? 11 :
|
|
11;
|
|
|
|
total_width = oval_width + border_width*2;
|
|
total_height = oval_height + border_width*2;
|
|
|
|
module oval(width, height, depth) {
|
|
scale([width/2, height/2, 1])
|
|
cylinder(h=depth, r=1, $fn=100);
|
|
}
|
|
|
|
module bold_text() {
|
|
for (x = [-0.3, 0, 0.3]) {
|
|
for (y = [-0.3, 0, 0.3]) {
|
|
translate([x, y, 0])
|
|
linear_extrude(height=blue_thickness + 0.1)
|
|
text(name,
|
|
size=text_size,
|
|
font="Fordscript",
|
|
halign="center",
|
|
valign="center");
|
|
}
|
|
}
|
|
}
|
|
|
|
// Just the blue with text cut - no border cut
|
|
color("RoyalBlue")
|
|
difference() {
|
|
oval(total_width, total_height, blue_thickness);
|
|
|
|
translate([0, 0, -0.05])
|
|
bold_text();
|
|
}
|