====== 03.2 Parameterüberschreibung ===== ===== Parameter aus Elementen filtern ===== Das nächste Beispiel zeigt die Möglichkeiten der Parameterüberschreibung für Elemente jeder Art. Dies kann bei monotonen Arbeitsschritten einen sehr effektiven Workflow entwickeln. Als Ausgang dient das letzte Beispiel für die [[Objekterstellung und parameterüberschreibung |Objekterstellung]]. Im vorliegenden Beispiel soll den Stützen eine entsprechende Feuerwiederstandsklasse zugeordnet werden. Anschließend sollen Material der Stütze und Feuerwiederstandsklasse im Kommentar zusammengefasst eingetragen werden. Als erstes wird dafür das Resultat des letzten Beispiels als Grundlage genommen. Alternativ kann es hier heruntergeladen werden: {{ rvt_dynamo:parameterüberschreibung.zip |Revitprojekt}} Anschließend wird das Revitprojekt "Parameterüberschreibung" geöffnet und Dynamo gestartet, sowie ein neues Skript angelegt. Es werden folgende Blöcke in das Projekt geladen: Block für eine Elementenauswahl. {{:rvt_dynamo:select.png?500|}} Block für eine Parameterausgabe. {{:rvt_dynamo:getpara.png?500|}} Block für eine Parameterüberschreibung. {{:rvt_dynamo:set.para.png?500|}} Block für eine Texteingabe. {{:rvt_dynamo:string.png?500|}} Im ersten Schritt wird ein Einblick in die vorhandenen Parameter eines Elementes gegeben. Dafür wird der Select Model Elements Ausgang mit dem Element.Parameters Eingang verbunden. {{:rvt_dynamo:p2con1.png?500|}} In Revit sollte man sich in einer Ansicht befinden, in der alle Stützen zu sehen sind. Durch klicken auf Select des Select Model Elements Blocks, wird zunächst eine Stütze markiert (durch gedrückt halten der linken Maustaste ein Markierungsfenster aufziehen). {{:rvt_dynamo:p2con2.png?500|}} Nach erfolgreichen markieren einer Stütze, kann man eine Auswahl im Block erkennen. {{:rvt_dynamo:p2con3.png?200|}} Durch Ausführen des Skriptes können alle Parameter des Objektes im darauffolgenden Block eingesehen werden. {{:rvt_dynamo:p2con4.png?500|}} Die ausgewählte Stütze besitzt 43 verschiedene Parameter. Bei der Bearbeitung/Überschreibung von Parametern ist auf zwei verschiedene Varianten zu achten. Das erste sind Parameter, die ohne Probleme überschreibbar sind. Sie beziehen sich meistens auf eine Eigenschaft des Elements und dienen somit als Grundlageninformation für intelligente Beschriftungen, Zusammenfassungen oder weitere Bereiche von intelligenten Verknüpfungen (Parameter: Kommentare, Kennzeichen, Brandschutzanforderung). Im Gegensatz dazu gibt es die read-only Parameter. Diese können zwar herausgelesen werden, jedoch ist ein überschreiben nicht möglich. Sie besitzten einen direkten Bezug auf andere Parameter und bilden so einen eigenen intelligenten Wert/Text. Einer dieser Parameter ist das Volumen. Es stellt die Abhängigkeit zu Länge, Breite und Höhe dar. Möchte man das Volumen direkt überschreiben ist dies nicht möglich, weil durch die Volumenänderung sich die jeweils anderen Bezugsparameter nicht mitändern. Ein Fehler entsteht. Das Gleichungssystem hätte drei unbekannte Variablen, welche im Produkt das Volumen ergeben, wodurch keine eindeutige Rückidentifizierung jedes einzelnen Parameters gewährleistet wird. Dynamo weist mit einer Fehlermeldung auf den Sachverhalt hin. Im Parameterfenster kann festgestellt werden, dass für das Volumen keine Veränderung stattgefunden hat(Volumen : 0,54 m³). {{:rvt_dynamo:p2con5.png?500|}} ===== Parameter überschreiben ===== Im nächsten Schritt findet die Überschreibung der Brandschutzanforderung statt. Dazu wir jeweils ein String Block mit den Eingängen parameterName und value verknüpft. Der obere Block definiert den gesuchten Parameter und bekommt den Wert "Brandschutzanforderung". Der untere Block zeigt an, was in den Parameter überschrieben werden soll. Es wird "F 60" eingetragen. Das Skript wird als Test für eine Stütze ausgeführt. {{:rvt_dynamo:p2con6.png?350|}} Eine Überprüfung kann in Revit erfolgen, wenn man die Eigenschaften der Stütze betrachtet. Alternativ kann eine Kontrolle über erneutes klicken des Run Buttons erfolgen, um die Änderungen im Element.Parameters Block nachzusehen. {{:rvt_dynamo:p2con7.png?700|}} Jetzt werden alle Stützen markiert und mit der Feuerwiederstandsklasse F 60 überschrieben. Es ist darauf zu achten, dass bei der Auswahl auch nur die überschriebenen Elemente ausgewählt werden. Hier empfiehlt sich die 3D-Ansicht. Sie blendet die Rasterlinien nicht mit ein und eignet sich daher für den Auswahlmodus. {{:rvt_dynamo:p2con8.png?500|}} Nach durchlaufen des Skriptes besitzen alle Stützen die entsprechende Brandschutzanforderung. Um Abwechslung für die folgenden Bearbeitungsschritte zu generieren werden nun alle innenliegenden Stützen mit der Klasse F 90 überschrieben. Dabei muss der untere String Block den Wert F 90 bekommen. Es werden nur die innenliegenden Stützen durch klicken auf Select markiert. {{:rvt_dynamo:p2con9.png?650|}} Um eine weitere Vielfältigkeit zu erzeugen, bekommen die 15 rechtsliegenden Stützen das Material "Beton - C 50/60" zugeschrieben. {{:rvt_dynamo:p2con10.png?800|}} Der Skriptabschnitt für die Brandschutzanforderung wird vorerst nicht mehr benötigt. Um Fehler bei zukünftigen Ausführen des visuellen Programmes zu vermeiden, bestehen drei Möglichkeien: 1. Ein neues Dynamo Projekt anlegen. Ist erst bei größeren Einzelskripten eine effiziente Methode, um den Überblick zu behalten. 2. Eine leere Auswahl des Select Model Elements. Nach dem klicken keine Elemente in Revit auswählen. {{:rvt_dynamo:p2con12.png?400|}} 3. Den Rechenprozess des Blocks Select Model Elements "freezen". So werden alle nachfolgenden Blöcke auch für die nächsten Durchläufe gesperrt. {{:rvt_dynamo:p2con11.png?500|}} Für die weitere Bearbeitung wurde sich für Option 3 entschieden. ===== Intelligente Parameterverkettung ===== An dieser Stelle werden wieder neue Blöcke benötigt und über die Bibliothek eingefügt: 3 x Block für eine Texteingabe. {{:rvt_dynamo:string.png?500|}} Block für die Namenserkennung eines Parameters. {{:rvt_dynamo:get.png?500|}} Block für die Namenserkennung des Materials. {{:rvt_dynamo:material.png?500|}} 2 x Block für die Verkettung von Wörtern. {{:rvt_dynamo:insert.png?500|}} Block für die Überschreibung eines Parameters. {{:rvt_dynamo:set.para.png?500|}} Das nächste Ziel ist es eine Textverkettung aus zwei unterschiedlichen Parametern zu erzeugen und diesen Wert in einen neuen Parameter zu bündeln. Dabei werden die Parameter "Brandschutzanforderung" und "Tragendes Material" durch folgenden Ausdruck " : " kombiniert und in den Parameter Kennzeichen ausgegeben. Im ersten Schritt wird das bestehende Skript markiert, mit Strg + c kopiert und mit Strg + v eingefügt. Der Freezemodus wird für das kopierte Skript deaktiviert und der untere String Block, sowie der Element.SetParameterByName Block gelöscht. {{:rvt_dynamo:p2con13.png?500|}} Die eingefügten Blöcke werden nun wie folgt miteinander verbunden. {{:rvt_dynamo:p2con14.png?1500|}} Das visuelle Programm läuft wie folgt ab: ^ Nummer ^ Funktion | ^ 1 |Einlesen der selektierten Elemente. | ^ 2 |Überprüfen der Parameter für ausgeführte Zwischenstände. | ^ 3 |Eingabe der Parameternamen, damit diese anschließend gefiltert werden. | ^ 4 |Parameterfilterung der Elemente und Ausgabe des entsprechenden Parameters. | ^ 5 |Herauslesen des Materialnamens. | ^ 6 |Eingabe des kombinierten Werts ( " : "). | ^ 7/8 |Block der den Eingang toInsert an die Stelle des Index des Eingangs str setzt. Index = 0 bedeutet unmittelbar vor den str Text. | ^ 9 |Namenseingabe des zu überschreibenden Parameters. | ^ 10 |Parameterüberschreibung mit dem kombinierten Text in den vorgegebenen Parameter.| Nach erfolgreichen verknüpfen der Blöcke kann das Skript für eine Stütze getestet werden. Der erfolgreiche Durchlauf gibt Sicherheit, das Skript auf alle Stützen anzuwenden. Es kann an der Stelle, an der alle vier Stützen mit verschiedenen Kennzeichnungen aneinander liegen, überprüft werden. {{:rvt_dynamo:p2con15.png?650|}} Damit ein übersichtliches Projekt entsteht, wird eine Gruppierung mit anschließender Layoutformatierung vorgenommen. Hinweis: Für die weitere Verwendung ist darauf zu achten, dass immer eines der Teilskripte eingefroren ist. {{:rvt_dynamo:p2con16.png?1000|}} Das Beispiel ist an dieser Stelle abgeschlossen und kann bei Bedarf heruntergeladen werden. {{ rvt_dynamo:parameterüberschreibung_.zip |Revitprojekt}} Das vollständige Potenzial von Dynamo ist längst nicht ausgeschöpft. Das Beispiel verdeutlicht, wie man mit Hilfe von Dynamo die Elementparameter eines Objekts filtert, kombiniert und überschreiben kann. Vorallem die Kombinationen mehrerer visueller Skripte können sich zu einem kreativem, spielerischem und zeitsparendem Workflow entwickeln. **Weiter zu** [[arbeiten über den dynamo player | Dynamo Player]]