Forum de la communauté Allplan

[Question] Oberflächenname und Pfad für Subtitutionstabelle [Résolu]


Hallo Zusammen,

ich würde gerne von allen unseren Bauteilen eine Tabelle erstellen aus der der Name der Surf-Datei, sowie der Pfad ersichtlich ist. Diese brauche ich um eine Subtitutionstabelle für die Twinmotion Schnittstelle zu erstellen.
gibt es dazu ein passendes Attribut? hätte dafür die Attribute Textur, (178) Texturname (336) und Texturpfad (333) verwendet, diese geben mir aber nichts aus.
Falsche Attribute? Jemand noch ein spanende Idee?

Viele Grüße
Florian

LinkedIn-Profil

www.vollack.de

Pièces-jointes (1)

Type: image/png
Téléchargé 77 fois
Size: 278,08 KiB

Show solution Hide solution

Es gibt doch noch eine Möglichkeit! Als ich die verschiedenen Fälle aufgezählt habe, wo die .surf überall vorkommen kann, ist mir eingefallen, dass ich so was ja schon mal programmiert habe: Und zwar sammelt der ProjectInspector ALLE Oberflächen von 3D-Körpern, Makros, Mengenkörpern, Ausbauflächen usw. in einer Tabelle "FileSurface". Das Feature wurde hier vorgestellt.

Damit kann man leicht eine SQL-Abfrage konstruieren, die alle verwendeten .Surfs mit ihrer Häufigkeit (Anzahl Teilbilder) auflistet(s.list_all_surf.png)
Auch eine Abfrage, welche surf in bestimmten Teilbildern (in dem Fall 1000 und 1003) enthalten sind, ist möglich (s.surf_at_documents.png)
Schlussendlich kann man auch "fragen", in welchen Teilbildern eine bestimmte .surf verwendet wird(s.documents_with_surf.png)

Warum Oberflächenpfad leer ist, müßtest Du Allplan fragen!
Der Oberflächenname enthält ja schon die Unterverzeichnisse ausgehend vom \design-Ordner des Projekts.
Vielleicht war mal geplant, auch "freie Surfaces" zuzulassen, die dann irgendwo auf dem Rechner liegen können.

Pièces-jointes (3)

Type: image/png
Téléchargé 48 fois
Size: 82,14 KiB
Type: image/png
Téléchargé 33 fois
Size: 64,74 KiB
Type: image/png
Téléchargé 37 fois
Size: 106,82 KiB

Guten Morgen.

Probier mal @335@, das gibt bei mir den Dateinamen der SURF-Oberfläche mit Pfad aus.

lg,
Stefan

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Die Oberfläche (.surf) wird leider nur bei Architekturelementen im Attribute @335@ "Oberflächenname gespeichert.
Aber: Da kommt man aber nicht so leicht "ran". Beim Allplan-Excel-Export mit dem Report "Allgemeine Objektattribute" wird es nicht exportiert! Ggf. muss man sich also einen eigenen Report dafür "zimmern".

Das Plugin Modelinspector zeigt es an, und exportiert es auch.
Auch das Plugin Klassifizierung kann es lesen.

Bei 3D-Körpern, freien 2D-Körpern und Mengenkörpern ist die Oberfläche (.surf) als Objekteigenschaft am Objekt selbst gespeichert.
Bei Makros kommt man leider nicht an die enthaltenen Oberflächen ran, weder als Attribut noch als Objekteigenschaft.

Man müßte sich also ein PythonPart dafür schreiben, welches die Oberflächen in Abhängigkeit vom Objekttyp extrahiert. Unglücklicherweise funktioniert in Python leider die dafür vorgesehene Funktion ModelElement3D.GetTextureDefintion() NICHT!

Fazit: Derzeit gibt es keine Möglichkeit ALLE verwendeten Oberflächen irgendwie aus den Teilbilddaten auszulesen!

Cité par StefanHah
Guten Morgen.
Probier mal @335@, das gibt bei mir den Dateinamen der SURF-Oberfläche mit Pfad aus.
lg,

