How xbimteam/xbimessentials works
XbimEssentials is a .NET toolkit for reading, writing, validating, and interrogating IFC building-information models. The documented user workflow opens an IFC file through IfcStore, queries model instances and properties, and can validate or export the model. The repository also includes model creation, multiple storage providers, federation, and geometry contracts. STEP parsing and IFC entity code are represented by sampled paths; other format and capability links follow README documentation and the tree, since their implementations were not sampled.
Main entry points: IfcStore.cs IfcStore · IModel.cs Model contracts · XbimServices.cs Service configuration · Part21Writer.cs STEP writer
Components 22
File interchange
- IfcStore
Xbim.Ifc/IfcStore.cs - STEP parser
Xbim.Common/Step21/XbimP21Parser.cs - IFC XML
Xbim.IO.MemoryModel/Xml/XbimXmlReader4.cs - STEP writer
Xbim.Common/Step21/Part21Writer.cs - IFC XML writer
Xbim.IO.MemoryModel/Xml/IfcXmlWriter3.cs
Model runtime
- Model contracts
Xbim.Common/IModel.cs - Entity collection
Xbim.Common/Model/EntityCollection.cs - Transactions
Xbim.Common/Model/Transaction.cs
IFC domain
- IFC4 schema
Xbim.Ifc4/SharedBldgServiceElements/IfcFlowStorageDevice.cs - IFC2x3 schema
Xbim.Ifc2x3/SharedBldgServiceElements/IfcFlowStorageDevice.cs - IFC4x3 schema
Xbim.Ifc4x3/SharedBldgServiceElements/IfcFlowStorageDevice.cs - Express validation
Xbim.Ifc/Validation/IfcValidator.cs
Providers and services
- Memory provider
Xbim.IO.MemoryModel/MemoryModelProvider.cs - Esent provider
Xbim.IO.Esent/EsentModelProvider.cs - Service configuration
Xbim.Common/Configuration/XbimServices.cs
Model capabilities
- Fluent creation
Xbim.Ifc/Fluent/FluentModelBuilder.cs - Model federation
Xbim.Common/Federation/IFederatedModel.cs - Geometry contracts
Xbim.Common/Geometry/IGeometryManager.cs - IFC extraction
Xbim.Ifc/Extractor.cs
Other components
- Application developer
- IFC file
- IFC output
Connections 26
- Application developer → IfcStore: opens model
- IFC file → IfcStore: input file
- IfcStore → STEP parser: parses STEP
- IfcStore → IFC XML: reads XML
- IfcStore → Model contracts: provides model
- Service configuration → Memory provider: registers provider
- Service configuration → Esent provider: registers provider
- Memory provider → Model contracts: creates model
- Esent provider → Model contracts: creates model
- Application developer → Entity collection: queries instances
- Model contracts → Entity collection: exposes instances
- Application developer → Express validation: validates model
- Application developer → Fluent creation: builds model
- Fluent creation → Model contracts: creates entities
- Application developer → Model federation: federates models
- Application developer → Geometry contracts: requests geometry
- Application developer → IFC extraction: extracts data
- Application developer → IfcStore: exports model
- IfcStore → STEP writer: writes STEP
- IfcStore → IFC XML writer: writes XML
- STEP writer → IFC output: serializes
- IFC XML writer → IFC output: serializes
- IFC4 schema → Model contracts: implements entities
- IFC2x3 schema → Model contracts: implements entities
- IFC4x3 schema → Model contracts: implements entities
- Application developer → Transactions: starts transaction