We don't have information about the internal connections e.g. a heatpump with 4 ports.
If existing we can use information by port fluid to distinguish between the different circuits, if not we have to ask the user
Keine sichere Information, wie die Ports intern verschaltet sind -> kann diese Information in IFC eindeutig abgebildet werden? Wenn nicht -> BuildingSmart (david)
Überprüfen ob Sink und Source Informationen plausibel sind, ansonsten error und später evtl. Korrketurfunktionen, Probleme müssen dokumentiert werden
Error log sollte möglichst direkt vollständig sein, damit wir nicht viele Iteratinonsschleifen haben
Funktionen bspw. durchmesser anschlüssen -> Vermutung -> Abfrage an Nutzer ob Vermutung korrekt
Verschiedene Informationsquellen: Sink and Source, Medium, Gruppenzugehörigkeit, Evtl. Name, Fließrichtung
Abfrage über GUI
Edit:
We should rely on the following schema (from final report). In the follow up project we want to rely on correct assigned Groups (in the example of the heatpump that might be two groups for evaporator and condenser cycle).
Steps to finalize
[ ] integrate an attribute group for the following element.py classes: ProductBased& Port. As IfcRelAssignsToGroupis only valid for IfcObjects. IfcPortis an IfcObject, but IfcRelSpaceBoundarynot. That's the reason why we can't use ProductBasedonly.
[ ] For "sensitive" elements like Heatpumps, Boilers etc. where we know that multiple internal connections exist we should integrate a check in the following way, as we already know that this might mean that the groups are not granular enough:
if n_ports>2 and n_groups == 1 --> user decision
[ ] For elements with > 2 ports, we can then connect all ports with the same group. In case we can't get the internal connection based on this procedure, an additional task with a decision called decide_internal_connections should be included that can be called.
Internal Ports - Old discussion:
Edit: We should rely on the following schema (from final report). In the follow up project we want to rely on correct assigned Groups (in the example of the heatpump that might be two groups for evaporator and condenser cycle).
Steps to finalize
[ ] integrate an attribute
group
for the following element.py classes:ProductBased
&Port
. AsIfcRelAssignsToGroup
is only valid forIfcObjects
.IfcPort
is anIfcObject
, butIfcRelSpaceBoundary
not. That's the reason why we can't useProductBased
only.[ ] For "sensitive" elements like Heatpumps, Boilers etc. where we know that multiple internal connections exist we should integrate a check in the following way, as we already know that this might mean that the groups are not granular enough:
if n_ports>2 and n_groups == 1 --> user decision
[ ] For elements with > 2 ports, we can then connect all ports with the same
group
. In case we can't get the internal connection based on this procedure, an additional task with a decision calleddecide_internal_connections
should be included that can be called.Related to
33
181