Stefan

danke, mit einem fx-Attribut und der Formel @335@ wird mir der Pfad inkl Datei angezeigt.
somit direkt per Allplan-Excel-Export sichtbar, danke.

Cité par Nemo
Die Oberfläche (.surf) wird leider nur bei Architekturelementen im Attribute @335@ "Oberflächenname gespeichert.

Aber: Da kommt man aber nicht so leicht "ran". Beim Allplan-Excel-Export mit dem Report "Allgemeine Objektattribute" wird es nicht exportiert! Ggf. muss man sich also einen eigenen Report dafür "zimmern".
Das Plugin Modelinspector zeigt es an, und exportiert es auch.

Auch das Plugin Klassifizierung kann es lesen.
Bei 3D-Körpern, freien 2D-Körpern und Mengenkörpern ist die Oberfläche (.surf) als Objekteigenschaft am Objekt selbst gespeichert.

Bei Makros kommt man leider nicht an die enthaltenen Oberflächen ran, weder als Attribut noch als Objekteigenschaft.
Man müßte sich also ein PythonPart dafür schreiben, welches die Oberflächen in Abhängigkeit vom Objekttyp extrahiert. Unglücklicherweise funktioniert in Python leider die dafür vorgesehene Funktion ModelElement3D.GetTextureDefintion() NICHT!
Fazit: Derzeit gibt es keine Möglichkeit ALLE verwendeten Oberflächen irgendwie aus den Teilbilddaten auszulesen!

somit ists natürlich noch einfacher! super Sache, spare ich mir das zusätzliche Attribut.

erstmal schaue ich auf die Ausbauflächen in Räumen, damit funktioniert der Export mit dem ModellInspector wunderbar. Schlussendlich haben wir zum größten Teil Architekturelemente. Mit den SmartParts Türen/Fenster/Tore muss ich dann noch schauen.

Viele Grüße
Florian

LinkedIn-Profil

www.vollack.de

seltsam finde ich noch, dass das Attribut @334@ Oberflächenpfad leer bleibt, dafür in @335@ Oberflächenname Pfad&Name steht.

kannst du mir sagen warum das so ist? @nemo

Viele Grüße
Florian

LinkedIn-Profil

www.vollack.de

Pièces-jointes (1)

Type: image/png
Téléchargé 24 fois
Size: 13,84 KiB

Es gibt doch noch eine Möglichkeit! Als ich die verschiedenen Fälle aufgezählt habe, wo die .surf überall vorkommen kann, ist mir eingefallen, dass ich so was ja schon mal programmiert habe: Und zwar sammelt der ProjectInspector ALLE Oberflächen von 3D-Körpern, Makros, Mengenkörpern, Ausbauflächen usw. in einer Tabelle "FileSurface". Das Feature wurde hier vorgestellt.

Damit kann man leicht eine SQL-Abfrage konstruieren, die alle verwendeten .Surfs mit ihrer Häufigkeit (Anzahl Teilbilder) auflistet(s.list_all_surf.png)
Auch eine Abfrage, welche surf in bestimmten Teilbildern (in dem Fall 1000 und 1003) enthalten sind, ist möglich (s.surf_at_documents.png)
Schlussendlich kann man auch "fragen", in welchen Teilbildern eine bestimmte .surf verwendet wird(s.documents_with_surf.png)

Warum Oberflächenpfad leer ist, müßtest Du Allplan fragen!
Der Oberflächenname enthält ja schon die Unterverzeichnisse ausgehend vom \design-Ordner des Projekts.
Vielleicht war mal geplant, auch "freie Surfaces" zuzulassen, die dann irgendwo auf dem Rechner liegen können.

Pièces-jointes (3)

Type: image/png
Téléchargé 48 fois
Size: 82,14 KiB
Type: image/png
Téléchargé 33 fois
Size: 64,74 KiB
Type: image/png
Téléchargé 37 fois
Size: 106,82 KiB