This commit is contained in:
breitenbach76 2026-06-10 07:43:48 +02:00
parent 9075692196
commit e06a717e4b
24 changed files with 270 additions and 7 deletions

View file

@ -0,0 +1,22 @@
// Phasenmodell gemeinsame Logik fuer die 5 Einzelteile (1:1 aus phasenmodell.svg).
// Jedes Teil = sein Segment-Umriss (extrudiert) MINUS die gesamte Text+Icon-Gravur.
// Nur was auf dem Segment liegt, schneidet -> kein Aufteilen der Schrift noetig.
// Aufruf: use <phasenmodell-common.scad> phase_part("seg_design.svg", "#2f80c9");
part_h = 5; // Teil-Dicke (flache Kachel)
text_dep = 1.2; // Gravurtiefe Text + Icons
$fn = 96;
// SVG-Doku ist 300 mm breit -> Mitte bei (150,150).
// offset()-Roundtrip raeumt die importierten Pfade auf. 0,1 mm noetig, weil die Icon-
// Pfade (Zahnrad etc.) Selbstueberschneidungen haben, die 0,02 mm nicht schliesst.
module svg2d(file) { translate([-150,-150]) offset(delta=0.1) offset(delta=-0.1) import(file); }
module phase_part(seg_svg, col) {
color(col)
difference() {
linear_extrude(part_h) svg2d(seg_svg);
translate([0,0,part_h-text_dep])
linear_extrude(text_dep+0.1) svg2d("pm_engrave.svg");
}
}