ExporterIFCUtils
A class that contains utilities needed to implement Revit’s version of the IFC export client application.
Inheritance Hierarchy
System.Object
Autodesk.Revit.DB.IFC.ExporterIFCUtils
Namespace: Autodesk.Revit.DB.IFC
Assembly: RevitAPIIFC (in RevitAPIIFC.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public static class ExporterIFCUtils
The ExporterIFCUtils type exposes the following members.
Methods
Name
Description
Public Method
Static Member
AddClippingsToBaseExtrusion
Public Method
Static Member
AddValueString
Adds a string value to a built-in parameter.
Public Method
Static Member
AreSolidsEqual
Determines whether two solids are identical, potentially offset from each other.
Public Method
Static Member
CanExportWallGeometryAsExtrusion
Identifies if the base geometry of the wall can be represented as an extrusion.
Public Method
Static Member
CollectGeometryInfo(ExporterIFC, IFCGeometryInfo, GeometryObject, XYZ, Boolean)
Collects all the target geometry from the input geometry object and adds it as IFC handles to the IFCInfo.
Public Method
Static Member
CollectGeometryInfo(ExporterIFC, IFCGeometryInfo, GeometryObject, XYZ, Boolean, Transform)
Collects all the target geometry from the input geometry object and adds it as IFC handles to the IFCInfo.
Public Method
Static Member
ComputeAreaOfCurveLoops
Public Method
Static Member
ComputeRoofProjectedArea
Returns the projected area of the room, unscaled.
Public Method
Static Member
ComputeSubcomponents
Splits a roof or floor element composed of planar surfaces into a set of roughly vertical extruded loops of uniform depth if possible.
Public Method
Static Member
CreateAlternateGUID
Creates a GUID for the given element.
Public Method
Static Member
CreateGUID
Creates a randomized GUID.
Public Method
Static Member
CreateProjectLevelGUID
Creates a GUID from Revit project for given GUIDType.
Public Method
Static Member
CreateSubElementGUID
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.) The index value 0 is reserved, as this would generate the GUID of the element itself. A listing of known sub-elements is contained in IFCSubElementEnums.cs; it is expected that this list would be maintained up-to-date, instead of passing arbitrary values into this function.
Public Method
Static Member
EndExportInternal
Use the internal Revit implementation to relate elements at the end of export.
Public Method
Static Member
ExportExtrudedSlabOpenings
Public Method
Static Member
ExportSlabAsExtrusion
Public Method
Static Member
GetAttachedColumns
Obtains a list of columns known to Revit as intersecting with this wall.
Public Method
Static Member
GetConnectedWalls
Obtains the IFC-specific information regarding the connections between this wall and other elements.
Public Method
Static Member
GetDoor2DArcsFromFamily
Gets the arcs associated with the plan view of a door.
Public Method
Static Member
GetElevationProfile
Obtains the curve loops which bound the wall’s elevation profile.
Public Method
Static Member
GetGeometryFromInplaceWall
Obtains a special snapshot of the geometry of an in-place wall element suitable for export.
Public Method
Static Member
GetGlobal2DDirectionHandles
Obtains the handles representing the cardinal directions in 2D.
Public Method
Static Member
GetGlobal2DOriginHandle
Obtains the handle representing the 2D origin.
Public Method
Static Member
GetGlobal3DDirectionHandles
Obtains the handles representing the cardinal directions in 3D.
Public Method
Static Member
GetGlobal3DOriginHandle
Obtains the handle representing the 3D origin.
Public Method
Static Member
GetIFCClassName
Obsolete.
Obtains the IFC class name associated to the given element for the current export.
Public Method
Static Member
GetIFCClassNameByCategory
Obsolete.
Obtains the IFC class name associated to a given category id for the current export.
Public Method
Static Member
GetIFCType
Obsolete.
Obtains the IFC type associated to the given element for the current export.
Public Method
Static Member
GetInstanceCutoutFromWall
Gets the curve loop corresponding to the hole in the wall made by the instance.
Public Method
Static Member
GetLegacyCurtainSubElements
Gets the sub elements from a legacy curtain element.
Public Method
Static Member
GetLegacyStairOrRampComponents
Gets the components of a stair or ramp.
Public Method
Static Member
GetLegacyStairsProperties
Returns one or more properties for legacy (created in R2012 or before) Stairs.
Public Method
Static Member
GetLevelIdByHeight
Gets the level if by the height of the element.
Public Method
Static Member
GetLoopsFromTopBottomFace
Gets the curve loop(s) that represent the bottom or top face of the wall, usable to create an extrusion for the wall geometry.
Public Method
Static Member
GetMinSymbolHeight
Obtains the minimum height of the given FamilySymbol.
Public Method
Static Member
GetMinSymbolWidth
Obtains the minimum width of the given FamilySymbol.
Public Method
Static Member
GetNumBuildingStoreys
Returns the number of non-empty, non-duplicate building stories in the file.
Public Method
Static Member
GetOpeningData
Gets the openings data from the element.
Public Method
Static Member
GetOriginalSymbol
Returns the original family symbol of this family instance, before the instance is modified by joins, cuts, coping, extensions, or other post-processing.
Public Method
Static Member
GetRelativeLocalPlacementOffsetTransform
Obtains the relative transform between two IfcLocalPlacement handles.
Public Method
Static Member
GetRoofComponents
Gets the components of roof slabs.
Public Method
Static Member
GetRoomBoundaryAsCurveLoopArray
Obtains the spatial element boundary curves as an array of CurveLoops, needed for processing into IFC-specific elements later.
Public Method
Static Member
GetTransformForDoorOrWindow
Obtains the transform for the door or window instance.
Public Method
Static Member
GetUnscaledTransform
Obtains the unscaled transform from an IfcLocalPlacement handle.
Public Method
Static Member
GetUnscaledTransformWithoutFixOfDirection
Obtains the unscaled transform from an IfcLocalPlacement handle without fix of direction.
Public Method
Static Member
GetWallBaseOffset
Obtains the base offset of the wall.
Public Method
Static Member
GetWallTrimmedCurve
Obtains the curve of the wall trimmed or extended according to the end conditions of the wall.
Public Method
Static Member
HasElevationProfile
Identifies if the wall has a sketched elevation profile.
Public Method
Static Member
IsCurveFromOtherElementSketch
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.
Public Method
Static Member
IsCurveLoopConvexWithOpenings
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.
Public Method
Static Member
IsWallBaseRectangular
Identifies if the wall’s base can be represented by a direct thickening of the wall’s base curve.
Public Method
Static Member
IsWallCompletelyClipped
Determines if the input wall is completely removed by interaction with other elements within the given range.
Public Method
Static Member
IsWallJoinedToTop
Checks if wall is joined to top.
Public Method
Static Member
SetGlobal2DDirectionHandles
Sets the handles representing the cardinal directions in 2D.
Public Method
Static Member
SetGlobal2DOriginHandle
Sets the handle representing the 2D origin.
Public Method
Static Member
SetGlobal3DDirectionHandles
Sets the handles representing the cardinal directions in 3D.
Public Method
Static Member
SetGlobal3DOriginHandle
Sets the handle representing the 3D origin.
Public Method
Static Member
SortCurveLoops
Public Method
Static Member
TransformAndScalePoint
Converts a point from global Revit coordinates to current IFC coordinates, including scale.
Public Method
Static Member
TransformAndScaleVector
Converts a vector from global Revit coordinates to current IFC coordinates, including scale.
Public Method
Static Member
UsesInstanceGeometry
Identifies if the family instance has its own geometry, or uses the symbol’s geometry with a transform.
Public Method
Static Member
ValidateCurveLoops
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.