OptionalapplicationApplication name (defaults to 'ifc-lite')
OptionalapplyApply mutations from MutablePropertyView (default: true if provided)
OptionalauthorAuthor name
OptionalauthorizationFILE_NAME authorization slot override. Omitted = the source header's
own authorization token, unchanged (see buildStepHeader); there was no
caller-facing way to override or blank it before this (#2934, part of the
anonymized-export header scrub — an unblanked authorization line would
leak whatever the source file's steward wrote there).
OptionaldeltaOnly export entities with mutations (delta export)
OptionaldescriptionFile description
OptionalfilenameOutput filename
OptionalgeorefGeoreferencing mutations to apply (IfcProjectedCRS / IfcMapConversion edits)
OptionalguidSeeded randomness for the GlobalIds this exporter SYNTHESIZES:
the IfcPropertySet / IfcElementQuantity roots regenerated for
mutated (or overlay-created) property and quantity sets, their
IfcRelDefinesByProperties links. Without it those come from the platform
CSPRNG, so two exports of the same model differ in exactly those bytes -
which breaks byte-reproducibility for in-store builds that call
addPropertySet / addQuantitySet (the sets themselves live in the
mutation overlay and only become IFC roots here). Pass the same seeded
source used for SpatialAnchor.guidRandom to close that gap. Default
(omitted) behaviour for THESE ids is unchanged: random.
NOT the IFCPROXY placeholders any more (#2733). Those used to be minted
from this source too, so an omitted guidRandom made every downgraded
IFC4X3 entity differ on re-export. They are now derived from the source
line when this is omitted, and only fall back to this source when it is
supplied - so passing a seeded source still pins them, but NOT passing one
no longer makes them random. See convertStepLine.
OptionalhiddenHidden entity IDs (local expressIds) — required when visibleOnly is true
OptionalincludeInclude original geometry entities (default: true)
OptionalincludeInclude property sets (default: true)
OptionalincludeInclude quantity sets (default: true)
OptionalincludeInclude relationships (default: true)
OptionalisolatedIsolated entity IDs (local expressIds, null = no isolation active)
OptionalnormalizeCanonical Rust compatibility export, requiring exportAsync and a metre MapUnit. Uniform map rotation/scale moves into logical placements and mapped Body geometry; project/property units remain authored. Unsupported coordinate consumers produce atomic warnings; upload must refuse these. Default: preserve. Requires full geometry in the unchanged source schema.
OptionalnormalizeNormalize emitted IfcProjectedCRS map units to metres, preserving the complete map transformation and all project geometry/units. Default false. Unsupported or ambiguous units/operations are preserved with warnings. Requires a full export to the source STEP schema (not deltaOnly).
OptionalnormalizeWrite recognized EVRS2007 or EGM2008 IfcProjectedCRS.VerticalDatum names as 'EPSG:3855' (EGM2008 height), the geoid Cesium ion applies. Explicit EPSG codes, ellipsoidal names and unrecognized datum text are preserved; heights are never rewritten. Default false. Requires a full export to the source schema.
OptionalonProgress callback for async export
OptionalorganizationOrganization name
OptionaloriginatingFILE_NAME originating_system slot override. Omitted = the source
header's own value, unchanged. The anonymized export blanks it: a vendor
build string like <tool> 26.0.0 NOR FULL encodes the licence region.
IFC schema version for the output file (any version, will convert if needed)
OptionalsubsetExport exactly these IfcRoot-derived entities plus infrastructure and
their forward closure; every other IfcRoot entity (and each
IDENTIFYING_TYPES entity — postal/telecom address, georeferencing) is
excluded and stripped from relationship lines by the same dangling-ref
protection visibleOnly gets (evaluateOmissionPredicates +
filterHiddenRefsFromRelationshipLine, both driven off
pass.allowedEntityIds/hiddenProductIds). Mutually exclusive with
visibleOnly — collectModifications throws if both are set. The seed
set for the anonymized-subset export (#2934); see subset-roots.ts's
getSubsetEntityIds.
OptionalsubsetWhich identifying classes the subset closure excludes. Defaults to all of
IDENTIFYING_TYPES. The anonymize path narrows it when the caller asked
to KEEP georeferencing and addresses: dropping them anyway left an
IfcSite.SiteAddress pointing at a line that was never written (#3351).
OptionaltimePin the STEP header FILE_NAME timestamp (STEP format, e.g.
20240101T000000). Omitted = the wall clock, as before. Required for
genuinely byte-identical exports, since the header otherwise carries the
export instant.
OptionalvisibleOnly export entities currently visible in the viewer
Options for STEP export