Log In   View a printable version of the current page.
Model Flow Segment (FP)
Added by Brendan McFarlane, last edited by Jeffrey Wix on Sep 15, 2006  (view change)
Labels: 
(None)


Model Flow Segment (FP)

Provides the information concerning flow segments. A flow segment is an element of a distribution system in which there is a single port at which the medium being distributed enters the segment and a single port at which the medium leaves the segment.
The sole purpose of a flow segment is to enable the medium being distributed to pass from the entry port to the exit port. It is typically contiguous (i.e. there are no breaks along its length) and straight (although the path of a flow segment may be a curve rather than a straight line). In certain cases, this last definition of flow along a curved path may mean that a decision needs to be taken regarding whether an element is a flow segment or a flow fitting. This is a decision that must be taken by the user.
All flow segments are types of flow element (IfcDistributionFlowElement) within the IFC model.
The types of segment contained within IFC include:

Service IfcFlowSegmentType subtype
Cable transport IfcCableCarrierSegmentType
Communications systems IfcCableSegmentType
Controls systems IfcCableSegmentType
Electrical systems IfcCableSegmentType
Oil/gas systems IfcPipeSegmentType
Water systems IfcPipeSegmentType
Ventilation systems IfcDuctSegmentType

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 segment name and description if required
  • Shape representations of the segment
  • Identification of the type to which a segment occurrence conforms
  • The material from which the segment is constructed
  • The weight of the equipment

In addition, performance information for occurrences of segments of particular types as indicated in the list above may be provided.

Note that the particular type of segment 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_segment [type, {predefined_type}]

For instance, for a cable segment, reference to the relevant items within this functional part from the exchange requirement would be by specifying:

fp_model_flow_segment [Cable, Conductor]

Results

Model of flow segment occurrence(s) including shape representation and other basic information

Description Entity/Pset/Functional Part MAN REC OPT
Model the segment type        
Select the type of segment to be modeled The following are the selections available within the model. Each of these is a functional subtype of IfcFlowSegmentType (as shown in the Overview list). Further reference generally to these types is shown below as Ifc<Functional>Type.
  • IfcCableSegmentType
  • IfcCableCarrierSegmentType
  • IfcDuctSegmentType
  • IfcPipeSegmentType
   
Set the specific type of the segment 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    
In certain cases, the shape representation may be be a representation map assigned to the segment type in which case the representation map will be created using one or more of the shape representations given for the segment occurrence below.
This is for cases where the shape representation for the segment type may be defined once and used by multiple occurrences of the same type.
fp_map_representation    
         
Assert general attributes for the type        
Set the global unique identifier Ifc<Functional>Type.GlobalId à IfcGloballyUniqueId    
Assert the owner history of the equipment type Ifc<Functional>Type.OwnerHistory à fp_apply_owner_history    
Specify a name of the segment type Ifc<Functional>Type.Name    
Specify a description of the segment type Ifc<Functional>Type.Description    
         
Model the segment occurrence        
Establish the placement of the origin point of the segment occurrence fp_place_object    
Generally, the shape representation of a segment will be defined for the occurrence rather than the type. Various forms of shape representation are possible and an occurrence may have several shape representations.
In determining which shape representations should be supported for a flow segment, it is important to be aware of the capabilities of any system which may expect to receive and use shape representations provided. This is to ensure that the shape representation(s) given are supported by receiving systems.
fp_represent_product    
Axis Representation
The segment axis is represented by a two-dimensional open curve. The segment axis is used to apply the segment length parameter to the segment geometry.
In case of a straight segment, the set of items shall include a single geometric representation item of type IfcPolyline.
In the case of a curved segment, the set of items shall include a single geometric representation item of type IfcTrimmedCurve. The curve shall have a BasisCurve of type IfcCircle.
Use the following attribute values:
IfcShapeRepresentation.RepresentationIdentifier  à 'Axis'
IfcShapeRepresentation.RepresentationType à 'GeometricSet'
   
Body Representation
The body of the IfcFlowSegment may be defined using SweptSolid representation for segments without clippings.
Use the following attribute values:
IfcShapeRepresentation.RepresentationIdentifier à 'Body'
IfcShapeRepresentation.RepresentationType à 'SweptSolid'
The standard geometric representation (for body) of IfcFlowSegment is defined using the swept solid representation. The following additional constraints apply to the swept solid representation:
  • Solid: IfcExtrudedAreaSolid is required,
  • Profile: IfcArbitraryProfileDef shall be supported.
  • Extrusion: The profile shall be extruded along the segment axis, i.e., in the direction of the x-axis of the coordinate system of local placement. The extrusion axis shall be perpendicular to the swept profile, i.e. pointing into the direction of the x-axis of the Position of the IfcExtrudedAreaSolid.
    The profile of a segment is described in plane perpendicular to the extrusion axis. The profile is defined by the IfcArbitraryProfileDef (excluding its subtypes). The profile is given with all segment connections already resolved and is always perpendicular to the segment axis. The segment also has a single, unchanged profile.
   
Body Representation
The body of the IfcFlowSegment may be defined using CSG representation for segments with clippings.
Use the following attribute values:
IfcShapeRepresentation.RepresentationIdentifier à 'Body'
IfcShapeRepresentation.RepresentationType à 'CSG'
The advanced geometric representation (for body) of IfcFlowSegment is defined using the CSG representation. The following additional constraints apply to the swept solid representation:
  • Solid: see body representation above
  • Profile: see body representation above
  • Extrusion: see body representation above
  • Boolean result: IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid.
   
Body Representation
The body of the IfcFlowSegment may be defined using a bounding box.
Use the following attribute values:
IfcShapeRepresentation.RepresentationIdentifier à 'Body'
IfcShapeRepresentation.RepresentationType à 'BoundingBox'
   
B-Rep Representation
The solid representation of the IfcFlowSegment may be defined using a boundary representation.
The faceted B-Rep capabilities (with or without voids) shall be supported for B-Rep representation.
Use the following attribute values:
IfcShapeRepresentation.RepresentationIdentifier à 'Brep'
IfcShapeRepresentation.RepresentationType à 'Brep'
   
Logical Representation
Whilst not properly a shape representation, a logical connection may be made between certain elements using one or more realizing elements that do not have a shape represent but that need to be asserted with a logical representation.
This is particularly relevant for cable segments between electrical devices.
fp_connect_logical    
         
Establish Properties        
For each segment 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 segment 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 segment to which the segment occurrence conforms
Refer to the list given in the Overview section for further information.
fp_define_by_type    
Define the property set for the segment occurrence fp_define_by_properties    
         
Extend occurrence information        
Define the material from which the segment is constructed fp_associate_material    
Add information about the weight of the segment occurrence according to the particular method of measurement applied in the local usage. fp_apply_quantity[weight]    
Classify the segment occurrence according to the selected classification approach fp_associate_classification    

IFC Entities Required

  • IfcCableCarrierSegmentType
  • IfcCableSegmentType
  • IfcDistributionElement
  • IfcDistributionElementType
  • IfcDistributionFlowElement
  • IfcDistributionFlowElementType
  • IfcDuctSegmentType
  • IfcElement
  • IfcElementType
  • IfcFlowSegment
  • IfcFlowSegmentType
  • IfcObject
  • IfcPipeSegmentType
  • IfcProduct
  • IfcPropertyDefinition
  • IfcPropertySetDefinition
  • IfcPropertySet
  • IfcRoot
  • IfcTypeObject
  • IfcTypeProduct

IFC Datatypes Required

  • IfcGloballyUniqueId
  • IfcIdentifier
  • IfcLabel
  • IfcText
  • IfcCableCarrierSegmentTypeEnum
  • IfcCableSegmentTypeEnum
  • IfcDuctSegmentTypeEnum
  • IfcPipeSegmentTypeEnum

IFC Functions Required

  • -

IFC Property Sets Required

  • Pset_CableSegmentTypeCableSegment
  • Pset_CableSegmentTypeConductorSegment
  • Pset_CableCarrierSegmentTypeCableLadderSegment
  • Pset_CableCarrierSegmentTypeCableTraySegment
  • Pset_CableCarrierSegmentTypeCableTrunkingSegment
  • Pset_CableCarrierSegmentTypeConduitSegment
  • Pset_DuctSegmentTypeCommon
  • Pset_PipeSegmentTypeCommon
  • Pset_PipeSegmentTypeGutter

IDM Functional Parts Required

  • fp_apply_owner_history
  • fp_assigns_to_group
  • fp_connect_logical
  • fp_connect_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_SEGMENT;

  TYPE IfcGloballyUniqueId = STRING (22) FIXED;
  END_TYPE;

  TYPE IfcIdentifier = STRING;
  END_TYPE;

  TYPE IfcLabel = STRING;
  END_TYPE;

  TYPE IfcText = STRING;
  END_TYPE;

  TYPE IfcCableCarrierSegmentTypeEnum = ENUMERATION OF
    (CABLELADDERSEGMENT,
     CABLETRAYSEGMENT,
     CABLETRUNKINGSEGMENT,
     CONDUITSEGMENT,
     USERDEFINED,
     NOTDEFINED);
  END_TYPE;

  TYPE IfcCableSegmentTypeEnum = ENUMERATION OF
    (CABLESEGMENT,
     CONDUCTORSEGMENT,
     USERDEFINED,
     NOTDEFINED);
  END_TYPE;

  TYPE IfcDuctSegmentTypeEnum = ENUMERATION OF
    (RIGIDSEGMENT,
     FLEXIBLESEGMENT,
     USERDEFINED,
     NOTDEFINED);
  END_TYPE;

  TYPE IfcPipeSegmentTypeEnum = ENUMERATION OF
    (FLEXIBLESEGMENT,
     RIGIDSEGMENT,
     GUTTER,
     SPOOL,
     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 IfcFlowSegmentType
    ABSTRACT SUPERTYPE OF (ONEOF(IfcCableCarrierSegmentType, IfcCableSegmentType, IfcDuctSegmentType, IfcPipeSegmentType))
    SUBTYPE OF(IfcDistributionFlowElementType);
  END_ENTITY;

  ENTITY IfcCableCarrierSegmentType
    SUBTYPE OF(IfcFlowSegmentType);
      PredefinedType : IfcCableCarrierSegmentTypeEnum;
  END_ENTITY;

  ENTITY IfcCableSegmentType
    SUBTYPE OF(IfcFlowSegmentType);
      PredefinedType : IfcCableSegmentTypeEnum;
  END_ENTITY;

  ENTITY IfcDuctSegmentType
    SUBTYPE OF(IfcFlowSegmentType);
      PredefinedType : IfcDuctSegmentTypeEnum;
  END_ENTITY;

  ENTITY IfcPipeSegmentType
    SUBTYPE OF(IfcFlowSegmentType);
      PredefinedType : IfcPipeSegmentTypeEnum;
  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 IfcFlowSegment
    SUBTYPE OF(IfcDistributionFlowElement);
  END_ENTITY;

  ENTITY fp_map_representation;
  END_ENTITY;

  ENTITY fp_apply_owner_history;
  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_connect_logical;
  END_ENTITY;

 ENTITY fp_assigns_to_group;
  END_ENTITY;

END_SCHEMA;

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.1.3 Build:#408 Jan 23, 2006) - Bug/feature request - Contact Administrators