Class IfcExporter
- Namespace
- RvtIO.Ifc
- Assembly
- RvtIO.dll
The standard-case wall of an arc location curve the way the current profile writes it: the local placement at the start of the arc with X along the tangent there, the Axis as an IfcTrimmedCurve over an IfcCircle, trimmed to the origin and the end point, and the Body as the extrusion of the loop of the lower end face of the body whose circular edges are sampled by the profile sampler.
public class IfcExporterInheritance
Inherited Members
Constructors
IfcExporter(TextWriter?, bool)
Creates an exporter that writes diagnostics to diagnosticOutput (null for none) and, with includeRevitPropertySets, the Revit parameters as property sets.
public IfcExporter(TextWriter? diagnosticOutput = null, bool includeRevitPropertySets = false)Parameters
diagnosticOutputTextWriter?includeRevitPropertySetsbool
Properties
BaseQuantities
Whether every product that the current profile gives a quantity set receives an IfcElementQuantity "BaseQuantities". On by default for the current profile; products without a quantity description (pipes, fittings, valves, equipment, cables) are unaffected. Set it to false (CLI: --ifc-no-base-quantities) to leave the sets out.
public bool BaseQuantities { get; init; }Property Value
DiagnosticOutput
Receives the diagnostic messages of the export and of the parsers it runs; null (the default) is silent.
public TextWriter? DiagnosticOutput { get; set; }Property Value
ExportAllPhases
Exports the elements and the rooms of every phase, whatever the default of the profile (the elements of a demolished phase included). Ignored when RvtIO.Ifc.IfcExporter.ExportPhaseId is set.
public bool ExportAllPhases { get; init; }Property Value
ExportPhaseId
The phase whose state is exported: a project phase ID of the known phase order. Elements demolished at or before it, or created after it, are left out, and rooms follow it unless RvtIO.Ifc.IfcExporter.RoomExportPhaseId names another one. Null keeps the default of the profile: the last phase of the project for RvtIO.Ifc.IfcProfile.Current (see RvtIO.Ifc.IfcExporter.ResolveActivePhase(RvtIO.Model.RevitFileInfo)), no phase selection for RvtIO.Ifc.IfcProfile.Legacy.
public int? ExportPhaseId { get; init; }Property Value
- int?
ExportRoomsOfAllPhases
Keeps the rooms of every phase for the current profile, whose default is the rooms of the last phase of the project (see RvtIO.Ifc.IfcExporter.ResolveActiveRoomPhase(RvtIO.Model.RevitFileInfo)).
public bool ExportRoomsOfAllPhases { get; init; }Property Value
ExportedProducts
Products written by the last export, as counted in the "IFC export:" diagnostic line.
public int ExportedProducts { get; }Property Value
OpeningQuantitiesInHostAxes
The opposite of RvtIO.Ifc.IfcExporter.OpeningQuantitiesSwapped, kept so that code written against the earlier opt-in keeps compiling. True by default; set it to false to get the legacy swapped quantities (CLI: --ifc-opening-host-axes is accepted and does nothing).
public bool OpeningQuantitiesInHostAxes { get; init; }Property Value
OpeningQuantitiesSwapped
Write the legacy (swapped) Width and Height quantities of the opening of a door or window: Height the side of the cut loop along the wall and Width the vertical side, named by the frame they are measured in, so a door 0.8 wide and 2.1 high gets Height 0.8 and Width 2.1. Off by default: the opening of a door or window in a straight wall gets the quantities of the door or window as Revit has them, Width along the wall (the Width of the instance, else of its type), Height vertical (its Height) and Depth across the wall, whatever the direction of the wall in the model; an opening of a door or window that holds no dimension is measured as the extents of its solid in the frame of the wall (CLI: --ifc-opening-legacy-axes).
public bool OpeningQuantitiesSwapped { get; init; }Property Value
Profile
The IFC output dialect (see RvtIO.Ifc.IfcProfile); RvtIO.Ifc.IfcProfile.Current is the default and the primary target.
public IfcProfile Profile { get; init; }Property Value
RevitParameterGroups
With Revit property sets enabled, write built-in parameters under their public API Definition.Name in one property set per parameter group instead of the single RevitParameters set.
public bool RevitParameterGroups { get; init; }Property Value
RoomExportPhaseId
Optional native project phase ID for room selection only.
public int? RoomExportPhaseId { get; init; }Property Value
- int?
SkipLog
Receives the elements the export leaves out, with the class and the reason (see RvtIO.ExportReport). Null to collect nothing.
public SkipLog? SkipLog { get; init; }Property Value
Methods
Export(RevitFileInfo, string)
Writes the IFC file for info to outputPath.
public void Export(RevitFileInfo info, string outputPath)Parameters
infoRevitFileInfooutputPathstring
Export(RevitFileInfo, TextWriter)
Writes the IFC file for info to output.
public void Export(RevitFileInfo info, TextWriter output)Parameters
infoRevitFileInfooutputTextWriter