12402 lines
352 KiB
Plaintext
12402 lines
352 KiB
Plaintext
(*
|
|
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;
|