PluginHKESim
How to install?
Step by step
To install PluginHKESim: you need to do the following
(in the root directory of the repo, here is the pyproject.toml file)
pip install -e '.[PluginHKESim]'
The bim2sim core installation needs to be done before.
Test install
Examples
Please also take a look at
bim2sim/plugins/PluginHKESim/bim2sim_hkesim/examples, which provides some
runnable examples for the HKESim plugin. You can use these examples to test your
installation and learn from them. Additionally, they serve as good starting
points for your own projects.”
Structure of the plugin
The following figure shows the structure of the HKESim plugin. Here you see which tasks are used and how they are combined.
(Hint: firefox has issue display mermaid figures completely, for more infos see issue #766)
---
title: plugin HKESim
---
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 taskCheckIfc["task CheckIfc"]
subgraph ""
tCheckIfc["bim2sim > tasks > common >
CheckIfc"]
extCheckIfc(" Check an IFC file, for a number of conditions
(missing information, incorrect information, etc)
that could lead on future tasks to fatal errors. " )
end
stateCheckIfc[("state
(reads/touches)")]
stateCheckIfc -- ifc_files --> tCheckIfc
direction RL
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 taskConnectElements["task ConnectElements"]
subgraph ""
tConnectElements["bim2sim > tasks > hvac >
ConnectElements"]
extConnectElements(" Analyses IFC, creates element elements and
connects them. " )
end
stateConnectElements[("state
(reads/touches)")]
stateConnectElements -- elements --> tConnectElements
tConnectElements -- elements --> stateConnectElements
end
subgraph taskMakeGraph["task MakeGraph"]
subgraph ""
tMakeGraph["bim2sim > tasks > hvac >
MakeGraph"]
extMakeGraph(" Instantiate HVACGraph. " )
end
stateMakeGraph[("state
(reads/touches)")]
stateMakeGraph -- elements --> tMakeGraph
tMakeGraph -- graph --> stateMakeGraph
end
subgraph taskExpansionTanks["task ExpansionTanks"]
subgraph ""
tExpansionTanks["bim2sim > tasks > hvac >
ExpansionTanks"]
extExpansionTanks(" Analyses graph network for expansion tanks and
removes them. " )
end
stateExpansionTanks[("state
(reads/touches)")]
stateExpansionTanks -- graph --> tExpansionTanks
tExpansionTanks -- graph --> stateExpansionTanks
end
subgraph taskReduce["task Reduce"]
subgraph ""
tReduce["bim2sim > tasks > hvac >
Reduce"]
extReduce(" Reduce number of elements by aggregation. " )
end
stateReduce[("state
(reads/touches)")]
stateReduce -- graph --> tReduce
tReduce -- graph --> stateReduce
end
subgraph taskDeadEnds["task DeadEnds"]
subgraph ""
tDeadEnds["bim2sim > tasks > hvac >
DeadEnds"]
extDeadEnds(" Analyses graph network for dead ends and removes
ports due to dead ends. " )
end
stateDeadEnds[("state
(reads/touches)")]
stateDeadEnds -- graph --> tDeadEnds
tDeadEnds -- graph --> stateDeadEnds
end
subgraph taskLoadLibrariesHKESim["task LoadLibrariesHKESim"]
subgraph ""
tLoadLibrariesHKESim["
LoadLibrariesHKESim"]
extLoadLibrariesHKESim(" Load HKESim library for export. " )
end
stateLoadLibrariesHKESim[("state
(reads/touches)")]
tLoadLibrariesHKESim -- libraries --> stateLoadLibrariesHKESim
end
subgraph taskExport["task Export"]
subgraph ""
tExport["bim2sim > tasks > hvac >
Export"]
extExport(" Export to Dymola/Modelica. " )
end
stateExport[("state
(reads/touches)")]
stateExport -- libraries, graph --> tExport
direction RL
end
taskLoadIFC --> taskCheckIfc
taskCheckIfc --> taskCreateElements
taskCreateElements --> taskConnectElements
taskConnectElements --> taskMakeGraph
taskMakeGraph --> taskExpansionTanks
taskExpansionTanks --> taskReduce
taskReduce --> taskDeadEnds
taskDeadEnds --> taskLoadLibrariesHKESim
taskLoadLibrariesHKESim --> taskExport
This figure is generated by the script template_mermaid.py (see Visualization of bim2sim plugin structure).