DESITE MD PRO - Nachverarbeitung in der Kollisions- und Modellprüfung

Mithilfe von Nachverarbeitungsskripten können in DESITE anhand der Ergebnisse der Kollisions- und Modellprüfung Prozesse automatisiert oder z.B. Werte von Eigenschaften übertragen werden. Die generelle Funktionsweise von Nachverarbeitungsskripten (Programmiersprache: JavaScript) wird durch ein konkretes Beispiel im nachfolgenden LineLetter genauer erläutert.

Beispiel: 
Die Ergebnisse der Kollisionsprüfung (TGA vs. tragende Wände ARC) sollen anhand der Eigenschaft "Systemklassifizierung", welche an den TGA-Bauteilen zu finden ist, zur besseren Übersicht gruppiert werden.

1. Eigenschaft generieren [OPTIONAL] :

Entweder kann im Vorfeld eine neue Eigenschaft in der Domäne der Kollisionsprüfung angelegt werden oder diese wird automatisch durch das Skript generiert. Neue Eigenschaften können für die unterschiedlichen Domänen (hier: Kollisionsprüfung) jeweils in der Spaltenkonfiguration hinzugefügt werden.


2. Nachverarbeitungsskript:

Die generelle API Dokumentation ist in der Thinkproject Online-Hilfe (in DESITE: oben links unter "i" / Info) zu finden. Für unser Beispiel werden grundsätzlich die 2 nachfolgenden Befehle benötigt:

desiteAPI.getPropertyValue: Liest einen Wert einer Eigenschaft aus

desiteAPI.setPropertyValue: Schreibt einen Wert in eine Eigenschaft


Dabei wird noch zwischen "Left", "Right" und "This" unterschieden:

desiteLeft.ID(): IDs der geometrischen Objekte aus der linken Prüfmenge (Geometrie-Domäne)

desiteRight.ID()IDs der geometrischen Objekte aus der rechten Prüfmenge (Geometrie-Domäne)

desiteThis.ID()IDs der Objekte aus "dieser" Domäne (hier: Ergebnisse der Kollisionsprüfung)


Zunächst soll die Eigenschaft "Systemklassifizierung" von den Objekten aus der linken Prüfmenge (hier: TGA) ausgelesen werden. Die Werte werden in eine neue (skriptinterne) Variable (hier "system") geschrieben. Zusätzlich muss zur eindeutigen Identifizierung der Datentyp der Eigenschaft "Systemklassifizierung"  (hier ein String also eine Zeichenkette) hinterlegt sein. Daraus ergibt sich nachfolgende Skript-Zeile:


var system = desiteAPI.getPropertyValue(desiteLeft.ID(), "Systemklassifizierung", "xs:string");


Die Werte, die in die skriptinterne Variable "system" geschrieben wurden, sollen nun in die Domäne der Kollisionsprüfung übertragen werden. Dafür wird der Befehl desiteAPI.setPropertyValue in Kombination mit desiteThis.ID() sowie Angaben zur neuen Variable (Name, Datentyp und Wert = Variable "system") benötigt:


desiteAPI.setPropertyValue(desiteThis.ID(), "MuM:System" , "xs:string", system);




Das Nachverarbeitungsskript wird automatisch bei der Berechnung  der Kollisionsprüfung mit ausgeführt.


3. Nach Eigenschaft "MuM:System" gruppieren:


Generell können Prüfergebnisse nach jeder sichtbaren Eigenschaft anhand der Hierarchie gruppiert werden. Das Vorgehen ist dabei immer gleich: Auf der nächsthöheren Hierarchieebene (hier: Prüflauf TGA -- Wände) in der Eigenschafts-Spalte (nach der gruppiert werden soll) in das Feld mit der rechten Maustaste klicken.  Im unteren Bereich des Menüs ist die Funktionalität zur Gruppierung zu finden. Dabei wird immer die Eigenschaft angezeigt, nach der die Gruppierung vorgenommen wird. 



Ergebnis:



Viel Spaß beim Ausprobieren!


© 03/2024 Mensch und Maschine acadGraph GmbH. Alle Rechte vorbehalten