Revit. Parametrisierung. Neue Strategien, neue Funktionen, Gruppierung von Elementen, Vorfilter, Palette zum schnellen Starten und viel mehr

Heute haben wir die größte Aktualisierung sowohl in der Geschichte der Parametrisierung als auch, wohl, in der Geschichte eines jeden ModPlus-Plugins veröffentlicht!
In der neuen Version der Parametrisierung erwarten Sie neue Funktionen, neue Strategien, die Gruppierung von Elementen, die einzigartige Strategie ManyToMany, Vorfilter, eine Palette zum schnellen Starten, ein neues Design der Anweisung, neue Möglichkeiten des Formel-Editors und viel mehr. Über all das berichten wir im Folgenden, und wir empfehlen Ihnen sehr, diesen Artikel zu lesen
Anweisung
Inhalt und Design der Anweisung wurden stark überarbeitet: In der Anweisung finden Sie mehr Informationen zur Arbeitsweise des Plugins, die Kapitel sind jetzt logischer angeordnet, und im Text der Anweisung wurden Querverweise ergänzt. Das Design haben wir bereits im Titel-Screenshot gezeigt. Übrigens lässt sich die Anweisung jetzt nicht nur aus dem Formel-Editor starten, sondern auch aus dem Hauptfenster des Plugins – über den Einstellungsbereich.
Formeln und Formel-Editor
Im Formel-Editor wurden neue Möglichkeiten der Formelhervorhebung ergänzt:
- Funktionen lassen sich jetzt ein- und ausklappen. Auf die Formel hat das keinen Einfluss
- der Rumpf von Funktionen wird jetzt durch eine Hintergrundhervorhebung gekennzeichnet
Im Formel-Editor sind Tooltips für Funktionen erschienen. Wenn Sie den Cursor über einen Funktionsnamen bewegen, erscheint ihre Beschreibung, sodass Sie nicht mehr in die Anweisung schauen müssen, um sich an die Bedeutung der Argumente zu erinnern:

In Formeln können jetzt Kommentare geschrieben werden. Sie helfen, einen komplizierten Ausdruck für sich selbst oder für Kollegen zu erläutern, und erlauben es außerdem, einen Teil der Formel vorübergehend zu deaktivieren, ohne ihn zu löschen:

Funktionsnamen werden jetzt im Stil CamelCase geschrieben und nicht mehr in Großbuchstaben: CvIf statt CVIF, Round statt ROUND. Lange Namen lassen sich so deutlich leichter lesen. Die Groß- und Kleinschreibung in Funktionsnamen wird weiterhin nicht berücksichtigt, daher funktionieren bestehende Formeln unverändert weiter.
Die Zelle mit den Formeloptionen hat ein neues Design erhalten: die Optionen sind anschaulicher geworden und benötigen weniger Platz:

Neue Möglichkeiten der Formeln
Parameter der Projektinformationen und globale Parameter. In Formeln können jetzt die Werte der Parameter der Projektinformationen und der globalen Parameter verwendet werden. So lässt sich zum Beispiel die Projektnummer in Elemente schreiben oder ein einmal für das gesamte Projekt festgelegter Wert in einer Berechnung verwenden. Zum Einfügen sind im Formel-Editor eigene Schaltflächen erschienen:

Das Schlüsselwort SKIP_ELEMENT. Es erlaubt, ein Element direkt aus der Formel von der Verarbeitung auszuschließen. Das ist praktisch, wenn die Bedingung für das Überspringen schwer durch einen Filter auszudrücken ist, in der Formel aber in einer Zeile geschrieben wird:

Ausdrücke „Nur zur Prüfung“. Wenn Sie nach dem Zielparameter nicht =, sondern einen Vergleichsoperator (!=, >, <, >=, <=, ~, !~) setzen, funktioniert der Ausdruck nur im Modus Überprüfen. In diesem Modus wird der aktuelle Wert des Parameters mit dem Ergebnis der Berechnung des Ausdrucks verglichen, im Modus Ausführen wird der Ausdruck übersprungen. So lassen sich in einer Konfiguration sowohl das Ausfüllen von Parametern als auch die Prüfung des Modells halten. Solche Ausdrücke werden mit einem Symbol in der Formelzelle und im Formel-Editor gekennzeichnet:

Neue Operatoren „ist enthalten in“ und „ist nicht enthalten in“. In den Formeln sind zwei neue Operatoren erschienen: =| prüft, ob ein Wert in einer Liste enthalten ist, und !=| prüft, dass er nicht enthalten ist. Die Liste kann als Zeichenfolge über die Funktion List angegeben oder mit den Funktionen CcList und CrList aus einer Spalte oder Zeile der Datenquelle übernommen werden. Lange Bedingungsketten mit „oder“ sind nicht mehr nötig:

