BIMPython (Software)
Seit Version V21 wird das CAD-Programm BricsCAD mit einem integrierten Pythoninterpreter ausgeliefert und ermöglicht über den Befehl BIMPYTHON die Ausführung von Pythonprogrammen direkt im CAD-System.
Pythonprogramme, die in BricsCAD ausgeführt werden, müssen lediglich das Modul „bricscad.bim“ importieren, um Zugriff auf die Programmierschnittstelle (API) und damit auf die Objekte in der Zeichnungsdatei zu erhalten.
from bricscad.bim import current_model
Eine Übersicht über die vorhandenen Funktionen liefert die Webseite der BricsCAD-Hilfe.
Derzeit (April 2023) enthält die API nur lesende Funktionen für BIM-Objekte und schreibende Funktionen für einige ausgewählte Eigenschaften von diesen, sodass Pythonscripte innerhalb von BricsCAD nicht in der Lage sind, Zeichnungsobjekte ohne den Umweg über Scriptdateien zu erzeugen oder deren geometrische Eigenschaften zu bearbeiten. Ein Zugriff auf geometrische Grundelemente ohne BIM-Eigenschaften ist gar nicht möglich.
Das folgende Pythonprogramm gibt aus, welche BIM-Eigenschaften der Zeichnung, aus der heraus es mittels BIMPYTHON gestartet wird, von ihm geändert werden können:
from bricscad.bim import current_model, list_properties print("Folgende BIM-Objekte sind in dieser " "Zeichnung vorhanden:\n") Eigenschaften = set() for Objekt in current_model(): print(Objekt) for Eigenschaft in list_properties(Objekt): Wert = Objekt.get_property(Eigenschaft) for x in (0, 1, "x", "u", 0.1, 1.0): Objekt.set_property(Eigenschaft, x) w = Objekt.get_property(Eigenschaft) if Wert != x and w == x: Eigenschaften.add(f"{Eigenschaft} {type(w)}") Objekt.set_property(Eigenschaft, Wert) print("\n\nFolgende Eigenschaften dieser Objekte können " "verändert werden:\n") for e in sorted(Eigenschaften): print(e) print() print(len(current_model()), "Objekte gefunden.") print(len(Eigenschaften), "veränderbare Eigenschaften entdeckt.")
--
Dipl.-Ing. Martin Vogel
Leiter des Bauforums
Bücher:
CAD mit BricsCAD
Bauinformatik mit Python
gesamter Thread: