PluginAixLib
How to install?
Step by step
To install PluginAixLib
: you need to do the following
(in the root directory of the repo, here is the pyproject.toml file)
pip install -e '.[PluginAixLib]'
The bim2sim core installation needs to be done before.
Test install
Structure of the plugin
The following figure shows the structure of the AixLib plugin. Here you see which tasks are used and how they are combined.
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 taskLoadLibrariesAixLib["task LoadLibrariesAixLib"]
subgraph ""
tLoadLibrariesAixLib["
LoadLibrariesAixLib"]
extLoadLibrariesAixLib(" Load AixLib library for export. " )
end
stateLoadLibrariesAixLib[("state
(reads/touches)")]
tLoadLibrariesAixLib -- libraries --> stateLoadLibrariesAixLib
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 --> taskLoadLibrariesAixLib
taskLoadLibrariesAixLib --> taskExport
This figure is generated by the script template_mermaid.py (see Visualization of bim2sim plugin structure).