PluginLCA
The PluginLCA is used to export the material quantities and their cost groups according to DIN276. Its the most basic Plugin currently. The result are two .csv file that hold information about the used materials quantities in volume and mass and lie the foundation for a later analysis with LCA databases. We are planning to automate this link so a complete automated LCA can be carried out based on the IFC data.
How to install?
Step by step
To install PluginLCA
: you need to do the following
(in the root directory of the repo, here is the pyproject.toml file)
pip install -e '.[PluginLCA]'
The bim2sim core installation needs to be done before.
Test install
Structure of the plugin
The following figure shows the structure of the LCA plugin. Here you see which tasks are used and how they are combined.
--- title: plugin LCA --- flowchart TB subgraph taskLoadIFC["task LoadIFC"] subgraph "" tLoadIFC["bim2sim > tasks > common > LoadIFC"] extLoadIFC(" Load all IFC files from PROJECT. " ) end stateLoadIFC[("state (reads/touches)")] tLoadIFC -- ifc_files --> stateLoadIFC end subgraph taskCreateElements["task CreateElements"] subgraph "" tCreateElements["bim2sim > tasks > common > CreateElements"] extCreateElements(" Create bim2sim elements based on information in IFC. " ) end stateCreateElements[("state (reads/touches)")] stateCreateElements -- ifc_files --> tCreateElements tCreateElements -- elements, ifc_files --> stateCreateElements end subgraph taskBindStoreys["task BindStoreys"] subgraph "" tBindStoreys["bim2sim > tasks > common > BindStoreys"] extBindStoreys(" None. " ) end stateBindStoreys[("state (reads/touches)")] stateBindStoreys -- elements --> tBindStoreys tBindStoreys -- elements --> stateBindStoreys end subgraph taskVerifyLayersMaterials["task VerifyLayersMaterials"] subgraph "" tVerifyLayersMaterials["bim2sim > tasks > bps > VerifyLayersMaterials"] extVerifyLayersMaterials(" Verifies if layers and materials and their properties are meaningful. " ) end stateVerifyLayersMaterials[("state (reads/touches)")] stateVerifyLayersMaterials -- elements --> tVerifyLayersMaterials tVerifyLayersMaterials -- invalid --> stateVerifyLayersMaterials end subgraph taskEnrichMaterial["task EnrichMaterial"] subgraph "" tEnrichMaterial["bim2sim > tasks > bps > EnrichMaterial"] extEnrichMaterial(" Enriches material properties that were recognized as invalid LOD. " ) end stateEnrichMaterial[("state (reads/touches)")] stateEnrichMaterial -- elements, invalid --> tEnrichMaterial tEnrichMaterial -- elements --> stateEnrichMaterial end subgraph taskExportLCA["task ExportLCA"] subgraph "" tExportLCA["bim2sim > plugins > PluginLCA > bim2sim_lca > task > ExportLCA"] extExportLCA(" Exports a CSV file with all relevant quantities of the BIM model. " ) end stateExportLCA[("state (reads/touches)")] stateExportLCA -- ifc_files, elements --> tExportLCA direction RL end taskLoadIFC --> taskCreateElements taskCreateElements --> taskBindStoreys taskBindStoreys --> taskVerifyLayersMaterials taskVerifyLayersMaterials --> taskEnrichMaterial taskEnrichMaterial --> taskExportLCA
This figure is generated by the script template_mermaid.py (see Visualization of bim2sim plugin structure).