Neue Funktionen der Rückschreibung. Zu den Funktionen Sum und Join sind Min, Max, Avg, First und Last hinzugekommen. Jetzt lässt sich in das bedingte Ausgangselement nicht nur die Summe oder die Liste der Werte der verknüpften Elemente schreiben, sondern auch der minimale, maximale oder mittlere Wert sowie der erste oder der letzte.
Außerdem kann in das Ausgangselement jetzt ein Wert direkt geschrieben werden, mit einem Ausdruck der Form @[Parameter] = …. Zum Beispiel schreibt @[Anzahl der Zimmer] = GCount(t) in den Raum die Anzahl der ihm zugeordneten MEP-Räume.
Neue Funktionen
Die Liste der Funktionen ist deutlich gewachsen:
- Arbeit mit der Datenquelle (Excel-Datei): CvOr sucht die erste Zeile, in der mindestens eine der Bedingungen erfüllt ist, und CcMin, CcMax, CrMin und CrMax geben den minimalen und den maximalen Wert aus einer Spalte oder Zeile der Datenquelle zurück
- Arbeit mit Listen: Item gibt ein Listenelement nach Index zurück, FindItem gibt das erste Element zurück, das den gesuchten Wert enthält, und ItemIndex gibt den Index eines solchen Elements zurück
- Arbeit mit Zeichenfolgen: Trim entfernt Leerzeichen am Anfang und am Ende einer Zeichenfolge, RgxMatch prüft einen Wert auf Übereinstimmung mit einem regulären Ausdruck, und RgxReplace führt eine Ersetzung per regulärem Ausdruck durch
- Geometrie: TargetBottomZ, TargetTopZ, SourceBottomZ und SourceTopZ geben die Höhenkoten von Unterkante und Oberkante des Ziel- und des Ausgangselements zurück
- Sonstige: HasValue prüft, ob dem Parameter ein Wert zugewiesen wurde, DocTitle gibt den Titel des Dokuments zurück, und GetCurrentViewParameter gibt den Wert eines Parameters der Ansicht zurück, auf der die Verarbeitung ausgeführt wird
Eine ausführliche Beschreibung jeder Funktion mit Beispielen finden Sie in der Anweisung.
Neue Strategien
Neun neue Strategien wurden hinzugefügt:
- InAssembly — Verarbeitung von Elementen, die sich in Baugruppen befinden
- ViewSpecific — Verarbeitung von Elementen, die nur in einer Ansicht existieren: Bemaßungen, Textnotizen, Beschriftungen, Detaillinien und Detailbereiche sowie Inhalte von Plänen
- StairComponents — Verarbeitung von Treppenkomponenten: Läufe, Podeste, Auflager und Geländer. Bedingtes Ausgangselement ist die Treppe
- RoomOpenings — Verarbeitung von Türen und Fenstern, die in einen Raum führen. Bedingtes Ausgangselement ist der Raum
- RoomFinishing — Verarbeitung des Raumausbaus, der mit dem Plugin Raumausstattung erstellt wurde. Bedingtes Ausgangselement ist der Raum
- OnLevel — Verarbeitung von Elementen nach ihrer Bindung an eine Ebene
- LevelViews — Verarbeitung von Ansichten, die über eine Ebene erstellt wurden: Grundrisse, Deckenpläne, Tragwerkspläne und Flächenpläne
- RebarCouplers — Verarbeitung von Bewehrungsstäben, die durch eine Bewehrungskupplung verbunden sind. Bedingtes Ausgangselement ist die Kupplung
- ManyToMany — darüber berichten wir gesondert weiter unten
Die Strategie RoomBoundaries wurde überarbeitet: sie verarbeitet jetzt nicht nur die vertikalen, sondern auch die horizontalen Begrenzungselemente von Räumen.
Regeln können jetzt Namen erhalten. In einer Strategie mit einem Dutzend Regeln ist sofort klar, wofür welche Regel zuständig ist:

Vorfilter
Die Strategien haben Vorfilter erhalten. Ein Vorfilter schränkt die Elementmenge für alle Regeln der Strategie auf einmal ein. Er ersetzt die Filter der Regeln nicht, sondern wird zusammen mit ihnen angewendet: ein Element gelangt nur dann in die Verarbeitung, wenn es sowohl den Vorfilter als auch den Filter der Regel passiert.
So lassen sich im Vorfilter zum Beispiel die Kategorien „Wände“, „Tragende Stützen“ und „Tragwerk“ sowie der Parameter „Tragwerk“ festlegen. Dann arbeiten alle Regeln der Strategie nur mit den tragenden Elementen dieser Kategorien und wählen die Elemente darin bereits nach ihren eigenen Filtern aus. Früher hätte man dieselbe Bedingung in jeder Regel wiederholen müssen.
Wenn sich die Kategorien einer Regel nicht mit den Kategorien des Vorfilters überschneiden, warnt das Plugin, dass eine solche Regel kein einziges Element verarbeitet.

