Spatial |
The SpatialElementGeometryCalculator type exposes the following members.
| Name | Description | |
|---|---|---|
| SpatialElementGeometryCalculator(Document) | Constructs a new calculator with default options for the geometry of spatial elements. | |
| SpatialElementGeometryCalculator(Document, SpatialElementBoundaryOptions) | Constructs a new calculator for the geometry of spatial elements. |
| Name | Description | |
|---|---|---|
| IsValidObject | Specifies whether the .NET object represents a valid Revit entity. |
| Name | Description | |
|---|---|---|
| CalculateSpatialElementGeometry | Compute the spatial element geometry and returns the boundary face information. | |
| CanCalculateGeometry | This indicates whether the input spatial element is a valid one. | |
| Dispose | Releases all resources used by the SpatialElementGeometryCalculator | |
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) | |
| GetHashCode | Serves as the default hash function. (Inherited from Object) | |
| GetOptions | The options that control the calculation. | |
| GetType | Gets the Type of the current instance. (Inherited from Object) | |
| IsRoomOrSpace | This indicates whether the input spatial element is a room or a space. | |
| ToString | Returns a string that represents the current object. (Inherited from Object) |
// Calculate a room's geometry and find its boundary faces SpatialElementGeometryCalculator calculator = new SpatialElementGeometryCalculator(doc); SpatialElementGeometryResults results = calculator.CalculateSpatialElementGeometry(room); // compute the room geometry Solid roomSolid = results.GetGeometry(); // get the solid representing the room's geometry foreach (Face face in roomSolid.Faces) { double faceArea = face.Area; IList<SpatialElementBoundarySubface> subfaceList = results.GetBoundaryFaceInfo(face); // get the sub-faces for the face of the room foreach (SpatialElementBoundarySubface subface in subfaceList) { if (subfaceList.Count > 1) // there are multiple sub-faces that define the face { double subfaceArea = subface.GetSubface().Area; // get the area of each sub-face // sub-faces exist in situations such as when a room-bounding wall has been // horizontally split and the faces of each split wall combine to create the // entire face of the room } } }