...
This commit is contained in:
parent
9075692196
commit
e06a717e4b
24 changed files with 270 additions and 7 deletions
22
01_3D-Druck/openscad/phasenmodell-common.scad
Normal file
22
01_3D-Druck/openscad/phasenmodell-common.scad
Normal 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");
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue