Hierarchy
Revit models are organized by File, Level, Category, and Type:- File - The Revit file (or linked model)
- Level - Building level/floor
- Category - Revit category (Walls, Doors, Windows, etc.)
- Type - Element type/family type
RevitObject Structure
RevitObject extends DataObject with these additional fields:Connector-Specific Fields
type- The element type name (e.g., “Basic Wall”, “Standard Door”)family- The family name (e.g., “Basic Wall”, “Door”)category- The Revit category (e.g., “Walls”, “Doors”, “Windows”)level- The level name this element is associated withlocation- A Point or Curve representing the element’s location
Properties
RevitObjectproperties contain:
- Instance Parameters - Element-specific parameter values
- Type Parameters - Type-level parameter values (shared across all instances of the type)
- Material Quantities - Material takeoff data (volume, area per material)
Proxies
Revit models use these proxy types:RenderMaterial
Material assignments for visual representation. Referenced by objects viaapplicationId.
Level
Level proxies encode level definitions (elevation, name). Objects reference levels via thelevel field and through Level proxy referencedIds.
Group
Group proxies encode Revit group memberships. Objects can belong to multiple groups.Info Fields
referencePointTransform
A 4x4 transformation matrix indicating the coordinate system transform applied to all model objects based on the selected reference point setting during publish.views
An array ofCamera objects from perspective 3D views in the Revit file. These represent saved view configurations.
Example: RevitObject
Invariants and Caveats
- No nested DataObjects - RevitObjects cannot contain other RevitObjects as direct children
- Geometry in displayValue - All visual geometry is in
displayValue - Level associations - Objects are associated with levels via the
levelfield and Level proxies - Linked models - Linked Revit models appear as separate File collections
- Type vs Instance -
typefield is the element type name, not the Revit TypeId - Properties hierarchy - Instance and Type parameters are nested under “Instance Parameters” and “Type Parameters” keys
How do I find all walls on a specific level?
How do I find all walls on a specific level?
You can filter by the
level field on RevitObjects, or use Level proxies. The level field is a string matching the level name. You can also traverse the collection hierarchy which organizes objects by level.What's the difference between family and type?
What's the difference between family and type?
- Family: The family name (e.g., “Basic Wall”, “Door”)
- Type: The specific type within that family (e.g., “Basic Wall - 200mm”, “Standard Door - 36in”)
Related Documentation
- Object Schema - Base object structure
- Proxy Schema - How proxies work