Initial infrastructure documentation - comprehensive homelab reference
This commit is contained in:
56
Printing/Nameplates/checkmark_template.scad
Normal file
56
Printing/Nameplates/checkmark_template.scad
Normal file
@@ -0,0 +1,56 @@
|
||||
// Two-Layer Check Mark Design
|
||||
// Black base (box + check mark) + White fill layer on top
|
||||
// Based on CF00089-08 Check Mark 01.svg
|
||||
|
||||
// Parameters - adjust these to customize
|
||||
black_base_thickness = 0.5; // Black base layer (thin, bottom)
|
||||
white_fill_thickness = 1.5; // White fill layer (middle)
|
||||
black_top_thickness = 0.5; // Black top (check mark shows through)
|
||||
desired_size = 14; // Desired box size (mm) - makes design square
|
||||
|
||||
// SVG file path
|
||||
svg_file = "Check-Mark/CF00089-08 Check Mark 01.svg";
|
||||
|
||||
// Calculate dimensions from SVG viewBox (720 x 570.9)
|
||||
svg_width = 720;
|
||||
svg_height = 570.9;
|
||||
|
||||
// Scale factors to make the design exactly square
|
||||
scale_x = desired_size / svg_width; // Scale for width
|
||||
scale_y = desired_size / svg_height; // Scale for height
|
||||
design_width = desired_size;
|
||||
design_height = desired_size;
|
||||
|
||||
// White fill inset (how much smaller than the outer box)
|
||||
white_inset = 1.5; // mm inset from edges (adjusted for 14mm box)
|
||||
white_width = design_width - (white_inset * 2);
|
||||
white_height = design_height - (white_inset * 2);
|
||||
|
||||
// Total thickness
|
||||
total_thickness = black_base_thickness + white_fill_thickness + black_top_thickness;
|
||||
|
||||
echo(str("Design size: ", design_width, "mm x ", design_height, "mm"));
|
||||
echo(str("White fill size: ", white_width, "mm x ", white_height, "mm"));
|
||||
echo(str("Total thickness: ", total_thickness, "mm"));
|
||||
|
||||
// Build the two-layer design
|
||||
module checkmark_design() {
|
||||
// Layer 1: Black base - full SVG design (box + check mark)
|
||||
color("black")
|
||||
translate([0, 0, 0])
|
||||
linear_extrude(height = total_thickness)
|
||||
// Center the SVG design
|
||||
translate([-design_width/2, -design_height/2, 0])
|
||||
scale([scale_x, scale_y, 1])
|
||||
import(svg_file, center = false);
|
||||
|
||||
// Layer 2: White fill - sits on top of black base, inside the box
|
||||
color("white")
|
||||
translate([0, 0, black_base_thickness])
|
||||
linear_extrude(height = white_fill_thickness)
|
||||
offset(r = 1) // Slightly round the corners
|
||||
square([white_width, white_height], center = true);
|
||||
}
|
||||
|
||||
// Render the complete design
|
||||
checkmark_design();
|
||||
Reference in New Issue
Block a user