Index Page
Documentation |
EXPRESS-G Diagram |
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);
Documentation
TYPE IfcRoleTypeEnum = ENUMERATION OF (
Supplier
,Manufacturer
,Contractor
,SubContractor
,Architect
,StructuralEngineer
,ServicesEngineer
,CostEngineer
,Client
,BuildingOwner
,BuildingOperator
,Other);
END_TYPE;
Documentation
TYPE IfcActorSelect = SELECT (
IfcOrganization
,IfcPerson
,IfcPersonAndOrganization);
END_TYPE;
Documentation
TYPE IfcMaterialSelect = SELECT (
IfcMaterial
,IfcMaterialLayerSet
,IfcMaterialComposite);
END_TYPE;
Documentation
TYPE IfcCostOperatorEnum = ENUMERATION OF (
AddValue
,SubstractValue
,MultiplyValue
,AddPercent
,SubstractPercent
,MultiplyPercent);
END_TYPE;
Documentation
TYPE IfcCostTypeEnum = ENUMERATION OF (
LaborCost
,PlantCost
,MaterialCost
,SubContractCost
,PreliminariesCost
,PrimeCost
,BillOfMaterialsCost
,ProvisionalCost );
END_TYPE;
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;
Documentation
TYPE IfcModifierBasisEnum = ENUMERATION OF (
Running
,Static);
END_TYPE;
Documentation
TYPE IfcDayInMonthNumber = INTEGER; END_TYPE;
Documentation
TYPE IfcDaylightSavingNumber = INTEGER;
WHERE
WR1: { 0 <= SELF <= 2 };
END_TYPE;
Documentation
TYPE IfcHourInDay = INTEGER;
WHERE
WR1: { 0 <= SELF < 24 };
END_TYPE;
Documentation
TYPE IfcMinuteInHour = INTEGER;
WHERE
WR1: {0 <= SELF <= 59 };
END_TYPE;
Documentation
TYPE IfcMonthInYearNumber = INTEGER;
WHERE
WR1: { 1<= SELF <= 12 };
END_TYPE;
Documentation
TYPE IfcSecondInMinute = REAL;
WHERE
WR1: { 0 <= SELF < 60 };
END_TYPE;
Documentation
TYPE IfcYearNumber = INTEGER; END_TYPE;
Documentation
TYPE IfcDateTimeSelect = SELECT (
IfcCalendarDate
,IfcLocalTime
,IfcDateAndTime );
END_TYPE;
Documentation
ENTITY IfcActorRole;
Name : IfcRoleTypeEnum;
Description : OPTIONAL STRING;
END_ENTITY;
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;
Documentation
ENTITY IfcOrganization
SUBTYPE OF (IfcProperty);
Name : STRING;
Adresses : LIST [0:?] OF IfcAddress;
Roles : LIST [0:?] OF IfcActorRole;
Description : OPTIONAL STRING;
END_ENTITY;
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;
Documentation
ENTITY IfcPersonAndOrganization
SUBTYPE OF (IfcProperty);
ThePerson : IfcPerson;
TheOrganization : IfcOrganization;
Roles : LIST [0:?] OF IfcActorRole;
END_ENTITY;
Documentation
ENTITY IfcMaterial
SUBTYPE OF (IfcProperty);
MaterialName : STRING;
MaterialClassification : OPTIONAL IfcClassificationList;
INVERSE
RegisteredBy : IfcProjectMaterialRegistry FOR RegisteredMaterials;
END_ENTITY;
Documentation
ENTITY IfcMaterialComposite
SUBTYPE OF (IfcProperty);
Materials : LIST [1:?] OF IfcMaterial;
END_ENTITY;
Documentation
ENTITY IfcMaterialLayer
SUBTYPE OF (IfcProperty);
Material : IfcMaterial;
OffsetFromMLSBase : IfcPositiveLengthMeasure;
LayerThickness : IfcPositiveLengthMeasure;
DefaultPriority : INTEGER;
END_ENTITY;
Documentation
ENTITY IfcMaterialLayerSet
SUBTYPE OF (IfcProperty);
LayerSetName : STRING;
HasMaterialLayers : LIST [1:?] OF IfcMaterialLayer;
END_ENTITY;
Documentation
ENTITY IfcMaterialLayerSetUsage
SUBTYPE OF (IfcProperty);
ForLayerSet : IfcMaterialLayerSet;
MlsOffsetFromBaseline: IfcLengthMeasure;
MlsSenseLtoR : BOOLEAN;
DERIVE
TotalThickness : IfcLengthMeasure
:= IfcMlsTotalThickness(ForLayerSet);
END_ENTITY;
Documentation
ENTITY IfcProjectMaterialRegistry;
RegisteredMaterials : LIST [0:?] OF IfcMaterial;
END_ENTITY;
Documentation
ENTITY IfcClassification
SUBTYPE OF (IfcProperty);
Source : STRING;
Table : OPTIONAL STRING;
Notation : IfcClassificationNotation;
Description : STRING;
Edition : OPTIONAL STRING;
END_ENTITY;
Documentation
ENTITY IfcClassificationList
SUBTYPE OF (IfcProperty);
Classifications : LIST [1:?] OF IfcClassification;
Priority : INTEGER;
END_ENTITY;
Documentation
ENTITY IfcClassificationNotation;
NotationFacets: LIST [1:?] OF IfcNotationFacet;
END_ENTITY;
Documentation
ENTITY IfcNotationFacet;
NotationValue : STRING;
Purpose : OPTIONAL STRING;
END_ENTITY;
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;
Documentation
ENTITY IfcCostModifier;
Purpose : STRING;
CostValue : REAL;
CostOperator : IfcCostOperatorEnum;
END_ENTITY;
Documentation
ENTITY IfcCalendarDate
SUBTYPE OF (IfcProperty);
DayComponent : IfcDayInMonthNumber;
MonthComponent : IfcMonthInYearNumber;
YearComponent : IfcYearNumber;
WHERE
WR1: IfcValidCalendarDate (SELF);
END_ENTITY;
Documentation
ENTITY IfcCoordinatedUniversalTimeOffset;
HourOffset : IfcHourInDay;
MinuteOffset : OPTIONAL IfcMinuteInHour;
Ahead : BOOLEAN;
END_ENTITY;
Documentation
ENTITY IfcDateAndTime
SUBTYPE OF (IfcProperty);
DateComponent : IfcCalendarDate;
TimeComponent : IfcLocalTime;
END_ENTITY;
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;
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;
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;
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;
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