Initial infrastructure documentation - comprehensive homelab reference
This commit is contained in:
61
Printing/Nameplates/test_blue_only.scad
Normal file
61
Printing/Nameplates/test_blue_only.scad
Normal file
@@ -0,0 +1,61 @@
|
||||
// Test - only blue layer from main template
|
||||
name = "Bennett";
|
||||
oval_width = 96;
|
||||
oval_height = 30;
|
||||
blue_thickness = 1;
|
||||
white_thickness = 1.5;
|
||||
base_text_size = 13;
|
||||
|
||||
name_length = len(name);
|
||||
text_size = name_length <= 3 ? 18 :
|
||||
name_length <= 5 ? 13 :
|
||||
name_length <= 8 ? 11 :
|
||||
11;
|
||||
|
||||
border_width = 2;
|
||||
hole_diameter = 4;
|
||||
hole_clearance = 4;
|
||||
|
||||
total_width = oval_width + border_width*2;
|
||||
total_height = oval_height + border_width*2;
|
||||
hole_x = -(total_width/2) + (hole_diameter/2) + hole_clearance;
|
||||
|
||||
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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Blue layer only
|
||||
color("RoyalBlue")
|
||||
difference() {
|
||||
oval(total_width, total_height, blue_thickness);
|
||||
|
||||
// Cut out the border ring channel
|
||||
translate([0, 0, -0.05])
|
||||
difference() {
|
||||
oval(total_width, total_height, blue_thickness + 0.1);
|
||||
oval(oval_width, oval_height, blue_thickness + 0.2);
|
||||
}
|
||||
|
||||
// Cut out text channels
|
||||
translate([0, 0, -0.05])
|
||||
bold_text();
|
||||
|
||||
// Cut out hole
|
||||
translate([hole_x, 0, -0.05])
|
||||
cylinder(h=blue_thickness + 0.1, d=hole_diameter, $fn=50);
|
||||
}
|
||||
Reference in New Issue
Block a user