Model Flow Fitting (FP)
Provides the information concerning flow fittings. A flow fitting is an element of a distribution system at which there is a change in the flow characteristics of the medium being distributed. A flow fitting may have one or more entry ports and one or more exit ports.
All flow fittings are types of flow element (IfcDistributionFlowElement) within the IFC model.
The types of fitting contained within IFC include:
| Service | IfcFlowSegmentType subtype |
|---|---|
| Cable transport | IfcCableCarrierFittingType |
| Communications systems | IfcCableFittingType |
| Controls systems | IfcCableFittingType |
| Electrical systems | IfcCableFittingType |
| Oil/gas systems | IfcPipeFittingType |
| Water systems | IfcPipeFittingType |
| Ventilation systems | IfcDuctFittingType |
The information presented in this functional part enables:
- extension of a basic building model through the provision of size and location information
- provision of weight information for the structural engineer
- provision of performance information for analysis
This information includes:
- Specification of fitting name and description if required
- Shape representations of the fitting
- Identification of the type to which a fitting occurrence conforms
- The material from which the fitting is constructed
In addition, performance information for occurrences of fittings of particular types as indicated in the list above may be provided. Specification of the performance information that may be required is given in the tables below.
Note that the particular type of fitting to be used, and that therefore defines the performance information requirement, can be set as a parameter in the exchange requirement by:
fp_model_flow_fitting \[type, {predefined_type}\]
For instance, for a pipe fitting, reference to the relevant items within this functional part from the exchange requirement would be by specifying:
fp_model_flow_fitting \[Pipe, Bend\]
Results
Model of flow fitting occurrence(s) including shape representation and other basic information
| Description | Entity/Pset/Functional Part | MAN | REC | OPT |
|---|---|---|---|---|
| Model the fitting type | ||||
| Select the type of fitting to be modeled | The following are the selections available within the model. Each of these is a functional subtype of IfcFlowFittingType (as shown in the Overview list). Further reference generally to these types is shown below as Ifc<Functional>Type.
|
|
||
| Set the specific type of the fitting being used | Ifc<Functional>Type.PredefinedType | |
||
| If the value of the predefined type identifier is set to USERDEFINED, then establish the value that the user wishes to set. | IfcElementType.ElementType | |
||
| Generally, the shape representation of equipment will be defined as a representation map which is assigned to the type. This is so that the shape representation for the equipment type is defined once but can be used by multiple occurrences of the same type. Provision of a representation map is normally optional within the model but should be asserted for building model exchange. |
fp_map_representation | |
||
| NOTE Equipment can also be directly modeled as occurrences without having to specify a type. However, it is not recommended that this approach is used. |
||||
| Assert general attributes for the type | ||||
| Set the global unique identifier | Ifc<Functional>Type.GlobalId -> IfcGloballyUniqueId | |
||
| Assert the owner history of the fitting type | Ifc<Functional>Type.OwnerHistory -> fp_apply_owner_history | |
||
| Specify a name of the fitting type | Ifc<Functional>Type.Name -> IfcLabel | |
||
| Specify a description of the fitting type | Ifc<Functional>Type.Description -> IfcText | |
||
| Model the fitting occurrence | ||||
| Establish the placement of the origin point of the fitting occurrence | Ifc<Occurrence>.ObjectPlacement -> fp_place_object | |
||
| Define the shape representation for the fitting occurrence Note that an equipment occurrence may have several representations. These are contained in the representation map which is represented as a mapped item for the occurrence. |
Ifc<Occurrence>.Representation -> fp_represent_product | |
||
| Establish Properties | ||||
| For each fitting type, the value of type properties within property sets may be defined. Information on relevant property sets for the various types is given in the extension tables below. | fp_property | |
||
| For each fitting occurrence, the value of occurrence properties within property sets may be defined. Information on relevant property sets for the various occurrences is given in the extension tables below. | fp_property | |
||
| Define type and occurrence | ||||
| Define the type of fitting to which the fitting occurrence conforms Refer to the list given in the Overview section for further information. |
fp_define_by_type | |
||
| Define the property set for the fitting occurrence | fp_define_by_properties | |
||
| Assert general attributes for the occurrence | ||||
| Set the global unique identifier | Ifc<Occurrence>.GlobalId -> IfcGloballyUniqueId | |
||
| Assert the owner history of the fitting occurrence | Ifc<Occurrence>.OwnerHistory -> fp_apply_owner_history | |
||
| Set a name to the fitting occurrence | Ifc<Occurrence>.Name -> IfcLabel | |
||
| Provide a description of the fitting occurrence | Ifc<Occurrence>.Description -> IfcText | |
||
| Extend occurrence information | ||||
| Define the material from which the fitting is constructed | fp_associate_material | |
||
| Classify the fitting occurrence according to the selected classification approach | fp_associate_classification | |
| Description | Entity/Pset/Functional Part | MAN | REC | OPT |
|---|---|---|---|---|
| For duct fittings Set the following values within the property set Pset_DuctFittingTypeCommon |
IfcDuctFittingType (ALL TYPES) | |||
| Subtype of fitting (i.e., 5-gore, pleated, stamped, etc.) | Pset_DuctFittingTypeCommon.Subtype -> IfcText | |
||
| Material from which the duct fitting is constructed. Note that this property may be used if the material is not associated with that segment through the functional part fp_associates_material. |
Pset_DuctFittingTypeCommon.Material -> IfcMaterial | |
||
| The thickness of the duct fitting material Only applicable if the material is not separately asserted. |
Pset_DuctFittingTypeCommon.MaterialThickness -> IfcPositiveLengthMeasure | |
||
| Pressure classification as defined by the authority having jurisdiction (e.g., SMACNA, etc.). | Pset_DuctFittingTypeCommon.PressureClass -> IfcPressureMeasure | |
||
| Weight per unit length. Only applicable if the weight is not separately defined through fp_apply_quantity[weight] |
Pset_DuctFittingTypeCommon.UnitWeight -> IfcMassPerLengthMeasure | |
||
| Allowable maximum and minimum working pressure (relative to ambient pressure). | Pset_DuctFittingTypeCommon.PressureRange -> IfcPressureMeasure | |
||
| Allowable maximum and minimum temperature. | Pset_DuctFittingTypeCommon.TemperatureRange -> IfcThermodynamicTemperatureMeasure | |
||
| The nominal width or diameter (if circular) of a duct fitting or, in the case of a circular cross section, the diameter. | Pset_DuctFittingTypeCommon.NominalDiameterOrWidth -> IfcPositiveLengthMeasure | |
||
| The nominal height of the fitting. | Pset_DuctFittingTypeCommonNominalHeight -> IfcPositiveLengthMeasure | |
||
| The end-style treatment of the duct fitting manufactured. If the list contains only one value, then this end-style applies to all ports. For more than one value in the list, the end-style value applies to the port that corresponds to the list index. The following suggested items should be utilized whenever possible for correlation with port enumerations:
|
Pset_DuctFittingTypeCommon.EndStyleTreatment -> IfcText | |
| Description | Entity/Pset/Functional Part | MAN | REC | OPT |
|---|---|---|---|---|
| For pipe fittings Set the following values within the property set Pset_PipeFittingTypeCommon |
IfcPipeFittingType (ALL TYPES) | |||
| Subtype of fitting The following suggested items should be utilized whenever possible for consistency across applications:
|
Pset_PipeFittingTypeCommon.Subtype -> IfcText | |
||
| Material from which the pipe fitting is constructed. Note that this property may be used if the material is not associated with that fitting through the functional part fp_associates_material. |
Pset_PipeFittingTypeCommon.Material -> IfcMaterial | |
||
| The working pressure of the medium in the pipe | Pset_PipeFittingTypeCommon.PressureClass -> IfcPressureMeasure | |
||
| Weight per unit length. Only applicable if the weight is not separately defined through fp_apply_quantity[weight] |
Pset_PipeFittingTypeCommon.UnitWeight -> IfcMassPerLengthMeasure | |
||
| Allowable maximum and minimum working pressure (relative to ambient pressure). | Pset_PipeFittingTypeCommon.PressureRange -> IfcPressureMeasure | |
||
| Allowable maximum and minimum temperature. | Pset_PipeFittingTypeCommon.TemperatureRange Pset_DuctFittingTypeCommon.TemperatureRange -> IfcThermodynamicTemperatureMeasure | |
||
| The nominal diameter of the pipe fitting. If the list contains only one value, then this nominal diameter applies to all ports. For more than value in the list, the nominal diameter value applies to the port that corresponds to the list index |
Pset_PipeFittingTypeCommon.NominalDiameter -> IfcPositiveLengthMeasure | |
||
| The actual inner diameter of the pipe. Refer to NominalDiameter for comments about interpretation of multiple items in the list. |
Pset_PipeFittingTypeCommon.InnerDiameter -> IfcPositiveLengthMeasure | |
||
| The actual outer diameter of the pipe. Refer to NominalDiameter for comments about interpretation of multiple items in the list. |
Pset_PipeFittingTypeCommon.OuterDiameter -> IfcPositiveLengthMeasure | |
||
| The end-style treatment of the pipe fitting manufactured. If the list contains only one value, then this end-style applies to all ports. For more than one value in the list, the end-style value applies to the port that corresponds to the list index. The following suggested items should be utilized whenever possible for correlation with port enumerations:
|
Pset_PipeFittingTypeCommon.EndStyleTreatment -> IfcText | |
||
| The factor that determines the pressure loss due to friction through the fitting. | Pset_PipeFittingTypeCommon.FittingLossFactor -> IfcReal | |
| Description | Entity/Pset/Functional Part | MAN | REC | OPT |
|---|---|---|---|---|
| For cable carrier fittings Cable carriers are conduit, ladder, tray and trunking and have properties defined as below. No specific property sets are developed for cable carrier fittings at this stage. All properties of such fittings should be derived from the cable carrier segments to which they are connected. |
IFC Entities Required
- IfcCableCarrierFittingType
- IfcCableFittingType
- IfcDistributionElement
- IfcDistributionElementType
- IfcDistributionFlowElement
- IfcDistributionFlowElementType
- IfcDuctFittingType
- IfcElement
- IfcElementType
- IfcFlowSegment
- IfcFlowSegmentType
- IfcObject
- IfcPipeFittingType
- IfcProduct
- IfcPropertyDefinition
- IfcPropertySetDefinition
- IfcPropertySet
- IfcRoot
- IfcTypeObject
- IfcTypeProduct
IFC Datatypes Required
- IfcGloballyUniqueId
- IfcIdentifier
- IfcLabel
- IfcText
- IfcCableCarrierFittingTypeEnum
- IfcCableFittingTypeEnum
- IfcDuctFittingTypeEnum
- IfcPipeFittingTypeEnum
IFC Functions Required
- -
IFC Property Sets Required
- Pset_DuctFittingTypeCommon
- Pset_PipeFittingTypeCommon
IDM Functional Parts Required
- fp_apply_owner_history
- fp_assigns_to_group
- fp_connects_ports
- fp_define_by_properties
- fp_define_by_type
- fp_map_representation
- fp_place_object
- fp_property
- fp_represent_product
EXPRESS-G

