Skip to content

ifc-resource ​

Construction resources: labour, equipment, material, crew, subcontract.

StatusPartial
Latest release0.3.0 (2026-09-29)
Registriescrates.io ifc-resource
Via the facadeopenbim-ifc feature resource
API documentationrustdoc · docs.rs
Sourcecrates/ifc-resource/

Overview ​

ifc-resource -- bounded IFC4 construction-resource semantics.

The crate exposes schema-resolved borrowed projections for construction resource occurrences, resource types, actor and inventory metadata, authored IfcResourceTime, allocation relationships, and budgeted resource composition. Selected authoring APIs stage records through ifc_model::Transaction.

It does not schedule work, level resources, calculate costs or quantities, interpret calendars, or claim generic actor/inventory schema conformance.

Depends on ​

Changes ​

Latest release, 0.3.0 (2026-09-29):

Changed (breaking) ​

  • ActorRoleDraft, PostalAddressDraft, TelecomAddressDraft, ActorDraft, AssetDraft, InventoryDraft, AppliedValueDraft, ResourceDraft, ResourceTimeDraft, AllocationDraft and the resource NestingDraft are #[non_exhaustive] (#214). Struct literals no longer compile outside the crate: build each with new(...) and field-named setters. New constructors: ActorRoleDraft::new(role), PostalAddressDraft::new(), TelecomAddressDraft::new(), ActorDraft::new(global_id, the_actor), AssetDraft::new(global_id), InventoryDraft::new(global_id) and AppliedValueDraft::new(), each with a setter per remaining field. The drafts that already had builders keep them unchanged. Fields stay public where they were.

Changed ​

  • Depends on ifc-schema with its default features named explicitly (every bundled release), now that the workspace dependency turns them off for the facade's per-release features (#112).
  • A model whose header declares IFC4X1 or IFC4X2 is refused with the existing unsupported-schema error. ifc-schema now bundles both releases, but no layout here is verified against them, so they are never read as IFC4 or IFC4X3.
  • Enumeration checks treat a type declaration form ifc-schema adds later as not matching; follows ifc_schema::TypeKind becoming #[non_exhaustive].

Full history: crates/ifc-resource/CHANGELOG.md

Released under the AGPL-3.0-or-later licence. ISO and CEN standards material is not redistributed.