Link to Index Page

 EXPRESS Definition for IfcPropertyResource 

Link to Documentation Link to EXPRESS-G Diagram Link to IDL Definition

SCHEMA IfcPropertyResource;


REFERENCE FROM IfcUtilityResource (
     IfcGloballyUniqueId);


REFERENCE FROM IfcMeasureResource (
     IfcUnit
    ,IfcNamedUnit
    ,IfcSiUnit
    ,IfcConversionBasedUnit
    ,IfcContextDependentUnit
    ,IfcDerivedUnit
    ,IfcLengthMeasure
    ,IfcMeasureWithUnit
    ,IfcPositiveLengthMeasure
    ,IfcTimeDurationMeasure
    ,IfcTimeStamp);


REFERENCE FROM IfcPropertyTypeResource (
     IfcProperty);


IfcRoleTypeEnum

Link to Documentation

TYPE IfcRoleTypeEnum = ENUMERATION OF (
    Supplier
   ,Manufacturer
   ,Contractor
   ,SubContractor
   ,Architect
   ,StructuralEngineer
   ,ServicesEngineer
   ,CostEngineer
   ,Client
   ,BuildingOwner
   ,BuildingOperator
   ,Other);
END_TYPE;


IfcActorSelect

Link to Documentation

TYPE IfcActorSelect = SELECT (
    IfcOrganization
   ,IfcPerson
   ,IfcPersonAndOrganization);
END_TYPE;


IfcMaterialSelect

Link to Documentation

TYPE IfcMaterialSelect = SELECT (
    IfcMaterial
   ,IfcMaterialLayerSet
   ,IfcMaterialComposite);
END_TYPE;


IfcCostOperatorEnum

Link to Documentation

TYPE IfcCostOperatorEnum = ENUMERATION OF (
    AddValue
   ,SubstractValue
   ,MultiplyValue
   ,AddPercent
   ,SubstractPercent
   ,MultiplyPercent);
END_TYPE;


IfcCostTypeEnum

Link to Documentation

TYPE IfcCostTypeEnum = ENUMERATION OF (
    LaborCost
   ,PlantCost
   ,MaterialCost
   ,SubContractCost
   ,PreliminariesCost
   ,PrimeCost
   ,BillOfMaterialsCost
   ,ProvisionalCost );
END_TYPE;


IfcCurrencyTypeEnum

Link to Documentation

TYPE IfcCurrencyTypeEnum = ENUMERATION OF (
    AED,  AES,  ATS,  AUD,  BBD,  BEG,  BGL,  BHD,  BMD,
    BND,  BRL,  BSD,  BWP,  BZD,  CAD,  CBD,  CHF,  CLP,
    CNY,  CYS,  CZK,  DDP,  DEM,  DKK,  EGL,  EST,  FAK,
    FIM,  FJD,  FKP,  FRF,  GBP,  GIP,  GMD,  GRX,  HKD,
    HUF,  ICK,  IDR,  ILS,  INR,  IRP,  ITL,  JMD,  JOD,
    JPY,  KES,  KRW,  KWD,  KYD,  LKR,  LUF,  MTL,  MUR,
    MXN,  MYR,  NLG,  NZD,  OMR,  PGK,  PHP,  PKR,  PLN,
    PTN,  QAR,  RUR,  SAR,  SCR,  SEK,  SGD,  SKP,  THB,
    TRL,  TTD,  TWD,  USD,  VEB,  VND,  XEU,  ZAR,  ZWD);
END_TYPE;


IfcModifierBasisEnum

Link to Documentation

TYPE IfcModifierBasisEnum = ENUMERATION OF (
    Running
   ,Static);
END_TYPE;


IfcDayInMonthNumber

Link to Documentation

TYPE IfcDayInMonthNumber = INTEGER;
END_TYPE;


IfcDaylightSavingNumber

Link to Documentation

TYPE IfcDaylightSavingNumber = INTEGER;
 WHERE
    WR1: { 0 <= SELF <= 2 };
END_TYPE;


IfcHourInDay

Link to Documentation

TYPE IfcHourInDay = INTEGER;
 WHERE
    WR1: { 0 <= SELF < 24 };
END_TYPE;


IfcMinuteInHour

Link to Documentation

TYPE IfcMinuteInHour = INTEGER;
 WHERE
    WR1: {0 <= SELF <= 59 };
END_TYPE;


IfcMonthInYearNumber

Link to Documentation

TYPE IfcMonthInYearNumber = INTEGER;
 WHERE
    WR1: { 1<= SELF <= 12 };
END_TYPE;


IfcSecondInMinute

Link to Documentation

TYPE IfcSecondInMinute = REAL;
 WHERE
    WR1: { 0 <= SELF < 60 };
END_TYPE;


IfcYearNumber

Link to Documentation

TYPE IfcYearNumber = INTEGER;
END_TYPE;


IfcDateTimeSelect

Link to Documentation

TYPE IfcDateTimeSelect = SELECT (
    IfcCalendarDate
   ,IfcLocalTime
   ,IfcDateAndTime );
END_TYPE;


IfcActorRole

Link to Documentation

ENTITY IfcActorRole;
    Name              : IfcRoleTypeEnum;
    Description       : OPTIONAL STRING;
END_ENTITY;


IfcAddress

Link to Documentation

ENTITY IfcAddress;
    InternalLocation  : OPTIONAL STRING;
    AddressLines      : LIST [0:?] OF STRING;
    Town              : OPTIONAL STRING;
    Region            : OPTIONAL STRING;
    PostalCode        : OPTIONAL STRING;
    Country           : OPTIONAL STRING;
    FacsimileNumbers  : LIST [0:?] OF STRING;
    TelephoneNumbers  : LIST [0:?] OF STRING;
    ElectronicMailAddresses : LIST [0:?] OF STRING;
    TelexNumber       : OPTIONAL STRING;
    WWWHomePage       : OPTIONAL STRING;
    Description       : OPTIONAL STRING;
 INVERSE
    OfPerson          : SET[0:?] OF IfcPerson FOR Addresses;
    OfOrganization    : SET[0:?] OF IfcOrganization FOR Adresses;
 WHERE
    WR1: EXISTS (InternalLocation) OR 
        (HIINDEX(AddressLines) > 0) OR 
         EXISTS (Town) OR 
         EXISTS (Region) OR 
         EXISTS (PostalCode) OR 
         EXISTS (Country) OR 
        (HIINDEX(FacsimileNumbers) > 0) OR 
        (HIINDEX(TelephoneNumbers) > 0) OR 
        (HIINDEX(ElectronicMailAddresses) > 0) OR 
         EXISTS (TelexNumber) OR
         EXISTS (WWWHomePage);
END_ENTITY;


IfcOrganization

Link to Documentation

ENTITY IfcOrganization
 SUBTYPE OF (IfcProperty);
    Name         : STRING;
    Adresses     : LIST [0:?] OF IfcAddress;
    Roles        : LIST [0:?] OF IfcActorRole;
    Description  : OPTIONAL STRING;
END_ENTITY;


IfcPerson

Link to Documentation

ENTITY IfcPerson
 SUBTYPE OF (IfcProperty);
    FamilyName   : OPTIONAL STRING;
    GivenName    : OPTIONAL STRING;
    MiddleNames  : OPTIONAL STRING;
    PrefixTitles : OPTIONAL STRING;
    SuffixTitles : OPTIONAL STRING;
    Addresses    : LIST [0:?] OF IfcAddress;
    Roles        : LIST [0:?] OF IfcActorRole;
 WHERE
    WR1: EXISTS(FamilyName) OR EXISTS(GivenName);
END_ENTITY;


IfcPersonAndOrganization

Link to Documentation

ENTITY IfcPersonAndOrganization
 SUBTYPE OF (IfcProperty);
    ThePerson       : IfcPerson;
    TheOrganization : IfcOrganization;
    Roles           : LIST [0:?] OF IfcActorRole;
END_ENTITY;


IfcMaterial

Link to Documentation

ENTITY IfcMaterial
 SUBTYPE OF (IfcProperty);
    MaterialName           : STRING;
    MaterialClassification : OPTIONAL IfcClassificationList;
