59 lines
1.8 KiB
OpenSCAD
59 lines
1.8 KiB
OpenSCAD
// Wortfolie der Wortuhr (11 Spalten x 10 Zeilen) für IKEA SANNAHED
|
|
// Die Buchstaben sind Aussparungen in der (schwarzen) Folie.
|
|
// Export als 2D: F6 rendern, dann Datei -> Export -> als DXF / SVG.
|
|
|
|
include <gemeinsam.scad> // Rahmengröße (rahmen_cm), Rand, Minutenpunkte
|
|
|
|
// ---------- Einstellungen ----------
|
|
buchstaben_anteil = 0.62; // Buchstabenhöhe relativ zum Zellenabstand
|
|
schrift = "Liberation Sans:style=Bold";
|
|
punkt_d_anteil = 0.18; // Punktdurchmesser relativ zum Zellenabstand
|
|
dicke_mm = 0; // 0 = flache 2D-Ausgabe (für Laser/DXF), >0 = 3D-Vorschau
|
|
|
|
// ---------- Buchstabenraster ----------
|
|
// Ein String pro Zeile, jeweils 11 Zeichen (Füllbuchstaben beliebig).
|
|
raster = [
|
|
"ESKISTAFÜNF",
|
|
"ZWANZIGZEHN",
|
|
"VIERTELTVOR",
|
|
"HALBNTPNACH",
|
|
"NEUNAPIFÜNF",
|
|
"ZWEIRTCEINS",
|
|
"DREIESPVIER",
|
|
"ACHTRLSECHS",
|
|
"SIEBENZWÖLF",
|
|
"UHRMELFZEHN"
|
|
];
|
|
|
|
// ---------- Berechnung ----------
|
|
folie = platte; // Kantenlänge der Folie in mm
|
|
buch_h = raster_a * buchstaben_anteil; // Buchstabengröße
|
|
|
|
module buchstaben() {
|
|
for (z = [0 : zeilen - 1], s = [0 : spalten - 1])
|
|
translate([zx(s), zy(z)])
|
|
text(raster[z][s], size = buch_h, font = schrift,
|
|
halign = "center", valign = "center");
|
|
}
|
|
|
|
module punkte() {
|
|
if (minutenpunkte)
|
|
for (sx = [-1, 1], sy = [-1, 1])
|
|
translate([sx * (folie / 2 - rand_mm / 2), sy * (folie / 2 - rand_mm / 2)])
|
|
circle(d = raster_a * punkt_d_anteil, $fn = 32);
|
|
}
|
|
|
|
module folie_2d() {
|
|
difference() {
|
|
square(folie, center = true);
|
|
buchstaben();
|
|
punkte();
|
|
}
|
|
}
|
|
|
|
if (dicke_mm > 0) linear_extrude(dicke_mm) folie_2d();
|
|
else folie_2d();
|
|
|
|
echo(str("Folie ", folie, " x ", folie, " mm, Zellenabstand ", raster_a,
|
|
" mm, Buchstabenhöhe ", buch_h, " mm"));
|