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.
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:
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): … Dynamo deletes previously placed elements after each run – workaround
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+
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?
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
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:
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):
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:
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.