Image by Autodesk

Dynamo 0.6.3

Create Annotation Tag

Create Annotation Tag node create any specified annotation in a current view. It will need to be fed Elements that are being tagged (tags will display these element’s information), tag location point and a tag type ID. Ability to specify location of the tag makes it more useful than standard Annotate>Tag All Revit tool.

Get Tagged Element Id

Get Tagged Element Id node will return a list of host Element Ids derived from input of annotation tags. If Wall Tags are inputted it will return a list of hosting Wall Ids. This is particularly useful when dealing with annotation.

Change Family Type

Change Family Type node will take an input of family instances and Family Type Ids that you want to change them into. This can be particularly helpful when cleaning up annotation and making sure that all tags are of correct type. It will work on any family type thus making it a universal tool.

Combine by Pattern

Combine by Pattern node uses a True/False (1/0) Boolean pattern to combine two lists of identical lengths. Its useful when trying to replace elements in a list for example “Null” values with an empty string like in an example below. Test the list for Null and use that as a pattern to replace all nulls with a different value.

Numbering Sequence with Skip

This component creates a series of numbers based on three inputs. Sequence length, sequence start and skip number. If input for sequence start is given as a single digit it will be padded with leading zeros as to always maintain a 3 digit number. Output of this node is a string and not a number. Skip number determines what number and its multiples of 10 will be omitted when creating the sequence.

Interference Report Parser

This component will parse the HTML report generated using the Interference Check tool in Revit. Its output will be a list of Element IDs (as strings for now) as well as Total Number of Clashes that were in the Report. Please make sure that you have installed BeautifulSoup and Regular Expression for Python for this component to work. You can use this component with Isolate in View component to isolate elements that caused the clashes. Please see the Isolate in View component description below.

GH Point to DY Point

This component converts a CSV (Comma Separated Values) file that contained a list of points exported from Grasshopper (use Panel to stream to CSV) into a list of Revit points. Keep in mind that any Data Tree structure from Grasshopper does not get translated thus your resultant list in Dynamo will be a flat list. Use Build Sublist nodes to create lists of lists and further process the data.

Workset ID from Element

This node returns a Workset ID that given elements currently is assigned to. This can be useful when assigning Worksets to elements to further verify if transaction was a successful one.


Get Worksets

This node will filter for all user created Worksets in the project and list their Name and ID number. This can be useful when setting elements Worksets since one usually needs to provide a Workset ID.


Isolate in View

This node when fed either ElementIds objects or ID’s in a form of a string will isolate those elements in a current active view. It’s a temporary isolation mode so use keyboard shortcut HR to un-hide all. It will also display the current view name.


Arc Radius

This node extracts a Radius from a curve(s).


Arc Length

This node will extract an Arc Length from curve(s).


Rotate Family

This node will rotate family instance given a rotation axis and angle. Keep in mind that unless you build some sort of a check into the angle input, it will rotate the family by a given angle every time you Run the definition.


Family Transform

This node extracts a transformation matrix from Family Instance. It is useful when trying to determine family’s orientation in relationship to some other coordinate system. Use Transform Basis nodes to extract X, Y, Z Vectors from family.


Unplace Redundant Rooms

This element will check for Redundant and Not Properly Enclosed Rooms and will delete them from the model. Keep in mind that it will not actually delete them from Revit Database, so they will still be available to be placed when Create Room command is used.


Delete Element(s)

This node will delete all elements that are fed into it, then display their ID when transaction was successful. It’s useful when cleaning a large Revit project of redundant/duplicate families. Delete process can be undone by exiting Dynamo and hitting Undo on the Revit ribbon.

Duplicate Item Indices

This node processes an input list and outputs a list of index numbers for duplicate items. This is useful when trying to split list into two separate lists: one with unique elements and one with duplicate elements. When coupled with Get From List can be used as list filter pattern to extract elements from other list.





  1. Sergio Cavadas says:

    Hi , I’m new to revit and can’t dind teh node Get Documents. Could you please point me in teh right direction to find it.

    Thanks a lot


  2. Jesse says:

    HI, I’m new to Dynamo and I am wanting to use something like this to place tags for devices in consistent locations throughout a project. How do I get the location coordinates to put into a list to be used like your script? Thanks!

    • It would be better to ask this question on a Dynamo Forum. Also, please provide a sample file, and images of your problem. It’s not possibly for anyone to help you without being able to reproduce your issue.

  3. Rajive says:


    I am trying to do a graph to delete all the imported line patterns. The graph gets all these elements but when I connect the delete node, it does not delete. It gives the following warning.
    Warning: One or more of the input types are not matching. Couldn’t find a version of Delete that takes arguments of type (__array)

    • Something is wrong with your input type. Please post more information, images, same files etc. I cannot answer this question without seeing what you are doing.

Leave a Comment