Filter Element List by Revit Z Value

This node takes a list of Revit points (feet, XYZ format), unpacks the Z values, converts to mm, and then filters an input list by a given benchmark value.

So, if you know that 90% of your Grids are set correctly with a -300mm lower Grid Z extent, place -300 in the input benchmark value, and you will get a list of ‘not matching’ elements. This allows quick checking of Grid extents that may be inconsistent.

Get Grid Extents

This node uses Python and the Revit API to extract the outline object from each Grid element, and then get the minimum and maximum points from those outline objects. These points are delivered in Revit API format: units are feet, comma separated XYZ.

Family Instance By Point in Transaction

Some family placement nodes consume previously placed families if run with List.Map. This node was adapted from Clockwork, and it just wraps a ‘Family by Point’ command to ensure that each list of points is processed in a separate placement transaction in Revit.

Credit to Dimitar Venkov for the assist.

BVN Node Index

Package maintained by user winston1980. He has created his own index to the BVN package at this link, which includes references to other posts.

AdaptiveComponent.FromExcel
Area.ElementCollector
Area.ImportInstance
Door.RenumberByRoom
Family.FromExcel
FilledRegion.Perimeter
Filter.GetUnused
Grid.FromExcel
Group.ByTypeAndLocation
IsInteger
IsNumber
IsString
Level.Plane
Levels.FromExcel
List.SortSublists
List.SortSynchronously
ModelGroup.TypeCollector
Point.FromExcel
Room.AdjustUpperLimit
Room.CentreLocation
Room.CreateUnplaced
Room.ExportToRhino
Room.ImportInstance
Room.RenameByArea
Room.RenameByModelGroup
Room.RenumberByModelCurve
Room.SetSepp65Parameter
RoomTag.MoveToRoomLocation
SunSettings.GetTimesAndSunDirections
SunSettings.TimeZone
View.Phase
View.SetUnderlayToNone
View.SwitchTitleblock