Expand description
Element, resource, and process type definitions.
An IFC model separates what a thing is from where it sits. The type definition carries the shared description: a pump type names the pump model, and every pump placed from it inherits that.
This crate owns the 132 concrete IfcTypeObject subtypes. They
sit in one crate because they are one uniform shape with one
shared WHERE rule, not because they are one domain: the list
spans HVAC, structure, furniture, resources and processes.
Splitting them across domain crates would copy the same rule and
the same slot table into a dozen places.
The catalogue in table is generated from the schema by
scripts/gen-element-types.py; create_type is the writer. It takes
no model and writes the catalogue’s IFC4X3 layout; create_type_in
and create_type_with_owner_history write the model’s declared
release, which IFC2X3 needs for its required OwnerHistory (#202).
Re-exports§
pub use table::ElementType;pub use table::Family;pub use table::ALL;
Modules§
- table
- The generated element-type catalogue.
Structs§
- Supertype
Draft - Attributes of a supertype definition.
- Supertype
Kind - A type definition with no
PredefinedTypeenum. - Type
Draft - Attributes shared by every type definition.
Enums§
- Element
Type Error - Why a type definition was refused.
- Slot6
- What slot 6 holds, which differs by
Family.
Constants§
- ALL_
SUPERTYPES - Every supertype this module can stage.
- BUILT_
ELEMENT_ TYPE IfcBuiltElementType: the built-element branch.- CIVIL_
ELEMENT_ TYPE IfcCivilElementType: civil works with no more specific class.- DEEP_
FOUNDATION_ TYPE IfcDeepFoundationType: piles and caisson foundations.- DISTRIBUTION_
ELEMENT_ TYPE IfcDistributionElementType: the distribution branch.- FURNISHING_
ELEMENT_ TYPE IfcFurnishingElementType: furniture and system furniture.- TYPE_
OBJECT IfcTypeObject: the root of every type definition.- TYPE_
PRODUCT IfcTypeProduct: addsRepresentationMapsandTag.
Functions§
- create_
supertype - Stage a type definition that carries no
PredefinedType. - create_
supertype_ in create_supertypein the model’s declared release (#202).- create_
supertype_ with_ owner_ history create_supertype_inwith a caller-suppliedIfcOwnerHistory, which IFC2X3 requires on everyIfcRoot.- create_
type - Stage one type definition.
- create_
type_ in create_typein the model’s declared release (#202).- create_
type_ with_ owner_ history create_type_inwith a caller-suppliedIfcOwnerHistory, which IFC2X3 requires on everyIfcRoot.
Type Aliases§
- Element
Type Result - Result of staging a type definition.