Log In   View a printable version of the current page.
Contains in Spatial Structure (FP)
Added by Jeffrey Wix, last edited by Jeffrey Wix on Jan 18, 2007  (view change)
Labels: 
(None)


Contains in Spatial Structure

Overview

Describes a containing relationship a product is contained within a spatial structure element such as a site, building, building storey or space.
Containment within a spatial structure can be widely used in the IFC model to identify the location of a product in easily understood human terms. This is because it relates to a space which will have a known name/identity (and which may be placed in the context of a parent space through aggregation) rather than being simply a set of coordinates that have no rational counterpart in the human experience.
The aggregation relationship is described at a high level in the IFC model between occurrences of IfcProduct contained within a spatial structure. Practically, the relationship will be between instances of subtypes of IfcProduct and these inherit the relationship.

Results

Declares the existence of a relationship between one or more products and the spatial structure in which they are contained.

Description Entity/Pset/Functional Part MAN REC OPT
Determine the containing spatial structure and the entities contained within it        

Set the occurrence of the spatial structure element that will contain the product occurrences

IfcSpatialStructureElement <subtypes>    

Set the occurrences of the entities that are contained within the spatial structure

IfcProduct < subtypes>    
Define the relationship        

Assert the relationship to the containing spatial structure element

IfcRelContainedInSpatialStructure.RelatingStructure::IfcSpatialStructureElement <subtypes>    

Assert the relationship to the entities that are contained within the spatial structure

IfcRelContainedInSpatialStructure.RelatedElements::IfcProduct <subtypes>    

Set the global unique identifier IfcRelContainedInSpatialStructure.

GlobalId::IfcGloballyUniqueId    

Assert the owner history of the fitting type

IfcRelContainedInSpatialStructure.OwnerHistory::fp_apply_owner_history    

Specify a name of the fitting type

IfcRelContainedInSpatialStructure.Name::IfcLabel    

Specify a description of the fitting type

IfcRelContainedInSpatialStructure.Description::IfcText    

IFC Entities Required

  • IfcObject
  • IfcObjectDefinition
  • IfcProduct
  • IfcRelationship
  • IfcRelConnects
  • IfcRelContainedInSpatialStructure
  • IfcRoot
  • IfcSpatialStructureElement

IFC Datatypes Required

  • IfcElementCompositionEnum
  • IfcGloballyIniqueId
  • IfcLabel
  • IfcText

IFC Functions Required

  • -

IDM Functional Parts Required

  • fp_apply_owner_history
  • fp_place_object (not applied in the context of this functional part)
  • fp_represent_product (not applied in the context of this functional part)

EXPRESS-G

EXPRESS Schema

SCHEMA FP_CONTAINS_IN_SPATIAL_STRUCTURE;

  TYPE IfcGloballyUniqueId = STRING (22) FIXED;
  END_TYPE;

  TYPE IfcLabel = STRING;
  END_TYPE;

  TYPE IfcText = STRING;
  END_TYPE;

  TYPE IfcElementCompositionEnum = ENUMERATION OF
    (COMPLEX,
     ELEMENT,
     PARTIAL);
  END_TYPE;

  ENTITY IfcProduct
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcObject);
      ObjectPlacement : OPTIONAL fp_place_object;
      Representation  : OPTIONAL fp_represent_product;

(*
? ? WHERE rule on IfcProduct not applicable in this context
    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 IfcObjectDefinition
    SUBTYPE OF(IfcRoot);
  END_ENTITY;

  ENTITY IfcObject
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcObjectDefinition);
      ObjectType : OPTIONAL IfcLabel;
    WHERE
      WR1 : SIZEOF(QUERY(temp <* IsDefinedBy | 'IFC2X2_FINAL.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1;
  END_ENTITY;

  ENTITY IfcRoot
    ABSTRACT SUPERTYPE OF (ONEOF(IfcRelationship, IfcObjectDefinition));
      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 IfcRelContainedInSpatialStructure
    SUBTYPE OF(IfcRelConnects);
      RelatedElements   : SET [1:?] OF IfcProduct;
      RelatingStructure : IfcSpatialStructureElement;
    WHERE
      WR31 : SIZEOF(QUERY(temp <* RelatedElements | 'IFC2X2_FINAL.IFCSPATIALSTRUCTUREELEMENT' IN TYPEOF(temp))) = 0;
  END_ENTITY;

  ENTITY IfcSpatialStructureElement
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcProduct);
      LongName         : OPTIONAL IfcLabel;
      CompositionType  : IfcElementCompositionEnum;
    INVERSE
      ContainsElements : SET OF IfcRelContainedInSpatialStructure FOR RelatingStructure;
    WHERE
      WR41 : (HIINDEX(SELF\IfcObject.Decomposes) = 1) 
             AND
             ('IFC2X2_FINAL.IFCRELAGGREGATES' IN TYPEOF(SELF\IfcObject.Decomposes[1])) 
             AND
             (('IFC2X2_FINAL.IFCPROJECT' IN TYPEOF (SELF\IfcObject.Decomposes[1].RelatingObject)) OR
             ('IFC2X2_FINAL.IFCSPATIALSTRUCTUREELEMENT' IN TYPEOF (SELF\IfcObject.Decomposes[1].RelatingObject))
             );
  END_ENTITY;

  ENTITY fp_apply_owner_history;
  END_ENTITY;

  ENTITY fp_place_object;
  END_ENTITY;

  ENTITY fp_represent_product;
  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