v10
This commit is contained in:
parent
213243f308
commit
7d474a054e
4 changed files with 320 additions and 14 deletions
56
01_3D-Druck/openscad/artefakt-token.scad
Normal file
56
01_3D-Druck/openscad/artefakt-token.scad
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
// Artefakt-Token (Service-Akte) — gedruckte "Karte" statt Pappkarte
|
||||
// SLC-Workshop Tabletop · Einheiten: mm
|
||||
// Kleine Tile mit gravierter A-Nummer; wird in einen Slot des Artefakt-Trays
|
||||
// (artefakt-tray.scad) gelegt. Eingefaerbt in der PHASENFARBE der erzeugenden
|
||||
// Phase (Design/Transition/Operation/Support/Review) -> Farbe via Filament.
|
||||
//
|
||||
// "Lebende" Artefakte (A2 Service-Definition, A11 Problem Record,
|
||||
// A13 Wissensdatenbank) wachsen sichtbar: Basis-Token + je Aktualisierung
|
||||
// eine duenne Status-Platte oben drauf (Entwurf -> Final -> Aktualisiert).
|
||||
//
|
||||
// part = "token" -> ein Artefakt-Token (Nummer via tok_label)
|
||||
// "plate" -> eine Status-Platte zum Aufstapeln (lebende Artefakte)
|
||||
|
||||
part = "token"; // "token" | "plate"
|
||||
|
||||
/* [Token] */
|
||||
tok_w = 30; // Breite
|
||||
tok_d = 20; // Tiefe
|
||||
tok_h = 4; // Hoehe (Basis-Token)
|
||||
tok_r = 2.5; // Eckenradius
|
||||
tok_label = "A2"; // gravierte A-Nummer
|
||||
lab_size = 11; // Schriftgroesse A-Nummer
|
||||
lab_depth = 0.8; // Gravurtiefe
|
||||
|
||||
/* [Status-Platte] (lebende Artefakte) */
|
||||
plate_h = 2.5; // Hoehe je Aktualisierungs-Platte
|
||||
|
||||
$fn = 48;
|
||||
|
||||
module rrect(l, w, h, r) {
|
||||
linear_extrude(h) offset(r) offset(-r) square([l, w], center = true);
|
||||
}
|
||||
|
||||
module token(label) {
|
||||
difference() {
|
||||
rrect(tok_w, tok_d, tok_h, tok_r);
|
||||
translate([0, 0, tok_h - lab_depth])
|
||||
linear_extrude(lab_depth + 0.1)
|
||||
text(label, size = lab_size, halign = "center", valign = "center");
|
||||
}
|
||||
}
|
||||
|
||||
// duenne Platte zum Aufstapeln; kleine Mittenrille als Status-Markierung
|
||||
module status_plate() {
|
||||
difference() {
|
||||
rrect(tok_w, tok_d, plate_h, tok_r);
|
||||
translate([0, 0, plate_h - 0.5])
|
||||
linear_extrude(0.6)
|
||||
square([tok_w - 10, 1.2], center = true);
|
||||
}
|
||||
}
|
||||
|
||||
if (part == "plate") status_plate();
|
||||
else token(tok_label);
|
||||
|
||||
echo(part = part, tok = [tok_w, tok_d, tok_h], plate_h = plate_h);
|
||||
Loading…
Add table
Add a link
Reference in a new issue