BVN Dynamo package v1.0.0 released

I am pleased to announce the latest release of the BVN Dynamo package v1.0.0, which is compatible with Revit 2017 and Dynamo 1.0.0. There have been substantial changes with how Dynamo operates, and it has been a mission to keep up to ensure that the nodes keep working as intended. Hopefully, now as we progress forward, we should see more robust performance.

Below is a list of nodes available in the current version, with hyperlinks to tutorials to demonstrate how they can be utilised. Since launching the BVN Dynamo package back in March 2015, the package has grown to 33 custom nodes with more still on the way. The package has five dependencies which will be installed when installing the BVN package:

  • Clockwork for Dynamo 0.9.x (0.90.6)
  • Ladybug (0.1.2)
  • LunchBox for Dynammo (2016.5.3)
  • Rhynamo (2016.5.3)
  • Steam Nodes (0.8.43)




  • AdaptiveComponent.FromExcel – Places an adaptive component family from an Excel spreadsheet with comma-separated points.
  • Area.ImportInstance – Places 3D import instance masses based on areas.
  • Family.FromExcel – Places a family by point and level from an excel file. Families will only be placed on a level if the Z value matches an existing Revit level.
  • Grid.FromExcel – Reads an excel file to generate grids.
  • Group.ByTypeAndLocation – Places a model or detail group based on group time and a location (point).
  • Level.Plane – Creates a plane from level(s).
  • Levels.FromExcel – Generates levels from an Excel spreadsheet.
  • Point.FromExcel – Creates a point from an Excel comma-separated string.
  • Room.ExportToRhino – Collects all rooms in the project and exports polycurves to a Rhino file. Ensure Rhino file is closed in order to write to it. WARNING: WHEN EXPORTING, RHYNAMO WILL OVER-WRITE THE RHINO FILE. ENSURE YOU WRITE TO A BLANK DOCUMENT.
  • Room.ImportInstance – Searches for rooms by a name (string) and places import instances volumes. The import instances are named the same as the room number it originated from. Useful if wanting to export a room/program massing model out to Rhino.


  • Door.RenumberByRoom – Renumbers doors based on ‘to’ room. If no ‘to’ room is present, it will use the ‘from’ room, e.g. external doors.
  • Room.AdjustUpperLimit – Extracts all rooms and adjusts upper limit so that its limit is the level above with zero limit offset.
  • Room.CentreLocation – Moves room to the centroid of the room. If the centroid is outside of the room boundary, the room will remain in its current position. Based on the script by Modelical.
  • Room.CreateUnplaced – Create unplaced rooms from a list of room names.
  • Room.RenameByArea – Renames apartment rooms (1Bed, 2Bed, etc.) based on the current area.
  • Room.RenameByModelGroup – Renames rooms based on the model group placed inside it. Useful for residential or healthcare projects where model groups are used, and the room name needs to be in sync with the model group.
  • Room.RenumberByModelCurve – Renumber rooms based on a model line drawn through rooms. Will only renumber rooms that intersect with the model line so that batch processing can be done.
  • Room.SetSEPP65Parameter – Reads an Excel file containing a list of complying SEPP65 apartment room numbers and then sets the Revit SEPP65_2 Hrs min shared parameter to True, with the rest False. The script will remove the first line from the Excel spreadsheet, i.e. the heading.
  • RoomTag.MoveToRoomLocation – Moves room tags to the room location point. Use the Room.CentreLocation node first before using this node. Based on the script by Modelical.


  • FilledRegion.Perimeter – Returns a filled region’s perimeter and will give you the option to filter-out line style from the calculations.




  • Filter.GetUnused – Extracts all the unused filters in your Revit project so that they can be purged.
  • ModelGroup.TypeCollector – Returns all the types (not instances) from all model groups in the project.




  • View.FromSun – Generated views from the sun to visually verify the results of a Ladybug’s SEPP65 ‘heat map’.
  • View.SetUnderlayToNone – Sets a view’s underlay to none.
  • View.SwitchTitleblock – Switches the title block family type located on a sheet. Sheet number series is a string which is the prefix of the sheets names to be modified, e.g. “B”.


  • SunSettings.GetTimesAndSunDirections – Needs to be combined with SunSettings.TimeZone. Unlike ‘SunSettings.SunDirections’ and ‘SunSettings.StartDateType’ this node will return all the dates and vectors for a solar study
  • SunSettings.TimeZone – Extracts the current time zone in hours relative to UTC. Since Dynamo converts all time and dates to UTC, this can be confusing. This node maintains the current time zone so that results can be verified easier.
  • View.Phases – Returns the current view’s phase.






  • IsInteger – Checks a list for input types and returns a Boolean value based on an integer. Useful when importing Excel values so that Dynamo can process them accordingly.
  • IsNumber – Checks a list for input types and returns a Boolean value based on a number.
  • IsString – Checks a list for input types and returns a Boolean value based on a string.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.