|
@@ -0,0 +1,12401 @@
|
|
|
+(*
|
|
|
+Copyright by:
|
|
|
+buildingSMART International Limited, 1996-2016
|
|
|
+
|
|
|
+Any technical documentation made available by buildingSMART International Limited
|
|
|
+is the copyrighted work of buildingSMART International Limited and is owned by the
|
|
|
+buildingSMART International Limited. It may be photocopied, used in software development,
|
|
|
+or translated into another computer language without prior written consent from
|
|
|
+buildingSMART International Limited provided that full attribution is given.
|
|
|
+Prior written consent is required if changes are made to the technical specification.
|
|
|
+
|
|
|
+This material is delivered to you as is and buildingSMART International Limited makes
|
|
|
+no warranty of any kind with regard to it, including, but not limited to, the implied
|
|
|
+warranties as to its accuracy or fitness for a particular purpose. Any use of the
|
|
|
+technical documentation or the information contained therein is at the risk of the user.
|
|
|
+Documentation may include technical or other inaccuracies or typographical errors.
|
|
|
+buildingSMART International Limited shall not be liable for errors contained therein or
|
|
|
+for incidental consequential damages in connection with the furnishing, performance or use
|
|
|
+of the material. The information contained in this document is subject to change without notice.
|
|
|
+
|
|
|
+Issue date:
|
|
|
+Montag, 11. Juli 2016
|
|
|
+
|
|
|
+*)
|
|
|
+
|
|
|
+SCHEMA IFC4;
|
|
|
+
|
|
|
+TYPE IfcStrippedOptional = BOOLEAN;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAbsorbedDoseMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAccelerationMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAmountOfSubstanceMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAngularVelocityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcArcIndex = LIST [3:3] OF IfcPositiveInteger;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAreaDensityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAreaMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBinary = BINARY;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBoolean = BOOLEAN;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBoxAlignment = IfcLabel;
|
|
|
+ WHERE
|
|
|
+ WR1 : SELF IN ['top-left', 'top-middle', 'top-right', 'middle-left', 'center', 'middle-right', 'bottom-left', 'bottom-middle', 'bottom-right'];
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCardinalPointReference = INTEGER;
|
|
|
+ WHERE
|
|
|
+ GreaterThanZero : SELF > 0;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcComplexNumber = ARRAY [1:2] OF REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCompoundPlaneAngleMeasure = LIST [3:4] OF INTEGER;
|
|
|
+ WHERE
|
|
|
+ MinutesInRange : ABS(SELF[2]) < 60;
|
|
|
+ SecondsInRange : ABS(SELF[3]) < 60;
|
|
|
+ MicrosecondsInRange : (SIZEOF(SELF) = 3) OR (ABS(SELF[4]) < 1000000);
|
|
|
+ ConsistentSign : ((SELF[1] >= 0) AND (SELF[2] >= 0) AND (SELF[3] >= 0) AND ((SIZEOF(SELF) = 3) OR (SELF[4] >= 0)))
|
|
|
+OR
|
|
|
+((SELF[1] <= 0) AND (SELF[2] <= 0) AND (SELF[3] <= 0) AND ((SIZEOF(SELF) = 3) OR (SELF[4] <= 0)));
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcContextDependentMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCountMeasure = NUMBER;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCurvatureMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDate = STRING;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDateTime = STRING;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDayInMonthNumber = INTEGER;
|
|
|
+ WHERE
|
|
|
+ ValidRange : {1 <= SELF <= 31};
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDayInWeekNumber = INTEGER;
|
|
|
+ WHERE
|
|
|
+ ValidRange : {1 <= SELF <= 7};
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDescriptiveMeasure = STRING;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDimensionCount = INTEGER;
|
|
|
+ WHERE
|
|
|
+ WR1 : { 0 < SELF <= 3 };
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDoseEquivalentMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDuration = STRING;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDynamicViscosityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElectricCapacitanceMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElectricChargeMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElectricConductanceMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElectricCurrentMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElectricResistanceMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElectricVoltageMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcEnergyMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFontStyle = STRING;
|
|
|
+ WHERE
|
|
|
+ WR1 : SELF IN ['normal','italic','oblique'];
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFontVariant = STRING;
|
|
|
+ WHERE
|
|
|
+ WR1 : SELF IN ['normal','small-caps'];
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFontWeight = STRING;
|
|
|
+ WHERE
|
|
|
+ WR1 : SELF IN ['normal','small-caps','100','200','300','400','500','600','700','800','900'];
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcForceMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFrequencyMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcGloballyUniqueId = STRING(22) FIXED;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcHeatFluxDensityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcHeatingValueMeasure = REAL;
|
|
|
+ WHERE
|
|
|
+ WR1 : SELF > 0.;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcIdentifier = STRING(255);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcIlluminanceMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcInductanceMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcInteger = INTEGER;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcIntegerCountRateMeasure = INTEGER;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcIonConcentrationMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcIsothermalMoistureCapacityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcKinematicViscosityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLabel = STRING(255);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLanguageId = IfcIdentifier;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLengthMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLineIndex = LIST [2:?] OF IfcPositiveInteger;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLinearForceMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLinearMomentMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLinearStiffnessMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLinearVelocityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLogical = LOGICAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLuminousFluxMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLuminousIntensityDistributionMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLuminousIntensityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMagneticFluxDensityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMagneticFluxMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMassDensityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMassFlowRateMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMassMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMassPerLengthMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcModulusOfElasticityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcModulusOfLinearSubgradeReactionMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcModulusOfRotationalSubgradeReactionMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcModulusOfSubgradeReactionMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMoistureDiffusivityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMolecularWeightMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMomentOfInertiaMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMonetaryMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMonthInYearNumber = INTEGER;
|
|
|
+ WHERE
|
|
|
+ ValidRange : {1 <= SELF <= 12};
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcNonNegativeLengthMeasure = IfcLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ NotNegative : SELF >= 0.;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcNormalisedRatioMeasure = IfcRatioMeasure;
|
|
|
+ WHERE
|
|
|
+ WR1 : {0.0 <= SELF <= 1.0};
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcNumericMeasure = NUMBER;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPHMeasure = REAL;
|
|
|
+ WHERE
|
|
|
+ WR21 : {0.0 <= SELF <= 14.0};
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcParameterValue = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPlanarForceMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPlaneAngleMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPositiveInteger = IfcInteger;
|
|
|
+ WHERE
|
|
|
+ WR1 : SELF > 0;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPositiveLengthMeasure = IfcLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ WR1 : SELF > 0.;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPositivePlaneAngleMeasure = IfcPlaneAngleMeasure;
|
|
|
+ WHERE
|
|
|
+ WR1 : SELF > 0.;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPositiveRatioMeasure = IfcRatioMeasure;
|
|
|
+ WHERE
|
|
|
+ WR1 : SELF > 0.;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPowerMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPresentableText = STRING;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPressureMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPropertySetDefinitionSet = SET [1:?] OF IfcPropertySetDefinition;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcRadioActivityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcRatioMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcReal = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcRotationalFrequencyMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcRotationalMassMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcRotationalStiffnessMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSectionModulusMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSectionalAreaIntegralMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcShearModulusMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSolidAngleMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSoundPowerLevelMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSoundPowerMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSoundPressureLevelMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSoundPressureMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSpecificHeatCapacityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSpecularExponent = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSpecularRoughness = REAL;
|
|
|
+ WHERE
|
|
|
+ WR1 : {0.0 <= SELF <= 1.0};
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTemperatureGradientMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTemperatureRateOfChangeMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcText = STRING;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTextAlignment = STRING;
|
|
|
+ WHERE
|
|
|
+ WR1 : SELF IN ['left', 'right', 'center', 'justify'];
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTextDecoration = STRING;
|
|
|
+ WHERE
|
|
|
+ WR1 : SELF IN ['none', 'underline', 'overline', 'line-through', 'blink'];
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTextFontName = STRING;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTextTransformation = STRING;
|
|
|
+ WHERE
|
|
|
+ WR1 : SELF IN ['capitalize', 'uppercase', 'lowercase', 'none'];
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcThermalAdmittanceMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcThermalConductivityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcThermalExpansionCoefficientMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcThermalResistanceMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcThermalTransmittanceMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcThermodynamicTemperatureMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTime = STRING;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTimeMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTimeStamp = INTEGER;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTorqueMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcURIReference = STRING;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcVaporPermeabilityMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcVolumeMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcVolumetricFlowRateMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWarpingConstantMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWarpingMomentMeasure = REAL;
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcActionRequestTypeEnum = ENUMERATION OF
|
|
|
+ (EMAIL
|
|
|
+ ,FAX
|
|
|
+ ,PHONE
|
|
|
+ ,POST
|
|
|
+ ,VERBAL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcActionSourceTypeEnum = ENUMERATION OF
|
|
|
+ (DEAD_LOAD_G
|
|
|
+ ,COMPLETION_G1
|
|
|
+ ,LIVE_LOAD_Q
|
|
|
+ ,SNOW_S
|
|
|
+ ,WIND_W
|
|
|
+ ,PRESTRESSING_P
|
|
|
+ ,SETTLEMENT_U
|
|
|
+ ,TEMPERATURE_T
|
|
|
+ ,EARTHQUAKE_E
|
|
|
+ ,FIRE
|
|
|
+ ,IMPULSE
|
|
|
+ ,IMPACT
|
|
|
+ ,TRANSPORT
|
|
|
+ ,ERECTION
|
|
|
+ ,PROPPING
|
|
|
+ ,SYSTEM_IMPERFECTION
|
|
|
+ ,SHRINKAGE
|
|
|
+ ,CREEP
|
|
|
+ ,LACK_OF_FIT
|
|
|
+ ,BUOYANCY
|
|
|
+ ,ICE
|
|
|
+ ,CURRENT
|
|
|
+ ,WAVE
|
|
|
+ ,RAIN
|
|
|
+ ,BRAKES
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcActionTypeEnum = ENUMERATION OF
|
|
|
+ (PERMANENT_G
|
|
|
+ ,VARIABLE_Q
|
|
|
+ ,EXTRAORDINARY_A
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcActuatorTypeEnum = ENUMERATION OF
|
|
|
+ (ELECTRICACTUATOR
|
|
|
+ ,HANDOPERATEDACTUATOR
|
|
|
+ ,HYDRAULICACTUATOR
|
|
|
+ ,PNEUMATICACTUATOR
|
|
|
+ ,THERMOSTATICACTUATOR
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAddressTypeEnum = ENUMERATION OF
|
|
|
+ (OFFICE
|
|
|
+ ,SITE
|
|
|
+ ,HOME
|
|
|
+ ,DISTRIBUTIONPOINT
|
|
|
+ ,USERDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAirTerminalBoxTypeEnum = ENUMERATION OF
|
|
|
+ (CONSTANTFLOW
|
|
|
+ ,VARIABLEFLOWPRESSUREDEPENDANT
|
|
|
+ ,VARIABLEFLOWPRESSUREINDEPENDANT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAirTerminalTypeEnum = ENUMERATION OF
|
|
|
+ (DIFFUSER
|
|
|
+ ,GRILLE
|
|
|
+ ,LOUVRE
|
|
|
+ ,REGISTER
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAirToAirHeatRecoveryTypeEnum = ENUMERATION OF
|
|
|
+ (FIXEDPLATECOUNTERFLOWEXCHANGER
|
|
|
+ ,FIXEDPLATECROSSFLOWEXCHANGER
|
|
|
+ ,FIXEDPLATEPARALLELFLOWEXCHANGER
|
|
|
+ ,ROTARYWHEEL
|
|
|
+ ,RUNAROUNDCOILLOOP
|
|
|
+ ,HEATPIPE
|
|
|
+ ,TWINTOWERENTHALPYRECOVERYLOOPS
|
|
|
+ ,THERMOSIPHONSEALEDTUBEHEATEXCHANGERS
|
|
|
+ ,THERMOSIPHONCOILTYPEHEATEXCHANGERS
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAlarmTypeEnum = ENUMERATION OF
|
|
|
+ (BELL
|
|
|
+ ,BREAKGLASSBUTTON
|
|
|
+ ,LIGHT
|
|
|
+ ,MANUALPULLBOX
|
|
|
+ ,SIREN
|
|
|
+ ,WHISTLE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAnalysisModelTypeEnum = ENUMERATION OF
|
|
|
+ (IN_PLANE_LOADING_2D
|
|
|
+ ,OUT_PLANE_LOADING_2D
|
|
|
+ ,LOADING_3D
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAnalysisTheoryTypeEnum = ENUMERATION OF
|
|
|
+ (FIRST_ORDER_THEORY
|
|
|
+ ,SECOND_ORDER_THEORY
|
|
|
+ ,THIRD_ORDER_THEORY
|
|
|
+ ,FULL_NONLINEAR_THEORY
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcArithmeticOperatorEnum = ENUMERATION OF
|
|
|
+ (ADD
|
|
|
+ ,DIVIDE
|
|
|
+ ,MULTIPLY
|
|
|
+ ,SUBTRACT);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAssemblyPlaceEnum = ENUMERATION OF
|
|
|
+ (SITE
|
|
|
+ ,FACTORY
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAudioVisualApplianceTypeEnum = ENUMERATION OF
|
|
|
+ (AMPLIFIER
|
|
|
+ ,CAMERA
|
|
|
+ ,DISPLAY
|
|
|
+ ,MICROPHONE
|
|
|
+ ,PLAYER
|
|
|
+ ,PROJECTOR
|
|
|
+ ,RECEIVER
|
|
|
+ ,SPEAKER
|
|
|
+ ,SWITCHER
|
|
|
+ ,TELEPHONE
|
|
|
+ ,TUNER
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBSplineCurveForm = ENUMERATION OF
|
|
|
+ (POLYLINE_FORM
|
|
|
+ ,CIRCULAR_ARC
|
|
|
+ ,ELLIPTIC_ARC
|
|
|
+ ,PARABOLIC_ARC
|
|
|
+ ,HYPERBOLIC_ARC
|
|
|
+ ,UNSPECIFIED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBSplineSurfaceForm = ENUMERATION OF
|
|
|
+ (PLANE_SURF
|
|
|
+ ,CYLINDRICAL_SURF
|
|
|
+ ,CONICAL_SURF
|
|
|
+ ,SPHERICAL_SURF
|
|
|
+ ,TOROIDAL_SURF
|
|
|
+ ,SURF_OF_REVOLUTION
|
|
|
+ ,RULED_SURF
|
|
|
+ ,GENERALISED_CONE
|
|
|
+ ,QUADRIC_SURF
|
|
|
+ ,SURF_OF_LINEAR_EXTRUSION
|
|
|
+ ,UNSPECIFIED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBeamTypeEnum = ENUMERATION OF
|
|
|
+ (BEAM
|
|
|
+ ,JOIST
|
|
|
+ ,HOLLOWCORE
|
|
|
+ ,LINTEL
|
|
|
+ ,SPANDREL
|
|
|
+ ,T_BEAM
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBenchmarkEnum = ENUMERATION OF
|
|
|
+ (GREATERTHAN
|
|
|
+ ,GREATERTHANOREQUALTO
|
|
|
+ ,LESSTHAN
|
|
|
+ ,LESSTHANOREQUALTO
|
|
|
+ ,EQUALTO
|
|
|
+ ,NOTEQUALTO
|
|
|
+ ,INCLUDES
|
|
|
+ ,NOTINCLUDES
|
|
|
+ ,INCLUDEDIN
|
|
|
+ ,NOTINCLUDEDIN);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBoilerTypeEnum = ENUMERATION OF
|
|
|
+ (WATER
|
|
|
+ ,STEAM
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBooleanOperator = ENUMERATION OF
|
|
|
+ (UNION
|
|
|
+ ,INTERSECTION
|
|
|
+ ,DIFFERENCE);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBuildingElementPartTypeEnum = ENUMERATION OF
|
|
|
+ (INSULATION
|
|
|
+ ,PRECASTPANEL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBuildingElementProxyTypeEnum = ENUMERATION OF
|
|
|
+ (COMPLEX
|
|
|
+ ,ELEMENT
|
|
|
+ ,PARTIAL
|
|
|
+ ,PROVISIONFORVOID
|
|
|
+ ,PROVISIONFORSPACE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBuildingSystemTypeEnum = ENUMERATION OF
|
|
|
+ (FENESTRATION
|
|
|
+ ,FOUNDATION
|
|
|
+ ,LOADBEARING
|
|
|
+ ,OUTERSHELL
|
|
|
+ ,SHADING
|
|
|
+ ,TRANSPORT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBurnerTypeEnum = ENUMERATION OF
|
|
|
+ (USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCableCarrierFittingTypeEnum = ENUMERATION OF
|
|
|
+ (BEND
|
|
|
+ ,CROSS
|
|
|
+ ,REDUCER
|
|
|
+ ,TEE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCableCarrierSegmentTypeEnum = ENUMERATION OF
|
|
|
+ (CABLELADDERSEGMENT
|
|
|
+ ,CABLETRAYSEGMENT
|
|
|
+ ,CABLETRUNKINGSEGMENT
|
|
|
+ ,CONDUITSEGMENT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCableFittingTypeEnum = ENUMERATION OF
|
|
|
+ (CONNECTOR
|
|
|
+ ,ENTRY
|
|
|
+ ,EXIT
|
|
|
+ ,JUNCTION
|
|
|
+ ,TRANSITION
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCableSegmentTypeEnum = ENUMERATION OF
|
|
|
+ (BUSBARSEGMENT
|
|
|
+ ,CABLESEGMENT
|
|
|
+ ,CONDUCTORSEGMENT
|
|
|
+ ,CORESEGMENT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcChangeActionEnum = ENUMERATION OF
|
|
|
+ (NOCHANGE
|
|
|
+ ,MODIFIED
|
|
|
+ ,ADDED
|
|
|
+ ,DELETED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcChillerTypeEnum = ENUMERATION OF
|
|
|
+ (AIRCOOLED
|
|
|
+ ,WATERCOOLED
|
|
|
+ ,HEATRECOVERY
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcChimneyTypeEnum = ENUMERATION OF
|
|
|
+ (USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCoilTypeEnum = ENUMERATION OF
|
|
|
+ (DXCOOLINGCOIL
|
|
|
+ ,ELECTRICHEATINGCOIL
|
|
|
+ ,GASHEATINGCOIL
|
|
|
+ ,HYDRONICCOIL
|
|
|
+ ,STEAMHEATINGCOIL
|
|
|
+ ,WATERCOOLINGCOIL
|
|
|
+ ,WATERHEATINGCOIL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcColumnTypeEnum = ENUMERATION OF
|
|
|
+ (COLUMN
|
|
|
+ ,PILASTER
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCommunicationsApplianceTypeEnum = ENUMERATION OF
|
|
|
+ (ANTENNA
|
|
|
+ ,COMPUTER
|
|
|
+ ,FAX
|
|
|
+ ,GATEWAY
|
|
|
+ ,MODEM
|
|
|
+ ,NETWORKAPPLIANCE
|
|
|
+ ,NETWORKBRIDGE
|
|
|
+ ,NETWORKHUB
|
|
|
+ ,PRINTER
|
|
|
+ ,REPEATER
|
|
|
+ ,ROUTER
|
|
|
+ ,SCANNER
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcComplexPropertyTemplateTypeEnum = ENUMERATION OF
|
|
|
+ (P_COMPLEX
|
|
|
+ ,Q_COMPLEX);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCompressorTypeEnum = ENUMERATION OF
|
|
|
+ (DYNAMIC
|
|
|
+ ,RECIPROCATING
|
|
|
+ ,ROTARY
|
|
|
+ ,SCROLL
|
|
|
+ ,TROCHOIDAL
|
|
|
+ ,SINGLESTAGE
|
|
|
+ ,BOOSTER
|
|
|
+ ,OPENTYPE
|
|
|
+ ,HERMETIC
|
|
|
+ ,SEMIHERMETIC
|
|
|
+ ,WELDEDSHELLHERMETIC
|
|
|
+ ,ROLLINGPISTON
|
|
|
+ ,ROTARYVANE
|
|
|
+ ,SINGLESCREW
|
|
|
+ ,TWINSCREW
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCondenserTypeEnum = ENUMERATION OF
|
|
|
+ (AIRCOOLED
|
|
|
+ ,EVAPORATIVECOOLED
|
|
|
+ ,WATERCOOLED
|
|
|
+ ,WATERCOOLEDBRAZEDPLATE
|
|
|
+ ,WATERCOOLEDSHELLCOIL
|
|
|
+ ,WATERCOOLEDSHELLTUBE
|
|
|
+ ,WATERCOOLEDTUBEINTUBE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcConnectionTypeEnum = ENUMERATION OF
|
|
|
+ (ATPATH
|
|
|
+ ,ATSTART
|
|
|
+ ,ATEND
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcConstraintEnum = ENUMERATION OF
|
|
|
+ (HARD
|
|
|
+ ,SOFT
|
|
|
+ ,ADVISORY
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcConstructionEquipmentResourceTypeEnum = ENUMERATION OF
|
|
|
+ (DEMOLISHING
|
|
|
+ ,EARTHMOVING
|
|
|
+ ,ERECTING
|
|
|
+ ,HEATING
|
|
|
+ ,LIGHTING
|
|
|
+ ,PAVING
|
|
|
+ ,PUMPING
|
|
|
+ ,TRANSPORTING
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcConstructionMaterialResourceTypeEnum = ENUMERATION OF
|
|
|
+ (AGGREGATES
|
|
|
+ ,CONCRETE
|
|
|
+ ,DRYWALL
|
|
|
+ ,FUEL
|
|
|
+ ,GYPSUM
|
|
|
+ ,MASONRY
|
|
|
+ ,METAL
|
|
|
+ ,PLASTIC
|
|
|
+ ,WOOD
|
|
|
+ ,NOTDEFINED
|
|
|
+ ,USERDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcConstructionProductResourceTypeEnum = ENUMERATION OF
|
|
|
+ (ASSEMBLY
|
|
|
+ ,FORMWORK
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcControllerTypeEnum = ENUMERATION OF
|
|
|
+ (FLOATING
|
|
|
+ ,PROGRAMMABLE
|
|
|
+ ,PROPORTIONAL
|
|
|
+ ,MULTIPOSITION
|
|
|
+ ,TWOPOSITION
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCooledBeamTypeEnum = ENUMERATION OF
|
|
|
+ (ACTIVE
|
|
|
+ ,PASSIVE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCoolingTowerTypeEnum = ENUMERATION OF
|
|
|
+ (NATURALDRAFT
|
|
|
+ ,MECHANICALINDUCEDDRAFT
|
|
|
+ ,MECHANICALFORCEDDRAFT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCostItemTypeEnum = ENUMERATION OF
|
|
|
+ (USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCostScheduleTypeEnum = ENUMERATION OF
|
|
|
+ (BUDGET
|
|
|
+ ,COSTPLAN
|
|
|
+ ,ESTIMATE
|
|
|
+ ,TENDER
|
|
|
+ ,PRICEDBILLOFQUANTITIES
|
|
|
+ ,UNPRICEDBILLOFQUANTITIES
|
|
|
+ ,SCHEDULEOFRATES
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCoveringTypeEnum = ENUMERATION OF
|
|
|
+ (CEILING
|
|
|
+ ,FLOORING
|
|
|
+ ,CLADDING
|
|
|
+ ,ROOFING
|
|
|
+ ,MOLDING
|
|
|
+ ,SKIRTINGBOARD
|
|
|
+ ,INSULATION
|
|
|
+ ,MEMBRANE
|
|
|
+ ,SLEEVING
|
|
|
+ ,WRAPPING
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCrewResourceTypeEnum = ENUMERATION OF
|
|
|
+ (OFFICE
|
|
|
+ ,SITE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCurtainWallTypeEnum = ENUMERATION OF
|
|
|
+ (USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCurveInterpolationEnum = ENUMERATION OF
|
|
|
+ (LINEAR
|
|
|
+ ,LOG_LINEAR
|
|
|
+ ,LOG_LOG
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDamperTypeEnum = ENUMERATION OF
|
|
|
+ (BACKDRAFTDAMPER
|
|
|
+ ,BALANCINGDAMPER
|
|
|
+ ,BLASTDAMPER
|
|
|
+ ,CONTROLDAMPER
|
|
|
+ ,FIREDAMPER
|
|
|
+ ,FIRESMOKEDAMPER
|
|
|
+ ,FUMEHOODEXHAUST
|
|
|
+ ,GRAVITYDAMPER
|
|
|
+ ,GRAVITYRELIEFDAMPER
|
|
|
+ ,RELIEFDAMPER
|
|
|
+ ,SMOKEDAMPER
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDataOriginEnum = ENUMERATION OF
|
|
|
+ (MEASURED
|
|
|
+ ,PREDICTED
|
|
|
+ ,SIMULATED
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDerivedUnitEnum = ENUMERATION OF
|
|
|
+ (ANGULARVELOCITYUNIT
|
|
|
+ ,AREADENSITYUNIT
|
|
|
+ ,COMPOUNDPLANEANGLEUNIT
|
|
|
+ ,DYNAMICVISCOSITYUNIT
|
|
|
+ ,HEATFLUXDENSITYUNIT
|
|
|
+ ,INTEGERCOUNTRATEUNIT
|
|
|
+ ,ISOTHERMALMOISTURECAPACITYUNIT
|
|
|
+ ,KINEMATICVISCOSITYUNIT
|
|
|
+ ,LINEARVELOCITYUNIT
|
|
|
+ ,MASSDENSITYUNIT
|
|
|
+ ,MASSFLOWRATEUNIT
|
|
|
+ ,MOISTUREDIFFUSIVITYUNIT
|
|
|
+ ,MOLECULARWEIGHTUNIT
|
|
|
+ ,SPECIFICHEATCAPACITYUNIT
|
|
|
+ ,THERMALADMITTANCEUNIT
|
|
|
+ ,THERMALCONDUCTANCEUNIT
|
|
|
+ ,THERMALRESISTANCEUNIT
|
|
|
+ ,THERMALTRANSMITTANCEUNIT
|
|
|
+ ,VAPORPERMEABILITYUNIT
|
|
|
+ ,VOLUMETRICFLOWRATEUNIT
|
|
|
+ ,ROTATIONALFREQUENCYUNIT
|
|
|
+ ,TORQUEUNIT
|
|
|
+ ,MOMENTOFINERTIAUNIT
|
|
|
+ ,LINEARMOMENTUNIT
|
|
|
+ ,LINEARFORCEUNIT
|
|
|
+ ,PLANARFORCEUNIT
|
|
|
+ ,MODULUSOFELASTICITYUNIT
|
|
|
+ ,SHEARMODULUSUNIT
|
|
|
+ ,LINEARSTIFFNESSUNIT
|
|
|
+ ,ROTATIONALSTIFFNESSUNIT
|
|
|
+ ,MODULUSOFSUBGRADEREACTIONUNIT
|
|
|
+ ,ACCELERATIONUNIT
|
|
|
+ ,CURVATUREUNIT
|
|
|
+ ,HEATINGVALUEUNIT
|
|
|
+ ,IONCONCENTRATIONUNIT
|
|
|
+ ,LUMINOUSINTENSITYDISTRIBUTIONUNIT
|
|
|
+ ,MASSPERLENGTHUNIT
|
|
|
+ ,MODULUSOFLINEARSUBGRADEREACTIONUNIT
|
|
|
+ ,MODULUSOFROTATIONALSUBGRADEREACTIONUNIT
|
|
|
+ ,PHUNIT
|
|
|
+ ,ROTATIONALMASSUNIT
|
|
|
+ ,SECTIONAREAINTEGRALUNIT
|
|
|
+ ,SECTIONMODULUSUNIT
|
|
|
+ ,SOUNDPOWERLEVELUNIT
|
|
|
+ ,SOUNDPOWERUNIT
|
|
|
+ ,SOUNDPRESSURELEVELUNIT
|
|
|
+ ,SOUNDPRESSUREUNIT
|
|
|
+ ,TEMPERATUREGRADIENTUNIT
|
|
|
+ ,TEMPERATURERATEOFCHANGEUNIT
|
|
|
+ ,THERMALEXPANSIONCOEFFICIENTUNIT
|
|
|
+ ,WARPINGCONSTANTUNIT
|
|
|
+ ,WARPINGMOMENTUNIT
|
|
|
+ ,USERDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDirectionSenseEnum = ENUMERATION OF
|
|
|
+ (POSITIVE
|
|
|
+ ,NEGATIVE);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDiscreteAccessoryTypeEnum = ENUMERATION OF
|
|
|
+ (ANCHORPLATE
|
|
|
+ ,BRACKET
|
|
|
+ ,SHOE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDistributionChamberElementTypeEnum = ENUMERATION OF
|
|
|
+ (FORMEDDUCT
|
|
|
+ ,INSPECTIONCHAMBER
|
|
|
+ ,INSPECTIONPIT
|
|
|
+ ,MANHOLE
|
|
|
+ ,METERCHAMBER
|
|
|
+ ,SUMP
|
|
|
+ ,TRENCH
|
|
|
+ ,VALVECHAMBER
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDistributionPortTypeEnum = ENUMERATION OF
|
|
|
+ (CABLE
|
|
|
+ ,CABLECARRIER
|
|
|
+ ,DUCT
|
|
|
+ ,PIPE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDistributionSystemEnum = ENUMERATION OF
|
|
|
+ (AIRCONDITIONING
|
|
|
+ ,AUDIOVISUAL
|
|
|
+ ,CHEMICAL
|
|
|
+ ,CHILLEDWATER
|
|
|
+ ,COMMUNICATION
|
|
|
+ ,COMPRESSEDAIR
|
|
|
+ ,CONDENSERWATER
|
|
|
+ ,CONTROL
|
|
|
+ ,CONVEYING
|
|
|
+ ,DATA
|
|
|
+ ,DISPOSAL
|
|
|
+ ,DOMESTICCOLDWATER
|
|
|
+ ,DOMESTICHOTWATER
|
|
|
+ ,DRAINAGE
|
|
|
+ ,EARTHING
|
|
|
+ ,ELECTRICAL
|
|
|
+ ,ELECTROACOUSTIC
|
|
|
+ ,EXHAUST
|
|
|
+ ,FIREPROTECTION
|
|
|
+ ,FUEL
|
|
|
+ ,GAS
|
|
|
+ ,HAZARDOUS
|
|
|
+ ,HEATING
|
|
|
+ ,LIGHTING
|
|
|
+ ,LIGHTNINGPROTECTION
|
|
|
+ ,MUNICIPALSOLIDWASTE
|
|
|
+ ,OIL
|
|
|
+ ,OPERATIONAL
|
|
|
+ ,POWERGENERATION
|
|
|
+ ,RAINWATER
|
|
|
+ ,REFRIGERATION
|
|
|
+ ,SECURITY
|
|
|
+ ,SEWAGE
|
|
|
+ ,SIGNAL
|
|
|
+ ,STORMWATER
|
|
|
+ ,TELEPHONE
|
|
|
+ ,TV
|
|
|
+ ,VACUUM
|
|
|
+ ,VENT
|
|
|
+ ,VENTILATION
|
|
|
+ ,WASTEWATER
|
|
|
+ ,WATERSUPPLY
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDocumentConfidentialityEnum = ENUMERATION OF
|
|
|
+ (PUBLIC
|
|
|
+ ,RESTRICTED
|
|
|
+ ,CONFIDENTIAL
|
|
|
+ ,PERSONAL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDocumentStatusEnum = ENUMERATION OF
|
|
|
+ (DRAFT
|
|
|
+ ,FINALDRAFT
|
|
|
+ ,FINAL
|
|
|
+ ,REVISION
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDoorPanelOperationEnum = ENUMERATION OF
|
|
|
+ (SWINGING
|
|
|
+ ,DOUBLE_ACTING
|
|
|
+ ,SLIDING
|
|
|
+ ,FOLDING
|
|
|
+ ,REVOLVING
|
|
|
+ ,ROLLINGUP
|
|
|
+ ,FIXEDPANEL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDoorPanelPositionEnum = ENUMERATION OF
|
|
|
+ (LEFT
|
|
|
+ ,MIDDLE
|
|
|
+ ,RIGHT
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDoorStyleConstructionEnum = ENUMERATION OF
|
|
|
+ (ALUMINIUM
|
|
|
+ ,HIGH_GRADE_STEEL
|
|
|
+ ,STEEL
|
|
|
+ ,WOOD
|
|
|
+ ,ALUMINIUM_WOOD
|
|
|
+ ,ALUMINIUM_PLASTIC
|
|
|
+ ,PLASTIC
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDoorStyleOperationEnum = ENUMERATION OF
|
|
|
+ (SINGLE_SWING_LEFT
|
|
|
+ ,SINGLE_SWING_RIGHT
|
|
|
+ ,DOUBLE_DOOR_SINGLE_SWING
|
|
|
+ ,DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT
|
|
|
+ ,DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT
|
|
|
+ ,DOUBLE_SWING_LEFT
|
|
|
+ ,DOUBLE_SWING_RIGHT
|
|
|
+ ,DOUBLE_DOOR_DOUBLE_SWING
|
|
|
+ ,SLIDING_TO_LEFT
|
|
|
+ ,SLIDING_TO_RIGHT
|
|
|
+ ,DOUBLE_DOOR_SLIDING
|
|
|
+ ,FOLDING_TO_LEFT
|
|
|
+ ,FOLDING_TO_RIGHT
|
|
|
+ ,DOUBLE_DOOR_FOLDING
|
|
|
+ ,REVOLVING
|
|
|
+ ,ROLLINGUP
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDoorTypeEnum = ENUMERATION OF
|
|
|
+ (DOOR
|
|
|
+ ,GATE
|
|
|
+ ,TRAPDOOR
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDoorTypeOperationEnum = ENUMERATION OF
|
|
|
+ (SINGLE_SWING_LEFT
|
|
|
+ ,SINGLE_SWING_RIGHT
|
|
|
+ ,DOUBLE_DOOR_SINGLE_SWING
|
|
|
+ ,DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT
|
|
|
+ ,DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT
|
|
|
+ ,DOUBLE_SWING_LEFT
|
|
|
+ ,DOUBLE_SWING_RIGHT
|
|
|
+ ,DOUBLE_DOOR_DOUBLE_SWING
|
|
|
+ ,SLIDING_TO_LEFT
|
|
|
+ ,SLIDING_TO_RIGHT
|
|
|
+ ,DOUBLE_DOOR_SLIDING
|
|
|
+ ,FOLDING_TO_LEFT
|
|
|
+ ,FOLDING_TO_RIGHT
|
|
|
+ ,DOUBLE_DOOR_FOLDING
|
|
|
+ ,REVOLVING
|
|
|
+ ,ROLLINGUP
|
|
|
+ ,SWING_FIXED_LEFT
|
|
|
+ ,SWING_FIXED_RIGHT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDuctFittingTypeEnum = ENUMERATION OF
|
|
|
+ (BEND
|
|
|
+ ,CONNECTOR
|
|
|
+ ,ENTRY
|
|
|
+ ,EXIT
|
|
|
+ ,JUNCTION
|
|
|
+ ,OBSTRUCTION
|
|
|
+ ,TRANSITION
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDuctSegmentTypeEnum = ENUMERATION OF
|
|
|
+ (RIGIDSEGMENT
|
|
|
+ ,FLEXIBLESEGMENT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDuctSilencerTypeEnum = ENUMERATION OF
|
|
|
+ (FLATOVAL
|
|
|
+ ,RECTANGULAR
|
|
|
+ ,ROUND
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElectricApplianceTypeEnum = ENUMERATION OF
|
|
|
+ (DISHWASHER
|
|
|
+ ,ELECTRICCOOKER
|
|
|
+ ,FREESTANDINGELECTRICHEATER
|
|
|
+ ,FREESTANDINGFAN
|
|
|
+ ,FREESTANDINGWATERHEATER
|
|
|
+ ,FREESTANDINGWATERCOOLER
|
|
|
+ ,FREEZER
|
|
|
+ ,FRIDGE_FREEZER
|
|
|
+ ,HANDDRYER
|
|
|
+ ,KITCHENMACHINE
|
|
|
+ ,MICROWAVE
|
|
|
+ ,PHOTOCOPIER
|
|
|
+ ,REFRIGERATOR
|
|
|
+ ,TUMBLEDRYER
|
|
|
+ ,VENDINGMACHINE
|
|
|
+ ,WASHINGMACHINE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElectricDistributionBoardTypeEnum = ENUMERATION OF
|
|
|
+ (CONSUMERUNIT
|
|
|
+ ,DISTRIBUTIONBOARD
|
|
|
+ ,MOTORCONTROLCENTRE
|
|
|
+ ,SWITCHBOARD
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElectricFlowStorageDeviceTypeEnum = ENUMERATION OF
|
|
|
+ (BATTERY
|
|
|
+ ,CAPACITORBANK
|
|
|
+ ,HARMONICFILTER
|
|
|
+ ,INDUCTORBANK
|
|
|
+ ,UPS
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElectricGeneratorTypeEnum = ENUMERATION OF
|
|
|
+ (CHP
|
|
|
+ ,ENGINEGENERATOR
|
|
|
+ ,STANDALONE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElectricMotorTypeEnum = ENUMERATION OF
|
|
|
+ (DC
|
|
|
+ ,INDUCTION
|
|
|
+ ,POLYPHASE
|
|
|
+ ,RELUCTANCESYNCHRONOUS
|
|
|
+ ,SYNCHRONOUS
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElectricTimeControlTypeEnum = ENUMERATION OF
|
|
|
+ (TIMECLOCK
|
|
|
+ ,TIMEDELAY
|
|
|
+ ,RELAY
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElementAssemblyTypeEnum = ENUMERATION OF
|
|
|
+ (ACCESSORY_ASSEMBLY
|
|
|
+ ,ARCH
|
|
|
+ ,BEAM_GRID
|
|
|
+ ,BRACED_FRAME
|
|
|
+ ,GIRDER
|
|
|
+ ,REINFORCEMENT_UNIT
|
|
|
+ ,RIGID_FRAME
|
|
|
+ ,SLAB_FIELD
|
|
|
+ ,TRUSS
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcElementCompositionEnum = ENUMERATION OF
|
|
|
+ (COMPLEX
|
|
|
+ ,ELEMENT
|
|
|
+ ,PARTIAL);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcEngineTypeEnum = ENUMERATION OF
|
|
|
+ (EXTERNALCOMBUSTION
|
|
|
+ ,INTERNALCOMBUSTION
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcEvaporativeCoolerTypeEnum = ENUMERATION OF
|
|
|
+ (DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER
|
|
|
+ ,DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER
|
|
|
+ ,DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER
|
|
|
+ ,DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER
|
|
|
+ ,DIRECTEVAPORATIVEAIRWASHER
|
|
|
+ ,INDIRECTEVAPORATIVEPACKAGEAIRCOOLER
|
|
|
+ ,INDIRECTEVAPORATIVEWETCOIL
|
|
|
+ ,INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER
|
|
|
+ ,INDIRECTDIRECTCOMBINATION
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcEvaporatorTypeEnum = ENUMERATION OF
|
|
|
+ (DIRECTEXPANSION
|
|
|
+ ,DIRECTEXPANSIONSHELLANDTUBE
|
|
|
+ ,DIRECTEXPANSIONTUBEINTUBE
|
|
|
+ ,DIRECTEXPANSIONBRAZEDPLATE
|
|
|
+ ,FLOODEDSHELLANDTUBE
|
|
|
+ ,SHELLANDCOIL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcEventTriggerTypeEnum = ENUMERATION OF
|
|
|
+ (EVENTRULE
|
|
|
+ ,EVENTMESSAGE
|
|
|
+ ,EVENTTIME
|
|
|
+ ,EVENTCOMPLEX
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcEventTypeEnum = ENUMERATION OF
|
|
|
+ (STARTEVENT
|
|
|
+ ,ENDEVENT
|
|
|
+ ,INTERMEDIATEEVENT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcExternalSpatialElementTypeEnum = ENUMERATION OF
|
|
|
+ (EXTERNAL
|
|
|
+ ,EXTERNAL_EARTH
|
|
|
+ ,EXTERNAL_WATER
|
|
|
+ ,EXTERNAL_FIRE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFanTypeEnum = ENUMERATION OF
|
|
|
+ (CENTRIFUGALFORWARDCURVED
|
|
|
+ ,CENTRIFUGALRADIAL
|
|
|
+ ,CENTRIFUGALBACKWARDINCLINEDCURVED
|
|
|
+ ,CENTRIFUGALAIRFOIL
|
|
|
+ ,TUBEAXIAL
|
|
|
+ ,VANEAXIAL
|
|
|
+ ,PROPELLORAXIAL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFastenerTypeEnum = ENUMERATION OF
|
|
|
+ (GLUE
|
|
|
+ ,MORTAR
|
|
|
+ ,WELD
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFilterTypeEnum = ENUMERATION OF
|
|
|
+ (AIRPARTICLEFILTER
|
|
|
+ ,COMPRESSEDAIRFILTER
|
|
|
+ ,ODORFILTER
|
|
|
+ ,OILFILTER
|
|
|
+ ,STRAINER
|
|
|
+ ,WATERFILTER
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFireSuppressionTerminalTypeEnum = ENUMERATION OF
|
|
|
+ (BREECHINGINLET
|
|
|
+ ,FIREHYDRANT
|
|
|
+ ,HOSEREEL
|
|
|
+ ,SPRINKLER
|
|
|
+ ,SPRINKLERDEFLECTOR
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFlowDirectionEnum = ENUMERATION OF
|
|
|
+ (SOURCE
|
|
|
+ ,SINK
|
|
|
+ ,SOURCEANDSINK
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFlowInstrumentTypeEnum = ENUMERATION OF
|
|
|
+ (PRESSUREGAUGE
|
|
|
+ ,THERMOMETER
|
|
|
+ ,AMMETER
|
|
|
+ ,FREQUENCYMETER
|
|
|
+ ,POWERFACTORMETER
|
|
|
+ ,PHASEANGLEMETER
|
|
|
+ ,VOLTMETER_PEAK
|
|
|
+ ,VOLTMETER_RMS
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFlowMeterTypeEnum = ENUMERATION OF
|
|
|
+ (ENERGYMETER
|
|
|
+ ,GASMETER
|
|
|
+ ,OILMETER
|
|
|
+ ,WATERMETER
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFootingTypeEnum = ENUMERATION OF
|
|
|
+ (CAISSON_FOUNDATION
|
|
|
+ ,FOOTING_BEAM
|
|
|
+ ,PAD_FOOTING
|
|
|
+ ,PILE_CAP
|
|
|
+ ,STRIP_FOOTING
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFurnitureTypeEnum = ENUMERATION OF
|
|
|
+ (CHAIR
|
|
|
+ ,TABLE
|
|
|
+ ,DESK
|
|
|
+ ,BED
|
|
|
+ ,FILECABINET
|
|
|
+ ,SHELF
|
|
|
+ ,SOFA
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcGeographicElementTypeEnum = ENUMERATION OF
|
|
|
+ (TERRAIN
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcGeometricProjectionEnum = ENUMERATION OF
|
|
|
+ (GRAPH_VIEW
|
|
|
+ ,SKETCH_VIEW
|
|
|
+ ,MODEL_VIEW
|
|
|
+ ,PLAN_VIEW
|
|
|
+ ,REFLECTED_PLAN_VIEW
|
|
|
+ ,SECTION_VIEW
|
|
|
+ ,ELEVATION_VIEW
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcGlobalOrLocalEnum = ENUMERATION OF
|
|
|
+ (GLOBAL_COORDS
|
|
|
+ ,LOCAL_COORDS);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcGridTypeEnum = ENUMERATION OF
|
|
|
+ (RECTANGULAR
|
|
|
+ ,RADIAL
|
|
|
+ ,TRIANGULAR
|
|
|
+ ,IRREGULAR
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcHeatExchangerTypeEnum = ENUMERATION OF
|
|
|
+ (PLATE
|
|
|
+ ,SHELLANDTUBE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcHumidifierTypeEnum = ENUMERATION OF
|
|
|
+ (STEAMINJECTION
|
|
|
+ ,ADIABATICAIRWASHER
|
|
|
+ ,ADIABATICPAN
|
|
|
+ ,ADIABATICWETTEDELEMENT
|
|
|
+ ,ADIABATICATOMIZING
|
|
|
+ ,ADIABATICULTRASONIC
|
|
|
+ ,ADIABATICRIGIDMEDIA
|
|
|
+ ,ADIABATICCOMPRESSEDAIRNOZZLE
|
|
|
+ ,ASSISTEDELECTRIC
|
|
|
+ ,ASSISTEDNATURALGAS
|
|
|
+ ,ASSISTEDPROPANE
|
|
|
+ ,ASSISTEDBUTANE
|
|
|
+ ,ASSISTEDSTEAM
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcInterceptorTypeEnum = ENUMERATION OF
|
|
|
+ (CYCLONIC
|
|
|
+ ,GREASE
|
|
|
+ ,OIL
|
|
|
+ ,PETROL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcInternalOrExternalEnum = ENUMERATION OF
|
|
|
+ (INTERNAL
|
|
|
+ ,EXTERNAL
|
|
|
+ ,EXTERNAL_EARTH
|
|
|
+ ,EXTERNAL_WATER
|
|
|
+ ,EXTERNAL_FIRE
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcInventoryTypeEnum = ENUMERATION OF
|
|
|
+ (ASSETINVENTORY
|
|
|
+ ,SPACEINVENTORY
|
|
|
+ ,FURNITUREINVENTORY
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcJunctionBoxTypeEnum = ENUMERATION OF
|
|
|
+ (DATA
|
|
|
+ ,POWER
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcKnotType = ENUMERATION OF
|
|
|
+ (UNIFORM_KNOTS
|
|
|
+ ,QUASI_UNIFORM_KNOTS
|
|
|
+ ,PIECEWISE_BEZIER_KNOTS
|
|
|
+ ,UNSPECIFIED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLaborResourceTypeEnum = ENUMERATION OF
|
|
|
+ (ADMINISTRATION
|
|
|
+ ,CARPENTRY
|
|
|
+ ,CLEANING
|
|
|
+ ,CONCRETE
|
|
|
+ ,DRYWALL
|
|
|
+ ,ELECTRIC
|
|
|
+ ,FINISHING
|
|
|
+ ,FLOORING
|
|
|
+ ,GENERAL
|
|
|
+ ,HVAC
|
|
|
+ ,LANDSCAPING
|
|
|
+ ,MASONRY
|
|
|
+ ,PAINTING
|
|
|
+ ,PAVING
|
|
|
+ ,PLUMBING
|
|
|
+ ,ROOFING
|
|
|
+ ,SITEGRADING
|
|
|
+ ,STEELWORK
|
|
|
+ ,SURVEYING
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLampTypeEnum = ENUMERATION OF
|
|
|
+ (COMPACTFLUORESCENT
|
|
|
+ ,FLUORESCENT
|
|
|
+ ,HALOGEN
|
|
|
+ ,HIGHPRESSUREMERCURY
|
|
|
+ ,HIGHPRESSURESODIUM
|
|
|
+ ,LED
|
|
|
+ ,METALHALIDE
|
|
|
+ ,OLED
|
|
|
+ ,TUNGSTENFILAMENT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLayerSetDirectionEnum = ENUMERATION OF
|
|
|
+ (AXIS1
|
|
|
+ ,AXIS2
|
|
|
+ ,AXIS3);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLightDistributionCurveEnum = ENUMERATION OF
|
|
|
+ (TYPE_A
|
|
|
+ ,TYPE_B
|
|
|
+ ,TYPE_C
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLightEmissionSourceEnum = ENUMERATION OF
|
|
|
+ (COMPACTFLUORESCENT
|
|
|
+ ,FLUORESCENT
|
|
|
+ ,HIGHPRESSUREMERCURY
|
|
|
+ ,HIGHPRESSURESODIUM
|
|
|
+ ,LIGHTEMITTINGDIODE
|
|
|
+ ,LOWPRESSURESODIUM
|
|
|
+ ,LOWVOLTAGEHALOGEN
|
|
|
+ ,MAINVOLTAGEHALOGEN
|
|
|
+ ,METALHALIDE
|
|
|
+ ,TUNGSTENFILAMENT
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLightFixtureTypeEnum = ENUMERATION OF
|
|
|
+ (POINTSOURCE
|
|
|
+ ,DIRECTIONSOURCE
|
|
|
+ ,SECURITYLIGHTING
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLoadGroupTypeEnum = ENUMERATION OF
|
|
|
+ (LOAD_GROUP
|
|
|
+ ,LOAD_CASE
|
|
|
+ ,LOAD_COMBINATION
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLogicalOperatorEnum = ENUMERATION OF
|
|
|
+ (LOGICALAND
|
|
|
+ ,LOGICALOR
|
|
|
+ ,LOGICALXOR
|
|
|
+ ,LOGICALNOTAND
|
|
|
+ ,LOGICALNOTOR);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMechanicalFastenerTypeEnum = ENUMERATION OF
|
|
|
+ (ANCHORBOLT
|
|
|
+ ,BOLT
|
|
|
+ ,DOWEL
|
|
|
+ ,NAIL
|
|
|
+ ,NAILPLATE
|
|
|
+ ,RIVET
|
|
|
+ ,SCREW
|
|
|
+ ,SHEARCONNECTOR
|
|
|
+ ,STAPLE
|
|
|
+ ,STUDSHEARCONNECTOR
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMedicalDeviceTypeEnum = ENUMERATION OF
|
|
|
+ (AIRSTATION
|
|
|
+ ,FEEDAIRUNIT
|
|
|
+ ,OXYGENGENERATOR
|
|
|
+ ,OXYGENPLANT
|
|
|
+ ,VACUUMSTATION
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMemberTypeEnum = ENUMERATION OF
|
|
|
+ (BRACE
|
|
|
+ ,CHORD
|
|
|
+ ,COLLAR
|
|
|
+ ,MEMBER
|
|
|
+ ,MULLION
|
|
|
+ ,PLATE
|
|
|
+ ,POST
|
|
|
+ ,PURLIN
|
|
|
+ ,RAFTER
|
|
|
+ ,STRINGER
|
|
|
+ ,STRUT
|
|
|
+ ,STUD
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMotorConnectionTypeEnum = ENUMERATION OF
|
|
|
+ (BELTDRIVE
|
|
|
+ ,COUPLING
|
|
|
+ ,DIRECTDRIVE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcNullStyle = ENUMERATION OF
|
|
|
+ (NULL);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcObjectTypeEnum = ENUMERATION OF
|
|
|
+ (PRODUCT
|
|
|
+ ,PROCESS
|
|
|
+ ,CONTROL
|
|
|
+ ,RESOURCE
|
|
|
+ ,ACTOR
|
|
|
+ ,GROUP
|
|
|
+ ,PROJECT
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcObjectiveEnum = ENUMERATION OF
|
|
|
+ (CODECOMPLIANCE
|
|
|
+ ,CODEWAIVER
|
|
|
+ ,DESIGNINTENT
|
|
|
+ ,EXTERNAL
|
|
|
+ ,HEALTHANDSAFETY
|
|
|
+ ,MERGECONFLICT
|
|
|
+ ,MODELVIEW
|
|
|
+ ,PARAMETER
|
|
|
+ ,REQUIREMENT
|
|
|
+ ,SPECIFICATION
|
|
|
+ ,TRIGGERCONDITION
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcOccupantTypeEnum = ENUMERATION OF
|
|
|
+ (ASSIGNEE
|
|
|
+ ,ASSIGNOR
|
|
|
+ ,LESSEE
|
|
|
+ ,LESSOR
|
|
|
+ ,LETTINGAGENT
|
|
|
+ ,OWNER
|
|
|
+ ,TENANT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcOpeningElementTypeEnum = ENUMERATION OF
|
|
|
+ (OPENING
|
|
|
+ ,RECESS
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcOutletTypeEnum = ENUMERATION OF
|
|
|
+ (AUDIOVISUALOUTLET
|
|
|
+ ,COMMUNICATIONSOUTLET
|
|
|
+ ,POWEROUTLET
|
|
|
+ ,DATAOUTLET
|
|
|
+ ,TELEPHONEOUTLET
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPerformanceHistoryTypeEnum = ENUMERATION OF
|
|
|
+ (USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPermeableCoveringOperationEnum = ENUMERATION OF
|
|
|
+ (GRILL
|
|
|
+ ,LOUVER
|
|
|
+ ,SCREEN
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPermitTypeEnum = ENUMERATION OF
|
|
|
+ (ACCESS
|
|
|
+ ,BUILDING
|
|
|
+ ,WORK
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPhysicalOrVirtualEnum = ENUMERATION OF
|
|
|
+ (PHYSICAL
|
|
|
+ ,VIRTUAL
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPileConstructionEnum = ENUMERATION OF
|
|
|
+ (CAST_IN_PLACE
|
|
|
+ ,COMPOSITE
|
|
|
+ ,PRECAST_CONCRETE
|
|
|
+ ,PREFAB_STEEL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPileTypeEnum = ENUMERATION OF
|
|
|
+ (BORED
|
|
|
+ ,DRIVEN
|
|
|
+ ,JETGROUTING
|
|
|
+ ,COHESION
|
|
|
+ ,FRICTION
|
|
|
+ ,SUPPORT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPipeFittingTypeEnum = ENUMERATION OF
|
|
|
+ (BEND
|
|
|
+ ,CONNECTOR
|
|
|
+ ,ENTRY
|
|
|
+ ,EXIT
|
|
|
+ ,JUNCTION
|
|
|
+ ,OBSTRUCTION
|
|
|
+ ,TRANSITION
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPipeSegmentTypeEnum = ENUMERATION OF
|
|
|
+ (CULVERT
|
|
|
+ ,FLEXIBLESEGMENT
|
|
|
+ ,RIGIDSEGMENT
|
|
|
+ ,GUTTER
|
|
|
+ ,SPOOL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPlateTypeEnum = ENUMERATION OF
|
|
|
+ (CURTAIN_PANEL
|
|
|
+ ,SHEET
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPreferredSurfaceCurveRepresentation = ENUMERATION OF
|
|
|
+ (CURVE3D
|
|
|
+ ,PCURVE_S1
|
|
|
+ ,PCURVE_S2);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcProcedureTypeEnum = ENUMERATION OF
|
|
|
+ (ADVICE_CAUTION
|
|
|
+ ,ADVICE_NOTE
|
|
|
+ ,ADVICE_WARNING
|
|
|
+ ,CALIBRATION
|
|
|
+ ,DIAGNOSTIC
|
|
|
+ ,SHUTDOWN
|
|
|
+ ,STARTUP
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcProfileTypeEnum = ENUMERATION OF
|
|
|
+ (CURVE
|
|
|
+ ,AREA);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcProjectOrderTypeEnum = ENUMERATION OF
|
|
|
+ (CHANGEORDER
|
|
|
+ ,MAINTENANCEWORKORDER
|
|
|
+ ,MOVEORDER
|
|
|
+ ,PURCHASEORDER
|
|
|
+ ,WORKORDER
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcProjectedOrTrueLengthEnum = ENUMERATION OF
|
|
|
+ (PROJECTED_LENGTH
|
|
|
+ ,TRUE_LENGTH);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcProjectionElementTypeEnum = ENUMERATION OF
|
|
|
+ (USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPropertySetTemplateTypeEnum = ENUMERATION OF
|
|
|
+ (PSET_TYPEDRIVENONLY
|
|
|
+ ,PSET_TYPEDRIVENOVERRIDE
|
|
|
+ ,PSET_OCCURRENCEDRIVEN
|
|
|
+ ,PSET_PERFORMANCEDRIVEN
|
|
|
+ ,QTO_TYPEDRIVENONLY
|
|
|
+ ,QTO_TYPEDRIVENOVERRIDE
|
|
|
+ ,QTO_OCCURRENCEDRIVEN
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcProtectiveDeviceTrippingUnitTypeEnum = ENUMERATION OF
|
|
|
+ (ELECTRONIC
|
|
|
+ ,ELECTROMAGNETIC
|
|
|
+ ,RESIDUALCURRENT
|
|
|
+ ,THERMAL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcProtectiveDeviceTypeEnum = ENUMERATION OF
|
|
|
+ (CIRCUITBREAKER
|
|
|
+ ,EARTHLEAKAGECIRCUITBREAKER
|
|
|
+ ,EARTHINGSWITCH
|
|
|
+ ,FUSEDISCONNECTOR
|
|
|
+ ,RESIDUALCURRENTCIRCUITBREAKER
|
|
|
+ ,RESIDUALCURRENTSWITCH
|
|
|
+ ,VARISTOR
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPumpTypeEnum = ENUMERATION OF
|
|
|
+ (CIRCULATOR
|
|
|
+ ,ENDSUCTION
|
|
|
+ ,SPLITCASE
|
|
|
+ ,SUBMERSIBLEPUMP
|
|
|
+ ,SUMPPUMP
|
|
|
+ ,VERTICALINLINE
|
|
|
+ ,VERTICALTURBINE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcRailingTypeEnum = ENUMERATION OF
|
|
|
+ (HANDRAIL
|
|
|
+ ,GUARDRAIL
|
|
|
+ ,BALUSTRADE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcRampFlightTypeEnum = ENUMERATION OF
|
|
|
+ (STRAIGHT
|
|
|
+ ,SPIRAL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcRampTypeEnum = ENUMERATION OF
|
|
|
+ (STRAIGHT_RUN_RAMP
|
|
|
+ ,TWO_STRAIGHT_RUN_RAMP
|
|
|
+ ,QUARTER_TURN_RAMP
|
|
|
+ ,TWO_QUARTER_TURN_RAMP
|
|
|
+ ,HALF_TURN_RAMP
|
|
|
+ ,SPIRAL_RAMP
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcRecurrenceTypeEnum = ENUMERATION OF
|
|
|
+ (DAILY
|
|
|
+ ,WEEKLY
|
|
|
+ ,MONTHLY_BY_DAY_OF_MONTH
|
|
|
+ ,MONTHLY_BY_POSITION
|
|
|
+ ,BY_DAY_COUNT
|
|
|
+ ,BY_WEEKDAY_COUNT
|
|
|
+ ,YEARLY_BY_DAY_OF_MONTH
|
|
|
+ ,YEARLY_BY_POSITION);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcReflectanceMethodEnum = ENUMERATION OF
|
|
|
+ (BLINN
|
|
|
+ ,FLAT
|
|
|
+ ,GLASS
|
|
|
+ ,MATT
|
|
|
+ ,METAL
|
|
|
+ ,MIRROR
|
|
|
+ ,PHONG
|
|
|
+ ,PLASTIC
|
|
|
+ ,STRAUSS
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcReinforcingBarRoleEnum = ENUMERATION OF
|
|
|
+ (MAIN
|
|
|
+ ,SHEAR
|
|
|
+ ,LIGATURE
|
|
|
+ ,STUD
|
|
|
+ ,PUNCHING
|
|
|
+ ,EDGE
|
|
|
+ ,RING
|
|
|
+ ,ANCHORING
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcReinforcingBarSurfaceEnum = ENUMERATION OF
|
|
|
+ (PLAIN
|
|
|
+ ,TEXTURED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcReinforcingBarTypeEnum = ENUMERATION OF
|
|
|
+ (ANCHORING
|
|
|
+ ,EDGE
|
|
|
+ ,LIGATURE
|
|
|
+ ,MAIN
|
|
|
+ ,PUNCHING
|
|
|
+ ,RING
|
|
|
+ ,SHEAR
|
|
|
+ ,STUD
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcReinforcingMeshTypeEnum = ENUMERATION OF
|
|
|
+ (USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcRoleEnum = ENUMERATION OF
|
|
|
+ (SUPPLIER
|
|
|
+ ,MANUFACTURER
|
|
|
+ ,CONTRACTOR
|
|
|
+ ,SUBCONTRACTOR
|
|
|
+ ,ARCHITECT
|
|
|
+ ,STRUCTURALENGINEER
|
|
|
+ ,COSTENGINEER
|
|
|
+ ,CLIENT
|
|
|
+ ,BUILDINGOWNER
|
|
|
+ ,BUILDINGOPERATOR
|
|
|
+ ,MECHANICALENGINEER
|
|
|
+ ,ELECTRICALENGINEER
|
|
|
+ ,PROJECTMANAGER
|
|
|
+ ,FACILITIESMANAGER
|
|
|
+ ,CIVILENGINEER
|
|
|
+ ,COMMISSIONINGENGINEER
|
|
|
+ ,ENGINEER
|
|
|
+ ,OWNER
|
|
|
+ ,CONSULTANT
|
|
|
+ ,CONSTRUCTIONMANAGER
|
|
|
+ ,FIELDCONSTRUCTIONMANAGER
|
|
|
+ ,RESELLER
|
|
|
+ ,USERDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcRoofTypeEnum = ENUMERATION OF
|
|
|
+ (FLAT_ROOF
|
|
|
+ ,SHED_ROOF
|
|
|
+ ,GABLE_ROOF
|
|
|
+ ,HIP_ROOF
|
|
|
+ ,HIPPED_GABLE_ROOF
|
|
|
+ ,GAMBREL_ROOF
|
|
|
+ ,MANSARD_ROOF
|
|
|
+ ,BARREL_ROOF
|
|
|
+ ,RAINBOW_ROOF
|
|
|
+ ,BUTTERFLY_ROOF
|
|
|
+ ,PAVILION_ROOF
|
|
|
+ ,DOME_ROOF
|
|
|
+ ,FREEFORM
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSIPrefix = ENUMERATION OF
|
|
|
+ (EXA
|
|
|
+ ,PETA
|
|
|
+ ,TERA
|
|
|
+ ,GIGA
|
|
|
+ ,MEGA
|
|
|
+ ,KILO
|
|
|
+ ,HECTO
|
|
|
+ ,DECA
|
|
|
+ ,DECI
|
|
|
+ ,CENTI
|
|
|
+ ,MILLI
|
|
|
+ ,MICRO
|
|
|
+ ,NANO
|
|
|
+ ,PICO
|
|
|
+ ,FEMTO
|
|
|
+ ,ATTO);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSIUnitName = ENUMERATION OF
|
|
|
+ (AMPERE
|
|
|
+ ,BECQUEREL
|
|
|
+ ,CANDELA
|
|
|
+ ,COULOMB
|
|
|
+ ,CUBIC_METRE
|
|
|
+ ,DEGREE_CELSIUS
|
|
|
+ ,FARAD
|
|
|
+ ,GRAM
|
|
|
+ ,GRAY
|
|
|
+ ,HENRY
|
|
|
+ ,HERTZ
|
|
|
+ ,JOULE
|
|
|
+ ,KELVIN
|
|
|
+ ,LUMEN
|
|
|
+ ,LUX
|
|
|
+ ,METRE
|
|
|
+ ,MOLE
|
|
|
+ ,NEWTON
|
|
|
+ ,OHM
|
|
|
+ ,PASCAL
|
|
|
+ ,RADIAN
|
|
|
+ ,SECOND
|
|
|
+ ,SIEMENS
|
|
|
+ ,SIEVERT
|
|
|
+ ,SQUARE_METRE
|
|
|
+ ,STERADIAN
|
|
|
+ ,TESLA
|
|
|
+ ,VOLT
|
|
|
+ ,WATT
|
|
|
+ ,WEBER);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSanitaryTerminalTypeEnum = ENUMERATION OF
|
|
|
+ (BATH
|
|
|
+ ,BIDET
|
|
|
+ ,CISTERN
|
|
|
+ ,SHOWER
|
|
|
+ ,SINK
|
|
|
+ ,SANITARYFOUNTAIN
|
|
|
+ ,TOILETPAN
|
|
|
+ ,URINAL
|
|
|
+ ,WASHHANDBASIN
|
|
|
+ ,WCSEAT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSectionTypeEnum = ENUMERATION OF
|
|
|
+ (UNIFORM
|
|
|
+ ,TAPERED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSensorTypeEnum = ENUMERATION OF
|
|
|
+ (COSENSOR
|
|
|
+ ,CO2SENSOR
|
|
|
+ ,CONDUCTANCESENSOR
|
|
|
+ ,CONTACTSENSOR
|
|
|
+ ,FIRESENSOR
|
|
|
+ ,FLOWSENSOR
|
|
|
+ ,FROSTSENSOR
|
|
|
+ ,GASSENSOR
|
|
|
+ ,HEATSENSOR
|
|
|
+ ,HUMIDITYSENSOR
|
|
|
+ ,IDENTIFIERSENSOR
|
|
|
+ ,IONCONCENTRATIONSENSOR
|
|
|
+ ,LEVELSENSOR
|
|
|
+ ,LIGHTSENSOR
|
|
|
+ ,MOISTURESENSOR
|
|
|
+ ,MOVEMENTSENSOR
|
|
|
+ ,PHSENSOR
|
|
|
+ ,PRESSURESENSOR
|
|
|
+ ,RADIATIONSENSOR
|
|
|
+ ,RADIOACTIVITYSENSOR
|
|
|
+ ,SMOKESENSOR
|
|
|
+ ,SOUNDSENSOR
|
|
|
+ ,TEMPERATURESENSOR
|
|
|
+ ,WINDSENSOR
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSequenceEnum = ENUMERATION OF
|
|
|
+ (START_START
|
|
|
+ ,START_FINISH
|
|
|
+ ,FINISH_START
|
|
|
+ ,FINISH_FINISH
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcShadingDeviceTypeEnum = ENUMERATION OF
|
|
|
+ (JALOUSIE
|
|
|
+ ,SHUTTER
|
|
|
+ ,AWNING
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSimplePropertyTemplateTypeEnum = ENUMERATION OF
|
|
|
+ (P_SINGLEVALUE
|
|
|
+ ,P_ENUMERATEDVALUE
|
|
|
+ ,P_BOUNDEDVALUE
|
|
|
+ ,P_LISTVALUE
|
|
|
+ ,P_TABLEVALUE
|
|
|
+ ,P_REFERENCEVALUE
|
|
|
+ ,Q_LENGTH
|
|
|
+ ,Q_AREA
|
|
|
+ ,Q_VOLUME
|
|
|
+ ,Q_COUNT
|
|
|
+ ,Q_WEIGHT
|
|
|
+ ,Q_TIME);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSlabTypeEnum = ENUMERATION OF
|
|
|
+ (FLOOR
|
|
|
+ ,ROOF
|
|
|
+ ,LANDING
|
|
|
+ ,BASESLAB
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSolarDeviceTypeEnum = ENUMERATION OF
|
|
|
+ (SOLARCOLLECTOR
|
|
|
+ ,SOLARPANEL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSpaceHeaterTypeEnum = ENUMERATION OF
|
|
|
+ (CONVECTOR
|
|
|
+ ,RADIATOR
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSpaceTypeEnum = ENUMERATION OF
|
|
|
+ (SPACE
|
|
|
+ ,PARKING
|
|
|
+ ,GFA
|
|
|
+ ,INTERNAL
|
|
|
+ ,EXTERNAL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSpatialZoneTypeEnum = ENUMERATION OF
|
|
|
+ (CONSTRUCTION
|
|
|
+ ,FIRESAFETY
|
|
|
+ ,LIGHTING
|
|
|
+ ,OCCUPANCY
|
|
|
+ ,SECURITY
|
|
|
+ ,THERMAL
|
|
|
+ ,TRANSPORT
|
|
|
+ ,VENTILATION
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcStackTerminalTypeEnum = ENUMERATION OF
|
|
|
+ (BIRDCAGE
|
|
|
+ ,COWL
|
|
|
+ ,RAINWATERHOPPER
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcStairFlightTypeEnum = ENUMERATION OF
|
|
|
+ (STRAIGHT
|
|
|
+ ,WINDER
|
|
|
+ ,SPIRAL
|
|
|
+ ,CURVED
|
|
|
+ ,FREEFORM
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcStairTypeEnum = ENUMERATION OF
|
|
|
+ (STRAIGHT_RUN_STAIR
|
|
|
+ ,TWO_STRAIGHT_RUN_STAIR
|
|
|
+ ,QUARTER_WINDING_STAIR
|
|
|
+ ,QUARTER_TURN_STAIR
|
|
|
+ ,HALF_WINDING_STAIR
|
|
|
+ ,HALF_TURN_STAIR
|
|
|
+ ,TWO_QUARTER_WINDING_STAIR
|
|
|
+ ,TWO_QUARTER_TURN_STAIR
|
|
|
+ ,THREE_QUARTER_WINDING_STAIR
|
|
|
+ ,THREE_QUARTER_TURN_STAIR
|
|
|
+ ,SPIRAL_STAIR
|
|
|
+ ,DOUBLE_RETURN_STAIR
|
|
|
+ ,CURVED_RUN_STAIR
|
|
|
+ ,TWO_CURVED_RUN_STAIR
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcStateEnum = ENUMERATION OF
|
|
|
+ (READWRITE
|
|
|
+ ,READONLY
|
|
|
+ ,LOCKED
|
|
|
+ ,READWRITELOCKED
|
|
|
+ ,READONLYLOCKED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcStructuralCurveActivityTypeEnum = ENUMERATION OF
|
|
|
+ (CONST
|
|
|
+ ,LINEAR
|
|
|
+ ,POLYGONAL
|
|
|
+ ,EQUIDISTANT
|
|
|
+ ,SINUS
|
|
|
+ ,PARABOLA
|
|
|
+ ,DISCRETE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcStructuralCurveMemberTypeEnum = ENUMERATION OF
|
|
|
+ (RIGID_JOINED_MEMBER
|
|
|
+ ,PIN_JOINED_MEMBER
|
|
|
+ ,CABLE
|
|
|
+ ,TENSION_MEMBER
|
|
|
+ ,COMPRESSION_MEMBER
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcStructuralSurfaceActivityTypeEnum = ENUMERATION OF
|
|
|
+ (CONST
|
|
|
+ ,BILINEAR
|
|
|
+ ,DISCRETE
|
|
|
+ ,ISOCONTOUR
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcStructuralSurfaceMemberTypeEnum = ENUMERATION OF
|
|
|
+ (BENDING_ELEMENT
|
|
|
+ ,MEMBRANE_ELEMENT
|
|
|
+ ,SHELL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSubContractResourceTypeEnum = ENUMERATION OF
|
|
|
+ (PURCHASE
|
|
|
+ ,WORK
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSurfaceFeatureTypeEnum = ENUMERATION OF
|
|
|
+ (MARK
|
|
|
+ ,TAG
|
|
|
+ ,TREATMENT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSurfaceSide = ENUMERATION OF
|
|
|
+ (POSITIVE
|
|
|
+ ,NEGATIVE
|
|
|
+ ,BOTH);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSwitchingDeviceTypeEnum = ENUMERATION OF
|
|
|
+ (CONTACTOR
|
|
|
+ ,DIMMERSWITCH
|
|
|
+ ,EMERGENCYSTOP
|
|
|
+ ,KEYPAD
|
|
|
+ ,MOMENTARYSWITCH
|
|
|
+ ,SELECTORSWITCH
|
|
|
+ ,STARTER
|
|
|
+ ,SWITCHDISCONNECTOR
|
|
|
+ ,TOGGLESWITCH
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSystemFurnitureElementTypeEnum = ENUMERATION OF
|
|
|
+ (PANEL
|
|
|
+ ,WORKSURFACE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTankTypeEnum = ENUMERATION OF
|
|
|
+ (BASIN
|
|
|
+ ,BREAKPRESSURE
|
|
|
+ ,EXPANSION
|
|
|
+ ,FEEDANDEXPANSION
|
|
|
+ ,PRESSUREVESSEL
|
|
|
+ ,STORAGE
|
|
|
+ ,VESSEL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTaskDurationEnum = ENUMERATION OF
|
|
|
+ (ELAPSEDTIME
|
|
|
+ ,WORKTIME
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTaskTypeEnum = ENUMERATION OF
|
|
|
+ (ATTENDANCE
|
|
|
+ ,CONSTRUCTION
|
|
|
+ ,DEMOLITION
|
|
|
+ ,DISMANTLE
|
|
|
+ ,DISPOSAL
|
|
|
+ ,INSTALLATION
|
|
|
+ ,LOGISTIC
|
|
|
+ ,MAINTENANCE
|
|
|
+ ,MOVE
|
|
|
+ ,OPERATION
|
|
|
+ ,REMOVAL
|
|
|
+ ,RENOVATION
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTendonAnchorTypeEnum = ENUMERATION OF
|
|
|
+ (COUPLER
|
|
|
+ ,FIXED_END
|
|
|
+ ,TENSIONING_END
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTendonTypeEnum = ENUMERATION OF
|
|
|
+ (BAR
|
|
|
+ ,COATED
|
|
|
+ ,STRAND
|
|
|
+ ,WIRE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTextPath = ENUMERATION OF
|
|
|
+ (LEFT
|
|
|
+ ,RIGHT
|
|
|
+ ,UP
|
|
|
+ ,DOWN);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTimeSeriesDataTypeEnum = ENUMERATION OF
|
|
|
+ (CONTINUOUS
|
|
|
+ ,DISCRETE
|
|
|
+ ,DISCRETEBINARY
|
|
|
+ ,PIECEWISEBINARY
|
|
|
+ ,PIECEWISECONSTANT
|
|
|
+ ,PIECEWISECONTINUOUS
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTransformerTypeEnum = ENUMERATION OF
|
|
|
+ (CURRENT
|
|
|
+ ,FREQUENCY
|
|
|
+ ,INVERTER
|
|
|
+ ,RECTIFIER
|
|
|
+ ,VOLTAGE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTransitionCode = ENUMERATION OF
|
|
|
+ (DISCONTINUOUS
|
|
|
+ ,CONTINUOUS
|
|
|
+ ,CONTSAMEGRADIENT
|
|
|
+ ,CONTSAMEGRADIENTSAMECURVATURE);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTransportElementTypeEnum = ENUMERATION OF
|
|
|
+ (ELEVATOR
|
|
|
+ ,ESCALATOR
|
|
|
+ ,MOVINGWALKWAY
|
|
|
+ ,CRANEWAY
|
|
|
+ ,LIFTINGGEAR
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTrimmingPreference = ENUMERATION OF
|
|
|
+ (CARTESIAN
|
|
|
+ ,PARAMETER
|
|
|
+ ,UNSPECIFIED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTubeBundleTypeEnum = ENUMERATION OF
|
|
|
+ (FINNED
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcUnitEnum = ENUMERATION OF
|
|
|
+ (ABSORBEDDOSEUNIT
|
|
|
+ ,AMOUNTOFSUBSTANCEUNIT
|
|
|
+ ,AREAUNIT
|
|
|
+ ,DOSEEQUIVALENTUNIT
|
|
|
+ ,ELECTRICCAPACITANCEUNIT
|
|
|
+ ,ELECTRICCHARGEUNIT
|
|
|
+ ,ELECTRICCONDUCTANCEUNIT
|
|
|
+ ,ELECTRICCURRENTUNIT
|
|
|
+ ,ELECTRICRESISTANCEUNIT
|
|
|
+ ,ELECTRICVOLTAGEUNIT
|
|
|
+ ,ENERGYUNIT
|
|
|
+ ,FORCEUNIT
|
|
|
+ ,FREQUENCYUNIT
|
|
|
+ ,ILLUMINANCEUNIT
|
|
|
+ ,INDUCTANCEUNIT
|
|
|
+ ,LENGTHUNIT
|
|
|
+ ,LUMINOUSFLUXUNIT
|
|
|
+ ,LUMINOUSINTENSITYUNIT
|
|
|
+ ,MAGNETICFLUXDENSITYUNIT
|
|
|
+ ,MAGNETICFLUXUNIT
|
|
|
+ ,MASSUNIT
|
|
|
+ ,PLANEANGLEUNIT
|
|
|
+ ,POWERUNIT
|
|
|
+ ,PRESSUREUNIT
|
|
|
+ ,RADIOACTIVITYUNIT
|
|
|
+ ,SOLIDANGLEUNIT
|
|
|
+ ,THERMODYNAMICTEMPERATUREUNIT
|
|
|
+ ,TIMEUNIT
|
|
|
+ ,VOLUMEUNIT
|
|
|
+ ,USERDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcUnitaryControlElementTypeEnum = ENUMERATION OF
|
|
|
+ (ALARMPANEL
|
|
|
+ ,CONTROLPANEL
|
|
|
+ ,GASDETECTIONPANEL
|
|
|
+ ,INDICATORPANEL
|
|
|
+ ,MIMICPANEL
|
|
|
+ ,HUMIDISTAT
|
|
|
+ ,THERMOSTAT
|
|
|
+ ,WEATHERSTATION
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcUnitaryEquipmentTypeEnum = ENUMERATION OF
|
|
|
+ (AIRHANDLER
|
|
|
+ ,AIRCONDITIONINGUNIT
|
|
|
+ ,DEHUMIDIFIER
|
|
|
+ ,SPLITSYSTEM
|
|
|
+ ,ROOFTOPUNIT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcValveTypeEnum = ENUMERATION OF
|
|
|
+ (AIRRELEASE
|
|
|
+ ,ANTIVACUUM
|
|
|
+ ,CHANGEOVER
|
|
|
+ ,CHECK
|
|
|
+ ,COMMISSIONING
|
|
|
+ ,DIVERTING
|
|
|
+ ,DRAWOFFCOCK
|
|
|
+ ,DOUBLECHECK
|
|
|
+ ,DOUBLEREGULATING
|
|
|
+ ,FAUCET
|
|
|
+ ,FLUSHING
|
|
|
+ ,GASCOCK
|
|
|
+ ,GASTAP
|
|
|
+ ,ISOLATING
|
|
|
+ ,MIXING
|
|
|
+ ,PRESSUREREDUCING
|
|
|
+ ,PRESSURERELIEF
|
|
|
+ ,REGULATING
|
|
|
+ ,SAFETYCUTOFF
|
|
|
+ ,STEAMTRAP
|
|
|
+ ,STOPCOCK
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcVibrationIsolatorTypeEnum = ENUMERATION OF
|
|
|
+ (COMPRESSION
|
|
|
+ ,SPRING
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcVoidingFeatureTypeEnum = ENUMERATION OF
|
|
|
+ (CUTOUT
|
|
|
+ ,NOTCH
|
|
|
+ ,HOLE
|
|
|
+ ,MITER
|
|
|
+ ,CHAMFER
|
|
|
+ ,EDGE
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWallTypeEnum = ENUMERATION OF
|
|
|
+ (MOVABLE
|
|
|
+ ,PARAPET
|
|
|
+ ,PARTITIONING
|
|
|
+ ,PLUMBINGWALL
|
|
|
+ ,SHEAR
|
|
|
+ ,SOLIDWALL
|
|
|
+ ,STANDARD
|
|
|
+ ,POLYGONAL
|
|
|
+ ,ELEMENTEDWALL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWasteTerminalTypeEnum = ENUMERATION OF
|
|
|
+ (FLOORTRAP
|
|
|
+ ,FLOORWASTE
|
|
|
+ ,GULLYSUMP
|
|
|
+ ,GULLYTRAP
|
|
|
+ ,ROOFDRAIN
|
|
|
+ ,WASTEDISPOSALUNIT
|
|
|
+ ,WASTETRAP
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWindowPanelOperationEnum = ENUMERATION OF
|
|
|
+ (SIDEHUNGRIGHTHAND
|
|
|
+ ,SIDEHUNGLEFTHAND
|
|
|
+ ,TILTANDTURNRIGHTHAND
|
|
|
+ ,TILTANDTURNLEFTHAND
|
|
|
+ ,TOPHUNG
|
|
|
+ ,BOTTOMHUNG
|
|
|
+ ,PIVOTHORIZONTAL
|
|
|
+ ,PIVOTVERTICAL
|
|
|
+ ,SLIDINGHORIZONTAL
|
|
|
+ ,SLIDINGVERTICAL
|
|
|
+ ,REMOVABLECASEMENT
|
|
|
+ ,FIXEDCASEMENT
|
|
|
+ ,OTHEROPERATION
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWindowPanelPositionEnum = ENUMERATION OF
|
|
|
+ (LEFT
|
|
|
+ ,MIDDLE
|
|
|
+ ,RIGHT
|
|
|
+ ,BOTTOM
|
|
|
+ ,TOP
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWindowStyleConstructionEnum = ENUMERATION OF
|
|
|
+ (ALUMINIUM
|
|
|
+ ,HIGH_GRADE_STEEL
|
|
|
+ ,STEEL
|
|
|
+ ,WOOD
|
|
|
+ ,ALUMINIUM_WOOD
|
|
|
+ ,PLASTIC
|
|
|
+ ,OTHER_CONSTRUCTION
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWindowStyleOperationEnum = ENUMERATION OF
|
|
|
+ (SINGLE_PANEL
|
|
|
+ ,DOUBLE_PANEL_VERTICAL
|
|
|
+ ,DOUBLE_PANEL_HORIZONTAL
|
|
|
+ ,TRIPLE_PANEL_VERTICAL
|
|
|
+ ,TRIPLE_PANEL_BOTTOM
|
|
|
+ ,TRIPLE_PANEL_TOP
|
|
|
+ ,TRIPLE_PANEL_LEFT
|
|
|
+ ,TRIPLE_PANEL_RIGHT
|
|
|
+ ,TRIPLE_PANEL_HORIZONTAL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWindowTypeEnum = ENUMERATION OF
|
|
|
+ (WINDOW
|
|
|
+ ,SKYLIGHT
|
|
|
+ ,LIGHTDOME
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWindowTypePartitioningEnum = ENUMERATION OF
|
|
|
+ (SINGLE_PANEL
|
|
|
+ ,DOUBLE_PANEL_VERTICAL
|
|
|
+ ,DOUBLE_PANEL_HORIZONTAL
|
|
|
+ ,TRIPLE_PANEL_VERTICAL
|
|
|
+ ,TRIPLE_PANEL_BOTTOM
|
|
|
+ ,TRIPLE_PANEL_TOP
|
|
|
+ ,TRIPLE_PANEL_LEFT
|
|
|
+ ,TRIPLE_PANEL_RIGHT
|
|
|
+ ,TRIPLE_PANEL_HORIZONTAL
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWorkCalendarTypeEnum = ENUMERATION OF
|
|
|
+ (FIRSTSHIFT
|
|
|
+ ,SECONDSHIFT
|
|
|
+ ,THIRDSHIFT
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWorkPlanTypeEnum = ENUMERATION OF
|
|
|
+ (ACTUAL
|
|
|
+ ,BASELINE
|
|
|
+ ,PLANNED
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWorkScheduleTypeEnum = ENUMERATION OF
|
|
|
+ (ACTUAL
|
|
|
+ ,BASELINE
|
|
|
+ ,PLANNED
|
|
|
+ ,USERDEFINED
|
|
|
+ ,NOTDEFINED);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcActorSelect = SELECT
|
|
|
+ (IfcOrganization
|
|
|
+ ,IfcPerson
|
|
|
+ ,IfcPersonAndOrganization);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAppliedValueSelect = SELECT
|
|
|
+ (IfcMeasureWithUnit
|
|
|
+ ,IfcReference
|
|
|
+ ,IfcValue);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcAxis2Placement = SELECT
|
|
|
+ (IfcAxis2Placement2D
|
|
|
+ ,IfcAxis2Placement3D);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBendingParameterSelect = SELECT
|
|
|
+ (IfcLengthMeasure
|
|
|
+ ,IfcPlaneAngleMeasure);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcBooleanOperand = SELECT
|
|
|
+ (IfcBooleanResult
|
|
|
+ ,IfcCsgPrimitive3D
|
|
|
+ ,IfcHalfSpaceSolid
|
|
|
+ ,IfcSolidModel
|
|
|
+ ,IfcTessellatedFaceSet);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcClassificationReferenceSelect = SELECT
|
|
|
+ (IfcClassification
|
|
|
+ ,IfcClassificationReference);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcClassificationSelect = SELECT
|
|
|
+ (IfcClassification
|
|
|
+ ,IfcClassificationReference);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcColour = SELECT
|
|
|
+ (IfcColourSpecification
|
|
|
+ ,IfcPreDefinedColour);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcColourOrFactor = SELECT
|
|
|
+ (IfcColourRgb
|
|
|
+ ,IfcNormalisedRatioMeasure);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCoordinateReferenceSystemSelect = SELECT
|
|
|
+ (IfcCoordinateReferenceSystem
|
|
|
+ ,IfcGeometricRepresentationContext);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCsgSelect = SELECT
|
|
|
+ (IfcBooleanResult
|
|
|
+ ,IfcCsgPrimitive3D);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCurveFontOrScaledCurveFontSelect = SELECT
|
|
|
+ (IfcCurveStyleFontAndScaling
|
|
|
+ ,IfcCurveStyleFontSelect);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCurveOnSurface = SELECT
|
|
|
+ (IfcCompositeCurveOnSurface
|
|
|
+ ,IfcPcurve
|
|
|
+ ,IfcSurfaceCurve);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCurveOrEdgeCurve = SELECT
|
|
|
+ (IfcBoundedCurve
|
|
|
+ ,IfcEdgeCurve);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcCurveStyleFontSelect = SELECT
|
|
|
+ (IfcCurveStyleFont
|
|
|
+ ,IfcPreDefinedCurveFont);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDefinitionSelect = SELECT
|
|
|
+ (IfcObjectDefinition
|
|
|
+ ,IfcPropertyDefinition);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDerivedMeasureValue = SELECT
|
|
|
+ (IfcAbsorbedDoseMeasure
|
|
|
+ ,IfcAccelerationMeasure
|
|
|
+ ,IfcAngularVelocityMeasure
|
|
|
+ ,IfcAreaDensityMeasure
|
|
|
+ ,IfcCompoundPlaneAngleMeasure
|
|
|
+ ,IfcCurvatureMeasure
|
|
|
+ ,IfcDoseEquivalentMeasure
|
|
|
+ ,IfcDynamicViscosityMeasure
|
|
|
+ ,IfcElectricCapacitanceMeasure
|
|
|
+ ,IfcElectricChargeMeasure
|
|
|
+ ,IfcElectricConductanceMeasure
|
|
|
+ ,IfcElectricResistanceMeasure
|
|
|
+ ,IfcElectricVoltageMeasure
|
|
|
+ ,IfcEnergyMeasure
|
|
|
+ ,IfcForceMeasure
|
|
|
+ ,IfcFrequencyMeasure
|
|
|
+ ,IfcHeatFluxDensityMeasure
|
|
|
+ ,IfcHeatingValueMeasure
|
|
|
+ ,IfcIlluminanceMeasure
|
|
|
+ ,IfcInductanceMeasure
|
|
|
+ ,IfcIntegerCountRateMeasure
|
|
|
+ ,IfcIonConcentrationMeasure
|
|
|
+ ,IfcIsothermalMoistureCapacityMeasure
|
|
|
+ ,IfcKinematicViscosityMeasure
|
|
|
+ ,IfcLinearForceMeasure
|
|
|
+ ,IfcLinearMomentMeasure
|
|
|
+ ,IfcLinearStiffnessMeasure
|
|
|
+ ,IfcLinearVelocityMeasure
|
|
|
+ ,IfcLuminousFluxMeasure
|
|
|
+ ,IfcLuminousIntensityDistributionMeasure
|
|
|
+ ,IfcMagneticFluxDensityMeasure
|
|
|
+ ,IfcMagneticFluxMeasure
|
|
|
+ ,IfcMassDensityMeasure
|
|
|
+ ,IfcMassFlowRateMeasure
|
|
|
+ ,IfcMassPerLengthMeasure
|
|
|
+ ,IfcModulusOfElasticityMeasure
|
|
|
+ ,IfcModulusOfLinearSubgradeReactionMeasure
|
|
|
+ ,IfcModulusOfRotationalSubgradeReactionMeasure
|
|
|
+ ,IfcModulusOfSubgradeReactionMeasure
|
|
|
+ ,IfcMoistureDiffusivityMeasure
|
|
|
+ ,IfcMolecularWeightMeasure
|
|
|
+ ,IfcMomentOfInertiaMeasure
|
|
|
+ ,IfcMonetaryMeasure
|
|
|
+ ,IfcPHMeasure
|
|
|
+ ,IfcPlanarForceMeasure
|
|
|
+ ,IfcPowerMeasure
|
|
|
+ ,IfcPressureMeasure
|
|
|
+ ,IfcRadioActivityMeasure
|
|
|
+ ,IfcRotationalFrequencyMeasure
|
|
|
+ ,IfcRotationalMassMeasure
|
|
|
+ ,IfcRotationalStiffnessMeasure
|
|
|
+ ,IfcSectionModulusMeasure
|
|
|
+ ,IfcSectionalAreaIntegralMeasure
|
|
|
+ ,IfcShearModulusMeasure
|
|
|
+ ,IfcSoundPowerLevelMeasure
|
|
|
+ ,IfcSoundPowerMeasure
|
|
|
+ ,IfcSoundPressureLevelMeasure
|
|
|
+ ,IfcSoundPressureMeasure
|
|
|
+ ,IfcSpecificHeatCapacityMeasure
|
|
|
+ ,IfcTemperatureGradientMeasure
|
|
|
+ ,IfcTemperatureRateOfChangeMeasure
|
|
|
+ ,IfcThermalAdmittanceMeasure
|
|
|
+ ,IfcThermalConductivityMeasure
|
|
|
+ ,IfcThermalExpansionCoefficientMeasure
|
|
|
+ ,IfcThermalResistanceMeasure
|
|
|
+ ,IfcThermalTransmittanceMeasure
|
|
|
+ ,IfcTorqueMeasure
|
|
|
+ ,IfcVaporPermeabilityMeasure
|
|
|
+ ,IfcVolumetricFlowRateMeasure
|
|
|
+ ,IfcWarpingConstantMeasure
|
|
|
+ ,IfcWarpingMomentMeasure);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcDocumentSelect = SELECT
|
|
|
+ (IfcDocumentInformation
|
|
|
+ ,IfcDocumentReference);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcFillStyleSelect = SELECT
|
|
|
+ (IfcColour
|
|
|
+ ,IfcExternallyDefinedHatchStyle
|
|
|
+ ,IfcFillAreaStyleHatching
|
|
|
+ ,IfcFillAreaStyleTiles);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcGeometricSetSelect = SELECT
|
|
|
+ (IfcCurve
|
|
|
+ ,IfcPoint
|
|
|
+ ,IfcSurface);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcGridPlacementDirectionSelect = SELECT
|
|
|
+ (IfcDirection
|
|
|
+ ,IfcVirtualGridIntersection);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcHatchLineDistanceSelect = SELECT
|
|
|
+ (IfcPositiveLengthMeasure
|
|
|
+ ,IfcVector);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLayeredItem = SELECT
|
|
|
+ (IfcRepresentation
|
|
|
+ ,IfcRepresentationItem);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLibrarySelect = SELECT
|
|
|
+ (IfcLibraryInformation
|
|
|
+ ,IfcLibraryReference);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcLightDistributionDataSourceSelect = SELECT
|
|
|
+ (IfcExternalReference
|
|
|
+ ,IfcLightIntensityDistribution);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMaterialSelect = SELECT
|
|
|
+ (IfcMaterialDefinition
|
|
|
+ ,IfcMaterialList
|
|
|
+ ,IfcMaterialUsageDefinition);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMeasureValue = SELECT
|
|
|
+ (IfcAmountOfSubstanceMeasure
|
|
|
+ ,IfcAreaMeasure
|
|
|
+ ,IfcComplexNumber
|
|
|
+ ,IfcContextDependentMeasure
|
|
|
+ ,IfcCountMeasure
|
|
|
+ ,IfcDescriptiveMeasure
|
|
|
+ ,IfcElectricCurrentMeasure
|
|
|
+ ,IfcLengthMeasure
|
|
|
+ ,IfcLuminousIntensityMeasure
|
|
|
+ ,IfcMassMeasure
|
|
|
+ ,IfcNonNegativeLengthMeasure
|
|
|
+ ,IfcNormalisedRatioMeasure
|
|
|
+ ,IfcNumericMeasure
|
|
|
+ ,IfcParameterValue
|
|
|
+ ,IfcPlaneAngleMeasure
|
|
|
+ ,IfcPositiveLengthMeasure
|
|
|
+ ,IfcPositivePlaneAngleMeasure
|
|
|
+ ,IfcPositiveRatioMeasure
|
|
|
+ ,IfcRatioMeasure
|
|
|
+ ,IfcSolidAngleMeasure
|
|
|
+ ,IfcThermodynamicTemperatureMeasure
|
|
|
+ ,IfcTimeMeasure
|
|
|
+ ,IfcVolumeMeasure);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcMetricValueSelect = SELECT
|
|
|
+ (IfcAppliedValue
|
|
|
+ ,IfcMeasureWithUnit
|
|
|
+ ,IfcReference
|
|
|
+ ,IfcTable
|
|
|
+ ,IfcTimeSeries
|
|
|
+ ,IfcValue);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcModulusOfRotationalSubgradeReactionSelect = SELECT
|
|
|
+ (IfcBoolean
|
|
|
+ ,IfcModulusOfRotationalSubgradeReactionMeasure);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcModulusOfSubgradeReactionSelect = SELECT
|
|
|
+ (IfcBoolean
|
|
|
+ ,IfcModulusOfSubgradeReactionMeasure);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcModulusOfTranslationalSubgradeReactionSelect = SELECT
|
|
|
+ (IfcBoolean
|
|
|
+ ,IfcModulusOfLinearSubgradeReactionMeasure);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcObjectReferenceSelect = SELECT
|
|
|
+ (IfcAddress
|
|
|
+ ,IfcAppliedValue
|
|
|
+ ,IfcExternalReference
|
|
|
+ ,IfcMaterialDefinition
|
|
|
+ ,IfcOrganization
|
|
|
+ ,IfcPerson
|
|
|
+ ,IfcPersonAndOrganization
|
|
|
+ ,IfcTable
|
|
|
+ ,IfcTimeSeries);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPointOrVertexPoint = SELECT
|
|
|
+ (IfcPoint
|
|
|
+ ,IfcVertexPoint);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPresentationStyleSelect = SELECT
|
|
|
+ (IfcCurveStyle
|
|
|
+ ,IfcFillAreaStyle
|
|
|
+ ,IfcNullStyle
|
|
|
+ ,IfcSurfaceStyle
|
|
|
+ ,IfcTextStyle);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcProcessSelect = SELECT
|
|
|
+ (IfcProcess
|
|
|
+ ,IfcTypeProcess);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcProductRepresentationSelect = SELECT
|
|
|
+ (IfcProductDefinitionShape
|
|
|
+ ,IfcRepresentationMap);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcProductSelect = SELECT
|
|
|
+ (IfcProduct
|
|
|
+ ,IfcTypeProduct);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcPropertySetDefinitionSelect = SELECT
|
|
|
+ (IfcPropertySetDefinition
|
|
|
+ ,IfcPropertySetDefinitionSet);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcResourceObjectSelect = SELECT
|
|
|
+ (IfcActorRole
|
|
|
+ ,IfcAppliedValue
|
|
|
+ ,IfcApproval
|
|
|
+ ,IfcConstraint
|
|
|
+ ,IfcContextDependentUnit
|
|
|
+ ,IfcConversionBasedUnit
|
|
|
+ ,IfcExternalInformation
|
|
|
+ ,IfcExternalReference
|
|
|
+ ,IfcMaterialDefinition
|
|
|
+ ,IfcOrganization
|
|
|
+ ,IfcPerson
|
|
|
+ ,IfcPersonAndOrganization
|
|
|
+ ,IfcPhysicalQuantity
|
|
|
+ ,IfcProfileDef
|
|
|
+ ,IfcPropertyAbstraction
|
|
|
+ ,IfcTimeSeries);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcResourceSelect = SELECT
|
|
|
+ (IfcResource
|
|
|
+ ,IfcTypeResource);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcRotationalStiffnessSelect = SELECT
|
|
|
+ (IfcBoolean
|
|
|
+ ,IfcRotationalStiffnessMeasure);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSegmentIndexSelect = SELECT
|
|
|
+ (IfcArcIndex
|
|
|
+ ,IfcLineIndex);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcShell = SELECT
|
|
|
+ (IfcClosedShell
|
|
|
+ ,IfcOpenShell);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSimpleValue = SELECT
|
|
|
+ (IfcBinary
|
|
|
+ ,IfcBoolean
|
|
|
+ ,IfcDate
|
|
|
+ ,IfcDateTime
|
|
|
+ ,IfcDuration
|
|
|
+ ,IfcIdentifier
|
|
|
+ ,IfcInteger
|
|
|
+ ,IfcLabel
|
|
|
+ ,IfcLogical
|
|
|
+ ,IfcPositiveInteger
|
|
|
+ ,IfcReal
|
|
|
+ ,IfcText
|
|
|
+ ,IfcTime
|
|
|
+ ,IfcTimeStamp);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSizeSelect = SELECT
|
|
|
+ (IfcDescriptiveMeasure
|
|
|
+ ,IfcLengthMeasure
|
|
|
+ ,IfcNormalisedRatioMeasure
|
|
|
+ ,IfcPositiveLengthMeasure
|
|
|
+ ,IfcPositiveRatioMeasure
|
|
|
+ ,IfcRatioMeasure);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSolidOrShell = SELECT
|
|
|
+ (IfcClosedShell
|
|
|
+ ,IfcSolidModel);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSpaceBoundarySelect = SELECT
|
|
|
+ (IfcExternalSpatialElement
|
|
|
+ ,IfcSpace);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSpecularHighlightSelect = SELECT
|
|
|
+ (IfcSpecularExponent
|
|
|
+ ,IfcSpecularRoughness);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcStructuralActivityAssignmentSelect = SELECT
|
|
|
+ (IfcElement
|
|
|
+ ,IfcStructuralItem);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcStyleAssignmentSelect = SELECT
|
|
|
+ (IfcPresentationStyle
|
|
|
+ ,IfcPresentationStyleAssignment);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSurfaceOrFaceSurface = SELECT
|
|
|
+ (IfcFaceBasedSurfaceModel
|
|
|
+ ,IfcFaceSurface
|
|
|
+ ,IfcSurface);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcSurfaceStyleElementSelect = SELECT
|
|
|
+ (IfcExternallyDefinedSurfaceStyle
|
|
|
+ ,IfcSurfaceStyleLighting
|
|
|
+ ,IfcSurfaceStyleRefraction
|
|
|
+ ,IfcSurfaceStyleShading
|
|
|
+ ,IfcSurfaceStyleWithTextures);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTextFontSelect = SELECT
|
|
|
+ (IfcExternallyDefinedTextFont
|
|
|
+ ,IfcPreDefinedTextFont);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTimeOrRatioSelect = SELECT
|
|
|
+ (IfcDuration
|
|
|
+ ,IfcRatioMeasure);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTranslationalStiffnessSelect = SELECT
|
|
|
+ (IfcBoolean
|
|
|
+ ,IfcLinearStiffnessMeasure);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcTrimmingSelect = SELECT
|
|
|
+ (IfcCartesianPoint
|
|
|
+ ,IfcParameterValue);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcUnit = SELECT
|
|
|
+ (IfcDerivedUnit
|
|
|
+ ,IfcMonetaryUnit
|
|
|
+ ,IfcNamedUnit);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcValue = SELECT
|
|
|
+ (IfcDerivedMeasureValue
|
|
|
+ ,IfcMeasureValue
|
|
|
+ ,IfcSimpleValue);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcVectorOrDirection = SELECT
|
|
|
+ (IfcDirection
|
|
|
+ ,IfcVector);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+TYPE IfcWarpingStiffnessSelect = SELECT
|
|
|
+ (IfcBoolean
|
|
|
+ ,IfcWarpingMomentMeasure);
|
|
|
+END_TYPE;
|
|
|
+
|
|
|
+ENTITY IfcActionRequest
|
|
|
+ SUBTYPE OF (IfcControl);
|
|
|
+ PredefinedType : OPTIONAL IfcActionRequestTypeEnum;
|
|
|
+ Status : OPTIONAL IfcLabel;
|
|
|
+ LongDescription : OPTIONAL IfcText;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcActor
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcOccupant))
|
|
|
+ SUBTYPE OF (IfcObject);
|
|
|
+ TheActor : IfcActorSelect;
|
|
|
+ INVERSE
|
|
|
+ IsActingUpon : SET [0:?] OF IfcRelAssignsToActor FOR RelatingActor;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcActorRole;
|
|
|
+ Role : IfcRoleEnum;
|
|
|
+ UserDefinedRole : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ INVERSE
|
|
|
+ HasExternalReference : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects;
|
|
|
+ WHERE
|
|
|
+ WR1 : (Role <> IfcRoleEnum.USERDEFINED) OR
|
|
|
+((Role = IfcRoleEnum.USERDEFINED) AND
|
|
|
+ EXISTS(SELF.UserDefinedRole));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcActuator
|
|
|
+ SUBTYPE OF (IfcDistributionControlElement);
|
|
|
+ PredefinedType : OPTIONAL IfcActuatorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcActuatorTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcActuatorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCACTUATORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcActuatorType
|
|
|
+ SUBTYPE OF (IfcDistributionControlElementType);
|
|
|
+ PredefinedType : IfcActuatorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcActuatorTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcActuatorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAddress
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcPostalAddress
|
|
|
+ ,IfcTelecomAddress));
|
|
|
+ Purpose : OPTIONAL IfcAddressTypeEnum;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ UserDefinedPurpose : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ OfPerson : SET [0:?] OF IfcPerson FOR Addresses;
|
|
|
+ OfOrganization : SET [0:?] OF IfcOrganization FOR Addresses;
|
|
|
+ WHERE
|
|
|
+ WR1 : (NOT(EXISTS(Purpose))) OR
|
|
|
+((Purpose <> IfcAddressTypeEnum.USERDEFINED) OR
|
|
|
+((Purpose = IfcAddressTypeEnum.USERDEFINED) AND
|
|
|
+ EXISTS(SELF.UserDefinedPurpose)));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAdvancedBrep
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAdvancedBrepWithVoids))
|
|
|
+ SUBTYPE OF (IfcManifoldSolidBrep);
|
|
|
+ WHERE
|
|
|
+ HasAdvancedFaces : SIZEOF(QUERY(Afs <* SELF\IfcManifoldSolidBrep.Outer.CfsFaces |
|
|
|
+ (NOT ('IFC4.IFCADVANCEDFACE' IN TYPEOF(Afs)))
|
|
|
+)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAdvancedBrepWithVoids
|
|
|
+ SUBTYPE OF (IfcAdvancedBrep);
|
|
|
+ Voids : SET [1:?] OF IfcClosedShell;
|
|
|
+ WHERE
|
|
|
+ VoidsHaveAdvancedFaces : SIZEOF (QUERY (Vsh <* Voids |
|
|
|
+ SIZEOF (QUERY (Afs <* Vsh.CfsFaces |
|
|
|
+ (NOT ('IFC4.IFCADVANCEDFACE' IN TYPEOF(Afs)))
|
|
|
+ )) = 0
|
|
|
+)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAdvancedFace
|
|
|
+ SUBTYPE OF (IfcFaceSurface);
|
|
|
+ WHERE
|
|
|
+ ApplicableSurface : SIZEOF (
|
|
|
+['IFC4.IFCELEMENTARYSURFACE',
|
|
|
+ 'IFC4.IFCSWEPTSURFACE',
|
|
|
+ 'IFC4.IFCBSPLINESURFACE'] *
|
|
|
+TYPEOF(SELF\IfcFaceSurface.FaceSurface)) = 1;
|
|
|
+ RequiresEdgeCurve : SIZEOF(QUERY (ElpFbnds <*
|
|
|
+ QUERY (Bnds <* SELF\IfcFace.Bounds |
|
|
|
+ 'IFC4.IFCEDGELOOP' IN TYPEOF(Bnds.Bound)) |
|
|
|
+ NOT (SIZEOF (QUERY (Oe <* ElpFbnds.Bound\IfcEdgeLoop.EdgeList |
|
|
|
+ NOT('IFC4.IFCEDGECURVE' IN
|
|
|
+ TYPEOF(Oe\IfcOrientedEdge.EdgeElement)
|
|
|
+ ))) = 0
|
|
|
+))) = 0;
|
|
|
+ ApplicableEdgeCurves : SIZEOF(QUERY (ElpFbnds <*
|
|
|
+ QUERY (Bnds <* SELF\IfcFace.Bounds |
|
|
|
+ 'IFC4.IFCEDGELOOP' IN TYPEOF(Bnds.Bound)) |
|
|
|
+ NOT (SIZEOF (QUERY (Oe <* ElpFbnds.Bound\IfcEdgeLoop.EdgeList |
|
|
|
+ NOT (SIZEOF (['IFC4.IFCLINE',
|
|
|
+ 'IFC4.IFCCONIC',
|
|
|
+ 'IFC4.IFCPOLYLINE',
|
|
|
+ 'IFC4.IFCBSPLINECURVE'] *
|
|
|
+ TYPEOF(Oe\IfcOrientedEdge.EdgeElement\IfcEdgeCurve.EdgeGeometry)) = 1 )
|
|
|
+ )) = 0
|
|
|
+))) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAirTerminal
|
|
|
+ SUBTYPE OF (IfcFlowTerminal);
|
|
|
+ PredefinedType : OPTIONAL IfcAirTerminalTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcAirTerminalTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcAirTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCAIRTERMINALTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAirTerminalBox
|
|
|
+ SUBTYPE OF (IfcFlowController);
|
|
|
+ PredefinedType : OPTIONAL IfcAirTerminalBoxTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcAirTerminalBoxTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcAirTerminalBoxTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCAIRTERMINALBOXTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAirTerminalBoxType
|
|
|
+ SUBTYPE OF (IfcFlowControllerType);
|
|
|
+ PredefinedType : IfcAirTerminalBoxTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcAirTerminalBoxTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcAirTerminalBoxTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAirTerminalType
|
|
|
+ SUBTYPE OF (IfcFlowTerminalType);
|
|
|
+ PredefinedType : IfcAirTerminalTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcAirTerminalTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcAirTerminalTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAirToAirHeatRecovery
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcAirToAirHeatRecoveryTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCAIRTOAIRHEATRECOVERYTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAirToAirHeatRecoveryType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcAirToAirHeatRecoveryTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAlarm
|
|
|
+ SUBTYPE OF (IfcDistributionControlElement);
|
|
|
+ PredefinedType : OPTIONAL IfcAlarmTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcAlarmTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcAlarmTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCALARMTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAlarmType
|
|
|
+ SUBTYPE OF (IfcDistributionControlElementType);
|
|
|
+ PredefinedType : IfcAlarmTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcAlarmTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcAlarmTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAnnotation
|
|
|
+ SUBTYPE OF (IfcProduct);
|
|
|
+ INVERSE
|
|
|
+ ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAnnotationFillArea
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ OuterBoundary : IfcCurve;
|
|
|
+ InnerBoundaries : OPTIONAL SET [1:?] OF IfcCurve;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcApplication;
|
|
|
+ ApplicationDeveloper : IfcOrganization;
|
|
|
+ Version : IfcLabel;
|
|
|
+ ApplicationFullName : IfcLabel;
|
|
|
+ ApplicationIdentifier : IfcIdentifier;
|
|
|
+ UNIQUE
|
|
|
+ UR1 : ApplicationIdentifier;
|
|
|
+ UR2 : ApplicationFullName, Version;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAppliedValue
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCostValue));
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ AppliedValue : OPTIONAL IfcAppliedValueSelect;
|
|
|
+ UnitBasis : OPTIONAL IfcMeasureWithUnit;
|
|
|
+ ApplicableDate : OPTIONAL IfcDate;
|
|
|
+ FixedUntilDate : OPTIONAL IfcDate;
|
|
|
+ Category : OPTIONAL IfcLabel;
|
|
|
+ Condition : OPTIONAL IfcLabel;
|
|
|
+ ArithmeticOperator : OPTIONAL IfcArithmeticOperatorEnum;
|
|
|
+ Components : OPTIONAL LIST [1:?] OF IfcAppliedValue;
|
|
|
+ INVERSE
|
|
|
+ HasExternalReference : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcApproval;
|
|
|
+ Identifier : OPTIONAL IfcIdentifier;
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ TimeOfApproval : OPTIONAL IfcDateTime;
|
|
|
+ Status : OPTIONAL IfcLabel;
|
|
|
+ Level : OPTIONAL IfcLabel;
|
|
|
+ Qualifier : OPTIONAL IfcText;
|
|
|
+ RequestingApproval : OPTIONAL IfcActorSelect;
|
|
|
+ GivingApproval : OPTIONAL IfcActorSelect;
|
|
|
+ INVERSE
|
|
|
+ HasExternalReferences : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects;
|
|
|
+ ApprovedObjects : SET [0:?] OF IfcRelAssociatesApproval FOR RelatingApproval;
|
|
|
+ ApprovedResources : SET [0:?] OF IfcResourceApprovalRelationship FOR RelatingApproval;
|
|
|
+ IsRelatedWith : SET [0:?] OF IfcApprovalRelationship FOR RelatedApprovals;
|
|
|
+ Relates : SET [0:?] OF IfcApprovalRelationship FOR RelatingApproval;
|
|
|
+ WHERE
|
|
|
+ HasIdentifierOrName : EXISTS (Identifier) OR EXISTS (Name);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcApprovalRelationship
|
|
|
+ SUBTYPE OF (IfcResourceLevelRelationship);
|
|
|
+ RelatingApproval : IfcApproval;
|
|
|
+ RelatedApprovals : SET [1:?] OF IfcApproval;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcArbitraryClosedProfileDef
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcArbitraryProfileDefWithVoids))
|
|
|
+ SUBTYPE OF (IfcProfileDef);
|
|
|
+ OuterCurve : IfcCurve;
|
|
|
+ WHERE
|
|
|
+ WR1 : OuterCurve.Dim = 2;
|
|
|
+ WR2 : NOT('IFC4.IFCLINE' IN TYPEOF(OuterCurve));
|
|
|
+ WR3 : NOT('IFC4.IFCOFFSETCURVE2D' IN TYPEOF(OuterCurve));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcArbitraryOpenProfileDef
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCenterLineProfileDef))
|
|
|
+ SUBTYPE OF (IfcProfileDef);
|
|
|
+ Curve : IfcBoundedCurve;
|
|
|
+ WHERE
|
|
|
+ WR11 : ('IFC4.IFCCENTERLINEPROFILEDEF' IN TYPEOF(SELF)) OR
|
|
|
+ (SELF\IfcProfileDef.ProfileType = IfcProfileTypeEnum.CURVE);
|
|
|
+ WR12 : Curve.Dim = 2;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcArbitraryProfileDefWithVoids
|
|
|
+ SUBTYPE OF (IfcArbitraryClosedProfileDef);
|
|
|
+ InnerCurves : SET [1:?] OF IfcCurve;
|
|
|
+ WHERE
|
|
|
+ WR1 : SELF\IfcProfileDef.ProfileType = AREA;
|
|
|
+ WR2 : SIZEOF(QUERY(temp <* InnerCurves | temp.Dim <> 2)) = 0;
|
|
|
+ WR3 : SIZEOF(QUERY(temp <* InnerCurves | 'IFC4.IFCLINE' IN TYPEOF(temp))) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAsset
|
|
|
+ SUBTYPE OF (IfcGroup);
|
|
|
+ Identification : OPTIONAL IfcIdentifier;
|
|
|
+ OriginalValue : OPTIONAL IfcCostValue;
|
|
|
+ CurrentValue : OPTIONAL IfcCostValue;
|
|
|
+ TotalReplacementCost : OPTIONAL IfcCostValue;
|
|
|
+ Owner : OPTIONAL IfcActorSelect;
|
|
|
+ User : OPTIONAL IfcActorSelect;
|
|
|
+ ResponsiblePerson : OPTIONAL IfcPerson;
|
|
|
+ IncorporationDate : OPTIONAL IfcDate;
|
|
|
+ DepreciatedValue : OPTIONAL IfcCostValue;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAsymmetricIShapeProfileDef
|
|
|
+ SUBTYPE OF (IfcParameterizedProfileDef);
|
|
|
+ BottomFlangeWidth : IfcPositiveLengthMeasure;
|
|
|
+ OverallDepth : IfcPositiveLengthMeasure;
|
|
|
+ WebThickness : IfcPositiveLengthMeasure;
|
|
|
+ BottomFlangeThickness : IfcPositiveLengthMeasure;
|
|
|
+ BottomFlangeFilletRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ TopFlangeWidth : IfcPositiveLengthMeasure;
|
|
|
+ TopFlangeThickness : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ TopFlangeFilletRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ BottomFlangeEdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ BottomFlangeSlope : OPTIONAL IfcPlaneAngleMeasure;
|
|
|
+ TopFlangeEdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ TopFlangeSlope : OPTIONAL IfcPlaneAngleMeasure;
|
|
|
+ WHERE
|
|
|
+ ValidFlangeThickness : NOT(EXISTS(TopFlangeThickness)) OR ((BottomFlangeThickness + TopFlangeThickness) < OverallDepth);
|
|
|
+ ValidWebThickness : (WebThickness < BottomFlangeWidth) AND (WebThickness < TopFlangeWidth);
|
|
|
+ ValidBottomFilletRadius : (NOT(EXISTS(BottomFlangeFilletRadius))) OR
|
|
|
+(BottomFlangeFilletRadius <= (BottomFlangeWidth - WebThickness)/2.);
|
|
|
+ ValidTopFilletRadius : (NOT(EXISTS(TopFlangeFilletRadius))) OR
|
|
|
+(TopFlangeFilletRadius <= (TopFlangeWidth - WebThickness)/2.);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAudioVisualAppliance
|
|
|
+ SUBTYPE OF (IfcFlowTerminal);
|
|
|
+ PredefinedType : OPTIONAL IfcAudioVisualApplianceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcAudioVisualApplianceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcAudioVisualApplianceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCAUDIOVISUALAPPLIANCETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAudioVisualApplianceType
|
|
|
+ SUBTYPE OF (IfcFlowTerminalType);
|
|
|
+ PredefinedType : IfcAudioVisualApplianceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcAudioVisualApplianceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcAudioVisualApplianceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAxis1Placement
|
|
|
+ SUBTYPE OF (IfcPlacement);
|
|
|
+ Axis : OPTIONAL IfcDirection;
|
|
|
+ DERIVE
|
|
|
+ Z : IfcDirection := NVL (IfcNormalise(Axis), IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,0.0,1.0]));
|
|
|
+ WHERE
|
|
|
+ AxisIs3D : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3);
|
|
|
+ LocationIs3D : SELF\IfcPlacement.Location.Dim = 3;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAxis2Placement2D
|
|
|
+ SUBTYPE OF (IfcPlacement);
|
|
|
+ RefDirection : OPTIONAL IfcDirection;
|
|
|
+ DERIVE
|
|
|
+ P : LIST [2:2] OF IfcDirection := IfcBuild2Axes(RefDirection);
|
|
|
+ WHERE
|
|
|
+ RefDirIs2D : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 2);
|
|
|
+ LocationIs2D : SELF\IfcPlacement.Location.Dim = 2;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcAxis2Placement3D
|
|
|
+ SUBTYPE OF (IfcPlacement);
|
|
|
+ Axis : OPTIONAL IfcDirection;
|
|
|
+ RefDirection : OPTIONAL IfcDirection;
|
|
|
+ DERIVE
|
|
|
+ P : LIST [3:3] OF IfcDirection := IfcBuildAxes(Axis, RefDirection);
|
|
|
+ WHERE
|
|
|
+ LocationIs3D : SELF\IfcPlacement.Location.Dim = 3;
|
|
|
+ AxisIs3D : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3);
|
|
|
+ RefDirIs3D : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 3);
|
|
|
+ AxisToRefDirPosition : (NOT (EXISTS (Axis))) OR (NOT (EXISTS (RefDirection))) OR (IfcCrossProduct(Axis,RefDirection).Magnitude > 0.0);
|
|
|
+ AxisAndRefDirProvision : NOT ((EXISTS (Axis)) XOR (EXISTS (RefDirection)));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBSplineCurve
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBSplineCurveWithKnots))
|
|
|
+ SUBTYPE OF (IfcBoundedCurve);
|
|
|
+ Degree : IfcInteger;
|
|
|
+ ControlPointsList : LIST [2:?] OF IfcCartesianPoint;
|
|
|
+ CurveForm : IfcBSplineCurveForm;
|
|
|
+ ClosedCurve : IfcLogical;
|
|
|
+ SelfIntersect : IfcLogical;
|
|
|
+ DERIVE
|
|
|
+ UpperIndexOnControlPoints : IfcInteger := (SIZEOF(ControlPointsList) - 1);
|
|
|
+ ControlPoints : ARRAY [0:UpperIndexOnControlPoints] OF IfcCartesianPoint := IfcListToArray(ControlPointsList,0,UpperIndexOnControlPoints);
|
|
|
+ WHERE
|
|
|
+ SameDim : SIZEOF(QUERY(Temp <* ControlPointsList |
|
|
|
+ Temp.Dim <> ControlPointsList[1].Dim))
|
|
|
+= 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBSplineCurveWithKnots
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRationalBSplineCurveWithKnots))
|
|
|
+ SUBTYPE OF (IfcBSplineCurve);
|
|
|
+ KnotMultiplicities : LIST [2:?] OF IfcInteger;
|
|
|
+ Knots : LIST [2:?] OF IfcParameterValue;
|
|
|
+ KnotSpec : IfcKnotType;
|
|
|
+ DERIVE
|
|
|
+ UpperIndexOnKnots : IfcInteger := SIZEOF(Knots);
|
|
|
+ WHERE
|
|
|
+ ConsistentBSpline : IfcConstraintsParamBSpline(Degree, UpperIndexOnKnots,
|
|
|
+UpperIndexOnControlPoints, KnotMultiplicities, Knots);
|
|
|
+ CorrespondingKnotLists : SIZEOF(KnotMultiplicities) = UpperIndexOnKnots;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBSplineSurface
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBSplineSurfaceWithKnots))
|
|
|
+ SUBTYPE OF (IfcBoundedSurface);
|
|
|
+ UDegree : IfcInteger;
|
|
|
+ VDegree : IfcInteger;
|
|
|
+ ControlPointsList : LIST [2:?] OF LIST [2:?] OF IfcCartesianPoint;
|
|
|
+ SurfaceForm : IfcBSplineSurfaceForm;
|
|
|
+ UClosed : IfcLogical;
|
|
|
+ VClosed : IfcLogical;
|
|
|
+ SelfIntersect : IfcLogical;
|
|
|
+ DERIVE
|
|
|
+ UUpper : IfcInteger := SIZEOF(ControlPointsList) - 1;
|
|
|
+ VUpper : IfcInteger := SIZEOF(ControlPointsList[1]) - 1;
|
|
|
+ ControlPoints : ARRAY [0:UUpper] OF ARRAY [0:VUpper] OF IfcCartesianPoint := IfcMakeArrayOfArray(ControlPointsList,
|
|
|
+0,UUpper,0,VUpper);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBSplineSurfaceWithKnots
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRationalBSplineSurfaceWithKnots))
|
|
|
+ SUBTYPE OF (IfcBSplineSurface);
|
|
|
+ UMultiplicities : LIST [2:?] OF IfcInteger;
|
|
|
+ VMultiplicities : LIST [2:?] OF IfcInteger;
|
|
|
+ UKnots : LIST [2:?] OF IfcParameterValue;
|
|
|
+ VKnots : LIST [2:?] OF IfcParameterValue;
|
|
|
+ KnotSpec : IfcKnotType;
|
|
|
+ DERIVE
|
|
|
+ KnotVUpper : IfcInteger := SIZEOF(VKnots);
|
|
|
+ KnotUUpper : IfcInteger := SIZEOF(UKnots);
|
|
|
+ WHERE
|
|
|
+ UDirectionConstraints : IfcConstraintsParamBSpline (
|
|
|
+ SELF\IfcBSplineSurface.UDegree, KnotUUpper,
|
|
|
+ SELF\IfcBSplineSurface.UUpper, UMultiplicities, UKnots);
|
|
|
+ VDirectionConstraints : IfcConstraintsParamBSpline (
|
|
|
+ SELF\IfcBSplineSurface.VDegree, KnotVUpper,
|
|
|
+ SELF\IfcBSplineSurface.VUpper, VMultiplicities, VKnots);
|
|
|
+ CorrespondingULists : SIZEOF(UMultiplicities) = KnotUUpper;
|
|
|
+ CorrespondingVLists : SIZEOF(VMultiplicities) = KnotVUpper;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBeam
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBeamStandardCase))
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcBeamTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcBeamTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcBeamTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCBEAMTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBeamStandardCase
|
|
|
+ SUBTYPE OF (IfcBeam);
|
|
|
+ WHERE
|
|
|
+ HasMaterialProfileSetUsage : SIZEOF (QUERY(temp <* USEDIN(SELF, 'IFC4.IFCRELASSOCIATES.RELATEDOBJECTS') |
|
|
|
+ ('IFC4.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp)) AND
|
|
|
+ ('IFC4.IFCMATERIALPROFILESETUSAGE' IN TYPEOF(temp.RelatingMaterial))
|
|
|
+ )) = 1;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBeamType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcBeamTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcBeamTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcBeamTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBlobTexture
|
|
|
+ SUBTYPE OF (IfcSurfaceTexture);
|
|
|
+ RasterFormat : IfcIdentifier;
|
|
|
+ RasterCode : IfcBinary;
|
|
|
+ WHERE
|
|
|
+ SupportedRasterFormat : SELF.RasterFormat IN ['BMP', 'JPG', 'GIF', 'PNG'];
|
|
|
+ RasterCodeByteStream : BLENGTH(RasterCode) MOD 8 = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBlock
|
|
|
+ SUBTYPE OF (IfcCsgPrimitive3D);
|
|
|
+ XLength : IfcPositiveLengthMeasure;
|
|
|
+ YLength : IfcPositiveLengthMeasure;
|
|
|
+ ZLength : IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBoiler
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcBoilerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcBoilerTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcBoilerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCBOILERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBoilerType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcBoilerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcBoilerTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcBoilerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBooleanClippingResult
|
|
|
+ SUBTYPE OF (IfcBooleanResult);
|
|
|
+ WHERE
|
|
|
+ FirstOperandType : ('IFC4.IFCSWEPTAREASOLID' IN TYPEOF(FirstOperand)) OR
|
|
|
+('IFC4.IFCSWEPTDISCSOLID' IN TYPEOF(FirstOperand)) OR
|
|
|
+('IFC4.IFCBOOLEANCLIPPINGRESULT' IN TYPEOF(FirstOperand));
|
|
|
+ SecondOperandType : ('IFC4.IFCHALFSPACESOLID' IN TYPEOF(SecondOperand));
|
|
|
+ OperatorType : Operator = DIFFERENCE;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBooleanResult
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBooleanClippingResult))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ Operator : IfcBooleanOperator;
|
|
|
+ FirstOperand : IfcBooleanOperand;
|
|
|
+ SecondOperand : IfcBooleanOperand;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := FirstOperand.Dim;
|
|
|
+ WHERE
|
|
|
+ SameDim : FirstOperand.Dim = SecondOperand.Dim;
|
|
|
+ FirstOperandClosed : NOT('IFC4.IFCTESSELLATEDFACESET' IN TYPEOF(FirstOperand)) OR (EXISTS(FirstOperand.Closed) AND FirstOperand.Closed);
|
|
|
+ SecondOperandClosed : NOT('IFC4.IFCTESSELLATEDFACESET' IN TYPEOF(SecondOperand)) OR (EXISTS(SecondOperand.Closed) AND SecondOperand.Closed);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBoundaryCondition
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBoundaryEdgeCondition
|
|
|
+ ,IfcBoundaryFaceCondition
|
|
|
+ ,IfcBoundaryNodeCondition));
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBoundaryCurve
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcOuterBoundaryCurve))
|
|
|
+ SUBTYPE OF (IfcCompositeCurveOnSurface);
|
|
|
+ WHERE
|
|
|
+ IsClosed : SELF\IfcCompositeCurve.ClosedCurve;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBoundaryEdgeCondition
|
|
|
+ SUBTYPE OF (IfcBoundaryCondition);
|
|
|
+ TranslationalStiffnessByLengthX : OPTIONAL IfcModulusOfTranslationalSubgradeReactionSelect;
|
|
|
+ TranslationalStiffnessByLengthY : OPTIONAL IfcModulusOfTranslationalSubgradeReactionSelect;
|
|
|
+ TranslationalStiffnessByLengthZ : OPTIONAL IfcModulusOfTranslationalSubgradeReactionSelect;
|
|
|
+ RotationalStiffnessByLengthX : OPTIONAL IfcModulusOfRotationalSubgradeReactionSelect;
|
|
|
+ RotationalStiffnessByLengthY : OPTIONAL IfcModulusOfRotationalSubgradeReactionSelect;
|
|
|
+ RotationalStiffnessByLengthZ : OPTIONAL IfcModulusOfRotationalSubgradeReactionSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBoundaryFaceCondition
|
|
|
+ SUBTYPE OF (IfcBoundaryCondition);
|
|
|
+ TranslationalStiffnessByAreaX : OPTIONAL IfcModulusOfSubgradeReactionSelect;
|
|
|
+ TranslationalStiffnessByAreaY : OPTIONAL IfcModulusOfSubgradeReactionSelect;
|
|
|
+ TranslationalStiffnessByAreaZ : OPTIONAL IfcModulusOfSubgradeReactionSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBoundaryNodeCondition
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBoundaryNodeConditionWarping))
|
|
|
+ SUBTYPE OF (IfcBoundaryCondition);
|
|
|
+ TranslationalStiffnessX : OPTIONAL IfcTranslationalStiffnessSelect;
|
|
|
+ TranslationalStiffnessY : OPTIONAL IfcTranslationalStiffnessSelect;
|
|
|
+ TranslationalStiffnessZ : OPTIONAL IfcTranslationalStiffnessSelect;
|
|
|
+ RotationalStiffnessX : OPTIONAL IfcRotationalStiffnessSelect;
|
|
|
+ RotationalStiffnessY : OPTIONAL IfcRotationalStiffnessSelect;
|
|
|
+ RotationalStiffnessZ : OPTIONAL IfcRotationalStiffnessSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBoundaryNodeConditionWarping
|
|
|
+ SUBTYPE OF (IfcBoundaryNodeCondition);
|
|
|
+ WarpingStiffness : OPTIONAL IfcWarpingStiffnessSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBoundedCurve
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBSplineCurve
|
|
|
+ ,IfcCompositeCurve
|
|
|
+ ,IfcIndexedPolyCurve
|
|
|
+ ,IfcPolyline
|
|
|
+ ,IfcTrimmedCurve))
|
|
|
+ SUBTYPE OF (IfcCurve);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBoundedSurface
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBSplineSurface
|
|
|
+ ,IfcCurveBoundedPlane
|
|
|
+ ,IfcCurveBoundedSurface
|
|
|
+ ,IfcRectangularTrimmedSurface))
|
|
|
+ SUBTYPE OF (IfcSurface);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBoundingBox
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ Corner : IfcCartesianPoint;
|
|
|
+ XDim : IfcPositiveLengthMeasure;
|
|
|
+ YDim : IfcPositiveLengthMeasure;
|
|
|
+ ZDim : IfcPositiveLengthMeasure;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := 3;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBoxedHalfSpace
|
|
|
+ SUBTYPE OF (IfcHalfSpaceSolid);
|
|
|
+ Enclosure : IfcBoundingBox;
|
|
|
+ WHERE
|
|
|
+ UnboundedSurface : NOT ('IFC4.IFCCURVEBOUNDEDPLANE' IN TYPEOF(SELF\IfcHalfSpaceSolid.BaseSurface));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBuilding
|
|
|
+ SUBTYPE OF (IfcSpatialStructureElement);
|
|
|
+ ElevationOfRefHeight : OPTIONAL IfcLengthMeasure;
|
|
|
+ ElevationOfTerrain : OPTIONAL IfcLengthMeasure;
|
|
|
+ BuildingAddress : OPTIONAL IfcPostalAddress;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBuildingElement
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBeam
|
|
|
+ ,IfcBuildingElementProxy
|
|
|
+ ,IfcChimney
|
|
|
+ ,IfcColumn
|
|
|
+ ,IfcCovering
|
|
|
+ ,IfcCurtainWall
|
|
|
+ ,IfcDoor
|
|
|
+ ,IfcFooting
|
|
|
+ ,IfcMember
|
|
|
+ ,IfcPile
|
|
|
+ ,IfcPlate
|
|
|
+ ,IfcRailing
|
|
|
+ ,IfcRamp
|
|
|
+ ,IfcRampFlight
|
|
|
+ ,IfcRoof
|
|
|
+ ,IfcShadingDevice
|
|
|
+ ,IfcSlab
|
|
|
+ ,IfcStair
|
|
|
+ ,IfcStairFlight
|
|
|
+ ,IfcWall
|
|
|
+ ,IfcWindow))
|
|
|
+ SUBTYPE OF (IfcElement);
|
|
|
+ WHERE
|
|
|
+ MaxOneMaterialAssociation : SIZEOF (QUERY(temp <* SELF\IfcObjectDefinition.HasAssociations |
|
|
|
+ 'IFC4.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp)
|
|
|
+ )) <= 1;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBuildingElementPart
|
|
|
+ SUBTYPE OF (IfcElementComponent);
|
|
|
+ PredefinedType : OPTIONAL IfcBuildingElementPartTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+(PredefinedType <> IfcBuildingElementPartTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcBuildingElementPartTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCBUILDINGELEMENTPARTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBuildingElementPartType
|
|
|
+ SUBTYPE OF (IfcElementComponentType);
|
|
|
+ PredefinedType : IfcBuildingElementPartTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcBuildingElementPartTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcBuildingElementPartTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBuildingElementProxy
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcBuildingElementProxyTypeEnum;
|
|
|
+ WHERE
|
|
|
+ HasObjectName : EXISTS(SELF\IfcRoot.Name);
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcBuildingElementProxyTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcBuildingElementProxyTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCBUILDINGELEMENTPROXYTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBuildingElementProxyType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcBuildingElementProxyTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcBuildingElementProxyTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcBuildingElementProxyTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBuildingElementType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBeamType
|
|
|
+ ,IfcBuildingElementProxyType
|
|
|
+ ,IfcChimneyType
|
|
|
+ ,IfcColumnType
|
|
|
+ ,IfcCoveringType
|
|
|
+ ,IfcCurtainWallType
|
|
|
+ ,IfcDoorType
|
|
|
+ ,IfcFootingType
|
|
|
+ ,IfcMemberType
|
|
|
+ ,IfcPileType
|
|
|
+ ,IfcPlateType
|
|
|
+ ,IfcRailingType
|
|
|
+ ,IfcRampFlightType
|
|
|
+ ,IfcRampType
|
|
|
+ ,IfcRoofType
|
|
|
+ ,IfcShadingDeviceType
|
|
|
+ ,IfcSlabType
|
|
|
+ ,IfcStairFlightType
|
|
|
+ ,IfcStairType
|
|
|
+ ,IfcWallType
|
|
|
+ ,IfcWindowType))
|
|
|
+ SUBTYPE OF (IfcElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBuildingStorey
|
|
|
+ SUBTYPE OF (IfcSpatialStructureElement);
|
|
|
+ Elevation : OPTIONAL IfcLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBuildingSystem
|
|
|
+ SUBTYPE OF (IfcSystem);
|
|
|
+ PredefinedType : OPTIONAL IfcBuildingSystemTypeEnum;
|
|
|
+ LongName : OPTIONAL IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBurner
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcBurnerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcBurnerTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcBurnerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCBURNERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcBurnerType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcBurnerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcBurnerTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcBurnerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCShapeProfileDef
|
|
|
+ SUBTYPE OF (IfcParameterizedProfileDef);
|
|
|
+ Depth : IfcPositiveLengthMeasure;
|
|
|
+ Width : IfcPositiveLengthMeasure;
|
|
|
+ WallThickness : IfcPositiveLengthMeasure;
|
|
|
+ Girth : IfcPositiveLengthMeasure;
|
|
|
+ InternalFilletRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ ValidGirth : Girth < (Depth / 2.);
|
|
|
+ ValidInternalFilletRadius : NOT(EXISTS(InternalFilletRadius)) OR
|
|
|
+((InternalFilletRadius <= Width/2. - WallThickness) AND (InternalFilletRadius <= Depth/2. - WallThickness));
|
|
|
+ ValidWallThickness : (WallThickness < Width/2.) AND (WallThickness < Depth/2.);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCableCarrierFitting
|
|
|
+ SUBTYPE OF (IfcFlowFitting);
|
|
|
+ PredefinedType : OPTIONAL IfcCableCarrierFittingTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcCableCarrierFittingTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcCableCarrierFittingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCABLECARRIERFITTINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCableCarrierFittingType
|
|
|
+ SUBTYPE OF (IfcFlowFittingType);
|
|
|
+ PredefinedType : IfcCableCarrierFittingTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcCableCarrierFittingTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcCableCarrierFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCableCarrierSegment
|
|
|
+ SUBTYPE OF (IfcFlowSegment);
|
|
|
+ PredefinedType : OPTIONAL IfcCableCarrierSegmentTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcCableCarrierSegmentTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcCableCarrierSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCABLECARRIERSEGMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCableCarrierSegmentType
|
|
|
+ SUBTYPE OF (IfcFlowSegmentType);
|
|
|
+ PredefinedType : IfcCableCarrierSegmentTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcCableCarrierSegmentTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcCableCarrierSegmentTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCableFitting
|
|
|
+ SUBTYPE OF (IfcFlowFitting);
|
|
|
+ PredefinedType : OPTIONAL IfcCableFittingTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcCableFittingTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcCableFittingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCABLEFITTINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCableFittingType
|
|
|
+ SUBTYPE OF (IfcFlowFittingType);
|
|
|
+ PredefinedType : IfcCableFittingTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcCableFittingTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcCableFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCableSegment
|
|
|
+ SUBTYPE OF (IfcFlowSegment);
|
|
|
+ PredefinedType : OPTIONAL IfcCableSegmentTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcCableSegmentTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcCableSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCABLESEGMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCableSegmentType
|
|
|
+ SUBTYPE OF (IfcFlowSegmentType);
|
|
|
+ PredefinedType : IfcCableSegmentTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcCableSegmentTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcCableSegmentTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCartesianPoint
|
|
|
+ SUBTYPE OF (IfcPoint);
|
|
|
+ Coordinates : LIST [1:3] OF IfcLengthMeasure;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := HIINDEX(Coordinates);
|
|
|
+ WHERE
|
|
|
+ CP2Dor3D : HIINDEX(Coordinates) >= 2;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCartesianPointList
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCartesianPointList2D
|
|
|
+ ,IfcCartesianPointList3D))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := IfcPointListDim(SELF);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCartesianPointList2D
|
|
|
+ SUBTYPE OF (IfcCartesianPointList);
|
|
|
+ CoordList : LIST [1:?] OF LIST [2:2] OF IfcLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCartesianPointList3D
|
|
|
+ SUBTYPE OF (IfcCartesianPointList);
|
|
|
+ CoordList : LIST [1:?] OF LIST [3:3] OF IfcLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCartesianTransformationOperator
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCartesianTransformationOperator2D
|
|
|
+ ,IfcCartesianTransformationOperator3D))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ Axis1 : OPTIONAL IfcDirection;
|
|
|
+ Axis2 : OPTIONAL IfcDirection;
|
|
|
+ LocalOrigin : IfcCartesianPoint;
|
|
|
+ Scale : OPTIONAL IfcReal;
|
|
|
+ DERIVE
|
|
|
+ Scl : IfcReal := NVL(Scale, 1.0);
|
|
|
+ Dim : IfcDimensionCount := LocalOrigin.Dim;
|
|
|
+ WHERE
|
|
|
+ ScaleGreaterZero : Scl > 0.0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCartesianTransformationOperator2D
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCartesianTransformationOperator2DnonUniform))
|
|
|
+ SUBTYPE OF (IfcCartesianTransformationOperator);
|
|
|
+ DERIVE
|
|
|
+ U : LIST [2:2] OF IfcDirection := IfcBaseAxis(2,SELF\IfcCartesianTransformationOperator.Axis1,
|
|
|
+SELF\IfcCartesianTransformationOperator.Axis2,?);
|
|
|
+ WHERE
|
|
|
+ DimEqual2 : SELF\IfcCartesianTransformationOperator.Dim = 2;
|
|
|
+ Axis1Is2D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR
|
|
|
+(SELF\IfcCartesianTransformationOperator.Axis1.Dim = 2);
|
|
|
+ Axis2Is2D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR
|
|
|
+(SELF\IfcCartesianTransformationOperator.Axis2.Dim = 2);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCartesianTransformationOperator2DnonUniform
|
|
|
+ SUBTYPE OF (IfcCartesianTransformationOperator2D);
|
|
|
+ Scale2 : OPTIONAL IfcReal;
|
|
|
+ DERIVE
|
|
|
+ Scl2 : IfcReal := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
|
|
|
+ WHERE
|
|
|
+ Scale2GreaterZero : Scl2 > 0.0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCartesianTransformationOperator3D
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCartesianTransformationOperator3DnonUniform))
|
|
|
+ SUBTYPE OF (IfcCartesianTransformationOperator);
|
|
|
+ Axis3 : OPTIONAL IfcDirection;
|
|
|
+ DERIVE
|
|
|
+ U : LIST [3:3] OF IfcDirection := IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1,
|
|
|
+SELF\IfcCartesianTransformationOperator.Axis2,Axis3);
|
|
|
+ WHERE
|
|
|
+ DimIs3D : SELF\IfcCartesianTransformationOperator.Dim = 3;
|
|
|
+ Axis1Is3D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR
|
|
|
+(SELF\IfcCartesianTransformationOperator.Axis1.Dim = 3);
|
|
|
+ Axis2Is3D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR
|
|
|
+(SELF\IfcCartesianTransformationOperator.Axis2.Dim = 3);
|
|
|
+ Axis3Is3D : NOT(EXISTS(Axis3)) OR (Axis3.Dim = 3);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCartesianTransformationOperator3DnonUniform
|
|
|
+ SUBTYPE OF (IfcCartesianTransformationOperator3D);
|
|
|
+ Scale2 : OPTIONAL IfcReal;
|
|
|
+ Scale3 : OPTIONAL IfcReal;
|
|
|
+ DERIVE
|
|
|
+ Scl2 : IfcReal := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
|
|
|
+ Scl3 : IfcReal := NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl);
|
|
|
+ WHERE
|
|
|
+ Scale2GreaterZero : Scl2 > 0.0;
|
|
|
+ Scale3GreaterZero : Scl3 > 0.0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCenterLineProfileDef
|
|
|
+ SUBTYPE OF (IfcArbitraryOpenProfileDef);
|
|
|
+ Thickness : IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcChiller
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcChillerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcChillerTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcChillerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCHILLERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcChillerType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcChillerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcChillerTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcChillerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcChimney
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcChimneyTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcChimneyTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcChimneyTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCHIMNEYTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcChimneyType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcChimneyTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcChimneyTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcChimneyTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCircle
|
|
|
+ SUBTYPE OF (IfcConic);
|
|
|
+ Radius : IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCircleHollowProfileDef
|
|
|
+ SUBTYPE OF (IfcCircleProfileDef);
|
|
|
+ WallThickness : IfcPositiveLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ WR1 : WallThickness < SELF\IfcCircleProfileDef.Radius;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCircleProfileDef
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCircleHollowProfileDef))
|
|
|
+ SUBTYPE OF (IfcParameterizedProfileDef);
|
|
|
+ Radius : IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCivilElement
|
|
|
+ SUBTYPE OF (IfcElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCivilElementType
|
|
|
+ SUBTYPE OF (IfcElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcClassification
|
|
|
+ SUBTYPE OF (IfcExternalInformation);
|
|
|
+ Source : OPTIONAL IfcLabel;
|
|
|
+ Edition : OPTIONAL IfcLabel;
|
|
|
+ EditionDate : OPTIONAL IfcDate;
|
|
|
+ Name : IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ Location : OPTIONAL IfcURIReference;
|
|
|
+ ReferenceTokens : OPTIONAL LIST [1:?] OF IfcIdentifier;
|
|
|
+ INVERSE
|
|
|
+ ClassificationForObjects : SET [0:?] OF IfcRelAssociatesClassification FOR RelatingClassification;
|
|
|
+ HasReferences : SET [0:?] OF IfcClassificationReference FOR ReferencedSource;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcClassificationReference
|
|
|
+ SUBTYPE OF (IfcExternalReference);
|
|
|
+ ReferencedSource : OPTIONAL IfcClassificationReferenceSelect;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ Sort : OPTIONAL IfcIdentifier;
|
|
|
+ INVERSE
|
|
|
+ ClassificationRefForObjects : SET [0:?] OF IfcRelAssociatesClassification FOR RelatingClassification;
|
|
|
+ HasReferences : SET [0:?] OF IfcClassificationReference FOR ReferencedSource;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcClosedShell
|
|
|
+ SUBTYPE OF (IfcConnectedFaceSet);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCoil
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcCoilTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcCoilTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcCoilTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCOILTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCoilType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcCoilTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcCoilTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcCoilTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcColourRgb
|
|
|
+ SUBTYPE OF (IfcColourSpecification);
|
|
|
+ Red : IfcNormalisedRatioMeasure;
|
|
|
+ Green : IfcNormalisedRatioMeasure;
|
|
|
+ Blue : IfcNormalisedRatioMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcColourRgbList
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ ColourList : LIST [1:?] OF LIST [3:3] OF IfcNormalisedRatioMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcColourSpecification
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcColourRgb))
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcColumn
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcColumnStandardCase))
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcColumnTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcColumnTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcColumnTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCOLUMNTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcColumnStandardCase
|
|
|
+ SUBTYPE OF (IfcColumn);
|
|
|
+ WHERE
|
|
|
+ HasMaterialProfileSetUsage : SIZEOF (QUERY(temp <* USEDIN(SELF, 'IFC4.IFCRELASSOCIATES.RELATEDOBJECTS') |
|
|
|
+ ('IFC4.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp)) AND
|
|
|
+ ('IFC4.IFCMATERIALPROFILESETUSAGE' IN TYPEOF(temp.RelatingMaterial))
|
|
|
+ )) = 1;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcColumnType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcColumnTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcColumnTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcColumnTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCommunicationsAppliance
|
|
|
+ SUBTYPE OF (IfcFlowTerminal);
|
|
|
+ PredefinedType : OPTIONAL IfcCommunicationsApplianceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcCommunicationsApplianceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcCommunicationsApplianceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCOMMUNICATIONSAPPLIANCETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCommunicationsApplianceType
|
|
|
+ SUBTYPE OF (IfcFlowTerminalType);
|
|
|
+ PredefinedType : IfcCommunicationsApplianceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcCommunicationsApplianceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcCommunicationsApplianceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcComplexProperty
|
|
|
+ SUBTYPE OF (IfcProperty);
|
|
|
+ UsageName : IfcIdentifier;
|
|
|
+ HasProperties : SET [1:?] OF IfcProperty;
|
|
|
+ WHERE
|
|
|
+ WR21 : SIZEOF(QUERY(temp <* HasProperties | SELF :=: temp)) = 0;
|
|
|
+ WR22 : IfcUniquePropertyName(HasProperties);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcComplexPropertyTemplate
|
|
|
+ SUBTYPE OF (IfcPropertyTemplate);
|
|
|
+ UsageName : OPTIONAL IfcLabel;
|
|
|
+ TemplateType : OPTIONAL IfcComplexPropertyTemplateTypeEnum;
|
|
|
+ HasPropertyTemplates : OPTIONAL SET [1:?] OF IfcPropertyTemplate;
|
|
|
+ WHERE
|
|
|
+ UniquePropertyNames : IfcUniquePropertyTemplateNames(HasPropertyTemplates);
|
|
|
+ NoSelfReference : SIZEOF(QUERY(temp <* HasPropertyTemplates | SELF :=: temp)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCompositeCurve
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCompositeCurveOnSurface))
|
|
|
+ SUBTYPE OF (IfcBoundedCurve);
|
|
|
+ Segments : LIST [1:?] OF IfcCompositeCurveSegment;
|
|
|
+ SelfIntersect : IfcLogical;
|
|
|
+ DERIVE
|
|
|
+ NSegments : IfcInteger := SIZEOF(Segments);
|
|
|
+ ClosedCurve : IfcLogical := Segments[NSegments].Transition <> Discontinuous;
|
|
|
+ WHERE
|
|
|
+ CurveContinuous : ((NOT ClosedCurve) AND (SIZEOF(QUERY(Temp <* Segments | Temp.Transition = Discontinuous)) = 1)) OR ((ClosedCurve) AND (SIZEOF(QUERY(Temp <* Segments | Temp.Transition = Discontinuous)) = 0));
|
|
|
+ SameDim : SIZEOF( QUERY( Temp <* Segments | Temp.Dim <> Segments[1].Dim)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCompositeCurveOnSurface
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBoundaryCurve))
|
|
|
+ SUBTYPE OF (IfcCompositeCurve);
|
|
|
+ DERIVE
|
|
|
+ BasisSurface : SET [0:1] OF IfcSurface := IfcGetBasisSurface(SELF);
|
|
|
+ WHERE
|
|
|
+ SameSurface : SIZEOF(BasisSurface) > 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCompositeCurveSegment
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcReparametrisedCompositeCurveSegment))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ Transition : IfcTransitionCode;
|
|
|
+ SameSense : IfcBoolean;
|
|
|
+ ParentCurve : IfcCurve;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := ParentCurve.Dim;
|
|
|
+ INVERSE
|
|
|
+ UsingCurves : SET [1:?] OF IfcCompositeCurve FOR Segments;
|
|
|
+ WHERE
|
|
|
+ ParentIsBoundedCurve : ('IFC4.IFCBOUNDEDCURVE' IN TYPEOF(ParentCurve));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCompositeProfileDef
|
|
|
+ SUBTYPE OF (IfcProfileDef);
|
|
|
+ Profiles : SET [2:?] OF IfcProfileDef;
|
|
|
+ Label : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ InvariantProfileType : SIZEOF(QUERY(temp <* Profiles | temp.ProfileType <> Profiles[1].ProfileType)) = 0;
|
|
|
+ NoRecursion : SIZEOF(QUERY(temp <* Profiles | 'IFC4.IFCCOMPOSITEPROFILEDEF' IN TYPEOF(temp))) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCompressor
|
|
|
+ SUBTYPE OF (IfcFlowMovingDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcCompressorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcCompressorTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcCompressorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCOMPRESSORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCompressorType
|
|
|
+ SUBTYPE OF (IfcFlowMovingDeviceType);
|
|
|
+ PredefinedType : IfcCompressorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcCompressorTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcCompressorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCondenser
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcCondenserTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcCondenserTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcCondenserTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCONDENSERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCondenserType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcCondenserTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcCondenserTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcCondenserTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConic
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCircle
|
|
|
+ ,IfcEllipse))
|
|
|
+ SUBTYPE OF (IfcCurve);
|
|
|
+ Position : IfcAxis2Placement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConnectedFaceSet
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcClosedShell
|
|
|
+ ,IfcOpenShell))
|
|
|
+ SUBTYPE OF (IfcTopologicalRepresentationItem);
|
|
|
+ CfsFaces : SET [1:?] OF IfcFace;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConnectionCurveGeometry
|
|
|
+ SUBTYPE OF (IfcConnectionGeometry);
|
|
|
+ CurveOnRelatingElement : IfcCurveOrEdgeCurve;
|
|
|
+ CurveOnRelatedElement : OPTIONAL IfcCurveOrEdgeCurve;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConnectionGeometry
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcConnectionCurveGeometry
|
|
|
+ ,IfcConnectionPointGeometry
|
|
|
+ ,IfcConnectionSurfaceGeometry
|
|
|
+ ,IfcConnectionVolumeGeometry));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConnectionPointEccentricity
|
|
|
+ SUBTYPE OF (IfcConnectionPointGeometry);
|
|
|
+ EccentricityInX : OPTIONAL IfcLengthMeasure;
|
|
|
+ EccentricityInY : OPTIONAL IfcLengthMeasure;
|
|
|
+ EccentricityInZ : OPTIONAL IfcLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConnectionPointGeometry
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcConnectionPointEccentricity))
|
|
|
+ SUBTYPE OF (IfcConnectionGeometry);
|
|
|
+ PointOnRelatingElement : IfcPointOrVertexPoint;
|
|
|
+ PointOnRelatedElement : OPTIONAL IfcPointOrVertexPoint;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConnectionSurfaceGeometry
|
|
|
+ SUBTYPE OF (IfcConnectionGeometry);
|
|
|
+ SurfaceOnRelatingElement : IfcSurfaceOrFaceSurface;
|
|
|
+ SurfaceOnRelatedElement : OPTIONAL IfcSurfaceOrFaceSurface;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConnectionVolumeGeometry
|
|
|
+ SUBTYPE OF (IfcConnectionGeometry);
|
|
|
+ VolumeOnRelatingElement : IfcSolidOrShell;
|
|
|
+ VolumeOnRelatedElement : OPTIONAL IfcSolidOrShell;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConstraint
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcMetric
|
|
|
+ ,IfcObjective));
|
|
|
+ Name : IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ ConstraintGrade : IfcConstraintEnum;
|
|
|
+ ConstraintSource : OPTIONAL IfcLabel;
|
|
|
+ CreatingActor : OPTIONAL IfcActorSelect;
|
|
|
+ CreationTime : OPTIONAL IfcDateTime;
|
|
|
+ UserDefinedGrade : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ HasExternalReferences : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects;
|
|
|
+ PropertiesForConstraint : SET [0:?] OF IfcResourceConstraintRelationship FOR RelatingConstraint;
|
|
|
+ WHERE
|
|
|
+ WR11 : (ConstraintGrade <> IfcConstraintEnum.USERDEFINED) OR
|
|
|
+((ConstraintGrade = IfcConstraintEnum.USERDEFINED) AND EXISTS(SELF\IfcConstraint.UserDefinedGrade));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConstructionEquipmentResource
|
|
|
+ SUBTYPE OF (IfcConstructionResource);
|
|
|
+ PredefinedType : OPTIONAL IfcConstructionEquipmentResourceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcConstructionEquipmentResourceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConstructionEquipmentResourceType
|
|
|
+ SUBTYPE OF (IfcConstructionResourceType);
|
|
|
+ PredefinedType : IfcConstructionEquipmentResourceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcConstructionEquipmentResourceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeResource.ResourceType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConstructionMaterialResource
|
|
|
+ SUBTYPE OF (IfcConstructionResource);
|
|
|
+ PredefinedType : OPTIONAL IfcConstructionMaterialResourceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcConstructionMaterialResourceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcConstructionMaterialResourceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConstructionMaterialResourceType
|
|
|
+ SUBTYPE OF (IfcConstructionResourceType);
|
|
|
+ PredefinedType : IfcConstructionMaterialResourceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcConstructionMaterialResourceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcConstructionMaterialResourceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeResource.ResourceType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConstructionProductResource
|
|
|
+ SUBTYPE OF (IfcConstructionResource);
|
|
|
+ PredefinedType : OPTIONAL IfcConstructionProductResourceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcConstructionProductResourceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcConstructionProductResourceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConstructionProductResourceType
|
|
|
+ SUBTYPE OF (IfcConstructionResourceType);
|
|
|
+ PredefinedType : IfcConstructionProductResourceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcConstructionProductResourceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcConstructionProductResourceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeResource.ResourceType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConstructionResource
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcConstructionEquipmentResource
|
|
|
+ ,IfcConstructionMaterialResource
|
|
|
+ ,IfcConstructionProductResource
|
|
|
+ ,IfcCrewResource
|
|
|
+ ,IfcLaborResource
|
|
|
+ ,IfcSubContractResource))
|
|
|
+ SUBTYPE OF (IfcResource);
|
|
|
+ Usage : OPTIONAL IfcResourceTime;
|
|
|
+ BaseCosts : OPTIONAL LIST [1:?] OF IfcAppliedValue;
|
|
|
+ BaseQuantity : OPTIONAL IfcPhysicalQuantity;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConstructionResourceType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcConstructionEquipmentResourceType
|
|
|
+ ,IfcConstructionMaterialResourceType
|
|
|
+ ,IfcConstructionProductResourceType
|
|
|
+ ,IfcCrewResourceType
|
|
|
+ ,IfcLaborResourceType
|
|
|
+ ,IfcSubContractResourceType))
|
|
|
+ SUBTYPE OF (IfcTypeResource);
|
|
|
+ BaseCosts : OPTIONAL LIST [1:?] OF IfcAppliedValue;
|
|
|
+ BaseQuantity : OPTIONAL IfcPhysicalQuantity;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcContext
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcProject
|
|
|
+ ,IfcProjectLibrary))
|
|
|
+ SUBTYPE OF (IfcObjectDefinition);
|
|
|
+ ObjectType : OPTIONAL IfcLabel;
|
|
|
+ LongName : OPTIONAL IfcLabel;
|
|
|
+ Phase : OPTIONAL IfcLabel;
|
|
|
+ RepresentationContexts : OPTIONAL SET [1:?] OF IfcRepresentationContext;
|
|
|
+ UnitsInContext : OPTIONAL IfcUnitAssignment;
|
|
|
+ INVERSE
|
|
|
+ IsDefinedBy : SET [0:?] OF IfcRelDefinesByProperties FOR RelatedObjects;
|
|
|
+ Declares : SET [0:?] OF IfcRelDeclares FOR RelatingContext;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcContextDependentUnit
|
|
|
+ SUBTYPE OF (IfcNamedUnit);
|
|
|
+ Name : IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ HasExternalReference : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcControl
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcActionRequest
|
|
|
+ ,IfcCostItem
|
|
|
+ ,IfcCostSchedule
|
|
|
+ ,IfcPerformanceHistory
|
|
|
+ ,IfcPermit
|
|
|
+ ,IfcProjectOrder
|
|
|
+ ,IfcWorkCalendar
|
|
|
+ ,IfcWorkControl))
|
|
|
+ SUBTYPE OF (IfcObject);
|
|
|
+ Identification : OPTIONAL IfcIdentifier;
|
|
|
+ INVERSE
|
|
|
+ Controls : SET [0:?] OF IfcRelAssignsToControl FOR RelatingControl;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcController
|
|
|
+ SUBTYPE OF (IfcDistributionControlElement);
|
|
|
+ PredefinedType : OPTIONAL IfcControllerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcControllerTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcControllerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCCONTROLLERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcControllerType
|
|
|
+ SUBTYPE OF (IfcDistributionControlElementType);
|
|
|
+ PredefinedType : IfcControllerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcControllerTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcControllerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConversionBasedUnit
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcConversionBasedUnitWithOffset))
|
|
|
+ SUBTYPE OF (IfcNamedUnit);
|
|
|
+ Name : IfcLabel;
|
|
|
+ ConversionFactor : IfcMeasureWithUnit;
|
|
|
+ INVERSE
|
|
|
+ HasExternalReference : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcConversionBasedUnitWithOffset
|
|
|
+ SUBTYPE OF (IfcConversionBasedUnit);
|
|
|
+ ConversionOffset : IfcReal;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCooledBeam
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcCooledBeamTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcCooledBeamTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcCooledBeamTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCOOLEDBEAMTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCooledBeamType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcCooledBeamTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcCooledBeamTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcCooledBeamTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCoolingTower
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcCoolingTowerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcCoolingTowerTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcCoolingTowerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCOOLINGTOWERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCoolingTowerType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcCoolingTowerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcCoolingTowerTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcCoolingTowerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCoordinateOperation
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcMapConversion));
|
|
|
+ SourceCRS : IfcCoordinateReferenceSystemSelect;
|
|
|
+ TargetCRS : IfcCoordinateReferenceSystem;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCoordinateReferenceSystem
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcProjectedCRS));
|
|
|
+ Name : IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ GeodeticDatum : OPTIONAL IfcIdentifier;
|
|
|
+ VerticalDatum : OPTIONAL IfcIdentifier;
|
|
|
+ INVERSE
|
|
|
+ HasCoordinateOperation : SET [0:1] OF IfcCoordinateOperation FOR SourceCRS;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCostItem
|
|
|
+ SUBTYPE OF (IfcControl);
|
|
|
+ PredefinedType : OPTIONAL IfcCostItemTypeEnum;
|
|
|
+ CostValues : OPTIONAL LIST [1:?] OF IfcCostValue;
|
|
|
+ CostQuantities : OPTIONAL LIST [1:?] OF IfcPhysicalQuantity;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCostSchedule
|
|
|
+ SUBTYPE OF (IfcControl);
|
|
|
+ PredefinedType : OPTIONAL IfcCostScheduleTypeEnum;
|
|
|
+ Status : OPTIONAL IfcLabel;
|
|
|
+ SubmittedOn : OPTIONAL IfcDateTime;
|
|
|
+ UpdateDate : OPTIONAL IfcDateTime;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCostValue
|
|
|
+ SUBTYPE OF (IfcAppliedValue);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCovering
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcCoveringTypeEnum;
|
|
|
+ INVERSE
|
|
|
+ CoversSpaces : SET [0:1] OF IfcRelCoversSpaces FOR RelatedCoverings;
|
|
|
+ CoversElements : SET [0:1] OF IfcRelCoversBldgElements FOR RelatedCoverings;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcCoveringTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcCoveringTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCOVERINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCoveringType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcCoveringTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcCoveringTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcCoveringTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCrewResource
|
|
|
+ SUBTYPE OF (IfcConstructionResource);
|
|
|
+ PredefinedType : OPTIONAL IfcCrewResourceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcCrewResourceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcCrewResourceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCrewResourceType
|
|
|
+ SUBTYPE OF (IfcConstructionResourceType);
|
|
|
+ PredefinedType : IfcCrewResourceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcCrewResourceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcCrewResourceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeResource.ResourceType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCsgPrimitive3D
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBlock
|
|
|
+ ,IfcRectangularPyramid
|
|
|
+ ,IfcRightCircularCone
|
|
|
+ ,IfcRightCircularCylinder
|
|
|
+ ,IfcSphere))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ Position : IfcAxis2Placement3D;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := 3;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCsgSolid
|
|
|
+ SUBTYPE OF (IfcSolidModel);
|
|
|
+ TreeRootExpression : IfcCsgSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCurrencyRelationship
|
|
|
+ SUBTYPE OF (IfcResourceLevelRelationship);
|
|
|
+ RelatingMonetaryUnit : IfcMonetaryUnit;
|
|
|
+ RelatedMonetaryUnit : IfcMonetaryUnit;
|
|
|
+ ExchangeRate : IfcPositiveRatioMeasure;
|
|
|
+ RateDateTime : OPTIONAL IfcDateTime;
|
|
|
+ RateSource : OPTIONAL IfcLibraryInformation;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCurtainWall
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcCurtainWallTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcCurtainWallTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcCurtainWallTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCCURTAINWALLTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCurtainWallType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcCurtainWallTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcCurtainWallTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcCurtainWallTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCurve
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBoundedCurve
|
|
|
+ ,IfcConic
|
|
|
+ ,IfcLine
|
|
|
+ ,IfcOffsetCurve2D
|
|
|
+ ,IfcOffsetCurve3D
|
|
|
+ ,IfcPcurve
|
|
|
+ ,IfcSurfaceCurve))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := IfcCurveDim(SELF);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCurveBoundedPlane
|
|
|
+ SUBTYPE OF (IfcBoundedSurface);
|
|
|
+ BasisSurface : IfcPlane;
|
|
|
+ OuterBoundary : IfcCurve;
|
|
|
+ InnerBoundaries : SET [0:?] OF IfcCurve;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCurveBoundedSurface
|
|
|
+ SUBTYPE OF (IfcBoundedSurface);
|
|
|
+ BasisSurface : IfcSurface;
|
|
|
+ Boundaries : SET [1:?] OF IfcBoundaryCurve;
|
|
|
+ ImplicitOuter : IfcBoolean;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCurveStyle
|
|
|
+ SUBTYPE OF (IfcPresentationStyle);
|
|
|
+ CurveFont : OPTIONAL IfcCurveFontOrScaledCurveFontSelect;
|
|
|
+ CurveWidth : OPTIONAL IfcSizeSelect;
|
|
|
+ CurveColour : OPTIONAL IfcColour;
|
|
|
+ ModelOrDraughting : OPTIONAL IfcBoolean;
|
|
|
+ WHERE
|
|
|
+ MeasureOfWidth : (NOT(EXISTS(CurveWidth))) OR
|
|
|
+('IFC4.IFCPOSITIVELENGTHMEASURE' IN TYPEOF(CurveWidth)) OR
|
|
|
+ (('IFC4.IFCDESCRIPTIVEMEASURE' IN TYPEOF(CurveWidth)) AND
|
|
|
+ (CurveWidth = 'by layer'));
|
|
|
+ IdentifiableCurveStyle : EXISTS(CurveFont) OR EXISTS(CurveWidth) OR EXISTS(CurveColour);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCurveStyleFont
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ PatternList : LIST [1:?] OF IfcCurveStyleFontPattern;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCurveStyleFontAndScaling
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ CurveFont : IfcCurveStyleFontSelect;
|
|
|
+ CurveFontScaling : IfcPositiveRatioMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCurveStyleFontPattern
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ VisibleSegmentLength : IfcLengthMeasure;
|
|
|
+ InvisibleSegmentLength : IfcPositiveLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ VisibleLengthGreaterEqualZero : VisibleSegmentLength >= 0.;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcCylindricalSurface
|
|
|
+ SUBTYPE OF (IfcElementarySurface);
|
|
|
+ Radius : IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDamper
|
|
|
+ SUBTYPE OF (IfcFlowController);
|
|
|
+ PredefinedType : OPTIONAL IfcDamperTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcDamperTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcDamperTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCDAMPERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDamperType
|
|
|
+ SUBTYPE OF (IfcFlowControllerType);
|
|
|
+ PredefinedType : IfcDamperTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcDamperTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcDamperTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDerivedProfileDef
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcMirroredProfileDef))
|
|
|
+ SUBTYPE OF (IfcProfileDef);
|
|
|
+ ParentProfile : IfcProfileDef;
|
|
|
+ Operator : IfcCartesianTransformationOperator2D;
|
|
|
+ Label : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ InvariantProfileType : SELF\IfcProfileDef.ProfileType = ParentProfile.ProfileType;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDerivedUnit;
|
|
|
+ Elements : SET [1:?] OF IfcDerivedUnitElement;
|
|
|
+ UnitType : IfcDerivedUnitEnum;
|
|
|
+ UserDefinedType : OPTIONAL IfcLabel;
|
|
|
+ DERIVE
|
|
|
+ Dimensions : IfcDimensionalExponents := IfcDeriveDimensionalExponents(Elements);
|
|
|
+ WHERE
|
|
|
+ WR1 : (SIZEOF (Elements) > 1) OR ((SIZEOF (Elements) = 1) AND (Elements[1].Exponent <> 1 ));
|
|
|
+ WR2 : (UnitType <> IfcDerivedUnitEnum.USERDEFINED) OR
|
|
|
+((UnitType = IfcDerivedUnitEnum.USERDEFINED) AND
|
|
|
+ (EXISTS(SELF.UserDefinedType)));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDerivedUnitElement;
|
|
|
+ Unit : IfcNamedUnit;
|
|
|
+ Exponent : INTEGER;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDimensionalExponents;
|
|
|
+ LengthExponent : INTEGER;
|
|
|
+ MassExponent : INTEGER;
|
|
|
+ TimeExponent : INTEGER;
|
|
|
+ ElectricCurrentExponent : INTEGER;
|
|
|
+ ThermodynamicTemperatureExponent : INTEGER;
|
|
|
+ AmountOfSubstanceExponent : INTEGER;
|
|
|
+ LuminousIntensityExponent : INTEGER;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDirection
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ DirectionRatios : LIST [2:3] OF IfcReal;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := HIINDEX(DirectionRatios);
|
|
|
+ WHERE
|
|
|
+ MagnitudeGreaterZero : SIZEOF(QUERY(Tmp <* DirectionRatios | Tmp <> 0.0)) > 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDiscreteAccessory
|
|
|
+ SUBTYPE OF (IfcElementComponent);
|
|
|
+ PredefinedType : OPTIONAL IfcDiscreteAccessoryTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+(PredefinedType <> IfcDiscreteAccessoryTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcDiscreteAccessoryTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCDISCRETEACCESSORYTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDiscreteAccessoryType
|
|
|
+ SUBTYPE OF (IfcElementComponentType);
|
|
|
+ PredefinedType : IfcDiscreteAccessoryTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcDiscreteAccessoryTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcDiscreteAccessoryTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDistributionChamberElement
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElement);
|
|
|
+ PredefinedType : OPTIONAL IfcDistributionChamberElementTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcDistributionChamberElementTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcDistributionChamberElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCDISTRIBUTIONCHAMBERELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDistributionChamberElementType
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElementType);
|
|
|
+ PredefinedType : IfcDistributionChamberElementTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcDistributionChamberElementTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcDistributionChamberElementTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDistributionCircuit
|
|
|
+ SUBTYPE OF (IfcDistributionSystem);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDistributionControlElement
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcActuator
|
|
|
+ ,IfcAlarm
|
|
|
+ ,IfcController
|
|
|
+ ,IfcFlowInstrument
|
|
|
+ ,IfcProtectiveDeviceTrippingUnit
|
|
|
+ ,IfcSensor
|
|
|
+ ,IfcUnitaryControlElement))
|
|
|
+ SUBTYPE OF (IfcDistributionElement);
|
|
|
+ INVERSE
|
|
|
+ AssignedToFlowElement : SET [0:1] OF IfcRelFlowControlElements FOR RelatedControlElements;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDistributionControlElementType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcActuatorType
|
|
|
+ ,IfcAlarmType
|
|
|
+ ,IfcControllerType
|
|
|
+ ,IfcFlowInstrumentType
|
|
|
+ ,IfcProtectiveDeviceTrippingUnitType
|
|
|
+ ,IfcSensorType
|
|
|
+ ,IfcUnitaryControlElementType))
|
|
|
+ SUBTYPE OF (IfcDistributionElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDistributionElement
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcDistributionControlElement
|
|
|
+ ,IfcDistributionFlowElement))
|
|
|
+ SUBTYPE OF (IfcElement);
|
|
|
+ INVERSE
|
|
|
+ HasPorts : SET [0:?] OF IfcRelConnectsPortToElement FOR RelatedElement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDistributionElementType
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcDistributionControlElementType
|
|
|
+ ,IfcDistributionFlowElementType))
|
|
|
+ SUBTYPE OF (IfcElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDistributionFlowElement
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcDistributionChamberElement
|
|
|
+ ,IfcEnergyConversionDevice
|
|
|
+ ,IfcFlowController
|
|
|
+ ,IfcFlowFitting
|
|
|
+ ,IfcFlowMovingDevice
|
|
|
+ ,IfcFlowSegment
|
|
|
+ ,IfcFlowStorageDevice
|
|
|
+ ,IfcFlowTerminal
|
|
|
+ ,IfcFlowTreatmentDevice))
|
|
|
+ SUBTYPE OF (IfcDistributionElement);
|
|
|
+ INVERSE
|
|
|
+ HasControlElements : SET [0:1] OF IfcRelFlowControlElements FOR RelatingFlowElement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDistributionFlowElementType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcDistributionChamberElementType
|
|
|
+ ,IfcEnergyConversionDeviceType
|
|
|
+ ,IfcFlowControllerType
|
|
|
+ ,IfcFlowFittingType
|
|
|
+ ,IfcFlowMovingDeviceType
|
|
|
+ ,IfcFlowSegmentType
|
|
|
+ ,IfcFlowStorageDeviceType
|
|
|
+ ,IfcFlowTerminalType
|
|
|
+ ,IfcFlowTreatmentDeviceType))
|
|
|
+ SUBTYPE OF (IfcDistributionElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDistributionPort
|
|
|
+ SUBTYPE OF (IfcPort);
|
|
|
+ FlowDirection : OPTIONAL IfcFlowDirectionEnum;
|
|
|
+ PredefinedType : OPTIONAL IfcDistributionPortTypeEnum;
|
|
|
+ SystemType : OPTIONAL IfcDistributionSystemEnum;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDistributionSystem
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcDistributionCircuit))
|
|
|
+ SUBTYPE OF (IfcSystem);
|
|
|
+ LongName : OPTIONAL IfcLabel;
|
|
|
+ PredefinedType : OPTIONAL IfcDistributionSystemEnum;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDocumentInformation
|
|
|
+ SUBTYPE OF (IfcExternalInformation);
|
|
|
+ Identification : IfcIdentifier;
|
|
|
+ Name : IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ Location : OPTIONAL IfcURIReference;
|
|
|
+ Purpose : OPTIONAL IfcText;
|
|
|
+ IntendedUse : OPTIONAL IfcText;
|
|
|
+ Scope : OPTIONAL IfcText;
|
|
|
+ Revision : OPTIONAL IfcLabel;
|
|
|
+ DocumentOwner : OPTIONAL IfcActorSelect;
|
|
|
+ Editors : OPTIONAL SET [1:?] OF IfcActorSelect;
|
|
|
+ CreationTime : OPTIONAL IfcDateTime;
|
|
|
+ LastRevisionTime : OPTIONAL IfcDateTime;
|
|
|
+ ElectronicFormat : OPTIONAL IfcIdentifier;
|
|
|
+ ValidFrom : OPTIONAL IfcDate;
|
|
|
+ ValidUntil : OPTIONAL IfcDate;
|
|
|
+ Confidentiality : OPTIONAL IfcDocumentConfidentialityEnum;
|
|
|
+ Status : OPTIONAL IfcDocumentStatusEnum;
|
|
|
+ INVERSE
|
|
|
+ DocumentInfoForObjects : SET [0:?] OF IfcRelAssociatesDocument FOR RelatingDocument;
|
|
|
+ HasDocumentReferences : SET [0:?] OF IfcDocumentReference FOR ReferencedDocument;
|
|
|
+ IsPointedTo : SET [0:?] OF IfcDocumentInformationRelationship FOR RelatedDocuments;
|
|
|
+ IsPointer : SET [0:1] OF IfcDocumentInformationRelationship FOR RelatingDocument;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDocumentInformationRelationship
|
|
|
+ SUBTYPE OF (IfcResourceLevelRelationship);
|
|
|
+ RelatingDocument : IfcDocumentInformation;
|
|
|
+ RelatedDocuments : SET [1:?] OF IfcDocumentInformation;
|
|
|
+ RelationshipType : OPTIONAL IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDocumentReference
|
|
|
+ SUBTYPE OF (IfcExternalReference);
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ ReferencedDocument : OPTIONAL IfcDocumentInformation;
|
|
|
+ INVERSE
|
|
|
+ DocumentRefForObjects : SET [0:?] OF IfcRelAssociatesDocument FOR RelatingDocument;
|
|
|
+ WHERE
|
|
|
+ WR1 : EXISTS(Name) XOR EXISTS(ReferencedDocument);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDoor
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcDoorStandardCase))
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ OverallHeight : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ OverallWidth : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ PredefinedType : OPTIONAL IfcDoorTypeEnum;
|
|
|
+ OperationType : OPTIONAL IfcDoorTypeOperationEnum;
|
|
|
+ UserDefinedOperationType : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ CorrectStyleAssigned : (SIZEOF(IsTypedBy) = 0)
|
|
|
+OR ('IFC4.IFCDOORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDoorLiningProperties
|
|
|
+ SUBTYPE OF (IfcPreDefinedPropertySet);
|
|
|
+ LiningDepth : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ LiningThickness : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ ThresholdDepth : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ ThresholdThickness : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ TransomThickness : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ TransomOffset : OPTIONAL IfcLengthMeasure;
|
|
|
+ LiningOffset : OPTIONAL IfcLengthMeasure;
|
|
|
+ ThresholdOffset : OPTIONAL IfcLengthMeasure;
|
|
|
+ CasingThickness : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ CasingDepth : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ ShapeAspectStyle : OPTIONAL IfcShapeAspect;
|
|
|
+ LiningToPanelOffsetX : OPTIONAL IfcLengthMeasure;
|
|
|
+ LiningToPanelOffsetY : OPTIONAL IfcLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ WR31 : NOT(EXISTS(LiningDepth) AND NOT(EXISTS(LiningThickness)));
|
|
|
+ WR32 : NOT(EXISTS(ThresholdDepth) AND NOT(EXISTS(ThresholdThickness)));
|
|
|
+ WR33 : (EXISTS(TransomOffset) AND EXISTS(TransomThickness)) XOR
|
|
|
+(NOT(EXISTS(TransomOffset)) AND NOT(EXISTS(TransomThickness)));
|
|
|
+ WR34 : (EXISTS(CasingDepth) AND EXISTS(CasingThickness)) XOR
|
|
|
+(NOT(EXISTS(CasingDepth)) AND NOT(EXISTS(CasingThickness)));
|
|
|
+ WR35 : (EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1]))
|
|
|
+AND
|
|
|
+(
|
|
|
+ ('IFC4.IFCDOORTYPE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1]))
|
|
|
+ OR
|
|
|
+ ('IFC4.IFCDOORSTYLE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1]))
|
|
|
+);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDoorPanelProperties
|
|
|
+ SUBTYPE OF (IfcPreDefinedPropertySet);
|
|
|
+ PanelDepth : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ PanelOperation : IfcDoorPanelOperationEnum;
|
|
|
+ PanelWidth : OPTIONAL IfcNormalisedRatioMeasure;
|
|
|
+ PanelPosition : IfcDoorPanelPositionEnum;
|
|
|
+ ShapeAspectStyle : OPTIONAL IfcShapeAspect;
|
|
|
+ WHERE
|
|
|
+ ApplicableToType : (EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1]))
|
|
|
+AND
|
|
|
+(
|
|
|
+ ('IFC4.IFCDOORTYPE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1]))
|
|
|
+ OR
|
|
|
+ ('IFC4.IFCDOORSTYLE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1]))
|
|
|
+);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDoorStandardCase
|
|
|
+ SUBTYPE OF (IfcDoor);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDoorStyle
|
|
|
+ SUBTYPE OF (IfcTypeProduct);
|
|
|
+ OperationType : IfcDoorStyleOperationEnum;
|
|
|
+ ConstructionType : IfcDoorStyleConstructionEnum;
|
|
|
+ ParameterTakesPrecedence : IfcBoolean;
|
|
|
+ Sizeable : IfcBoolean;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDoorType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcDoorTypeEnum;
|
|
|
+ OperationType : IfcDoorTypeOperationEnum;
|
|
|
+ ParameterTakesPrecedence : OPTIONAL IfcBoolean;
|
|
|
+ UserDefinedOperationType : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcDoorTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcDoorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDraughtingPreDefinedColour
|
|
|
+ SUBTYPE OF (IfcPreDefinedColour);
|
|
|
+ WHERE
|
|
|
+ PreDefinedColourNames : SELF\IfcPreDefinedItem.Name IN ['black','red','green','blue','yellow',
|
|
|
+ 'magenta','cyan','white','by layer'];
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDraughtingPreDefinedCurveFont
|
|
|
+ SUBTYPE OF (IfcPreDefinedCurveFont);
|
|
|
+ WHERE
|
|
|
+ PreDefinedCurveFontNames : SELF\IfcPredefinedItem.Name IN
|
|
|
+ ['continuous',
|
|
|
+ 'chain',
|
|
|
+ 'chain double dash',
|
|
|
+ 'dashed',
|
|
|
+ 'dotted',
|
|
|
+ 'by layer'];
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDuctFitting
|
|
|
+ SUBTYPE OF (IfcFlowFitting);
|
|
|
+ PredefinedType : OPTIONAL IfcDuctFittingTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcDuctFittingTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcDuctFittingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCDUCTFITTINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDuctFittingType
|
|
|
+ SUBTYPE OF (IfcFlowFittingType);
|
|
|
+ PredefinedType : IfcDuctFittingTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcDuctFittingTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcDuctFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDuctSegment
|
|
|
+ SUBTYPE OF (IfcFlowSegment);
|
|
|
+ PredefinedType : OPTIONAL IfcDuctSegmentTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcDuctSegmentTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcDuctSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCDUCTSEGMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDuctSegmentType
|
|
|
+ SUBTYPE OF (IfcFlowSegmentType);
|
|
|
+ PredefinedType : IfcDuctSegmentTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcDuctSegmentTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcDuctSegmentTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDuctSilencer
|
|
|
+ SUBTYPE OF (IfcFlowTreatmentDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcDuctSilencerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcDuctSilencerTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcDuctSilencerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCDUCTSILENCERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcDuctSilencerType
|
|
|
+ SUBTYPE OF (IfcFlowTreatmentDeviceType);
|
|
|
+ PredefinedType : IfcDuctSilencerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcDuctSilencerTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcDuctSilencerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEdge
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcEdgeCurve
|
|
|
+ ,IfcOrientedEdge
|
|
|
+ ,IfcSubedge))
|
|
|
+ SUBTYPE OF (IfcTopologicalRepresentationItem);
|
|
|
+ EdgeStart : IfcVertex;
|
|
|
+ EdgeEnd : IfcVertex;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEdgeCurve
|
|
|
+ SUBTYPE OF (IfcEdge);
|
|
|
+ EdgeGeometry : IfcCurve;
|
|
|
+ SameSense : IfcBoolean;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEdgeLoop
|
|
|
+ SUBTYPE OF (IfcLoop);
|
|
|
+ EdgeList : LIST [1:?] OF IfcOrientedEdge;
|
|
|
+ DERIVE
|
|
|
+ Ne : IfcInteger := SIZEOF(EdgeList);
|
|
|
+ WHERE
|
|
|
+ IsClosed : (EdgeList[1].EdgeStart) :=: (EdgeList[Ne].EdgeEnd);
|
|
|
+ IsContinuous : IfcLoopHeadToTail(SELF);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElectricAppliance
|
|
|
+ SUBTYPE OF (IfcFlowTerminal);
|
|
|
+ PredefinedType : OPTIONAL IfcElectricApplianceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcElectricApplianceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcElectricApplianceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCELECTRICAPPLIANCETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElectricApplianceType
|
|
|
+ SUBTYPE OF (IfcFlowTerminalType);
|
|
|
+ PredefinedType : IfcElectricApplianceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcElectricApplianceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcElectricApplianceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElectricDistributionBoard
|
|
|
+ SUBTYPE OF (IfcFlowController);
|
|
|
+ PredefinedType : OPTIONAL IfcElectricDistributionBoardTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcElectricDistributionBoardTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcElectricDistributionBoardTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCELECTRICDISTRIBUTIONBOARDTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElectricDistributionBoardType
|
|
|
+ SUBTYPE OF (IfcFlowControllerType);
|
|
|
+ PredefinedType : IfcElectricDistributionBoardTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcElectricDistributionBoardTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcElectricDistributionBoardTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElectricFlowStorageDevice
|
|
|
+ SUBTYPE OF (IfcFlowStorageDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcElectricFlowStorageDeviceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCELECTRICFLOWSTORAGEDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElectricFlowStorageDeviceType
|
|
|
+ SUBTYPE OF (IfcFlowStorageDeviceType);
|
|
|
+ PredefinedType : IfcElectricFlowStorageDeviceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElectricGenerator
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcElectricGeneratorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcElectricGeneratorTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcElectricGeneratorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCELECTRICGENERATORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElectricGeneratorType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcElectricGeneratorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcElectricGeneratorTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcElectricGeneratorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElectricMotor
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcElectricMotorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcElectricMotorTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcElectricMotorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCELECTRICMOTORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElectricMotorType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcElectricMotorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcElectricMotorTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcElectricMotorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElectricTimeControl
|
|
|
+ SUBTYPE OF (IfcFlowController);
|
|
|
+ PredefinedType : OPTIONAL IfcElectricTimeControlTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcElectricTimeControlTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcElectricTimeControlTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCELECTRICTIMECONTROLTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElectricTimeControlType
|
|
|
+ SUBTYPE OF (IfcFlowControllerType);
|
|
|
+ PredefinedType : IfcElectricTimeControlTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcElectricTimeControlTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcElectricTimeControlTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElement
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBuildingElement
|
|
|
+ ,IfcCivilElement
|
|
|
+ ,IfcDistributionElement
|
|
|
+ ,IfcElementAssembly
|
|
|
+ ,IfcElementComponent
|
|
|
+ ,IfcFeatureElement
|
|
|
+ ,IfcFurnishingElement
|
|
|
+ ,IfcGeographicElement
|
|
|
+ ,IfcTransportElement
|
|
|
+ ,IfcVirtualElement))
|
|
|
+ SUBTYPE OF (IfcProduct);
|
|
|
+ Tag : OPTIONAL IfcIdentifier;
|
|
|
+ INVERSE
|
|
|
+ FillsVoids : SET [0:1] OF IfcRelFillsElement FOR RelatedBuildingElement;
|
|
|
+ ConnectedTo : SET [0:?] OF IfcRelConnectsElements FOR RelatingElement;
|
|
|
+ IsInterferedByElements : SET [0:?] OF IfcRelInterferesElements FOR RelatedElement;
|
|
|
+ InterferesElements : SET [0:?] OF IfcRelInterferesElements FOR RelatingElement;
|
|
|
+ HasProjections : SET [0:?] OF IfcRelProjectsElement FOR RelatingElement;
|
|
|
+ ReferencedInStructures : SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatedElements;
|
|
|
+ HasOpenings : SET [0:?] OF IfcRelVoidsElement FOR RelatingBuildingElement;
|
|
|
+ IsConnectionRealization : SET [0:?] OF IfcRelConnectsWithRealizingElements FOR RealizingElements;
|
|
|
+ ProvidesBoundaries : SET [0:?] OF IfcRelSpaceBoundary FOR RelatedBuildingElement;
|
|
|
+ ConnectedFrom : SET [0:?] OF IfcRelConnectsElements FOR RelatedElement;
|
|
|
+ ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements;
|
|
|
+ HasCoverings : SET [0:?] OF IfcRelCoversBldgElements FOR RelatingBuildingElement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElementAssembly
|
|
|
+ SUBTYPE OF (IfcElement);
|
|
|
+ AssemblyPlace : OPTIONAL IfcAssemblyPlaceEnum;
|
|
|
+ PredefinedType : OPTIONAL IfcElementAssemblyTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcElementAssemblyTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcElementAssemblyTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCELEMENTASSEMBLYTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElementAssemblyType
|
|
|
+ SUBTYPE OF (IfcElementType);
|
|
|
+ PredefinedType : IfcElementAssemblyTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcElementAssemblyTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcElementAssemblyTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElementComponent
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBuildingElementPart
|
|
|
+ ,IfcDiscreteAccessory
|
|
|
+ ,IfcFastener
|
|
|
+ ,IfcMechanicalFastener
|
|
|
+ ,IfcReinforcingElement
|
|
|
+ ,IfcVibrationIsolator))
|
|
|
+ SUBTYPE OF (IfcElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElementComponentType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBuildingElementPartType
|
|
|
+ ,IfcDiscreteAccessoryType
|
|
|
+ ,IfcFastenerType
|
|
|
+ ,IfcMechanicalFastenerType
|
|
|
+ ,IfcReinforcingElementType
|
|
|
+ ,IfcVibrationIsolatorType))
|
|
|
+ SUBTYPE OF (IfcElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElementQuantity
|
|
|
+ SUBTYPE OF (IfcQuantitySet);
|
|
|
+ MethodOfMeasurement : OPTIONAL IfcLabel;
|
|
|
+ Quantities : SET [1:?] OF IfcPhysicalQuantity;
|
|
|
+ WHERE
|
|
|
+ UniqueQuantityNames : IfcUniqueQuantityNames(Quantities);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElementType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBuildingElementType
|
|
|
+ ,IfcCivilElementType
|
|
|
+ ,IfcDistributionElementType
|
|
|
+ ,IfcElementAssemblyType
|
|
|
+ ,IfcElementComponentType
|
|
|
+ ,IfcFurnishingElementType
|
|
|
+ ,IfcGeographicElementType
|
|
|
+ ,IfcTransportElementType))
|
|
|
+ SUBTYPE OF (IfcTypeProduct);
|
|
|
+ ElementType : OPTIONAL IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcElementarySurface
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCylindricalSurface
|
|
|
+ ,IfcPlane
|
|
|
+ ,IfcSphericalSurface
|
|
|
+ ,IfcToroidalSurface))
|
|
|
+ SUBTYPE OF (IfcSurface);
|
|
|
+ Position : IfcAxis2Placement3D;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEllipse
|
|
|
+ SUBTYPE OF (IfcConic);
|
|
|
+ SemiAxis1 : IfcPositiveLengthMeasure;
|
|
|
+ SemiAxis2 : IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEllipseProfileDef
|
|
|
+ SUBTYPE OF (IfcParameterizedProfileDef);
|
|
|
+ SemiAxis1 : IfcPositiveLengthMeasure;
|
|
|
+ SemiAxis2 : IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEnergyConversionDevice
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAirToAirHeatRecovery
|
|
|
+ ,IfcBoiler
|
|
|
+ ,IfcBurner
|
|
|
+ ,IfcChiller
|
|
|
+ ,IfcCoil
|
|
|
+ ,IfcCondenser
|
|
|
+ ,IfcCooledBeam
|
|
|
+ ,IfcCoolingTower
|
|
|
+ ,IfcElectricGenerator
|
|
|
+ ,IfcElectricMotor
|
|
|
+ ,IfcEngine
|
|
|
+ ,IfcEvaporativeCooler
|
|
|
+ ,IfcEvaporator
|
|
|
+ ,IfcHeatExchanger
|
|
|
+ ,IfcHumidifier
|
|
|
+ ,IfcMotorConnection
|
|
|
+ ,IfcSolarDevice
|
|
|
+ ,IfcTransformer
|
|
|
+ ,IfcTubeBundle
|
|
|
+ ,IfcUnitaryEquipment))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEnergyConversionDeviceType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAirToAirHeatRecoveryType
|
|
|
+ ,IfcBoilerType
|
|
|
+ ,IfcBurnerType
|
|
|
+ ,IfcChillerType
|
|
|
+ ,IfcCoilType
|
|
|
+ ,IfcCondenserType
|
|
|
+ ,IfcCooledBeamType
|
|
|
+ ,IfcCoolingTowerType
|
|
|
+ ,IfcElectricGeneratorType
|
|
|
+ ,IfcElectricMotorType
|
|
|
+ ,IfcEngineType
|
|
|
+ ,IfcEvaporativeCoolerType
|
|
|
+ ,IfcEvaporatorType
|
|
|
+ ,IfcHeatExchangerType
|
|
|
+ ,IfcHumidifierType
|
|
|
+ ,IfcMotorConnectionType
|
|
|
+ ,IfcSolarDeviceType
|
|
|
+ ,IfcTransformerType
|
|
|
+ ,IfcTubeBundleType
|
|
|
+ ,IfcUnitaryEquipmentType))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEngine
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcEngineTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcEngineTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcEngineTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCENGINETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEngineType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcEngineTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcEngineTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcEngineTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEvaporativeCooler
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcEvaporativeCoolerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcEvaporativeCoolerTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcEvaporativeCoolerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCEVAPORATIVECOOLERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEvaporativeCoolerType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcEvaporativeCoolerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcEvaporativeCoolerTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcEvaporativeCoolerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEvaporator
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcEvaporatorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcEvaporatorTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcEvaporatorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCEVAPORATORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEvaporatorType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcEvaporatorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcEvaporatorTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcEvaporatorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEvent
|
|
|
+ SUBTYPE OF (IfcProcess);
|
|
|
+ PredefinedType : OPTIONAL IfcEventTypeEnum;
|
|
|
+ EventTriggerType : OPTIONAL IfcEventTriggerTypeEnum;
|
|
|
+ UserDefinedEventTriggerType : OPTIONAL IfcLabel;
|
|
|
+ EventOccurenceTime : OPTIONAL IfcEventTime;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcEventTypeEnum.USERDEFINED) OR ((PredefinedType = IfcEventTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : NOT(EXISTS(EventTriggerType)) OR (EventTriggerType <> IfcEventTriggerTypeEnum.USERDEFINED) OR ((EventTriggerType = IfcEventTriggerTypeEnum.USERDEFINED) AND EXISTS(UserDefinedEventTriggerType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEventTime
|
|
|
+ SUBTYPE OF (IfcSchedulingTime);
|
|
|
+ ActualDate : OPTIONAL IfcDateTime;
|
|
|
+ EarlyDate : OPTIONAL IfcDateTime;
|
|
|
+ LateDate : OPTIONAL IfcDateTime;
|
|
|
+ ScheduleDate : OPTIONAL IfcDateTime;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcEventType
|
|
|
+ SUBTYPE OF (IfcTypeProcess);
|
|
|
+ PredefinedType : IfcEventTypeEnum;
|
|
|
+ EventTriggerType : IfcEventTriggerTypeEnum;
|
|
|
+ UserDefinedEventTriggerType : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcEventTypeEnum.USERDEFINED) OR ((PredefinedType = IfcEventTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeProcess.ProcessType));
|
|
|
+ CorrectEventTriggerType : (EventTriggerType <> IfcEventTriggerTypeEnum.USERDEFINED) OR ((EventTriggerType = IfcEventTriggerTypeEnum.USERDEFINED) AND EXISTS(UserDefinedEventTriggerType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcExtendedProperties
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcMaterialProperties
|
|
|
+ ,IfcProfileProperties))
|
|
|
+ SUBTYPE OF (IfcPropertyAbstraction);
|
|
|
+ Name : OPTIONAL IfcIdentifier;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ Properties : SET [1:?] OF IfcProperty;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcExternalInformation
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcClassification
|
|
|
+ ,IfcDocumentInformation
|
|
|
+ ,IfcLibraryInformation));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcExternalReference
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcClassificationReference
|
|
|
+ ,IfcDocumentReference
|
|
|
+ ,IfcExternallyDefinedHatchStyle
|
|
|
+ ,IfcExternallyDefinedSurfaceStyle
|
|
|
+ ,IfcExternallyDefinedTextFont
|
|
|
+ ,IfcLibraryReference));
|
|
|
+ Location : OPTIONAL IfcURIReference;
|
|
|
+ Identification : OPTIONAL IfcIdentifier;
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ ExternalReferenceForResources : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatingReference;
|
|
|
+ WHERE
|
|
|
+ WR1 : EXISTS(Identification) OR EXISTS(Location) OR EXISTS(Name);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcExternalReferenceRelationship
|
|
|
+ SUBTYPE OF (IfcResourceLevelRelationship);
|
|
|
+ RelatingReference : IfcExternalReference;
|
|
|
+ RelatedResourceObjects : SET [1:?] OF IfcResourceObjectSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcExternalSpatialElement
|
|
|
+ SUBTYPE OF (IfcExternalSpatialStructureElement);
|
|
|
+ PredefinedType : OPTIONAL IfcExternalSpatialElementTypeEnum;
|
|
|
+ INVERSE
|
|
|
+ BoundedBy : SET [0:?] OF IfcRelSpaceBoundary FOR RelatingSpace;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcExternalSpatialStructureElement
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcExternalSpatialElement))
|
|
|
+ SUBTYPE OF (IfcSpatialElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcExternallyDefinedHatchStyle
|
|
|
+ SUBTYPE OF (IfcExternalReference);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcExternallyDefinedSurfaceStyle
|
|
|
+ SUBTYPE OF (IfcExternalReference);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcExternallyDefinedTextFont
|
|
|
+ SUBTYPE OF (IfcExternalReference);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcExtrudedAreaSolid
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcExtrudedAreaSolidTapered))
|
|
|
+ SUBTYPE OF (IfcSweptAreaSolid);
|
|
|
+ ExtrudedDirection : IfcDirection;
|
|
|
+ Depth : IfcPositiveLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ ValidExtrusionDirection : IfcDotProduct(IfcRepresentationItem() || IfcGeometricRepresentationItem() || IfcDirection([0.0,0.0,1.0]), SELF.ExtrudedDirection) <> 0.0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcExtrudedAreaSolidTapered
|
|
|
+ SUBTYPE OF (IfcExtrudedAreaSolid);
|
|
|
+ EndSweptArea : IfcProfileDef;
|
|
|
+ WHERE
|
|
|
+ CorrectProfileAssignment : IfcTaperedSweptAreaProfiles(SELF\IfcSweptAreaSolid.SweptArea, SELF.EndSweptArea);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFace
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcFaceSurface))
|
|
|
+ SUBTYPE OF (IfcTopologicalRepresentationItem);
|
|
|
+ Bounds : SET [1:?] OF IfcFaceBound;
|
|
|
+ INVERSE
|
|
|
+ HasTextureMaps : SET [0:?] OF IfcTextureMap FOR MappedTo;
|
|
|
+ WHERE
|
|
|
+ HasOuterBound : SIZEOF(QUERY(temp <* Bounds | 'IFC4.IFCFACEOUTERBOUND' IN TYPEOF(temp))) <= 1;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFaceBasedSurfaceModel
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ FbsmFaces : SET [1:?] OF IfcConnectedFaceSet;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := 3;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFaceBound
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcFaceOuterBound))
|
|
|
+ SUBTYPE OF (IfcTopologicalRepresentationItem);
|
|
|
+ Bound : IfcLoop;
|
|
|
+ Orientation : IfcBoolean;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFaceOuterBound
|
|
|
+ SUBTYPE OF (IfcFaceBound);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFaceSurface
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAdvancedFace))
|
|
|
+ SUBTYPE OF (IfcFace);
|
|
|
+ FaceSurface : IfcSurface;
|
|
|
+ SameSense : IfcBoolean;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFacetedBrep
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcFacetedBrepWithVoids))
|
|
|
+ SUBTYPE OF (IfcManifoldSolidBrep);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFacetedBrepWithVoids
|
|
|
+ SUBTYPE OF (IfcFacetedBrep);
|
|
|
+ Voids : SET [1:?] OF IfcClosedShell;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFailureConnectionCondition
|
|
|
+ SUBTYPE OF (IfcStructuralConnectionCondition);
|
|
|
+ TensionFailureX : OPTIONAL IfcForceMeasure;
|
|
|
+ TensionFailureY : OPTIONAL IfcForceMeasure;
|
|
|
+ TensionFailureZ : OPTIONAL IfcForceMeasure;
|
|
|
+ CompressionFailureX : OPTIONAL IfcForceMeasure;
|
|
|
+ CompressionFailureY : OPTIONAL IfcForceMeasure;
|
|
|
+ CompressionFailureZ : OPTIONAL IfcForceMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFan
|
|
|
+ SUBTYPE OF (IfcFlowMovingDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcFanTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcFanTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcFanTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCFANTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFanType
|
|
|
+ SUBTYPE OF (IfcFlowMovingDeviceType);
|
|
|
+ PredefinedType : IfcFanTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcFanTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcFanTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFastener
|
|
|
+ SUBTYPE OF (IfcElementComponent);
|
|
|
+ PredefinedType : OPTIONAL IfcFastenerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+(PredefinedType <> IfcFastenerTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcFastenerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCFASTENERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFastenerType
|
|
|
+ SUBTYPE OF (IfcElementComponentType);
|
|
|
+ PredefinedType : IfcFastenerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcFastenerTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcFastenerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFeatureElement
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcFeatureElementAddition
|
|
|
+ ,IfcFeatureElementSubtraction
|
|
|
+ ,IfcSurfaceFeature))
|
|
|
+ SUBTYPE OF (IfcElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFeatureElementAddition
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcProjectionElement))
|
|
|
+ SUBTYPE OF (IfcFeatureElement);
|
|
|
+ INVERSE
|
|
|
+ ProjectsElements : IfcRelProjectsElement FOR RelatedFeatureElement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFeatureElementSubtraction
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcOpeningElement
|
|
|
+ ,IfcVoidingFeature))
|
|
|
+ SUBTYPE OF (IfcFeatureElement);
|
|
|
+ INVERSE
|
|
|
+ VoidsElements : IfcRelVoidsElement FOR RelatedOpeningElement;
|
|
|
+ WHERE
|
|
|
+ HasNoSubtraction : SIZEOF(SELF\IfcElement.HasOpenings) = 0;
|
|
|
+ IsNotFilling : SIZEOF(SELF\IfcElement.FillsVoids) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFillAreaStyle
|
|
|
+ SUBTYPE OF (IfcPresentationStyle);
|
|
|
+ FillStyles : SET [1:?] OF IfcFillStyleSelect;
|
|
|
+ ModelorDraughting : OPTIONAL IfcBoolean;
|
|
|
+ WHERE
|
|
|
+ MaxOneColour : SIZEOF(QUERY(Style <* SELF.FillStyles |
|
|
|
+ 'IFC4.IFCCOLOUR' IN
|
|
|
+ TYPEOF(Style)
|
|
|
+ )) <= 1;
|
|
|
+ MaxOneExtHatchStyle : SIZEOF(QUERY(Style <* SELF.FillStyles |
|
|
|
+ 'IFC4.IFCEXTERNALLYDEFINEDHATCHSTYLE' IN
|
|
|
+ TYPEOF(Style)
|
|
|
+ )) <= 1;
|
|
|
+ ConsistentHatchStyleDef : IfcCorrectFillAreaStyle(SELF.FillStyles);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFillAreaStyleHatching
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ HatchLineAppearance : IfcCurveStyle;
|
|
|
+ StartOfNextHatchLine : IfcHatchLineDistanceSelect;
|
|
|
+ PointOfReferenceHatchLine : OPTIONAL IfcCartesianPoint;
|
|
|
+ PatternStart : OPTIONAL IfcCartesianPoint;
|
|
|
+ HatchLineAngle : IfcPlaneAngleMeasure;
|
|
|
+ WHERE
|
|
|
+ PatternStart2D : NOT(EXISTS(PatternStart)) OR (PatternStart.Dim = 2);
|
|
|
+ RefHatchLine2D : NOT(EXISTS(PointOfReferenceHatchLine)) OR (PointOfReferenceHatchLine.Dim = 2);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFillAreaStyleTiles
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ TilingPattern : LIST [2:2] OF IfcVector;
|
|
|
+ Tiles : SET [1:?] OF IfcStyledItem;
|
|
|
+ TilingScale : IfcPositiveRatioMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFilter
|
|
|
+ SUBTYPE OF (IfcFlowTreatmentDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcFilterTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcFilterTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcFilterTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCFILTERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFilterType
|
|
|
+ SUBTYPE OF (IfcFlowTreatmentDeviceType);
|
|
|
+ PredefinedType : IfcFilterTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcFilterTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcFilterTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFireSuppressionTerminal
|
|
|
+ SUBTYPE OF (IfcFlowTerminal);
|
|
|
+ PredefinedType : OPTIONAL IfcFireSuppressionTerminalTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcFireSuppressionTerminalTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcFireSuppressionTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCFIRESUPPRESSIONTERMINALTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFireSuppressionTerminalType
|
|
|
+ SUBTYPE OF (IfcFlowTerminalType);
|
|
|
+ PredefinedType : IfcFireSuppressionTerminalTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcFireSuppressionTerminalTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcFireSuppressionTerminalTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFixedReferenceSweptAreaSolid
|
|
|
+ SUBTYPE OF (IfcSweptAreaSolid);
|
|
|
+ Directrix : IfcCurve;
|
|
|
+ StartParam : OPTIONAL IfcParameterValue;
|
|
|
+ EndParam : OPTIONAL IfcParameterValue;
|
|
|
+ FixedReference : IfcDirection;
|
|
|
+ WHERE
|
|
|
+ DirectrixBounded : (EXISTS(StartParam) AND EXISTS(EndParam)) OR
|
|
|
+(SIZEOF(['IFC4.IFCCONIC', 'IFC4.IFCBOUNDEDCURVE'] * TYPEOF(Directrix)) = 1);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowController
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAirTerminalBox
|
|
|
+ ,IfcDamper
|
|
|
+ ,IfcElectricDistributionBoard
|
|
|
+ ,IfcElectricTimeControl
|
|
|
+ ,IfcFlowMeter
|
|
|
+ ,IfcProtectiveDevice
|
|
|
+ ,IfcSwitchingDevice
|
|
|
+ ,IfcValve))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowControllerType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAirTerminalBoxType
|
|
|
+ ,IfcDamperType
|
|
|
+ ,IfcElectricDistributionBoardType
|
|
|
+ ,IfcElectricTimeControlType
|
|
|
+ ,IfcFlowMeterType
|
|
|
+ ,IfcProtectiveDeviceType
|
|
|
+ ,IfcSwitchingDeviceType
|
|
|
+ ,IfcValveType))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowFitting
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCableCarrierFitting
|
|
|
+ ,IfcCableFitting
|
|
|
+ ,IfcDuctFitting
|
|
|
+ ,IfcJunctionBox
|
|
|
+ ,IfcPipeFitting))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowFittingType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCableCarrierFittingType
|
|
|
+ ,IfcCableFittingType
|
|
|
+ ,IfcDuctFittingType
|
|
|
+ ,IfcJunctionBoxType
|
|
|
+ ,IfcPipeFittingType))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowInstrument
|
|
|
+ SUBTYPE OF (IfcDistributionControlElement);
|
|
|
+ PredefinedType : OPTIONAL IfcFlowInstrumentTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcFlowInstrumentTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcFlowInstrumentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCFLOWINSTRUMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowInstrumentType
|
|
|
+ SUBTYPE OF (IfcDistributionControlElementType);
|
|
|
+ PredefinedType : IfcFlowInstrumentTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcFlowInstrumentTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcFlowInstrumentTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowMeter
|
|
|
+ SUBTYPE OF (IfcFlowController);
|
|
|
+ PredefinedType : OPTIONAL IfcFlowMeterTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcFlowMeterTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcFlowMeterTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCFLOWMETERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowMeterType
|
|
|
+ SUBTYPE OF (IfcFlowControllerType);
|
|
|
+ PredefinedType : IfcFlowMeterTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcFlowMeterTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcFlowMeterTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowMovingDevice
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCompressor
|
|
|
+ ,IfcFan
|
|
|
+ ,IfcPump))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowMovingDeviceType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCompressorType
|
|
|
+ ,IfcFanType
|
|
|
+ ,IfcPumpType))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowSegment
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCableCarrierSegment
|
|
|
+ ,IfcCableSegment
|
|
|
+ ,IfcDuctSegment
|
|
|
+ ,IfcPipeSegment))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowSegmentType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCableCarrierSegmentType
|
|
|
+ ,IfcCableSegmentType
|
|
|
+ ,IfcDuctSegmentType
|
|
|
+ ,IfcPipeSegmentType))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowStorageDevice
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcElectricFlowStorageDevice
|
|
|
+ ,IfcTank))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowStorageDeviceType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcElectricFlowStorageDeviceType
|
|
|
+ ,IfcTankType))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowTerminal
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAirTerminal
|
|
|
+ ,IfcAudioVisualAppliance
|
|
|
+ ,IfcCommunicationsAppliance
|
|
|
+ ,IfcElectricAppliance
|
|
|
+ ,IfcFireSuppressionTerminal
|
|
|
+ ,IfcLamp
|
|
|
+ ,IfcLightFixture
|
|
|
+ ,IfcMedicalDevice
|
|
|
+ ,IfcOutlet
|
|
|
+ ,IfcSanitaryTerminal
|
|
|
+ ,IfcSpaceHeater
|
|
|
+ ,IfcStackTerminal
|
|
|
+ ,IfcWasteTerminal))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowTerminalType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAirTerminalType
|
|
|
+ ,IfcAudioVisualApplianceType
|
|
|
+ ,IfcCommunicationsApplianceType
|
|
|
+ ,IfcElectricApplianceType
|
|
|
+ ,IfcFireSuppressionTerminalType
|
|
|
+ ,IfcLampType
|
|
|
+ ,IfcLightFixtureType
|
|
|
+ ,IfcMedicalDeviceType
|
|
|
+ ,IfcOutletType
|
|
|
+ ,IfcSanitaryTerminalType
|
|
|
+ ,IfcSpaceHeaterType
|
|
|
+ ,IfcStackTerminalType
|
|
|
+ ,IfcWasteTerminalType))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowTreatmentDevice
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcDuctSilencer
|
|
|
+ ,IfcFilter
|
|
|
+ ,IfcInterceptor))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFlowTreatmentDeviceType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcDuctSilencerType
|
|
|
+ ,IfcFilterType
|
|
|
+ ,IfcInterceptorType))
|
|
|
+ SUBTYPE OF (IfcDistributionFlowElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFooting
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcFootingTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT EXISTS(PredefinedType) OR
|
|
|
+(PredefinedType <> IfcFootingTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcFootingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCFOOTINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFootingType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcFootingTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcFootingTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcFootingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFurnishingElement
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcFurniture
|
|
|
+ ,IfcSystemFurnitureElement))
|
|
|
+ SUBTYPE OF (IfcElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFurnishingElementType
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcFurnitureType
|
|
|
+ ,IfcSystemFurnitureElementType))
|
|
|
+ SUBTYPE OF (IfcElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFurniture
|
|
|
+ SUBTYPE OF (IfcFurnishingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcFurnitureTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcFurnitureTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcFurnitureTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCFURNITURETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcFurnitureType
|
|
|
+ SUBTYPE OF (IfcFurnishingElementType);
|
|
|
+ AssemblyPlace : IfcAssemblyPlaceEnum;
|
|
|
+ PredefinedType : OPTIONAL IfcFurnitureTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcFurnitureTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcFurnitureTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcGeographicElement
|
|
|
+ SUBTYPE OF (IfcElement);
|
|
|
+ PredefinedType : OPTIONAL IfcGeographicElementTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcGeographicElementTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcGeographicElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCGEOGRAPHICELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcGeographicElementType
|
|
|
+ SUBTYPE OF (IfcElementType);
|
|
|
+ PredefinedType : IfcGeographicElementTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcGeographicElementTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcGeographicElementTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcGeometricCurveSet
|
|
|
+ SUBTYPE OF (IfcGeometricSet);
|
|
|
+ WHERE
|
|
|
+ NoSurfaces : SIZEOF(QUERY(Temp <* SELF\IfcGeometricSet.Elements |
|
|
|
+'IFC4.IFCSURFACE' IN TYPEOF(Temp))) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcGeometricRepresentationContext
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcGeometricRepresentationSubContext))
|
|
|
+ SUBTYPE OF (IfcRepresentationContext);
|
|
|
+ CoordinateSpaceDimension : IfcDimensionCount;
|
|
|
+ Precision : OPTIONAL IfcReal;
|
|
|
+ WorldCoordinateSystem : IfcAxis2Placement;
|
|
|
+ TrueNorth : OPTIONAL IfcDirection;
|
|
|
+ INVERSE
|
|
|
+ HasSubContexts : SET [0:?] OF IfcGeometricRepresentationSubContext FOR ParentContext;
|
|
|
+ HasCoordinateOperation : SET [0:1] OF IfcCoordinateOperation FOR SourceCRS;
|
|
|
+ WHERE
|
|
|
+ North2D : NOT(EXISTS(TrueNorth)) OR (HIINDEX(TrueNorth.DirectionRatios) = 2);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcGeometricRepresentationItem
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAnnotationFillArea
|
|
|
+ ,IfcBooleanResult
|
|
|
+ ,IfcBoundingBox
|
|
|
+ ,IfcCartesianPointList
|
|
|
+ ,IfcCartesianTransformationOperator
|
|
|
+ ,IfcCompositeCurveSegment
|
|
|
+ ,IfcCsgPrimitive3D
|
|
|
+ ,IfcCurve
|
|
|
+ ,IfcDirection
|
|
|
+ ,IfcFaceBasedSurfaceModel
|
|
|
+ ,IfcFillAreaStyleHatching
|
|
|
+ ,IfcFillAreaStyleTiles
|
|
|
+ ,IfcGeometricSet
|
|
|
+ ,IfcHalfSpaceSolid
|
|
|
+ ,IfcLightSource
|
|
|
+ ,IfcPlacement
|
|
|
+ ,IfcPlanarExtent
|
|
|
+ ,IfcPoint
|
|
|
+ ,IfcSectionedSpine
|
|
|
+ ,IfcShellBasedSurfaceModel
|
|
|
+ ,IfcSolidModel
|
|
|
+ ,IfcSurface
|
|
|
+ ,IfcTessellatedItem
|
|
|
+ ,IfcTextLiteral
|
|
|
+ ,IfcVector))
|
|
|
+ SUBTYPE OF (IfcRepresentationItem);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcGeometricRepresentationSubContext
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationContext);
|
|
|
+ ParentContext : IfcGeometricRepresentationContext;
|
|
|
+ TargetScale : OPTIONAL IfcPositiveRatioMeasure;
|
|
|
+ TargetView : IfcGeometricProjectionEnum;
|
|
|
+ UserDefinedTargetView : OPTIONAL IfcLabel;
|
|
|
+ DERIVE
|
|
|
+ SELF\IfcGeometricRepresentationContext.WorldCoordinateSystem : IfcAxis2Placement := ParentContext.WorldCoordinateSystem;
|
|
|
+ SELF\IfcGeometricRepresentationContext.CoordinateSpaceDimension : IfcDimensionCount := ParentContext.CoordinateSpaceDimension;
|
|
|
+ SELF\IfcGeometricRepresentationContext.TrueNorth : IfcDirection := NVL(ParentContext.TrueNorth, IfcConvertDirectionInto2D(SELF\IfcGeometricRepresentationContext.WorldCoordinateSystem.P[2]));
|
|
|
+ SELF\IfcGeometricRepresentationContext.Precision : IfcReal := NVL(ParentContext.Precision,1.E-5);
|
|
|
+ WHERE
|
|
|
+ ParentNoSub : NOT('IFC4.IFCGEOMETRICREPRESENTATIONSUBCONTEXT' IN TYPEOF(ParentContext));
|
|
|
+ UserTargetProvided : (TargetView <> IfcGeometricProjectionEnum.USERDEFINED) OR
|
|
|
+((TargetView = IfcGeometricProjectionEnum.USERDEFINED) AND EXISTS(UserDefinedTargetView));
|
|
|
+ NoCoordOperation : SIZEOF(SELF\IfcGeometricRepresentationContext.HasCoordinateOperation) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcGeometricSet
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcGeometricCurveSet))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ Elements : SET [1:?] OF IfcGeometricSetSelect;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := Elements[1].Dim;
|
|
|
+ WHERE
|
|
|
+ ConsistentDim : SIZEOF(QUERY(Temp <* Elements |
|
|
|
+ Temp.Dim <> Elements[1].Dim))
|
|
|
+= 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcGrid
|
|
|
+ SUBTYPE OF (IfcProduct);
|
|
|
+ UAxes : LIST [1:?] OF UNIQUE IfcGridAxis;
|
|
|
+ VAxes : LIST [1:?] OF UNIQUE IfcGridAxis;
|
|
|
+ WAxes : OPTIONAL LIST [1:?] OF UNIQUE IfcGridAxis;
|
|
|
+ PredefinedType : OPTIONAL IfcGridTypeEnum;
|
|
|
+ INVERSE
|
|
|
+ ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements;
|
|
|
+ WHERE
|
|
|
+ HasPlacement : EXISTS(SELF\IfcProduct.ObjectPlacement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcGridAxis;
|
|
|
+ AxisTag : OPTIONAL IfcLabel;
|
|
|
+ AxisCurve : IfcCurve;
|
|
|
+ SameSense : IfcBoolean;
|
|
|
+ INVERSE
|
|
|
+ PartOfW : SET [0:1] OF IfcGrid FOR WAxes;
|
|
|
+ PartOfV : SET [0:1] OF IfcGrid FOR VAxes;
|
|
|
+ PartOfU : SET [0:1] OF IfcGrid FOR UAxes;
|
|
|
+ HasIntersections : SET [0:?] OF IfcVirtualGridIntersection FOR IntersectingAxes;
|
|
|
+ WHERE
|
|
|
+ WR1 : AxisCurve.Dim = 2;
|
|
|
+ WR2 : (SIZEOF(PartOfU) = 1) XOR (SIZEOF(PartOfV) = 1) XOR (SIZEOF(PartOfW) = 1);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcGridPlacement
|
|
|
+ SUBTYPE OF (IfcObjectPlacement);
|
|
|
+ PlacementLocation : IfcVirtualGridIntersection;
|
|
|
+ PlacementRefDirection : OPTIONAL IfcGridPlacementDirectionSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcGroup
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAsset
|
|
|
+ ,IfcInventory
|
|
|
+ ,IfcStructuralLoadGroup
|
|
|
+ ,IfcStructuralResultGroup
|
|
|
+ ,IfcSystem))
|
|
|
+ SUBTYPE OF (IfcObject);
|
|
|
+ INVERSE
|
|
|
+ IsGroupedBy : SET [0:?] OF IfcRelAssignsToGroup FOR RelatingGroup;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcHalfSpaceSolid
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBoxedHalfSpace
|
|
|
+ ,IfcPolygonalBoundedHalfSpace))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ BaseSurface : IfcSurface;
|
|
|
+ AgreementFlag : IfcBoolean;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := 3;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcHeatExchanger
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcHeatExchangerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcHeatExchangerTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcHeatExchangerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCHEATEXCHANGERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcHeatExchangerType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcHeatExchangerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcHeatExchangerTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcHeatExchangerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcHumidifier
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcHumidifierTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcHumidifierTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcHumidifierTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCHUMIDIFIERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcHumidifierType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcHumidifierTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcHumidifierTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcHumidifierTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcIShapeProfileDef
|
|
|
+ SUBTYPE OF (IfcParameterizedProfileDef);
|
|
|
+ OverallWidth : IfcPositiveLengthMeasure;
|
|
|
+ OverallDepth : IfcPositiveLengthMeasure;
|
|
|
+ WebThickness : IfcPositiveLengthMeasure;
|
|
|
+ FlangeThickness : IfcPositiveLengthMeasure;
|
|
|
+ FilletRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ FlangeEdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ FlangeSlope : OPTIONAL IfcPlaneAngleMeasure;
|
|
|
+ WHERE
|
|
|
+ ValidFlangeThickness : (2. * FlangeThickness) < OverallDepth;
|
|
|
+ ValidWebThickness : WebThickness < OverallWidth;
|
|
|
+ ValidFilletRadius : NOT(EXISTS(FilletRadius)) OR
|
|
|
+((FilletRadius <= (OverallWidth - WebThickness)/2.) AND
|
|
|
+ (FilletRadius <= (OverallDepth - (2. * FlangeThickness))/2.));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcImageTexture
|
|
|
+ SUBTYPE OF (IfcSurfaceTexture);
|
|
|
+ URLReference : IfcURIReference;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcIndexedColourMap
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ MappedTo : IfcTessellatedFaceSet;
|
|
|
+ Opacity : OPTIONAL IfcNormalisedRatioMeasure;
|
|
|
+ Colours : IfcColourRgbList;
|
|
|
+ ColourIndex : LIST [1:?] OF IfcPositiveInteger;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcIndexedPolyCurve
|
|
|
+ SUBTYPE OF (IfcBoundedCurve);
|
|
|
+ Points : IfcCartesianPointList;
|
|
|
+ Segments : OPTIONAL LIST [1:?] OF IfcSegmentIndexSelect;
|
|
|
+ SelfIntersect : OPTIONAL IfcBoolean;
|
|
|
+ WHERE
|
|
|
+ Consecutive : (SIZEOF(Segments) = 0) OR IfcConsecutiveSegments(Segments);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcIndexedPolygonalFace
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcIndexedPolygonalFaceWithVoids))
|
|
|
+ SUBTYPE OF (IfcTessellatedItem);
|
|
|
+ CoordIndex : LIST [3:?] OF IfcPositiveInteger;
|
|
|
+ INVERSE
|
|
|
+ ToFaceSet : SET [1:?] OF IfcPolygonalFaceSet FOR Faces;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcIndexedPolygonalFaceWithVoids
|
|
|
+ SUBTYPE OF (IfcIndexedPolygonalFace);
|
|
|
+ InnerCoordIndices : LIST [1:?] OF LIST [3:?] OF UNIQUE IfcPositiveInteger;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcIndexedTextureMap
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcIndexedTriangleTextureMap))
|
|
|
+ SUBTYPE OF (IfcTextureCoordinate);
|
|
|
+ MappedTo : IfcTessellatedFaceSet;
|
|
|
+ TexCoords : IfcTextureVertexList;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcIndexedTriangleTextureMap
|
|
|
+ SUBTYPE OF (IfcIndexedTextureMap);
|
|
|
+ TexCoordIndex : OPTIONAL LIST [1:?] OF LIST [3:3] OF IfcPositiveInteger;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcInterceptor
|
|
|
+ SUBTYPE OF (IfcFlowTreatmentDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcInterceptorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcInterceptorTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcInterceptorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCINTERCEPTORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcInterceptorType
|
|
|
+ SUBTYPE OF (IfcFlowTreatmentDeviceType);
|
|
|
+ PredefinedType : IfcInterceptorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcInterceptorTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcInterceptorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcIntersectionCurve
|
|
|
+ SUBTYPE OF (IfcSurfaceCurve);
|
|
|
+ WHERE
|
|
|
+ TwoPCurves : SIZEOF(SELF\IfcSurfaceCurve.AssociatedGeometry) = 2;
|
|
|
+ DistinctSurfaces : IfcAssociatedSurface(SELF\IfcSurfaceCurve.AssociatedGeometry[1]) <> IfcAssociatedSurface(SELF\IfcSurfaceCurve.AssociatedGeometry[2]);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcInventory
|
|
|
+ SUBTYPE OF (IfcGroup);
|
|
|
+ PredefinedType : OPTIONAL IfcInventoryTypeEnum;
|
|
|
+ Jurisdiction : OPTIONAL IfcActorSelect;
|
|
|
+ ResponsiblePersons : OPTIONAL SET [1:?] OF IfcPerson;
|
|
|
+ LastUpdateDate : OPTIONAL IfcDate;
|
|
|
+ CurrentValue : OPTIONAL IfcCostValue;
|
|
|
+ OriginalValue : OPTIONAL IfcCostValue;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcIrregularTimeSeries
|
|
|
+ SUBTYPE OF (IfcTimeSeries);
|
|
|
+ Values : LIST [1:?] OF IfcIrregularTimeSeriesValue;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcIrregularTimeSeriesValue;
|
|
|
+ TimeStamp : IfcDateTime;
|
|
|
+ ListValues : LIST [1:?] OF IfcValue;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcJunctionBox
|
|
|
+ SUBTYPE OF (IfcFlowFitting);
|
|
|
+ PredefinedType : OPTIONAL IfcJunctionBoxTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcJunctionBoxTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcJunctionBoxTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCJUNCTIONBOXTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcJunctionBoxType
|
|
|
+ SUBTYPE OF (IfcFlowFittingType);
|
|
|
+ PredefinedType : IfcJunctionBoxTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcJunctionBoxTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcJunctionBoxTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLShapeProfileDef
|
|
|
+ SUBTYPE OF (IfcParameterizedProfileDef);
|
|
|
+ Depth : IfcPositiveLengthMeasure;
|
|
|
+ Width : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ Thickness : IfcPositiveLengthMeasure;
|
|
|
+ FilletRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ EdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ LegSlope : OPTIONAL IfcPlaneAngleMeasure;
|
|
|
+ WHERE
|
|
|
+ ValidThickness : (Thickness < Depth) AND (NOT(EXISTS(Width)) OR (Thickness < Width));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLaborResource
|
|
|
+ SUBTYPE OF (IfcConstructionResource);
|
|
|
+ PredefinedType : OPTIONAL IfcLaborResourceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcLaborResourceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcLaborResourceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLaborResourceType
|
|
|
+ SUBTYPE OF (IfcConstructionResourceType);
|
|
|
+ PredefinedType : IfcLaborResourceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcLaborResourceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcLaborResourceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeResource.ResourceType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLagTime
|
|
|
+ SUBTYPE OF (IfcSchedulingTime);
|
|
|
+ LagValue : IfcTimeOrRatioSelect;
|
|
|
+ DurationType : IfcTaskDurationEnum;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLamp
|
|
|
+ SUBTYPE OF (IfcFlowTerminal);
|
|
|
+ PredefinedType : OPTIONAL IfcLampTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcLampTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcLampTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCLAMPTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLampType
|
|
|
+ SUBTYPE OF (IfcFlowTerminalType);
|
|
|
+ PredefinedType : IfcLampTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcLampTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcLampTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLibraryInformation
|
|
|
+ SUBTYPE OF (IfcExternalInformation);
|
|
|
+ Name : IfcLabel;
|
|
|
+ Version : OPTIONAL IfcLabel;
|
|
|
+ Publisher : OPTIONAL IfcActorSelect;
|
|
|
+ VersionDate : OPTIONAL IfcDateTime;
|
|
|
+ Location : OPTIONAL IfcURIReference;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ INVERSE
|
|
|
+ LibraryInfoForObjects : SET [0:?] OF IfcRelAssociatesLibrary FOR RelatingLibrary;
|
|
|
+ HasLibraryReferences : SET [0:?] OF IfcLibraryReference FOR ReferencedLibrary;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLibraryReference
|
|
|
+ SUBTYPE OF (IfcExternalReference);
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ Language : OPTIONAL IfcLanguageId;
|
|
|
+ ReferencedLibrary : OPTIONAL IfcLibraryInformation;
|
|
|
+ INVERSE
|
|
|
+ LibraryRefForObjects : SET [0:?] OF IfcRelAssociatesLibrary FOR RelatingLibrary;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLightDistributionData;
|
|
|
+ MainPlaneAngle : IfcPlaneAngleMeasure;
|
|
|
+ SecondaryPlaneAngle : LIST [1:?] OF IfcPlaneAngleMeasure;
|
|
|
+ LuminousIntensity : LIST [1:?] OF IfcLuminousIntensityDistributionMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLightFixture
|
|
|
+ SUBTYPE OF (IfcFlowTerminal);
|
|
|
+ PredefinedType : OPTIONAL IfcLightFixtureTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcLightFixtureTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcLightFixtureTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCLIGHTFIXTURETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLightFixtureType
|
|
|
+ SUBTYPE OF (IfcFlowTerminalType);
|
|
|
+ PredefinedType : IfcLightFixtureTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcLightFixtureTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcLightFixtureTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLightIntensityDistribution;
|
|
|
+ LightDistributionCurve : IfcLightDistributionCurveEnum;
|
|
|
+ DistributionData : LIST [1:?] OF IfcLightDistributionData;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLightSource
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcLightSourceAmbient
|
|
|
+ ,IfcLightSourceDirectional
|
|
|
+ ,IfcLightSourceGoniometric
|
|
|
+ ,IfcLightSourcePositional))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ LightColour : IfcColourRgb;
|
|
|
+ AmbientIntensity : OPTIONAL IfcNormalisedRatioMeasure;
|
|
|
+ Intensity : OPTIONAL IfcNormalisedRatioMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLightSourceAmbient
|
|
|
+ SUBTYPE OF (IfcLightSource);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLightSourceDirectional
|
|
|
+ SUBTYPE OF (IfcLightSource);
|
|
|
+ Orientation : IfcDirection;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLightSourceGoniometric
|
|
|
+ SUBTYPE OF (IfcLightSource);
|
|
|
+ Position : IfcAxis2Placement3D;
|
|
|
+ ColourAppearance : OPTIONAL IfcColourRgb;
|
|
|
+ ColourTemperature : IfcThermodynamicTemperatureMeasure;
|
|
|
+ LuminousFlux : IfcLuminousFluxMeasure;
|
|
|
+ LightEmissionSource : IfcLightEmissionSourceEnum;
|
|
|
+ LightDistributionDataSource : IfcLightDistributionDataSourceSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLightSourcePositional
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcLightSourceSpot))
|
|
|
+ SUBTYPE OF (IfcLightSource);
|
|
|
+ Position : IfcCartesianPoint;
|
|
|
+ Radius : IfcPositiveLengthMeasure;
|
|
|
+ ConstantAttenuation : IfcReal;
|
|
|
+ DistanceAttenuation : IfcReal;
|
|
|
+ QuadricAttenuation : IfcReal;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLightSourceSpot
|
|
|
+ SUBTYPE OF (IfcLightSourcePositional);
|
|
|
+ Orientation : IfcDirection;
|
|
|
+ ConcentrationExponent : OPTIONAL IfcReal;
|
|
|
+ SpreadAngle : IfcPositivePlaneAngleMeasure;
|
|
|
+ BeamWidthAngle : IfcPositivePlaneAngleMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLine
|
|
|
+ SUBTYPE OF (IfcCurve);
|
|
|
+ Pnt : IfcCartesianPoint;
|
|
|
+ Dir : IfcVector;
|
|
|
+ WHERE
|
|
|
+ SameDim : Dir.Dim = Pnt.Dim;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLocalPlacement
|
|
|
+ SUBTYPE OF (IfcObjectPlacement);
|
|
|
+ PlacementRelTo : OPTIONAL IfcObjectPlacement;
|
|
|
+ RelativePlacement : IfcAxis2Placement;
|
|
|
+ WHERE
|
|
|
+ WR21 : IfcCorrectLocalPlacement(RelativePlacement, PlacementRelTo);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcLoop
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcEdgeLoop
|
|
|
+ ,IfcPolyLoop
|
|
|
+ ,IfcVertexLoop))
|
|
|
+ SUBTYPE OF (IfcTopologicalRepresentationItem);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcManifoldSolidBrep
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAdvancedBrep
|
|
|
+ ,IfcFacetedBrep))
|
|
|
+ SUBTYPE OF (IfcSolidModel);
|
|
|
+ Outer : IfcClosedShell;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMapConversion
|
|
|
+ SUBTYPE OF (IfcCoordinateOperation);
|
|
|
+ Eastings : IfcLengthMeasure;
|
|
|
+ Northings : IfcLengthMeasure;
|
|
|
+ OrthogonalHeight : IfcLengthMeasure;
|
|
|
+ XAxisAbscissa : OPTIONAL IfcReal;
|
|
|
+ XAxisOrdinate : OPTIONAL IfcReal;
|
|
|
+ Scale : OPTIONAL IfcReal;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMappedItem
|
|
|
+ SUBTYPE OF (IfcRepresentationItem);
|
|
|
+ MappingSource : IfcRepresentationMap;
|
|
|
+ MappingTarget : IfcCartesianTransformationOperator;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterial
|
|
|
+ SUBTYPE OF (IfcMaterialDefinition);
|
|
|
+ Name : IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ Category : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ HasRepresentation : SET [0:1] OF IfcMaterialDefinitionRepresentation FOR RepresentedMaterial;
|
|
|
+ IsRelatedWith : SET [0:?] OF IfcMaterialRelationship FOR RelatedMaterials;
|
|
|
+ RelatesTo : SET [0:1] OF IfcMaterialRelationship FOR RelatingMaterial;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialClassificationRelationship;
|
|
|
+ MaterialClassifications : SET [1:?] OF IfcClassificationSelect;
|
|
|
+ ClassifiedMaterial : IfcMaterial;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialConstituent
|
|
|
+ SUBTYPE OF (IfcMaterialDefinition);
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ Material : IfcMaterial;
|
|
|
+ Fraction : OPTIONAL IfcNormalisedRatioMeasure;
|
|
|
+ Category : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ ToMaterialConstituentSet : IfcMaterialConstituentSet FOR MaterialConstituents;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialConstituentSet
|
|
|
+ SUBTYPE OF (IfcMaterialDefinition);
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ MaterialConstituents : OPTIONAL SET [1:?] OF IfcMaterialConstituent;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialDefinition
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcMaterial
|
|
|
+ ,IfcMaterialConstituent
|
|
|
+ ,IfcMaterialConstituentSet
|
|
|
+ ,IfcMaterialLayer
|
|
|
+ ,IfcMaterialLayerSet
|
|
|
+ ,IfcMaterialProfile
|
|
|
+ ,IfcMaterialProfileSet));
|
|
|
+ INVERSE
|
|
|
+ AssociatedTo : SET [0:?] OF IfcRelAssociatesMaterial FOR RelatingMaterial;
|
|
|
+ HasExternalReferences : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects;
|
|
|
+ HasProperties : SET [0:?] OF IfcMaterialProperties FOR Material;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialDefinitionRepresentation
|
|
|
+ SUBTYPE OF (IfcProductRepresentation);
|
|
|
+ RepresentedMaterial : IfcMaterial;
|
|
|
+ WHERE
|
|
|
+ OnlyStyledRepresentations : SIZEOF(QUERY(temp <* Representations |
|
|
|
+ (NOT('IFC4.IFCSTYLEDREPRESENTATION' IN TYPEOF(temp)))
|
|
|
+)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialLayer
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcMaterialLayerWithOffsets))
|
|
|
+ SUBTYPE OF (IfcMaterialDefinition);
|
|
|
+ Material : OPTIONAL IfcMaterial;
|
|
|
+ LayerThickness : IfcNonNegativeLengthMeasure;
|
|
|
+ IsVentilated : OPTIONAL IfcLogical;
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ Category : OPTIONAL IfcLabel;
|
|
|
+ Priority : OPTIONAL IfcInteger;
|
|
|
+ INVERSE
|
|
|
+ ToMaterialLayerSet : IfcMaterialLayerSet FOR MaterialLayers;
|
|
|
+ WHERE
|
|
|
+ NormalizedPriority : NOT(EXISTS(Priority)) OR {0 <= Priority <= 100};
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialLayerSet
|
|
|
+ SUBTYPE OF (IfcMaterialDefinition);
|
|
|
+ MaterialLayers : LIST [1:?] OF IfcMaterialLayer;
|
|
|
+ LayerSetName : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ DERIVE
|
|
|
+ TotalThickness : IfcLengthMeasure := IfcMlsTotalThickness(SELF);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialLayerSetUsage
|
|
|
+ SUBTYPE OF (IfcMaterialUsageDefinition);
|
|
|
+ ForLayerSet : IfcMaterialLayerSet;
|
|
|
+ LayerSetDirection : IfcLayerSetDirectionEnum;
|
|
|
+ DirectionSense : IfcDirectionSenseEnum;
|
|
|
+ OffsetFromReferenceLine : IfcLengthMeasure;
|
|
|
+ ReferenceExtent : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialLayerWithOffsets
|
|
|
+ SUBTYPE OF (IfcMaterialLayer);
|
|
|
+ OffsetDirection : IfcLayerSetDirectionEnum;
|
|
|
+ OffsetValues : ARRAY [1:2] OF IfcLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialList;
|
|
|
+ Materials : LIST [1:?] OF IfcMaterial;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialProfile
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcMaterialProfileWithOffsets))
|
|
|
+ SUBTYPE OF (IfcMaterialDefinition);
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ Material : OPTIONAL IfcMaterial;
|
|
|
+ Profile : IfcProfileDef;
|
|
|
+ Priority : OPTIONAL IfcInteger;
|
|
|
+ Category : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ ToMaterialProfileSet : IfcMaterialProfileSet FOR MaterialProfiles;
|
|
|
+ WHERE
|
|
|
+ NormalizedPriority : NOT(EXISTS(Priority)) OR {0 <= Priority <= 100};
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialProfileSet
|
|
|
+ SUBTYPE OF (IfcMaterialDefinition);
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ MaterialProfiles : LIST [1:?] OF IfcMaterialProfile;
|
|
|
+ CompositeProfile : OPTIONAL IfcCompositeProfileDef;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialProfileSetUsage
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcMaterialProfileSetUsageTapering))
|
|
|
+ SUBTYPE OF (IfcMaterialUsageDefinition);
|
|
|
+ ForProfileSet : IfcMaterialProfileSet;
|
|
|
+ CardinalPoint : OPTIONAL IfcCardinalPointReference;
|
|
|
+ ReferenceExtent : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialProfileSetUsageTapering
|
|
|
+ SUBTYPE OF (IfcMaterialProfileSetUsage);
|
|
|
+ ForProfileEndSet : IfcMaterialProfileSet;
|
|
|
+ CardinalEndPoint : OPTIONAL IfcCardinalPointReference;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialProfileWithOffsets
|
|
|
+ SUBTYPE OF (IfcMaterialProfile);
|
|
|
+ OffsetValues : ARRAY [1:2] OF IfcLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialProperties
|
|
|
+ SUBTYPE OF (IfcExtendedProperties);
|
|
|
+ Material : IfcMaterialDefinition;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialRelationship
|
|
|
+ SUBTYPE OF (IfcResourceLevelRelationship);
|
|
|
+ RelatingMaterial : IfcMaterial;
|
|
|
+ RelatedMaterials : SET [1:?] OF IfcMaterial;
|
|
|
+ Expression : OPTIONAL IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMaterialUsageDefinition
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcMaterialLayerSetUsage
|
|
|
+ ,IfcMaterialProfileSetUsage));
|
|
|
+ INVERSE
|
|
|
+ AssociatedTo : SET [1:?] OF IfcRelAssociatesMaterial FOR RelatingMaterial;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMeasureWithUnit;
|
|
|
+ ValueComponent : IfcValue;
|
|
|
+ UnitComponent : IfcUnit;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMechanicalFastener
|
|
|
+ SUBTYPE OF (IfcElementComponent);
|
|
|
+ NominalDiameter : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ NominalLength : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ PredefinedType : OPTIONAL IfcMechanicalFastenerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+(PredefinedType <> IfcMechanicalFastenerTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcMechanicalFastenerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCMECHANICALFASTENERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMechanicalFastenerType
|
|
|
+ SUBTYPE OF (IfcElementComponentType);
|
|
|
+ PredefinedType : IfcMechanicalFastenerTypeEnum;
|
|
|
+ NominalDiameter : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ NominalLength : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcMechanicalFastenerTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcMechanicalFastenerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMedicalDevice
|
|
|
+ SUBTYPE OF (IfcFlowTerminal);
|
|
|
+ PredefinedType : OPTIONAL IfcMedicalDeviceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcMedicalDeviceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcMedicalDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCMEDICALDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMedicalDeviceType
|
|
|
+ SUBTYPE OF (IfcFlowTerminalType);
|
|
|
+ PredefinedType : IfcMedicalDeviceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcMedicalDeviceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcMedicalDeviceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMember
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcMemberStandardCase))
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcMemberTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcMemberTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcMemberTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCMEMBERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMemberStandardCase
|
|
|
+ SUBTYPE OF (IfcMember);
|
|
|
+ WHERE
|
|
|
+ HasMaterialProfileSetUsage : SIZEOF (QUERY(temp <* USEDIN(SELF, 'IFC4.IFCRELASSOCIATES.RELATEDOBJECTS') |
|
|
|
+ ('IFC4.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp)) AND
|
|
|
+ ('IFC4.IFCMATERIALPROFILESETUSAGE' IN TYPEOF(temp.RelatingMaterial))
|
|
|
+ )) = 1;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMemberType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcMemberTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcMemberTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcMemberTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMetric
|
|
|
+ SUBTYPE OF (IfcConstraint);
|
|
|
+ Benchmark : IfcBenchmarkEnum;
|
|
|
+ ValueSource : OPTIONAL IfcLabel;
|
|
|
+ DataValue : OPTIONAL IfcMetricValueSelect;
|
|
|
+ ReferencePath : OPTIONAL IfcReference;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMirroredProfileDef
|
|
|
+ SUBTYPE OF (IfcDerivedProfileDef);
|
|
|
+ DERIVE
|
|
|
+ SELF\IfcDerivedProfileDef.Operator : IfcCartesianTransformationOperator2D :=
|
|
|
+IfcRepresentationItem() || IfcGeometricRepresentationItem() ||
|
|
|
+IfcCartesianTransformationOperator(
|
|
|
+ -- Axis1
|
|
|
+ IfcRepresentationItem() || IfcGeometricRepresentationItem() ||
|
|
|
+ IfcDirection([-1., 0.]),
|
|
|
+ -- Axis2
|
|
|
+ IfcRepresentationItem() || IfcGeometricRepresentationItem() ||
|
|
|
+ IfcDirection([ 0., 1.]),
|
|
|
+ -- LocalOrigin
|
|
|
+ IfcRepresentationItem() || IfcGeometricRepresentationItem() ||
|
|
|
+ IfcPoint() || IfcCartesianPoint([0., 0.]),
|
|
|
+ -- Scale
|
|
|
+ 1.) ||
|
|
|
+IfcCartesianTransformationOperator2D();
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMonetaryUnit;
|
|
|
+ Currency : IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMotorConnection
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcMotorConnectionTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcMotorConnectionTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcMotorConnectionTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCMOTORCONNECTIONTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcMotorConnectionType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcMotorConnectionTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcMotorConnectionTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcMotorConnectionTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcNamedUnit
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcContextDependentUnit
|
|
|
+ ,IfcConversionBasedUnit
|
|
|
+ ,IfcSIUnit));
|
|
|
+ Dimensions : IfcDimensionalExponents;
|
|
|
+ UnitType : IfcUnitEnum;
|
|
|
+ WHERE
|
|
|
+ WR1 : IfcCorrectDimensions (SELF.UnitType, SELF.Dimensions);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcObject
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcActor
|
|
|
+ ,IfcControl
|
|
|
+ ,IfcGroup
|
|
|
+ ,IfcProcess
|
|
|
+ ,IfcProduct
|
|
|
+ ,IfcResource))
|
|
|
+ SUBTYPE OF (IfcObjectDefinition);
|
|
|
+ ObjectType : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ IsDeclaredBy : SET [0:1] OF IfcRelDefinesByObject FOR RelatedObjects;
|
|
|
+ Declares : SET [0:?] OF IfcRelDefinesByObject FOR RelatingObject;
|
|
|
+ IsTypedBy : SET [0:1] OF IfcRelDefinesByType FOR RelatedObjects;
|
|
|
+ IsDefinedBy : SET [0:?] OF IfcRelDefinesByProperties FOR RelatedObjects;
|
|
|
+ WHERE
|
|
|
+ UniquePropertySetNames : ((SIZEOF(IsDefinedBy) = 0) OR IfcUniqueDefinitionNames(IsDefinedBy));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcObjectDefinition
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcContext
|
|
|
+ ,IfcObject
|
|
|
+ ,IfcTypeObject))
|
|
|
+ SUBTYPE OF (IfcRoot);
|
|
|
+ INVERSE
|
|
|
+ HasAssignments : SET [0:?] OF IfcRelAssigns FOR RelatedObjects;
|
|
|
+ Nests : SET [0:1] OF IfcRelNests FOR RelatedObjects;
|
|
|
+ IsNestedBy : SET [0:?] OF IfcRelNests FOR RelatingObject;
|
|
|
+ HasContext : SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions;
|
|
|
+ IsDecomposedBy : SET [0:?] OF IfcRelAggregates FOR RelatingObject;
|
|
|
+ Decomposes : SET [0:1] OF IfcRelAggregates FOR RelatedObjects;
|
|
|
+ HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcObjectPlacement
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcGridPlacement
|
|
|
+ ,IfcLocalPlacement));
|
|
|
+ INVERSE
|
|
|
+ PlacesObject : SET [0:?] OF IfcProduct FOR ObjectPlacement;
|
|
|
+ ReferencedByPlacements : SET [0:?] OF IfcLocalPlacement FOR PlacementRelTo;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcObjective
|
|
|
+ SUBTYPE OF (IfcConstraint);
|
|
|
+ BenchmarkValues : OPTIONAL LIST [1:?] OF IfcConstraint;
|
|
|
+ LogicalAggregator : OPTIONAL IfcLogicalOperatorEnum;
|
|
|
+ ObjectiveQualifier : IfcObjectiveEnum;
|
|
|
+ UserDefinedQualifier : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ WR21 : (ObjectiveQualifier <> IfcObjectiveEnum.USERDEFINED) OR
|
|
|
+((ObjectiveQualifier = IfcObjectiveEnum.USERDEFINED) AND EXISTS(SELF\IfcObjective.UserDefinedQualifier));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcOccupant
|
|
|
+ SUBTYPE OF (IfcActor);
|
|
|
+ PredefinedType : OPTIONAL IfcOccupantTypeEnum;
|
|
|
+ WHERE
|
|
|
+ WR31 : NOT(PredefinedType = IfcOccupantTypeEnum.USERDEFINED)
|
|
|
+OR EXISTS(SELF\IfcObject.ObjectType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcOffsetCurve2D
|
|
|
+ SUBTYPE OF (IfcCurve);
|
|
|
+ BasisCurve : IfcCurve;
|
|
|
+ Distance : IfcLengthMeasure;
|
|
|
+ SelfIntersect : IfcLogical;
|
|
|
+ WHERE
|
|
|
+ DimIs2D : BasisCurve.Dim = 2;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcOffsetCurve3D
|
|
|
+ SUBTYPE OF (IfcCurve);
|
|
|
+ BasisCurve : IfcCurve;
|
|
|
+ Distance : IfcLengthMeasure;
|
|
|
+ SelfIntersect : IfcLogical;
|
|
|
+ RefDirection : IfcDirection;
|
|
|
+ WHERE
|
|
|
+ DimIs2D : BasisCurve.Dim = 3;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcOpenShell
|
|
|
+ SUBTYPE OF (IfcConnectedFaceSet);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcOpeningElement
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcOpeningStandardCase))
|
|
|
+ SUBTYPE OF (IfcFeatureElementSubtraction);
|
|
|
+ PredefinedType : OPTIONAL IfcOpeningElementTypeEnum;
|
|
|
+ INVERSE
|
|
|
+ HasFillings : SET [0:?] OF IfcRelFillsElement FOR RelatingOpeningElement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcOpeningStandardCase
|
|
|
+ SUBTYPE OF (IfcOpeningElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcOrganization;
|
|
|
+ Identification : OPTIONAL IfcIdentifier;
|
|
|
+ Name : IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ Roles : OPTIONAL LIST [1:?] OF IfcActorRole;
|
|
|
+ Addresses : OPTIONAL LIST [1:?] OF IfcAddress;
|
|
|
+ INVERSE
|
|
|
+ IsRelatedBy : SET [0:?] OF IfcOrganizationRelationship FOR RelatedOrganizations;
|
|
|
+ Relates : SET [0:?] OF IfcOrganizationRelationship FOR RelatingOrganization;
|
|
|
+ Engages : SET [0:?] OF IfcPersonAndOrganization FOR TheOrganization;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcOrganizationRelationship
|
|
|
+ SUBTYPE OF (IfcResourceLevelRelationship);
|
|
|
+ RelatingOrganization : IfcOrganization;
|
|
|
+ RelatedOrganizations : SET [1:?] OF IfcOrganization;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcOrientedEdge
|
|
|
+ SUBTYPE OF (IfcEdge);
|
|
|
+ EdgeElement : IfcEdge;
|
|
|
+ Orientation : IfcBoolean;
|
|
|
+ DERIVE
|
|
|
+ SELF\IfcEdge.EdgeStart : IfcVertex := IfcBooleanChoose
|
|
|
+(Orientation, EdgeElement.EdgeStart, EdgeElement.EdgeEnd);
|
|
|
+ SELF\IfcEdge.EdgeEnd : IfcVertex := IfcBooleanChoose
|
|
|
+(Orientation, EdgeElement.EdgeEnd, EdgeElement.EdgeStart);
|
|
|
+ WHERE
|
|
|
+ EdgeElementNotOriented : NOT('IFC4.IFCORIENTEDEDGE' IN TYPEOF(EdgeElement));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcOuterBoundaryCurve
|
|
|
+ SUBTYPE OF (IfcBoundaryCurve);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcOutlet
|
|
|
+ SUBTYPE OF (IfcFlowTerminal);
|
|
|
+ PredefinedType : OPTIONAL IfcOutletTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcOutletTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcOutletTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCOUTLETTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcOutletType
|
|
|
+ SUBTYPE OF (IfcFlowTerminalType);
|
|
|
+ PredefinedType : IfcOutletTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcOutletTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcOutletTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcOwnerHistory;
|
|
|
+ OwningUser : IfcPersonAndOrganization;
|
|
|
+ OwningApplication : IfcApplication;
|
|
|
+ State : OPTIONAL IfcStateEnum;
|
|
|
+ ChangeAction : OPTIONAL IfcChangeActionEnum;
|
|
|
+ LastModifiedDate : OPTIONAL IfcTimeStamp;
|
|
|
+ LastModifyingUser : OPTIONAL IfcPersonAndOrganization;
|
|
|
+ LastModifyingApplication : OPTIONAL IfcApplication;
|
|
|
+ CreationDate : IfcTimeStamp;
|
|
|
+ WHERE
|
|
|
+ CorrectChangeAction : (EXISTS(LastModifiedDate)) OR
|
|
|
+(NOT(EXISTS(LastModifiedDate)) AND NOT(EXISTS(ChangeAction))) OR
|
|
|
+(NOT(EXISTS(LastModifiedDate)) AND EXISTS(ChangeAction) AND ((ChangeAction = IfcChangeActionEnum.NOTDEFINED) OR (ChangeAction = IfcChangeActionEnum.NOCHANGE)));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcParameterizedProfileDef
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAsymmetricIShapeProfileDef
|
|
|
+ ,IfcCShapeProfileDef
|
|
|
+ ,IfcCircleProfileDef
|
|
|
+ ,IfcEllipseProfileDef
|
|
|
+ ,IfcIShapeProfileDef
|
|
|
+ ,IfcLShapeProfileDef
|
|
|
+ ,IfcRectangleProfileDef
|
|
|
+ ,IfcTShapeProfileDef
|
|
|
+ ,IfcTrapeziumProfileDef
|
|
|
+ ,IfcUShapeProfileDef
|
|
|
+ ,IfcZShapeProfileDef))
|
|
|
+ SUBTYPE OF (IfcProfileDef);
|
|
|
+ Position : OPTIONAL IfcAxis2Placement2D;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPath
|
|
|
+ SUBTYPE OF (IfcTopologicalRepresentationItem);
|
|
|
+ EdgeList : LIST [1:?] OF UNIQUE IfcOrientedEdge;
|
|
|
+ WHERE
|
|
|
+ IsContinuous : IfcPathHeadToTail(SELF);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPcurve
|
|
|
+ SUBTYPE OF (IfcCurve);
|
|
|
+ BasisSurface : IfcSurface;
|
|
|
+ ReferenceCurve : IfcCurve;
|
|
|
+ WHERE
|
|
|
+ DimIs2D : ReferenceCurve.Dim = 2;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPerformanceHistory
|
|
|
+ SUBTYPE OF (IfcControl);
|
|
|
+ LifeCyclePhase : IfcLabel;
|
|
|
+ PredefinedType : OPTIONAL IfcPerformanceHistoryTypeEnum;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPermeableCoveringProperties
|
|
|
+ SUBTYPE OF (IfcPreDefinedPropertySet);
|
|
|
+ OperationType : IfcPermeableCoveringOperationEnum;
|
|
|
+ PanelPosition : IfcWindowPanelPositionEnum;
|
|
|
+ FrameDepth : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ FrameThickness : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ ShapeAspectStyle : OPTIONAL IfcShapeAspect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPermit
|
|
|
+ SUBTYPE OF (IfcControl);
|
|
|
+ PredefinedType : OPTIONAL IfcPermitTypeEnum;
|
|
|
+ Status : OPTIONAL IfcLabel;
|
|
|
+ LongDescription : OPTIONAL IfcText;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPerson;
|
|
|
+ Identification : OPTIONAL IfcIdentifier;
|
|
|
+ FamilyName : OPTIONAL IfcLabel;
|
|
|
+ GivenName : OPTIONAL IfcLabel;
|
|
|
+ MiddleNames : OPTIONAL LIST [1:?] OF IfcLabel;
|
|
|
+ PrefixTitles : OPTIONAL LIST [1:?] OF IfcLabel;
|
|
|
+ SuffixTitles : OPTIONAL LIST [1:?] OF IfcLabel;
|
|
|
+ Roles : OPTIONAL LIST [1:?] OF IfcActorRole;
|
|
|
+ Addresses : OPTIONAL LIST [1:?] OF IfcAddress;
|
|
|
+ INVERSE
|
|
|
+ EngagedIn : SET [0:?] OF IfcPersonAndOrganization FOR ThePerson;
|
|
|
+ WHERE
|
|
|
+ IdentifiablePerson : EXISTS(Identification) OR EXISTS(FamilyName) OR EXISTS(GivenName);
|
|
|
+ ValidSetOfNames : NOT EXISTS(MiddleNames) OR EXISTS(FamilyName) OR EXISTS(GivenName);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPersonAndOrganization;
|
|
|
+ ThePerson : IfcPerson;
|
|
|
+ TheOrganization : IfcOrganization;
|
|
|
+ Roles : OPTIONAL LIST [1:?] OF IfcActorRole;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPhysicalComplexQuantity
|
|
|
+ SUBTYPE OF (IfcPhysicalQuantity);
|
|
|
+ HasQuantities : SET [1:?] OF IfcPhysicalQuantity;
|
|
|
+ Discrimination : IfcLabel;
|
|
|
+ Quality : OPTIONAL IfcLabel;
|
|
|
+ Usage : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ NoSelfReference : SIZEOF(QUERY(temp <* HasQuantities | SELF :=: temp)) = 0;
|
|
|
+ UniqueQuantityNames : IfcUniqueQuantityNames(HasQuantities);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPhysicalQuantity
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcPhysicalComplexQuantity
|
|
|
+ ,IfcPhysicalSimpleQuantity));
|
|
|
+ Name : IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ INVERSE
|
|
|
+ HasExternalReferences : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects;
|
|
|
+ PartOfComplex : SET [0:1] OF IfcPhysicalComplexQuantity FOR HasQuantities;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPhysicalSimpleQuantity
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcQuantityArea
|
|
|
+ ,IfcQuantityCount
|
|
|
+ ,IfcQuantityLength
|
|
|
+ ,IfcQuantityTime
|
|
|
+ ,IfcQuantityVolume
|
|
|
+ ,IfcQuantityWeight))
|
|
|
+ SUBTYPE OF (IfcPhysicalQuantity);
|
|
|
+ Unit : OPTIONAL IfcNamedUnit;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPile
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcPileTypeEnum;
|
|
|
+ ConstructionType : OPTIONAL IfcPileConstructionEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT EXISTS(PredefinedType) OR
|
|
|
+(PredefinedType <> IfcPileTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcPileTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCPILETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPileType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcPileTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcPileTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcPileTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPipeFitting
|
|
|
+ SUBTYPE OF (IfcFlowFitting);
|
|
|
+ PredefinedType : OPTIONAL IfcPipeFittingTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcPipeFittingTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcPipeFittingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCPIPEFITTINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPipeFittingType
|
|
|
+ SUBTYPE OF (IfcFlowFittingType);
|
|
|
+ PredefinedType : IfcPipeFittingTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcPipeFittingTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcPipeFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPipeSegment
|
|
|
+ SUBTYPE OF (IfcFlowSegment);
|
|
|
+ PredefinedType : OPTIONAL IfcPipeSegmentTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcPipeSegmentTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcPipeSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCPIPESEGMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPipeSegmentType
|
|
|
+ SUBTYPE OF (IfcFlowSegmentType);
|
|
|
+ PredefinedType : IfcPipeSegmentTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcPipeSegmentTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcPipeSegmentTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPixelTexture
|
|
|
+ SUBTYPE OF (IfcSurfaceTexture);
|
|
|
+ Width : IfcInteger;
|
|
|
+ Height : IfcInteger;
|
|
|
+ ColourComponents : IfcInteger;
|
|
|
+ Pixel : LIST [1:?] OF IfcBinary;
|
|
|
+ WHERE
|
|
|
+ MinPixelInS : Width >= 1;
|
|
|
+ MinPixelInT : Height >= 1;
|
|
|
+ NumberOfColours : {1 <= ColourComponents <= 4};
|
|
|
+ SizeOfPixelList : SIZEOF(Pixel) = (Width * Height);
|
|
|
+ PixelAsByteAndSameLength : SIZEOF(QUERY(temp<* Pixel |
|
|
|
+ (BLENGTH(temp) MOD 8 = 0) AND
|
|
|
+ (BLENGTH(temp) = BLENGTH(Pixel[1]))
|
|
|
+)) = SIZEOF(Pixel);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPlacement
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAxis1Placement
|
|
|
+ ,IfcAxis2Placement2D
|
|
|
+ ,IfcAxis2Placement3D))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ Location : IfcCartesianPoint;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := Location.Dim;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPlanarBox
|
|
|
+ SUBTYPE OF (IfcPlanarExtent);
|
|
|
+ Placement : IfcAxis2Placement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPlanarExtent
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcPlanarBox))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ SizeInX : IfcLengthMeasure;
|
|
|
+ SizeInY : IfcLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPlane
|
|
|
+ SUBTYPE OF (IfcElementarySurface);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPlate
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcPlateStandardCase))
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcPlateTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcPlateTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcPlateTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCPLATETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPlateStandardCase
|
|
|
+ SUBTYPE OF (IfcPlate);
|
|
|
+ WHERE
|
|
|
+ HasMaterialLayerSetUsage : SIZEOF (QUERY(temp <* USEDIN(SELF, 'IFC4.IFCRELASSOCIATES.RELATEDOBJECTS') |
|
|
|
+ ('IFC4.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp)) AND
|
|
|
+ ('IFC4.IFCMATERIALLAYERSETUSAGE' IN TYPEOF(temp.RelatingMaterial))
|
|
|
+ )) = 1;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPlateType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcPlateTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcPlateTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcPlateTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPoint
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCartesianPoint
|
|
|
+ ,IfcPointOnCurve
|
|
|
+ ,IfcPointOnSurface))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPointOnCurve
|
|
|
+ SUBTYPE OF (IfcPoint);
|
|
|
+ BasisCurve : IfcCurve;
|
|
|
+ PointParameter : IfcParameterValue;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := BasisCurve.Dim;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPointOnSurface
|
|
|
+ SUBTYPE OF (IfcPoint);
|
|
|
+ BasisSurface : IfcSurface;
|
|
|
+ PointParameterU : IfcParameterValue;
|
|
|
+ PointParameterV : IfcParameterValue;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := BasisSurface.Dim;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPolyLoop
|
|
|
+ SUBTYPE OF (IfcLoop);
|
|
|
+ Polygon : LIST [3:?] OF UNIQUE IfcCartesianPoint;
|
|
|
+ WHERE
|
|
|
+ AllPointsSameDim : SIZEOF(QUERY(Temp <* Polygon | Temp.Dim <> Polygon[1].Dim)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPolygonalBoundedHalfSpace
|
|
|
+ SUBTYPE OF (IfcHalfSpaceSolid);
|
|
|
+ Position : IfcAxis2Placement3D;
|
|
|
+ PolygonalBoundary : IfcBoundedCurve;
|
|
|
+ WHERE
|
|
|
+ BoundaryDim : PolygonalBoundary.Dim = 2;
|
|
|
+ BoundaryType : SIZEOF(TYPEOF(PolygonalBoundary) * [
|
|
|
+ 'IFC4.IFCPOLYLINE',
|
|
|
+ 'IFC4.IFCCOMPOSITECURVE']
|
|
|
+) = 1;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPolygonalFaceSet
|
|
|
+ SUBTYPE OF (IfcTessellatedFaceSet);
|
|
|
+ Closed : OPTIONAL IfcBoolean;
|
|
|
+ Faces : LIST [1:?] OF IfcIndexedPolygonalFace;
|
|
|
+ PnIndex : OPTIONAL LIST [1:?] OF IfcPositiveInteger;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPolyline
|
|
|
+ SUBTYPE OF (IfcBoundedCurve);
|
|
|
+ Points : LIST [2:?] OF IfcCartesianPoint;
|
|
|
+ WHERE
|
|
|
+ SameDim : SIZEOF(QUERY(Temp <* Points | Temp.Dim <> Points[1].Dim)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPort
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcDistributionPort))
|
|
|
+ SUBTYPE OF (IfcProduct);
|
|
|
+ INVERSE
|
|
|
+ ContainedIn : SET [0:1] OF IfcRelConnectsPortToElement FOR RelatingPort;
|
|
|
+ ConnectedFrom : SET [0:1] OF IfcRelConnectsPorts FOR RelatedPort;
|
|
|
+ ConnectedTo : SET [0:1] OF IfcRelConnectsPorts FOR RelatingPort;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPostalAddress
|
|
|
+ SUBTYPE OF (IfcAddress);
|
|
|
+ InternalLocation : OPTIONAL IfcLabel;
|
|
|
+ AddressLines : OPTIONAL LIST [1:?] OF IfcLabel;
|
|
|
+ PostalBox : OPTIONAL IfcLabel;
|
|
|
+ Town : OPTIONAL IfcLabel;
|
|
|
+ Region : OPTIONAL IfcLabel;
|
|
|
+ PostalCode : OPTIONAL IfcLabel;
|
|
|
+ Country : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ WR1 : EXISTS (InternalLocation) OR
|
|
|
+EXISTS (AddressLines) OR
|
|
|
+EXISTS (PostalBox) OR
|
|
|
+EXISTS (PostalCode) OR
|
|
|
+EXISTS (Town) OR
|
|
|
+EXISTS (Region) OR
|
|
|
+EXISTS (Country);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPreDefinedColour
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcDraughtingPreDefinedColour))
|
|
|
+ SUBTYPE OF (IfcPreDefinedItem);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPreDefinedCurveFont
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcDraughtingPreDefinedCurveFont))
|
|
|
+ SUBTYPE OF (IfcPreDefinedItem);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPreDefinedItem
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcPreDefinedColour
|
|
|
+ ,IfcPreDefinedCurveFont
|
|
|
+ ,IfcPreDefinedTextFont))
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ Name : IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPreDefinedProperties
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcReinforcementBarProperties
|
|
|
+ ,IfcSectionProperties
|
|
|
+ ,IfcSectionReinforcementProperties))
|
|
|
+ SUBTYPE OF (IfcPropertyAbstraction);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPreDefinedPropertySet
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcDoorLiningProperties
|
|
|
+ ,IfcDoorPanelProperties
|
|
|
+ ,IfcPermeableCoveringProperties
|
|
|
+ ,IfcReinforcementDefinitionProperties
|
|
|
+ ,IfcWindowLiningProperties
|
|
|
+ ,IfcWindowPanelProperties))
|
|
|
+ SUBTYPE OF (IfcPropertySetDefinition);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPreDefinedTextFont
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcTextStyleFontModel))
|
|
|
+ SUBTYPE OF (IfcPreDefinedItem);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPresentationItem
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcColourRgbList
|
|
|
+ ,IfcColourSpecification
|
|
|
+ ,IfcCurveStyleFont
|
|
|
+ ,IfcCurveStyleFontAndScaling
|
|
|
+ ,IfcCurveStyleFontPattern
|
|
|
+ ,IfcIndexedColourMap
|
|
|
+ ,IfcPreDefinedItem
|
|
|
+ ,IfcSurfaceStyleLighting
|
|
|
+ ,IfcSurfaceStyleRefraction
|
|
|
+ ,IfcSurfaceStyleShading
|
|
|
+ ,IfcSurfaceStyleWithTextures
|
|
|
+ ,IfcSurfaceTexture
|
|
|
+ ,IfcTextStyleForDefinedFont
|
|
|
+ ,IfcTextStyleTextModel
|
|
|
+ ,IfcTextureCoordinate
|
|
|
+ ,IfcTextureVertex
|
|
|
+ ,IfcTextureVertexList));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPresentationLayerAssignment
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcPresentationLayerWithStyle));
|
|
|
+ Name : IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ AssignedItems : SET [1:?] OF IfcLayeredItem;
|
|
|
+ Identifier : OPTIONAL IfcIdentifier;
|
|
|
+ WHERE
|
|
|
+ ApplicableItems : SIZEOF(QUERY(temp <* AssignedItems | (
|
|
|
+ SIZEOF(TYPEOF(temp) * [
|
|
|
+ 'IFC4.IFCSHAPEREPRESENTATION',
|
|
|
+ 'IFC4.IFCGEOMETRICREPRESENTATIONITEM',
|
|
|
+ 'IFC4.IFCMAPPEDITEM']) = 1)
|
|
|
+)) = SIZEOF(AssignedItems);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPresentationLayerWithStyle
|
|
|
+ SUBTYPE OF (IfcPresentationLayerAssignment);
|
|
|
+ LayerOn : IfcLogical;
|
|
|
+ LayerFrozen : IfcLogical;
|
|
|
+ LayerBlocked : IfcLogical;
|
|
|
+ LayerStyles : SET [0:?] OF IfcPresentationStyle;
|
|
|
+ WHERE
|
|
|
+ ApplicableOnlyToItems : SIZEOF(QUERY(temp <* AssignedItems | (
|
|
|
+ SIZEOF(TYPEOF(temp) * [
|
|
|
+ 'IFC4.IFCGEOMETRICREPRESENTATIONITEM',
|
|
|
+ 'IFC4.IFCMAPPEDITEM']) = 1)
|
|
|
+)) = SIZEOF(AssignedItems);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPresentationStyle
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCurveStyle
|
|
|
+ ,IfcFillAreaStyle
|
|
|
+ ,IfcSurfaceStyle
|
|
|
+ ,IfcTextStyle));
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPresentationStyleAssignment;
|
|
|
+ Styles : SET [1:?] OF IfcPresentationStyleSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProcedure
|
|
|
+ SUBTYPE OF (IfcProcess);
|
|
|
+ PredefinedType : OPTIONAL IfcProcedureTypeEnum;
|
|
|
+ WHERE
|
|
|
+ HasName : EXISTS(SELF\IfcRoot.Name);
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcProcedureTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcProcedureTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProcedureType
|
|
|
+ SUBTYPE OF (IfcTypeProcess);
|
|
|
+ PredefinedType : IfcProcedureTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcProcedureTypeEnum.USERDEFINED) OR ((PredefinedType = IfcProcedureTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeProcess.ProcessType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProcess
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcEvent
|
|
|
+ ,IfcProcedure
|
|
|
+ ,IfcTask))
|
|
|
+ SUBTYPE OF (IfcObject);
|
|
|
+ Identification : OPTIONAL IfcIdentifier;
|
|
|
+ LongDescription : OPTIONAL IfcText;
|
|
|
+ INVERSE
|
|
|
+ IsPredecessorTo : SET [0:?] OF IfcRelSequence FOR RelatingProcess;
|
|
|
+ IsSuccessorFrom : SET [0:?] OF IfcRelSequence FOR RelatedProcess;
|
|
|
+ OperatesOn : SET [0:?] OF IfcRelAssignsToProcess FOR RelatingProcess;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProduct
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcAnnotation
|
|
|
+ ,IfcElement
|
|
|
+ ,IfcGrid
|
|
|
+ ,IfcPort
|
|
|
+ ,IfcProxy
|
|
|
+ ,IfcSpatialElement
|
|
|
+ ,IfcStructuralActivity
|
|
|
+ ,IfcStructuralItem))
|
|
|
+ SUBTYPE OF (IfcObject);
|
|
|
+ ObjectPlacement : OPTIONAL IfcObjectPlacement;
|
|
|
+ Representation : OPTIONAL IfcProductRepresentation;
|
|
|
+ INVERSE
|
|
|
+ ReferencedBy : SET [0:?] OF IfcRelAssignsToProduct FOR RelatingProduct;
|
|
|
+ WHERE
|
|
|
+ PlacementForShapeRepresentation : (EXISTS(Representation) AND EXISTS(ObjectPlacement))
|
|
|
+ OR (EXISTS(Representation) AND
|
|
|
+ (SIZEOF(QUERY(temp <* Representation.Representations | 'IFC4.IFCSHAPEREPRESENTATION' IN TYPEOF(temp))) = 0))
|
|
|
+ OR (NOT(EXISTS(Representation)));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProductDefinitionShape
|
|
|
+ SUBTYPE OF (IfcProductRepresentation);
|
|
|
+ INVERSE
|
|
|
+ ShapeOfProduct : SET [1:?] OF IfcProduct FOR Representation;
|
|
|
+ HasShapeAspects : SET [0:?] OF IfcShapeAspect FOR PartOfProductDefinitionShape;
|
|
|
+ WHERE
|
|
|
+ OnlyShapeModel : SIZEOF(QUERY(temp <* Representations |
|
|
|
+ (NOT('IFC4.IFCSHAPEMODEL' IN TYPEOF(temp)))
|
|
|
+)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProductRepresentation
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcMaterialDefinitionRepresentation
|
|
|
+ ,IfcProductDefinitionShape));
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ Representations : LIST [1:?] OF IfcRepresentation;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProfileDef
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcArbitraryClosedProfileDef
|
|
|
+ ,IfcArbitraryOpenProfileDef
|
|
|
+ ,IfcCompositeProfileDef
|
|
|
+ ,IfcDerivedProfileDef
|
|
|
+ ,IfcParameterizedProfileDef));
|
|
|
+ ProfileType : IfcProfileTypeEnum;
|
|
|
+ ProfileName : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ HasExternalReference : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects;
|
|
|
+ HasProperties : SET [0:?] OF IfcProfileProperties FOR ProfileDefinition;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProfileProperties
|
|
|
+ SUBTYPE OF (IfcExtendedProperties);
|
|
|
+ ProfileDefinition : IfcProfileDef;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProject
|
|
|
+ SUBTYPE OF (IfcContext);
|
|
|
+ WHERE
|
|
|
+ HasName : EXISTS(SELF\IfcRoot.Name);
|
|
|
+ CorrectContext : NOT(EXISTS(SELF\IfcContext.RepresentationContexts)) OR
|
|
|
+(SIZEOF(QUERY(Temp <* SELF\IfcContext.RepresentationContexts |
|
|
|
+ 'IFC4.IFCGEOMETRICREPRESENTATIONSUBCONTEXT' IN TYPEOF(Temp)
|
|
|
+ )) = 0);
|
|
|
+ NoDecomposition : SIZEOF(SELF\IfcObjectDefinition.Decomposes) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProjectLibrary
|
|
|
+ SUBTYPE OF (IfcContext);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProjectOrder
|
|
|
+ SUBTYPE OF (IfcControl);
|
|
|
+ PredefinedType : OPTIONAL IfcProjectOrderTypeEnum;
|
|
|
+ Status : OPTIONAL IfcLabel;
|
|
|
+ LongDescription : OPTIONAL IfcText;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProjectedCRS
|
|
|
+ SUBTYPE OF (IfcCoordinateReferenceSystem);
|
|
|
+ MapProjection : OPTIONAL IfcIdentifier;
|
|
|
+ MapZone : OPTIONAL IfcIdentifier;
|
|
|
+ MapUnit : OPTIONAL IfcNamedUnit;
|
|
|
+ WHERE
|
|
|
+ IsLengthUnit : NOT(EXISTS(MapUnit)) OR (MapUnit.UnitType = IfcUnitEnum.LENGTHUNIT);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProjectionElement
|
|
|
+ SUBTYPE OF (IfcFeatureElementAddition);
|
|
|
+ PredefinedType : OPTIONAL IfcProjectionElementTypeEnum;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProperty
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcComplexProperty
|
|
|
+ ,IfcSimpleProperty))
|
|
|
+ SUBTYPE OF (IfcPropertyAbstraction);
|
|
|
+ Name : IfcIdentifier;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ INVERSE
|
|
|
+ PartOfPset : SET [0:?] OF IfcPropertySet FOR HasProperties;
|
|
|
+ PropertyForDependance : SET [0:?] OF IfcPropertyDependencyRelationship FOR DependingProperty;
|
|
|
+ PropertyDependsOn : SET [0:?] OF IfcPropertyDependencyRelationship FOR DependantProperty;
|
|
|
+ PartOfComplex : SET [0:?] OF IfcComplexProperty FOR HasProperties;
|
|
|
+ HasConstraints : SET [0:?] OF IfcResourceConstraintRelationship FOR RelatedResourceObjects;
|
|
|
+ HasApprovals : SET [0:?] OF IfcResourceApprovalRelationship FOR RelatedResourceObjects;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertyAbstraction
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcExtendedProperties
|
|
|
+ ,IfcPreDefinedProperties
|
|
|
+ ,IfcProperty
|
|
|
+ ,IfcPropertyEnumeration));
|
|
|
+ INVERSE
|
|
|
+ HasExternalReferences : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertyBoundedValue
|
|
|
+ SUBTYPE OF (IfcSimpleProperty);
|
|
|
+ UpperBoundValue : OPTIONAL IfcValue;
|
|
|
+ LowerBoundValue : OPTIONAL IfcValue;
|
|
|
+ Unit : OPTIONAL IfcUnit;
|
|
|
+ SetPointValue : OPTIONAL IfcValue;
|
|
|
+ WHERE
|
|
|
+ SameUnitUpperLower : NOT(EXISTS(UpperBoundValue)) OR NOT(EXISTS(LowerBoundValue)) OR
|
|
|
+(TYPEOF(UpperBoundValue) = TYPEOF(LowerBoundValue));
|
|
|
+ SameUnitUpperSet : NOT(EXISTS(UpperBoundValue)) OR NOT(EXISTS(SetPointValue)) OR
|
|
|
+(TYPEOF(UpperBoundValue) = TYPEOF(SetPointValue));
|
|
|
+ SameUnitLowerSet : NOT(EXISTS(LowerBoundValue)) OR NOT(EXISTS(SetPointValue)) OR
|
|
|
+(TYPEOF(LowerBoundValue) = TYPEOF(SetPointValue));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertyDefinition
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcPropertySetDefinition
|
|
|
+ ,IfcPropertyTemplateDefinition))
|
|
|
+ SUBTYPE OF (IfcRoot);
|
|
|
+ INVERSE
|
|
|
+ HasContext : SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions;
|
|
|
+ HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertyDependencyRelationship
|
|
|
+ SUBTYPE OF (IfcResourceLevelRelationship);
|
|
|
+ DependingProperty : IfcProperty;
|
|
|
+ DependantProperty : IfcProperty;
|
|
|
+ Expression : OPTIONAL IfcText;
|
|
|
+ WHERE
|
|
|
+ NoSelfReference : DependingProperty :<>: DependantProperty;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertyEnumeratedValue
|
|
|
+ SUBTYPE OF (IfcSimpleProperty);
|
|
|
+ EnumerationValues : OPTIONAL LIST [1:?] OF IfcValue;
|
|
|
+ EnumerationReference : OPTIONAL IfcPropertyEnumeration;
|
|
|
+ WHERE
|
|
|
+ WR21 : NOT(EXISTS(EnumerationReference))
|
|
|
+OR NOT(EXISTS(EnumerationValues))
|
|
|
+OR (SIZEOF(QUERY(temp <* EnumerationValues |
|
|
|
+ temp IN EnumerationReference.EnumerationValues))
|
|
|
+ = SIZEOF(EnumerationValues));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertyEnumeration
|
|
|
+ SUBTYPE OF (IfcPropertyAbstraction);
|
|
|
+ Name : IfcLabel;
|
|
|
+ EnumerationValues : LIST [1:?] OF UNIQUE IfcValue;
|
|
|
+ Unit : OPTIONAL IfcUnit;
|
|
|
+ UNIQUE
|
|
|
+ UR1 : Name;
|
|
|
+ WHERE
|
|
|
+ WR01 : SIZEOF(QUERY(temp <* SELF.EnumerationValues |
|
|
|
+ NOT(TYPEOF(SELF.EnumerationValues[1]) = TYPEOF(temp))
|
|
|
+ )) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertyListValue
|
|
|
+ SUBTYPE OF (IfcSimpleProperty);
|
|
|
+ ListValues : OPTIONAL LIST [1:?] OF IfcValue;
|
|
|
+ Unit : OPTIONAL IfcUnit;
|
|
|
+ WHERE
|
|
|
+ WR31 : SIZEOF(QUERY(temp <* SELF.ListValues |
|
|
|
+ NOT(TYPEOF(SELF.ListValues[1]) = TYPEOF(temp))
|
|
|
+ )) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertyReferenceValue
|
|
|
+ SUBTYPE OF (IfcSimpleProperty);
|
|
|
+ UsageName : OPTIONAL IfcText;
|
|
|
+ PropertyReference : OPTIONAL IfcObjectReferenceSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertySet
|
|
|
+ SUBTYPE OF (IfcPropertySetDefinition);
|
|
|
+ HasProperties : SET [1:?] OF IfcProperty;
|
|
|
+ WHERE
|
|
|
+ ExistsName : EXISTS(SELF\IfcRoot.Name);
|
|
|
+ UniquePropertyNames : IfcUniquePropertyName(HasProperties);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertySetDefinition
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcPreDefinedPropertySet
|
|
|
+ ,IfcPropertySet
|
|
|
+ ,IfcQuantitySet))
|
|
|
+ SUBTYPE OF (IfcPropertyDefinition);
|
|
|
+ INVERSE
|
|
|
+ DefinesType : SET [0:?] OF IfcTypeObject FOR HasPropertySets;
|
|
|
+ IsDefinedBy : SET [0:?] OF IfcRelDefinesByTemplate FOR RelatedPropertySets;
|
|
|
+ DefinesOccurrence : SET [0:?] OF IfcRelDefinesByProperties FOR RelatingPropertyDefinition;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertySetTemplate
|
|
|
+ SUBTYPE OF (IfcPropertyTemplateDefinition);
|
|
|
+ TemplateType : OPTIONAL IfcPropertySetTemplateTypeEnum;
|
|
|
+ ApplicableEntity : OPTIONAL IfcIdentifier;
|
|
|
+ HasPropertyTemplates : SET [1:?] OF IfcPropertyTemplate;
|
|
|
+ INVERSE
|
|
|
+ Defines : SET [0:?] OF IfcRelDefinesByTemplate FOR RelatingTemplate;
|
|
|
+ WHERE
|
|
|
+ ExistsName : EXISTS(SELF\IfcRoot.Name);
|
|
|
+ UniquePropertyNames : IfcUniquePropertyTemplateNames(HasPropertyTemplates);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertySingleValue
|
|
|
+ SUBTYPE OF (IfcSimpleProperty);
|
|
|
+ NominalValue : OPTIONAL IfcValue;
|
|
|
+ Unit : OPTIONAL IfcUnit;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertyTableValue
|
|
|
+ SUBTYPE OF (IfcSimpleProperty);
|
|
|
+ DefiningValues : OPTIONAL LIST [1:?] OF UNIQUE IfcValue;
|
|
|
+ DefinedValues : OPTIONAL LIST [1:?] OF IfcValue;
|
|
|
+ Expression : OPTIONAL IfcText;
|
|
|
+ DefiningUnit : OPTIONAL IfcUnit;
|
|
|
+ DefinedUnit : OPTIONAL IfcUnit;
|
|
|
+ CurveInterpolation : OPTIONAL IfcCurveInterpolationEnum;
|
|
|
+ WHERE
|
|
|
+ WR21 : (NOT(EXISTS(DefiningValues)) AND NOT(EXISTS(DefinedValues)))
|
|
|
+OR (SIZEOF(DefiningValues) = SIZEOF(DefinedValues));
|
|
|
+ WR22 : NOT(EXISTS(DefiningValues)) OR
|
|
|
+(SIZEOF(QUERY(temp <* SELF.DefiningValues | TYPEOF(temp) <> TYPEOF(SELF.DefiningValues[1])
|
|
|
+)) = 0);
|
|
|
+ WR23 : NOT(EXISTS(DefinedValues)) OR
|
|
|
+(SIZEOF(QUERY(temp <* SELF.DefinedValues | TYPEOF(temp) <> TYPEOF(SELF.DefinedValues[1])
|
|
|
+)) = 0);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertyTemplate
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcComplexPropertyTemplate
|
|
|
+ ,IfcSimplePropertyTemplate))
|
|
|
+ SUBTYPE OF (IfcPropertyTemplateDefinition);
|
|
|
+ INVERSE
|
|
|
+ PartOfComplexTemplate : SET [0:?] OF IfcComplexPropertyTemplate FOR HasPropertyTemplates;
|
|
|
+ PartOfPsetTemplate : SET [0:?] OF IfcPropertySetTemplate FOR HasPropertyTemplates;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPropertyTemplateDefinition
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcPropertySetTemplate
|
|
|
+ ,IfcPropertyTemplate))
|
|
|
+ SUBTYPE OF (IfcPropertyDefinition);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProtectiveDevice
|
|
|
+ SUBTYPE OF (IfcFlowController);
|
|
|
+ PredefinedType : OPTIONAL IfcProtectiveDeviceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcProtectiveDeviceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcProtectiveDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCPROTECTIVEDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProtectiveDeviceTrippingUnit
|
|
|
+ SUBTYPE OF (IfcDistributionControlElement);
|
|
|
+ PredefinedType : OPTIONAL IfcProtectiveDeviceTrippingUnitTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCPROTECTIVEDEVICETRIPPINGUNITTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProtectiveDeviceTrippingUnitType
|
|
|
+ SUBTYPE OF (IfcDistributionControlElementType);
|
|
|
+ PredefinedType : IfcProtectiveDeviceTrippingUnitTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProtectiveDeviceType
|
|
|
+ SUBTYPE OF (IfcFlowControllerType);
|
|
|
+ PredefinedType : IfcProtectiveDeviceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcProtectiveDeviceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcProtectiveDeviceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcProxy
|
|
|
+ SUBTYPE OF (IfcProduct);
|
|
|
+ ProxyType : IfcObjectTypeEnum;
|
|
|
+ Tag : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ WR1 : EXISTS(SELF\IfcRoot.Name);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPump
|
|
|
+ SUBTYPE OF (IfcFlowMovingDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcPumpTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcPumpTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcPumpTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCPUMPTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcPumpType
|
|
|
+ SUBTYPE OF (IfcFlowMovingDeviceType);
|
|
|
+ PredefinedType : IfcPumpTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcPumpTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcPumpTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcQuantityArea
|
|
|
+ SUBTYPE OF (IfcPhysicalSimpleQuantity);
|
|
|
+ AreaValue : IfcAreaMeasure;
|
|
|
+ Formula : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
|
|
|
+ (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.AREAUNIT);
|
|
|
+ WR22 : AreaValue >= 0.;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcQuantityCount
|
|
|
+ SUBTYPE OF (IfcPhysicalSimpleQuantity);
|
|
|
+ CountValue : IfcCountMeasure;
|
|
|
+ Formula : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ WR21 : CountValue >= 0.;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcQuantityLength
|
|
|
+ SUBTYPE OF (IfcPhysicalSimpleQuantity);
|
|
|
+ LengthValue : IfcLengthMeasure;
|
|
|
+ Formula : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
|
|
|
+ (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.LENGTHUNIT);
|
|
|
+ WR22 : LengthValue >= 0.;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcQuantitySet
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcElementQuantity))
|
|
|
+ SUBTYPE OF (IfcPropertySetDefinition);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcQuantityTime
|
|
|
+ SUBTYPE OF (IfcPhysicalSimpleQuantity);
|
|
|
+ TimeValue : IfcTimeMeasure;
|
|
|
+ Formula : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
|
|
|
+ (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.TIMEUNIT);
|
|
|
+ WR22 : TimeValue >= 0.;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcQuantityVolume
|
|
|
+ SUBTYPE OF (IfcPhysicalSimpleQuantity);
|
|
|
+ VolumeValue : IfcVolumeMeasure;
|
|
|
+ Formula : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
|
|
|
+ (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.VOLUMEUNIT);
|
|
|
+ WR22 : VolumeValue >= 0.;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcQuantityWeight
|
|
|
+ SUBTYPE OF (IfcPhysicalSimpleQuantity);
|
|
|
+ WeightValue : IfcMassMeasure;
|
|
|
+ Formula : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
|
|
|
+ (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.MASSUNIT);
|
|
|
+ WR22 : WeightValue >= 0.;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRailing
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcRailingTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcRailingTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcRailingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCRAILINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRailingType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcRailingTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcRailingTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcRailingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRamp
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcRampTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcRampTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcRampTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCRAMPTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRampFlight
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcRampFlightTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcRampFlightTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcRampFlightTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCRAMPFLIGHTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRampFlightType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcRampFlightTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcRampFlightTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcRampFlightTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRampType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcRampTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcRampTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcRampTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRationalBSplineCurveWithKnots
|
|
|
+ SUBTYPE OF (IfcBSplineCurveWithKnots);
|
|
|
+ WeightsData : LIST [2:?] OF IfcReal;
|
|
|
+ DERIVE
|
|
|
+ Weights : ARRAY [0:UpperIndexOnControlPoints] OF IfcReal := IfcListToArray(WeightsData,0,SELF\IfcBSplineCurve.UpperIndexOnControlPoints);
|
|
|
+ WHERE
|
|
|
+ SameNumOfWeightsAndPoints : SIZEOF(WeightsData) = SIZEOF(SELF\IfcBSplineCurve.ControlPointsList);
|
|
|
+ WeightsGreaterZero : IfcCurveWeightsPositive(SELF);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRationalBSplineSurfaceWithKnots
|
|
|
+ SUBTYPE OF (IfcBSplineSurfaceWithKnots);
|
|
|
+ WeightsData : LIST [2:?] OF LIST [2:?] OF IfcReal;
|
|
|
+ DERIVE
|
|
|
+ Weights : ARRAY [0:UUpper] OF ARRAY [0:VUpper] OF IfcReal := IfcMakeArrayOfArray(WeightsData,0,UUpper,0,VUpper);
|
|
|
+ WHERE
|
|
|
+ CorrespondingWeightsDataLists : (SIZEOF(WeightsData) = SIZEOF(SELF\IfcBSplineSurface.ControlPointsList))
|
|
|
+AND
|
|
|
+(SIZEOF(WeightsData[1]) = SIZEOF(SELF\IfcBSplineSurface.ControlPointsList[1]));
|
|
|
+ WeightValuesGreaterZero : IfcSurfaceWeightsPositive(SELF);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRectangleHollowProfileDef
|
|
|
+ SUBTYPE OF (IfcRectangleProfileDef);
|
|
|
+ WallThickness : IfcPositiveLengthMeasure;
|
|
|
+ InnerFilletRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ OuterFilletRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ ValidWallThickness : (WallThickness < (SELF\IfcRectangleProfileDef.XDim/2.)) AND
|
|
|
+(WallThickness < (SELF\IfcRectangleProfileDef.YDim/2.));
|
|
|
+ ValidInnerRadius : NOT(EXISTS(InnerFilletRadius)) OR
|
|
|
+((InnerFilletRadius <= (SELF\IfcRectangleProfileDef.XDim/2. - WallThickness)) AND
|
|
|
+ (InnerFilletRadius <= (SELF\IfcRectangleProfileDef.YDim/2. - WallThickness)));
|
|
|
+ ValidOuterRadius : NOT(EXISTS(OuterFilletRadius)) OR
|
|
|
+((OuterFilletRadius <= (SELF\IfcRectangleProfileDef.XDim/2.)) AND
|
|
|
+ (OuterFilletRadius <= (SELF\IfcRectangleProfileDef.YDim/2.)));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRectangleProfileDef
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRectangleHollowProfileDef
|
|
|
+ ,IfcRoundedRectangleProfileDef))
|
|
|
+ SUBTYPE OF (IfcParameterizedProfileDef);
|
|
|
+ XDim : IfcPositiveLengthMeasure;
|
|
|
+ YDim : IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRectangularPyramid
|
|
|
+ SUBTYPE OF (IfcCsgPrimitive3D);
|
|
|
+ XLength : IfcPositiveLengthMeasure;
|
|
|
+ YLength : IfcPositiveLengthMeasure;
|
|
|
+ Height : IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRectangularTrimmedSurface
|
|
|
+ SUBTYPE OF (IfcBoundedSurface);
|
|
|
+ BasisSurface : IfcSurface;
|
|
|
+ U1 : IfcParameterValue;
|
|
|
+ V1 : IfcParameterValue;
|
|
|
+ U2 : IfcParameterValue;
|
|
|
+ V2 : IfcParameterValue;
|
|
|
+ Usense : IfcBoolean;
|
|
|
+ Vsense : IfcBoolean;
|
|
|
+ WHERE
|
|
|
+ U1AndU2Different : U1 <> U2;
|
|
|
+ V1AndV2Different : V1 <> V2;
|
|
|
+ UsenseCompatible : (('IFC4.IFCELEMENTARYSURFACE' IN TYPEOF(BasisSurface)) AND
|
|
|
+ (NOT ('IFC4.IFCPLANE' IN TYPEOF(BasisSurface)))) OR
|
|
|
+ ('IFC4.IFCSURFACEOFREVOLUTION' IN TYPEOF(BasisSurface)) OR
|
|
|
+ (Usense = (U2 > U1));
|
|
|
+ VsenseCompatible : Vsense = (V2 > V1);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRecurrencePattern;
|
|
|
+ RecurrenceType : IfcRecurrenceTypeEnum;
|
|
|
+ DayComponent : OPTIONAL SET [1:?] OF IfcDayInMonthNumber;
|
|
|
+ WeekdayComponent : OPTIONAL SET [1:?] OF IfcDayInWeekNumber;
|
|
|
+ MonthComponent : OPTIONAL SET [1:?] OF IfcMonthInYearNumber;
|
|
|
+ Position : OPTIONAL IfcInteger;
|
|
|
+ Interval : OPTIONAL IfcInteger;
|
|
|
+ Occurrences : OPTIONAL IfcInteger;
|
|
|
+ TimePeriods : OPTIONAL LIST [1:?] OF IfcTimePeriod;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcReference;
|
|
|
+ TypeIdentifier : OPTIONAL IfcIdentifier;
|
|
|
+ AttributeIdentifier : OPTIONAL IfcIdentifier;
|
|
|
+ InstanceName : OPTIONAL IfcLabel;
|
|
|
+ ListPositions : OPTIONAL LIST [1:?] OF IfcInteger;
|
|
|
+ InnerReference : OPTIONAL IfcReference;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRegularTimeSeries
|
|
|
+ SUBTYPE OF (IfcTimeSeries);
|
|
|
+ TimeStep : IfcTimeMeasure;
|
|
|
+ Values : LIST [1:?] OF IfcTimeSeriesValue;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcReinforcementBarProperties
|
|
|
+ SUBTYPE OF (IfcPreDefinedProperties);
|
|
|
+ TotalCrossSectionArea : IfcAreaMeasure;
|
|
|
+ SteelGrade : IfcLabel;
|
|
|
+ BarSurface : OPTIONAL IfcReinforcingBarSurfaceEnum;
|
|
|
+ EffectiveDepth : OPTIONAL IfcLengthMeasure;
|
|
|
+ NominalBarDiameter : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ BarCount : OPTIONAL IfcCountMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcReinforcementDefinitionProperties
|
|
|
+ SUBTYPE OF (IfcPreDefinedPropertySet);
|
|
|
+ DefinitionType : OPTIONAL IfcLabel;
|
|
|
+ ReinforcementSectionDefinitions : LIST [1:?] OF IfcSectionReinforcementProperties;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcReinforcingBar
|
|
|
+ SUBTYPE OF (IfcReinforcingElement);
|
|
|
+ NominalDiameter : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ CrossSectionArea : OPTIONAL IfcAreaMeasure;
|
|
|
+ BarLength : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ PredefinedType : OPTIONAL IfcReinforcingBarTypeEnum;
|
|
|
+ BarSurface : OPTIONAL IfcReinforcingBarSurfaceEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT EXISTS(PredefinedType) OR
|
|
|
+(PredefinedType <> IfcReinforcingBarTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcReinforcingBarTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCREINFORCINGBARTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcReinforcingBarType
|
|
|
+ SUBTYPE OF (IfcReinforcingElementType);
|
|
|
+ PredefinedType : IfcReinforcingBarTypeEnum;
|
|
|
+ NominalDiameter : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ CrossSectionArea : OPTIONAL IfcAreaMeasure;
|
|
|
+ BarLength : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ BarSurface : OPTIONAL IfcReinforcingBarSurfaceEnum;
|
|
|
+ BendingShapeCode : OPTIONAL IfcLabel;
|
|
|
+ BendingParameters : OPTIONAL LIST [1:?] OF IfcBendingParameterSelect;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcReinforcingBarTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcReinforcingBarTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+ BendingShapeCodeProvided : NOT EXISTS(BendingParameters) OR EXISTS(BendingShapeCode);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcReinforcingElement
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcReinforcingBar
|
|
|
+ ,IfcReinforcingMesh
|
|
|
+ ,IfcTendon
|
|
|
+ ,IfcTendonAnchor))
|
|
|
+ SUBTYPE OF (IfcElementComponent);
|
|
|
+ SteelGrade : OPTIONAL IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcReinforcingElementType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcReinforcingBarType
|
|
|
+ ,IfcReinforcingMeshType
|
|
|
+ ,IfcTendonAnchorType
|
|
|
+ ,IfcTendonType))
|
|
|
+ SUBTYPE OF (IfcElementComponentType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcReinforcingMesh
|
|
|
+ SUBTYPE OF (IfcReinforcingElement);
|
|
|
+ MeshLength : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ MeshWidth : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ LongitudinalBarNominalDiameter : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ TransverseBarNominalDiameter : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ LongitudinalBarCrossSectionArea : OPTIONAL IfcAreaMeasure;
|
|
|
+ TransverseBarCrossSectionArea : OPTIONAL IfcAreaMeasure;
|
|
|
+ LongitudinalBarSpacing : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ TransverseBarSpacing : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ PredefinedType : OPTIONAL IfcReinforcingMeshTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT EXISTS(PredefinedType) OR
|
|
|
+(PredefinedType <> IfcReinforcingMeshTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcReinforcingMeshTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCREINFORCINGMESHTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcReinforcingMeshType
|
|
|
+ SUBTYPE OF (IfcReinforcingElementType);
|
|
|
+ PredefinedType : IfcReinforcingMeshTypeEnum;
|
|
|
+ MeshLength : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ MeshWidth : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ LongitudinalBarNominalDiameter : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ TransverseBarNominalDiameter : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ LongitudinalBarCrossSectionArea : OPTIONAL IfcAreaMeasure;
|
|
|
+ TransverseBarCrossSectionArea : OPTIONAL IfcAreaMeasure;
|
|
|
+ LongitudinalBarSpacing : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ TransverseBarSpacing : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ BendingShapeCode : OPTIONAL IfcLabel;
|
|
|
+ BendingParameters : OPTIONAL LIST [1:?] OF IfcBendingParameterSelect;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcReinforcingMeshTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcReinforcingMeshTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+ BendingShapeCodeProvided : NOT EXISTS(BendingParameters) OR EXISTS(BendingShapeCode);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAggregates
|
|
|
+ SUBTYPE OF (IfcRelDecomposes);
|
|
|
+ RelatingObject : IfcObjectDefinition;
|
|
|
+ RelatedObjects : SET [1:?] OF IfcObjectDefinition;
|
|
|
+ WHERE
|
|
|
+ NoSelfReference : SIZEOF(QUERY(Temp <* RelatedObjects | RelatingObject :=: Temp)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssigns
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRelAssignsToActor
|
|
|
+ ,IfcRelAssignsToControl
|
|
|
+ ,IfcRelAssignsToGroup
|
|
|
+ ,IfcRelAssignsToProcess
|
|
|
+ ,IfcRelAssignsToProduct
|
|
|
+ ,IfcRelAssignsToResource))
|
|
|
+ SUBTYPE OF (IfcRelationship);
|
|
|
+ RelatedObjects : SET [1:?] OF IfcObjectDefinition;
|
|
|
+ RelatedObjectsType : OPTIONAL IfcObjectTypeEnum;
|
|
|
+ WHERE
|
|
|
+ WR1 : IfcCorrectObjectAssignment(RelatedObjectsType, RelatedObjects);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssignsToActor
|
|
|
+ SUBTYPE OF (IfcRelAssigns);
|
|
|
+ RelatingActor : IfcActor;
|
|
|
+ ActingRole : OPTIONAL IfcActorRole;
|
|
|
+ WHERE
|
|
|
+ NoSelfReference : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingActor :=: Temp)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssignsToControl
|
|
|
+ SUBTYPE OF (IfcRelAssigns);
|
|
|
+ RelatingControl : IfcControl;
|
|
|
+ WHERE
|
|
|
+ NoSelfReference : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingControl :=: Temp)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssignsToGroup
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRelAssignsToGroupByFactor))
|
|
|
+ SUBTYPE OF (IfcRelAssigns);
|
|
|
+ RelatingGroup : IfcGroup;
|
|
|
+ WHERE
|
|
|
+ NoSelfReference : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingGroup :=: Temp)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssignsToGroupByFactor
|
|
|
+ SUBTYPE OF (IfcRelAssignsToGroup);
|
|
|
+ Factor : IfcRatioMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssignsToProcess
|
|
|
+ SUBTYPE OF (IfcRelAssigns);
|
|
|
+ RelatingProcess : IfcProcessSelect;
|
|
|
+ QuantityInProcess : OPTIONAL IfcMeasureWithUnit;
|
|
|
+ WHERE
|
|
|
+ NoSelfReference : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingProcess :=: Temp)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssignsToProduct
|
|
|
+ SUBTYPE OF (IfcRelAssigns);
|
|
|
+ RelatingProduct : IfcProductSelect;
|
|
|
+ WHERE
|
|
|
+ NoSelfReference : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingProduct :=: Temp)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssignsToResource
|
|
|
+ SUBTYPE OF (IfcRelAssigns);
|
|
|
+ RelatingResource : IfcResourceSelect;
|
|
|
+ WHERE
|
|
|
+ NoSelfReference : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingResource :=: Temp)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssociates
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRelAssociatesApproval
|
|
|
+ ,IfcRelAssociatesClassification
|
|
|
+ ,IfcRelAssociatesConstraint
|
|
|
+ ,IfcRelAssociatesDocument
|
|
|
+ ,IfcRelAssociatesLibrary
|
|
|
+ ,IfcRelAssociatesMaterial))
|
|
|
+ SUBTYPE OF (IfcRelationship);
|
|
|
+ RelatedObjects : SET [1:?] OF IfcDefinitionSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssociatesApproval
|
|
|
+ SUBTYPE OF (IfcRelAssociates);
|
|
|
+ RelatingApproval : IfcApproval;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssociatesClassification
|
|
|
+ SUBTYPE OF (IfcRelAssociates);
|
|
|
+ RelatingClassification : IfcClassificationSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssociatesConstraint
|
|
|
+ SUBTYPE OF (IfcRelAssociates);
|
|
|
+ Intent : OPTIONAL IfcLabel;
|
|
|
+ RelatingConstraint : IfcConstraint;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssociatesDocument
|
|
|
+ SUBTYPE OF (IfcRelAssociates);
|
|
|
+ RelatingDocument : IfcDocumentSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssociatesLibrary
|
|
|
+ SUBTYPE OF (IfcRelAssociates);
|
|
|
+ RelatingLibrary : IfcLibrarySelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelAssociatesMaterial
|
|
|
+ SUBTYPE OF (IfcRelAssociates);
|
|
|
+ RelatingMaterial : IfcMaterialSelect;
|
|
|
+ WHERE
|
|
|
+ NoVoidElement : SIZEOF(QUERY(temp <* SELF\IfcRelAssociates.RelatedObjects |
|
|
|
+ ('IFC4.IFCFEATUREELEMENTSUBTRACTION' IN TYPEOF(temp)) OR
|
|
|
+ ('IFC4.IFCVIRTUALELEMENT' IN TYPEOF(temp))
|
|
|
+)) = 0;
|
|
|
+ AllowedElements : SIZEOF(QUERY(temp <* SELF\IfcRelAssociates.RelatedObjects | (
|
|
|
+ SIZEOF(TYPEOF(temp) * [
|
|
|
+ 'IFC4.IFCELEMENT',
|
|
|
+ 'IFC4.IFCELEMENTTYPE',
|
|
|
+ 'IFC4.IFCWINDOWSTYLE',
|
|
|
+ 'IFC4.IFCDOORSTYLE',
|
|
|
+ 'IFC4.IFCSTRUCTURALMEMBER',
|
|
|
+ 'IFC4.IFCPORT']) = 0)
|
|
|
+)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelConnects
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRelConnectsElements
|
|
|
+ ,IfcRelConnectsPortToElement
|
|
|
+ ,IfcRelConnectsPorts
|
|
|
+ ,IfcRelConnectsStructuralActivity
|
|
|
+ ,IfcRelConnectsStructuralMember
|
|
|
+ ,IfcRelContainedInSpatialStructure
|
|
|
+ ,IfcRelCoversBldgElements
|
|
|
+ ,IfcRelCoversSpaces
|
|
|
+ ,IfcRelFillsElement
|
|
|
+ ,IfcRelFlowControlElements
|
|
|
+ ,IfcRelInterferesElements
|
|
|
+ ,IfcRelReferencedInSpatialStructure
|
|
|
+ ,IfcRelSequence
|
|
|
+ ,IfcRelServicesBuildings
|
|
|
+ ,IfcRelSpaceBoundary))
|
|
|
+ SUBTYPE OF (IfcRelationship);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelConnectsElements
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRelConnectsPathElements
|
|
|
+ ,IfcRelConnectsWithRealizingElements))
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ ConnectionGeometry : OPTIONAL IfcConnectionGeometry;
|
|
|
+ RelatingElement : IfcElement;
|
|
|
+ RelatedElement : IfcElement;
|
|
|
+ WHERE
|
|
|
+ NoSelfReference : RelatingElement :<>: RelatedElement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelConnectsPathElements
|
|
|
+ SUBTYPE OF (IfcRelConnectsElements);
|
|
|
+ RelatingPriorities : LIST [0:?] OF IfcInteger;
|
|
|
+ RelatedPriorities : LIST [0:?] OF IfcInteger;
|
|
|
+ RelatedConnectionType : IfcConnectionTypeEnum;
|
|
|
+ RelatingConnectionType : IfcConnectionTypeEnum;
|
|
|
+ WHERE
|
|
|
+ NormalizedRelatingPriorities : (SIZEOF(RelatingPriorities) = 0)
|
|
|
+OR
|
|
|
+(SIZEOF (QUERY (temp <* RelatingPriorities
|
|
|
+ | {0 <= temp <= 100}
|
|
|
+ )) = SIZEOF(RelatingPriorities));
|
|
|
+ NormalizedRelatedPriorities : (SIZEOF(RelatedPriorities) = 0)
|
|
|
+OR
|
|
|
+(SIZEOF (QUERY (temp <* RelatedPriorities
|
|
|
+ | {0 <= temp <= 100}
|
|
|
+ )) = SIZEOF(RelatedPriorities));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelConnectsPortToElement
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatingPort : IfcPort;
|
|
|
+ RelatedElement : IfcDistributionElement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelConnectsPorts
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatingPort : IfcPort;
|
|
|
+ RelatedPort : IfcPort;
|
|
|
+ RealizingElement : OPTIONAL IfcElement;
|
|
|
+ WHERE
|
|
|
+ NoSelfReference : RelatingPort :<>: RelatedPort;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelConnectsStructuralActivity
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatingElement : IfcStructuralActivityAssignmentSelect;
|
|
|
+ RelatedStructuralActivity : IfcStructuralActivity;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelConnectsStructuralMember
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRelConnectsWithEccentricity))
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatingStructuralMember : IfcStructuralMember;
|
|
|
+ RelatedStructuralConnection : IfcStructuralConnection;
|
|
|
+ AppliedCondition : OPTIONAL IfcBoundaryCondition;
|
|
|
+ AdditionalConditions : OPTIONAL IfcStructuralConnectionCondition;
|
|
|
+ SupportedLength : OPTIONAL IfcLengthMeasure;
|
|
|
+ ConditionCoordinateSystem : OPTIONAL IfcAxis2Placement3D;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelConnectsWithEccentricity
|
|
|
+ SUBTYPE OF (IfcRelConnectsStructuralMember);
|
|
|
+ ConnectionConstraint : IfcConnectionGeometry;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelConnectsWithRealizingElements
|
|
|
+ SUBTYPE OF (IfcRelConnectsElements);
|
|
|
+ RealizingElements : SET [1:?] OF IfcElement;
|
|
|
+ ConnectionType : OPTIONAL IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelContainedInSpatialStructure
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatedElements : SET [1:?] OF IfcProduct;
|
|
|
+ RelatingStructure : IfcSpatialElement;
|
|
|
+ WHERE
|
|
|
+ WR31 : SIZEOF(QUERY(temp <* RelatedElements | 'IFC4.IFCSPATIALSTRUCTUREELEMENT' IN TYPEOF(temp))) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelCoversBldgElements
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatingBuildingElement : IfcElement;
|
|
|
+ RelatedCoverings : SET [1:?] OF IfcCovering;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelCoversSpaces
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatingSpace : IfcSpace;
|
|
|
+ RelatedCoverings : SET [1:?] OF IfcCovering;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelDeclares
|
|
|
+ SUBTYPE OF (IfcRelationship);
|
|
|
+ RelatingContext : IfcContext;
|
|
|
+ RelatedDefinitions : SET [1:?] OF IfcDefinitionSelect;
|
|
|
+ WHERE
|
|
|
+ NoSelfReference : SIZEOF(QUERY(Temp <* RelatedDefinitions | RelatingContext :=: Temp)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelDecomposes
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRelAggregates
|
|
|
+ ,IfcRelNests
|
|
|
+ ,IfcRelProjectsElement
|
|
|
+ ,IfcRelVoidsElement))
|
|
|
+ SUBTYPE OF (IfcRelationship);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelDefines
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRelDefinesByObject
|
|
|
+ ,IfcRelDefinesByProperties
|
|
|
+ ,IfcRelDefinesByTemplate
|
|
|
+ ,IfcRelDefinesByType))
|
|
|
+ SUBTYPE OF (IfcRelationship);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelDefinesByObject
|
|
|
+ SUBTYPE OF (IfcRelDefines);
|
|
|
+ RelatedObjects : SET [1:?] OF IfcObject;
|
|
|
+ RelatingObject : IfcObject;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelDefinesByProperties
|
|
|
+ SUBTYPE OF (IfcRelDefines);
|
|
|
+ RelatedObjects : SET [1:?] OF IfcObjectDefinition;
|
|
|
+ RelatingPropertyDefinition : IfcPropertySetDefinitionSelect;
|
|
|
+ WHERE
|
|
|
+ NoRelatedTypeObject : SIZEOF(QUERY(Types <* SELF\IfcRelDefinesByProperties.RelatedObjects | 'IFC4.IFCTYPEOBJECT' IN TYPEOF(Types))) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelDefinesByTemplate
|
|
|
+ SUBTYPE OF (IfcRelDefines);
|
|
|
+ RelatedPropertySets : SET [1:?] OF IfcPropertySetDefinition;
|
|
|
+ RelatingTemplate : IfcPropertySetTemplate;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelDefinesByType
|
|
|
+ SUBTYPE OF (IfcRelDefines);
|
|
|
+ RelatedObjects : SET [1:?] OF IfcObject;
|
|
|
+ RelatingType : IfcTypeObject;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelFillsElement
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatingOpeningElement : IfcOpeningElement;
|
|
|
+ RelatedBuildingElement : IfcElement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelFlowControlElements
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatedControlElements : SET [1:?] OF IfcDistributionControlElement;
|
|
|
+ RelatingFlowElement : IfcDistributionFlowElement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelInterferesElements
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatingElement : IfcElement;
|
|
|
+ RelatedElement : IfcElement;
|
|
|
+ InterferenceGeometry : OPTIONAL IfcConnectionGeometry;
|
|
|
+ InterferenceType : OPTIONAL IfcIdentifier;
|
|
|
+ ImpliedOrder : LOGICAL;
|
|
|
+ WHERE
|
|
|
+ NotSelfReference : RelatingElement :<>: RelatedElement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelNests
|
|
|
+ SUBTYPE OF (IfcRelDecomposes);
|
|
|
+ RelatingObject : IfcObjectDefinition;
|
|
|
+ RelatedObjects : LIST [1:?] OF IfcObjectDefinition;
|
|
|
+ WHERE
|
|
|
+ NoSelfReference : SIZEOF(QUERY(Temp <* RelatedObjects | RelatingObject :=: Temp)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelProjectsElement
|
|
|
+ SUBTYPE OF (IfcRelDecomposes);
|
|
|
+ RelatingElement : IfcElement;
|
|
|
+ RelatedFeatureElement : IfcFeatureElementAddition;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelReferencedInSpatialStructure
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatedElements : SET [1:?] OF IfcProduct;
|
|
|
+ RelatingStructure : IfcSpatialElement;
|
|
|
+ WHERE
|
|
|
+ AllowedRelatedElements : SIZEOF(QUERY(temp <* RelatedElements | ('IFC4.IFCSPATIALSTRUCTUREELEMENT' IN TYPEOF(temp)) AND (NOT ('IFC4.IFCSPACE' IN TYPEOF(temp)))
|
|
|
+)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelSequence
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatingProcess : IfcProcess;
|
|
|
+ RelatedProcess : IfcProcess;
|
|
|
+ TimeLag : OPTIONAL IfcLagTime;
|
|
|
+ SequenceType : OPTIONAL IfcSequenceEnum;
|
|
|
+ UserDefinedSequenceType : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ AvoidInconsistentSequence : RelatingProcess :<>: RelatedProcess;
|
|
|
+ CorrectSequenceType : (SequenceType <> IfcSequenceEnum.USERDEFINED) OR ((SequenceType = IfcSequenceEnum.USERDEFINED) AND EXISTS(UserDefinedSequenceType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelServicesBuildings
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatingSystem : IfcSystem;
|
|
|
+ RelatedBuildings : SET [1:?] OF IfcSpatialElement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelSpaceBoundary
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRelSpaceBoundary1stLevel))
|
|
|
+ SUBTYPE OF (IfcRelConnects);
|
|
|
+ RelatingSpace : IfcSpaceBoundarySelect;
|
|
|
+ RelatedBuildingElement : IfcElement;
|
|
|
+ ConnectionGeometry : OPTIONAL IfcConnectionGeometry;
|
|
|
+ PhysicalOrVirtualBoundary : IfcPhysicalOrVirtualEnum;
|
|
|
+ InternalOrExternalBoundary : IfcInternalOrExternalEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPhysOrVirt : ((PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.Physical)
|
|
|
+ AND (NOT('IFC4.IFCVIRTUALELEMENT' IN TYPEOF(RelatedBuildingElement))))
|
|
|
+OR
|
|
|
+((PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.Virtual)
|
|
|
+ AND (('IFC4.IFCVIRTUALELEMENT' IN TYPEOF(RelatedBuildingElement))
|
|
|
+ OR ('IFC4.IFCOPENINGELEMENT' IN TYPEOF(RelatedBuildingElement))))
|
|
|
+OR
|
|
|
+(PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.NotDefined);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelSpaceBoundary1stLevel
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRelSpaceBoundary2ndLevel))
|
|
|
+ SUBTYPE OF (IfcRelSpaceBoundary);
|
|
|
+ ParentBoundary : OPTIONAL IfcRelSpaceBoundary1stLevel;
|
|
|
+ INVERSE
|
|
|
+ InnerBoundaries : SET [0:?] OF IfcRelSpaceBoundary1stLevel FOR ParentBoundary;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelSpaceBoundary2ndLevel
|
|
|
+ SUBTYPE OF (IfcRelSpaceBoundary1stLevel);
|
|
|
+ CorrespondingBoundary : OPTIONAL IfcRelSpaceBoundary2ndLevel;
|
|
|
+ INVERSE
|
|
|
+ Corresponds : SET [0:1] OF IfcRelSpaceBoundary2ndLevel FOR CorrespondingBoundary;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelVoidsElement
|
|
|
+ SUBTYPE OF (IfcRelDecomposes);
|
|
|
+ RelatingBuildingElement : IfcElement;
|
|
|
+ RelatedOpeningElement : IfcFeatureElementSubtraction;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRelationship
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRelAssigns
|
|
|
+ ,IfcRelAssociates
|
|
|
+ ,IfcRelConnects
|
|
|
+ ,IfcRelDeclares
|
|
|
+ ,IfcRelDecomposes
|
|
|
+ ,IfcRelDefines))
|
|
|
+ SUBTYPE OF (IfcRoot);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcReparametrisedCompositeCurveSegment
|
|
|
+ SUBTYPE OF (IfcCompositeCurveSegment);
|
|
|
+ ParamLength : IfcParameterValue;
|
|
|
+ WHERE
|
|
|
+ PositiveLengthParameter : ParamLength > 0.0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRepresentation
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcShapeModel
|
|
|
+ ,IfcStyleModel));
|
|
|
+ ContextOfItems : IfcRepresentationContext;
|
|
|
+ RepresentationIdentifier : OPTIONAL IfcLabel;
|
|
|
+ RepresentationType : OPTIONAL IfcLabel;
|
|
|
+ Items : SET [1:?] OF IfcRepresentationItem;
|
|
|
+ INVERSE
|
|
|
+ RepresentationMap : SET [0:1] OF IfcRepresentationMap FOR MappedRepresentation;
|
|
|
+ LayerAssignments : SET [0:?] OF IfcPresentationLayerAssignment FOR AssignedItems;
|
|
|
+ OfProductRepresentation : SET [0:?] OF IfcProductRepresentation FOR Representations;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRepresentationContext
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcGeometricRepresentationContext));
|
|
|
+ ContextIdentifier : OPTIONAL IfcLabel;
|
|
|
+ ContextType : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ RepresentationsInContext : SET [0:?] OF IfcRepresentation FOR ContextOfItems;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRepresentationItem
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcGeometricRepresentationItem
|
|
|
+ ,IfcMappedItem
|
|
|
+ ,IfcStyledItem
|
|
|
+ ,IfcTopologicalRepresentationItem));
|
|
|
+ INVERSE
|
|
|
+ LayerAssignment : SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems;
|
|
|
+ StyledByItem : SET [0:1] OF IfcStyledItem FOR Item;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRepresentationMap;
|
|
|
+ MappingOrigin : IfcAxis2Placement;
|
|
|
+ MappedRepresentation : IfcRepresentation;
|
|
|
+ INVERSE
|
|
|
+ HasShapeAspects : SET [0:?] OF IfcShapeAspect FOR PartOfProductDefinitionShape;
|
|
|
+ MapUsage : SET [0:?] OF IfcMappedItem FOR MappingSource;
|
|
|
+ WHERE
|
|
|
+ ApplicableMappedRepr : 'IFC4.IFCSHAPEMODEL' IN TYPEOF(MappedRepresentation);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcResource
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcConstructionResource))
|
|
|
+ SUBTYPE OF (IfcObject);
|
|
|
+ Identification : OPTIONAL IfcIdentifier;
|
|
|
+ LongDescription : OPTIONAL IfcText;
|
|
|
+ INVERSE
|
|
|
+ ResourceOf : SET [0:?] OF IfcRelAssignsToResource FOR RelatingResource;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcResourceApprovalRelationship
|
|
|
+ SUBTYPE OF (IfcResourceLevelRelationship);
|
|
|
+ RelatedResourceObjects : SET [1:?] OF IfcResourceObjectSelect;
|
|
|
+ RelatingApproval : IfcApproval;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcResourceConstraintRelationship
|
|
|
+ SUBTYPE OF (IfcResourceLevelRelationship);
|
|
|
+ RelatingConstraint : IfcConstraint;
|
|
|
+ RelatedResourceObjects : SET [1:?] OF IfcResourceObjectSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcResourceLevelRelationship
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcApprovalRelationship
|
|
|
+ ,IfcCurrencyRelationship
|
|
|
+ ,IfcDocumentInformationRelationship
|
|
|
+ ,IfcExternalReferenceRelationship
|
|
|
+ ,IfcMaterialRelationship
|
|
|
+ ,IfcOrganizationRelationship
|
|
|
+ ,IfcPropertyDependencyRelationship
|
|
|
+ ,IfcResourceApprovalRelationship
|
|
|
+ ,IfcResourceConstraintRelationship));
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcResourceTime
|
|
|
+ SUBTYPE OF (IfcSchedulingTime);
|
|
|
+ ScheduleWork : OPTIONAL IfcDuration;
|
|
|
+ ScheduleUsage : OPTIONAL IfcPositiveRatioMeasure;
|
|
|
+ ScheduleStart : OPTIONAL IfcDateTime;
|
|
|
+ ScheduleFinish : OPTIONAL IfcDateTime;
|
|
|
+ ScheduleContour : OPTIONAL IfcLabel;
|
|
|
+ LevelingDelay : OPTIONAL IfcDuration;
|
|
|
+ IsOverAllocated : OPTIONAL IfcBoolean;
|
|
|
+ StatusTime : OPTIONAL IfcDateTime;
|
|
|
+ ActualWork : OPTIONAL IfcDuration;
|
|
|
+ ActualUsage : OPTIONAL IfcPositiveRatioMeasure;
|
|
|
+ ActualStart : OPTIONAL IfcDateTime;
|
|
|
+ ActualFinish : OPTIONAL IfcDateTime;
|
|
|
+ RemainingWork : OPTIONAL IfcDuration;
|
|
|
+ RemainingUsage : OPTIONAL IfcPositiveRatioMeasure;
|
|
|
+ Completion : OPTIONAL IfcPositiveRatioMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRevolvedAreaSolid
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcRevolvedAreaSolidTapered))
|
|
|
+ SUBTYPE OF (IfcSweptAreaSolid);
|
|
|
+ Axis : IfcAxis1Placement;
|
|
|
+ Angle : IfcPlaneAngleMeasure;
|
|
|
+ DERIVE
|
|
|
+ AxisLine : IfcLine := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(Axis.Location,
|
|
|
+ IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Axis.Z,1.0));
|
|
|
+ WHERE
|
|
|
+ AxisStartInXY : Axis.Location.Coordinates[3] = 0.0;
|
|
|
+ AxisDirectionInXY : Axis.Z.DirectionRatios[3] = 0.0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRevolvedAreaSolidTapered
|
|
|
+ SUBTYPE OF (IfcRevolvedAreaSolid);
|
|
|
+ EndSweptArea : IfcProfileDef;
|
|
|
+ WHERE
|
|
|
+ CorrectProfileAssignment : IfcTaperedSweptAreaProfiles(SELF\IfcSweptAreaSolid.SweptArea, SELF.EndSweptArea);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRightCircularCone
|
|
|
+ SUBTYPE OF (IfcCsgPrimitive3D);
|
|
|
+ Height : IfcPositiveLengthMeasure;
|
|
|
+ BottomRadius : IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRightCircularCylinder
|
|
|
+ SUBTYPE OF (IfcCsgPrimitive3D);
|
|
|
+ Height : IfcPositiveLengthMeasure;
|
|
|
+ Radius : IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRoof
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcRoofTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcRoofTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcRoofTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCROOFTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRoofType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcRoofTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcRoofTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcRoofTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRoot
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcObjectDefinition
|
|
|
+ ,IfcPropertyDefinition
|
|
|
+ ,IfcRelationship));
|
|
|
+ GlobalId : IfcGloballyUniqueId;
|
|
|
+ OwnerHistory : OPTIONAL IfcOwnerHistory;
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ UNIQUE
|
|
|
+ UR1 : GlobalId;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcRoundedRectangleProfileDef
|
|
|
+ SUBTYPE OF (IfcRectangleProfileDef);
|
|
|
+ RoundingRadius : IfcPositiveLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ ValidRadius : ((RoundingRadius <= (SELF\IfcRectangleProfileDef.XDim/2.)) AND
|
|
|
+ (RoundingRadius <= (SELF\IfcRectangleProfileDef.YDim/2.)));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSIUnit
|
|
|
+ SUBTYPE OF (IfcNamedUnit);
|
|
|
+ Prefix : OPTIONAL IfcSIPrefix;
|
|
|
+ Name : IfcSIUnitName;
|
|
|
+ DERIVE
|
|
|
+ SELF\IfcNamedUnit.Dimensions : IfcDimensionalExponents := IfcDimensionsForSiUnit (SELF.Name);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSanitaryTerminal
|
|
|
+ SUBTYPE OF (IfcFlowTerminal);
|
|
|
+ PredefinedType : OPTIONAL IfcSanitaryTerminalTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcSanitaryTerminalTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcSanitaryTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCSANITARYTERMINALTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSanitaryTerminalType
|
|
|
+ SUBTYPE OF (IfcFlowTerminalType);
|
|
|
+ PredefinedType : IfcSanitaryTerminalTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcSanitaryTerminalTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcSanitaryTerminalTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSchedulingTime
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcEventTime
|
|
|
+ ,IfcLagTime
|
|
|
+ ,IfcResourceTime
|
|
|
+ ,IfcTaskTime
|
|
|
+ ,IfcWorkTime));
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ DataOrigin : OPTIONAL IfcDataOriginEnum;
|
|
|
+ UserDefinedDataOrigin : OPTIONAL IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSeamCurve
|
|
|
+ SUBTYPE OF (IfcSurfaceCurve);
|
|
|
+ WHERE
|
|
|
+ TwoPCurves : SIZEOF(SELF\IfcSurfaceCurve.AssociatedGeometry) = 2;
|
|
|
+ SameSurface : IfcAssociatedSurface(SELF\IfcSurfaceCurve.AssociatedGeometry[1]) = IfcAssociatedSurface(SELF\IfcSurfaceCurve.AssociatedGeometry[2]);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSectionProperties
|
|
|
+ SUBTYPE OF (IfcPreDefinedProperties);
|
|
|
+ SectionType : IfcSectionTypeEnum;
|
|
|
+ StartProfile : IfcProfileDef;
|
|
|
+ EndProfile : OPTIONAL IfcProfileDef;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSectionReinforcementProperties
|
|
|
+ SUBTYPE OF (IfcPreDefinedProperties);
|
|
|
+ LongitudinalStartPosition : IfcLengthMeasure;
|
|
|
+ LongitudinalEndPosition : IfcLengthMeasure;
|
|
|
+ TransversePosition : OPTIONAL IfcLengthMeasure;
|
|
|
+ ReinforcementRole : IfcReinforcingBarRoleEnum;
|
|
|
+ SectionDefinition : IfcSectionProperties;
|
|
|
+ CrossSectionReinforcementDefinitions : SET [1:?] OF IfcReinforcementBarProperties;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSectionedSpine
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ SpineCurve : IfcCompositeCurve;
|
|
|
+ CrossSections : LIST [2:?] OF IfcProfileDef;
|
|
|
+ CrossSectionPositions : LIST [2:?] OF IfcAxis2Placement3D;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := 3;
|
|
|
+ WHERE
|
|
|
+ CorrespondingSectionPositions : SIZEOF(CrossSections) = SIZEOF(CrossSectionPositions);
|
|
|
+ ConsistentProfileTypes : SIZEOF(QUERY(temp <* CrossSections | CrossSections[1].ProfileType <> temp.ProfileType)) = 0;
|
|
|
+ SpineCurveDim : SpineCurve.Dim = 3;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSensor
|
|
|
+ SUBTYPE OF (IfcDistributionControlElement);
|
|
|
+ PredefinedType : OPTIONAL IfcSensorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcSensorTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcSensorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCSENSORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSensorType
|
|
|
+ SUBTYPE OF (IfcDistributionControlElementType);
|
|
|
+ PredefinedType : IfcSensorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcSensorTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcSensorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcShadingDevice
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcShadingDeviceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcShadingDeviceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcShadingDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCSHADINGDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcShadingDeviceType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcShadingDeviceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcShadingDeviceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcShadingDeviceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcShapeAspect;
|
|
|
+ ShapeRepresentations : LIST [1:?] OF IfcShapeModel;
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ ProductDefinitional : IfcLogical;
|
|
|
+ PartOfProductDefinitionShape : OPTIONAL IfcProductRepresentationSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcShapeModel
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcShapeRepresentation
|
|
|
+ ,IfcTopologyRepresentation))
|
|
|
+ SUBTYPE OF (IfcRepresentation);
|
|
|
+ INVERSE
|
|
|
+ OfShapeAspect : SET [0:1] OF IfcShapeAspect FOR ShapeRepresentations;
|
|
|
+ WHERE
|
|
|
+ WR11 : (SIZEOF(SELF\IfcRepresentation.OfProductRepresentation) = 1) XOR
|
|
|
+(SIZEOF(SELF\IfcRepresentation.RepresentationMap) = 1) XOR
|
|
|
+(SIZEOF(OfShapeAspect) = 1);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcShapeRepresentation
|
|
|
+ SUBTYPE OF (IfcShapeModel);
|
|
|
+ WHERE
|
|
|
+ CorrectContext : 'IFC4.IFCGEOMETRICREPRESENTATIONCONTEXT'
|
|
|
+IN TYPEOF(SELF\IfcRepresentation.ContextOfItems);
|
|
|
+ NoTopologicalItem : SIZEOF(QUERY(temp <* Items |
|
|
|
+ ('IFC4.IFCTOPOLOGICALREPRESENTATIONITEM' IN TYPEOF(temp))
|
|
|
+ AND (NOT(SIZEOF(
|
|
|
+ ['IFC4.IFCVERTEXPOINT',
|
|
|
+ 'IFC4.IFCEDGECURVE',
|
|
|
+ 'IFC4.IFCFACESURFACE'] * TYPEOF(temp)) = 1))
|
|
|
+)) = 0;
|
|
|
+ HasRepresentationType : EXISTS(SELF\IfcRepresentation.RepresentationType);
|
|
|
+ HasRepresentationIdentifier : EXISTS(SELF\IfcRepresentation.RepresentationIdentifier);
|
|
|
+ CorrectItemsForType : IfcShapeRepresentationTypes(SELF\IfcRepresentation.RepresentationType, SELF\IfcRepresentation.Items);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcShellBasedSurfaceModel
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ SbsmBoundary : SET [1:?] OF IfcShell;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := 3;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSimpleProperty
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcPropertyBoundedValue
|
|
|
+ ,IfcPropertyEnumeratedValue
|
|
|
+ ,IfcPropertyListValue
|
|
|
+ ,IfcPropertyReferenceValue
|
|
|
+ ,IfcPropertySingleValue
|
|
|
+ ,IfcPropertyTableValue))
|
|
|
+ SUBTYPE OF (IfcProperty);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSimplePropertyTemplate
|
|
|
+ SUBTYPE OF (IfcPropertyTemplate);
|
|
|
+ TemplateType : OPTIONAL IfcSimplePropertyTemplateTypeEnum;
|
|
|
+ PrimaryMeasureType : OPTIONAL IfcLabel;
|
|
|
+ SecondaryMeasureType : OPTIONAL IfcLabel;
|
|
|
+ Enumerators : OPTIONAL IfcPropertyEnumeration;
|
|
|
+ PrimaryUnit : OPTIONAL IfcUnit;
|
|
|
+ SecondaryUnit : OPTIONAL IfcUnit;
|
|
|
+ Expression : OPTIONAL IfcLabel;
|
|
|
+ AccessState : OPTIONAL IfcStateEnum;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSite
|
|
|
+ SUBTYPE OF (IfcSpatialStructureElement);
|
|
|
+ RefLatitude : OPTIONAL IfcCompoundPlaneAngleMeasure;
|
|
|
+ RefLongitude : OPTIONAL IfcCompoundPlaneAngleMeasure;
|
|
|
+ RefElevation : OPTIONAL IfcLengthMeasure;
|
|
|
+ LandTitleNumber : OPTIONAL IfcLabel;
|
|
|
+ SiteAddress : OPTIONAL IfcPostalAddress;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSlab
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcSlabElementedCase
|
|
|
+ ,IfcSlabStandardCase))
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcSlabTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcSlabTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcSlabTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCSLABTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSlabElementedCase
|
|
|
+ SUBTYPE OF (IfcSlab);
|
|
|
+ WHERE
|
|
|
+ HasDecomposition : HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) > 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSlabStandardCase
|
|
|
+ SUBTYPE OF (IfcSlab);
|
|
|
+ WHERE
|
|
|
+ HasMaterialLayerSetusage : SIZEOF (QUERY(temp <* USEDIN(SELF, 'IFC4.IFCRELASSOCIATES.RELATEDOBJECTS') |
|
|
|
+ ('IFC4.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp)) AND
|
|
|
+ ('IFC4.IFCMATERIALLAYERSETUSAGE' IN TYPEOF(temp.RelatingMaterial))
|
|
|
+ )) = 1;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSlabType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcSlabTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcSlabTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcSlabTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSlippageConnectionCondition
|
|
|
+ SUBTYPE OF (IfcStructuralConnectionCondition);
|
|
|
+ SlippageX : OPTIONAL IfcLengthMeasure;
|
|
|
+ SlippageY : OPTIONAL IfcLengthMeasure;
|
|
|
+ SlippageZ : OPTIONAL IfcLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSolarDevice
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcSolarDeviceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcSolarDeviceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcSolarDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCSOLARDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSolarDeviceType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcSolarDeviceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcSolarDeviceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcSolarDeviceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSolidModel
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcCsgSolid
|
|
|
+ ,IfcManifoldSolidBrep
|
|
|
+ ,IfcSweptAreaSolid
|
|
|
+ ,IfcSweptDiskSolid))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := 3;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSpace
|
|
|
+ SUBTYPE OF (IfcSpatialStructureElement);
|
|
|
+ PredefinedType : OPTIONAL IfcSpaceTypeEnum;
|
|
|
+ ElevationWithFlooring : OPTIONAL IfcLengthMeasure;
|
|
|
+ INVERSE
|
|
|
+ HasCoverings : SET [0:?] OF IfcRelCoversSpaces FOR RelatingSpace;
|
|
|
+ BoundedBy : SET [0:?] OF IfcRelSpaceBoundary FOR RelatingSpace;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcSpaceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcSpaceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCSPACETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSpaceHeater
|
|
|
+ SUBTYPE OF (IfcFlowTerminal);
|
|
|
+ PredefinedType : OPTIONAL IfcSpaceHeaterTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcSpaceHeaterTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcSpaceHeaterTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCSPACEHEATERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSpaceHeaterType
|
|
|
+ SUBTYPE OF (IfcFlowTerminalType);
|
|
|
+ PredefinedType : IfcSpaceHeaterTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcSpaceHeaterTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcSpaceHeaterTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSpaceType
|
|
|
+ SUBTYPE OF (IfcSpatialStructureElementType);
|
|
|
+ PredefinedType : IfcSpaceTypeEnum;
|
|
|
+ LongName : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcSpaceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcSpaceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcSpatialElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSpatialElement
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcExternalSpatialStructureElement
|
|
|
+ ,IfcSpatialStructureElement
|
|
|
+ ,IfcSpatialZone))
|
|
|
+ SUBTYPE OF (IfcProduct);
|
|
|
+ LongName : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ ContainsElements : SET [0:?] OF IfcRelContainedInSpatialStructure FOR RelatingStructure;
|
|
|
+ ServicedBySystems : SET [0:?] OF IfcRelServicesBuildings FOR RelatedBuildings;
|
|
|
+ ReferencesElements : SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatingStructure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSpatialElementType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcSpatialStructureElementType
|
|
|
+ ,IfcSpatialZoneType))
|
|
|
+ SUBTYPE OF (IfcTypeProduct);
|
|
|
+ ElementType : OPTIONAL IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSpatialStructureElement
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBuilding
|
|
|
+ ,IfcBuildingStorey
|
|
|
+ ,IfcSite
|
|
|
+ ,IfcSpace))
|
|
|
+ SUBTYPE OF (IfcSpatialElement);
|
|
|
+ CompositionType : OPTIONAL IfcElementCompositionEnum;
|
|
|
+ WHERE
|
|
|
+ WR41 : (HIINDEX(SELF\IfcObjectDefinition.Decomposes) = 1)
|
|
|
+AND
|
|
|
+('IFC4.IFCRELAGGREGATES' IN TYPEOF(SELF\IfcObjectDefinition.Decomposes[1]))
|
|
|
+AND
|
|
|
+(('IFC4.IFCPROJECT' IN TYPEOF (SELF\IfcObjectDefinition.Decomposes[1].RelatingObject)) OR
|
|
|
+ ('IFC4.IFCSPATIALSTRUCTUREELEMENT' IN TYPEOF (SELF\IfcObjectDefinition.Decomposes[1].RelatingObject))
|
|
|
+);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSpatialStructureElementType
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcSpaceType))
|
|
|
+ SUBTYPE OF (IfcSpatialElementType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSpatialZone
|
|
|
+ SUBTYPE OF (IfcSpatialElement);
|
|
|
+ PredefinedType : OPTIONAL IfcSpatialZoneTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcSpatialZoneTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcSpatialZoneTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCSPATIALZONETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSpatialZoneType
|
|
|
+ SUBTYPE OF (IfcSpatialElementType);
|
|
|
+ PredefinedType : IfcSpatialZoneTypeEnum;
|
|
|
+ LongName : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcSpatialZoneTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcSpatialZoneTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcSpatialElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSphere
|
|
|
+ SUBTYPE OF (IfcCsgPrimitive3D);
|
|
|
+ Radius : IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSphericalSurface
|
|
|
+ SUBTYPE OF (IfcElementarySurface);
|
|
|
+ Radius : IfcPositiveLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStackTerminal
|
|
|
+ SUBTYPE OF (IfcFlowTerminal);
|
|
|
+ PredefinedType : OPTIONAL IfcStackTerminalTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcStackTerminalTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcStackTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCSTACKTERMINALTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStackTerminalType
|
|
|
+ SUBTYPE OF (IfcFlowTerminalType);
|
|
|
+ PredefinedType : IfcStackTerminalTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcStackTerminalTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcStackTerminalTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStair
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcStairTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcStairTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcStairTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCSTAIRTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStairFlight
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ NumberOfRisers : OPTIONAL IfcInteger;
|
|
|
+ NumberOfTreads : OPTIONAL IfcInteger;
|
|
|
+ RiserHeight : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ TreadLength : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ PredefinedType : OPTIONAL IfcStairFlightTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcStairFlightTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcStairFlightTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCSTAIRFLIGHTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStairFlightType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcStairFlightTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcStairFlightTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcStairFlightTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStairType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcStairTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcStairTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcStairTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralAction
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralCurveAction
|
|
|
+ ,IfcStructuralPointAction
|
|
|
+ ,IfcStructuralSurfaceAction))
|
|
|
+ SUBTYPE OF (IfcStructuralActivity);
|
|
|
+ DestabilizingLoad : OPTIONAL IfcBoolean;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralActivity
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralAction
|
|
|
+ ,IfcStructuralReaction))
|
|
|
+ SUBTYPE OF (IfcProduct);
|
|
|
+ AppliedLoad : IfcStructuralLoad;
|
|
|
+ GlobalOrLocal : IfcGlobalOrLocalEnum;
|
|
|
+ INVERSE
|
|
|
+ AssignedToStructuralItem : SET [0:1] OF IfcRelConnectsStructuralActivity FOR RelatedStructuralActivity;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralAnalysisModel
|
|
|
+ SUBTYPE OF (IfcSystem);
|
|
|
+ PredefinedType : IfcAnalysisModelTypeEnum;
|
|
|
+ OrientationOf2DPlane : OPTIONAL IfcAxis2Placement3D;
|
|
|
+ LoadedBy : OPTIONAL SET [1:?] OF IfcStructuralLoadGroup;
|
|
|
+ HasResults : OPTIONAL SET [1:?] OF IfcStructuralResultGroup;
|
|
|
+ SharedPlacement : OPTIONAL IfcObjectPlacement;
|
|
|
+ WHERE
|
|
|
+ HasObjectType : (PredefinedType <> IfcAnalysisModelTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralConnection
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralCurveConnection
|
|
|
+ ,IfcStructuralPointConnection
|
|
|
+ ,IfcStructuralSurfaceConnection))
|
|
|
+ SUBTYPE OF (IfcStructuralItem);
|
|
|
+ AppliedCondition : OPTIONAL IfcBoundaryCondition;
|
|
|
+ INVERSE
|
|
|
+ ConnectsStructuralMembers : SET [1:?] OF IfcRelConnectsStructuralMember FOR RelatedStructuralConnection;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralConnectionCondition
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcFailureConnectionCondition
|
|
|
+ ,IfcSlippageConnectionCondition));
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralCurveAction
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralLinearAction))
|
|
|
+ SUBTYPE OF (IfcStructuralAction);
|
|
|
+ ProjectedOrTrue : OPTIONAL IfcProjectedOrTrueLengthEnum;
|
|
|
+ PredefinedType : IfcStructuralCurveActivityTypeEnum;
|
|
|
+ WHERE
|
|
|
+ ProjectedIsGlobal : (NOT EXISTS(ProjectedOrTrue)) OR
|
|
|
+((ProjectedOrTrue <> PROJECTED_LENGTH) OR
|
|
|
+ (SELF\IfcStructuralActivity.GlobalOrLocal = GLOBAL_COORDS));
|
|
|
+ HasObjectType : (PredefinedType <> IfcStructuralCurveActivityTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
|
|
|
+ SuitablePredefinedType : PredefinedType <> IfcStructuralCurveActivityTypeEnum.EQUIDISTANT;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralCurveConnection
|
|
|
+ SUBTYPE OF (IfcStructuralConnection);
|
|
|
+ Axis : IfcDirection;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralCurveMember
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralCurveMemberVarying))
|
|
|
+ SUBTYPE OF (IfcStructuralMember);
|
|
|
+ PredefinedType : IfcStructuralCurveMemberTypeEnum;
|
|
|
+ Axis : IfcDirection;
|
|
|
+ WHERE
|
|
|
+ HasObjectType : (PredefinedType <> IfcStructuralCurveMemberTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralCurveMemberVarying
|
|
|
+ SUBTYPE OF (IfcStructuralCurveMember);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralCurveReaction
|
|
|
+ SUBTYPE OF (IfcStructuralReaction);
|
|
|
+ PredefinedType : IfcStructuralCurveActivityTypeEnum;
|
|
|
+ WHERE
|
|
|
+ HasObjectType : (PredefinedType <> IfcStructuralCurveActivityTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
|
|
|
+ SuitablePredefinedType : (PredefinedType <> IfcStructuralCurveActivityTypeEnum.SINUS) AND (PredefinedType <> IfcStructuralCurveActivityTypeEnum.PARABOLA);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralItem
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralConnection
|
|
|
+ ,IfcStructuralMember))
|
|
|
+ SUBTYPE OF (IfcProduct);
|
|
|
+ INVERSE
|
|
|
+ AssignedStructuralActivity : SET [0:?] OF IfcRelConnectsStructuralActivity FOR RelatingElement;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLinearAction
|
|
|
+ SUBTYPE OF (IfcStructuralCurveAction);
|
|
|
+ WHERE
|
|
|
+ SuitableLoadType : SIZEOF(['IFC4.IFCSTRUCTURALLOADLINEARFORCE', 'IFC4.IFCSTRUCTURALLOADTEMPERATURE'] * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1;
|
|
|
+ ConstPredefinedType : SELF\IfcStructuralCurveAction.PredefinedType = IfcStructuralCurveActivityTypeEnum.CONST;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLoad
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralLoadConfiguration
|
|
|
+ ,IfcStructuralLoadOrResult));
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLoadCase
|
|
|
+ SUBTYPE OF (IfcStructuralLoadGroup);
|
|
|
+ SelfWeightCoefficients : OPTIONAL LIST [3:3] OF IfcRatioMeasure;
|
|
|
+ WHERE
|
|
|
+ IsLoadCasePredefinedType : SELF\IfcStructuralLoadGroup.PredefinedType = IfcLoadGroupTypeEnum.LOAD_CASE;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLoadConfiguration
|
|
|
+ SUBTYPE OF (IfcStructuralLoad);
|
|
|
+ Values : LIST [1:?] OF IfcStructuralLoadOrResult;
|
|
|
+ Locations : OPTIONAL LIST [1:?] OF UNIQUE LIST [1:2] OF IfcLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ ValidListSize : NOT EXISTS(Locations) OR (SIZEOF(Locations) = SIZEOF(Values));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLoadGroup
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralLoadCase))
|
|
|
+ SUBTYPE OF (IfcGroup);
|
|
|
+ PredefinedType : IfcLoadGroupTypeEnum;
|
|
|
+ ActionType : IfcActionTypeEnum;
|
|
|
+ ActionSource : IfcActionSourceTypeEnum;
|
|
|
+ Coefficient : OPTIONAL IfcRatioMeasure;
|
|
|
+ Purpose : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ SourceOfResultGroup : SET [0:1] OF IfcStructuralResultGroup FOR ResultForLoadGroup;
|
|
|
+ LoadGroupFor : SET [0:?] OF IfcStructuralAnalysisModel FOR LoadedBy;
|
|
|
+ WHERE
|
|
|
+ HasObjectType : (
|
|
|
+ (PredefinedType <> IfcLoadGroupTypeEnum.USERDEFINED) AND
|
|
|
+ (ActionType <> IfcActionTypeEnum.USERDEFINED) AND
|
|
|
+ (ActionSource <> IfcActionSourceTypeEnum.USERDEFINED)
|
|
|
+) OR EXISTS(SELF\IfcObject.ObjectType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLoadLinearForce
|
|
|
+ SUBTYPE OF (IfcStructuralLoadStatic);
|
|
|
+ LinearForceX : OPTIONAL IfcLinearForceMeasure;
|
|
|
+ LinearForceY : OPTIONAL IfcLinearForceMeasure;
|
|
|
+ LinearForceZ : OPTIONAL IfcLinearForceMeasure;
|
|
|
+ LinearMomentX : OPTIONAL IfcLinearMomentMeasure;
|
|
|
+ LinearMomentY : OPTIONAL IfcLinearMomentMeasure;
|
|
|
+ LinearMomentZ : OPTIONAL IfcLinearMomentMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLoadOrResult
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralLoadStatic
|
|
|
+ ,IfcSurfaceReinforcementArea))
|
|
|
+ SUBTYPE OF (IfcStructuralLoad);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLoadPlanarForce
|
|
|
+ SUBTYPE OF (IfcStructuralLoadStatic);
|
|
|
+ PlanarForceX : OPTIONAL IfcPlanarForceMeasure;
|
|
|
+ PlanarForceY : OPTIONAL IfcPlanarForceMeasure;
|
|
|
+ PlanarForceZ : OPTIONAL IfcPlanarForceMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLoadSingleDisplacement
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralLoadSingleDisplacementDistortion))
|
|
|
+ SUBTYPE OF (IfcStructuralLoadStatic);
|
|
|
+ DisplacementX : OPTIONAL IfcLengthMeasure;
|
|
|
+ DisplacementY : OPTIONAL IfcLengthMeasure;
|
|
|
+ DisplacementZ : OPTIONAL IfcLengthMeasure;
|
|
|
+ RotationalDisplacementRX : OPTIONAL IfcPlaneAngleMeasure;
|
|
|
+ RotationalDisplacementRY : OPTIONAL IfcPlaneAngleMeasure;
|
|
|
+ RotationalDisplacementRZ : OPTIONAL IfcPlaneAngleMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLoadSingleDisplacementDistortion
|
|
|
+ SUBTYPE OF (IfcStructuralLoadSingleDisplacement);
|
|
|
+ Distortion : OPTIONAL IfcCurvatureMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLoadSingleForce
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralLoadSingleForceWarping))
|
|
|
+ SUBTYPE OF (IfcStructuralLoadStatic);
|
|
|
+ ForceX : OPTIONAL IfcForceMeasure;
|
|
|
+ ForceY : OPTIONAL IfcForceMeasure;
|
|
|
+ ForceZ : OPTIONAL IfcForceMeasure;
|
|
|
+ MomentX : OPTIONAL IfcTorqueMeasure;
|
|
|
+ MomentY : OPTIONAL IfcTorqueMeasure;
|
|
|
+ MomentZ : OPTIONAL IfcTorqueMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLoadSingleForceWarping
|
|
|
+ SUBTYPE OF (IfcStructuralLoadSingleForce);
|
|
|
+ WarpingMoment : OPTIONAL IfcWarpingMomentMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLoadStatic
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralLoadLinearForce
|
|
|
+ ,IfcStructuralLoadPlanarForce
|
|
|
+ ,IfcStructuralLoadSingleDisplacement
|
|
|
+ ,IfcStructuralLoadSingleForce
|
|
|
+ ,IfcStructuralLoadTemperature))
|
|
|
+ SUBTYPE OF (IfcStructuralLoadOrResult);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralLoadTemperature
|
|
|
+ SUBTYPE OF (IfcStructuralLoadStatic);
|
|
|
+ DeltaTConstant : OPTIONAL IfcThermodynamicTemperatureMeasure;
|
|
|
+ DeltaTY : OPTIONAL IfcThermodynamicTemperatureMeasure;
|
|
|
+ DeltaTZ : OPTIONAL IfcThermodynamicTemperatureMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralMember
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralCurveMember
|
|
|
+ ,IfcStructuralSurfaceMember))
|
|
|
+ SUBTYPE OF (IfcStructuralItem);
|
|
|
+ INVERSE
|
|
|
+ ConnectedBy : SET [0:?] OF IfcRelConnectsStructuralMember FOR RelatingStructuralMember;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralPlanarAction
|
|
|
+ SUBTYPE OF (IfcStructuralSurfaceAction);
|
|
|
+ WHERE
|
|
|
+ SuitableLoadType : SIZEOF(['IFC4.IFCSTRUCTURALLOADPLANARFORCE', 'IFC4.IFCSTRUCTURALLOADTEMPERATURE'] * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1;
|
|
|
+ ConstPredefinedType : SELF\IfcStructuralSurfaceAction.PredefinedType = IfcStructuralSurfaceActivityTypeEnum.CONST;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralPointAction
|
|
|
+ SUBTYPE OF (IfcStructuralAction);
|
|
|
+ WHERE
|
|
|
+ SuitableLoadType : SIZEOF(['IFC4.IFCSTRUCTURALLOADSINGLEFORCE', 'IFC4.IFCSTRUCTURALLOADSINGLEDISPLACEMENT'] * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralPointConnection
|
|
|
+ SUBTYPE OF (IfcStructuralConnection);
|
|
|
+ ConditionCoordinateSystem : OPTIONAL IfcAxis2Placement3D;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralPointReaction
|
|
|
+ SUBTYPE OF (IfcStructuralReaction);
|
|
|
+ WHERE
|
|
|
+ SuitableLoadType : SIZEOF(['IFC4.IFCSTRUCTURALLOADSINGLEFORCE', 'IFC4.IFCSTRUCTURALLOADSINGLEDISPLACEMENT'] * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralReaction
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralCurveReaction
|
|
|
+ ,IfcStructuralPointReaction
|
|
|
+ ,IfcStructuralSurfaceReaction))
|
|
|
+ SUBTYPE OF (IfcStructuralActivity);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralResultGroup
|
|
|
+ SUBTYPE OF (IfcGroup);
|
|
|
+ TheoryType : IfcAnalysisTheoryTypeEnum;
|
|
|
+ ResultForLoadGroup : OPTIONAL IfcStructuralLoadGroup;
|
|
|
+ IsLinear : IfcBoolean;
|
|
|
+ INVERSE
|
|
|
+ ResultGroupFor : SET [0:1] OF IfcStructuralAnalysisModel FOR HasResults;
|
|
|
+ WHERE
|
|
|
+ HasObjectType : (TheoryType <> IfcAnalysisTheoryTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralSurfaceAction
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralPlanarAction))
|
|
|
+ SUBTYPE OF (IfcStructuralAction);
|
|
|
+ ProjectedOrTrue : OPTIONAL IfcProjectedOrTrueLengthEnum;
|
|
|
+ PredefinedType : IfcStructuralSurfaceActivityTypeEnum;
|
|
|
+ WHERE
|
|
|
+ ProjectedIsGlobal : (NOT EXISTS(ProjectedOrTrue)) OR
|
|
|
+((ProjectedOrTrue <> PROJECTED_LENGTH) OR
|
|
|
+ (SELF\IfcStructuralActivity.GlobalOrLocal = GLOBAL_COORDS));
|
|
|
+ HasObjectType : (PredefinedType <> IfcStructuralSurfaceActivityTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralSurfaceConnection
|
|
|
+ SUBTYPE OF (IfcStructuralConnection);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralSurfaceMember
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStructuralSurfaceMemberVarying))
|
|
|
+ SUBTYPE OF (IfcStructuralMember);
|
|
|
+ PredefinedType : IfcStructuralSurfaceMemberTypeEnum;
|
|
|
+ Thickness : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ HasObjectType : (PredefinedType <> IfcStructuralSurfaceMemberTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralSurfaceMemberVarying
|
|
|
+ SUBTYPE OF (IfcStructuralSurfaceMember);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStructuralSurfaceReaction
|
|
|
+ SUBTYPE OF (IfcStructuralReaction);
|
|
|
+ PredefinedType : IfcStructuralSurfaceActivityTypeEnum;
|
|
|
+ WHERE
|
|
|
+ HasPredefinedType : (PredefinedType <> IfcStructuralSurfaceActivityTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStyleModel
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcStyledRepresentation))
|
|
|
+ SUBTYPE OF (IfcRepresentation);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStyledItem
|
|
|
+ SUBTYPE OF (IfcRepresentationItem);
|
|
|
+ Item : OPTIONAL IfcRepresentationItem;
|
|
|
+ Styles : SET [1:?] OF IfcStyleAssignmentSelect;
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ ApplicableItem : NOT('IFC4.IFCSTYLEDITEM' IN TYPEOF(Item));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcStyledRepresentation
|
|
|
+ SUBTYPE OF (IfcStyleModel);
|
|
|
+ WHERE
|
|
|
+ OnlyStyledItems : SIZEOF(QUERY(temp <* SELF\IfcRepresentation.Items |
|
|
|
+ (NOT('IFC4.IFCSTYLEDITEM' IN TYPEOF(temp)))
|
|
|
+)) = 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSubContractResource
|
|
|
+ SUBTYPE OF (IfcConstructionResource);
|
|
|
+ PredefinedType : OPTIONAL IfcSubContractResourceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcSubContractResourceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcSubContractResourceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSubContractResourceType
|
|
|
+ SUBTYPE OF (IfcConstructionResourceType);
|
|
|
+ PredefinedType : IfcSubContractResourceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcSubContractResourceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcSubContractResourceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeResource.ResourceType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSubedge
|
|
|
+ SUBTYPE OF (IfcEdge);
|
|
|
+ ParentEdge : IfcEdge;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurface
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBoundedSurface
|
|
|
+ ,IfcElementarySurface
|
|
|
+ ,IfcSweptSurface))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := 3;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurfaceCurve
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcIntersectionCurve
|
|
|
+ ,IfcSeamCurve))
|
|
|
+ SUBTYPE OF (IfcCurve);
|
|
|
+ Curve3D : IfcCurve;
|
|
|
+ AssociatedGeometry : LIST [1:2] OF IfcPcurve;
|
|
|
+ MasterRepresentation : IfcPreferredSurfaceCurveRepresentation;
|
|
|
+ DERIVE
|
|
|
+ BasisSurface : SET [1:2] OF IfcSurface := IfcGetBasisSurface(SELF);
|
|
|
+ WHERE
|
|
|
+ CurveIs3D : Curve3D.Dim = 3;
|
|
|
+ CurveIsNotPcurve : NOT ('IFC4.IFCPCURVE' IN TYPEOF(Curve3D));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurfaceCurveSweptAreaSolid
|
|
|
+ SUBTYPE OF (IfcSweptAreaSolid);
|
|
|
+ Directrix : IfcCurve;
|
|
|
+ StartParam : OPTIONAL IfcParameterValue;
|
|
|
+ EndParam : OPTIONAL IfcParameterValue;
|
|
|
+ ReferenceSurface : IfcSurface;
|
|
|
+ WHERE
|
|
|
+ DirectrixBounded : (EXISTS(StartParam) AND EXISTS(EndParam)) OR
|
|
|
+(SIZEOF(['IFC4.IFCCONIC', 'IFC4.IFCBOUNDEDCURVE'] * TYPEOF(Directrix)) = 1);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurfaceFeature
|
|
|
+ SUBTYPE OF (IfcFeatureElement);
|
|
|
+ PredefinedType : OPTIONAL IfcSurfaceFeatureTypeEnum;
|
|
|
+ WHERE
|
|
|
+ HasObjectType : NOT EXISTS(PredefinedType) OR (PredefinedType <> IfcSurfaceFeatureTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurfaceOfLinearExtrusion
|
|
|
+ SUBTYPE OF (IfcSweptSurface);
|
|
|
+ ExtrudedDirection : IfcDirection;
|
|
|
+ Depth : IfcLengthMeasure;
|
|
|
+ DERIVE
|
|
|
+ ExtrusionAxis : IfcVector := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector (ExtrudedDirection, Depth);
|
|
|
+ WHERE
|
|
|
+ DepthGreaterZero : Depth > 0.;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurfaceOfRevolution
|
|
|
+ SUBTYPE OF (IfcSweptSurface);
|
|
|
+ AxisPosition : IfcAxis1Placement;
|
|
|
+ DERIVE
|
|
|
+ AxisLine : IfcLine := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(AxisPosition.Location,
|
|
|
+ IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(AxisPosition.Z,1.0));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurfaceReinforcementArea
|
|
|
+ SUBTYPE OF (IfcStructuralLoadOrResult);
|
|
|
+ SurfaceReinforcement1 : OPTIONAL LIST [2:3] OF IfcLengthMeasure;
|
|
|
+ SurfaceReinforcement2 : OPTIONAL LIST [2:3] OF IfcLengthMeasure;
|
|
|
+ ShearReinforcement : OPTIONAL IfcRatioMeasure;
|
|
|
+ WHERE
|
|
|
+ SurfaceAndOrShearAreaSpecified : EXISTS(SurfaceReinforcement1) OR EXISTS(SurfaceReinforcement2) OR EXISTS(ShearReinforcement);
|
|
|
+ NonnegativeArea1 : (NOT EXISTS(SurfaceReinforcement1)) OR (
|
|
|
+ (SurfaceReinforcement1[1] >= 0.) AND
|
|
|
+ (SurfaceReinforcement1[2] >= 0.) AND
|
|
|
+ ((SIZEOF(SurfaceReinforcement1) = 1) OR (SurfaceReinforcement1[1] >= 0.))
|
|
|
+);
|
|
|
+ NonnegativeArea2 : (NOT EXISTS(SurfaceReinforcement2)) OR (
|
|
|
+ (SurfaceReinforcement2[1] >= 0.) AND
|
|
|
+ (SurfaceReinforcement2[2] >= 0.) AND
|
|
|
+ ((SIZEOF(SurfaceReinforcement2) = 1) OR (SurfaceReinforcement2[1] >= 0.))
|
|
|
+);
|
|
|
+ NonnegativeArea3 : (NOT EXISTS(ShearReinforcement)) OR (ShearReinforcement >= 0.);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurfaceStyle
|
|
|
+ SUBTYPE OF (IfcPresentationStyle);
|
|
|
+ Side : IfcSurfaceSide;
|
|
|
+ Styles : SET [1:5] OF IfcSurfaceStyleElementSelect;
|
|
|
+ WHERE
|
|
|
+ MaxOneShading : SIZEOF(QUERY(Style <* SELF.Styles |
|
|
|
+ 'IFC4.IFCSURFACESTYLESHADING' IN
|
|
|
+ TYPEOF(Style)
|
|
|
+ )) <= 1;
|
|
|
+ MaxOneLighting : SIZEOF(QUERY(Style <* SELF.Styles |
|
|
|
+ 'IFC4.IFCSURFACESTYLELIGHTING' IN
|
|
|
+ TYPEOF(Style)
|
|
|
+ )) <= 1;
|
|
|
+ MaxOneRefraction : SIZEOF(QUERY(Style <* SELF.Styles |
|
|
|
+ 'IFC4.IFCSURFACESTYLEREFRACTION' IN
|
|
|
+ TYPEOF(Style)
|
|
|
+ )) <= 1;
|
|
|
+ MaxOneTextures : SIZEOF(QUERY(Style <* SELF.Styles |
|
|
|
+ 'IFC4.IFCSURFACESTYLEWITHTEXTURES' IN
|
|
|
+ TYPEOF(Style)
|
|
|
+ )) <= 1;
|
|
|
+ MaxOneExtDefined : SIZEOF(QUERY(Style <* SELF.Styles |
|
|
|
+ 'IFC4.IFCEXTERNALLYDEFINEDSURFACESTYLE' IN
|
|
|
+ TYPEOF(Style)
|
|
|
+ )) <= 1;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurfaceStyleLighting
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ DiffuseTransmissionColour : IfcColourRgb;
|
|
|
+ DiffuseReflectionColour : IfcColourRgb;
|
|
|
+ TransmissionColour : IfcColourRgb;
|
|
|
+ ReflectanceColour : IfcColourRgb;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurfaceStyleRefraction
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ RefractionIndex : OPTIONAL IfcReal;
|
|
|
+ DispersionFactor : OPTIONAL IfcReal;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurfaceStyleRendering
|
|
|
+ SUBTYPE OF (IfcSurfaceStyleShading);
|
|
|
+ DiffuseColour : OPTIONAL IfcColourOrFactor;
|
|
|
+ TransmissionColour : OPTIONAL IfcColourOrFactor;
|
|
|
+ DiffuseTransmissionColour : OPTIONAL IfcColourOrFactor;
|
|
|
+ ReflectionColour : OPTIONAL IfcColourOrFactor;
|
|
|
+ SpecularColour : OPTIONAL IfcColourOrFactor;
|
|
|
+ SpecularHighlight : OPTIONAL IfcSpecularHighlightSelect;
|
|
|
+ ReflectanceMethod : IfcReflectanceMethodEnum;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurfaceStyleShading
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcSurfaceStyleRendering))
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ SurfaceColour : IfcColourRgb;
|
|
|
+ Transparency : OPTIONAL IfcNormalisedRatioMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurfaceStyleWithTextures
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ Textures : LIST [1:?] OF IfcSurfaceTexture;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSurfaceTexture
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBlobTexture
|
|
|
+ ,IfcImageTexture
|
|
|
+ ,IfcPixelTexture))
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ RepeatS : IfcBoolean;
|
|
|
+ RepeatT : IfcBoolean;
|
|
|
+ Mode : OPTIONAL IfcIdentifier;
|
|
|
+ TextureTransform : OPTIONAL IfcCartesianTransformationOperator2D;
|
|
|
+ Parameter : OPTIONAL LIST [1:?] OF IfcIdentifier;
|
|
|
+ INVERSE
|
|
|
+ IsMappedBy : SET [0:?] OF IfcTextureCoordinate FOR Maps;
|
|
|
+ UsedInStyles : SET [0:?] OF IfcSurfaceStyleWithTextures FOR Textures;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSweptAreaSolid
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcExtrudedAreaSolid
|
|
|
+ ,IfcFixedReferenceSweptAreaSolid
|
|
|
+ ,IfcRevolvedAreaSolid
|
|
|
+ ,IfcSurfaceCurveSweptAreaSolid))
|
|
|
+ SUBTYPE OF (IfcSolidModel);
|
|
|
+ SweptArea : IfcProfileDef;
|
|
|
+ Position : OPTIONAL IfcAxis2Placement3D;
|
|
|
+ WHERE
|
|
|
+ SweptAreaType : SweptArea.ProfileType = IfcProfileTypeEnum.Area;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSweptDiskSolid
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcSweptDiskSolidPolygonal))
|
|
|
+ SUBTYPE OF (IfcSolidModel);
|
|
|
+ Directrix : IfcCurve;
|
|
|
+ Radius : IfcPositiveLengthMeasure;
|
|
|
+ InnerRadius : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ StartParam : OPTIONAL IfcParameterValue;
|
|
|
+ EndParam : OPTIONAL IfcParameterValue;
|
|
|
+ WHERE
|
|
|
+ DirectrixDim : Directrix.Dim = 3;
|
|
|
+ InnerRadiusSize : (NOT EXISTS(InnerRadius)) OR (Radius > InnerRadius);
|
|
|
+ DirectrixBounded : (EXISTS(StartParam) AND EXISTS(EndParam)) OR
|
|
|
+(SIZEOF(['IFC4.IFCCONIC', 'IFC4.IFCBOUNDEDCURVE'] * TYPEOF(Directrix)) = 1);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSweptDiskSolidPolygonal
|
|
|
+ SUBTYPE OF (IfcSweptDiskSolid);
|
|
|
+ FilletRadius : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ CorrectRadii : NOT(EXISTS(FilletRadius)) OR (FilletRadius >= SELF\IfcSweptDiskSolid.Radius);
|
|
|
+ DirectrixIsPolyline : ('IFC4.IFCPOLYLINE' IN TYPEOF(SELF\IfcSweptDiskSolid.Directrix)) OR
|
|
|
+(('IFC4.IFCINDEXEDPOLYCURVE' IN TYPEOF(SELF\IfcSweptDiskSolid.Directrix)) AND NOT(EXISTS(SELF\IfcSweptDiskSolid.Directrix.Segments)));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSweptSurface
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcSurfaceOfLinearExtrusion
|
|
|
+ ,IfcSurfaceOfRevolution))
|
|
|
+ SUBTYPE OF (IfcSurface);
|
|
|
+ SweptCurve : IfcProfileDef;
|
|
|
+ Position : OPTIONAL IfcAxis2Placement3D;
|
|
|
+ WHERE
|
|
|
+ SweptCurveType : SweptCurve.ProfileType = IfcProfileTypeEnum.Curve;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSwitchingDevice
|
|
|
+ SUBTYPE OF (IfcFlowController);
|
|
|
+ PredefinedType : OPTIONAL IfcSwitchingDeviceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcSwitchingDeviceTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcSwitchingDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCSWITCHINGDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSwitchingDeviceType
|
|
|
+ SUBTYPE OF (IfcFlowControllerType);
|
|
|
+ PredefinedType : IfcSwitchingDeviceTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcSwitchingDeviceTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcSwitchingDeviceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSystem
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcBuildingSystem
|
|
|
+ ,IfcDistributionSystem
|
|
|
+ ,IfcStructuralAnalysisModel
|
|
|
+ ,IfcZone))
|
|
|
+ SUBTYPE OF (IfcGroup);
|
|
|
+ INVERSE
|
|
|
+ ServicesBuildings : SET [0:1] OF IfcRelServicesBuildings FOR RelatingSystem;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSystemFurnitureElement
|
|
|
+ SUBTYPE OF (IfcFurnishingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcSystemFurnitureElementTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcSystemFurnitureElementTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcSystemFurnitureElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCSYSTEMFURNITUREELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcSystemFurnitureElementType
|
|
|
+ SUBTYPE OF (IfcFurnishingElementType);
|
|
|
+ PredefinedType : OPTIONAL IfcSystemFurnitureElementTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcSystemFurnitureElementTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcSystemFurnitureElementTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTShapeProfileDef
|
|
|
+ SUBTYPE OF (IfcParameterizedProfileDef);
|
|
|
+ Depth : IfcPositiveLengthMeasure;
|
|
|
+ FlangeWidth : IfcPositiveLengthMeasure;
|
|
|
+ WebThickness : IfcPositiveLengthMeasure;
|
|
|
+ FlangeThickness : IfcPositiveLengthMeasure;
|
|
|
+ FilletRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ FlangeEdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ WebEdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ WebSlope : OPTIONAL IfcPlaneAngleMeasure;
|
|
|
+ FlangeSlope : OPTIONAL IfcPlaneAngleMeasure;
|
|
|
+ WHERE
|
|
|
+ ValidFlangeThickness : FlangeThickness < Depth;
|
|
|
+ ValidWebThickness : WebThickness < FlangeWidth;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTable;
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ Rows : OPTIONAL LIST [1:?] OF IfcTableRow;
|
|
|
+ Columns : OPTIONAL LIST [1:?] OF IfcTableColumn;
|
|
|
+ DERIVE
|
|
|
+ NumberOfCellsInRow : IfcInteger := HIINDEX(Rows[1].RowCells);
|
|
|
+ NumberOfHeadings : IfcInteger := SIZEOF(QUERY( Temp <* Rows | Temp.IsHeading));
|
|
|
+ NumberOfDataRows : IfcInteger := SIZEOF(QUERY( Temp <* Rows | NOT(Temp.IsHeading)));
|
|
|
+ WHERE
|
|
|
+ WR1 : SIZEOF(QUERY( Temp <* Rows | HIINDEX(Temp.RowCells) <> HIINDEX(Rows[1].RowCells))) = 0;
|
|
|
+ WR2 : { 0 <= NumberOfHeadings <= 1 };
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTableColumn;
|
|
|
+ Identifier : OPTIONAL IfcIdentifier;
|
|
|
+ Name : OPTIONAL IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ Unit : OPTIONAL IfcUnit;
|
|
|
+ ReferencePath : OPTIONAL IfcReference;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTableRow;
|
|
|
+ RowCells : OPTIONAL LIST [1:?] OF IfcValue;
|
|
|
+ IsHeading : OPTIONAL IfcBoolean;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTank
|
|
|
+ SUBTYPE OF (IfcFlowStorageDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcTankTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcTankTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcTankTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCTANKTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTankType
|
|
|
+ SUBTYPE OF (IfcFlowStorageDeviceType);
|
|
|
+ PredefinedType : IfcTankTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcTankTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcTankTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTask
|
|
|
+ SUBTYPE OF (IfcProcess);
|
|
|
+ Status : OPTIONAL IfcLabel;
|
|
|
+ WorkMethod : OPTIONAL IfcLabel;
|
|
|
+ IsMilestone : IfcBoolean;
|
|
|
+ Priority : OPTIONAL IfcInteger;
|
|
|
+ TaskTime : OPTIONAL IfcTaskTime;
|
|
|
+ PredefinedType : OPTIONAL IfcTaskTypeEnum;
|
|
|
+ WHERE
|
|
|
+ HasName : EXISTS(SELF\IfcRoot.Name);
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcTaskTypeEnum.USERDEFINED) OR ((PredefinedType = IfcTaskTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTaskTime
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcTaskTimeRecurring))
|
|
|
+ SUBTYPE OF (IfcSchedulingTime);
|
|
|
+ DurationType : OPTIONAL IfcTaskDurationEnum;
|
|
|
+ ScheduleDuration : OPTIONAL IfcDuration;
|
|
|
+ ScheduleStart : OPTIONAL IfcDateTime;
|
|
|
+ ScheduleFinish : OPTIONAL IfcDateTime;
|
|
|
+ EarlyStart : OPTIONAL IfcDateTime;
|
|
|
+ EarlyFinish : OPTIONAL IfcDateTime;
|
|
|
+ LateStart : OPTIONAL IfcDateTime;
|
|
|
+ LateFinish : OPTIONAL IfcDateTime;
|
|
|
+ FreeFloat : OPTIONAL IfcDuration;
|
|
|
+ TotalFloat : OPTIONAL IfcDuration;
|
|
|
+ IsCritical : OPTIONAL IfcBoolean;
|
|
|
+ StatusTime : OPTIONAL IfcDateTime;
|
|
|
+ ActualDuration : OPTIONAL IfcDuration;
|
|
|
+ ActualStart : OPTIONAL IfcDateTime;
|
|
|
+ ActualFinish : OPTIONAL IfcDateTime;
|
|
|
+ RemainingTime : OPTIONAL IfcDuration;
|
|
|
+ Completion : OPTIONAL IfcPositiveRatioMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTaskTimeRecurring
|
|
|
+ SUBTYPE OF (IfcTaskTime);
|
|
|
+ Recurrence : IfcRecurrencePattern;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTaskType
|
|
|
+ SUBTYPE OF (IfcTypeProcess);
|
|
|
+ PredefinedType : IfcTaskTypeEnum;
|
|
|
+ WorkMethod : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcTaskTypeEnum.USERDEFINED) OR ((PredefinedType = IfcTaskTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeProcess.ProcessType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTelecomAddress
|
|
|
+ SUBTYPE OF (IfcAddress);
|
|
|
+ TelephoneNumbers : OPTIONAL LIST [1:?] OF IfcLabel;
|
|
|
+ FacsimileNumbers : OPTIONAL LIST [1:?] OF IfcLabel;
|
|
|
+ PagerNumber : OPTIONAL IfcLabel;
|
|
|
+ ElectronicMailAddresses : OPTIONAL LIST [1:?] OF IfcLabel;
|
|
|
+ WWWHomePageURL : OPTIONAL IfcURIReference;
|
|
|
+ MessagingIDs : OPTIONAL LIST [1:?] OF IfcURIReference;
|
|
|
+ WHERE
|
|
|
+ MinimumDataProvided : EXISTS (TelephoneNumbers) OR
|
|
|
+EXISTS (FacsimileNumbers) OR
|
|
|
+EXISTS (PagerNumber) OR
|
|
|
+EXISTS (ElectronicMailAddresses) OR
|
|
|
+EXISTS (WWWHomePageURL) OR
|
|
|
+EXISTS (MessagingIDs);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTendon
|
|
|
+ SUBTYPE OF (IfcReinforcingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcTendonTypeEnum;
|
|
|
+ NominalDiameter : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ CrossSectionArea : OPTIONAL IfcAreaMeasure;
|
|
|
+ TensionForce : OPTIONAL IfcForceMeasure;
|
|
|
+ PreStress : OPTIONAL IfcPressureMeasure;
|
|
|
+ FrictionCoefficient : OPTIONAL IfcNormalisedRatioMeasure;
|
|
|
+ AnchorageSlip : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ MinCurvatureRadius : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+(PredefinedType <> IfcTendonTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcTendonTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCTENDONTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTendonAnchor
|
|
|
+ SUBTYPE OF (IfcReinforcingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcTendonAnchorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+(PredefinedType <> IfcTendonAnchorTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcTendonAnchorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCTENDONANCHORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTendonAnchorType
|
|
|
+ SUBTYPE OF (IfcReinforcingElementType);
|
|
|
+ PredefinedType : IfcTendonAnchorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcTendonAnchorTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcTendonAnchorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTendonType
|
|
|
+ SUBTYPE OF (IfcReinforcingElementType);
|
|
|
+ PredefinedType : IfcTendonTypeEnum;
|
|
|
+ NominalDiameter : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ CrossSectionArea : OPTIONAL IfcAreaMeasure;
|
|
|
+ SheathDiameter : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcTendonTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcTendonTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTessellatedFaceSet
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcPolygonalFaceSet
|
|
|
+ ,IfcTriangulatedFaceSet))
|
|
|
+ SUBTYPE OF (IfcTessellatedItem);
|
|
|
+ Coordinates : IfcCartesianPointList3D;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := 3;
|
|
|
+ INVERSE
|
|
|
+ HasColours : SET [0:1] OF IfcIndexedColourMap FOR MappedTo;
|
|
|
+ HasTextures : SET [0:?] OF IfcIndexedTextureMap FOR MappedTo;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTessellatedItem
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcIndexedPolygonalFace
|
|
|
+ ,IfcTessellatedFaceSet))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTextLiteral
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcTextLiteralWithExtent))
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ Literal : IfcPresentableText;
|
|
|
+ Placement : IfcAxis2Placement;
|
|
|
+ Path : IfcTextPath;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTextLiteralWithExtent
|
|
|
+ SUBTYPE OF (IfcTextLiteral);
|
|
|
+ Extent : IfcPlanarExtent;
|
|
|
+ BoxAlignment : IfcBoxAlignment;
|
|
|
+ WHERE
|
|
|
+ WR31 : NOT('IFC4.IFCPLANARBOX' IN TYPEOF(Extent));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTextStyle
|
|
|
+ SUBTYPE OF (IfcPresentationStyle);
|
|
|
+ TextCharacterAppearance : OPTIONAL IfcTextStyleForDefinedFont;
|
|
|
+ TextStyle : OPTIONAL IfcTextStyleTextModel;
|
|
|
+ TextFontStyle : IfcTextFontSelect;
|
|
|
+ ModelOrDraughting : OPTIONAL IfcBoolean;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTextStyleFontModel
|
|
|
+ SUBTYPE OF (IfcPreDefinedTextFont);
|
|
|
+ FontFamily : LIST [1:?] OF IfcTextFontName;
|
|
|
+ FontStyle : OPTIONAL IfcFontStyle;
|
|
|
+ FontVariant : OPTIONAL IfcFontVariant;
|
|
|
+ FontWeight : OPTIONAL IfcFontWeight;
|
|
|
+ FontSize : IfcSizeSelect;
|
|
|
+ WHERE
|
|
|
+ MeasureOfFontSize : ('IFC4.IFCLENGTHMEASURE' IN TYPEOF(SELF.FontSize)) AND
|
|
|
+(SELF.FontSize > 0.);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTextStyleForDefinedFont
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ Colour : IfcColour;
|
|
|
+ BackgroundColour : OPTIONAL IfcColour;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTextStyleTextModel
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ TextIndent : OPTIONAL IfcSizeSelect;
|
|
|
+ TextAlign : OPTIONAL IfcTextAlignment;
|
|
|
+ TextDecoration : OPTIONAL IfcTextDecoration;
|
|
|
+ LetterSpacing : OPTIONAL IfcSizeSelect;
|
|
|
+ WordSpacing : OPTIONAL IfcSizeSelect;
|
|
|
+ TextTransform : OPTIONAL IfcTextTransformation;
|
|
|
+ LineHeight : OPTIONAL IfcSizeSelect;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTextureCoordinate
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcIndexedTextureMap
|
|
|
+ ,IfcTextureCoordinateGenerator
|
|
|
+ ,IfcTextureMap))
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ Maps : LIST [1:?] OF IfcSurfaceTexture;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTextureCoordinateGenerator
|
|
|
+ SUBTYPE OF (IfcTextureCoordinate);
|
|
|
+ Mode : IfcLabel;
|
|
|
+ Parameter : OPTIONAL LIST [1:?] OF IfcReal;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTextureMap
|
|
|
+ SUBTYPE OF (IfcTextureCoordinate);
|
|
|
+ Vertices : LIST [3:?] OF IfcTextureVertex;
|
|
|
+ MappedTo : IfcFace;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTextureVertex
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ Coordinates : LIST [2:2] OF IfcParameterValue;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTextureVertexList
|
|
|
+ SUBTYPE OF (IfcPresentationItem);
|
|
|
+ TexCoordsList : LIST [1:?] OF LIST [2:2] OF IfcParameterValue;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTimePeriod;
|
|
|
+ StartTime : IfcTime;
|
|
|
+ EndTime : IfcTime;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTimeSeries
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcIrregularTimeSeries
|
|
|
+ ,IfcRegularTimeSeries));
|
|
|
+ Name : IfcLabel;
|
|
|
+ Description : OPTIONAL IfcText;
|
|
|
+ StartTime : IfcDateTime;
|
|
|
+ EndTime : IfcDateTime;
|
|
|
+ TimeSeriesDataType : IfcTimeSeriesDataTypeEnum;
|
|
|
+ DataOrigin : IfcDataOriginEnum;
|
|
|
+ UserDefinedDataOrigin : OPTIONAL IfcLabel;
|
|
|
+ Unit : OPTIONAL IfcUnit;
|
|
|
+ INVERSE
|
|
|
+ HasExternalReference : SET [1:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTimeSeriesValue;
|
|
|
+ ListValues : LIST [1:?] OF IfcValue;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTopologicalRepresentationItem
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcConnectedFaceSet
|
|
|
+ ,IfcEdge
|
|
|
+ ,IfcFace
|
|
|
+ ,IfcFaceBound
|
|
|
+ ,IfcLoop
|
|
|
+ ,IfcPath
|
|
|
+ ,IfcVertex))
|
|
|
+ SUBTYPE OF (IfcRepresentationItem);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTopologyRepresentation
|
|
|
+ SUBTYPE OF (IfcShapeModel);
|
|
|
+ WHERE
|
|
|
+ WR21 : SIZEOF(QUERY(temp <* SELF\IfcRepresentation.Items |
|
|
|
+ NOT('IFC4.IFCTOPOLOGICALREPRESENTATIONITEM' IN TYPEOF(temp))
|
|
|
+)) = 0;
|
|
|
+ WR22 : EXISTS(SELF\IfcRepresentation.RepresentationType);
|
|
|
+ WR23 : IfcTopologyRepresentationTypes(SELF\IfcRepresentation.RepresentationType, SELF\IfcRepresentation.Items);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcToroidalSurface
|
|
|
+ SUBTYPE OF (IfcElementarySurface);
|
|
|
+ MajorRadius : IfcPositiveLengthMeasure;
|
|
|
+ MinorRadius : IfcPositiveLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ MajorLargerMinor : MinorRadius < MajorRadius;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTransformer
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcTransformerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcTransformerTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcTransformerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCTRANFORMERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTransformerType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcTransformerTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcTransformerTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcTransformerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTransportElement
|
|
|
+ SUBTYPE OF (IfcElement);
|
|
|
+ PredefinedType : OPTIONAL IfcTransportElementTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcTransportElementTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcTransportElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCTRANSPORTELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTransportElementType
|
|
|
+ SUBTYPE OF (IfcElementType);
|
|
|
+ PredefinedType : IfcTransportElementTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcTransportElementTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcTransportElementTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTrapeziumProfileDef
|
|
|
+ SUBTYPE OF (IfcParameterizedProfileDef);
|
|
|
+ BottomXDim : IfcPositiveLengthMeasure;
|
|
|
+ TopXDim : IfcPositiveLengthMeasure;
|
|
|
+ YDim : IfcPositiveLengthMeasure;
|
|
|
+ TopXOffset : IfcLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTriangulatedFaceSet
|
|
|
+ SUBTYPE OF (IfcTessellatedFaceSet);
|
|
|
+ Normals : OPTIONAL LIST [1:?] OF LIST [3:3] OF IfcParameterValue;
|
|
|
+ Closed : OPTIONAL IfcBoolean;
|
|
|
+ CoordIndex : LIST [1:?] OF LIST [3:3] OF IfcPositiveInteger;
|
|
|
+ PnIndex : OPTIONAL LIST [1:?] OF IfcPositiveInteger;
|
|
|
+ DERIVE
|
|
|
+ NumberOfTriangles : IfcInteger := SIZEOF(CoordIndex);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTrimmedCurve
|
|
|
+ SUBTYPE OF (IfcBoundedCurve);
|
|
|
+ BasisCurve : IfcCurve;
|
|
|
+ Trim1 : SET [1:2] OF IfcTrimmingSelect;
|
|
|
+ Trim2 : SET [1:2] OF IfcTrimmingSelect;
|
|
|
+ SenseAgreement : IfcBoolean;
|
|
|
+ MasterRepresentation : IfcTrimmingPreference;
|
|
|
+ WHERE
|
|
|
+ Trim1ValuesConsistent : (HIINDEX(Trim1) = 1) OR (TYPEOF(Trim1[1]) <> TYPEOF(Trim1[2]));
|
|
|
+ Trim2ValuesConsistent : (HIINDEX(Trim2) = 1) OR (TYPEOF(Trim2[1]) <> TYPEOF(Trim2[2]));
|
|
|
+ NoTrimOfBoundedCurves : NOT('IFC4.IFCBOUNDEDCURVE' IN TYPEOF(BasisCurve));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTubeBundle
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcTubeBundleTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcTubeBundleTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcTubeBundleTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCTUBEBUNDLETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTubeBundleType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcTubeBundleTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcTubeBundleTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcTubeBundleTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTypeObject
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcTypeProcess
|
|
|
+ ,IfcTypeProduct
|
|
|
+ ,IfcTypeResource))
|
|
|
+ SUBTYPE OF (IfcObjectDefinition);
|
|
|
+ ApplicableOccurrence : OPTIONAL IfcIdentifier;
|
|
|
+ HasPropertySets : OPTIONAL SET [1:?] OF IfcPropertySetDefinition;
|
|
|
+ INVERSE
|
|
|
+ Types : SET [0:1] OF IfcRelDefinesByType FOR RelatingType;
|
|
|
+ WHERE
|
|
|
+ NameRequired : EXISTS(SELF\IfcRoot.Name);
|
|
|
+ UniquePropertySetNames : (NOT(EXISTS(HasPropertySets))) OR IfcUniquePropertySetNames(HasPropertySets);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTypeProcess
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcEventType
|
|
|
+ ,IfcProcedureType
|
|
|
+ ,IfcTaskType))
|
|
|
+ SUBTYPE OF (IfcTypeObject);
|
|
|
+ Identification : OPTIONAL IfcIdentifier;
|
|
|
+ LongDescription : OPTIONAL IfcText;
|
|
|
+ ProcessType : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ OperatesOn : SET [0:?] OF IfcRelAssignsToProcess FOR RelatingProcess;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTypeProduct
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcDoorStyle
|
|
|
+ ,IfcElementType
|
|
|
+ ,IfcSpatialElementType
|
|
|
+ ,IfcWindowStyle))
|
|
|
+ SUBTYPE OF (IfcTypeObject);
|
|
|
+ RepresentationMaps : OPTIONAL LIST [1:?] OF UNIQUE IfcRepresentationMap;
|
|
|
+ Tag : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ ReferencedBy : SET [0:?] OF IfcRelAssignsToProduct FOR RelatingProduct;
|
|
|
+ WHERE
|
|
|
+ ApplicableOccurrence : NOT(EXISTS(SELF\IfcTypeObject.Types[1])) OR
|
|
|
+(SIZEOF(QUERY(temp <* SELF\IfcTypeObject.Types[1].RelatedObjects |
|
|
|
+ NOT('IFC4.IFCPRODUCT' IN TYPEOF(temp)))
|
|
|
+) = 0);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcTypeResource
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcConstructionResourceType))
|
|
|
+ SUBTYPE OF (IfcTypeObject);
|
|
|
+ Identification : OPTIONAL IfcIdentifier;
|
|
|
+ LongDescription : OPTIONAL IfcText;
|
|
|
+ ResourceType : OPTIONAL IfcLabel;
|
|
|
+ INVERSE
|
|
|
+ ResourceOf : SET [0:?] OF IfcRelAssignsToResource FOR RelatingResource;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcUShapeProfileDef
|
|
|
+ SUBTYPE OF (IfcParameterizedProfileDef);
|
|
|
+ Depth : IfcPositiveLengthMeasure;
|
|
|
+ FlangeWidth : IfcPositiveLengthMeasure;
|
|
|
+ WebThickness : IfcPositiveLengthMeasure;
|
|
|
+ FlangeThickness : IfcPositiveLengthMeasure;
|
|
|
+ FilletRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ EdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ FlangeSlope : OPTIONAL IfcPlaneAngleMeasure;
|
|
|
+ WHERE
|
|
|
+ ValidFlangeThickness : FlangeThickness < (Depth / 2.);
|
|
|
+ ValidWebThickness : WebThickness < FlangeWidth;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcUnitAssignment;
|
|
|
+ Units : SET [1:?] OF IfcUnit;
|
|
|
+ WHERE
|
|
|
+ WR01 : IfcCorrectUnitAssignment(Units);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcUnitaryControlElement
|
|
|
+ SUBTYPE OF (IfcDistributionControlElement);
|
|
|
+ PredefinedType : OPTIONAL IfcUnitaryControlElementTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcUnitaryControlElementTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcUnitaryControlElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+('IFC4.IFCUNITARYCONTROLELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcUnitaryControlElementType
|
|
|
+ SUBTYPE OF (IfcDistributionControlElementType);
|
|
|
+ PredefinedType : IfcUnitaryControlElementTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcUnitaryControlElementTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcUnitaryControlElementTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcUnitaryEquipment
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDevice);
|
|
|
+ PredefinedType : OPTIONAL IfcUnitaryEquipmentTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcUnitaryEquipmentTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcUnitaryEquipmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCUNITARYEQUIPMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcUnitaryEquipmentType
|
|
|
+ SUBTYPE OF (IfcEnergyConversionDeviceType);
|
|
|
+ PredefinedType : IfcUnitaryEquipmentTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcUnitaryEquipmentTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcUnitaryEquipmentTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcValve
|
|
|
+ SUBTYPE OF (IfcFlowController);
|
|
|
+ PredefinedType : OPTIONAL IfcValveTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcValveTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcValveTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCVALVETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcValveType
|
|
|
+ SUBTYPE OF (IfcFlowControllerType);
|
|
|
+ PredefinedType : IfcValveTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcValveTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcValveTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcVector
|
|
|
+ SUBTYPE OF (IfcGeometricRepresentationItem);
|
|
|
+ Orientation : IfcDirection;
|
|
|
+ Magnitude : IfcLengthMeasure;
|
|
|
+ DERIVE
|
|
|
+ Dim : IfcDimensionCount := Orientation.Dim;
|
|
|
+ WHERE
|
|
|
+ MagGreaterOrEqualZero : Magnitude >= 0.0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcVertex
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcVertexPoint))
|
|
|
+ SUBTYPE OF (IfcTopologicalRepresentationItem);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcVertexLoop
|
|
|
+ SUBTYPE OF (IfcLoop);
|
|
|
+ LoopVertex : IfcVertex;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcVertexPoint
|
|
|
+ SUBTYPE OF (IfcVertex);
|
|
|
+ VertexGeometry : IfcPoint;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcVibrationIsolator
|
|
|
+ SUBTYPE OF (IfcElementComponent);
|
|
|
+ PredefinedType : OPTIONAL IfcVibrationIsolatorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcVibrationIsolatorTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcVibrationIsolatorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCVIBRATIONISOLATORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcVibrationIsolatorType
|
|
|
+ SUBTYPE OF (IfcElementComponentType);
|
|
|
+ PredefinedType : IfcVibrationIsolatorTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcVibrationIsolatorTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcVibrationIsolatorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcVirtualElement
|
|
|
+ SUBTYPE OF (IfcElement);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcVirtualGridIntersection;
|
|
|
+ IntersectingAxes : LIST [2:2] OF UNIQUE IfcGridAxis;
|
|
|
+ OffsetDistances : LIST [2:3] OF IfcLengthMeasure;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcVoidingFeature
|
|
|
+ SUBTYPE OF (IfcFeatureElementSubtraction);
|
|
|
+ PredefinedType : OPTIONAL IfcVoidingFeatureTypeEnum;
|
|
|
+ WHERE
|
|
|
+ HasObjectType : NOT EXISTS(PredefinedType) OR (PredefinedType <> IfcVoidingFeatureTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWall
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcWallElementedCase
|
|
|
+ ,IfcWallStandardCase))
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ PredefinedType : OPTIONAL IfcWallTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcWallTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcWallTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCWALLTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWallElementedCase
|
|
|
+ SUBTYPE OF (IfcWall);
|
|
|
+ WHERE
|
|
|
+ HasDecomposition : HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) > 0;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWallStandardCase
|
|
|
+ SUBTYPE OF (IfcWall);
|
|
|
+ WHERE
|
|
|
+ HasMaterialLayerSetUsage : SIZEOF (QUERY(temp <* USEDIN(SELF, 'IFC4.IFCRELASSOCIATES.RELATEDOBJECTS') |
|
|
|
+ ('IFC4.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp)) AND
|
|
|
+ ('IFC4.IFCMATERIALLAYERSETUSAGE' IN TYPEOF(temp.RelatingMaterial))
|
|
|
+ )) = 1;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWallType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcWallTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcWallTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcWallTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWasteTerminal
|
|
|
+ SUBTYPE OF (IfcFlowTerminal);
|
|
|
+ PredefinedType : OPTIONAL IfcWasteTerminalTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
|
|
|
+ (PredefinedType <> IfcWasteTerminalTypeEnum.USERDEFINED) OR
|
|
|
+ ((PredefinedType = IfcWasteTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
|
|
|
+ CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
|
|
|
+ ('IFC4.IFCWASTETERMINALTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWasteTerminalType
|
|
|
+ SUBTYPE OF (IfcFlowTerminalType);
|
|
|
+ PredefinedType : IfcWasteTerminalTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcWasteTerminalTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcWasteTerminalTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWindow
|
|
|
+ SUPERTYPE OF (ONEOF
|
|
|
+ (IfcWindowStandardCase))
|
|
|
+ SUBTYPE OF (IfcBuildingElement);
|
|
|
+ OverallHeight : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ OverallWidth : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ PredefinedType : OPTIONAL IfcWindowTypeEnum;
|
|
|
+ PartitioningType : OPTIONAL IfcWindowTypePartitioningEnum;
|
|
|
+ UserDefinedPartitioningType : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ CorrectStyleAssigned : (SIZEOF(IsTypedBy) = 0)
|
|
|
+OR ('IFC4.IFCWINDOWTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWindowLiningProperties
|
|
|
+ SUBTYPE OF (IfcPreDefinedPropertySet);
|
|
|
+ LiningDepth : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ LiningThickness : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ TransomThickness : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ MullionThickness : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ FirstTransomOffset : OPTIONAL IfcNormalisedRatioMeasure;
|
|
|
+ SecondTransomOffset : OPTIONAL IfcNormalisedRatioMeasure;
|
|
|
+ FirstMullionOffset : OPTIONAL IfcNormalisedRatioMeasure;
|
|
|
+ SecondMullionOffset : OPTIONAL IfcNormalisedRatioMeasure;
|
|
|
+ ShapeAspectStyle : OPTIONAL IfcShapeAspect;
|
|
|
+ LiningOffset : OPTIONAL IfcLengthMeasure;
|
|
|
+ LiningToPanelOffsetX : OPTIONAL IfcLengthMeasure;
|
|
|
+ LiningToPanelOffsetY : OPTIONAL IfcLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ WR31 : NOT(EXISTS(LiningDepth) AND NOT(EXISTS(LiningThickness)));
|
|
|
+ WR32 : NOT(NOT(EXISTS(FirstTransomOffset)) AND EXISTS(SecondTransomOffset));
|
|
|
+ WR33 : NOT(NOT(EXISTS(FirstMullionOffset)) AND EXISTS(SecondMullionOffset));
|
|
|
+ WR34 : (EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1]))
|
|
|
+AND
|
|
|
+(
|
|
|
+ ('IFC4.IFCWINDOWTYPE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1]))
|
|
|
+ OR
|
|
|
+ ('IFC4.IFCWINDOWSTYLE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1]))
|
|
|
+);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWindowPanelProperties
|
|
|
+ SUBTYPE OF (IfcPreDefinedPropertySet);
|
|
|
+ OperationType : IfcWindowPanelOperationEnum;
|
|
|
+ PanelPosition : IfcWindowPanelPositionEnum;
|
|
|
+ FrameDepth : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ FrameThickness : OPTIONAL IfcPositiveLengthMeasure;
|
|
|
+ ShapeAspectStyle : OPTIONAL IfcShapeAspect;
|
|
|
+ WHERE
|
|
|
+ ApplicableToType : (EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1]))
|
|
|
+AND
|
|
|
+(
|
|
|
+ ('IFC4.IFCWINDOWTYPE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1]))
|
|
|
+ OR
|
|
|
+ ('IFC4.IFCWINDOWSTYLE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1]))
|
|
|
+);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWindowStandardCase
|
|
|
+ SUBTYPE OF (IfcWindow);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWindowStyle
|
|
|
+ SUBTYPE OF (IfcTypeProduct);
|
|
|
+ ConstructionType : IfcWindowStyleConstructionEnum;
|
|
|
+ OperationType : IfcWindowStyleOperationEnum;
|
|
|
+ ParameterTakesPrecedence : IfcBoolean;
|
|
|
+ Sizeable : IfcBoolean;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWindowType
|
|
|
+ SUBTYPE OF (IfcBuildingElementType);
|
|
|
+ PredefinedType : IfcWindowTypeEnum;
|
|
|
+ PartitioningType : IfcWindowTypePartitioningEnum;
|
|
|
+ ParameterTakesPrecedence : OPTIONAL IfcBoolean;
|
|
|
+ UserDefinedPartitioningType : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : (PredefinedType <> IfcWindowTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcWindowTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWorkCalendar
|
|
|
+ SUBTYPE OF (IfcControl);
|
|
|
+ WorkingTimes : OPTIONAL SET [1:?] OF IfcWorkTime;
|
|
|
+ ExceptionTimes : OPTIONAL SET [1:?] OF IfcWorkTime;
|
|
|
+ PredefinedType : OPTIONAL IfcWorkCalendarTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcWorkCalendarTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcWorkCalendarTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWorkControl
|
|
|
+ ABSTRACT SUPERTYPE OF (ONEOF
|
|
|
+ (IfcWorkPlan
|
|
|
+ ,IfcWorkSchedule))
|
|
|
+ SUBTYPE OF (IfcControl);
|
|
|
+ CreationDate : IfcDateTime;
|
|
|
+ Creators : OPTIONAL SET [1:?] OF IfcPerson;
|
|
|
+ Purpose : OPTIONAL IfcLabel;
|
|
|
+ Duration : OPTIONAL IfcDuration;
|
|
|
+ TotalFloat : OPTIONAL IfcDuration;
|
|
|
+ StartTime : IfcDateTime;
|
|
|
+ FinishTime : OPTIONAL IfcDateTime;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWorkPlan
|
|
|
+ SUBTYPE OF (IfcWorkControl);
|
|
|
+ PredefinedType : OPTIONAL IfcWorkPlanTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcWorkPlanTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcWorkPlanTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWorkSchedule
|
|
|
+ SUBTYPE OF (IfcWorkControl);
|
|
|
+ PredefinedType : OPTIONAL IfcWorkScheduleTypeEnum;
|
|
|
+ WHERE
|
|
|
+ CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcWorkScheduleTypeEnum.USERDEFINED) OR
|
|
|
+((PredefinedType = IfcWorkScheduleTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcWorkTime
|
|
|
+ SUBTYPE OF (IfcSchedulingTime);
|
|
|
+ RecurrencePattern : OPTIONAL IfcRecurrencePattern;
|
|
|
+ Start : OPTIONAL IfcDate;
|
|
|
+ Finish : OPTIONAL IfcDate;
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcZShapeProfileDef
|
|
|
+ SUBTYPE OF (IfcParameterizedProfileDef);
|
|
|
+ Depth : IfcPositiveLengthMeasure;
|
|
|
+ FlangeWidth : IfcPositiveLengthMeasure;
|
|
|
+ WebThickness : IfcPositiveLengthMeasure;
|
|
|
+ FlangeThickness : IfcPositiveLengthMeasure;
|
|
|
+ FilletRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ EdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure;
|
|
|
+ WHERE
|
|
|
+ ValidFlangeThickness : FlangeThickness < (Depth / 2.);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+ENTITY IfcZone
|
|
|
+ SUBTYPE OF (IfcSystem);
|
|
|
+ LongName : OPTIONAL IfcLabel;
|
|
|
+ WHERE
|
|
|
+ WR1 : (SIZEOF(SELF\IfcGroup.IsGroupedBy) = 0) OR
|
|
|
+ (SIZEOF (QUERY (temp <* SELF\IfcGroup.IsGroupedBy[1].RelatedObjects |
|
|
|
+ NOT(('IFC4.IFCZONE' IN TYPEOF(temp)) OR
|
|
|
+ ('IFC4.IFCSPACE' IN TYPEOF(temp)) OR
|
|
|
+ ('IFC4.IFCSPATIALZONE' IN TYPEOF(temp))
|
|
|
+ ))) = 0);
|
|
|
+END_ENTITY;
|
|
|
+
|
|
|
+FUNCTION IfcAssociatedSurface
|
|
|
+(Arg : IfcPcurve) : IfcSurface;
|
|
|
+
|
|
|
+ LOCAL
|
|
|
+ Surf : IfcSurface;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ Surf := Arg\IfcPcurve.BasisSurface;
|
|
|
+
|
|
|
+ RETURN(Surf);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcBaseAxis
|
|
|
+(Dim : INTEGER;
|
|
|
+ Axis1, Axis2, Axis3 : IfcDirection)
|
|
|
+ : LIST [2:3] OF IfcDirection;
|
|
|
+
|
|
|
+LOCAL
|
|
|
+ U : LIST [2:3] OF IfcDirection;
|
|
|
+ Factor : REAL;
|
|
|
+ D1, D2 : IfcDirection;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+ IF (Dim = 3) THEN
|
|
|
+ D1 := NVL(IfcNormalise(Axis3), IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,0.0,1.0]));
|
|
|
+ D2 := IfcFirstProjAxis(D1, Axis1);
|
|
|
+ U := [D2, IfcSecondProjAxis(D1, D2, Axis2), D1];
|
|
|
+ ELSE
|
|
|
+ IF EXISTS(Axis1) THEN
|
|
|
+ D1 := IfcNormalise(Axis1);
|
|
|
+ U := [D1, IfcOrthogonalComplement(D1)];
|
|
|
+ IF EXISTS(Axis2) THEN
|
|
|
+ Factor := IfcDotProduct(Axis2, U[2]);
|
|
|
+ IF (Factor < 0.0) THEN
|
|
|
+ U[2].DirectionRatios[1] := -U[2].DirectionRatios[1];
|
|
|
+ U[2].DirectionRatios[2] := -U[2].DirectionRatios[2];
|
|
|
+ END_IF;
|
|
|
+ END_IF;
|
|
|
+ ELSE
|
|
|
+ IF EXISTS(Axis2) THEN
|
|
|
+ D1 := IfcNormalise(Axis2);
|
|
|
+ U := [IfcOrthogonalComplement(D1), D1];
|
|
|
+ U[1].DirectionRatios[1] := -U[1].DirectionRatios[1];
|
|
|
+ U[1].DirectionRatios[2] := -U[1].DirectionRatios[2];
|
|
|
+ ELSE
|
|
|
+ U := [IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.0, 0.0]),
|
|
|
+ IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0, 1.0])];
|
|
|
+ END_IF;
|
|
|
+ END_IF;
|
|
|
+ END_IF;
|
|
|
+ RETURN(U);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcBooleanChoose
|
|
|
+(B : BOOLEAN ;
|
|
|
+ Choice1, Choice2 : GENERIC : Item) : GENERIC : Item;
|
|
|
+ IF B THEN
|
|
|
+ RETURN (Choice1);
|
|
|
+ ELSE
|
|
|
+ RETURN (Choice2);
|
|
|
+ END_IF;
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcBuild2Axes
|
|
|
+(RefDirection : IfcDirection)
|
|
|
+ : LIST [2:2] OF IfcDirection;
|
|
|
+LOCAL
|
|
|
+ D : IfcDirection := NVL(IfcNormalise(RefDirection),
|
|
|
+ IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.0,0.0]));
|
|
|
+END_LOCAL;
|
|
|
+ RETURN([D, IfcOrthogonalComplement(D)]);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcBuildAxes
|
|
|
+(Axis, RefDirection : IfcDirection)
|
|
|
+ : LIST [3:3] OF IfcDirection;
|
|
|
+LOCAL
|
|
|
+ D1, D2 : IfcDirection;
|
|
|
+END_LOCAL;
|
|
|
+ D1 := NVL(IfcNormalise(Axis), IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,0.0,1.0]));
|
|
|
+ D2 := IfcFirstProjAxis(D1, RefDirection);
|
|
|
+ RETURN ([D2, IfcNormalise(IfcCrossProduct(D1,D2))\IfcVector.Orientation, D1]);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcConsecutiveSegments
|
|
|
+(Segments : LIST [1:?] OF IfcSegmentIndexSelect)
|
|
|
+ : BOOLEAN;
|
|
|
+
|
|
|
+ LOCAL
|
|
|
+ Result : BOOLEAN := TRUE;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ REPEAT i := 1 TO (HIINDEX(Segments)-1);
|
|
|
+ IF Segments[i][HIINDEX(Segments[i])] <> Segments[i+1][1] THEN
|
|
|
+ BEGIN
|
|
|
+ Result := FALSE;
|
|
|
+ ESCAPE;
|
|
|
+ END;
|
|
|
+ END_IF;
|
|
|
+ END_REPEAT;
|
|
|
+
|
|
|
+ RETURN (Result);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcConstraintsParamBSpline
|
|
|
+( Degree, UpKnots, UpCp : INTEGER;
|
|
|
+ KnotMult : LIST OF INTEGER;
|
|
|
+ Knots : LIST OF IfcParameterValue )
|
|
|
+: BOOLEAN;
|
|
|
+
|
|
|
+
|
|
|
+ LOCAL
|
|
|
+ Result : BOOLEAN := TRUE;
|
|
|
+ K, Sum : INTEGER;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ (* Find sum of knot multiplicities. *)
|
|
|
+ Sum := KnotMult[1];
|
|
|
+ REPEAT i := 2 TO UpKnots;
|
|
|
+ Sum := Sum + KnotMult[i];
|
|
|
+ END_REPEAT;
|
|
|
+
|
|
|
+ (* Check limits holding for all B-spline parametrisations *)
|
|
|
+ IF (Degree < 1) OR (UpKnots < 2) OR (UpCp < Degree) OR
|
|
|
+ (Sum <> (Degree + UpCp + 2)) THEN
|
|
|
+ Result := FALSE;
|
|
|
+ RETURN(Result);
|
|
|
+ END_IF;
|
|
|
+
|
|
|
+ K := KnotMult[1];
|
|
|
+ IF (K < 1) OR (K > Degree + 1) THEN
|
|
|
+ Result := FALSE;
|
|
|
+ RETURN(Result);
|
|
|
+ END_IF;
|
|
|
+
|
|
|
+ REPEAT i := 2 TO UpKnots;
|
|
|
+ IF (KnotMult[i] < 1) OR (Knots[i] <= Knots[i-1]) THEN
|
|
|
+ Result := FALSE;
|
|
|
+ RETURN(Result);
|
|
|
+ END_IF;
|
|
|
+ K := KnotMult[i];
|
|
|
+ IF (i < UpKnots) AND (K > Degree) THEN
|
|
|
+ Result := FALSE;
|
|
|
+ RETURN(Result);
|
|
|
+ END_IF;
|
|
|
+ IF (i = UpKnots) AND (K > Degree + 1) THEN
|
|
|
+ Result := FALSE;
|
|
|
+ RETURN(Result);
|
|
|
+ END_IF;
|
|
|
+ END_REPEAT;
|
|
|
+
|
|
|
+ RETURN(result);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcConvertDirectionInto2D
|
|
|
+(Direction : IfcDirection)
|
|
|
+ : IfcDirection;
|
|
|
+
|
|
|
+ LOCAL
|
|
|
+ Direction2D : IfcDirection := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.,1.]);
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ Direction2D.DirectionRatios[1] := Direction.DirectionRatios[1];
|
|
|
+ Direction2D.DirectionRatios[2] := Direction.DirectionRatios[2];
|
|
|
+
|
|
|
+ RETURN (Direction2D);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcCorrectDimensions
|
|
|
+(m : IfcUnitEnum; Dim : IfcDimensionalExponents) : LOGICAL;
|
|
|
+CASE m OF
|
|
|
+ LENGTHUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (1, 0, 0, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ MASSUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (0, 1, 0, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ TIMEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (0, 0, 1, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ ELECTRICCURRENTUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (0, 0, 0, 1, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ THERMODYNAMICTEMPERATUREUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (0, 0, 0, 0, 1, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ AMOUNTOFSUBSTANCEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 1, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ LUMINOUSINTENSITYUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 0, 1))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ PLANEANGLEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ SOLIDANGLEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ AREAUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (2, 0, 0, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ VOLUMEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (3, 0, 0, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+
|
|
|
+ ABSORBEDDOSEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (2, 0, -2, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ RADIOACTIVITYUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (0, 0, -1, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ ELECTRICCAPACITANCEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (-2, -1, 4, 2, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ DOSEEQUIVALENTUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (2, 0, -2, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ ELECTRICCHARGEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (0, 0, 1, 1, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ ELECTRICCONDUCTANCEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (-2, -1, 3, 2, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ ELECTRICVOLTAGEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (2, 1, -3, -1, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ ELECTRICRESISTANCEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (2, 1, -3, -2, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ ENERGYUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (2, 1, -2, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ FORCEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (1, 1, -2, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ FREQUENCYUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (0, 0, -1, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ INDUCTANCEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (2, 1, -2, -2, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ ILLUMINANCEUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (-2, 0, 0, 0, 0, 0, 1))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ LUMINOUSFLUXUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 0, 1))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ MAGNETICFLUXUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (2, 1, -2, -1, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ MAGNETICFLUXDENSITYUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (0, 1, -2, -1, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ POWERUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (2, 1, -3, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ PRESSUREUNIT : IF
|
|
|
+ Dim = (IfcDimensionalExponents (-1, 1, -2, 0, 0, 0, 0))
|
|
|
+ THEN RETURN(TRUE);
|
|
|
+ ELSE RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+
|
|
|
+ OTHERWISE :
|
|
|
+ RETURN (UNKNOWN);
|
|
|
+END_CASE;
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcCorrectFillAreaStyle
|
|
|
+(Styles : SET[1:?] OF IfcFillStyleSelect)
|
|
|
+ :LOGICAL;
|
|
|
+
|
|
|
+LOCAL
|
|
|
+ Hatching : INTEGER := 0;
|
|
|
+ Tiles : INTEGER := 0;
|
|
|
+ Colour : INTEGER := 0;
|
|
|
+ External : INTEGER := 0;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+
|
|
|
+External := SIZEOF(QUERY(Style <* Styles |
|
|
|
+ 'IFC4.IFCEXTERNALLYDEFINEDHATCHSTYLE' IN
|
|
|
+ TYPEOF(Style)));
|
|
|
+
|
|
|
+Hatching := SIZEOF(QUERY(Style <* Styles |
|
|
|
+ 'IFC4.IFCFILLAREASTYLEHATCHING' IN
|
|
|
+ TYPEOF(Style)));
|
|
|
+
|
|
|
+Tiles := SIZEOF(QUERY(Style <* Styles |
|
|
|
+ 'IFC4.IFCFILLAREASTYLETILES' IN
|
|
|
+ TYPEOF(Style)));
|
|
|
+
|
|
|
+Colour := SIZEOF(QUERY(Style <* Styles |
|
|
|
+ 'IFC4.IFCCOLOUR' IN
|
|
|
+ TYPEOF(Style)));
|
|
|
+
|
|
|
+
|
|
|
+IF (External > 1) THEN
|
|
|
+ RETURN (FALSE);
|
|
|
+END_IF;
|
|
|
+
|
|
|
+
|
|
|
+IF ((External = 1) AND ((Hatching > 0) OR (Tiles > 0) OR (Colour > 0))) THEN
|
|
|
+ RETURN (FALSE);
|
|
|
+END_IF;
|
|
|
+
|
|
|
+
|
|
|
+IF (Colour > 1) THEN
|
|
|
+ RETURN (FALSE);
|
|
|
+END_IF;
|
|
|
+
|
|
|
+IF ((Hatching > 0) AND (Tiles >0)) THEN
|
|
|
+ RETURN (FALSE);
|
|
|
+END_IF;
|
|
|
+
|
|
|
+RETURN(TRUE);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcCorrectLocalPlacement
|
|
|
+(AxisPlacement:IfcAxis2Placement;
|
|
|
+ RelPlacement : IfcObjectPlacement):LOGICAL;
|
|
|
+
|
|
|
+ IF (EXISTS(RelPlacement)) THEN
|
|
|
+ IF ('IFC4.IFCGRIDPLACEMENT' IN TYPEOF(RelPlacement)) THEN
|
|
|
+ RETURN(?);
|
|
|
+ END_IF;
|
|
|
+ IF ('IFC4.IFCLOCALPLACEMENT' IN TYPEOF(RelPlacement)) THEN
|
|
|
+ IF ('IFC4.IFCAXIS2PLACEMENT2D' IN TYPEOF(AxisPlacement)) THEN
|
|
|
+ RETURN(TRUE);
|
|
|
+ END_IF;
|
|
|
+ IF ('IFC4.IFCAXIS2PLACEMENT3D' IN TYPEOF(AxisPlacement)) THEN
|
|
|
+ IF (RelPlacement\IfcLocalPlacement.RelativePlacement.Dim = 3) THEN
|
|
|
+ RETURN(TRUE);
|
|
|
+ ELSE
|
|
|
+ RETURN(FALSE);
|
|
|
+ END_IF;
|
|
|
+ END_IF;
|
|
|
+ END_IF;
|
|
|
+ ELSE
|
|
|
+ RETURN(TRUE);
|
|
|
+ END_IF;
|
|
|
+ RETURN(?);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcCorrectObjectAssignment
|
|
|
+(Constraint: IfcObjectTypeEnum; Objects : SET[1:?] OF IfcObjectDefinition)
|
|
|
+ : LOGICAL ;
|
|
|
+
|
|
|
+LOCAL
|
|
|
+ Count : INTEGER := 0;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+ IF NOT(EXISTS(Constraint)) THEN
|
|
|
+ RETURN(TRUE);
|
|
|
+ END_IF;
|
|
|
+
|
|
|
+ CASE Constraint OF
|
|
|
+ IfcObjectTypeEnum.NOTDEFINED : RETURN(TRUE);
|
|
|
+ IfcObjectTypeEnum.PRODUCT :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC4.IFCPRODUCT' IN TYPEOF(temp))));
|
|
|
+ RETURN(Count = 0);
|
|
|
+ END;
|
|
|
+ IfcObjectTypeEnum.PROCESS :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC4.IFCPROCESS' IN TYPEOF(temp))));
|
|
|
+ RETURN(Count = 0);
|
|
|
+ END;
|
|
|
+ IfcObjectTypeEnum.CONTROL :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC4.IFCCONTROL' IN TYPEOF(temp))));
|
|
|
+ RETURN(Count = 0);
|
|
|
+ END;
|
|
|
+ IfcObjectTypeEnum.RESOURCE :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC4.IFCRESOURCE' IN TYPEOF(temp))));
|
|
|
+ RETURN(Count = 0);
|
|
|
+ END;
|
|
|
+ IfcObjectTypeEnum.ACTOR :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC4.IFCACTOR' IN TYPEOF(temp))));
|
|
|
+ RETURN(Count = 0);
|
|
|
+ END;
|
|
|
+ IfcObjectTypeEnum.GROUP :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC4.IFCGROUP' IN TYPEOF(temp))));
|
|
|
+ RETURN(Count = 0);
|
|
|
+ END;
|
|
|
+ IfcObjectTypeEnum.PROJECT :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC4.IFCPROJECT' IN TYPEOF(temp))));
|
|
|
+ RETURN(Count = 0);
|
|
|
+ END;
|
|
|
+ OTHERWISE : RETURN(?);
|
|
|
+ END_CASE;
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcCorrectUnitAssignment
|
|
|
+(Units : SET [1:?] OF IfcUnit)
|
|
|
+ : LOGICAL;
|
|
|
+
|
|
|
+ LOCAL
|
|
|
+ NamedUnitNumber : INTEGER := 0;
|
|
|
+ DerivedUnitNumber : INTEGER := 0;
|
|
|
+ MonetaryUnitNumber : INTEGER := 0;
|
|
|
+ NamedUnitNames : SET OF IfcUnitEnum := [];
|
|
|
+ DerivedUnitNames : SET OF IfcDerivedUnitEnum := [];
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ NamedUnitNumber := SIZEOF(QUERY(temp <* Units | ('IFC4.IFCNAMEDUNIT' IN TYPEOF(temp)) AND NOT(temp\IfcNamedUnit.UnitType = IfcUnitEnum.USERDEFINED)));
|
|
|
+ DerivedUnitNumber := SIZEOF(QUERY(temp <* Units | ('IFC4.IFCDERIVEDUNIT' IN TYPEOF(temp)) AND NOT(temp\IfcDerivedUnit.UnitType = IfcDerivedUnitEnum.USERDEFINED)));
|
|
|
+ MonetaryUnitNumber := SIZEOF(QUERY(temp <* Units | 'IFC4.IFCMONETARYUNIT' IN TYPEOF(temp)));
|
|
|
+
|
|
|
+ REPEAT i := 1 TO SIZEOF(Units);
|
|
|
+ IF (('IFC4.IFCNAMEDUNIT' IN TYPEOF(Units[i])) AND NOT(Units[i]\IfcNamedUnit.UnitType = IfcUnitEnum.USERDEFINED)) THEN
|
|
|
+ NamedUnitNames := NamedUnitNames + Units[i]\IfcNamedUnit.UnitType;
|
|
|
+ END_IF;
|
|
|
+ IF (('IFC4.IFCDERIVEDUNIT' IN TYPEOF(Units[i])) AND NOT(Units[i]\IfcDerivedUnit.UnitType = IfcDerivedUnitEnum.USERDEFINED)) THEN
|
|
|
+ DerivedUnitNames := DerivedUnitNames + Units[i]\IfcDerivedUnit.UnitType;
|
|
|
+ END_IF;
|
|
|
+ END_REPEAT;
|
|
|
+
|
|
|
+ RETURN((SIZEOF(NamedUnitNames) = NamedUnitNumber) AND (SIZEOF(DerivedUnitNames) = DerivedUnitNumber) AND (MonetaryUnitNumber <= 1));
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcCrossProduct
|
|
|
+(Arg1, Arg2 : IfcDirection)
|
|
|
+ : IfcVector;
|
|
|
+LOCAL
|
|
|
+ Mag : REAL;
|
|
|
+ Res : IfcDirection;
|
|
|
+ V1,V2 : LIST[3:3] OF REAL;
|
|
|
+ Result : IfcVector;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+ IF (NOT EXISTS (Arg1) OR (Arg1.Dim = 2)) OR (NOT EXISTS (Arg2) OR (Arg2.Dim = 2)) THEN
|
|
|
+ RETURN(?);
|
|
|
+ ELSE
|
|
|
+ BEGIN
|
|
|
+ V1 := IfcNormalise(Arg1)\IfcDirection.DirectionRatios;
|
|
|
+
|
|
|
+ V2 := IfcNormalise(Arg2)\IfcDirection.DirectionRatios;
|
|
|
+ Res := IfcRepresentationItem() || IfcGeometricRepresentationItem ()
|
|
|
+ || IfcDirection([(V1[2]*V2[3] - V1[3]*V2[2]), (V1[3]*V2[1] - V1[1]*V2[3]), (V1[1]*V2[2] - V1[2]*V2[1])]);
|
|
|
+ Mag := 0.0;
|
|
|
+ REPEAT i := 1 TO 3;
|
|
|
+ Mag := Mag + Res.DirectionRatios[i]*Res.DirectionRatios[i];
|
|
|
+ END_REPEAT;
|
|
|
+ IF (Mag > 0.0) THEN
|
|
|
+ Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Res, SQRT(Mag));
|
|
|
+ ELSE
|
|
|
+ Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Arg1, 0.0);
|
|
|
+ END_IF;
|
|
|
+ RETURN(Result);
|
|
|
+ END;
|
|
|
+ END_IF;
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcCurveDim
|
|
|
+(Curve : IfcCurve)
|
|
|
+ : IfcDimensionCount;
|
|
|
+
|
|
|
+ IF ('IFC4.IFCLINE' IN TYPEOF(Curve))
|
|
|
+ THEN RETURN(Curve\IfcLine.Pnt.Dim);
|
|
|
+ END_IF;
|
|
|
+ IF ('IFC4.IFCCONIC' IN TYPEOF(Curve))
|
|
|
+ THEN RETURN(Curve\IfcConic.Position.Dim);
|
|
|
+ END_IF;
|
|
|
+ IF ('IFC4.IFCPOLYLINE' IN TYPEOF(Curve))
|
|
|
+ THEN RETURN(Curve\IfcPolyline.Points[1].Dim);
|
|
|
+ END_IF;
|
|
|
+ IF ('IFC4.IFCTRIMMEDCURVE' IN TYPEOF(Curve))
|
|
|
+ THEN RETURN(IfcCurveDim(Curve\IfcTrimmedCurve.BasisCurve));
|
|
|
+ END_IF;
|
|
|
+ IF ('IFC4.IFCCOMPOSITECURVE' IN TYPEOF(Curve))
|
|
|
+ THEN RETURN(Curve\IfcCompositeCurve.Segments[1].Dim);
|
|
|
+ END_IF;
|
|
|
+ IF ('IFC4.IFCBSPLINECURVE' IN TYPEOF(Curve))
|
|
|
+ THEN RETURN(Curve\IfcBSplineCurve.ControlPointsList[1].Dim);
|
|
|
+ END_IF;
|
|
|
+ IF ('IFC4.IFCOFFSETCURVE2D' IN TYPEOF(Curve))
|
|
|
+ THEN RETURN(2);
|
|
|
+ END_IF;
|
|
|
+ IF ('IFC4.IFCOFFSETCURVE3D' IN TYPEOF(Curve))
|
|
|
+ THEN RETURN(3);
|
|
|
+ END_IF;
|
|
|
+ IF ('IFC4.IFCPCURVE' IN TYPEOF(Curve))
|
|
|
+ THEN RETURN(3);
|
|
|
+ END_IF;
|
|
|
+ IF ('IFC4.IFCINDEXEDPOLYCURVE' IN TYPEOF(Curve))
|
|
|
+ THEN RETURN(Curve\IfcIndexedPolyCurve.Points.Dim);
|
|
|
+ END_IF;
|
|
|
+RETURN (?);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcCurveWeightsPositive
|
|
|
+( B: IfcRationalBSplineCurveWithKnots)
|
|
|
+: BOOLEAN;
|
|
|
+
|
|
|
+ LOCAL
|
|
|
+ Result : BOOLEAN := TRUE;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ REPEAT i := 0 TO B.UpperIndexOnControlPoints;
|
|
|
+ IF B.Weights[i] <= 0.0 THEN
|
|
|
+ Result := FALSE;
|
|
|
+ RETURN(Result);
|
|
|
+ END_IF;
|
|
|
+ END_REPEAT;
|
|
|
+ RETURN(Result);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcDeriveDimensionalExponents
|
|
|
+(UnitElements : SET [1:?] OF IfcDerivedUnitElement)
|
|
|
+ : IfcDimensionalExponents;
|
|
|
+ LOCAL
|
|
|
+ Result : IfcDimensionalExponents :=
|
|
|
+ IfcDimensionalExponents(0, 0, 0, 0, 0, 0, 0);
|
|
|
+ END_LOCAL;
|
|
|
+ REPEAT i := LOINDEX(UnitElements) TO HIINDEX(UnitElements);
|
|
|
+ Result.LengthExponent := Result.LengthExponent +
|
|
|
+ (UnitElements[i].Exponent *
|
|
|
+ UnitElements[i].Unit.Dimensions.LengthExponent);
|
|
|
+ Result.MassExponent := Result.MassExponent +
|
|
|
+ (UnitElements[i].Exponent *
|
|
|
+ UnitElements[i].Unit.Dimensions.MassExponent);
|
|
|
+ Result.TimeExponent := Result.TimeExponent +
|
|
|
+ (UnitElements[i].Exponent *
|
|
|
+ UnitElements[i].Unit.Dimensions.TimeExponent);
|
|
|
+ Result.ElectricCurrentExponent := Result.ElectricCurrentExponent +
|
|
|
+ (UnitElements[i].Exponent *
|
|
|
+ UnitElements[i].Unit.Dimensions.ElectricCurrentExponent);
|
|
|
+ Result.ThermodynamicTemperatureExponent := Result.ThermodynamicTemperatureExponent +
|
|
|
+ (UnitElements[i].Exponent *
|
|
|
+ UnitElements[i].Unit.Dimensions.ThermodynamicTemperatureExponent);
|
|
|
+ Result.AmountOfSubstanceExponent := Result.AmountOfSubstanceExponent +
|
|
|
+ (UnitElements[i].Exponent *
|
|
|
+ UnitElements[i].Unit.Dimensions.AmountOfSubstanceExponent);
|
|
|
+ Result.LuminousIntensityExponent := Result.LuminousIntensityExponent +
|
|
|
+ (UnitElements[i].Exponent *
|
|
|
+ UnitElements[i].Unit.Dimensions.LuminousIntensityExponent);
|
|
|
+ END_REPEAT;
|
|
|
+ RETURN (Result);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcDimensionsForSiUnit
|
|
|
+(n : IfcSiUnitName ) : IfcDimensionalExponents;
|
|
|
+ CASE n OF
|
|
|
+ METRE : RETURN (IfcDimensionalExponents
|
|
|
+ (1, 0, 0, 0, 0, 0, 0));
|
|
|
+ SQUARE_METRE : RETURN (IfcDimensionalExponents
|
|
|
+ (2, 0, 0, 0, 0, 0, 0));
|
|
|
+ CUBIC_METRE : RETURN (IfcDimensionalExponents
|
|
|
+ (3, 0, 0, 0, 0, 0, 0));
|
|
|
+ GRAM : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 1, 0, 0, 0, 0, 0));
|
|
|
+ SECOND : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 0, 1, 0, 0, 0, 0));
|
|
|
+ AMPERE : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 0, 0, 1, 0, 0, 0));
|
|
|
+ KELVIN : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 0, 0, 0, 1, 0, 0));
|
|
|
+ MOLE : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 0, 0, 0, 0, 1, 0));
|
|
|
+ CANDELA : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 0, 0, 0, 0, 0, 1));
|
|
|
+ RADIAN : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 0, 0, 0, 0, 0, 0));
|
|
|
+ STERADIAN : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 0, 0, 0, 0, 0, 0));
|
|
|
+ HERTZ : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 0, -1, 0, 0, 0, 0));
|
|
|
+ NEWTON : RETURN (IfcDimensionalExponents
|
|
|
+ (1, 1, -2, 0, 0, 0, 0));
|
|
|
+ PASCAL : RETURN (IfcDimensionalExponents
|
|
|
+ (-1, 1, -2, 0, 0, 0, 0));
|
|
|
+ JOULE : RETURN (IfcDimensionalExponents
|
|
|
+ (2, 1, -2, 0, 0, 0, 0));
|
|
|
+ WATT : RETURN (IfcDimensionalExponents
|
|
|
+ (2, 1, -3, 0, 0, 0, 0));
|
|
|
+ COULOMB : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 0, 1, 1, 0, 0, 0));
|
|
|
+ VOLT : RETURN (IfcDimensionalExponents
|
|
|
+ (2, 1, -3, -1, 0, 0, 0));
|
|
|
+ FARAD : RETURN (IfcDimensionalExponents
|
|
|
+ (-2, -1, 4, 2, 0, 0, 0));
|
|
|
+ OHM : RETURN (IfcDimensionalExponents
|
|
|
+ (2, 1, -3, -2, 0, 0, 0));
|
|
|
+ SIEMENS : RETURN (IfcDimensionalExponents
|
|
|
+ (-2, -1, 3, 2, 0, 0, 0));
|
|
|
+ WEBER : RETURN (IfcDimensionalExponents
|
|
|
+ (2, 1, -2, -1, 0, 0, 0));
|
|
|
+ TESLA : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 1, -2, -1, 0, 0, 0));
|
|
|
+ HENRY : RETURN (IfcDimensionalExponents
|
|
|
+ (2, 1, -2, -2, 0, 0, 0));
|
|
|
+ DEGREE_CELSIUS : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 0, 0, 0, 1, 0, 0));
|
|
|
+ LUMEN : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 0, 0, 0, 0, 0, 1));
|
|
|
+ LUX : RETURN (IfcDimensionalExponents
|
|
|
+ (-2, 0, 0, 0, 0, 0, 1));
|
|
|
+ BECQUEREL : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 0, -1, 0, 0, 0, 0));
|
|
|
+ GRAY : RETURN (IfcDimensionalExponents
|
|
|
+ (2, 0, -2, 0, 0, 0, 0));
|
|
|
+ SIEVERT : RETURN (IfcDimensionalExponents
|
|
|
+ (2, 0, -2, 0, 0, 0, 0));
|
|
|
+ OTHERWISE : RETURN (IfcDimensionalExponents
|
|
|
+ (0, 0, 0, 0, 0, 0, 0));
|
|
|
+ END_CASE;
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcDotProduct
|
|
|
+(Arg1, Arg2 : IfcDirection)
|
|
|
+ : REAL;
|
|
|
+LOCAL
|
|
|
+ Scalar : REAL;
|
|
|
+ Vec1, Vec2 : IfcDirection;
|
|
|
+ Ndim : INTEGER;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+ IF NOT EXISTS (Arg1) OR NOT EXISTS (Arg2) THEN
|
|
|
+ Scalar := ?;
|
|
|
+ ELSE
|
|
|
+ IF (Arg1.Dim <> Arg2.Dim) THEN
|
|
|
+ Scalar := ?;
|
|
|
+ ELSE
|
|
|
+ BEGIN
|
|
|
+ Vec1 := IfcNormalise(Arg1);
|
|
|
+ Vec2 := IfcNormalise(Arg2);
|
|
|
+ Ndim := Arg1.Dim;
|
|
|
+ Scalar := 0.0;
|
|
|
+ REPEAT i := 1 TO Ndim;
|
|
|
+ Scalar := Scalar + Vec1.DirectionRatios[i]*Vec2.DirectionRatios[i];
|
|
|
+ END_REPEAT;
|
|
|
+ END;
|
|
|
+ END_IF;
|
|
|
+ END_IF;
|
|
|
+ RETURN (Scalar);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcFirstProjAxis
|
|
|
+(ZAxis, Arg : IfcDirection) : IfcDirection;
|
|
|
+LOCAL
|
|
|
+ XAxis : IfcDirection;
|
|
|
+ V : IfcDirection;
|
|
|
+ Z : IfcDirection;
|
|
|
+ XVec : IfcVector;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+ IF (NOT EXISTS(ZAxis)) THEN
|
|
|
+ RETURN (?) ;
|
|
|
+ ELSE
|
|
|
+ Z := IfcNormalise(ZAxis);
|
|
|
+ IF NOT EXISTS(Arg) THEN
|
|
|
+ IF (Z.DirectionRatios <> [1.0,0.0,0.0]) THEN
|
|
|
+ V := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.0,0.0,0.0]);
|
|
|
+ ELSE
|
|
|
+ V := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,1.0,0.0]);
|
|
|
+ END_IF;
|
|
|
+ ELSE
|
|
|
+ IF (Arg.Dim <> 3) THEN
|
|
|
+ RETURN (?) ;
|
|
|
+ END_IF;
|
|
|
+ IF ((IfcCrossProduct(Arg,Z).Magnitude) = 0.0) THEN
|
|
|
+ RETURN (?);
|
|
|
+ ELSE
|
|
|
+ V := IfcNormalise(Arg);
|
|
|
+ END_IF;
|
|
|
+ END_IF;
|
|
|
+ XVec := IfcScalarTimesVector(IfcDotProduct(V, Z), Z);
|
|
|
+ XAxis := IfcVectorDifference(V, XVec).Orientation;
|
|
|
+ XAxis := IfcNormalise(XAxis);
|
|
|
+ END_IF;
|
|
|
+ RETURN(XAxis);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcGetBasisSurface
|
|
|
+(C : IfcCurveOnSurface) : SET[0:2] OF IfcSurface;
|
|
|
+
|
|
|
+ LOCAL
|
|
|
+ Surfs : SET[0:2] OF IfcSurface;
|
|
|
+ N : INTEGER;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ Surfs := [];
|
|
|
+ IF 'IFC4.IFCPCURVE' IN TYPEOF (C) THEN
|
|
|
+ Surfs := [C\IfcPCurve.BasisSurface];
|
|
|
+ ELSE
|
|
|
+ IF 'IFC4.IFCSURFACECURVE' IN TYPEOF (C) THEN
|
|
|
+ N := SIZEOF(C\IfcSurfaceCurve.AssociatedGeometry);
|
|
|
+ REPEAT i := 1 TO N;
|
|
|
+ Surfs := Surfs + IfcAssociatedSurface(C\IfcSurfaceCurve.AssociatedGeometry[i]);
|
|
|
+ END_REPEAT;
|
|
|
+ END_IF;
|
|
|
+ END_IF;
|
|
|
+ IF 'IFC4.IFCCOMPOSITECURVEONSURFACE' IN TYPEOF (C) THEN
|
|
|
+
|
|
|
+ (* For an IfcCompositeCurveOnSurface the BasisSurface is the intersection of the BasisSurface of all the segments. *)
|
|
|
+
|
|
|
+ N := SIZEOF(C\IfcCompositeCurve.Segments);
|
|
|
+ Surfs := IfcGetBasisSurface(C\IfcCompositeCurve.Segments[1].ParentCurve);
|
|
|
+ IF N > 1 THEN
|
|
|
+ REPEAT i := 2 TO N;
|
|
|
+ Surfs := Surfs * IfcGetBasisSurface(C\IfcCompositeCurve.Segments[1].ParentCurve);
|
|
|
+ END_REPEAT;
|
|
|
+ END_IF;
|
|
|
+ END_IF;
|
|
|
+ RETURN(Surfs);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcListToArray
|
|
|
+(Lis : LIST [0:?] OF GENERIC : T;
|
|
|
+ Low,U : INTEGER) : ARRAY OF GENERIC : T;
|
|
|
+ LOCAL
|
|
|
+ N : INTEGER;
|
|
|
+ Res : ARRAY [Low:U] OF GENERIC : T;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ N := SIZEOF(Lis);
|
|
|
+ IF (N <> (U-Low +1)) THEN
|
|
|
+ RETURN(?);
|
|
|
+ ELSE
|
|
|
+ Res := [Lis[1] : N];
|
|
|
+ REPEAT i := 2 TO N;
|
|
|
+ Res[Low+i-1] := Lis[i];
|
|
|
+ END_REPEAT;
|
|
|
+ RETURN(Res);
|
|
|
+ END_IF;
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcLoopHeadToTail
|
|
|
+(ALoop : IfcEdgeLoop) : LOGICAL;
|
|
|
+ LOCAL
|
|
|
+ N : INTEGER;
|
|
|
+ P : LOGICAL := TRUE;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ N := SIZEOF (ALoop.EdgeList);
|
|
|
+ REPEAT i := 2 TO N;
|
|
|
+ P := P AND (ALoop.EdgeList[i-1].EdgeEnd :=:
|
|
|
+ ALoop.EdgeList[i].EdgeStart);
|
|
|
+ END_REPEAT;
|
|
|
+ RETURN (P);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcMakeArrayOfArray
|
|
|
+(Lis : LIST[1:?] OF LIST [1:?] OF GENERIC : T;
|
|
|
+ Low1, U1, Low2, U2 : INTEGER):
|
|
|
+ARRAY [Low1:U1] OF ARRAY [Low2:U2] OF GENERIC : T;
|
|
|
+
|
|
|
+ LOCAL
|
|
|
+ Res : ARRAY[Low1:U1] OF ARRAY [Low2:U2] OF GENERIC : T;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ (* Check input dimensions for consistency *)
|
|
|
+ IF (U1-Low1+1) <> SIZEOF(Lis) THEN
|
|
|
+ RETURN (?);
|
|
|
+ END_IF;
|
|
|
+ IF (U2 - Low2 + 1 ) <> SIZEOF(Lis[1]) THEN
|
|
|
+ RETURN (?) ;
|
|
|
+ END_IF;
|
|
|
+
|
|
|
+ (* Initialise Res with values from Lis[1] *)
|
|
|
+ Res := [IfcListToArray(Lis[1], Low2, U2) : (U1-Low1 + 1)];
|
|
|
+ REPEAT i := 2 TO HIINDEX(Lis);
|
|
|
+ IF (U2-Low2+1) <> SIZEOF(Lis[i]) THEN
|
|
|
+ RETURN (?);
|
|
|
+ END_IF;
|
|
|
+ Res[Low1+i-1] := IfcListToArray(Lis[i], Low2, U2);
|
|
|
+ END_REPEAT;
|
|
|
+ RETURN (Res);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcMlsTotalThickness
|
|
|
+(LayerSet : IfcMaterialLayerSet) : IfcLengthMeasure;
|
|
|
+ LOCAL
|
|
|
+ Max : IfcLengthMeasure := LayerSet.MaterialLayers[1].LayerThickness;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ IF SIZEOF(LayerSet.MaterialLayers) > 1 THEN
|
|
|
+ REPEAT i := 2 TO HIINDEX(LayerSet.MaterialLayers);
|
|
|
+ Max := Max + LayerSet.MaterialLayers[i].LayerThickness;
|
|
|
+ END_REPEAT;
|
|
|
+ END_IF;
|
|
|
+ RETURN (Max);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcNormalise
|
|
|
+(Arg : IfcVectorOrDirection)
|
|
|
+ : IfcVectorOrDirection;
|
|
|
+LOCAL
|
|
|
+ Ndim : INTEGER;
|
|
|
+ V : IfcDirection
|
|
|
+ := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.,0.]);
|
|
|
+ Vec : IfcVector
|
|
|
+ := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector (
|
|
|
+ IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.,0.]), 1.);
|
|
|
+ Mag : REAL;
|
|
|
+ Result : IfcVectorOrDirection
|
|
|
+ := V;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+ IF NOT EXISTS (Arg) THEN
|
|
|
+ RETURN (?);
|
|
|
+ ELSE
|
|
|
+ IF 'IFC4.IFCVECTOR' IN TYPEOF(Arg) THEN
|
|
|
+ BEGIN
|
|
|
+ Ndim := Arg\IfcVector.Dim;
|
|
|
+ V.DirectionRatios := Arg\IfcVector.Orientation.DirectionRatios;
|
|
|
+ Vec.Magnitude := Arg\IfcVector.Magnitude;
|
|
|
+ Vec.Orientation := V;
|
|
|
+ IF Arg\IfcVector.Magnitude = 0.0 THEN
|
|
|
+ RETURN(?);
|
|
|
+ ELSE
|
|
|
+ Vec.Magnitude := 1.0;
|
|
|
+ END_IF;
|
|
|
+ END;
|
|
|
+ ELSE
|
|
|
+ BEGIN
|
|
|
+ Ndim := Arg\IfcDirection.Dim;
|
|
|
+ V.DirectionRatios := Arg\IfcDirection.DirectionRatios;
|
|
|
+ END;
|
|
|
+ END_IF;
|
|
|
+
|
|
|
+ Mag := 0.0;
|
|
|
+ REPEAT i := 1 TO Ndim;
|
|
|
+ Mag := Mag + V.DirectionRatios[i]*V.DirectionRatios[i];
|
|
|
+ END_REPEAT;
|
|
|
+ IF Mag > 0.0 THEN
|
|
|
+ Mag := SQRT(Mag);
|
|
|
+ REPEAT i := 1 TO Ndim;
|
|
|
+ V.DirectionRatios[i] := V.DirectionRatios[i]/Mag;
|
|
|
+ END_REPEAT;
|
|
|
+ IF 'IFC4.IFCVECTOR' IN TYPEOF(arg) THEN
|
|
|
+ Vec.Orientation := V;
|
|
|
+ Result := Vec;
|
|
|
+ ELSE
|
|
|
+ Result := V;
|
|
|
+ END_IF;
|
|
|
+ ELSE
|
|
|
+ RETURN(?);
|
|
|
+ END_IF;
|
|
|
+ END_IF;
|
|
|
+ RETURN (Result);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcOrthogonalComplement
|
|
|
+(Vec : IfcDirection)
|
|
|
+ : IfcDirection;
|
|
|
+LOCAL
|
|
|
+ Result : IfcDirection ;
|
|
|
+END_LOCAL;
|
|
|
+ IF NOT EXISTS (Vec) OR (Vec.Dim <> 2) THEN
|
|
|
+ RETURN(?);
|
|
|
+ ELSE
|
|
|
+ Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([-Vec.DirectionRatios[2], Vec.DirectionRatios[1]]);
|
|
|
+ RETURN(Result);
|
|
|
+ END_IF;
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcPathHeadToTail
|
|
|
+(APath : IfcPath) : LOGICAL;
|
|
|
+ LOCAL
|
|
|
+ N : INTEGER := 0;
|
|
|
+ P : LOGICAL := UNKNOWN;
|
|
|
+ END_LOCAL;
|
|
|
+ N := SIZEOF (APath.EdgeList);
|
|
|
+ REPEAT i := 2 TO N;
|
|
|
+ P := P AND (APath.EdgeList[i-1].EdgeEnd :=:
|
|
|
+ APath.EdgeList[i].EdgeStart);
|
|
|
+ END_REPEAT;
|
|
|
+ RETURN (P);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcPointListDim
|
|
|
+(PointList : IfcCartesianPointList)
|
|
|
+ : IfcDimensionCount;
|
|
|
+
|
|
|
+ IF ('IFC4.IFCCARTESIANPOINTLIST2D' IN TYPEOF(PointList))
|
|
|
+ THEN RETURN(2);
|
|
|
+ END_IF;
|
|
|
+ IF ('IFC4.IFCCARTESIANPOINTLIST3D' IN TYPEOF(PointList))
|
|
|
+ THEN RETURN(3);
|
|
|
+ END_IF;
|
|
|
+ RETURN (?);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcSameAxis2Placement
|
|
|
+(ap1, ap2 : IfcAxis2Placement; Epsilon : REAL)
|
|
|
+ : LOGICAL ;
|
|
|
+
|
|
|
+ RETURN (IfcSameDirection(ap1.P[1],ap2.P[1],Epsilon) AND
|
|
|
+ IfcSameDirection(ap1.P[2],ap2.P[2],Epsilon) AND
|
|
|
+ IfcSameCartesianPoint(ap1.Location,ap1.Location,Epsilon));
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcSameCartesianPoint
|
|
|
+(cp1, cp2 : IfcCartesianPoint; Epsilon : REAL)
|
|
|
+ : LOGICAL;
|
|
|
+
|
|
|
+ LOCAL
|
|
|
+ cp1x : REAL := cp1.Coordinates[1];
|
|
|
+ cp1y : REAL := cp1.Coordinates[2];
|
|
|
+ cp1z : REAL := 0;
|
|
|
+ cp2x : REAL := cp2.Coordinates[1];
|
|
|
+ cp2y : REAL := cp2.Coordinates[2];
|
|
|
+ cp2z : REAL := 0;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ IF (SIZEOF(cp1.Coordinates) > 2) THEN
|
|
|
+ cp1z := cp1.Coordinates[3];
|
|
|
+ END_IF;
|
|
|
+
|
|
|
+ IF (SIZEOF(cp2.Coordinates) > 2) THEN
|
|
|
+ cp2z := cp2.Coordinates[3];
|
|
|
+ END_IF;
|
|
|
+
|
|
|
+ RETURN (IfcSameValue(cp1x,cp2x,Epsilon) AND
|
|
|
+ IfcSameValue(cp1y,cp2y,Epsilon) AND
|
|
|
+ IfcSameValue(cp1z,cp2z,Epsilon));
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcSameDirection
|
|
|
+(dir1, dir2 : IfcDirection; Epsilon : REAL)
|
|
|
+ : LOGICAL;
|
|
|
+ LOCAL
|
|
|
+ dir1x : REAL := dir1.DirectionRatios[1];
|
|
|
+ dir1y : REAL := dir1.DirectionRatios[2];
|
|
|
+ dir1z : REAL := 0;
|
|
|
+ dir2x : REAL := dir2.DirectionRatios[1];
|
|
|
+ dir2y : REAL := dir2.DirectionRatios[2];
|
|
|
+ dir2z : REAL := 0;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ IF (SIZEOF(dir1.DirectionRatios) > 2) THEN
|
|
|
+ dir1z := dir1.DirectionRatios[3];
|
|
|
+ END_IF;
|
|
|
+
|
|
|
+ IF (SIZEOF(dir2.DirectionRatios) > 2) THEN
|
|
|
+ dir2z := dir2.DirectionRatios[3];
|
|
|
+ END_IF;
|
|
|
+
|
|
|
+ RETURN (IfcSameValue(dir1x,dir2x,Epsilon) AND
|
|
|
+ IfcSameValue(dir1y,dir2y,Epsilon) AND
|
|
|
+ IfcSameValue(dir1z,dir2z,Epsilon));
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcSameValidPrecision
|
|
|
+(Epsilon1, Epsilon2 : REAL) : LOGICAL ;
|
|
|
+ LOCAL
|
|
|
+ ValidEps1, ValidEps2 : REAL;
|
|
|
+ DefaultEps : REAL := 0.000001;
|
|
|
+ DerivationOfEps : REAL := 1.001;
|
|
|
+ UpperEps : REAL := 1.0;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ ValidEps1 := NVL(Epsilon1, DefaultEps);
|
|
|
+ ValidEps2 := NVL(Epsilon2, DefaultEps);
|
|
|
+ RETURN ((0.0 < ValidEps1) AND (ValidEps1 <= (DerivationOfEps * ValidEps2)) AND
|
|
|
+ (ValidEps2 <= (DerivationOfEps * ValidEps1)) AND (ValidEps2 < UpperEps));
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcSameValue
|
|
|
+(Value1, Value2 : REAL; Epsilon : REAL)
|
|
|
+ : LOGICAL;
|
|
|
+ LOCAL
|
|
|
+ ValidEps : REAL;
|
|
|
+ DefaultEps : REAL := 0.000001;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ ValidEps := NVL(Epsilon, DefaultEps);
|
|
|
+ RETURN ((Value1 + ValidEps > Value2) AND (Value1 < Value2 + ValidEps));
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcScalarTimesVector
|
|
|
+(Scalar : REAL; Vec : IfcVectorOrDirection)
|
|
|
+ : IfcVector;
|
|
|
+LOCAL
|
|
|
+ V : IfcDirection;
|
|
|
+ Mag : REAL;
|
|
|
+ Result : IfcVector;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+ IF NOT EXISTS (Scalar) OR NOT EXISTS (Vec) THEN
|
|
|
+ RETURN (?) ;
|
|
|
+ ELSE
|
|
|
+ IF 'IFC4.IFCVECTOR' IN TYPEOF (Vec) THEN
|
|
|
+ V := Vec\IfcVector.Orientation;
|
|
|
+ Mag := Scalar * Vec\IfcVector.Magnitude;
|
|
|
+ ELSE
|
|
|
+ V := Vec;
|
|
|
+ Mag := Scalar;
|
|
|
+ END_IF;
|
|
|
+ IF (Mag < 0.0 ) THEN
|
|
|
+ REPEAT i := 1 TO SIZEOF(V.DirectionRatios);
|
|
|
+ V.DirectionRatios[i] := -V.DirectionRatios[i];
|
|
|
+ END_REPEAT;
|
|
|
+ Mag := -Mag;
|
|
|
+ END_IF;
|
|
|
+ Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(IfcNormalise(V), Mag);
|
|
|
+ END_IF;
|
|
|
+ RETURN (Result);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcSecondProjAxis
|
|
|
+(ZAxis, XAxis, Arg: IfcDirection)
|
|
|
+ : IfcDirection;
|
|
|
+LOCAL
|
|
|
+ YAxis : IfcVector;
|
|
|
+ V : IfcDirection;
|
|
|
+ Temp : IfcVector;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+ IF NOT EXISTS(Arg) THEN
|
|
|
+ V := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,1.0,0.0]);
|
|
|
+ ELSE
|
|
|
+ V := Arg;
|
|
|
+ END_IF;
|
|
|
+ Temp := IfcScalarTimesVector(IfcDotProduct(V, ZAxis), ZAxis);
|
|
|
+ YAxis := IfcVectorDifference(V, Temp);
|
|
|
+ Temp := IfcScalarTimesVector(IfcDotProduct(V, XAxis), XAxis);
|
|
|
+ YAxis := IfcVectorDifference(YAxis, Temp);
|
|
|
+ YAxis := IfcNormalise(YAxis);
|
|
|
+ RETURN(YAxis.Orientation);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcShapeRepresentationTypes
|
|
|
+(RepType : IfcLabel; Items : SET OF IfcRepresentationItem) : LOGICAL;
|
|
|
+
|
|
|
+ LOCAL
|
|
|
+ Count : INTEGER := 0;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ CASE RepType OF
|
|
|
+ 'Point' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCPOINT' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'PointCloud' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCCARTESIANPOINTLIST3D' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'Curve' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCCURVE' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'Curve2D' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCCURVE' IN TYPEOF(temp))
|
|
|
+ AND (temp\IfcCurve.Dim = 2)));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'Curve3D' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCCURVE' IN TYPEOF(temp))
|
|
|
+ AND (temp\IfcCurve.Dim = 3)));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'Surface' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCSURFACE' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'Surface2D' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCSURFACE' IN TYPEOF(temp))
|
|
|
+ AND (temp\IfcSurface.Dim = 2)));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'Surface3D' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCSURFACE' IN TYPEOF(temp))
|
|
|
+ AND (temp\IfcSurface.Dim = 3)));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'FillArea' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCANNOTATIONFILLAREA' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'Text' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCTEXTLITERAL' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'AdvancedSurface' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | 'IFC4.IFCBSPLINESURFACE' IN TYPEOF(temp)));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'Annotation2D' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | (
|
|
|
+ SIZEOF(TYPEOF(temp) * [
|
|
|
+ 'IFC4.IFCPOINT',
|
|
|
+ 'IFC4.IFCCURVE',
|
|
|
+ 'IFC4.IFCGEOMETRICCURVESET',
|
|
|
+ 'IFC4.IFCANNOTATIONFILLAREA',
|
|
|
+ 'IFC4.IFCTEXTLITERAL']) = 1)
|
|
|
+ ));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'GeometricSet' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCGEOMETRICSET' IN TYPEOF(temp))
|
|
|
+ OR ('IFC4.IFCPOINT' IN TYPEOF(temp))
|
|
|
+ OR ('IFC4.IFCCURVE' IN TYPEOF(temp))
|
|
|
+ OR ('IFC4.IFCSURFACE' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'GeometricCurveSet' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCGEOMETRICCURVESET' IN TYPEOF(temp))
|
|
|
+ OR ('IFC4.IFCGEOMETRICSET' IN TYPEOF(temp))
|
|
|
+ OR ('IFC4.IFCPOINT' IN TYPEOF(temp))
|
|
|
+ OR ('IFC4.IFCCURVE' IN TYPEOF(temp))));
|
|
|
+ REPEAT i:=1 TO HIINDEX(Items);
|
|
|
+ IF ('IFC4.IFCGEOMETRICSET' IN TYPEOF(Items[i]))
|
|
|
+ THEN
|
|
|
+ IF (SIZEOF(QUERY(temp <* Items[i]\IfcGeometricSet.Elements | 'IFC4.IFCSURFACE' IN TYPEOF(temp))) > 0)
|
|
|
+ THEN
|
|
|
+ Count := Count - 1;
|
|
|
+ END_IF;
|
|
|
+ END_IF;
|
|
|
+ END_REPEAT;
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'Tessellation' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | 'IFC4.IFCTESSELLATEDITEM' IN TYPEOF(temp)));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'SurfaceOrSolidModel' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | SIZEOF([
|
|
|
+ 'IFC4.IFCTESSELLATEDITEM',
|
|
|
+ 'IFC4.IFCSHELLBASEDSURFACEMODEL',
|
|
|
+ 'IFC4.IFCFACEBASEDSURFACEMODEL',
|
|
|
+ 'IFC4.IFCSOLIDMODEL'] * TYPEOF(temp)) >= 1
|
|
|
+ ));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'SurfaceModel' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | SIZEOF([
|
|
|
+ 'IFC4.IFCTESSELLATEDITEM',
|
|
|
+ 'IFC4.IFCSHELLBASEDSURFACEMODEL',
|
|
|
+ 'IFC4.IFCFACEBASEDSURFACEMODEL'] * TYPEOF(temp)) >= 1
|
|
|
+ ));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'SolidModel' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCSOLIDMODEL' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'SweptSolid' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | (SIZEOF([
|
|
|
+ 'IFC4.IFCEXTRUDEDAREASOLID',
|
|
|
+ 'IFC4.IFCREVOLVEDAREASOLID'] * TYPEOF(temp)) >= 1
|
|
|
+ ) AND (SIZEOF([
|
|
|
+ 'IFC4.IFCEXTRUDEDAREASOLIDTAPERED',
|
|
|
+ 'IFC4.IFCREVOLVEDAREASOLIDTAPERED'] * TYPEOF(temp)) = 0
|
|
|
+ )
|
|
|
+ ));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'AdvancedSweptSolid' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | SIZEOF([
|
|
|
+ 'IFC4.IFCSWEPTAREASOLID',
|
|
|
+ 'IFC4.IFCSWEPTDISKSOLID'] * TYPEOF(temp)) >= 1
|
|
|
+ ));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'CSG' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | SIZEOF([
|
|
|
+ 'IFC4.IFCBOOLEANRESULT',
|
|
|
+ 'IFC4.IFCCSGPRIMITIVE3D',
|
|
|
+ 'IFC4.IFCCSGSOLID'] * TYPEOF(temp)) >= 1
|
|
|
+ ));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'Clipping' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | SIZEOF([
|
|
|
+ 'IFC4.IFCCSGSOLID',
|
|
|
+ 'IFC4.IFCBOOLEANCLIPPINGRESULT'] * TYPEOF(temp)) >= 1
|
|
|
+ ));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'Brep' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCFACETEDBREP' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'AdvancedBrep' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCMANIFOLDSOLIDBREP' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'BoundingBox' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCBOUNDINGBOX' IN TYPEOF(temp))));
|
|
|
+ IF (SIZEOF(Items) > 1)
|
|
|
+ THEN
|
|
|
+ Count := 0;
|
|
|
+ END_IF;
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'SectionedSpine' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCSECTIONEDSPINE' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'LightSource' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCLIGHTSOURCE' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+
|
|
|
+ 'MappedRepresentation' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items | ('IFC4.IFCMAPPEDITEM' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+
|
|
|
+ OTHERWISE : RETURN(?);
|
|
|
+ END_CASE;
|
|
|
+ RETURN (Count = SIZEOF(Items));
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcSurfaceWeightsPositive
|
|
|
+( B: IfcRationalBSplineSurfaceWithKnots)
|
|
|
+: BOOLEAN;
|
|
|
+
|
|
|
+ LOCAL
|
|
|
+ Result : BOOLEAN := TRUE;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ REPEAT i := 0 TO B\IfcBSplineSurface.UUpper;
|
|
|
+ REPEAT j := 0 TO B\IfcBSplineSurface.VUpper;
|
|
|
+ IF (B.Weights[i][j] <= 0.0) THEN
|
|
|
+ Result := FALSE;
|
|
|
+ RETURN(Result);
|
|
|
+ END_IF;
|
|
|
+ END_REPEAT;
|
|
|
+ END_REPEAT;
|
|
|
+ RETURN(Result);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcTaperedSweptAreaProfiles
|
|
|
+(StartArea, EndArea : IfcProfileDef)
|
|
|
+ : LOGICAL;
|
|
|
+
|
|
|
+LOCAL
|
|
|
+ Result : LOGICAL := FALSE;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+IF ('IFC4.IFCPARAMETERIZEDPROFILEDEF' IN TYPEOF(StartArea)) THEN
|
|
|
+ IF ('IFC4.IFCDERIVEDPROFILEDEF' IN TYPEOF(EndArea)) THEN
|
|
|
+ Result := (StartArea :=: EndArea\IfcDerivedProfileDef.ParentProfile);
|
|
|
+ ELSE
|
|
|
+ Result := (TYPEOF(StartArea) = TYPEOF(EndArea));
|
|
|
+ END_IF;
|
|
|
+ELSE
|
|
|
+ IF ('IFC4.IFCDERIVEDPROFILEDEF' IN TYPEOF(EndArea)) THEN
|
|
|
+ Result := (StartArea :=: EndArea\IfcDerivedProfileDef.ParentProfile);
|
|
|
+ ELSE
|
|
|
+ Result := FALSE;
|
|
|
+ END_IF;
|
|
|
+END_IF;
|
|
|
+
|
|
|
+RETURN(Result);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcTopologyRepresentationTypes
|
|
|
+(RepType : IfcLabel; Items : SET OF IfcRepresentationItem) : LOGICAL;
|
|
|
+
|
|
|
+ LOCAL
|
|
|
+ Count : INTEGER := 0;
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ CASE RepType OF
|
|
|
+ 'Vertex' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items |
|
|
|
+ ('IFC4.IFCVERTEX' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+ 'Edge' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items |
|
|
|
+ ('IFC4.IFCEDGE' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+ 'Path' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items |
|
|
|
+ ('IFC4.IFCPATH' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+ 'Face' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items |
|
|
|
+ ('IFC4.IFCFACE' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+ 'Shell' :
|
|
|
+ BEGIN
|
|
|
+ Count := SIZEOF(QUERY(temp <* Items |
|
|
|
+ ('IFC4.IFCOPENSHELL' IN TYPEOF(temp))
|
|
|
+ OR ('IFC4.IFCCLOSEDSHELL' IN TYPEOF(temp))));
|
|
|
+ END;
|
|
|
+ 'Undefined': RETURN(TRUE);
|
|
|
+ OTHERWISE : RETURN(?);
|
|
|
+ END_CASE;
|
|
|
+ RETURN (Count = SIZEOF(Items));
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcUniqueDefinitionNames
|
|
|
+(Relations : SET [1:?] OF IfcRelDefinesByProperties)
|
|
|
+:LOGICAL;
|
|
|
+
|
|
|
+LOCAL
|
|
|
+ Definition : IfcPropertySetDefinitionSelect;
|
|
|
+ DefinitionSet : IfcPropertySetDefinitionSet;
|
|
|
+ Properties : SET OF IfcPropertySetDefinition := [];
|
|
|
+ Result : LOGICAL;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+IF SIZEOF(Relations) = 0 THEN
|
|
|
+ RETURN(TRUE);
|
|
|
+END_IF;
|
|
|
+
|
|
|
+REPEAT i:=1 TO HIINDEX(Relations);
|
|
|
+ Definition := Relations[i].RelatingPropertyDefinition;
|
|
|
+ IF 'IFC4.IFCPROPERTYSETDEFINITION' IN TYPEOF(Definition) THEN
|
|
|
+ Properties := Properties + Definition;
|
|
|
+ ELSE
|
|
|
+ IF 'IFC4.IFCPROPERTYSETDEFINITIONSET' IN TYPEOF(Definition) THEN
|
|
|
+ BEGIN
|
|
|
+ DefinitionSet := Definition;
|
|
|
+ REPEAT j:= 1 TO HIINDEX(DefinitionSet);
|
|
|
+ Properties := Properties + DefinitionSet[j];
|
|
|
+ END_REPEAT;
|
|
|
+ END;
|
|
|
+ END_IF;
|
|
|
+ END_IF;
|
|
|
+END_REPEAT;
|
|
|
+
|
|
|
+Result := IfcUniquePropertySetNames(Properties);
|
|
|
+RETURN (Result);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcUniquePropertyName
|
|
|
+(Properties : SET [1:?] OF IfcProperty)
|
|
|
+ :LOGICAL;
|
|
|
+
|
|
|
+ LOCAL
|
|
|
+ Names : SET OF IfcIdentifier := [];
|
|
|
+ END_LOCAL;
|
|
|
+
|
|
|
+ REPEAT i:=1 TO HIINDEX(Properties);
|
|
|
+ Names := Names + Properties[i].Name;
|
|
|
+ END_REPEAT;
|
|
|
+
|
|
|
+ RETURN (SIZEOF(Names) = SIZEOF(Properties));
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcUniquePropertySetNames
|
|
|
+(Properties : SET [1:?] OF IfcPropertySetDefinition)
|
|
|
+:LOGICAL;
|
|
|
+
|
|
|
+LOCAL
|
|
|
+ Names : SET OF IfcLabel := [];
|
|
|
+ Unnamed : INTEGER := 0;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+REPEAT i:=1 TO HIINDEX(Properties);
|
|
|
+ IF 'IFC4.IFCPROPERTYSET' IN TYPEOF(Properties[i]) THEN
|
|
|
+ Names := Names + Properties[i]\IfcRoot.Name;
|
|
|
+ ELSE
|
|
|
+ Unnamed := Unnamed + 1;
|
|
|
+ END_IF;
|
|
|
+END_REPEAT;
|
|
|
+
|
|
|
+RETURN (SIZEOF(Names) + Unnamed = SIZEOF(Properties));
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcUniquePropertyTemplateNames
|
|
|
+(Properties : SET [1:?] OF IfcPropertyTemplate)
|
|
|
+:LOGICAL;
|
|
|
+
|
|
|
+LOCAL
|
|
|
+ Names : SET OF IfcLabel := [];
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+REPEAT i:=1 TO HIINDEX(Properties);
|
|
|
+ Names := Names + Properties[i].Name;
|
|
|
+END_REPEAT;
|
|
|
+RETURN (SIZEOF(Names) = SIZEOF(Properties));
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcUniqueQuantityNames
|
|
|
+(Properties : SET [1:?] OF IfcPhysicalQuantity)
|
|
|
+:LOGICAL;
|
|
|
+
|
|
|
+LOCAL
|
|
|
+ Names : SET OF IfcLabel := [];
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+REPEAT i:=1 TO HIINDEX(Properties);
|
|
|
+ Names := Names + Properties[i].Name;
|
|
|
+END_REPEAT;
|
|
|
+RETURN (SIZEOF(Names) = SIZEOF(Properties));
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcVectorDifference
|
|
|
+(Arg1, Arg2 : IfcVectorOrDirection)
|
|
|
+ : IfcVector;
|
|
|
+LOCAL
|
|
|
+ Result : IfcVector;
|
|
|
+ Res, Vec1, Vec2 : IfcDirection;
|
|
|
+ Mag, Mag1, Mag2 : REAL;
|
|
|
+ Ndim : INTEGER;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+ IF ((NOT EXISTS (Arg1)) OR (NOT EXISTS (Arg2))) OR (Arg1.Dim <> Arg2.Dim) THEN
|
|
|
+ RETURN (?) ;
|
|
|
+ ELSE
|
|
|
+ BEGIN
|
|
|
+ IF 'IFC4.IFCVECTOR' IN TYPEOF(Arg1) THEN
|
|
|
+ Mag1 := Arg1\IfcVector.Magnitude;
|
|
|
+ Vec1 := Arg1\IfcVector.Orientation;
|
|
|
+ ELSE
|
|
|
+ Mag1 := 1.0;
|
|
|
+ Vec1 := Arg1;
|
|
|
+ END_IF;
|
|
|
+ IF 'IFC4.IFCVECTOR' IN TYPEOF(Arg2) THEN
|
|
|
+ Mag2 := Arg2\IfcVector.Magnitude;
|
|
|
+ Vec2 := Arg2\IfcVector.Orientation;
|
|
|
+ ELSE
|
|
|
+ Mag2 := 1.0;
|
|
|
+ Vec2 := Arg2;
|
|
|
+ END_IF;
|
|
|
+ Vec1 := IfcNormalise (Vec1);
|
|
|
+ Vec2 := IfcNormalise (Vec2);
|
|
|
+ Ndim := SIZEOF(Vec1.DirectionRatios);
|
|
|
+ Mag := 0.0;
|
|
|
+ Res := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0:Ndim]);
|
|
|
+
|
|
|
+ REPEAT i := 1 TO Ndim;
|
|
|
+ Res.DirectionRatios[i] := Mag1*Vec1.DirectionRatios[i] - Mag2*Vec2.DirectionRatios[i];
|
|
|
+ Mag := Mag + (Res.DirectionRatios[i]*Res.DirectionRatios[i]);
|
|
|
+ END_REPEAT;
|
|
|
+
|
|
|
+ IF (Mag > 0.0 ) THEN
|
|
|
+ Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector( Res, SQRT(Mag));
|
|
|
+ ELSE
|
|
|
+ Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector( Vec1, 0.0);
|
|
|
+ END_IF;
|
|
|
+ END;
|
|
|
+ END_IF;
|
|
|
+ RETURN (Result);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+FUNCTION IfcVectorSum
|
|
|
+(Arg1, Arg2 : IfcVectorOrDirection)
|
|
|
+ : IfcVector;
|
|
|
+LOCAL
|
|
|
+ Result : IfcVector;
|
|
|
+ Res, Vec1, Vec2 : IfcDirection;
|
|
|
+ Mag, Mag1, Mag2 : REAL;
|
|
|
+ Ndim : INTEGER;
|
|
|
+END_LOCAL;
|
|
|
+
|
|
|
+ IF ((NOT EXISTS (Arg1)) OR (NOT EXISTS (Arg2))) OR (Arg1.Dim <> Arg2.Dim) THEN
|
|
|
+ RETURN (?) ;
|
|
|
+ ELSE
|
|
|
+ BEGIN
|
|
|
+ IF 'IFC4.IFCVECTOR' IN TYPEOF(Arg1) THEN
|
|
|
+ Mag1 := Arg1\IfcVector.Magnitude;
|
|
|
+ Vec1 := Arg1\IfcVector.Orientation;
|
|
|
+ ELSE
|
|
|
+ Mag1 := 1.0;
|
|
|
+ Vec1 := Arg1;
|
|
|
+ END_IF;
|
|
|
+ IF 'IFC4.IFCVECTOR' IN TYPEOF(Arg2) THEN
|
|
|
+ Mag2 := Arg2\IfcVector.Magnitude;
|
|
|
+ Vec2 := Arg2\IfcVector.Orientation;
|
|
|
+ ELSE
|
|
|
+ Mag2 := 1.0;
|
|
|
+ Vec2 := Arg2;
|
|
|
+ END_IF;
|
|
|
+ Vec1 := IfcNormalise (Vec1);
|
|
|
+ Vec2 := IfcNormalise (Vec2);
|
|
|
+ Ndim := SIZEOF(Vec1.DirectionRatios);
|
|
|
+ Mag := 0.0;
|
|
|
+ Res := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0:Ndim]);
|
|
|
+
|
|
|
+ REPEAT i := 1 TO Ndim;
|
|
|
+ Res.DirectionRatios[i] := Mag1*Vec1.DirectionRatios[i] + Mag2*Vec2.DirectionRatios[i];
|
|
|
+ Mag := Mag + (Res.DirectionRatios[i]*Res.DirectionRatios[i]);
|
|
|
+ END_REPEAT;
|
|
|
+
|
|
|
+ IF (Mag > 0.0 ) THEN
|
|
|
+ Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector( Res, SQRT(Mag));
|
|
|
+ ELSE
|
|
|
+ Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector( Vec1, 0.0);
|
|
|
+ END_IF;
|
|
|
+ END;
|
|
|
+ END_IF;
|
|
|
+ RETURN (Result);
|
|
|
+END_FUNCTION;
|
|
|
+
|
|
|
+RULE IfcRepresentationContextSameWCS FOR
|
|
|
+ (IfcGeometricRepresentationContext);
|
|
|
+LOCAL
|
|
|
+ IsDifferent : LOGICAL := FALSE;
|
|
|
+END_LOCAL;
|
|
|
+ IF (SIZEOF(IfcGeometricRepresentationContext) > 1)
|
|
|
+ THEN
|
|
|
+ REPEAT i := 2 TO HIINDEX(IfcGeometricRepresentationContext);
|
|
|
+ IF (IfcGeometricRepresentationContext[1].WorldCoordinateSystem :<>: IfcGeometricRepresentationContext[i].WorldCoordinateSystem)
|
|
|
+ THEN
|
|
|
+ IsDifferent := (NOT(IfcSameValidPrecision(IfcGeometricRepresentationContext[1].Precision,
|
|
|
+ IfcGeometricRepresentationContext[i].Precision)))
|
|
|
+ OR (NOT(IfcSameAxis2Placement(IfcGeometricRepresentationContext[1].WorldCoordinateSystem,
|
|
|
+ IfcGeometricRepresentationContext[i].WorldCoordinateSystem,
|
|
|
+ IfcGeometricRepresentationContext[1].Precision)));
|
|
|
+ IF (IsDifferent = TRUE) THEN
|
|
|
+ ESCAPE;
|
|
|
+ END_IF;
|
|
|
+ END_IF;
|
|
|
+ END_REPEAT;
|
|
|
+ END_IF;
|
|
|
+ WHERE
|
|
|
+ WR1 : IsDifferent = FALSE;
|
|
|
+END_RULE;
|
|
|
+
|
|
|
+RULE IfcSingleProjectInstance FOR
|
|
|
+ (IfcProject);
|
|
|
+
|
|
|
+ WHERE
|
|
|
+ WR1 : SIZEOF(IfcProject) <= 1;
|
|
|
+END_RULE;
|
|
|
+
|
|
|
+END_SCHEMA;
|