ExporterIFCUtils Class

A class that contains utilities needed to implement Revit's version of the IFC export client application.
Inheritance Hierarchy
SystemObject
  Autodesk.Revit.DB.IFCExporterIFCUtils

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
 NameDescription
Public methodStatic memberAddClippingsToBaseExtrusion 
Public methodStatic memberAddValueString Adds a string value to a built-in parameter.
Public methodStatic memberAreSolidsEqual Determines whether two solids are identical, potentially offset from each other.
Public methodStatic memberCanExportWallGeometryAsExtrusion Identifies if the base geometry of the wall can be represented as an extrusion.
Public methodStatic memberCollectGeometryInfo(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 methodStatic memberCollectGeometryInfo(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 methodStatic memberComputeAreaOfCurveLoops 
Public methodStatic memberComputeRoofProjectedArea Returns the projected area of the room, unscaled.
Public methodStatic memberComputeSubcomponents Splits a roof or floor element composed of planar surfaces into a set of roughly vertical extruded loops of uniform depth if possible.
Public methodStatic memberCreateAlternateGUID Creates a GUID for the given element.
Public methodStatic memberCreateGUID Creates a randomized GUID.
Public methodStatic memberCreateProjectLevelGUID Creates a GUID from Revit project for given GUIDType.
Public methodStatic memberCreateSubElementGUID 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 methodStatic memberEndExportInternal Use the internal Revit implementation to relate elements at the end of export.
Public methodStatic memberExportExtrudedSlabOpenings 
Public methodStatic memberExportSlabAsExtrusion 
Public methodStatic memberGetAttachedColumns Obtains a list of columns known to Revit as intersecting with this wall.
Public methodStatic memberGetConnectedWalls Obtains the IFC-specific information regarding the connections between this wall and other elements.
Public methodStatic memberGetDoor2DArcsFromFamily Gets the arcs associated with the plan view of a door.
Public methodStatic memberGetElevationProfile Obtains the curve loops which bound the wall's elevation profile.
Public methodStatic memberGetGeometryFromInplaceWall Obtains a special snapshot of the geometry of an in-place wall element suitable for export.
Public methodStatic memberGetGlobal2DDirectionHandles Obtains the handles representing the cardinal directions in 2D.
Public methodStatic memberGetGlobal2DOriginHandle Obtains the handle representing the 2D origin.
Public methodStatic memberGetGlobal3DDirectionHandles Obtains the handles representing the cardinal directions in 3D.
Public methodStatic memberGetGlobal3DOriginHandle Obtains the handle representing the 3D origin.
Public methodStatic memberGetIFCClassNameObsolete.
Obtains the IFC class name associated to the given element for the current export.
Public methodStatic memberGetIFCClassNameByCategoryObsolete.
Obtains the IFC class name associated to a given category id for the current export.
Public methodStatic memberGetIFCTypeObsolete.
Obtains the IFC type associated to the given element for the current export.
Public methodStatic memberGetInstanceCutoutFromWall Gets the curve loop corresponding to the hole in the wall made by the instance.
Public methodStatic memberGetLegacyCurtainSubElements Gets the sub elements from a legacy curtain element.
Public methodStatic memberGetLegacyStairOrRampComponents Gets the components of a stair or ramp.
Public methodStatic memberGetLegacyStairsProperties Returns one or more properties for legacy (created in R2012 or before) Stairs.
Public methodStatic memberGetLevelIdByHeight Gets the level if by the height of the element.
Public methodStatic memberGetLoopsFromTopBottomFace 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 methodStatic memberGetMinSymbolHeight Obtains the minimum height of the given FamilySymbol.
Public methodStatic memberGetMinSymbolWidth Obtains the minimum width of the given FamilySymbol.
Public methodStatic memberGetNumBuildingStoreys Returns the number of non-empty, non-duplicate building stories in the file.
Public methodStatic memberGetOpeningData Gets the openings data from the element.
Public methodStatic memberGetOriginalSymbol Returns the original family symbol of this family instance, before the instance is modified by joins, cuts, coping, extensions, or other post-processing.
Public methodStatic memberGetRelativeLocalPlacementOffsetTransform Obtains the relative transform between two IfcLocalPlacement handles.
Public methodStatic memberGetRoofComponents Gets the components of roof slabs.
Public methodStatic memberGetRoomBoundaryAsCurveLoopArray Obtains the spatial element boundary curves as an array of CurveLoops, needed for processing into IFC-specific elements later.
Public methodStatic memberGetTransformForDoorOrWindow Obtains the transform for the door or window instance.
Public methodStatic memberGetUnscaledTransform Obtains the unscaled transform from an IfcLocalPlacement handle.
Public methodStatic memberGetUnscaledTransformWithoutFixOfDirection Obtains the unscaled transform from an IfcLocalPlacement handle without fix of direction.
Public methodStatic memberGetWallBaseOffset Obtains the base offset of the wall.
Public methodStatic memberGetWallTrimmedCurve Obtains the curve of the wall trimmed or extended according to the end conditions of the wall.
Public methodStatic memberHasElevationProfile Identifies if the wall has a sketched elevation profile.
Public methodStatic memberIsCurveFromOtherElementSketch 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 methodStatic memberIsCurveLoopConvexWithOpenings 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 methodStatic memberIsWallBaseRectangular Identifies if the wall's base can be represented by a direct thickening of the wall's base curve.
Public methodStatic memberIsWallCompletelyClipped Determines if the input wall is completely removed by interaction with other elements within the given range.
Public methodStatic memberIsWallJoinedToTop Checks if wall is joined to top.
Public methodStatic memberSetGlobal2DDirectionHandles Sets the handles representing the cardinal directions in 2D.
Public methodStatic memberSetGlobal2DOriginHandle Sets the handle representing the 2D origin.
Public methodStatic memberSetGlobal3DDirectionHandles Sets the handles representing the cardinal directions in 3D.
Public methodStatic memberSetGlobal3DOriginHandle Sets the handle representing the 3D origin.
Public methodStatic memberSortCurveLoops 
Public methodStatic memberTransformAndScalePoint Converts a point from global Revit coordinates to current IFC coordinates, including scale.
Public methodStatic memberTransformAndScaleVector Converts a vector from global Revit coordinates to current IFC coordinates, including scale.
Public methodStatic memberUsesInstanceGeometry Identifies if the family instance has its own geometry, or uses the symbol's geometry with a transform.
Public methodStatic memberValidateCurveLoops 
Top
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.
See Also