Auf dieser Seite sammeln wir kleine, praktische Hilfsfunktionen, die beim Entwickeln von OpenSCAD-Modellen immer wieder nützlich sind. Alles ist so gehalten, dass es für Einsteiger leicht nachvollziehbar bleibt – im Stil unseres anderen Tutorials.
showit(): Punkte und Abstände sichtbar machenGerade bei Polygonen oder beim Nachzeichnen von Umrissen ist es oft schwer zu
erkennen, ob ein Punkt an der richtigen Stelle liegt.
showit() markiert alle Punkte sichtbar im Viewport.
Das Modul ist kurz und kann in jedes Projekt kopiert werden:
/*
CC0 BY (Public Domain)
2025 by bernhard (3d.bit-field.de) is licensed under the Creative Commons - Attribution license.
*/
module showit(p, sz=2)
{
translate([0, 0, 0])
{
for (i = [0: len(p)- 1])
{
color("red")
linear_extrude(1.5)
translate(p[i]) {
{
circle(1);
translate([2, 0]) text(str(i), size=sz);
}
}
}
}
}
/*
difference()
{
offset(0.3) polygon(p);
polygon(p);
}
*/
Verwendung:
p = [ [0,0], [20,0], [20,30], [0,30] ];
polygon(p);
showit(p, sz=2); // zeigt Punkte als kleine Kugeln
Ansicht im Renderer:
mirror_x(): Einfaches Spiegeln an X=0Viele Modelle werden durch Spiegeln symmetrisch aufgebaut. Diese Hilfsfunktion spart Tipparbeit und vermeidet Fehler.
module mirror_x()
{
mirror([1,0,0]) children();
}
Beispiel:
left_part = [ [0,0], [10,0], [10,15], [0,15] ];
polygon(left_part);
mirror_x() polygon(left_part);
move_to_origin(): Objekt an (0,0) ausrichtenWenn ein importiertes Modell weit im Raum liegt, kann man es mit einem automatischen Versatz zurück an den Ursprung verschieben.
Minimalversion (2D):
module move_to_origin(p)
{
minx = min([for(a=p) a[0]]);
miny = min([for(a=p) a[1]]);
translate([-minx, -miny]) children();
}
Beispiel:
p = [ [80,120], [120,120], [120,160], [80,160] ];
move_to_origin(p)
polygon(p);
Titelbildquelle: eigenes Bild
... because software matters