Pagina's op IkLeerBIM

vrijdag 18 mei 2018

Mirrored elements in your BIM

Just a little Dynamo script to find mirrored elements in Revit. And change a parameter if you like.

There are some discussions on mirrored elements in Revit. Revit doesn’t show them natively. Furthermore In the real world mirrored doesn’t exist. But your digital BIM isn’t the real world. So are we doubling are efforts and time to actually model every mirrored element again but mirrored. Or are we using the hidden treasures.

And of course safety first. Write a date to your project information. So everybody would know if mirrored is being checked.



The core of this script is little Python:

lstIN = UnwrapElement(IN[0])
lstOUT = list()
for item in lstIN:
try:
lstOUT.append(item.Mirrored)
except:
lstOUT.append(None)
OUT = lstOUT

Stil we would love a real time solution from Autodesk itself. Or a real time Addin.
Perhaps more news later. keep an eye on #PropertyWizard.

You can download with this link
Have fun, but use at your own risk.

2 opmerkingen:

Simon Weel zei

Handige tool!... als ik wist hoe het werkt? Als ik de Dynamo script uitvoer, dan zegt 'ie 'Run completed', maar waar vind ik het resultaat?

Siem Weel

Teun zei

Beste Siem,
Excuses voor mijn late reactie.
Hopelijk heb je zelf je antwoorden al gevonden… Het script staat standaard UIT want het bevat 2 varianten die ongeveer hetzelfde doen en die wil je niet tegelijk laten lopen. Ik zal vertellen hoe je het script kan laten werken. Maar als het onderstaande te onduidelijk is, kan je beter hulp vragen van een collega die hier wat meer gevoel bij heeft!

Pak een test project. En sla alles eerst op voordat je een Dynamo script start. Safety first!

Als je het script in Manual Mode opent in Dynamo zie je Nodes die doorzichtig zijn met een stippellijn rondom. Dat betekend dat ze “uit” gezet zijn (en daarmee de rest in de door gekoppelde reeks vanaf die Node). Selecteer de eerste uitgezette Node in een reeks. Click de rechter muis knop en vink “Frozen” uit. Doe dit in eerste instantie alleen voor de Categories Node in het groene vlak.
Als je via de knop Run het script laat lopen krijg je een foutmelding. Er worden 2 Nodes geel. Ten teken dat het daar fout gaat. De Nodes heten Element.SetParameterByName. De ParameterName zelf is gekoppeld aan een Code Block met enkele uitgangen, en wat groene tekst. Daar staat aangegeven. Dat je een je (Shared) Instance (Project) Parameter nodig hebt met de naam Mirrored voor de Category Doors. (bij voorkeur met Values vary by Group Instance). Maak die aan in je project. En klik nogmaals op Run. Nu is de Parameter Mirrored in je Project veranderd bij elke Door.

Zet voor de gein Dynamo op Automatic en ga een Door spiegelen. Zie dat de waarde van de parameter Mirrored elke keer veranderd.

Het script in het oranje vak is uitgebreider en meer geavanceerd dan in het groene vlak. Zet eerst het script in het groene vak weer “uit” voordat je die in het oranje vak “aan” zet. Het lijkt misschien allemaal toveren maar het blijft uiteindelijk gewoon Revit wat je aanstuurt. Er worden alleen een hoop handelingen geautomatiseerd uitgevoerd. En je wilt natuurlijk niet tegelijk 2x de parameter Mirrored voor dezelfde objecten in Revit gaan aanpassen.

Goed we hebben allemaal via kleine stapjes leren lopen. Ga lekker testen met een eenvoudig en overzichtelijk test projectje totdat je snapt wat er allemaal gebeurt, ook bij het 2e uitgebreidere script in het oranje vak. Doe dit echt voordat je Dynamo scripts als deze bij echte projecten gaat toepassen! En sla alles op voordat je een Dynamo script start!
Have fun but use at own risk.

Populaire berichten

Zoeken in deze blog