INVERSE
    RegisteredBy         : IfcProjectMaterialRegistry FOR RegisteredMaterials;
END_ENTITY;


IfcMaterialComposite

Link to Documentation

ENTITY IfcMaterialComposite
 SUBTYPE OF (IfcProperty);  
    Materials            : LIST [1:?] OF IfcMaterial;
END_ENTITY;


IfcMaterialLayer

Link to Documentation

ENTITY IfcMaterialLayer
 SUBTYPE OF (IfcProperty);
    Material             : IfcMaterial;
    OffsetFromMLSBase    : IfcPositiveLengthMeasure;
    LayerThickness       : IfcPositiveLengthMeasure;
    DefaultPriority      : INTEGER;
END_ENTITY;


IfcMaterialLayerSet

Link to Documentation

ENTITY IfcMaterialLayerSet
 SUBTYPE OF (IfcProperty);
    LayerSetName         : STRING;
    HasMaterialLayers    : LIST [1:?] OF IfcMaterialLayer;
END_ENTITY;


IfcMaterialLayerSetUsage

Link to Documentation

ENTITY IfcMaterialLayerSetUsage
 SUBTYPE OF (IfcProperty);
    ForLayerSet          : IfcMaterialLayerSet;
    MlsOffsetFromBaseline: IfcLengthMeasure;
    MlsSenseLtoR         : BOOLEAN;
 DERIVE
    TotalThickness       : IfcLengthMeasure
                         := IfcMlsTotalThickness(ForLayerSet);
END_ENTITY;


IfcProjectMaterialRegistry

Link to Documentation

ENTITY IfcProjectMaterialRegistry;
    RegisteredMaterials  : LIST [0:?] OF IfcMaterial;
END_ENTITY;


IfcClassification

Link to Documentation

ENTITY IfcClassification
 SUBTYPE OF (IfcProperty);
    Source          : STRING;
    Table           : OPTIONAL STRING;
    Notation        : IfcClassificationNotation;
    Description     : STRING;
    Edition         : OPTIONAL STRING;
END_ENTITY;


IfcClassificationList

Link to Documentation

ENTITY IfcClassificationList
 SUBTYPE OF (IfcProperty);
    Classifications : LIST [1:?] OF IfcClassification;
    Priority        : INTEGER;
END_ENTITY;


IfcClassificationNotation

Link to Documentation

ENTITY IfcClassificationNotation;
    NotationFacets: LIST [1:?] OF IfcNotationFacet;
END_ENTITY;


IfcNotationFacet

Link to Documentation

ENTITY IfcNotationFacet;
    NotationValue   : STRING;
    Purpose         : OPTIONAL STRING;
END_ENTITY;


IfcCost

Link to Documentation

ENTITY IfcCost
 SUBTYPE OF (IfcProperty);
    CostType        : IfcCostTypeEnum;
    BaseCostValue   : OPTIONAL REAL;
    FinalCostValue  : OPTIONAL REAL;
    Currency        : IfcCurrencyTypeEnum;
    ModifierBasis   : OPTIONAL IfcModifierBasisEnum;
    CostModifiers   : LIST[0:?] OF IfcCostModifier;
    UnitCostBasis   : IfcMeasureWithUnit;
    CostDate        : OPTIONAL IfcDateTimeSelect;
    CostComponents  : LIST [0:?] OF IfcCost;
END_ENTITY;


IfcCostModifier

Link to Documentation

ENTITY IfcCostModifier;
    Purpose         : STRING;
    CostValue       : REAL;
    CostOperator    : IfcCostOperatorEnum;
END_ENTITY;


IfcCalendarDate

Link to Documentation

ENTITY IfcCalendarDate
 SUBTYPE OF (IfcProperty);
    DayComponent    : IfcDayInMonthNumber;
    MonthComponent  : IfcMonthInYearNumber;
    YearComponent   : IfcYearNumber;
 WHERE
    WR1: IfcValidCalendarDate (SELF);
END_ENTITY;


IfcCoordinatedUniversalTimeOffset

Link to Documentation

