Python-Programm für Wendeltreppen in AutoCAD und BricsCAD (Software)
Um schnell mal eine Wendeltreppe in einem generischen CAD-Programm wie BricsCAD oder AutoCAD zu zeichnen, sind eine Anzahl sich wiederholender Schritte nötig, die man sinnvollerweise einem Programm überlässt.
Wer LISP mag, kann zum Beispiel das 1995 von Xue-dong Zhao geschriebene Spiral-Stair-Script SPST.LSP so anpassen, dass es auch unter aktuellen Programmversionen noch läuft. Es ist nach kurzer Suche an verschiedenen Orten im Web zu finden.
Man könnte aber auch einfach ein kleines Pythonprogramm schreiben, das eine Scriptdatei für AutoCAD oder BricsCAD zum Zeichnen einer Wendeltreppe erzeugt. Diese kann die Treppe dann gleich so bemessen, dass sie bequem zu gehen ist.
Das unten zu findende Programm Wendeltreppe.py fragt zuerst nach der gewünschten Höhe der Treppe in Zentimetern. Daraus ermittelt es die Zahl der Stufen, die erforderlich ist, um der optimalen Stufenhöhe von 17 Zentimetern so nah wie möglich zu kommen.
Der Innen- und der Außendurchmesser der Wendel bestimmen die Stufenbreite. 30 Zentimeter vom äußeren Rand entfernt befindet sich die Lauflinie, welche die für eine bequeme und sichere Nutzung der Treppe optimale Stufentiefe und den erforderlichen Drehwinkel (auf 15° gerundet) festlegt. Dieser Drehwinkel kann noch verändert werden, um mehr Freiheit in der Gestaltung der Treppengeometrie zu haben.
Sind alle Geometrieparameter festgelegt, schreibt das Pythonprogramm das CAD-Script WENDELTREPPE.SCR. Wer BricsCAD verwendet, kann diese Datei einfach doppelklicken und hat im nächsten Augenblick eine fertige Wendeltreppe auf dem Bildschirm, bei der nur noch ein paar Kleinigkeiten wie Handlauf, Geländerstäbe oder eine schöne, ebenmäßig geformte Unterseite ergänzt werden müssen. AutoCAD unterstützt das Doppelklicken von Scriptdateien nicht; hier müssen Sie in einer neuen, leeren Datei den Befehl SCRIPT eintippen und im sich öffnenden Dialogfenster die Datei WENDELTREPPE.SCR suchen und ausführen.
#!/usr/bin/env python3 # benötigt mindestens Python 3.6 from math import pi, degrees print(""" Dieses Programm erzeugt eine AutoCAD/BricsCAD-Scriptdatei für eine Wendeltreppe. Starten Sie die erzeugte Scriptdatei WENDELTREPPE.SCR im CAD-Programm in einer leeren Zeichnung (Einheit Zentimeter) mit dem Befehl SCRIPT! """) def fi(s, vorgabe=None): "float input" while True: print(f"{s}{f' ({vorgabe})' if vorgabe else ''}: ",end="") inp = input().replace(",",".") if not inp: inp = vorgabe try: return float(inp) except: print("Fehler: Eingabe wurde nicht als Zahl erkannt.") da = fi("Außendurchmesser der Treppe", 250) du = da - 60 ul = pi * du print(f"Der Durchmesser der Lauflinie beträgt {du} cm.") print(f"Ihr Umfang beträgt {ul:.1f} cm.") di = fi("Innendurchmesser der Treppe", 50) ht = fi("Höhe der Treppe", 260) n = round(ht/17) hs = ht/n print(f"Die Treppe erhält {n} Stufen.") print(f"Die Stufenhöhe beträgt {hs:.1f} cm.") # rechnerischer Auftritt aus Schrittmaßregel ra = 63 - 2 * hs # rechnerischer Winkel der Treppe rw = 360 * n * ra / ul # gerundet auf 15° rwg = int(round(rw/15)*15) wt = fi("Gesamtdrehwinkel der Treppe",rwg) # Winkel einer Stufe ws = wt/n # Vorderseite der Stufe p0 = f"{di/2},0,0" p1 = f"{da/2},0,0" p2 = f"{da/2},0,{hs}" p3 = f"{di/2},0,{hs}" with open("WENDELTREPPE.SCR","w") as scr: # Koordinateneingabe geht vor Objektfang scr.write("OSnapCoord 1\n") # Einheit Zentimeter scr.write("_InsUnits 5\n") # Vorderseite der Stufe scr.write(f"3DPoly {p0} {p1} {p2} {p3} s\n") # Rotieren scr.write(f"Rotation l 0,0,0 0,0,1 {ws}\n") # Block definieren scr.write(f"-Block Stufe 0,0,0 l \n") for i in range(n): scr.write(f"_-Insert Stufe\n0,0,{i*hs} 1 1 {i*ws}\n") # Anzeige anpassen scr.write("-APunkt -1,-1,1\n") scr.write("Zoom G\n") input("Fertig. [Enter]")
--
Dipl.-Ing. Martin Vogel
Leiter des Bauforums
Bücher:
CAD mit BricsCAD
Bauinformatik mit Python