Skip to main content

Module authoring

Module authoring 

Source
Expand description

Transactional material authoring, bound to the model’s release.

These helpers only stage records. ifc_model::Transaction::commit owns atomic graph/index application, so a failed batch cannot leave part of a material graph in the model.

Every record is laid out from the bundled table of the release the model’s header declares (see crate::material_schema), never from IFC4 by assumption. A record type the release lacks (a constituent or profile set for IFC2X3) is refused with MaterialError::EntityNotInSchema; a draft value for an attribute it lacks (an IFC2X3 layer Name) with MaterialError::AuthoringNotInSchema; and an attribute it requires that the call leaves unset (the IFC2X3 OwnerHistory) with MaterialError::AuthoringRequired. Nothing is staged on refusal.

Structs§

ConstituentDraft
Authored fields for IfcMaterialConstituent.
LayerDraft
Authored fields for IfcMaterialLayer.
LayerSetDraft
Ordered composition fields for IfcMaterialLayerSet.
MaterialAssignmentDraft
Authored fields for IfcRelAssociatesMaterial.
MaterialDraft
Authored identity fields for IfcMaterial.
ProfileDraft
Authored fields for IfcMaterialProfile.

Functions§

associate_material
Stage a product/type material association after validating the IFC GlobalId, non-empty relation end, and IfcMaterialSelect branch.
associate_material_with_owner_history
associate_material with a caller-supplied IfcOwnerHistory, which IFC2X3 requires. The owner history is never invented here (build one with ifc-author).
create_constituent
Stage an IfcMaterialConstituent. IFC4 onwards.
create_constituent_set
Stage an IfcMaterialConstituentSet. IFC4 onwards. Must name at least one constituent: an empty set describes no composition at all.
create_layer
Stage a layer after checking its scalar and material-reference invariants.
create_layer_set
Stage a non-empty ordered layer set. Layers may have been created earlier in this transaction; their staged type is checked just like stored records.
create_layer_set_usage
Stage an IfcMaterialLayerSetUsage.
create_layer_with_offsets
Stage an IfcMaterialLayerWithOffsets. IFC4 onwards.
create_material
Stage a material identity record in the model’s release layout.
create_material_classification_relationship
Stage an IfcMaterialClassificationRelationship.
create_material_definition_representation
Stage an IfcMaterialDefinitionRepresentation.
create_material_list
Stage an IfcMaterialList. Must name at least one material.
create_material_properties
Stage an IfcMaterialProperties. IFC4 onwards.
create_material_relationship
Stage an IfcMaterialRelationship. IFC4 onwards.
create_profile
Stage an IfcMaterialProfile. IFC4 onwards.
create_profile_set
Stage an IfcMaterialProfileSet. IFC4 onwards. Must name at least one profile.
create_profile_set_usage
Stage an IfcMaterialProfileSetUsage. IFC4 onwards.
create_profile_set_usage_tapering
Stage an IfcMaterialProfileSetUsageTapering. IFC4 onwards.
create_profile_with_offsets
Stage an IfcMaterialProfileWithOffsets. IFC4 onwards.