ENTITY IfcCoordinatedUniversalTimeOffset;
    HourOffset      : IfcHourInDay;
    MinuteOffset    : OPTIONAL IfcMinuteInHour;
    Ahead           : BOOLEAN;
END_ENTITY;


IfcDateAndTime

Link to Documentation

ENTITY IfcDateAndTime
 SUBTYPE OF (IfcProperty);
    DateComponent   : IfcCalendarDate;
    TimeComponent   : IfcLocalTime;
END_ENTITY;


IfcLocalTime

Link to Documentation

ENTITY IfcLocalTime
 SUBTYPE OF (IfcProperty);
    HourComponent   : IfcHourInDay;
    MinuteComponent : OPTIONAL IfcMinuteInHour;
    SecondComponent : OPTIONAL IfcSecondInMinute;
    Zone            : IfcCoordinatedUniversalTimeOffset;
    DaylightSavingOffset : OPTIONAL IfcDaylightSavingNumber;
 WHERE
    WR1: IfcValidTime (SELF);
END_ENTITY;


IfcMlsTotalThickness

Link to Documentation

FUNCTION IfcMlsTotalThickness (
   LayerSet : IfcMaterialLayerSet) 
            : IfcLengthMeasure;
LOCAL
  Max : IfcLengthMeasure 
      := LayerSet.HasMaterialLayers[1].OffsetFromMLSBase 
         + LayerSet.HasMaterialLayers[1].LayerThickness;
  Min : IfcLengthMeasure 
      := LayerSet.HasMaterialLayers[1].OffsetFromMLSBase;
END_LOCAL;
  IF SIZEOF(LayerSet.HasMaterialLayers) > 1 THEN
    REPEAT i := 2 TO HIINDEX(LayerSet.HasMaterialLayers);
      IF (LayerSet.HasMaterialLayers[i].OffsetFromMLSBase 
        + LayerSet.HasMaterialLayers[i].LayerThickness) > Max
        THEN Max := LayerSet.HasMaterialLayers[i].OffsetFromMLSBase 
          + LayerSet.HasMaterialLayers[i].LayerThickness;
      END_IF;
      IF LayerSet.HasMaterialLayers[i].OffsetFromMLSBase < Min
        THEN Min := LayerSet.HasMaterialLayers[i].OffsetFromMLSBase;
      END_IF;
    END_REPEAT;
  END_IF;
  RETURN (Max - Min);
END_FUNCTION;


IfcLeapYear

Link to Documentation

FUNCTION IfcLeapYear (
         Year : IfcYearNumber) 
              : BOOLEAN;

  IF ((((Year MOD 4) = 0) AND ((Year MOD 100) <> 0)) OR
       ((Year MOD 400) = 0)) THEN
    RETURN(TRUE);
  ELSE
    RETURN(FALSE);
  END_IF;
END_FUNCTION;


IfcValidCalendarDate

Link to Documentation

FUNCTION IfcValidCalendarDate (
         Date : IfcCalendarDate) 
              : LOGICAL;

  IF NOT ({1 <= Date.DayComponent <= 31}) THEN
    RETURN(FALSE);
  END_IF;
  CASE Date.MonthComponent OF
    4         : RETURN({ 1<= Date.DayComponent <= 30});
    6         : RETURN({ 1<= Date.DayComponent <= 30});
    9         : RETURN({ 1<= Date.DayComponent <= 30});
    11        : RETURN({ 1<= Date.DayComponent <= 30});
    2         : 
    BEGIN
      IF (IfcLeapYear(Date.YearComponent)) THEN
        RETURN({ 1<= Date.DayComponent <= 29});
      ELSE
        RETURN({ 1<= Date.DayComponent <= 28});
      END_IF;
    END;
    OTHERWISE : RETURN(TRUE);
  END_CASE;
END_FUNCTION;


IfcValidTime

Link to Documentation

FUNCTION IfcValidTime (Time: IfcLocalTime) : BOOLEAN;
  IF EXISTS (Time.SecondComponent) THEN
    RETURN (EXISTS (Time.MinuteComponent));
  ELSE
    RETURN (TRUE);
  END_IF;
END_FUNCTION;


END_SCHEMA; -- IfcPropertyResource