ExporterIFCUtils
Description:
A class that contains utilities needed to implement Revit's version of the IFC export client application.
A class that contains utilities needed to implement Revit's version of the IFC export client application.
Remarks:
This class contains special API utilities needed to enable the implementation of the client application for IFC export. Some of these utilities will be needed temporarily while the code for IFC export is migrated into the export client. These temporary interfaces are likely to change in upcoming Revit releases.
This class contains special API utilities needed to enable the implementation of the client application for IFC export. Some of these utilities will be needed temporarily while the code for IFC export is migrated into the export client. These temporary interfaces are likely to change in upcoming Revit releases.
Inheritance Hierarchy:
System.Object
Autodesk.Revit.DB.IFC.ExporterIFCUtils
System.Object
Autodesk.Revit.DB.IFC.ExporterIFCUtils
public static class ExporterIFCUtils
| Name | Return Type | Description |
|---|---|---|
| AddClippingsToBaseExtrusion(ExporterIFC, Wall, XYZ, IFCRange, IFCRange, IFCAnyHandle, IList<IFCExtrusionData>) | IFCAnyHandle | |
| AddValueString(Element, ElementId, String) | None | Adds a string value to a built-in parameter. |
| AreSolidsEqual(Solid, Solid, Transform%) | bool | Determines whether two solids are identical, potentially offset from each other. |
| CanExportWallGeometryAsExtrusion(Element, IFCRange, Curve) | bool | Identifies if the base geometry of the wall can be represented as an extrusion. |
| CollectGeometryInfo(ExporterIFC, IFCGeometryInfo, GeometryObject, XYZ, Boolean) | None | Collects all the target geometry from the input geometry object and adds it as IFC handles to the IFCInfo. |
| CollectGeometryInfo(ExporterIFC, IFCGeometryInfo, GeometryObject, XYZ, Boolean, Transform) | None | Collects all the target geometry from the input geometry object and adds it as IFC handles to the IFCInfo. |
| ComputeAreaOfCurveLoops(IList<CurveLoop>) | double | |
| ComputeRoofProjectedArea(Element) | The projected area. | Returns the projected area of the room, unscaled. |
| ComputeSubcomponents(HostObject) | IList<HostObjectSubcomponentInfo> | Splits a roof or floor element composed of planar surfaces into a set of roughly vertical extruded loops of uniform depth if possible. |
| CreateAlternateGUID(Element) | The guid string. | Creates a GUID for the given element. |
| CreateGUID() | The guid string. | Creates a randomized GUID. |
| CreateProjectLevelGUID(Document, IFCProjectLevelGUIDType) | The guid string. | Creates a GUID from Revit project for given GUIDType. |
| CreateSubElementGUID(Element, Int32) | The guid string. | Creates a consistent GUID for an IFC entity related to a Revit element. A "related" sub-element is one that is unique for a given type of element, and can therefore by identified by a simple index value (e.g. PSet_Wall_Common property set for a wall. |
| EndExportInternal(ExporterIFC) | None | Use the internal Revit implementation to relate elements at the end of export. |
| ExportExtrudedSlabOpenings(ExporterIFC, Element, IFCLevelInfo, IFCAnyHandle, IList<IFCAnyHandle>, IList<IList<CurveLoop>>, Plane, IFCProductWrapper) | None | |
| ExportSlabAsExtrusion(ExporterIFC, Element, GeometryElement, IFCTransformSetter, IFCAnyHandle, IList<IFCAnyHandle>, IList<IFCAnyHandle>, IList<IList<CurveLoop>>, IList<IFCExtrusionCreationData>, Plane) | bool | |
| GetAttachedColumns(Wall) | The columns found. | Obtains a list of columns known to Revit as intersecting with this wall. |
| GetConnectedWalls(Wall, IFCConnectedWallDataLocation) | The connection information. | Obtains the IFC-specific information regarding the connections between this wall and other elements. |
| GetDoor2DArcsFromFamily(Family) | The arcs. | Gets the arcs associated with the plan view of a door. |
| GetElevationProfile(Wall) | IList<CurveLoop> | Obtains the curve loops which bound the wall's elevation profile. |
| GetGeometryFromInplaceWall(FamilyInstance) | nullNothingnullptr | Obtains a special snapshot of the geometry of an in-place wall element suitable for export. |
| GetGlobal2DDirectionHandles(Boolean) | IList<IFCAnyHandle> | Obtains the handles representing the cardinal directions in 2D. |
| GetGlobal2DOriginHandle() | The handle. | Obtains the handle representing the 2D origin. |
| GetGlobal3DDirectionHandles(Boolean) | IList<IFCAnyHandle> | Obtains the handles representing the cardinal directions in 3D. |
| GetGlobal3DOriginHandle() | The handle. | Obtains the handle representing the 3D origin. |
| GetIFCClassNameByCategory(ElementId, ExporterIFC) | string | Obtains the IFC class name associated to a given category id for the current export. |
| GetIFCClassName(Element, ExporterIFC) | string | Obtains the IFC class name associated to the given element for the current export. |
| GetIFCType(Element, ExporterIFC) | string | Obtains the IFC type associated to the given element for the current export. |
| GetInstanceCutoutFromWall(Document, Wall, FamilyInstance, XYZ%) | CurveLoop | Gets the curve loop corresponding to the hole in the wall made by the instance. |
| GetLegacyCurtainSubElements(Element) | The element array. | Gets the sub elements from a legacy curtain element. |
| GetLegacyStairOrRampComponents(ExporterIFC, Element) | IFCLegacyStairOrRamp | Gets the components of a stair or ramp. |
| GetLegacyStairsProperties(ExporterIFC, Element, Int32%, Int32%, Double%, Double%, Double%, Double%, Double%) | None | Returns one or more properties for legacy (created in R2012 or before) Stairs. |
| GetLevelIdByHeight(ExporterIFC, Element) | The level id. | Gets the level if by the height of the element. |
| GetLoopsFromTopBottomFace(ExporterIFC, Wall) | IList<CurveLoop> | Gets the curve loop(s) that represent the bottom or top face of the wall, usable to create an extrusion for the wall geometry. |
| GetMinSymbolHeight(FamilySymbol) | The minimum height. | Obtains the minimum height of the given FamilySymbol. |
| GetMinSymbolWidth(FamilySymbol) | The minimum width. | Obtains the minimum width of the given FamilySymbol. |
| GetNumBuildingStoreys(ExporterIFC) | int | Returns the number of non-empty, non-duplicate building stories in the file. |
| GetOpeningData(ExporterIFC, Element, Transform, IFCRange) | The opening data. | Gets the openings data from the element. |
| GetOriginalSymbol(FamilyInstance) | The original FamilySymbol. | Returns the original family symbol of this family instance, before the instance is modified by joins, cuts, coping, extensions, or other post-processing. |
| GetRelativeLocalPlacementOffsetTransform(IFCAnyHandle, IFCAnyHandle) | Transform | Obtains the relative transform between two IfcLocalPlacement handles. |
| GetRoofComponents(ExporterIFC, RoofBase) | The roof components. | Gets the components of roof slabs. |
| GetRoomBoundaryAsCurveLoopArray(SpatialElement, SpatialElementBoundaryOptions, Boolean) | IList<CurveLoop> | Obtains the spatial element boundary curves as an array of CurveLoops, needed for processing into IFC-specific elements later. |
| GetTransformForDoorOrWindow(FamilyInstance, FamilySymbol, Boolean, Boolean) | The transform. | Obtains the transform for the door or window instance. |
| GetUnscaledTransform(ExporterIFC, IFCAnyHandle) | The transform. | Obtains the unscaled transform from an IfcLocalPlacement handle. |
| GetWallBaseOffset(Wall) | double | Obtains the base offset of the wall. |
| GetWallTrimmedCurve(Wall) | Curve | Obtains the curve of the wall trimmed or extended according to the end conditions of the wall. |
| HasElevationProfile(Wall) | bool | Identifies if the wall has a sketched elevation profile. |
| IsCurveFromOtherElementSketch(CurveElement) | bool | Identifies if the given curve element is generated by another element's sketch, or if it represents an independent curve element accessible directly by the user. |
| IsCurveLoopConvexWithOpenings(CurveLoop, Wall, IFCRange, Boolean%) | bool | Checks if the region bounded by the input curve loop can be represented as the subtraction of 0 or more convex polygons from a base convex polygon. |
| IsWallBaseRectangular(Wall, Curve) | bool | Identifies if the wall's base can be represented by a direct thickening of the wall's base curve. |
| IsWallCompletelyClipped(Wall, ExporterIFC, IFCRange) | bool | Determines if the input wall is completely removed by interaction with other elements within the given range. |
| IsWallJoinedToTop(Wall) | bool | Checks if wall is joined to top. |
| SetGlobal2DDirectionHandles(Boolean, IFCAnyHandle, IFCAnyHandle) | None | Sets the handles representing the cardinal directions in 2D. |
| SetGlobal2DOriginHandle(IFCAnyHandle) | None | Sets the handle representing the 2D origin. |
| SetGlobal3DDirectionHandles(Boolean, IFCAnyHandle, IFCAnyHandle, IFCAnyHandle) | None | Sets the handles representing the cardinal directions in 3D. |
| SetGlobal3DOriginHandle(IFCAnyHandle) | None | Sets the handle representing the 3D origin. |
| SortCurveLoops(IList<CurveLoop>) | IList<IList<CurveLoop>> | |
| TransformAndScalePoint(ExporterIFC, XYZ) | XYZ | Converts a point from global Revit coordinates to current IFC coordinates, including scale. |
| TransformAndScaleVector(ExporterIFC, XYZ) | XYZ | Converts a vector from global Revit coordinates to current IFC coordinates, including scale. |
| UsesInstanceGeometry(FamilyInstance) | bool | Identifies if the family instance has its own geometry, or uses the symbol's geometry with a transform. |
| ValidateCurveLoops(IList<CurveLoop>, XYZ) | IList<CurveLoop> |