EXPRESS Schema
SCHEMA FP_MODEL_FLOW_FITTING;
TYPE IfcGloballyUniqueId = STRING (22) FIXED;
END_TYPE;
TYPE IfcIdentifier = STRING;
END_TYPE;
TYPE IfcLabel = STRING;
END_TYPE;
TYPE IfcText = STRING;
END_TYPE;
TYPE IfcCableCarrierFittingTypeEnum = ENUMERATION OF
(BEND,
CROSS,
REDUCER,
TEE,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcDuctFittingTypeEnum = ENUMERATION OF
(BEND,
CONNECTOR,
ENTRY,
EXIT,
JUNCTION,
OBSTRUCTION,
TRANSITION,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcJunctionBoxTypeEnum = ENUMERATION OF
(USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcPipeFittingTypeEnum = ENUMERATION OF
(BEND,
CONNECTOR,
ENTRY,
EXIT,
JUNCTION,
OBSTRUCTION,
TRANSITION,
USERDEFINED,
NOTDEFINED);
END_TYPE;
ENTITY IfcProduct
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcObject);
ObjectPlacement : OPTIONAL fp_place_object;
Representation : OPTIONAL 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, IfcPropertyDefinition));
GlobalId : IfcGloballyUniqueId;
Name : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
OwnerHistory : fp_apply_owner_history;
UNIQUE
UR1 : GlobalId;
END_ENTITY;
ENTITY IfcPropertyDefinition
ABSTRACT SUPERTYPE OF (ONEOF(IfcPropertySetDefinition, IfcTypeObject))
SUBTYPE OF(IfcRoot);
END_ENTITY;
ENTITY IfcPropertySetDefinition
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcPropertyDefinition);
INVERSE
DefinesType : SET [0:1] OF IfcTypeObject FOR HasPropertySets;
END_ENTITY;
ENTITY IfcPropertySet
SUBTYPE OF(IfcPropertySetDefinition);
HasProperties : SET [1:?] OF fp_property;
WHERE
WR31 : EXISTS(SELF\IfcRoot.Name);
WR32 : IfcUniquePropertyName(HasProperties);
END_ENTITY;
ENTITY fp_property;
END_ENTITY;
ENTITY IfcTypeObject
SUBTYPE OF(IfcPropertyDefinition);
ApplicableOccurrence : OPTIONAL IfcLabel;
HasPropertySets : OPTIONAL LIST [1:?] OF IfcPropertySetDefinition;
WHERE
WR1 : EXISTS(SELF\IfcRoot.Name);
END_ENTITY;
ENTITY IfcTypeProduct
SUBTYPE OF(IfcTypeObject);
Tag : OPTIONAL IfcLabel;
RepresentationMaps : SET [1:?] OF fp_map_representation;
WHERE
WR41 : NOT(EXISTS(SELF\IfcTypeObject.ObjectTypeOf[1])) OR
(SIZEOF(QUERY(temp <* SELF\IfcTypeObject.ObjectTypeOf[1].RelatedObjects |
NOT('IFC2X2_FINAL.IFCPRODUCT' IN TYPEOF(temp)))
) = 0);
END_ENTITY;
ENTITY IfcElementType
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcTypeProduct);
ElementType : OPTIONAL IfcLabel;
END_ENTITY;
ENTITY IfcDistributionElementType
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcElementType);
END_ENTITY;
ENTITY IfcDistributionFlowElementType
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcDistributionElementType);
END_ENTITY;
ENTITY IfcFlowFittingType
ABSTRACT SUPERTYPE OF (ONEOF(IfcCableCarrierFittingType, IfcDuctFittingType, IfcJunctionBoxType, IfcPipeFittingType))
SUBTYPE OF(IfcDistributionFlowElementType);
END_ENTITY;
ENTITY IfcCableCarrierFittingType
SUBTYPE OF(IfcFlowFittingType);
PredefinedType : IfcCableCarrierFittingTypeEnum;
WHERE
WR1 : (PredefinedType <> IfcCableCarrierFittingTypeEnum.USERDEFINED) OR
((PredefinedType = IfcCableCarrierFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
END_ENTITY;
ENTITY IfcDuctFittingType
SUBTYPE OF(IfcFlowFittingType);
PredefinedType : IfcDuctFittingTypeEnum;
WHERE
WR2 : (PredefinedType <> IfcDuctFittingTypeEnum.USERDEFINED) OR
((PredefinedType = IfcDuctFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
END_ENTITY;
ENTITY IfcJunctionBoxType
SUBTYPE OF(IfcFlowFittingType);
PredefinedType : IfcJunctionBoxTypeEnum;
END_ENTITY;
ENTITY IfcPipeFittingType
SUBTYPE OF(IfcFlowFittingType);
PredefinedType : IfcPipeFittingTypeEnum;
WHERE
WR1 : (PredefinedType <> IfcPipeFittingTypeEnum.USERDEFINED) OR
((PredefinedType = IfcPipeFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
END_ENTITY;
ENTITY fp_map_representation;
END_ENTITY;
ENTITY fp_apply_owner_history;
END_ENTITY;
ENTITY IfcElement
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcProduct);
Tag : OPTIONAL IfcIdentifier;
END_ENTITY;
ENTITY IfcDistributionElement
SUBTYPE OF(IfcElement);
END_ENTITY;
ENTITY IfcDistributionFlowElement
SUBTYPE OF(IfcDistributionElement);
END_ENTITY;
ENTITY IfcFlowFitting
SUBTYPE OF(IfcDistributionFlowElement);
END_ENTITY;
ENTITY fp_place_object;
END_ENTITY;
ENTITY fp_represent_product;
END_ENTITY;
ENTITY fp_define_by_type;
END_ENTITY;
ENTITY fp_define_by_properties;
END_ENTITY;
ENTITY fp_connect_ports;
END_ENTITY;
ENTITY fp_assigns_to_group;
END_ENTITY;
END_SCHEMA;