Gruppierung von Elementen und Aggregatfunktionen
Das ist eine der größten Neuerungen der Version. Für eine Regel lässt sich jetzt die Gruppierung der Zielelemente festlegen: Elemente mit gleichem Wert, zum Beispiel desselben Typs oder derselben Beschriftung, werden zu einer Gruppe zusammengefasst. Für die Arbeit mit Gruppen wurden Aggregatfunktionen mit dem Präfix G hinzugefügt: GSum, GMin, GMax, GAvg, GCount, GJoin, GIndex. Außerdem wurde die Funktion Ranges hinzugefügt, die eine Liste von Nummern zu Bereichen zusammenfasst: „1-3, 5-7, 10“.
Mit der Gruppierung lässt sich zum Beispiel in jeden Luftkanal die Gesamtfläche aller Luftkanäle desselben Typs schreiben, die Elemente innerhalb einer Gruppe nummerieren oder in einer Zeichenfolge die Nummern aller Räume sammeln, in denen Elemente mit derselben Beschriftung vorkommen. Gruppen lassen sich sortieren, und Werte können ohne Berücksichtigung der Groß- und Kleinschreibung verglichen werden:

Die Strategie ManyToMany und die Zuordnung
Alle übrigen Strategien bilden ein Elementpaar über deren Beziehung im Modell: ein Element befindet sich in einem Raum, ist in eine Wand eingefügt, gehört zu einem System usw. ManyToMany funktioniert anders: sie verknüpft zwei unabhängige Elementmengen über die Übereinstimmung von Werten. Das klassische Beispiel sind Räume aus dem Architekturmodell und MEP-Räume aus dem Modell der technischen Anlagen. Die Räume haben den Parameter „Wohnungstyp“, die MEP-Räume „Zimmertyp“. Sie legen die Zuordnung @[Wohnungstyp] ↔ $[Zimmertyp] fest, und das Plugin findet die Paare selbst.
Um die Einstellung vor dem Start zu prüfen, verwenden Sie die Zuordnungsvorschau. Sie zeigt, welche Werte übereingestimmt haben, wie viele Ausgangs- und Zielelemente in jede Gruppe gelangt sind und für welche Elemente kein Paar gefunden wurde. Unvollständige Gruppen werden zuerst ausgegeben, daher sind Probleme sofort sichtbar.

Palette
Es wurde eine Palette zum schnellen Starten der Strategien und Regeln der aktuellen Konfiguration hinzugefügt. Wenn Sie regelmäßig dieselbe Strategie oder eine einzelne Regel ausführen, müssen Sie das Hauptfenster des Plugins nicht mehr öffnen: sie lassen sich direkt aus der Palette starten:

Konfigurationen
Konfigurationen lassen sich jetzt zu Gruppen zusammenfassen. Wenn Sie Dutzende Konfigurationen für verschiedene Fachbereiche und Objekte haben, wird es deutlich einfacher, die gesuchte zu finden:

Der Zustand der Kontrollkästchen „Ausgewählt“ bei Strategien und Regeln wird jetzt in einer separaten Datei gespeichert. Daher ändert die vor dem Start getroffene Auswahl die Konfiguration selbst nicht mehr. Das ist besonders praktisch, wenn eine Konfiguration von mehreren Personen bei Verwendung der Organisationseinstellungen genutzt wird.
Synchronisierung vor dem Start
In den Einstellungen des Plugins ist die Option Vor dem Start nach Synchronisierung mit dem Zentralmodell fragen erschienen. Ist sie aktiviert und das Dokument ein Gemeinschaftsprojekt, schlägt das Plugin vor der Verarbeitung vor, die Synchronisierung mit dem Zentralmodell durchzuführen. Die Synchronisierungsparameter entsprechen dem Standarddialog von Revit: Verdichten, Freigeben von Elementen und Bearbeitungssätzen, Speichern der lokalen Datei. Die Abfrage funktioniert auch beim Start aus der Palette.
Ergebnisfenster und schrittweise Berechnung
- Hat ein Ergebnis weniger als vier verschachtelte Objekte, wird es automatisch ausgeklappt
- Für Strategien wird jetzt die Anzahl der Regeln angezeigt, in denen verarbeitete Ausdrücke vorhanden sind
- In der schrittweisen Berechnung wurde die Hervorhebung der Kommas entfernt, die mehr gestört als geholfen hat
Weitere Verbesserungen
- Die Verarbeitung des Parameters „Stromkreisnummer“ wurde hinzugefügt
- Hat ein Element mehrere Parameter mit demselben Namen, meldet das Plugin jetzt einen Fehler und nimmt nicht den ersten gefundenen Parameter. Früher konnte in einer solchen Situation unbemerkt der falsche Parameter gelesen oder geschrieben werden
- Verschiedene in der Vorgängerversion gefundene Fehler wurden behoben
Und selbst bei einer so großen Aktualisierung haben wir noch Ideen für die nächsten Aktualisierungen! Vergessen Sie daher nicht, uns Ihre Vorschläge in unserem Support-Chat zu schreiben!
Viel Freude bei der Arbeit mit ModPlus!