EXPRESS Definition for IfcProductExtension

Link to Documentation

Documentation

Link to EXPRESS-G Diagram

EXPRESS-G Diagram



SCHEMA IfcProductExtension;

REFERENCE FROM IfcMeasureResource (
    IfcCountMeasure
   ,IfcMassMeasure
   ,IfcLengthMeasure
   ,IfcPositiveLengthMeasure
   ,IfcAreaMeasure
   ,IfcVolumeMeasure
   ,IfcElectricCurrentMeasure
   ,IfcElectricVoltageMeasure
   ,IfcFrequencyMeasure
   ,IfcPowerMeasure
   ,IfcTimeMeasure
   ,IfcCompoundPlaneAngleMeasure
   ,IfcUnit
   ,IfcDerivedUnit
   ,IfcNamedUnit
   ,IfcContextDependentUnit
   ,IfcConversionBasedUnit
   ,IfcSiUnit );

REFERENCE FROM IfcGeometryResource (IFCLINE,IFCCONIC, (
    IfcGeometricRepresentationItem
   ,IfcBoundingBox
   ,IfcAxis2Placement
   ,IfcAxis2Placement2D
   ,IfcAxis2Placement3D
   ,IfcCartesianPoint
   ,IfcDirection
   ,IfcPolyline
   ,IfcTrimmedCurve
   ,IfcCompositeCurve );

REFERENCE FROM IfcMaterialResource (
    IfcMaterialSelect
   ,IfcMaterial
   ,IfcMaterialList
   ,IfcMaterialLayerSet );

REFERENCE FROM IfcDateTimeResource (
    IfcDateTimeSelect
   ,IfcCalendarDate
   ,IfcDateAndTime
   ,IfcLocalTime );

REFERENCE FROM IfcActorResource (
    IfcActorSelect
   ,IfcPerson
   ,IfcOrganization
   ,IfcPersonAndOrganization );

REFERENCE FROM IfcPropertyResource (
    IfcSimpleProperty
   ,IfcSimplePropertyWithUnit );

REFERENCE FROM IfcKernel (
    IfcContainedOrReferencedEnum
   ,IfcContainmentEnum
   ,IfcGroup
   ,IfcRelGroups
   ,IfcProxy
   ,IfcRelContains
   ,IfcObject
   ,IfcProduct
   ,IfcControl
   ,IfcRelationship
   ,IfcPropertyDefinition );


IfcConnectionEnum

Link to Documentation

Documentation


TYPE IfcConnectionEnum = ENUMERATION OF (
    AtPath
   ,Start
   ,AtEnd
   ,NotDefined);
END_TYPE;


IfcElectricCurrentEnum

Link to Documentation

Documentation


TYPE IfcElectricCurrentEnum = ENUMERATION OF (
    Alternating
   ,Direct
   ,UserDefined
   ,NotDefined);
END_TYPE;


IfcInternalOrExternalEnum

Link to Documentation

Documentation


TYPE IfcInternalOrExternalEnum = ENUMERATION OF (
    Internal
   ,External
   ,NotDefined);
END_TYPE;


IfcPhysicalOrVirtualEnum

Link to Documentation

Documentation


TYPE IfcPhysicalOrVirtualEnum = ENUMERATION OF (
    Physical
   ,Virtual
   ,NotDefined);
END_TYPE;


IfcBuilding

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcBuilding
  SUBTYPE OF (IfcProduct);
    BuildingReference    : OPTIONAL STRING;
    BuildingName         : OPTIONAL STRING;
    calcTotalHeight      : OPTIONAL IfcLengthMeasure;
    calcSiteCoverage     : OPTIONAL IfcAreaMeasure;
    calcTotalVolume      : OPTIONAL IfcVolumeMeasure;
    ElevationOfRefHeight : OPTIONAL IfcLengthMeasure;
    ElevationOfTerrain   : OPTIONAL IfcLengthMeasure;
  INVERSE
    ServicedBySystems : SET [0:?] OF IfcRelServicesBuildings
                        FOR RelatedBuildings;
  WHERE
    WR41: SIZEOF(QUERY(Temp <* SELF\IfcObject.IsContainedBy |
(Temp.RelationshipType = ProjectContainer) AND (Temp.ContainedOrReferenced = Referenced))) = 1;
    WR42: SIZEOF(QUERY(Temp <* SELF\IfcObject.IsContainedBy |
(Temp.RelationshipType = SiteContainer) AND (Temp.ContainedOrReferenced = Contained))) <= 1;
END_ENTITY;


IfcBuildingElement

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcBuildingElement
  SUBTYPE OF (IfcElement);
    HasMaterial : OPTIONAL IfcMaterialSelect;
  INVERSE
    ProvidesBoundaries : SET [0:?] OF IfcRelSeparatesSpaces
                         FOR RelatingBuildingElement;
    HasOpenings        : SET [0:?] OF IfcRelVoidsElement
                         FOR RelatingBuildingElement;
    FillsVoids         : SET [0:?] OF IfcRelFillsElement
                         FOR RelatedBuildingElement;
END_ENTITY;


IfcBuildingStorey

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcBuildingStorey
  SUBTYPE OF (IfcProduct);
    BuildingStoreyReference : OPTIONAL STRING;
    BuildingStoreyName      : OPTIONAL STRING;
    Elevation               : IfcLengthMeasure;
    calcTotalHeight         : OPTIONAL IfcLengthMeasure;
    calcTotalArea           : OPTIONAL IfcAreaMeasure;
    calcTotalVolume         : OPTIONAL IfcVolumeMeasure;
  WHERE
    WR41: SIZEOF(QUERY(Temp <* SELF\IfcObject.IsContainedBy | (Temp.RelationshipType = ProjectContainer) AND (Temp.ContainedOrReferenced = Referenced))) = 1;
    WR42: SIZEOF(QUERY(Temp <* SELF\IfcObject.IsContainedBy | (Temp.RelationshipType = BuildingContainer) AND (Temp.ContainedOrReferenced = Contained))) <= 1;
END_ENTITY;


IfcConnectionGeometry

Link to Documentation

Documentation


ENTITY IfcConnectionGeometry
  ABSTRACT SUPERTYPE OF (ONEOF(
    IfcLineConnectionGeometry
   ,IfcPointConnectionGeometry))
  SUBTYPE OF (IfcControl);
END_ENTITY;


IfcElectricalCharacteristics

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcElectricalCharacteristics
  SUBTYPE OF (IfcPropertyDefinition);
    ElectricCurrentType   : OPTIONAL IfcElectricCurrentEnum;
    InputVoltage          : OPTIONAL IfcElectricVoltageMeasure;
    InputPhase            : OPTIONAL INTEGER;
    InputFrequency        : OPTIONAL IfcFrequencyMeasure;
    FullLoadCurrent       : OPTIONAL IfcElectricCurrentMeasure;
    LockedRotorCurrent    : OPTIONAL IfcElectricCurrentMeasure;
    InrushCurrent         : OPTIONAL IfcElectricCurrentMeasure;
    MinimumCircuitCurrent : OPTIONAL IfcElectricCurrentMeasure;
    RatedPowerInput       : OPTIONAL IfcPowerMeasure;
    MaximumPowerInput     : OPTIONAL IfcPowerMeasure;
    CircuitSizePowerInput : OPTIONAL IfcPowerMeasure;
    FuseSize              : OPTIONAL IfcElectricCurrentMeasure;
    Grounded              : OPTIONAL BOOLEANIfcBoolean;
END_ENTITY;


IfcElement

Link to Documentation

Documentation


ENTITY IfcElement
  ABSTRACT SUPERTYPE OF (ONEOF(
    IfcBuildingElement
   ,IfcOpeningElement))
  SUBTYPE OF (IfcProduct);
  INVERSE
    ConnectedTo       : SET [0:?] OF IfcRelConnectsElements
                        FOR RelatingElement;
    ConnectedFrom     : SET [0:?] OF IfcRelConnectsElements
                        FOR RelatedElement;
    IsAssemblyThrough : SET [0:1] OF IfcRelAssemblesElements
                        FOR RelatingElement;
    PartOfAssembly    : SET [0:1] OF IfcRelAssemblesElements
                        FOR RelatedElements;
  WHERE
    WR41: SIZEOF(QUERY(Temp <* SELF\IfcObject.IsContainedBy |  (Temp.RelationshipType = ProjectContainer) AND (Temp.ContainedOrReferenced = Referenced))) = 1;
    WR42: SIZEOF(QUERY(Temp <* SELF\IfcObject.IsContainedBy |  (((Temp.RelationshipType = SiteContainer) OR (Temp.RelationshipType = BuildingContainer) OR (Temp.RelationshipType = BuildingStoreyContainer) OR (Temp.RelationshipType = SpaceContainer)) AND (Temp.ContainedOrReferenced = Contained )))) <= 1;
END_ENTITY;


IfcLineConnectionGeometry

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcLineConnectionGeometry
  SUBTYPE OF (IfcConnectionGeometry);
    LineOnRelatingElement : IfcPolyline;
    LineOnRelatedElement  : OPTIONAL IfcPolyline;
END_ENTITY;


IfcManufactureInformation

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcManufactureInformation
  SUBTYPE OF (IfcPropertyDefinition);
    Description      : OPTIONAL STRING;
    ModelLabel       : OPTIONAL STRING;
    ModelReference   : OPTIONAL STRING;
    Manufacturer     : OPTIONAL IfcOrganization;
    ShippingWeight   : OPTIONAL IfcMassMeasure;
    OperatingWeight  : OPTIONAL IfcMassMeasure;
    WarrantyDuration : OPTIONAL IfcTimeMeasure;
    WarrantyTerms    : LIST [0:?] OF STRING;
END_ENTITY;


IfcOpeningElement

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcOpeningElement
  SUBTYPE OF (IfcElement);
    calcOpeningArea : OPTIONAL IfcAreaMeasure;
  INVERSE
    VoidsElements : IfcRelVoidsElement
                    FOR RelatedOpeningElement;
    HasFillings   : SET [0:?] OF IfcRelFillsElement
                    FOR RelatingOpeningElement;
END_ENTITY;


IfcPointConnectionGeometry

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcPointConnectionGeometry
  SUBTYPE OF (IfcConnectionGeometry);
    PointOnRelatingElement : IfcCartesianPoint;
    PointOnRelatedElement  : OPTIONAL IfcCartesianPoint;
END_ENTITY;


IfcRelAssemblesElements

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcRelAssemblesElements
  SUBTYPE OF (IfcRelationship);
    RelatingElement : IfcElement;
    RelatedElements : LIST [1:?] OF IfcElement;
  WHERE
    WR31: SIZEOF(QUERY(Temp <* RelatedElements | RelatingElement :=: Temp)) = 0;
END_ENTITY;


IfcRelAssemblesSpaces

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcRelAssemblesSpaces
  SUBTYPE OF (IfcRelationship);
    RelatingSpace : IfcSpace;
    RelatedSpaces : LIST [1:?] OF IfcSpace;
  WHERE
    WR31: SIZEOF(QUERY(Temp <* RelatedSpaces | RelatingSpace :=: Temp)) = 0;
END_ENTITY;


IfcRelConnectsElements

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcRelConnectsElements
  SUPERTYPE OF (ONEOF(
    IfcRelConnectsPathElements))
  SUBTYPE OF (IfcRelationship);
    ConnectionGeometry : OPTIONAL IfcConnectionGeometry;
    RelatingElement    : IfcElement;
    RelatedElement     : IfcElement;
  WHERE
    WR31: RelatingElement :<>: RelatedElement;
END_ENTITY;


IfcRelConnectsPathElements

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcRelConnectsPathElements
  SUBTYPE OF (IfcRelConnectsElements);
    RelatingPriorities     : LIST [0:RelatingLayerCount] OF INTEGER;
    RelatedPriorities      : LIST [0:RelatedLayerCount] OF INTEGER;
    RelatingConnectionType : IfcConnectionEnum;
    RelatedConnectionType  : IfcConnectionEnum;
  DERIVE
    RelatingLayerCount : INTEGER
                       := IfcNoOfLayers(SELF\IfcRelConnectsElements.RelatingElement);
    RelatedLayerCount  : INTEGER
                       := IfcNoOfLayers(SELF\IfcRelConnectsElements.RelatedElement);
END_ENTITY;


IfcRelFillsElement

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcRelFillsElement
  SUBTYPE OF (IfcRelationship);
    RelatingOpeningElement : IfcOpeningElement;
    RelatedBuildingElement : IfcBuildingElement;
END_ENTITY;


IfcRelSeparatesSpaces

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcRelSeparatesSpaces
  SUBTYPE OF (IfcRelationship);
    RelatingBuildingElement : IfcBuildingElement;
    RelatedSpaceBoundaries  : LIST [1:?] OF IfcSpaceBoundary;
END_ENTITY;


IfcRelServicesBuildings

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcRelServicesBuildings
  SUBTYPE OF (IfcRelationship);
    RelatingSystem   : IfcSystem;
    RelatedBuildings : LIST [1:?] OF IfcBuilding;
END_ENTITY;


IfcRelVoidsElement

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcRelVoidsElement
  SUBTYPE OF (IfcRelationship);
    RelatingBuildingElement : IfcBuildingElement;
    RelatedOpeningElement   : IfcOpeningElement;
END_ENTITY;


IfcSite

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcSite
  SUBTYPE OF (IfcProduct);
    RefLatitude       : OPTIONAL IfcCompoundPlaneAngleMeasure;
    RefLongitude      : OPTIONAL IfcCompoundPlaneAngleMeasure;
    RefElevation      : OPTIONAL IfcLengthMeasure;
    TrueNorth         : OPTIONAL IfcDirection;
    calcSitePerimeter : OPTIONAL IfcPositiveLengthMeasure;
    calcSiteArea      : OPTIONAL IfcAreaMeasure;
  WHERE
    WR41: SIZEOF(QUERY(Temp <* SELF\IfcObject.IsContainedBy |  (Temp.RelationshipType = ProjectContainer) AND (Temp.ContainedOrReferenced = Referenced))) = 1;
END_ENTITY;


IfcSpace

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcSpace
  SUBTYPE OF (IfcSpatialElement);
    BoundedBy                 : LIST [1:?] OF IfcSpaceBoundary;
    InteriorOrExteriorSpace   : IfcInternalOrExternalEnum;
    SpaceReference            : OPTIONAL STRING;
    SpaceName                 : OPTIONAL STRING;
    calcTotalPerimeter        : OPTIONAL IfcPositiveLengthMeasure;
    calcTotalArea             : OPTIONAL IfcAreaMeasure;
    calcTotalVolume           : OPTIONAL IfcVolumeMeasure;
    calcAverageHeight         : OPTIONAL IfcPositiveLengthMeasure;
    calcAverageGrossHeight    : OPTIONAL IfcPositiveLengthMeasure;
    calcAverageClearHeight    : OPTIONAL IfcPositiveLengthMeasure;
    calcElevationWithFlooring : OPTIONAL IfcLengthMeasure;
  INVERSE
    IsAssemblyThrough : SET [0:1] OF IfcRelAssemblesSpaces
                        FOR RelatingSpace;
    PartOfAssembly    : SET [0:1] OF IfcRelAssemblesSpaces
                        FOR RelatedSpaces;
  WHERE
    WR52: SIZEOF(QUERY(Temp <* SELF\IfcObject.IsContainedBy |  (Temp.RelationshipType = ProjectContainer) AND (Temp.ContainedOrReferenced = Referenced))) = 1;
    WR53: SIZEOF(QUERY(Temp <* SELF\IfcObject.IsContainedBy |  (((Temp.RelationshipType = SiteContainer) OR (Temp.RelationshipType = BuildingStoreyContainer)) AND (Temp.ContainedOrReferenced = Contained )))) <= 1;
END_ENTITY;


IfcSpaceBoundary

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcSpaceBoundary
  SUBTYPE OF (IfcSpatialElement);
    PhysicalOrVirtualBoundary  : IfcPhysicalOrVirtualEnum;
    InternalOrExternalBoundary : IfcInternalOrExternalEnum;
    calcBoundarySurfaceArea    : OPTIONAL IfcAreaMeasure;
  INVERSE
    Bounds     : SET [1:2] OF IfcSpace
                 FOR BoundedBy;
    ProvidedBy : SET [0:1] OF IfcRelSeparatesSpaces
                 FOR RelatedSpaceBoundaries;
  WHERE
    WR51: ((PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.Physical) AND (HIINDEX(ProvidedBy) = 1)) OR ((PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.Virtual) AND (HIINDEX(ProvidedBy) = 0)) OR (PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.NotDefined);
END_ENTITY;


IfcSpatialElement

Link to Documentation

Documentation


ENTITY IfcSpatialElement
  ABSTRACT SUPERTYPE OF (ONEOF(
    IfcSpace
   ,IfcSpaceBoundary))
  SUBTYPE OF (IfcProduct);
END_ENTITY;


IfcSystem

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcSystem
  SUBTYPE OF (IfcGroup);
  INVERSE
    ServicesBuildings : SET [0:1] OF IfcRelServicesBuildings
                        FOR RelatingSystem;
END_ENTITY;


IfcZone

Link to Documentation

Documentation

Link to the Fully Attributed View

Fully Attributed View


ENTITY IfcZone
  SUBTYPE OF (IfcGroup);
  WHERE
    WR41: SIZEOF (QUERY (temp <* SELF\IfcGroup.IsGroupedBy.RelatedObjects |  NOT(('IFCPRODUCTEXTENSION.IFCZONE' IN TYPEOF(temp)) OR ('IFCPRODUCTEXTENSION.IFCSPACE' IN TYPEOF(temp))) )) = 0;
END_ENTITY;


IfcNoOfLayers


FUNCTION IfcNoOfLayers
(Element : IfcElement )
            : INTEGER;

  IF 'IFCPRODUCTRESOURCE.IFCBUILDINGELEMENT' IN TYPEOF(Element) THEN
    IF NOT(EXISTS(Element.HasMaterial)) THEN
      RETURN (?);
    ELSE
      IF 'IFCPROPERTYRESOURCE.IFCMATERIAL' IN TYPEOF(Element.HasMaterial) THEN
        RETURN (1);
      END_IF;
      IF 'IFCPROPERTYRESOURCE.IFCMATERIALLAYERSET' IN TYPEOF(Element.HasMaterial) THEN
        RETURN (HIINDEX(Element.HasMaterial.HasMaterialLayers));
      END_IF;
    END_IF;
  ELSE
    RETURN (?);
  END_IF;
END_FUNCTION;



END_SCHEMA;