zhukoven

Dynamo deletes previously placed elements after each run - workaround

If you need to iteratively place multiple Revit elements with Dynamo, like these stadium chairs, then you are in trouble. The problem comes from element binding - a Dynamo feature which preserves the link between DesignScript and Revit elements during the current Dynamo session. This is how Dynamo works by design, preventing your model from an avalanche of element duplicates, created in 'Auto' mode:

DynamoBindingOn

Either you run the graph in 'Auto' mode (like in the figure above), or re-run the graph manually, Dynamo places new elements while removing previously created ones. This kind of behaviour sounds pretty logical and straightforward - look what you'll get if there's no element binding at all (using one of the workarounds):   Continue reading...

zhukoven

WhatsApp Dynamo package is now available for download

Today I released my tiny WhatsApp Dynamo package, and it's now available for download and testing @ dynamopackages.com. WhatsAppDynamo provides integration with WhatsApp Web platform, allowing you to send text data (like URLs, file paths, parameter names, etc.) using Dynamo. Note that due to the platform limitations,…

Continue reading...
zhukoven

Using Dynamo to send WhatsApp messages (proof of concept)

Today a lot of companies and AEC professionals use cloud messengers and productivity tools to organize projects and enhance collaboration. Some of these tools have an API to interact with (Trello, Slack, Asana, for instance), making them suitable for instant information delivery. If you use one of the above mentioned tools, you're lucky! Dynamo community has already introduced a couple of packages that may streamline your data flow:

But what about WhatsApp? Unfortunately, it doesn't provide us with the official API, but it has a web version that recognizes special URLs. These URLs could be compiled inside Dynamo in  appropriate format, and used to notify your teammates of some significant project issues!

Continue reading...
zhukoven

Unable to apply scope box to Revit view

Yet another post about Revit weirdness... Struggling with setting scope boxes to multiple views via Dynamo, I noticed that some of the views returned the "null" values. I opened the view that had a "null" value, and saw that the "Scope Box" parameter was grayed out:

ScopeBox grayed out

The reason for this weird behaviour is simple: it turned out that Scope Box parameter becomes read-only if you modify the Crop Cregion sketch. Since the Revit Scope Box is a cube, it can't be applied to those views that have non-rectangular Crop Region!

Continue reading...
zhukoven

Count railing balusters in Revit with Dynamo

Counting something in Revit seems pretty easy, right? You're able to extract lots of parameters from different element categories out of the box, and use them to create schedules or count quantities. This concept works great until you get to the system families. They usually make you scratch your head and turn your eyes towards Dynamo to get things done...

Say, we want to schedule the number of balusters by railing types. How are we supposed to count things like this?

Railings

The first thing that comes in mind - is to create a Railing schedule and check out available fields. And that's when the first obstacle comes in your way: there's no such thing as "Baluster" in the railing schedule:

[gallery ids="478,479" type="rectangular"]

The next step is to check railing instance or type parameters. Still, nothing useful here but baluster placement, that obviously can't help us count the number of elements. Well, what if we check out available parameters in Dynamo?

Continue reading...
zhukoven

Zhukoven.com dynamo package update brings Navisworks SearchSet XML creator

An updated version of my Dynamo nodes package (rev.2017.6.2) is now live at Dynamopackages.com. This version contains the Dynamo node that builds a Navisworks search set XML from the input data:

Navisworks.CreateSearchSet

Based on the original code by Luke Johnson from What Revit Wants (Bakery package), this node gives you the freedom in Navisworks XML file creation. You're able to specify the Navisworks Search Set name & group, and choose which Navisworks parameter you're going to use. This XML file stores data in the structured way that could be easily read by Navisworks. This means that you can use the power of Dynamo to automate your Navis searches, and even set the rules that couldn't be otherwise done without workarounds. Continue reading...

zhukoven

Using Revit scope box to change intersecting elements parameters

Scope Boxes in Revit are very handy when dividing building into separate blocks. You can set these scope boxes in view properties, or even in view templates, and get cropped views in a matter of seconds. Yet there's another handy thing that could be used to boost your productivity: the "Name" parameter, which by the way is the single available parameter of the scope box. So how can we use it?

Say, we'd like to divide our Revit model into blocks, using some distinctive names: "Block A", "Block B", etc. Using the named scope boxes, we can set this name to all desired elements that intersect the scope box:

SetParameterValuesByScopeBox.dyn

Continue reading...
zhukoven

Renumber rooms by level - Revit and Dynamo workflows explained

Our architect asked me recently, if it's possible to add the level prefix to room numbers in Revit. Assuming that the building is relatively large, this is certainly the task that requires automation. However, this could also be done in a semi-automatic way via the Revit room schedule... So let's take a look at both Revit and Dynamo workflows, and see the difference between them.

Revit semi-automatic renumbering

  • Create Room schedule with the following fields: Number, Name, Level, Shared parameter (RoomLevel in our case):
RoomSchedule
Continue reading...