Connect Ports (FP)
Defines the connection made between two ports. In the context of a distribution system, the ports are instances of IfcDistributionPort.
For connections made between ports, the values of flow direction for each port must match. If the flow direction of the relating port is a SOURCE (outgoing), the flow direction of the related port must be SINK (incoming). If the flow direction of the relating port is SOURCEANDSINK, the flow direction of the related port must also be SOURCEANDSINK.

Results
Connection between ports is established with flow directions correctly defined.
| Description | Entity/Pset/Functional Part | MAN | REC | OPT |
|---|---|---|---|---|
| Determine the port from which the connection is to be made. | IfcRelConnectsPorts.RelatingPort -> IfcDistributionPort | |
||
| Determine the port to which the connection is to be made. | IfcRelConnectsPorts.RelatedPort -> IfcDistributionPort | |
||
| An element may be used to realize the connection See illustration above |
IfcRelConnectsPorts.RealizingElement -> IfcElement | |
||
| Confirm that the flow direction of the relating and related ports match Matches must be made from relating to related as follows: SOURCE -> SINK SINK -> SOURCE SOURCEANDSINK -> SOURCEANDSINK NOTDEFINED -> NOTDEFINED |
IfcDistributionPort.FlowDirection -> IfcFlowDirectionEnum | |
||
| Set the global unique identifier | IfcRelConnectsPorts.GlobalId -> IfcGloballyUniqueId | |
||
| Assert the owner history of the relationship | IfcRelConnectsPorts.OwnerHistory -> fp_apply_owner_history | |
||
| Specify a name for the relationship | IfcRelConnectsPorts.Name | |
||
| Specify a description for the relationship | IfcRelConnectsPorts.Description | |
- IFC Entities Required
- IfcDistributionPort
- IfcElement
- IfcObject
- IfcPort
- IfcProduct
- IfcRelationship
- IfcRelConnects
- IfcRelConnectsPorts
- IfcRoot
- IFC Datatypes Required
- IfcFlowDirectionEnum
- IfcGloballyUniqueId
- IfcIdentifier
- IfcLabel
- IfcText
- IFC Functions Required
- -
- IFC Property Sets Required
- -
- IDM Functional Parts Required
- fp_apply_owner_history
- fp_place_object
- fp_represent_product
EXPRESS-G

EXPRESS Schema
SCHEMA FP_CONNECTS_PORTS;
TYPE IfcGloballyUniqueId = STRING (22) FIXED;
END_TYPE;
TYPE IfcIdentifier = STRING;
END_TYPE;
TYPE IfcLabel = STRING;
END_TYPE;
TYPE IfcText = STRING;
END_TYPE;
TYPE IfcFlowDirectionEnum = ENUMERATION OF
(SOURCE,
SINK,
SOURCEANDSINK,
NOTDEFINED);
END_TYPE;
ENTITY IfcProduct
ABSTRACT SUPERTYPE OF (ONEOF(IfcElement, IfcPort))
SUBTYPE OF(IfcObject);
ObjectPlacement : fp_place_object;
Representation : fp_represent_product;
WHERE
WR1 : (EXISTS(Representation) AND EXISTS(ObjectPlacement))
OR (EXISTS(Representation) AND
(NOT('IFC2X2_FINAL.IFCPRODUCTDEFINITIONSHAPE' IN TYPEOF(Representation))))
OR (NOT(EXISTS(Representation)));
END_ENTITY;
ENTITY IfcObject
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRoot);
ObjectType : OPTIONAL IfcLabel;
WHERE
WR1 : SIZEOF(QUERY(temp <* IsDefinedBy | 'IFC2X2_FINAL.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1;
END_ENTITY;
ENTITY IfcRoot
ABSTRACT SUPERTYPE OF (ONEOF(IfcObject, IfcRelationship));
GlobalId : IfcGloballyUniqueId;
Name : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
OwnerHistory : fp_apply_owner_history;
UNIQUE
UR1 : GlobalId;
END_ENTITY;
ENTITY IfcRelationship
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRoot);
END_ENTITY;
ENTITY IfcRelConnects
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRelationship);
END_ENTITY;
ENTITY IfcElement
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcProduct);
Tag : OPTIONAL IfcIdentifier;
END_ENTITY;
ENTITY IfcPort
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcProduct);
INVERSE
ConnectedFrom : SET [0:1] OF IfcRelConnectsPorts FOR RelatedPort;
ConnectedTo : SET [0:1] OF IfcRelConnectsPorts FOR RelatingPort;
END_ENTITY;
ENTITY IfcRelConnectsPorts
SUBTYPE OF(IfcRelConnects);
RelatingPort : IfcPort;
RelatedPort : IfcPort;
RealizingElement : OPTIONAL IfcElement;
END_ENTITY;
ENTITY IfcDistributionPort
SUBTYPE OF(IfcPort);
FlowDirection : OPTIONAL IfcFlowDirectionEnum;
END_ENTITY;
ENTITY fp_apply_owner_history;
END_ENTITY;
ENTITY fp_place_object;
END_ENTITY;
ENTITY fp_represent_product;
END_ENTITY;
END_SCHEMA;