Zhukoven Dynamo 2.3 package update and GitHub homepage

Current status

The recent 2021.2.27 update brings several breaking changes to the Zhukoven Dynamo package:

  1. Support for Dynamo 2.3:
    • Updated nodes library structure.
    • Fixed issues with broken Inputs and Outputs.
    • Improved nodes stability.
  2. Discontinued support for Dynamo 1.3.x due to the changes in file format (from XML to JSON).
  3. Zhukoven package now has a new “Home” on GitHub: https://github.com/zhukoven/DynamoZhukoven
Package versionTarget Dynamo versionTarget Revit versionSupport status
2021.2.27Dynamo 2.3.0Revit 2020.2.3✅ Current
2019.5.7Dynamo 1.3.3Revit 2017Discontinued
Package version compatibility

What’s next?

The next package updates will use a slightly different release naming scheme – Calendar versioning, which will replace the actual package publish date I’m using now (YYYY.MM.DD) with Major.Minor.Micro scheme based on the current year and month (i.e. 2021.2.1, 2021.2.2, etc).

I will be adding sample DYN files to the package’s Extras folder and document nodes library on GitHub.

And as always, if you found an issue, feel free to contact me – this time by opening an issue on GitHub: https://github.com/zhukoven/DynamoZhukoven/issues

Speckle.works now supports Dynamo

A couple of months ago I wrote about the tragic death of Flux.io – the service that allowed us to seamlessly exchange BIM data through the cloud.

One of the possible substitutes for Flux is the Speckle.works – an open source (MIT) data communication platform. Until recently it had only Grasshopper integration, and yesterday they published the very first alpha version of the Dynamo package.

For those of you missing the Flux, go ahead and download the package called “Speckle for Dynamo” from dynamopackages.com

Please note that this is still an alpha version, and there may be some issues. And in case you encounter any problems, don’t hesitate to report them @ GitHub or Speckle.Works.

Revit railing enhancements with Dynamo

Lately I’ve been working on some Revit railing enhancements. This is still work in progress, but some of the Dynamo nodes are already available online in my updated Zhukoven.com (rev.2017.8.17) package. Below you can see available railing Dynamo nodes (please note that currently all of these nodes support only one railing instance at a time):



Currently there’s no direct link between the railing element and its hosted balusters through the Revit API. So in order to get the baluster profile data, we have to explode railing geometry and extract surfaces. Output values are diameters / widths of baluster elements.



This node calculates the number of railing balusters. See this post that explains the logic: Count railing balusters in Revit with Dynamo



Check if the railing element is hosted, and get this host element as an output (if applicable).



Get the list of lines that form the railing path.



Get top rail element (instance) from the input railing instance.



Input railing instance to get its type, primary handrail type, secondary handrail type, and top rail type. The node returns null values if selected railing type doesn’t contain handrails.

Download an updated package (rev. 2017.08.17) from: Zhukoven.com

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, images and files are not currently supported – they could be sent only as a hyperlink.

Currently WhatsAppDynamo package consists of a single custom node called “WhatsApp.SendMessage”. This node creates a WhatsApp message (string) in appropriate format to be used in WhatsApp Web platform. As I’ve already said, images and files are not supported due to WhatsApp limitations. Input desired phone number or leave this field blank (“UsePhoneNumber” switch is set to ‘False’ by default) to choose your contact later in browser.

Omit any zeroes, brackets or dashes when adding the phone number in international format: ‘+001-(555)1234567‘ must be converted to ‘15551234567‘ . Also please keep in mind that this phone number must have an active account on WhatsApp, otherwise you won’t be able to send your message.

Please feel free to test the package, and report issues & bugs here: Dynamo packages. It supports Dynamo 1.3.0+ & Revit 2016+

Download links: WhatsAppDynamo_(Rev.2017.7.12)Dynamopackages.com

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?


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:

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?

Count railing balusters in Revit with Dynamo

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:


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. Zhukoven.com dynamo package update brings Navisworks SearchSet XML creator

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 zhukoven.com package, you’ll need to download the latest update (Rev.2017.5.25). Or simply follow this logic to build your own workflow:




Zhukoven.com dynamo package is live

To start with, I’d like to say that I’m not willing to build an all-in-one dynamo package, collecting everyone’s custom nodes. My intention is totally different: I’d like to share my ideas that cover some white spots in Revit and Dynamo. I mean that if I managed to find solution to one particular problem, that has not been solved yet on dynamo forums or somewhere else, why should I keep it in secret?

(drumrolls): Introducing the very first Dynamo package!

Well, while I’ve already published the first version – rev.2017.5.16 (and here’s the link to the dedicated packages page), it is still work in progress, and of course there are some unfinished nodes that I plan to include in the future releases. So stay tuned and enjoy! And don’t forget to report issues and your ideas via the contact form on dynamo packages page.