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:


Continue reading “Using Revit scope box to change intersecting elements parameters”

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 “Renumber rooms by level – Revit and Dynamo workflows explained”

Visualize Revit element orientation in Dynamo

Yet another small Dynamo node that may be handy if you need to watch for an element orientation. There are different use cases for this – like placing wall openings by doors & windows, or placing elements with preset rotation (e.g. stadium seating). What it does – is simply illustrates element’s facing orientation by drawing a line in Dynamo:

Each line starts from element location point, and indicates its facing orientation. Resulting lines could then be used to place elements or set rotation angles.

I packed this workflow into the custom node called FamilyInstance.VisualizeOrientation to make it reusable. If you’ve already installed my package, you’ll need to download the latest update (Rev.2017.5.25). Or simply follow this logic to build your own workflow:

FamilyInstance.VisualizeOrientationNode dynamo package update

An updated version of my Dynamo nodes package (rev.2017.5.19) is available at It’s now equipped with Railing.CountBalusters custom node, which is based on the “Railing.BalusterCount” node from Rhythm package. I had to rebuild the original node to get rid of the ‘false positives’ in resulting number of balusters. Below you can see the difference between these two nodes, and the numbers they show as an output:


I’ve tested the tweaked node on different railing types: horizontal, sloped, and curved, so it should work correctly.

Please note that Railing.CountBalusters can handle only one railing instance at a time, so do not try to feed a list of multiple elements into it.

I’m going to write a dedicated post to describe my node, and why did I have to rebuild it. In the meantime, you can download an updated package here: Zhukoven.com_(Rev.2017.5.19)  or via default Package Manager in Dynamo.

(UPDATE): here’s the link to the dedicated post about Revit railings: Count railing balusters in Revit with Dynamo

Create Revit workset by linked file with Dynamo (updated)

This little Dynamo graph may become handy If you use individual Revit worksets for each of the linked Revit files. While operating with linked files via worksets becomes super comfortable (you can even unload links before opening your Revit model), it becomes a pain to manually create separate worksets for each model.

This is where Dynamo will come in handy:


As you can see, the logic behing this graph is simple:

  1. Scan your current document for linked Revit files, and retrieve their names. This is done using package by Konrad K Sobon, so you’ll need to install it (if you haven’t already done this) before running the script;
  2. Then we cut off all the unnecessary symbols from the link names using the node “String.Split” and add our desired prefix via “String.Insert”;
  3. The last one node “Workset.ByName” is also listed in Archi-lab package and basically does the rest – creates worksets by the input list of names. Although I don’t check if some of the worksets already exist, it won’t give you errors or warnings.

Continue reading “Create Revit workset by linked file with Dynamo (updated)”