Foro de Soporte Allplan

[Pregunta] Mesh oder BREP oder andere Daten vorhandener Bewehrung auslesen

Etiquetas:
  • Mesh
  • Brep
  • Reinforcement

Heyhey ich bins mal wieder,

ich habe in letzter Zeit einige Tools geschrieben um Geometrien aus Allplan zu exportieren und zu importieren. Leider klemme ich bei einer Stelle fest. Und zwar dem Auffinden der Geometrie der Vorhandenen Bewehrung innerhalb eines PythonParts oder Standardelementen.

Ich sammle alle Elemente mit dieser Schleife:

for element in AllplanBaseElements.ElementsSelectService.SelectAllElements(
self.coord_input.GetInputViewDocument()):

Hier ist eigentlich alles drin was ich brauche und ich kann mittels zB. der Polyhedron3D aus den vorhandenen Elemente mein Mesh erzeugen und auf meiner Homepage zur Verfügung stellen.

Nur ich komme nirgends an die Geometrien aus dem Reinforcement-Bereich. In den Beispielen kann ich leider nur Beispiele zum Erstellen der Bewehrung finden. Gibt es eine Möglichkeit MESH oder BREP oder Polyhedron3D oder sonst irgendwie daten vorhandener Bewehrung über python zu bekommen?

Beste Grüße

Respekt, dass Du selber Tools schreibst, die in die Kategorie Schnittstellen gehören.
Ich habe auch schon mehrere "Converter" (für SketchUp, AliasWavefront OBJ und LandXML) geschrieben,
allerdings mit der NOI und nicht mit Python. Und Bewehrung war da kein Thema...

Ob man mit Python an die Bewehrungsgeometrie "rankommt", kann ich Dir nicht sagen.
Dazu müsstest Du Herrn Hohmann (der hier bestimmt mitliest) fragen.
Mit der NOI jedenfalls ist dies mehr als kompliziert.
Immerhin gibt es dort eine Service-Funktion, mit der man die 3D-Darstellung eines Elementes aus der Representation-Engine erfahren kann. Vielleicht gibt es etwas derartiges auch in Python?

Eine Verständnisfrage hätte ich noch:
Zitat: "... mein Mesh erzeugen und auf meiner Homepage zur Verfügung stellen"

Was soll ich als Besucher Deiner Homepage mit Deinem "Mesh" anfangen?
Anschauen? Runterladen, und dann?

Eventuell machst Du es Dir auch selbst etwas schwer, wenn Du die Geometrien direkt aus Allplan exportieren willst.
Benutze doch einfach einen Allplan-Export, der bereits alle gewünschten Geometrie-Elemente umfasst. z.B. exportiert der IFC-Export auch Bewehrung. IFC-Exportieren geht sogar in PythonParts!
Möglicherweise ist es leichter, die IFC-Datei zu parsen, und daraus "Dein Mesh" zu generieren.
Evtl. gibt es dafür sogar Bibliotheken in Python.

Grüße

Jörg

Guten Morgen Jörg und vielen Dank für die Antwort.

Könnte ich Herrn Hohmann irgendwie per EMail oder Telefon erreichen? Oder liest er tatsächlich hier hin und wieder mit? Kenne mich leider hier kaum aus.

Zu der Verständnisfrage:
Die Visuelle Prüfung des Mesh ist nur einer der allerersten Schritte. In einer Früheren Unterhaltung hatten wir folgende Fragestellung: Es ging dort darum, ob es über die Python API möglich ist die Funktionen zu erhalten die eine Geometrie erzeugen. Also sowas wie diese Wand ist mit einer "MakeBox" -Methode erzeugt worden und hat die Länge ... Breite ... Höhe ... . Da ist ja leider rausgekommen dass es nicht möglich ist die "Erzeugerfunktion" zu bekommen sondern nur die BREP und die Attribute der Elemente gelesen werden können. Wir haben im letzen Monat daher sehr komplexe Formfindungsalgorithmen entwickelt, die die Geometrie des Rohbau der in Allplan erzeugt wurde als BREP oder mesh per http auf einen Server exportiert und dort sehr exakt für andere Systeme vorbereitet. Genau das hatte ich jetzt als nächstes mit der Bewehrung vor, da Allplan bei uns sehr oft zur Bewehrungsplanung eingesetzt wird. Für mein Script wäre es fatal wenn ich nicht an die simple 3D Geometrie komme.

Wir machen uns die ganzen mühen um den Dateibasierten "Workaround" über IFC los zu werden. Das Parsing der IFC Datei hatten wir uns schon angeschaut, würden das aber gerne als allerletzten Plan-Z-Workaround umsetzen wollen.

Beste Grüße

Hallo nochmal, hat hierzu niemand mehr eine Idee? Wäre wichtig zu wissen.