[Question] Frage zur anbinde möglichkeit von Allplan an Python


Guten Abend zusammen,

mit meinen mehr oder weniger rudimentären Programmierkenntnissen in Python habe ich es mittels PyAutoGui geschafft, einen Automatischen IFC Import mit verschieben und Drehen des Modells zu realisieren. Nun kann es ja eigentlich nicht das Ziel sein, mittels Bilderkennung Funktionen in einem CAD Programm anzusprechen, daher die Frage:
Gibt es eine Möglichkeit, Allplan Funktionen wie z.B „Kopieren und Spiegeln“ mittels API anzusprechen, ohne gleich das große Fass wie Pythonparts aufmachen zu müssen?

Grüße Paul

Show most helpful answer Hide most helpful answer

Ich habe versucht, dein Use-Case zu lösen, indem ich den Beispielskript IFCExportImport etwas angepasst habe (sh. Anhang). Am Ende der .py Datei kannst du sehen, welche funktionen verwende ic um die IFC datei zu importieren. Danach kopiere ich die importierte Elemente mit CopyElements. Leider habe ich in API reference keine Funktion gefunden, um die Elemente zu verschieben. Deshalb verschiebe ich die kopierte Elemente auf ein separates Layer, so dass man die danach löschen kann. Aber vielleicht findest du in den funktionen von
BaseElements modul
für dein Use-Case passende Funktion. Was du wissen musst: die ImportIFC methode importiert die Elemente aus IFC-Datei ins Teilbild und ergibt eine BaseElementAdapterList als return value. Suche also Funktionen, die mit diesem Type von objekt umgehen können. Was das überhaupt ist, erzählen wir hier

Attachments (1)

Type: application/zip
Downloaded 527 times
Size: 2,59 KiB

Hallo Paul,

kannst du dein Workflow etwas genauer beschreiben? Was ich verstanden habe, du importierst eine IFC-Datei. Was beinhaltet diese Datei? Ein komplettes Projekt oder vielleicht nur ein Kleinteil (z.B. eine Möbelstück), was innerhalb eines Projektes platziert werden muss?

In beiden fällen wird das Öffnen der Fass wahrscheinlich nötig sein. Man kann evtl. versuchen dieses Workflow mit VisualScripting abzubilden. Dann müssen wir den Fass nicht öffnen

Grüße, Bart

Hallo Bart,

eigentlich ist es eine einfache Aufgabe, die von Allplan nicht automatisiert ausgeführt werden kann, nämlich das importieren eines IFC Modells, dieses drehen und verschieben. Am drehen scheitert es leider. Ich hätte auch noch ein zwei weitere Ideen, die ich gerne mal ausprobieren würde, um mit Python Allplan „fernsteuern“ zu können

Grüße Paul

Ich habe versucht, dein Use-Case zu lösen, indem ich den Beispielskript IFCExportImport etwas angepasst habe (sh. Anhang). Am Ende der .py Datei kannst du sehen, welche funktionen verwende ic um die IFC datei zu importieren. Danach kopiere ich die importierte Elemente mit CopyElements. Leider habe ich in API reference keine Funktion gefunden, um die Elemente zu verschieben. Deshalb verschiebe ich die kopierte Elemente auf ein separates Layer, so dass man die danach löschen kann. Aber vielleicht findest du in den funktionen von
BaseElements modul
für dein Use-Case passende Funktion. Was du wissen musst: die ImportIFC methode importiert die Elemente aus IFC-Datei ins Teilbild und ergibt eine BaseElementAdapterList als return value. Suche also Funktionen, die mit diesem Type von objekt umgehen können. Was das überhaupt ist, erzählen wir hier

Attachments (1)

Type: application/zip
Downloaded 527 times
Size: 2,59 KiB

Guten Abend,

Leider hatte ich gerade erst Zeit einmal in den Script reinzuschauen. Ich verstehe dabei auch grob was du machst und wie, allerdings für "PythonAnfänger" wie mich noch eine deutliche Nummer zu hoch.
Trotzdem vielen Dank das du dir die Mühe gemacht hast und den Script hier hochgeladen hast.
Grüße Paul

Da da exportierte IFC nicht mehr viel mit dem importierten IFC gemeinsam hat würde ich dafür niemals Allplan verwenden. Allplan importiert die Daten in seine eigene Struktur und exportiert dann daraus die Daten wieder.

Schau Dir da mal BlenderBIM/IfcOpenShell an. Da diese Tools IFC als intene Datenstruktur verwenden werden bei Drehen und Schieben auch nur die Geometriekoordinaten geändert und nicht die gesamte IFC-Struktur neu aufgebaut.

@bmarciniec: trotzdem cooles script. Das hilft mir für was ganz anderes :-)

BIM, BAM, BOOM
BIM-Modelle Tragwerksplaner --> http://www.bimstatik.ch/
My Allplan PythonParts --> https://github.com/BIMStatik/AllplanPythonParts
LinkedIN --> https://ch.linkedin.com/in/bernd-hahnebach-269b855a