From f1fe73d1909a2448a004a88362a1a532d0d4f7c3 Mon Sep 17 00:00:00 2001 From: sanine Date: Sun, 12 Feb 2023 23:53:22 -0600 Subject: switch to tinyobj and nanovg from assimp and cairo --- libs/assimp/scripts/StepImporter/schema_ifc2x3.exp | 9571 -------------------- 1 file changed, 9571 deletions(-) delete mode 100644 libs/assimp/scripts/StepImporter/schema_ifc2x3.exp (limited to 'libs/assimp/scripts/StepImporter/schema_ifc2x3.exp') diff --git a/libs/assimp/scripts/StepImporter/schema_ifc2x3.exp b/libs/assimp/scripts/StepImporter/schema_ifc2x3.exp deleted file mode 100644 index ae978a6..0000000 --- a/libs/assimp/scripts/StepImporter/schema_ifc2x3.exp +++ /dev/null @@ -1,9571 +0,0 @@ -(* -Copyright by: -International Alliance for Interoperability, 1996-2005 - -All rights reserved. No part of this documentation may be -reproduced, stored in a retrieval system, or transmitted -in any form or by any means, without the prior written -permission of the owner. - -Contents: -full IFC object model EXPRESS definitions for the IFC2x Edition 3 final version - - -- express longform distribution -- compiled for EXPRESS version 1 technical corrigendum 2 - -Issue date: -December 15, 2005 - -Development Team: -Modeling Support Group of the -International Alliance for Interoperability -compiled by Thomas Liebich tl@aec3.com -*) -SCHEMA IFC2X3; - -TYPE IfcAbsorbedDoseMeasure = REAL; -END_TYPE; - -TYPE IfcAccelerationMeasure = REAL; -END_TYPE; - -TYPE IfcAmountOfSubstanceMeasure = REAL; -END_TYPE; - -TYPE IfcAngularVelocityMeasure = REAL; -END_TYPE; - -TYPE IfcAreaMeasure = REAL; -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 IfcComplexNumber = ARRAY [1:2] OF REAL; -END_TYPE; - -TYPE IfcCompoundPlaneAngleMeasure = LIST [3:3] OF INTEGER; - WHERE - WR1 : { -360 <= SELF[1] < 360 }; - WR2 : { -60 <= SELF[2] < 60 }; - WR3 : { -60 <= SELF[3] < 60 }; - WR4 : ((SELF[1] >= 0) AND (SELF[2] >= 0) AND (SELF[3] >= 0)) OR ((SELF[1] <= 0) AND (SELF[2] <= 0) AND (SELF[3] <= 0)); -END_TYPE; - -TYPE IfcContextDependentMeasure = REAL; -END_TYPE; - -TYPE IfcCountMeasure = NUMBER; -END_TYPE; - -TYPE IfcCurvatureMeasure = REAL; -END_TYPE; - -TYPE IfcDayInMonthNumber = INTEGER; -END_TYPE; - -TYPE IfcDaylightSavingHour = INTEGER; - WHERE - WR1 : { 0 <= SELF <= 2 }; -END_TYPE; - -TYPE IfcDescriptiveMeasure = STRING; -END_TYPE; - -TYPE IfcDimensionCount = INTEGER; - WHERE - WR1 : { 0 < SELF <= 3 }; -END_TYPE; - -TYPE IfcDoseEquivalentMeasure = REAL; -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 IfcHourInDay = INTEGER; - WHERE - WR1 : { 0 <= SELF < 24 }; -END_TYPE; - -TYPE IfcIdentifier = STRING; -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; -END_TYPE; - -TYPE IfcLengthMeasure = REAL; -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 IfcMinuteInHour = INTEGER; - WHERE - WR1 : {0 <= SELF <= 59 }; -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 - WR1 : { 1<= SELF <= 12 }; -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 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 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 IfcSecondInMinute = REAL; - WHERE - WR1 : { 0. <= SELF < 60. }; -END_TYPE; - -TYPE IfcSectionModulusMeasure = REAL; -END_TYPE; - -TYPE IfcSectionalAreaIntegralMeasure = REAL; -END_TYPE; - -TYPE IfcShearModulusMeasure = REAL; -END_TYPE; - -TYPE IfcSolidAngleMeasure = REAL; -END_TYPE; - -TYPE IfcSoundPowerMeasure = 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 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 IfcTimeMeasure = REAL; -END_TYPE; - -TYPE IfcTimeStamp = INTEGER; -END_TYPE; - -TYPE IfcTorqueMeasure = REAL; -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 IfcYearNumber = INTEGER; -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 IfcAheadOrBehind = ENUMERATION OF - (AHEAD - ,BEHIND); -END_TYPE; - -TYPE IfcAirTerminalBoxTypeEnum = ENUMERATION OF - (CONSTANTFLOW - ,VARIABLEFLOWPRESSUREDEPENDANT - ,VARIABLEFLOWPRESSUREINDEPENDANT - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcAirTerminalTypeEnum = ENUMERATION OF - (GRILLE - ,REGISTER - ,DIFFUSER - ,EYEBALL - ,IRIS - ,LINEARGRILLE - ,LINEARDIFFUSER - ,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 IfcBSplineCurveForm = ENUMERATION OF - (POLYLINE_FORM - ,CIRCULAR_ARC - ,ELLIPTIC_ARC - ,PARABOLIC_ARC - ,HYPERBOLIC_ARC - ,UNSPECIFIED); -END_TYPE; - -TYPE IfcBeamTypeEnum = ENUMERATION OF - (BEAM - ,JOIST - ,LINTEL - ,T_BEAM - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcBenchmarkEnum = ENUMERATION OF - (GREATERTHAN - ,GREATERTHANOREQUALTO - ,LESSTHAN - ,LESSTHANOREQUALTO - ,EQUALTO - ,NOTEQUALTO); -END_TYPE; - -TYPE IfcBoilerTypeEnum = ENUMERATION OF - (WATER - ,STEAM - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcBooleanOperator = ENUMERATION OF - (UNION - ,INTERSECTION - ,DIFFERENCE); -END_TYPE; - -TYPE IfcBuildingElementProxyTypeEnum = 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 IfcCableSegmentTypeEnum = ENUMERATION OF - (CABLESEGMENT - ,CONDUCTORSEGMENT - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcChangeActionEnum = ENUMERATION OF - (NOCHANGE - ,MODIFIED - ,ADDED - ,DELETED - ,MODIFIEDADDED - ,MODIFIEDDELETED); -END_TYPE; - -TYPE IfcChillerTypeEnum = ENUMERATION OF - (AIRCOOLED - ,WATERCOOLED - ,HEATRECOVERY - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcCoilTypeEnum = ENUMERATION OF - (DXCOOLINGCOIL - ,WATERCOOLINGCOIL - ,STEAMHEATINGCOIL - ,WATERHEATINGCOIL - ,ELECTRICHEATINGCOIL - ,GASHEATINGCOIL - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcColumnTypeEnum = ENUMERATION OF - (COLUMN - ,USERDEFINED - ,NOTDEFINED); -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 - (WATERCOOLEDSHELLTUBE - ,WATERCOOLEDSHELLCOIL - ,WATERCOOLEDTUBEINTUBE - ,WATERCOOLEDBRAZEDPLATE - ,AIRCOOLED - ,EVAPORATIVECOOLED - ,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 IfcControllerTypeEnum = ENUMERATION OF - (FLOATING - ,PROPORTIONAL - ,PROPORTIONALINTEGRAL - ,PROPORTIONALINTEGRALDERIVATIVE - ,TIMEDTWOPOSITION - ,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 IfcCostScheduleTypeEnum = ENUMERATION OF - (BUDGET - ,COSTPLAN - ,ESTIMATE - ,TENDER - ,PRICEDBILLOFQUANTITIES - ,UNPRICEDBILLOFQUANTITIES - ,SCHEDULEOFRATES - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcCoveringTypeEnum = ENUMERATION OF - (CEILING - ,FLOORING - ,CLADDING - ,ROOFING - ,INSULATION - ,MEMBRANE - ,SLEEVING - ,WRAPPING - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcCurrencyEnum = ENUMERATION OF - (AED - ,AES - ,ATS - ,AUD - ,BBD - ,BEG - ,BGL - ,BHD - ,BMD - ,BND - ,BRL - ,BSD - ,BWP - ,BZD - ,CAD - ,CBD - ,CHF - ,CLP - ,CNY - ,CYS - ,CZK - ,DDP - ,DEM - ,DKK - ,EGL - ,EST - ,EUR - ,FAK - ,FIM - ,FJD - ,FKP - ,FRF - ,GBP - ,GIP - ,GMD - ,GRX - ,HKD - ,HUF - ,ICK - ,IDR - ,ILS - ,INR - ,IRP - ,ITL - ,JMD - ,JOD - ,JPY - ,KES - ,KRW - ,KWD - ,KYD - ,LKR - ,LUF - ,MTL - ,MUR - ,MXN - ,MYR - ,NLG - ,NZD - ,OMR - ,PGK - ,PHP - ,PKR - ,PLN - ,PTN - ,QAR - ,RUR - ,SAR - ,SCR - ,SEK - ,SGD - ,SKP - ,THB - ,TRL - ,TTD - ,TWD - ,USD - ,VEB - ,VND - ,XEU - ,ZAR - ,ZWD - ,NOK); -END_TYPE; - -TYPE IfcCurtainWallTypeEnum = ENUMERATION OF - (USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcDamperTypeEnum = ENUMERATION OF - (CONTROLDAMPER - ,FIREDAMPER - ,SMOKEDAMPER - ,FIRESMOKEDAMPER - ,BACKDRAFTDAMPER - ,RELIEFDAMPER - ,BLASTDAMPER - ,GRAVITYDAMPER - ,GRAVITYRELIEFDAMPER - ,BALANCINGDAMPER - ,FUMEHOODEXHAUST - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcDataOriginEnum = ENUMERATION OF - (MEASURED - ,PREDICTED - ,SIMULATED - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcDerivedUnitEnum = ENUMERATION OF - (ANGULARVELOCITYUNIT - ,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 - ,SOUNDPOWERUNIT - ,SOUNDPRESSUREUNIT - ,TEMPERATUREGRADIENTUNIT - ,THERMALEXPANSIONCOEFFICIENTUNIT - ,WARPINGCONSTANTUNIT - ,WARPINGMOMENTUNIT - ,USERDEFINED); -END_TYPE; - -TYPE IfcDimensionExtentUsage = ENUMERATION OF - (ORIGIN - ,TARGET); -END_TYPE; - -TYPE IfcDirectionSenseEnum = ENUMERATION OF - (POSITIVE - ,NEGATIVE); -END_TYPE; - -TYPE IfcDistributionChamberElementTypeEnum = ENUMERATION OF - (FORMEDDUCT - ,INSPECTIONCHAMBER - ,INSPECTIONPIT - ,MANHOLE - ,METERCHAMBER - ,SUMP - ,TRENCH - ,VALVECHAMBER - ,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 - ,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 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 - (COMPUTER - ,DIRECTWATERHEATER - ,DISHWASHER - ,ELECTRICCOOKER - ,ELECTRICHEATER - ,FACSIMILE - ,FREESTANDINGFAN - ,FREEZER - ,FRIDGE_FREEZER - ,HANDDRYER - ,INDIRECTWATERHEATER - ,MICROWAVE - ,PHOTOCOPIER - ,PRINTER - ,REFRIGERATOR - ,RADIANTHEATER - ,SCANNER - ,TELEPHONE - ,TUMBLEDRYER - ,TV - ,VENDINGMACHINE - ,WASHINGMACHINE - ,WATERHEATER - ,WATERCOOLER - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcElectricCurrentEnum = ENUMERATION OF - (ALTERNATING - ,DIRECT - ,NOTDEFINED); -END_TYPE; - -TYPE IfcElectricDistributionPointFunctionEnum = ENUMERATION OF - (ALARMPANEL - ,CONSUMERUNIT - ,CONTROLPANEL - ,DISTRIBUTIONBOARD - ,GASDETECTORPANEL - ,INDICATORPANEL - ,MIMICPANEL - ,MOTORCONTROLCENTRE - ,SWITCHBOARD - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcElectricFlowStorageDeviceTypeEnum = ENUMERATION OF - (BATTERY - ,CAPACITORBANK - ,HARMONICFILTER - ,INDUCTORBANK - ,UPS - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcElectricGeneratorTypeEnum = ENUMERATION OF - (USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcElectricHeaterTypeEnum = ENUMERATION OF - (ELECTRICPOINTHEATER - ,ELECTRICCABLEHEATER - ,ELECTRICMATHEATER - ,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 IfcEnergySequenceEnum = ENUMERATION OF - (PRIMARY - ,SECONDARY - ,TERTIARY - ,AUXILIARY - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcEnvironmentalImpactCategoryEnum = ENUMERATION OF - (COMBINEDVALUE - ,DISPOSAL - ,EXTRACTION - ,INSTALLATION - ,MANUFACTURE - ,TRANSPORTATION - ,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 - (DIRECTEXPANSIONSHELLANDTUBE - ,DIRECTEXPANSIONTUBEINTUBE - ,DIRECTEXPANSIONBRAZEDPLATE - ,FLOODEDSHELLANDTUBE - ,SHELLANDCOIL - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcFanTypeEnum = ENUMERATION OF - (CENTRIFUGALFORWARDCURVED - ,CENTRIFUGALRADIAL - ,CENTRIFUGALBACKWARDINCLINEDCURVED - ,CENTRIFUGALAIRFOIL - ,TUBEAXIAL - ,VANEAXIAL - ,PROPELLORAXIAL - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcFilterTypeEnum = ENUMERATION OF - (AIRPARTICLEFILTER - ,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 - (ELECTRICMETER - ,ENERGYMETER - ,FLOWMETER - ,GASMETER - ,OILMETER - ,WATERMETER - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcFootingTypeEnum = ENUMERATION OF - (FOOTING_BEAM - ,PAD_FOOTING - ,PILE_CAP - ,STRIP_FOOTING - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcGasTerminalTypeEnum = ENUMERATION OF - (GASAPPLIANCE - ,GASBOOSTER - ,GASBURNER - ,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 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 IfcInternalOrExternalEnum = ENUMERATION OF - (INTERNAL - ,EXTERNAL - ,NOTDEFINED); -END_TYPE; - -TYPE IfcInventoryTypeEnum = ENUMERATION OF - (ASSETINVENTORY - ,SPACEINVENTORY - ,FURNITUREINVENTORY - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcJunctionBoxTypeEnum = ENUMERATION OF - (USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcLampTypeEnum = ENUMERATION OF - (COMPACTFLUORESCENT - ,FLUORESCENT - ,HIGHPRESSUREMERCURY - ,HIGHPRESSURESODIUM - ,METALHALIDE - ,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 - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcLoadGroupTypeEnum = ENUMERATION OF - (LOAD_GROUP - ,LOAD_CASE - ,LOAD_COMBINATION_GROUP - ,LOAD_COMBINATION - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcLogicalOperatorEnum = ENUMERATION OF - (LOGICALAND - ,LOGICALOR); -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 - ,DESIGNINTENT - ,HEALTHANDSAFETY - ,REQUIREMENT - ,SPECIFICATION - ,TRIGGERCONDITION - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcOccupantTypeEnum = ENUMERATION OF - (ASSIGNEE - ,ASSIGNOR - ,LESSEE - ,LESSOR - ,LETTINGAGENT - ,OWNER - ,TENANT - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcOutletTypeEnum = ENUMERATION OF - (AUDIOVISUALOUTLET - ,COMMUNICATIONSOUTLET - ,POWEROUTLET - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcPermeableCoveringOperationEnum = ENUMERATION OF - (GRILL - ,LOUVER - ,SCREEN - ,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 - (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 - (FLEXIBLESEGMENT - ,RIGIDSEGMENT - ,GUTTER - ,SPOOL - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcPlateTypeEnum = ENUMERATION OF - (CURTAIN_PANEL - ,SHEET - ,USERDEFINED - ,NOTDEFINED); -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 IfcProjectOrderRecordTypeEnum = ENUMERATION OF - (CHANGE - ,MAINTENANCE - ,MOVE - ,PURCHASE - ,WORK - ,USERDEFINED - ,NOTDEFINED); -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 IfcPropertySourceEnum = ENUMERATION OF - (DESIGN - ,DESIGNMAXIMUM - ,DESIGNMINIMUM - ,SIMULATED - ,ASBUILT - ,COMMISSIONING - ,MEASURED - ,USERDEFINED - ,NOTKNOWN); -END_TYPE; - -TYPE IfcProtectiveDeviceTypeEnum = ENUMERATION OF - (FUSEDISCONNECTOR - ,CIRCUITBREAKER - ,EARTHFAILUREDEVICE - ,RESIDUALCURRENTCIRCUITBREAKER - ,RESIDUALCURRENTSWITCH - ,VARISTOR - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcPumpTypeEnum = ENUMERATION OF - (CIRCULATOR - ,ENDSUCTION - ,SPLITCASE - ,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 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 - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcReinforcingBarSurfaceEnum = ENUMERATION OF - (PLAIN - ,TEXTURED); -END_TYPE; - -TYPE IfcResourceConsumptionEnum = ENUMERATION OF - (CONSUMED - ,PARTIALLYCONSUMED - ,NOTCONSUMED - ,OCCUPIED - ,PARTIALLYOCCUPIED - ,NOTOCCUPIED - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcRibPlateDirectionEnum = ENUMERATION OF - (DIRECTION_X - ,DIRECTION_Y); -END_TYPE; - -TYPE IfcRoleEnum = ENUMERATION OF - (SUPPLIER - ,MANUFACTURER - ,CONTRACTOR - ,SUBCONTRACTOR - ,ARCHITECT - ,STRUCTURALENGINEER - ,COSTENGINEER - ,CLIENT - ,BUILDINGOWNER - ,BUILDINGOPERATOR - ,MECHANICALENGINEER - ,ELECTRICALENGINEER - ,PROJECTMANAGER - ,FACILITIESMANAGER - ,CIVILENGINEER - ,COMISSIONINGENGINEER - ,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 - ,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 - (CO2SENSOR - ,FIRESENSOR - ,FLOWSENSOR - ,GASSENSOR - ,HEATSENSOR - ,HUMIDITYSENSOR - ,LIGHTSENSOR - ,MOISTURESENSOR - ,MOVEMENTSENSOR - ,PRESSURESENSOR - ,SMOKESENSOR - ,SOUNDSENSOR - ,TEMPERATURESENSOR - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcSequenceEnum = ENUMERATION OF - (START_START - ,START_FINISH - ,FINISH_START - ,FINISH_FINISH - ,NOTDEFINED); -END_TYPE; - -TYPE IfcServiceLifeFactorTypeEnum = ENUMERATION OF - (A_QUALITYOFCOMPONENTS - ,B_DESIGNLEVEL - ,C_WORKEXECUTIONLEVEL - ,D_INDOORENVIRONMENT - ,E_OUTDOORENVIRONMENT - ,F_INUSECONDITIONS - ,G_MAINTENANCELEVEL - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcServiceLifeTypeEnum = ENUMERATION OF - (ACTUALSERVICELIFE - ,EXPECTEDSERVICELIFE - ,OPTIMISTICREFERENCESERVICELIFE - ,PESSIMISTICREFERENCESERVICELIFE - ,REFERENCESERVICELIFE); -END_TYPE; - -TYPE IfcSlabTypeEnum = ENUMERATION OF - (FLOOR - ,ROOF - ,LANDING - ,BASESLAB - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcSoundScaleEnum = ENUMERATION OF - (DBA - ,DBB - ,DBC - ,NC - ,NR - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcSpaceHeaterTypeEnum = ENUMERATION OF - (SECTIONALRADIATOR - ,PANELRADIATOR - ,TUBULARRADIATOR - ,CONVECTOR - ,BASEBOARDHEATER - ,FINNEDTUBEUNIT - ,UNITHEATER - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcSpaceTypeEnum = ENUMERATION OF - (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 IfcStructuralCurveTypeEnum = ENUMERATION OF - (RIGID_JOINED_MEMBER - ,PIN_JOINED_MEMBER - ,CABLE - ,TENSION_MEMBER - ,COMPRESSION_MEMBER - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcStructuralSurfaceTypeEnum = ENUMERATION OF - (BENDING_ELEMENT - ,MEMBRANE_ELEMENT - ,SHELL - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcSurfaceSide = ENUMERATION OF - (POSITIVE - ,NEGATIVE - ,BOTH); -END_TYPE; - -TYPE IfcSurfaceTextureEnum = ENUMERATION OF - (BUMP - ,OPACITY - ,REFLECTION - ,SELFILLUMINATION - ,SHININESS - ,SPECULAR - ,TEXTURE - ,TRANSPARENCYMAP - ,NOTDEFINED); -END_TYPE; - -TYPE IfcSwitchingDeviceTypeEnum = ENUMERATION OF - (CONTACTOR - ,EMERGENCYSTOP - ,STARTER - ,SWITCHDISCONNECTOR - ,TOGGLESWITCH - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcTankTypeEnum = ENUMERATION OF - (PREFORMED - ,SECTIONAL - ,EXPANSION - ,PRESSUREVESSEL - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcTendonTypeEnum = ENUMERATION OF - (STRAND - ,WIRE - ,BAR - ,COATED - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcTextPath = ENUMERATION OF - (LEFT - ,RIGHT - ,UP - ,DOWN); -END_TYPE; - -TYPE IfcThermalLoadSourceEnum = ENUMERATION OF - (PEOPLE - ,LIGHTING - ,EQUIPMENT - ,VENTILATIONINDOORAIR - ,VENTILATIONOUTSIDEAIR - ,RECIRCULATEDAIR - ,EXHAUSTAIR - ,AIREXCHANGERATE - ,DRYBULBTEMPERATURE - ,RELATIVEHUMIDITY - ,INFILTRATION - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcThermalLoadTypeEnum = ENUMERATION OF - (SENSIBLE - ,LATENT - ,RADIANT - ,NOTDEFINED); -END_TYPE; - -TYPE IfcTimeSeriesDataTypeEnum = ENUMERATION OF - (CONTINUOUS - ,DISCRETE - ,DISCRETEBINARY - ,PIECEWISEBINARY - ,PIECEWISECONSTANT - ,PIECEWISECONTINUOUS - ,NOTDEFINED); -END_TYPE; - -TYPE IfcTimeSeriesScheduleTypeEnum = ENUMERATION OF - (ANNUAL - ,MONTHLY - ,WEEKLY - ,DAILY - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcTransformerTypeEnum = ENUMERATION OF - (CURRENT - ,FREQUENCY - ,VOLTAGE - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcTransitionCode = ENUMERATION OF - (DISCONTINUOUS - ,CONTINUOUS - ,CONTSAMEGRADIENT - ,CONTSAMEGRADIENTSAMECURVATURE); -END_TYPE; - -TYPE IfcTransportElementTypeEnum = ENUMERATION OF - (ELEVATOR - ,ESCALATOR - ,MOVINGWALKWAY - ,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 IfcUnitaryEquipmentTypeEnum = ENUMERATION OF - (AIRHANDLER - ,AIRCONDITIONINGUNIT - ,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 IfcWallTypeEnum = ENUMERATION OF - (STANDARD - ,POLYGONAL - ,SHEAR - ,ELEMENTEDWALL - ,PLUMBINGWALL - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcWasteTerminalTypeEnum = ENUMERATION OF - (FLOORTRAP - ,FLOORWASTE - ,GULLYSUMP - ,GULLYTRAP - ,GREASEINTERCEPTOR - ,OILINTERCEPTOR - ,PETROLINTERCEPTOR - ,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 IfcWorkControlTypeEnum = ENUMERATION OF - (ACTUAL - ,BASELINE - ,PLANNED - ,USERDEFINED - ,NOTDEFINED); -END_TYPE; - -TYPE IfcActorSelect = SELECT - (IfcOrganization - ,IfcPerson - ,IfcPersonAndOrganization); -END_TYPE; - -TYPE IfcAppliedValueSelect = SELECT - (IfcRatioMeasure - ,IfcMeasureWithUnit - ,IfcMonetaryMeasure); -END_TYPE; - -TYPE IfcAxis2Placement = SELECT - (IfcAxis2Placement2D - ,IfcAxis2Placement3D); -END_TYPE; - -TYPE IfcBooleanOperand = SELECT - (IfcSolidModel - ,IfcHalfSpaceSolid - ,IfcBooleanResult - ,IfcCsgPrimitive3D); -END_TYPE; - -TYPE IfcCharacterStyleSelect = SELECT - (IfcTextStyleForDefinedFont); -END_TYPE; - -TYPE IfcClassificationNotationSelect = SELECT - (IfcClassificationNotation - ,IfcClassificationReference); -END_TYPE; - -TYPE IfcColour = SELECT - (IfcColourSpecification - ,IfcPreDefinedColour); -END_TYPE; - -TYPE IfcColourOrFactor = SELECT - (IfcColourRgb - ,IfcNormalisedRatioMeasure); -END_TYPE; - -TYPE IfcConditionCriterionSelect = SELECT - (IfcLabel - ,IfcMeasureWithUnit); -END_TYPE; - -TYPE IfcCsgSelect = SELECT - (IfcBooleanResult - ,IfcCsgPrimitive3D); -END_TYPE; - -TYPE IfcCurveFontOrScaledCurveFontSelect = SELECT - (IfcCurveStyleFontSelect - ,IfcCurveStyleFontAndScaling); -END_TYPE; - -TYPE IfcCurveOrEdgeCurve = SELECT - (IfcBoundedCurve - ,IfcEdgeCurve); -END_TYPE; - -TYPE IfcCurveStyleFontSelect = SELECT - (IfcPreDefinedCurveFont - ,IfcCurveStyleFont); -END_TYPE; - -TYPE IfcDateTimeSelect = SELECT - (IfcCalendarDate - ,IfcLocalTime - ,IfcDateAndTime); -END_TYPE; - -TYPE IfcDefinedSymbolSelect = SELECT - (IfcPreDefinedSymbol - ,IfcExternallyDefinedSymbol); -END_TYPE; - -TYPE IfcDerivedMeasureValue = SELECT - (IfcVolumetricFlowRateMeasure - ,IfcTimeStamp - ,IfcThermalTransmittanceMeasure - ,IfcThermalResistanceMeasure - ,IfcThermalAdmittanceMeasure - ,IfcPressureMeasure - ,IfcPowerMeasure - ,IfcMassFlowRateMeasure - ,IfcMassDensityMeasure - ,IfcLinearVelocityMeasure - ,IfcKinematicViscosityMeasure - ,IfcIntegerCountRateMeasure - ,IfcHeatFluxDensityMeasure - ,IfcFrequencyMeasure - ,IfcEnergyMeasure - ,IfcElectricVoltageMeasure - ,IfcDynamicViscosityMeasure - ,IfcCompoundPlaneAngleMeasure - ,IfcAngularVelocityMeasure - ,IfcThermalConductivityMeasure - ,IfcMolecularWeightMeasure - ,IfcVaporPermeabilityMeasure - ,IfcMoistureDiffusivityMeasure - ,IfcIsothermalMoistureCapacityMeasure - ,IfcSpecificHeatCapacityMeasure - ,IfcMonetaryMeasure - ,IfcMagneticFluxDensityMeasure - ,IfcMagneticFluxMeasure - ,IfcLuminousFluxMeasure - ,IfcForceMeasure - ,IfcInductanceMeasure - ,IfcIlluminanceMeasure - ,IfcElectricResistanceMeasure - ,IfcElectricConductanceMeasure - ,IfcElectricChargeMeasure - ,IfcDoseEquivalentMeasure - ,IfcElectricCapacitanceMeasure - ,IfcAbsorbedDoseMeasure - ,IfcRadioActivityMeasure - ,IfcRotationalFrequencyMeasure - ,IfcTorqueMeasure - ,IfcAccelerationMeasure - ,IfcLinearForceMeasure - ,IfcLinearStiffnessMeasure - ,IfcModulusOfSubgradeReactionMeasure - ,IfcModulusOfElasticityMeasure - ,IfcMomentOfInertiaMeasure - ,IfcPlanarForceMeasure - ,IfcRotationalStiffnessMeasure - ,IfcShearModulusMeasure - ,IfcLinearMomentMeasure - ,IfcLuminousIntensityDistributionMeasure - ,IfcCurvatureMeasure - ,IfcMassPerLengthMeasure - ,IfcModulusOfLinearSubgradeReactionMeasure - ,IfcModulusOfRotationalSubgradeReactionMeasure - ,IfcRotationalMassMeasure - ,IfcSectionalAreaIntegralMeasure - ,IfcSectionModulusMeasure - ,IfcTemperatureGradientMeasure - ,IfcThermalExpansionCoefficientMeasure - ,IfcWarpingConstantMeasure - ,IfcWarpingMomentMeasure - ,IfcSoundPowerMeasure - ,IfcSoundPressureMeasure - ,IfcHeatingValueMeasure - ,IfcPHMeasure - ,IfcIonConcentrationMeasure); -END_TYPE; - -TYPE IfcDocumentSelect = SELECT - (IfcDocumentReference - ,IfcDocumentInformation); -END_TYPE; - -TYPE IfcDraughtingCalloutElement = SELECT - (IfcAnnotationCurveOccurrence - ,IfcAnnotationTextOccurrence - ,IfcAnnotationSymbolOccurrence); -END_TYPE; - -TYPE IfcFillAreaStyleTileShapeSelect = SELECT - (IfcFillAreaStyleTileSymbolWithStyle); -END_TYPE; - -TYPE IfcFillStyleSelect = SELECT - (IfcFillAreaStyleHatching - ,IfcFillAreaStyleTiles - ,IfcColour - ,IfcExternallyDefinedHatchStyle); -END_TYPE; - -TYPE IfcGeometricSetSelect = SELECT - (IfcPoint - ,IfcCurve - ,IfcSurface); -END_TYPE; - -TYPE IfcHatchLineDistanceSelect = SELECT - (IfcOneDirectionRepeatFactor - ,IfcPositiveLengthMeasure); -END_TYPE; - -TYPE IfcLayeredItem = SELECT - (IfcRepresentationItem - ,IfcRepresentation); -END_TYPE; - -TYPE IfcLibrarySelect = SELECT - (IfcLibraryReference - ,IfcLibraryInformation); -END_TYPE; - -TYPE IfcLightDistributionDataSourceSelect = SELECT - (IfcExternalReference - ,IfcLightIntensityDistribution); -END_TYPE; - -TYPE IfcMaterialSelect = SELECT - (IfcMaterial - ,IfcMaterialList - ,IfcMaterialLayerSetUsage - ,IfcMaterialLayerSet - ,IfcMaterialLayer); -END_TYPE; - -TYPE IfcMeasureValue = SELECT - (IfcVolumeMeasure - ,IfcTimeMeasure - ,IfcThermodynamicTemperatureMeasure - ,IfcSolidAngleMeasure - ,IfcPositiveRatioMeasure - ,IfcRatioMeasure - ,IfcPositivePlaneAngleMeasure - ,IfcPlaneAngleMeasure - ,IfcParameterValue - ,IfcNumericMeasure - ,IfcMassMeasure - ,IfcPositiveLengthMeasure - ,IfcLengthMeasure - ,IfcElectricCurrentMeasure - ,IfcDescriptiveMeasure - ,IfcCountMeasure - ,IfcContextDependentMeasure - ,IfcAreaMeasure - ,IfcAmountOfSubstanceMeasure - ,IfcLuminousIntensityMeasure - ,IfcNormalisedRatioMeasure - ,IfcComplexNumber); -END_TYPE; - -TYPE IfcMetricValueSelect = SELECT - (IfcDateTimeSelect - ,IfcMeasureWithUnit - ,IfcTable - ,IfcText - ,IfcTimeSeries - ,IfcCostValue); -END_TYPE; - -TYPE IfcObjectReferenceSelect = SELECT - (IfcMaterial - ,IfcPerson - ,IfcDateAndTime - ,IfcMaterialList - ,IfcOrganization - ,IfcCalendarDate - ,IfcLocalTime - ,IfcPersonAndOrganization - ,IfcMaterialLayer - ,IfcExternalReference - ,IfcTimeSeries - ,IfcAddress - ,IfcAppliedValue); -END_TYPE; - -TYPE IfcOrientationSelect = SELECT - (IfcPlaneAngleMeasure - ,IfcDirection); -END_TYPE; - -TYPE IfcPointOrVertexPoint = SELECT - (IfcPoint - ,IfcVertexPoint); -END_TYPE; - -TYPE IfcPresentationStyleSelect = SELECT - (IfcNullStyle - ,IfcCurveStyle - ,IfcSymbolStyle - ,IfcFillAreaStyle - ,IfcTextStyle - ,IfcSurfaceStyle); -END_TYPE; - -TYPE IfcShell = SELECT - (IfcClosedShell - ,IfcOpenShell); -END_TYPE; - -TYPE IfcSimpleValue = SELECT - (IfcInteger - ,IfcReal - ,IfcBoolean - ,IfcIdentifier - ,IfcText - ,IfcLabel - ,IfcLogical); -END_TYPE; - -TYPE IfcSizeSelect = SELECT - (IfcRatioMeasure - ,IfcLengthMeasure - ,IfcDescriptiveMeasure - ,IfcPositiveLengthMeasure - ,IfcNormalisedRatioMeasure - ,IfcPositiveRatioMeasure); -END_TYPE; - -TYPE IfcSpecularHighlightSelect = SELECT - (IfcSpecularExponent - ,IfcSpecularRoughness); -END_TYPE; - -TYPE IfcStructuralActivityAssignmentSelect = SELECT - (IfcStructuralItem - ,IfcElement); -END_TYPE; - -TYPE IfcSurfaceOrFaceSurface = SELECT - (IfcSurface - ,IfcFaceSurface - ,IfcFaceBasedSurfaceModel); -END_TYPE; - -TYPE IfcSurfaceStyleElementSelect = SELECT - (IfcSurfaceStyleShading - ,IfcSurfaceStyleLighting - ,IfcSurfaceStyleWithTextures - ,IfcExternallyDefinedSurfaceStyle - ,IfcSurfaceStyleRefraction); -END_TYPE; - -TYPE IfcSymbolStyleSelect = SELECT - (IfcColour); -END_TYPE; - -TYPE IfcTextFontSelect = SELECT - (IfcPreDefinedTextFont - ,IfcExternallyDefinedTextFont); -END_TYPE; - -TYPE IfcTextStyleSelect = SELECT - (IfcTextStyleWithBoxCharacteristics - ,IfcTextStyleTextModel); -END_TYPE; - -TYPE IfcTrimmingSelect = SELECT - (IfcCartesianPoint - ,IfcParameterValue); -END_TYPE; - -TYPE IfcUnit = SELECT - (IfcDerivedUnit - ,IfcNamedUnit - ,IfcMonetaryUnit); -END_TYPE; - -TYPE IfcValue = SELECT - (IfcMeasureValue - ,IfcSimpleValue - ,IfcDerivedMeasureValue); -END_TYPE; - -TYPE IfcVectorOrDirection = SELECT - (IfcDirection - ,IfcVector); -END_TYPE; - -ENTITY Ifc2DCompositeCurve - SUBTYPE OF (IfcCompositeCurve); - WHERE - WR1 : SELF\IfcCompositeCurve.ClosedCurve; - WR2 : SELF\IfcCurve.Dim = 2; -END_ENTITY; - -ENTITY IfcActionRequest - SUBTYPE OF (IfcControl); - RequestID : IfcIdentifier; - UNIQUE - UR2 : RequestID; -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; - WHERE - WR1 : (Role <> IfcRoleEnum.USERDEFINED) OR - ((Role = IfcRoleEnum.USERDEFINED) AND - EXISTS(SELF.UserDefinedRole)); -END_ENTITY; - -ENTITY IfcActuatorType - SUBTYPE OF (IfcDistributionControlElementType); - PredefinedType : IfcActuatorTypeEnum; -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 IfcAirTerminalBoxType - SUBTYPE OF (IfcFlowControllerType); - PredefinedType : IfcAirTerminalBoxTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcAirTerminalBoxTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcAirTerminalBoxTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcAirTerminalType - SUBTYPE OF (IfcFlowTerminalType); - PredefinedType : IfcAirTerminalTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcAirTerminalTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcAirTerminalTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcAirToAirHeatRecoveryType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcAirToAirHeatRecoveryTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcAlarmType - SUBTYPE OF (IfcDistributionControlElementType); - PredefinedType : IfcAlarmTypeEnum; -END_ENTITY; - -ENTITY IfcAngularDimension - SUBTYPE OF (IfcDimensionCurveDirectedCallout); -END_ENTITY; - -ENTITY IfcAnnotation - SUBTYPE OF (IfcProduct); - INVERSE - ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements; -END_ENTITY; - -ENTITY IfcAnnotationCurveOccurrence - SUPERTYPE OF (ONEOF - (IfcDimensionCurve - ,IfcProjectionCurve)) - SUBTYPE OF (IfcAnnotationOccurrence); - WHERE - WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR - ('IFC2X3.IFCCURVE' IN TYPEOF (SELF\IfcStyledItem.Item)); -END_ENTITY; - -ENTITY IfcAnnotationFillArea - SUBTYPE OF (IfcGeometricRepresentationItem); - OuterBoundary : IfcCurve; - InnerBoundaries : OPTIONAL SET [1:?] OF IfcCurve; -END_ENTITY; - -ENTITY IfcAnnotationFillAreaOccurrence - SUBTYPE OF (IfcAnnotationOccurrence); - FillStyleTarget : OPTIONAL IfcPoint; - GlobalOrLocal : OPTIONAL IfcGlobalOrLocalEnum; - WHERE - WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR - ('IFC2X3.IFCANNOTATIONFILLAREA' IN TYPEOF (SELF\IfcStyledItem.Item)); -END_ENTITY; - -ENTITY IfcAnnotationOccurrence - ABSTRACT SUPERTYPE OF (ONEOF - (IfcAnnotationCurveOccurrence - ,IfcAnnotationFillAreaOccurrence - ,IfcAnnotationSurfaceOccurrence - ,IfcAnnotationSymbolOccurrence - ,IfcAnnotationTextOccurrence)) - SUBTYPE OF (IfcStyledItem); -END_ENTITY; - -ENTITY IfcAnnotationSurface - SUBTYPE OF (IfcGeometricRepresentationItem); - Item : IfcGeometricRepresentationItem; - TextureCoordinates : OPTIONAL IfcTextureCoordinate; - WHERE - WR01 : SIZEOF([ - 'IFC2X3.IFCSURFACE', - 'IFC2X3.IFCSHELLBASEDSURFACEMODEL', - 'IFC2X3.IFCFACEBASEDSURFACEMODEL', - 'IFC2X3.IFCSOLIDMODEL', - 'IFC2X3.IFCBOOLEANRESULT', - 'IFC2X3.IFCCSGPRIMITIVE3D'] - * TYPEOF(Item) - ) >= 1; -END_ENTITY; - -ENTITY IfcAnnotationSurfaceOccurrence - SUBTYPE OF (IfcAnnotationOccurrence); - WHERE - WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR - (SIZEOF( - ['IFC2X3.IFCSURFACE', - 'IFC2X3.IFCFACEBASEDSURFACEMODEL', - 'IFC2X3.IFCSHELLBASEDSURFACEMODEL', - 'IFC2X3.IFCSOLIDMODEL'] * - TYPEOF(SELF\IfcStyledItem.Item)) > 0); -END_ENTITY; - -ENTITY IfcAnnotationSymbolOccurrence - SUPERTYPE OF (ONEOF - (IfcTerminatorSymbol)) - SUBTYPE OF (IfcAnnotationOccurrence); - WHERE - WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR - ('IFC2X3.IFCDEFINEDSYMBOL' IN TYPEOF (SELF\IfcStyledItem.Item)); -END_ENTITY; - -ENTITY IfcAnnotationTextOccurrence - SUBTYPE OF (IfcAnnotationOccurrence); - WHERE - WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR - ('IFC2X3.IFCTEXTLITERAL' IN TYPEOF (SELF\IfcStyledItem.Item)); -END_ENTITY; - -ENTITY IfcApplication; - ApplicationDeveloper : IfcOrganization; - Version : IfcLabel; - ApplicationFullName : IfcLabel; - ApplicationIdentifier : IfcIdentifier; - UNIQUE - UR1 : ApplicationIdentifier; - UR2 : ApplicationFullName, Version; -END_ENTITY; - -ENTITY IfcAppliedValue - ABSTRACT SUPERTYPE OF (ONEOF - (IfcCostValue - ,IfcEnvironmentalImpactValue)); - Name : OPTIONAL IfcLabel; - Description : OPTIONAL IfcText; - AppliedValue : OPTIONAL IfcAppliedValueSelect; - UnitBasis : OPTIONAL IfcMeasureWithUnit; - ApplicableDate : OPTIONAL IfcDateTimeSelect; - FixedUntilDate : OPTIONAL IfcDateTimeSelect; - INVERSE - ValuesReferenced : SET [0:?] OF IfcReferencesValueDocument FOR ReferencingValues; - ValueOfComponents : SET [0:?] OF IfcAppliedValueRelationship FOR ComponentOfTotal; - IsComponentIn : SET [0:?] OF IfcAppliedValueRelationship FOR Components; - WHERE - WR1 : EXISTS (AppliedValue) OR - EXISTS (ValueOfComponents); -END_ENTITY; - -ENTITY IfcAppliedValueRelationship; - ComponentOfTotal : IfcAppliedValue; - Components : SET [1:?] OF IfcAppliedValue; - ArithmeticOperator : IfcArithmeticOperatorEnum; - Name : OPTIONAL IfcLabel; - Description : OPTIONAL IfcText; -END_ENTITY; - -ENTITY IfcApproval; - Description : OPTIONAL IfcText; - ApprovalDateTime : IfcDateTimeSelect; - ApprovalStatus : OPTIONAL IfcLabel; - ApprovalLevel : OPTIONAL IfcLabel; - ApprovalQualifier : OPTIONAL IfcText; - Name : IfcLabel; - Identifier : IfcIdentifier; - INVERSE - Actors : SET [0:?] OF IfcApprovalActorRelationship FOR Approval; - IsRelatedWith : SET [0:?] OF IfcApprovalRelationship FOR RelatedApproval; - Relates : SET [0:?] OF IfcApprovalRelationship FOR RelatingApproval; -END_ENTITY; - -ENTITY IfcApprovalActorRelationship; - Actor : IfcActorSelect; - Approval : IfcApproval; - Role : IfcActorRole; -END_ENTITY; - -ENTITY IfcApprovalPropertyRelationship; - ApprovedProperties : SET [1:?] OF IfcProperty; - Approval : IfcApproval; -END_ENTITY; - -ENTITY IfcApprovalRelationship; - RelatedApproval : IfcApproval; - RelatingApproval : IfcApproval; - Description : OPTIONAL IfcText; - Name : IfcLabel; -END_ENTITY; - -ENTITY IfcArbitraryClosedProfileDef - SUPERTYPE OF (ONEOF - (IfcArbitraryProfileDefWithVoids)) - SUBTYPE OF (IfcProfileDef); - OuterCurve : IfcCurve; - WHERE - WR1 : OuterCurve.Dim = 2; - WR2 : NOT('IFC2X3.IFCLINE' IN TYPEOF(OuterCurve)); - WR3 : NOT('IFC2X3.IFCOFFSETCURVE2D' IN TYPEOF(OuterCurve)); -END_ENTITY; - -ENTITY IfcArbitraryOpenProfileDef - SUPERTYPE OF (ONEOF - (IfcCenterLineProfileDef)) - SUBTYPE OF (IfcProfileDef); - Curve : IfcBoundedCurve; - WHERE - WR11 : ('IFC2X3.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 | 'IFC2X3.IFCLINE' IN TYPEOF(temp))) = 0; -END_ENTITY; - -ENTITY IfcAsset - SUBTYPE OF (IfcGroup); - AssetID : IfcIdentifier; - OriginalValue : IfcCostValue; - CurrentValue : IfcCostValue; - TotalReplacementCost : IfcCostValue; - Owner : IfcActorSelect; - User : IfcActorSelect; - ResponsiblePerson : IfcPerson; - IncorporationDate : IfcCalendarDate; - DepreciatedValue : IfcCostValue; - WHERE - WR1 : SIZEOF(QUERY(Temp <* SELF\IfcGroup.IsGroupedBy.RelatedObjects | NOT('IFC2X3.IFCELEMENT' IN TYPEOF(Temp)))) = 0; -END_ENTITY; - -ENTITY IfcAsymmetricIShapeProfileDef - SUBTYPE OF (IfcIShapeProfileDef); - TopFlangeWidth : IfcPositiveLengthMeasure; - TopFlangeThickness : OPTIONAL IfcPositiveLengthMeasure; - TopFlangeFilletRadius : OPTIONAL IfcPositiveLengthMeasure; - CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure; -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 - WR1 : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3); - WR2 : 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 - WR1 : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 2); - WR2 : 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 - WR1 : SELF\IfcPlacement.Location.Dim = 3; - WR2 : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3); - WR3 : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 3); - WR4 : (NOT (EXISTS (Axis))) OR (NOT (EXISTS (RefDirection))) OR (IfcCrossProduct(Axis,RefDirection).Magnitude > 0.0); - WR5 : NOT ((EXISTS (Axis)) XOR (EXISTS (RefDirection))); -END_ENTITY; - -ENTITY IfcBSplineCurve - ABSTRACT SUPERTYPE OF (ONEOF - (IfcBezierCurve)) - SUBTYPE OF (IfcBoundedCurve); - Degree : INTEGER; - ControlPointsList : LIST [2:?] OF IfcCartesianPoint; - CurveForm : IfcBSplineCurveForm; - ClosedCurve : LOGICAL; - SelfIntersect : LOGICAL; - DERIVE - ControlPoints : ARRAY [0:255] OF IfcCartesianPoint := IfcListToArray(ControlPointsList,0,UpperIndexOnControlPoints); - UpperIndexOnControlPoints : INTEGER := (SIZEOF(ControlPointsList) - 1); - WHERE - WR41 : SIZEOF(QUERY(Temp <* ControlPointsList | - Temp.Dim <> ControlPointsList[1].Dim)) - = 0; -END_ENTITY; - -ENTITY IfcBeam - SUBTYPE OF (IfcBuildingElement); -END_ENTITY; - -ENTITY IfcBeamType - SUBTYPE OF (IfcBuildingElementType); - PredefinedType : IfcBeamTypeEnum; -END_ENTITY; - -ENTITY IfcBezierCurve - SUPERTYPE OF (ONEOF - (IfcRationalBezierCurve)) - SUBTYPE OF (IfcBSplineCurve); -END_ENTITY; - -ENTITY IfcBlobTexture - SUBTYPE OF (IfcSurfaceTexture); - RasterFormat : IfcIdentifier; - RasterCode : BOOLEAN; - WHERE - WR11 : SELF.RasterFormat IN ['BMP', 'JPG', 'GIF', 'PNG']; -END_ENTITY; - -ENTITY IfcBlock - SUBTYPE OF (IfcCsgPrimitive3D); - XLength : IfcPositiveLengthMeasure; - YLength : IfcPositiveLengthMeasure; - ZLength : IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcBoilerType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcBoilerTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcBoilerTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcBoilerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcBooleanClippingResult - SUBTYPE OF (IfcBooleanResult); - WHERE - WR1 : ('IFC2X3.IFCSWEPTAREASOLID' IN TYPEOF(FirstOperand)) OR ('IFC2X3.IFCBOOLEANCLIPPINGRESULT' IN TYPEOF(FirstOperand)); - WR2 : ('IFC2X3.IFCHALFSPACESOLID' IN TYPEOF(SecondOperand)); - WR3 : 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 - WR1 : FirstOperand.Dim = SecondOperand.Dim; -END_ENTITY; - -ENTITY IfcBoundaryCondition - ABSTRACT SUPERTYPE OF (ONEOF - (IfcBoundaryEdgeCondition - ,IfcBoundaryFaceCondition - ,IfcBoundaryNodeCondition)); - Name : OPTIONAL IfcLabel; -END_ENTITY; - -ENTITY IfcBoundaryEdgeCondition - SUBTYPE OF (IfcBoundaryCondition); - LinearStiffnessByLengthX : OPTIONAL IfcModulusOfLinearSubgradeReactionMeasure; - LinearStiffnessByLengthY : OPTIONAL IfcModulusOfLinearSubgradeReactionMeasure; - LinearStiffnessByLengthZ : OPTIONAL IfcModulusOfLinearSubgradeReactionMeasure; - RotationalStiffnessByLengthX : OPTIONAL IfcModulusOfRotationalSubgradeReactionMeasure; - RotationalStiffnessByLengthY : OPTIONAL IfcModulusOfRotationalSubgradeReactionMeasure; - RotationalStiffnessByLengthZ : OPTIONAL IfcModulusOfRotationalSubgradeReactionMeasure; -END_ENTITY; - -ENTITY IfcBoundaryFaceCondition - SUBTYPE OF (IfcBoundaryCondition); - LinearStiffnessByAreaX : OPTIONAL IfcModulusOfSubgradeReactionMeasure; - LinearStiffnessByAreaY : OPTIONAL IfcModulusOfSubgradeReactionMeasure; - LinearStiffnessByAreaZ : OPTIONAL IfcModulusOfSubgradeReactionMeasure; -END_ENTITY; - -ENTITY IfcBoundaryNodeCondition - SUPERTYPE OF (ONEOF - (IfcBoundaryNodeConditionWarping)) - SUBTYPE OF (IfcBoundaryCondition); - LinearStiffnessX : OPTIONAL IfcLinearStiffnessMeasure; - LinearStiffnessY : OPTIONAL IfcLinearStiffnessMeasure; - LinearStiffnessZ : OPTIONAL IfcLinearStiffnessMeasure; - RotationalStiffnessX : OPTIONAL IfcRotationalStiffnessMeasure; - RotationalStiffnessY : OPTIONAL IfcRotationalStiffnessMeasure; - RotationalStiffnessZ : OPTIONAL IfcRotationalStiffnessMeasure; -END_ENTITY; - -ENTITY IfcBoundaryNodeConditionWarping - SUBTYPE OF (IfcBoundaryNodeCondition); - WarpingStiffness : OPTIONAL IfcWarpingMomentMeasure; -END_ENTITY; - -ENTITY IfcBoundedCurve - ABSTRACT SUPERTYPE OF (ONEOF - (IfcBSplineCurve - ,IfcCompositeCurve - ,IfcPolyline - ,IfcTrimmedCurve)) - SUBTYPE OF (IfcCurve); -END_ENTITY; - -ENTITY IfcBoundedSurface - SUPERTYPE OF (ONEOF - (IfcCurveBoundedPlane - ,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 - WR1 : NOT ('IFC2X3.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 - ,IfcBuildingElementComponent - ,IfcBuildingElementProxy - ,IfcColumn - ,IfcCovering - ,IfcCurtainWall - ,IfcDoor - ,IfcFooting - ,IfcMember - ,IfcPile - ,IfcPlate - ,IfcRailing - ,IfcRamp - ,IfcRampFlight - ,IfcRoof - ,IfcSlab - ,IfcStair - ,IfcStairFlight - ,IfcWall - ,IfcWindow)) - SUBTYPE OF (IfcElement); -END_ENTITY; - -ENTITY IfcBuildingElementComponent - ABSTRACT SUPERTYPE OF (ONEOF - (IfcBuildingElementPart - ,IfcReinforcingElement)) - SUBTYPE OF (IfcBuildingElement); -END_ENTITY; - -ENTITY IfcBuildingElementPart - SUBTYPE OF (IfcBuildingElementComponent); -END_ENTITY; - -ENTITY IfcBuildingElementProxy - SUBTYPE OF (IfcBuildingElement); - CompositionType : OPTIONAL IfcElementCompositionEnum; - WHERE - WR1 : EXISTS(SELF\IfcRoot.Name); -END_ENTITY; - -ENTITY IfcBuildingElementProxyType - SUBTYPE OF (IfcBuildingElementType); - PredefinedType : IfcBuildingElementProxyTypeEnum; -END_ENTITY; - -ENTITY IfcBuildingElementType - ABSTRACT SUPERTYPE OF (ONEOF - (IfcBeamType - ,IfcBuildingElementProxyType - ,IfcColumnType - ,IfcCoveringType - ,IfcCurtainWallType - ,IfcMemberType - ,IfcPlateType - ,IfcRailingType - ,IfcRampFlightType - ,IfcSlabType - ,IfcStairFlightType - ,IfcWallType)) - SUBTYPE OF (IfcElementType); -END_ENTITY; - -ENTITY IfcBuildingStorey - SUBTYPE OF (IfcSpatialStructureElement); - Elevation : OPTIONAL IfcLengthMeasure; -END_ENTITY; - -ENTITY IfcCShapeProfileDef - SUBTYPE OF (IfcParameterizedProfileDef); - Depth : IfcPositiveLengthMeasure; - Width : IfcPositiveLengthMeasure; - WallThickness : IfcPositiveLengthMeasure; - Girth : IfcPositiveLengthMeasure; - InternalFilletRadius : OPTIONAL IfcPositiveLengthMeasure; - CentreOfGravityInX : OPTIONAL IfcPositiveLengthMeasure; - WHERE - WR1 : Girth < (Depth / 2.); - WR2 : NOT(EXISTS(InternalFilletRadius)) OR - ((InternalFilletRadius <= Width/2.) AND (InternalFilletRadius <= Depth/2.)); - WR3 : (WallThickness < Width/2.) AND (WallThickness < Depth/2.); -END_ENTITY; - -ENTITY IfcCableCarrierFittingType - SUBTYPE OF (IfcFlowFittingType); - PredefinedType : IfcCableCarrierFittingTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcCableCarrierFittingTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcCableCarrierFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcCableCarrierSegmentType - SUBTYPE OF (IfcFlowSegmentType); - PredefinedType : IfcCableCarrierSegmentTypeEnum; -END_ENTITY; - -ENTITY IfcCableSegmentType - SUBTYPE OF (IfcFlowSegmentType); - PredefinedType : IfcCableSegmentTypeEnum; -END_ENTITY; - -ENTITY IfcCalendarDate; - DayComponent : IfcDayInMonthNumber; - MonthComponent : IfcMonthInYearNumber; - YearComponent : IfcYearNumber; - WHERE - WR21 : IfcValidCalendarDate (SELF); -END_ENTITY; - -ENTITY IfcCartesianPoint - SUBTYPE OF (IfcPoint); - Coordinates : LIST [1:3] OF IfcLengthMeasure; - DERIVE - Dim : IfcDimensionCount := HIINDEX(Coordinates); - WHERE - WR1 : HIINDEX(Coordinates) >= 2; -END_ENTITY; - -ENTITY IfcCartesianTransformationOperator - ABSTRACT SUPERTYPE OF (ONEOF - (IfcCartesianTransformationOperator2D - ,IfcCartesianTransformationOperator3D)) - SUBTYPE OF (IfcGeometricRepresentationItem); - Axis1 : OPTIONAL IfcDirection; - Axis2 : OPTIONAL IfcDirection; - LocalOrigin : IfcCartesianPoint; - Scale : OPTIONAL REAL; - DERIVE - Scl : REAL := NVL(Scale, 1.0); - Dim : IfcDimensionCount := LocalOrigin.Dim; - WHERE - WR1 : 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 - WR1 : SELF\IfcCartesianTransformationOperator.Dim = 2; - WR2 : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR - (SELF\IfcCartesianTransformationOperator.Axis1.Dim = 2); - WR3 : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR - (SELF\IfcCartesianTransformationOperator.Axis2.Dim = 2); -END_ENTITY; - -ENTITY IfcCartesianTransformationOperator2DnonUniform - SUBTYPE OF (IfcCartesianTransformationOperator2D); - Scale2 : OPTIONAL REAL; - DERIVE - Scl2 : REAL := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl); - WHERE - WR1 : 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 - WR1 : SELF\IfcCartesianTransformationOperator.Dim = 3; - WR2 : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR - (SELF\IfcCartesianTransformationOperator.Axis1.Dim = 3); - WR3 : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR - (SELF\IfcCartesianTransformationOperator.Axis2.Dim = 3); - WR4 : NOT(EXISTS(Axis3)) OR (Axis3.Dim = 3); -END_ENTITY; - -ENTITY IfcCartesianTransformationOperator3DnonUniform - SUBTYPE OF (IfcCartesianTransformationOperator3D); - Scale2 : OPTIONAL REAL; - Scale3 : OPTIONAL REAL; - DERIVE - Scl2 : REAL := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl); - Scl3 : REAL := NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl); - WHERE - WR1 : Scl2 > 0.0; - WR2 : Scl3 > 0.0; -END_ENTITY; - -ENTITY IfcCenterLineProfileDef - SUBTYPE OF (IfcArbitraryOpenProfileDef); - Thickness : IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcChamferEdgeFeature - SUBTYPE OF (IfcEdgeFeature); - Width : OPTIONAL IfcPositiveLengthMeasure; - Height : OPTIONAL IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcChillerType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcChillerTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcChillerTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcChillerTypeEnum.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 IfcClassification; - Source : IfcLabel; - Edition : IfcLabel; - EditionDate : OPTIONAL IfcCalendarDate; - Name : IfcLabel; - INVERSE - Contains : SET [0:?] OF IfcClassificationItem FOR ItemOf; -END_ENTITY; - -ENTITY IfcClassificationItem; - Notation : IfcClassificationNotationFacet; - ItemOf : OPTIONAL IfcClassification; - Title : IfcLabel; - INVERSE - IsClassifiedItemIn : SET [0:1] OF IfcClassificationItemRelationship FOR RelatedItems; - IsClassifyingItemIn : SET [0:1] OF IfcClassificationItemRelationship FOR RelatingItem; -END_ENTITY; - -ENTITY IfcClassificationItemRelationship; - RelatingItem : IfcClassificationItem; - RelatedItems : SET [1:?] OF IfcClassificationItem; -END_ENTITY; - -ENTITY IfcClassificationNotation; - NotationFacets : SET [1:?] OF IfcClassificationNotationFacet; -END_ENTITY; - -ENTITY IfcClassificationNotationFacet; - NotationValue : IfcLabel; -END_ENTITY; - -ENTITY IfcClassificationReference - SUBTYPE OF (IfcExternalReference); - ReferencedSource : OPTIONAL IfcClassification; -END_ENTITY; - -ENTITY IfcClosedShell - SUBTYPE OF (IfcConnectedFaceSet); -END_ENTITY; - -ENTITY IfcCoilType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcCoilTypeEnum; - WHERE - WR1 : (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 IfcColourSpecification - ABSTRACT SUPERTYPE OF (ONEOF - (IfcColourRgb)); - Name : OPTIONAL IfcLabel; -END_ENTITY; - -ENTITY IfcColumn - SUBTYPE OF (IfcBuildingElement); -END_ENTITY; - -ENTITY IfcColumnType - SUBTYPE OF (IfcBuildingElementType); - PredefinedType : IfcColumnTypeEnum; -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 IfcCompositeCurve - SUPERTYPE OF (ONEOF - (Ifc2DCompositeCurve)) - SUBTYPE OF (IfcBoundedCurve); - Segments : LIST [1:?] OF IfcCompositeCurveSegment; - SelfIntersect : LOGICAL; - DERIVE - NSegments : INTEGER := SIZEOF(Segments); - ClosedCurve : LOGICAL := Segments[NSegments].Transition <> Discontinuous; - WHERE - WR41 : ((NOT ClosedCurve) AND (SIZEOF(QUERY(Temp <* Segments | Temp.Transition = Discontinuous)) = 1)) OR ((ClosedCurve) AND (SIZEOF(QUERY(Temp <* Segments | Temp.Transition = Discontinuous)) = 0)); - WR42 : SIZEOF( QUERY( Temp <* Segments | Temp.Dim <> Segments[1].Dim)) = 0; -END_ENTITY; - -ENTITY IfcCompositeCurveSegment - SUBTYPE OF (IfcGeometricRepresentationItem); - Transition : IfcTransitionCode; - SameSense : BOOLEAN; - ParentCurve : IfcCurve; - DERIVE - Dim : IfcDimensionCount := ParentCurve.Dim; - INVERSE - UsingCurves : SET [1:?] OF IfcCompositeCurve FOR Segments; - WHERE - WR1 : ('IFC2X3.IFCBOUNDEDCURVE' IN TYPEOF(ParentCurve)); -END_ENTITY; - -ENTITY IfcCompositeProfileDef - SUBTYPE OF (IfcProfileDef); - Profiles : SET [2:?] OF IfcProfileDef; - Label : OPTIONAL IfcLabel; - WHERE - WR1 : SIZEOF(QUERY(temp <* Profiles | temp.ProfileType <> Profiles[1].ProfileType)) = 0; - WR2 : SIZEOF(QUERY(temp <* Profiles | 'IFC2X3.IFCCOMPOSITEPROFILEDEF' IN TYPEOF(temp))) = 0; -END_ENTITY; - -ENTITY IfcCompressorType - SUBTYPE OF (IfcFlowMovingDeviceType); - PredefinedType : IfcCompressorTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcCompressorTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcCompressorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcCondenserType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcCondenserTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcCondenserTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcCondenserTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcCondition - SUBTYPE OF (IfcGroup); -END_ENTITY; - -ENTITY IfcConditionCriterion - SUBTYPE OF (IfcControl); - Criterion : IfcConditionCriterionSelect; - CriterionDateTime : IfcDateTimeSelect; - WHERE - WR1 : EXISTS(SELF\IfcRoot.Name); -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 - ,IfcConnectionPortGeometry - ,IfcConnectionSurfaceGeometry)); -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 IfcConnectionPortGeometry - SUBTYPE OF (IfcConnectionGeometry); - LocationAtRelatingElement : IfcAxis2Placement; - LocationAtRelatedElement : OPTIONAL IfcAxis2Placement; - ProfileOfPort : IfcProfileDef; -END_ENTITY; - -ENTITY IfcConnectionSurfaceGeometry - SUBTYPE OF (IfcConnectionGeometry); - SurfaceOnRelatingElement : IfcSurfaceOrFaceSurface; - SurfaceOnRelatedElement : OPTIONAL IfcSurfaceOrFaceSurface; -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 IfcDateTimeSelect; - UserDefinedGrade : OPTIONAL IfcLabel; - INVERSE - ClassifiedAs : SET [0:?] OF IfcConstraintClassificationRelationship FOR ClassifiedConstraint; - RelatesConstraints : SET [0:?] OF IfcConstraintRelationship FOR RelatingConstraint; - IsRelatedWith : SET [0:?] OF IfcConstraintRelationship FOR RelatedConstraints; - PropertiesForConstraint : SET [0:?] OF IfcPropertyConstraintRelationship FOR RelatingConstraint; - Aggregates : SET [0:?] OF IfcConstraintAggregationRelationship FOR RelatingConstraint; - IsAggregatedIn : SET [0:?] OF IfcConstraintAggregationRelationship FOR RelatedConstraints; - WHERE - WR11 : (ConstraintGrade <> IfcConstraintEnum.USERDEFINED) OR - ((ConstraintGrade = IfcConstraintEnum.USERDEFINED) AND EXISTS(SELF\IfcConstraint.UserDefinedGrade)); -END_ENTITY; - -ENTITY IfcConstraintAggregationRelationship; - Name : OPTIONAL IfcLabel; - Description : OPTIONAL IfcText; - RelatingConstraint : IfcConstraint; - RelatedConstraints : LIST [1:?] OF UNIQUE IfcConstraint; - LogicalAggregator : IfcLogicalOperatorEnum; - WHERE - WR11 : SIZEOF(QUERY(temp <* RelatedConstraints | - temp :=: RelatingConstraint - )) = 0; -END_ENTITY; - -ENTITY IfcConstraintClassificationRelationship; - ClassifiedConstraint : IfcConstraint; - RelatedClassifications : SET [1:?] OF IfcClassificationNotationSelect; -END_ENTITY; - -ENTITY IfcConstraintRelationship; - Name : OPTIONAL IfcLabel; - Description : OPTIONAL IfcText; - RelatingConstraint : IfcConstraint; - RelatedConstraints : SET [1:?] OF IfcConstraint; - WHERE - WR11 : SIZEOF(QUERY(temp <* RelatedConstraints | temp :=: RelatingConstraint )) = 0; -END_ENTITY; - -ENTITY IfcConstructionEquipmentResource - SUBTYPE OF (IfcConstructionResource); -END_ENTITY; - -ENTITY IfcConstructionMaterialResource - SUBTYPE OF (IfcConstructionResource); - Suppliers : OPTIONAL SET [1:?] OF IfcActorSelect; - UsageRatio : OPTIONAL IfcRatioMeasure; - WHERE - WR1 : SIZEOF(SELF\IfcResource.ResourceOf) <=1; - WR2 : NOT(EXISTS(SELF\IfcResource.ResourceOf[1])) OR - (SELF\IfcResource.ResourceOf[1].RelatedObjectsType = IfcObjectTypeEnum.PRODUCT); -END_ENTITY; - -ENTITY IfcConstructionProductResource - SUBTYPE OF (IfcConstructionResource); - WHERE - WR1 : SIZEOF(SELF\IfcResource.ResourceOf) <=1; - WR2 : NOT(EXISTS(SELF\IfcResource.ResourceOf[1])) OR - (SELF\IfcResource.ResourceOf[1].RelatedObjectsType = IfcObjectTypeEnum.PRODUCT); -END_ENTITY; - -ENTITY IfcConstructionResource - ABSTRACT SUPERTYPE OF (ONEOF - (IfcConstructionEquipmentResource - ,IfcConstructionMaterialResource - ,IfcConstructionProductResource - ,IfcCrewResource - ,IfcLaborResource - ,IfcSubContractResource)) - SUBTYPE OF (IfcResource); - ResourceIdentifier : OPTIONAL IfcIdentifier; - ResourceGroup : OPTIONAL IfcLabel; - ResourceConsumption : OPTIONAL IfcResourceConsumptionEnum; - BaseQuantity : OPTIONAL IfcMeasureWithUnit; -END_ENTITY; - -ENTITY IfcContextDependentUnit - SUBTYPE OF (IfcNamedUnit); - Name : IfcLabel; -END_ENTITY; - -ENTITY IfcControl - ABSTRACT SUPERTYPE OF (ONEOF - (IfcActionRequest - ,IfcConditionCriterion - ,IfcCostItem - ,IfcCostSchedule - ,IfcEquipmentStandard - ,IfcFurnitureStandard - ,IfcPerformanceHistory - ,IfcPermit - ,IfcProjectOrder - ,IfcProjectOrderRecord - ,IfcScheduleTimeControl - ,IfcServiceLife - ,IfcSpaceProgram - ,IfcTimeSeriesSchedule - ,IfcWorkControl)) - SUBTYPE OF (IfcObject); - INVERSE - Controls : SET [0:?] OF IfcRelAssignsToControl FOR RelatingControl; -END_ENTITY; - -ENTITY IfcControllerType - SUBTYPE OF (IfcDistributionControlElementType); - PredefinedType : IfcControllerTypeEnum; -END_ENTITY; - -ENTITY IfcConversionBasedUnit - SUBTYPE OF (IfcNamedUnit); - Name : IfcLabel; - ConversionFactor : IfcMeasureWithUnit; -END_ENTITY; - -ENTITY IfcCooledBeamType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcCooledBeamTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcCooledBeamTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcCooledBeamTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcCoolingTowerType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcCoolingTowerTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcCoolingTowerTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcCoolingTowerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcCoordinatedUniversalTimeOffset; - HourOffset : IfcHourInDay; - MinuteOffset : OPTIONAL IfcMinuteInHour; - Sense : IfcAheadOrBehind; -END_ENTITY; - -ENTITY IfcCostItem - SUBTYPE OF (IfcControl); -END_ENTITY; - -ENTITY IfcCostSchedule - SUBTYPE OF (IfcControl); - SubmittedBy : OPTIONAL IfcActorSelect; - PreparedBy : OPTIONAL IfcActorSelect; - SubmittedOn : OPTIONAL IfcDateTimeSelect; - Status : OPTIONAL IfcLabel; - TargetUsers : OPTIONAL SET [1:?] OF IfcActorSelect; - UpdateDate : OPTIONAL IfcDateTimeSelect; - ID : IfcIdentifier; - PredefinedType : IfcCostScheduleTypeEnum; - UNIQUE - UR2 : ID; -END_ENTITY; - -ENTITY IfcCostValue - SUBTYPE OF (IfcAppliedValue); - CostType : IfcLabel; - Condition : OPTIONAL IfcText; -END_ENTITY; - -ENTITY IfcCovering - SUBTYPE OF (IfcBuildingElement); - PredefinedType : OPTIONAL IfcCoveringTypeEnum; - INVERSE - CoversSpaces : SET [0:1] OF IfcRelCoversSpaces FOR RelatedCoverings; - Covers : SET [0:1] OF IfcRelCoversBldgElements FOR RelatedCoverings; -END_ENTITY; - -ENTITY IfcCoveringType - SUBTYPE OF (IfcBuildingElementType); - PredefinedType : IfcCoveringTypeEnum; -END_ENTITY; - -ENTITY IfcCraneRailAShapeProfileDef - SUBTYPE OF (IfcParameterizedProfileDef); - OverallHeight : IfcPositiveLengthMeasure; - BaseWidth2 : IfcPositiveLengthMeasure; - Radius : OPTIONAL IfcPositiveLengthMeasure; - HeadWidth : IfcPositiveLengthMeasure; - HeadDepth2 : IfcPositiveLengthMeasure; - HeadDepth3 : IfcPositiveLengthMeasure; - WebThickness : IfcPositiveLengthMeasure; - BaseWidth4 : IfcPositiveLengthMeasure; - BaseDepth1 : IfcPositiveLengthMeasure; - BaseDepth2 : IfcPositiveLengthMeasure; - BaseDepth3 : IfcPositiveLengthMeasure; - CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcCraneRailFShapeProfileDef - SUBTYPE OF (IfcParameterizedProfileDef); - OverallHeight : IfcPositiveLengthMeasure; - HeadWidth : IfcPositiveLengthMeasure; - Radius : OPTIONAL IfcPositiveLengthMeasure; - HeadDepth2 : IfcPositiveLengthMeasure; - HeadDepth3 : IfcPositiveLengthMeasure; - WebThickness : IfcPositiveLengthMeasure; - BaseDepth1 : IfcPositiveLengthMeasure; - BaseDepth2 : IfcPositiveLengthMeasure; - CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcCrewResource - SUBTYPE OF (IfcConstructionResource); -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; - RelatingMonetaryUnit : IfcMonetaryUnit; - RelatedMonetaryUnit : IfcMonetaryUnit; - ExchangeRate : IfcPositiveRatioMeasure; - RateDateTime : IfcDateAndTime; - RateSource : OPTIONAL IfcLibraryInformation; -END_ENTITY; - -ENTITY IfcCurtainWall - SUBTYPE OF (IfcBuildingElement); -END_ENTITY; - -ENTITY IfcCurtainWallType - SUBTYPE OF (IfcBuildingElementType); - PredefinedType : IfcCurtainWallTypeEnum; -END_ENTITY; - -ENTITY IfcCurve - ABSTRACT SUPERTYPE OF (ONEOF - (IfcBoundedCurve - ,IfcConic - ,IfcLine - ,IfcOffsetCurve2D - ,IfcOffsetCurve3D)) - SUBTYPE OF (IfcGeometricRepresentationItem); - DERIVE - Dim : IfcDimensionCount := IfcCurveDim(SELF); -END_ENTITY; - -ENTITY IfcCurveBoundedPlane - SUBTYPE OF (IfcBoundedSurface); - BasisSurface : IfcPlane; - OuterBoundary : IfcCurve; - InnerBoundaries : SET [0:?] OF IfcCurve; - DERIVE - Dim : IfcDimensionCount := BasisSurface.Dim; -END_ENTITY; - -ENTITY IfcCurveStyle - SUBTYPE OF (IfcPresentationStyle); - CurveFont : OPTIONAL IfcCurveFontOrScaledCurveFontSelect; - CurveWidth : OPTIONAL IfcSizeSelect; - CurveColour : OPTIONAL IfcColour; - WHERE - WR11 : (NOT(EXISTS(CurveWidth))) OR - ('IFC2X3.IFCPOSITIVELENGTHMEASURE' IN TYPEOF(CurveWidth)) OR - (('IFC2X3.IFCDESCRIPTIVEMEASURE' IN TYPEOF(CurveWidth)) AND - (CurveWidth = 'by layer')); -END_ENTITY; - -ENTITY IfcCurveStyleFont; - Name : OPTIONAL IfcLabel; - PatternList : LIST [1:?] OF IfcCurveStyleFontPattern; -END_ENTITY; - -ENTITY IfcCurveStyleFontAndScaling; - Name : OPTIONAL IfcLabel; - CurveFont : IfcCurveStyleFontSelect; - CurveFontScaling : IfcPositiveRatioMeasure; -END_ENTITY; - -ENTITY IfcCurveStyleFontPattern; - VisibleSegmentLength : IfcLengthMeasure; - InvisibleSegmentLength : IfcPositiveLengthMeasure; - WHERE - WR01 : VisibleSegmentLength >= 0.; -END_ENTITY; - -ENTITY IfcDamperType - SUBTYPE OF (IfcFlowControllerType); - PredefinedType : IfcDamperTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcDamperTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcDamperTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcDateAndTime; - DateComponent : IfcCalendarDate; - TimeComponent : IfcLocalTime; -END_ENTITY; - -ENTITY IfcDefinedSymbol - SUBTYPE OF (IfcGeometricRepresentationItem); - Definition : IfcDefinedSymbolSelect; - Target : IfcCartesianTransformationOperator2D; -END_ENTITY; - -ENTITY IfcDerivedProfileDef - SUBTYPE OF (IfcProfileDef); - ParentProfile : IfcProfileDef; - Operator : IfcCartesianTransformationOperator2D; - Label : OPTIONAL IfcLabel; - WHERE - WR1 : SELF\IfcProfileDef.ProfileType = ParentProfile.ProfileType; -END_ENTITY; - -ENTITY IfcDerivedUnit; - Elements : SET [1:?] OF IfcDerivedUnitElement; - UnitType : IfcDerivedUnitEnum; - UserDefinedType : OPTIONAL IfcLabel; - DERIVE - Dimensions : IfcDimensionalExponents := IfcDeriveDimensionalExponents(SELF); - 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 IfcDiameterDimension - SUBTYPE OF (IfcDimensionCurveDirectedCallout); -END_ENTITY; - -ENTITY IfcDimensionCalloutRelationship - SUBTYPE OF (IfcDraughtingCalloutRelationship); - WHERE - WR11 : SELF\IfcDraughtingCalloutRelationship.Name IN ['primary','secondary']; - WR12 : SIZEOF(TYPEOF(SELF\IfcDraughtingCalloutRelationship.RelatingDraughtingCallout) * [ - 'IFC2X3.IFCANGULARDIMENSION', - 'IFC2X3.IFCDIAMETERDIMENSION', - 'IFC2X3.IFCLINEARDIMENSION', - 'IFC2X3.IFCRADIUSDIMENSION']) = 1; - WR13 : NOT ('IFC2X3.IFCDIMENSIONCURVEDIRECTEDCALLOUT' - IN TYPEOF (SELF\IfcDraughtingCalloutRelationship.RelatedDraughtingCallout)); -END_ENTITY; - -ENTITY IfcDimensionCurve - SUBTYPE OF (IfcAnnotationCurveOccurrence); - INVERSE - AnnotatedBySymbols : SET [0:2] OF IfcTerminatorSymbol FOR AnnotatedCurve; - WHERE - WR51 : SIZEOF(USEDIN(SELF,'IFC2X3.IFCDRAUGHTINGCALLOUT.CONTENTS')) - >= 1; - WR52 : (SIZEOF(QUERY (Dct1 <* USEDIN(SELF,'IFC2X3.' + - 'IFCTERMINATORSYMBOL.ANNOTATEDCURVE') | (Dct1.Role = IfcDimensionExtentUsage.ORIGIN))) <= 1) - AND - (SIZEOF(QUERY (Dct2 <* USEDIN(SELF,'IFC2X3.' + - 'IFCTERMINATORSYMBOL.ANNOTATEDCURVE') | (Dct2.Role = IfcDimensionExtentUsage.TARGET))) <= 1); - WR53 : SIZEOF(QUERY (Dct <* AnnotatedBySymbols | - NOT('IFC2X3.IFCDIMENSIONCURVETERMINATOR' IN TYPEOF(Dct)))) - = 0; -END_ENTITY; - -ENTITY IfcDimensionCurveDirectedCallout - SUPERTYPE OF (ONEOF - (IfcAngularDimension - ,IfcDiameterDimension - ,IfcLinearDimension - ,IfcRadiusDimension)) - SUBTYPE OF (IfcDraughtingCallout); - WHERE - WR41 : SIZEOF(QUERY (Dc <* SELF\IfcDraughtingCallout.Contents | ( - 'IFC2X3.IFCDIMENSIONCURVE' IN TYPEOF(Dc)))) - = 1; - WR42 : SIZEOF (QUERY (Dc <* SELF.contents | - ('IFC2X3.IFCPROJECTIONCURVE' IN - TYPEOF (Dc)))) <= 2; -END_ENTITY; - -ENTITY IfcDimensionCurveTerminator - SUBTYPE OF (IfcTerminatorSymbol); - Role : IfcDimensionExtentUsage; - WHERE - WR61 : 'IFC2X3.IFCDIMENSIONCURVE' IN TYPEOF - (SELF\IfcTerminatorSymbol.AnnotatedCurve); -END_ENTITY; - -ENTITY IfcDimensionPair - SUBTYPE OF (IfcDraughtingCalloutRelationship); - WHERE - WR11 : SELF.Name IN ['chained','parallel']; - WR12 : SIZEOF(TYPEOF(SELF.RelatingDraughtingCallout) * [ - 'IFC2X3.IFCANGULARDIMENSION', - 'IFC2X3.IFCDIAMETERDIMENSION', - 'IFC2X3.IFCLINEARDIMENSION', - 'IFC2X3.IFCRADIUSDIMENSION']) = 1; - WR13 : SIZEOF(TYPEOF(SELF.RelatedDraughtingCallout) * [ - 'IFC2X3.IFCANGULARDIMENSION', - 'IFC2X3.IFCDIAMETERDIMENSION', - 'IFC2X3.IFCLINEARDIMENSION', - 'IFC2X3.IFCRADIUSDIMENSION']) = 1; -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 REAL; - DERIVE - Dim : IfcDimensionCount := HIINDEX(DirectionRatios); -END_ENTITY; - -ENTITY IfcDiscreteAccessory - SUBTYPE OF (IfcElementComponent); -END_ENTITY; - -ENTITY IfcDiscreteAccessoryType - SUPERTYPE OF (ONEOF - (IfcVibrationIsolatorType)) - SUBTYPE OF (IfcElementComponentType); -END_ENTITY; - -ENTITY IfcDistributionChamberElement - SUBTYPE OF (IfcDistributionFlowElement); -END_ENTITY; - -ENTITY IfcDistributionChamberElementType - SUBTYPE OF (IfcDistributionFlowElementType); - PredefinedType : IfcDistributionChamberElementTypeEnum; -END_ENTITY; - -ENTITY IfcDistributionControlElement - SUBTYPE OF (IfcDistributionElement); - ControlElementId : OPTIONAL IfcIdentifier; - INVERSE - AssignedToFlowElement : SET [0:1] OF IfcRelFlowControlElements FOR RelatedControlElements; -END_ENTITY; - -ENTITY IfcDistributionControlElementType - ABSTRACT SUPERTYPE OF (ONEOF - (IfcActuatorType - ,IfcAlarmType - ,IfcControllerType - ,IfcFlowInstrumentType - ,IfcSensorType)) - SUBTYPE OF (IfcDistributionElementType); -END_ENTITY; - -ENTITY IfcDistributionElement - SUPERTYPE OF (ONEOF - (IfcDistributionControlElement - ,IfcDistributionFlowElement)) - SUBTYPE OF (IfcElement); -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; -END_ENTITY; - -ENTITY IfcDocumentElectronicFormat; - FileExtension : OPTIONAL IfcLabel; - MimeContentType : OPTIONAL IfcLabel; - MimeSubtype : OPTIONAL IfcLabel; - WHERE - WR1 : EXISTS(FileExtension) OR EXISTS(MimeContentType); -END_ENTITY; - -ENTITY IfcDocumentInformation; - DocumentId : IfcIdentifier; - Name : IfcLabel; - Description : OPTIONAL IfcText; - DocumentReferences : OPTIONAL SET [1:?] OF IfcDocumentReference; - Purpose : OPTIONAL IfcText; - IntendedUse : OPTIONAL IfcText; - Scope : OPTIONAL IfcText; - Revision : OPTIONAL IfcLabel; - DocumentOwner : OPTIONAL IfcActorSelect; - Editors : OPTIONAL SET [1:?] OF IfcActorSelect; - CreationTime : OPTIONAL IfcDateAndTime; - LastRevisionTime : OPTIONAL IfcDateAndTime; - ElectronicFormat : OPTIONAL IfcDocumentElectronicFormat; - ValidFrom : OPTIONAL IfcCalendarDate; - ValidUntil : OPTIONAL IfcCalendarDate; - Confidentiality : OPTIONAL IfcDocumentConfidentialityEnum; - Status : OPTIONAL IfcDocumentStatusEnum; - INVERSE - IsPointedTo : SET [0:?] OF IfcDocumentInformationRelationship FOR RelatedDocuments; - IsPointer : SET [0:1] OF IfcDocumentInformationRelationship FOR RelatingDocument; -END_ENTITY; - -ENTITY IfcDocumentInformationRelationship; - RelatingDocument : IfcDocumentInformation; - RelatedDocuments : SET [1:?] OF IfcDocumentInformation; - RelationshipType : OPTIONAL IfcLabel; -END_ENTITY; - -ENTITY IfcDocumentReference - SUBTYPE OF (IfcExternalReference); - INVERSE - ReferenceToDocument : SET [0:1] OF IfcDocumentInformation FOR DocumentReferences; - WHERE - WR1 : EXISTS(Name) XOR EXISTS(ReferenceToDocument[1]); -END_ENTITY; - -ENTITY IfcDoor - SUBTYPE OF (IfcBuildingElement); - OverallHeight : OPTIONAL IfcPositiveLengthMeasure; - OverallWidth : OPTIONAL IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcDoorLiningProperties - SUBTYPE OF (IfcPropertySetDefinition); - LiningDepth : OPTIONAL IfcPositiveLengthMeasure; - LiningThickness : OPTIONAL IfcPositiveLengthMeasure; - ThresholdDepth : OPTIONAL IfcPositiveLengthMeasure; - ThresholdThickness : OPTIONAL IfcPositiveLengthMeasure; - TransomThickness : OPTIONAL IfcPositiveLengthMeasure; - TransomOffset : OPTIONAL IfcLengthMeasure; - LiningOffset : OPTIONAL IfcLengthMeasure; - ThresholdOffset : OPTIONAL IfcLengthMeasure; - CasingThickness : OPTIONAL IfcPositiveLengthMeasure; - CasingDepth : OPTIONAL IfcPositiveLengthMeasure; - ShapeAspectStyle : OPTIONAL IfcShapeAspect; - WHERE - WR31 : NOT(NOT(EXISTS(LiningDepth)) AND EXISTS(LiningThickness)); - WR32 : NOT(NOT(EXISTS(ThresholdDepth)) AND 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 - ('IFC2X3.IFCDOORSTYLE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1])); -END_ENTITY; - -ENTITY IfcDoorPanelProperties - SUBTYPE OF (IfcPropertySetDefinition); - PanelDepth : OPTIONAL IfcPositiveLengthMeasure; - PanelOperation : IfcDoorPanelOperationEnum; - PanelWidth : OPTIONAL IfcNormalisedRatioMeasure; - PanelPosition : IfcDoorPanelPositionEnum; - ShapeAspectStyle : OPTIONAL IfcShapeAspect; - WHERE - WR31 : EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1]) AND - ('IFC2X3.IFCDOORSTYLE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1])); -END_ENTITY; - -ENTITY IfcDoorStyle - SUBTYPE OF (IfcTypeProduct); - OperationType : IfcDoorStyleOperationEnum; - ConstructionType : IfcDoorStyleConstructionEnum; - ParameterTakesPrecedence : BOOLEAN; - Sizeable : BOOLEAN; -END_ENTITY; - -ENTITY IfcDraughtingCallout - SUPERTYPE OF (ONEOF - (IfcDimensionCurveDirectedCallout - ,IfcStructuredDimensionCallout)) - SUBTYPE OF (IfcGeometricRepresentationItem); - Contents : SET [1:?] OF IfcDraughtingCalloutElement; - INVERSE - IsRelatedFromCallout : SET [0:?] OF IfcDraughtingCalloutRelationship FOR RelatedDraughtingCallout; - IsRelatedToCallout : SET [0:?] OF IfcDraughtingCalloutRelationship FOR RelatingDraughtingCallout; -END_ENTITY; - -ENTITY IfcDraughtingCalloutRelationship - SUPERTYPE OF (ONEOF - (IfcDimensionCalloutRelationship - ,IfcDimensionPair)); - Name : OPTIONAL IfcLabel; - Description : OPTIONAL IfcText; - RelatingDraughtingCallout : IfcDraughtingCallout; - RelatedDraughtingCallout : IfcDraughtingCallout; -END_ENTITY; - -ENTITY IfcDraughtingPreDefinedColour - SUBTYPE OF (IfcPreDefinedColour); - WHERE - WR31 : SELF\IfcPreDefinedItem.Name IN ['black','red','green','blue','yellow', - 'magenta','cyan','white','by layer']; -END_ENTITY; - -ENTITY IfcDraughtingPreDefinedCurveFont - SUBTYPE OF (IfcPreDefinedCurveFont); - WHERE - WR31 : SELF\IfcPredefinedItem.Name IN - ['continuous', - 'chain', - 'chain double dash', - 'dashed', - 'dotted', - 'by layer']; -END_ENTITY; - -ENTITY IfcDraughtingPreDefinedTextFont - SUBTYPE OF (IfcPreDefinedTextFont); - WHERE - WR31 : SELF\IfcPreDefinedItem.Name IN ['ISO 3098-1 font A','ISO 3098-1 font B']; -END_ENTITY; - -ENTITY IfcDuctFittingType - SUBTYPE OF (IfcFlowFittingType); - PredefinedType : IfcDuctFittingTypeEnum; - WHERE - WR2 : (PredefinedType <> IfcDuctFittingTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcDuctFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcDuctSegmentType - SUBTYPE OF (IfcFlowSegmentType); - PredefinedType : IfcDuctSegmentTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcDuctSegmentTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcDuctSegmentTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcDuctSilencerType - SUBTYPE OF (IfcFlowTreatmentDeviceType); - PredefinedType : IfcDuctSilencerTypeEnum; - WHERE - WR1 : (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 : BOOLEAN; -END_ENTITY; - -ENTITY IfcEdgeFeature - ABSTRACT SUPERTYPE OF (ONEOF - (IfcChamferEdgeFeature - ,IfcRoundedEdgeFeature)) - SUBTYPE OF (IfcFeatureElementSubtraction); - FeatureLength : OPTIONAL IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcEdgeLoop - SUBTYPE OF (IfcLoop); - EdgeList : LIST [1:?] OF IfcOrientedEdge; - DERIVE - Ne : INTEGER := SIZEOF(EdgeList); - WHERE - WR1 : (EdgeList[1].EdgeStart) :=: (EdgeList[Ne].EdgeEnd); - WR2 : IfcLoopHeadToTail(SELF); -END_ENTITY; - -ENTITY IfcElectricApplianceType - SUBTYPE OF (IfcFlowTerminalType); - PredefinedType : IfcElectricApplianceTypeEnum; -END_ENTITY; - -ENTITY IfcElectricDistributionPoint - SUBTYPE OF (IfcFlowController); - DistributionPointFunction : IfcElectricDistributionPointFunctionEnum; - UserDefinedFunction : OPTIONAL IfcLabel; - WHERE - WR31 : (DistributionPointFunction <> IfcElectricDistributionPointFunctionEnum.USERDEFINED) OR - ((DistributionPointFunction = IfcElectricDistributionPointFunctionEnum.USERDEFINED) AND EXISTS(SELF\IfcElectricDistributionPoint.UserDefinedFunction)); -END_ENTITY; - -ENTITY IfcElectricFlowStorageDeviceType - SUBTYPE OF (IfcFlowStorageDeviceType); - PredefinedType : IfcElectricFlowStorageDeviceTypeEnum; -END_ENTITY; - -ENTITY IfcElectricGeneratorType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcElectricGeneratorTypeEnum; -END_ENTITY; - -ENTITY IfcElectricHeaterType - SUBTYPE OF (IfcFlowTerminalType); - PredefinedType : IfcElectricHeaterTypeEnum; -END_ENTITY; - -ENTITY IfcElectricMotorType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcElectricMotorTypeEnum; -END_ENTITY; - -ENTITY IfcElectricTimeControlType - SUBTYPE OF (IfcFlowControllerType); - PredefinedType : IfcElectricTimeControlTypeEnum; -END_ENTITY; - -ENTITY IfcElectricalBaseProperties - SUBTYPE OF (IfcEnergyProperties); - ElectricCurrentType : OPTIONAL IfcElectricCurrentEnum; - InputVoltage : IfcElectricVoltageMeasure; - InputFrequency : IfcFrequencyMeasure; - FullLoadCurrent : OPTIONAL IfcElectricCurrentMeasure; - MinimumCircuitCurrent : OPTIONAL IfcElectricCurrentMeasure; - MaximumPowerInput : OPTIONAL IfcPowerMeasure; - RatedPowerInput : OPTIONAL IfcPowerMeasure; - InputPhase : INTEGER; -END_ENTITY; - -ENTITY IfcElectricalCircuit - SUBTYPE OF (IfcSystem); -END_ENTITY; - -ENTITY IfcElectricalElement - SUBTYPE OF (IfcElement); -END_ENTITY; - -ENTITY IfcElement - ABSTRACT SUPERTYPE OF (ONEOF - (IfcBuildingElement - ,IfcDistributionElement - ,IfcElectricalElement - ,IfcElementAssembly - ,IfcElementComponent - ,IfcEquipmentElement - ,IfcFeatureElement - ,IfcFurnishingElement - ,IfcTransportElement - ,IfcVirtualElement)) - SUBTYPE OF (IfcProduct); - Tag : OPTIONAL IfcIdentifier; - INVERSE - FillsVoids : SET [0:1] OF IfcRelFillsElement FOR RelatedBuildingElement; - ConnectedTo : SET [0:?] OF IfcRelConnectsElements FOR RelatingElement; - HasCoverings : SET [0:?] OF IfcRelCoversBldgElements FOR RelatingBuildingElement; - HasProjections : SET [0:?] OF IfcRelProjectsElement FOR RelatingElement; - HasStructuralMember : SET [0:?] OF IfcRelConnectsStructuralElement FOR RelatingElement; - ReferencedInStructures : SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatedElements; - HasPorts : SET [0:?] OF IfcRelConnectsPortToElement FOR RelatedElement; - 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; -END_ENTITY; - -ENTITY IfcElementAssembly - SUBTYPE OF (IfcElement); - AssemblyPlace : OPTIONAL IfcAssemblyPlaceEnum; - PredefinedType : IfcElementAssemblyTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcElementAssemblyTypeEnum.USERDEFINED) OR ((PredefinedType = IfcElementAssemblyTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); -END_ENTITY; - -ENTITY IfcElementComponent - ABSTRACT SUPERTYPE OF (ONEOF - (IfcDiscreteAccessory - ,IfcFastener)) - SUBTYPE OF (IfcElement); -END_ENTITY; - -ENTITY IfcElementComponentType - ABSTRACT SUPERTYPE OF (ONEOF - (IfcDiscreteAccessoryType - ,IfcFastenerType)) - SUBTYPE OF (IfcElementType); -END_ENTITY; - -ENTITY IfcElementQuantity - SUBTYPE OF (IfcPropertySetDefinition); - MethodOfMeasurement : OPTIONAL IfcLabel; - Quantities : SET [1:?] OF IfcPhysicalQuantity; -END_ENTITY; - -ENTITY IfcElementType - ABSTRACT SUPERTYPE OF (ONEOF - (IfcBuildingElementType - ,IfcDistributionElementType - ,IfcElementComponentType - ,IfcFurnishingElementType - ,IfcSpatialStructureElementType - ,IfcTransportElementType)) - SUBTYPE OF (IfcTypeProduct); - ElementType : OPTIONAL IfcLabel; -END_ENTITY; - -ENTITY IfcElementarySurface - ABSTRACT SUPERTYPE OF (ONEOF - (IfcPlane)) - SUBTYPE OF (IfcSurface); - Position : IfcAxis2Placement3D; - DERIVE - Dim : IfcDimensionCount := Position.Dim; -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 - SUBTYPE OF (IfcDistributionFlowElement); -END_ENTITY; - -ENTITY IfcEnergyConversionDeviceType - ABSTRACT SUPERTYPE OF (ONEOF - (IfcAirToAirHeatRecoveryType - ,IfcBoilerType - ,IfcChillerType - ,IfcCoilType - ,IfcCondenserType - ,IfcCooledBeamType - ,IfcCoolingTowerType - ,IfcElectricGeneratorType - ,IfcElectricMotorType - ,IfcEvaporativeCoolerType - ,IfcEvaporatorType - ,IfcHeatExchangerType - ,IfcHumidifierType - ,IfcMotorConnectionType - ,IfcSpaceHeaterType - ,IfcTransformerType - ,IfcTubeBundleType - ,IfcUnitaryEquipmentType)) - SUBTYPE OF (IfcDistributionFlowElementType); -END_ENTITY; - -ENTITY IfcEnergyProperties - SUPERTYPE OF (ONEOF - (IfcElectricalBaseProperties)) - SUBTYPE OF (IfcPropertySetDefinition); - EnergySequence : OPTIONAL IfcEnergySequenceEnum; - UserDefinedEnergySequence : OPTIONAL IfcLabel; -END_ENTITY; - -ENTITY IfcEnvironmentalImpactValue - SUBTYPE OF (IfcAppliedValue); - ImpactType : IfcLabel; - Category : IfcEnvironmentalImpactCategoryEnum; - UserDefinedCategory : OPTIONAL IfcLabel; - WHERE - WR1 : (Category <> IfcEnvironmentalImpactCategoryEnum.USERDEFINED) OR - ((Category = IfcEnvironmentalImpactCategoryEnum.USERDEFINED) AND EXISTS(SELF\IfcEnvironmentalImpactValue.UserDefinedCategory)); -END_ENTITY; - -ENTITY IfcEquipmentElement - SUBTYPE OF (IfcElement); -END_ENTITY; - -ENTITY IfcEquipmentStandard - SUBTYPE OF (IfcControl); -END_ENTITY; - -ENTITY IfcEvaporativeCoolerType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcEvaporativeCoolerTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcEvaporativeCoolerTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcEvaporativeCoolerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcEvaporatorType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcEvaporatorTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcEvaporatorTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcEvaporatorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcExtendedMaterialProperties - SUBTYPE OF (IfcMaterialProperties); - ExtendedProperties : SET [1:?] OF IfcProperty; - Description : OPTIONAL IfcText; - Name : IfcLabel; -END_ENTITY; - -ENTITY IfcExternalReference - ABSTRACT SUPERTYPE OF (ONEOF - (IfcClassificationReference - ,IfcDocumentReference - ,IfcExternallyDefinedHatchStyle - ,IfcExternallyDefinedSurfaceStyle - ,IfcExternallyDefinedSymbol - ,IfcExternallyDefinedTextFont - ,IfcLibraryReference)); - Location : OPTIONAL IfcLabel; - ItemReference : OPTIONAL IfcIdentifier; - Name : OPTIONAL IfcLabel; - WHERE - WR1 : EXISTS(ItemReference) OR EXISTS(Location) OR EXISTS(Name); -END_ENTITY; - -ENTITY IfcExternallyDefinedHatchStyle - SUBTYPE OF (IfcExternalReference); -END_ENTITY; - -ENTITY IfcExternallyDefinedSurfaceStyle - SUBTYPE OF (IfcExternalReference); -END_ENTITY; - -ENTITY IfcExternallyDefinedSymbol - SUBTYPE OF (IfcExternalReference); -END_ENTITY; - -ENTITY IfcExternallyDefinedTextFont - SUBTYPE OF (IfcExternalReference); -END_ENTITY; - -ENTITY IfcExtrudedAreaSolid - SUBTYPE OF (IfcSweptAreaSolid); - ExtrudedDirection : IfcDirection; - Depth : IfcPositiveLengthMeasure; - WHERE - WR31 : IfcDotProduct(IfcRepresentationItem() || IfcGeometricRepresentationItem() || IfcDirection([0.0,0.0,1.0]), SELF.ExtrudedDirection) <> 0.0; -END_ENTITY; - -ENTITY IfcFace - SUPERTYPE OF (ONEOF - (IfcFaceSurface)) - SUBTYPE OF (IfcTopologicalRepresentationItem); - Bounds : SET [1:?] OF IfcFaceBound; - WHERE - WR1 : SIZEOF(QUERY(temp <* Bounds | 'IFC2X3.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 : BOOLEAN; -END_ENTITY; - -ENTITY IfcFaceOuterBound - SUBTYPE OF (IfcFaceBound); -END_ENTITY; - -ENTITY IfcFaceSurface - SUBTYPE OF (IfcFace); - FaceSurface : IfcSurface; - SameSense : BOOLEAN; -END_ENTITY; - -ENTITY IfcFacetedBrep - SUBTYPE OF (IfcManifoldSolidBrep); -END_ENTITY; - -ENTITY IfcFacetedBrepWithVoids - SUBTYPE OF (IfcManifoldSolidBrep); - 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 IfcFanType - SUBTYPE OF (IfcFlowMovingDeviceType); - PredefinedType : IfcFanTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcFanTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcFanTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcFastener - SUPERTYPE OF (ONEOF - (IfcMechanicalFastener)) - SUBTYPE OF (IfcElementComponent); -END_ENTITY; - -ENTITY IfcFastenerType - SUPERTYPE OF (ONEOF - (IfcMechanicalFastenerType)) - SUBTYPE OF (IfcElementComponentType); -END_ENTITY; - -ENTITY IfcFeatureElement - ABSTRACT SUPERTYPE OF (ONEOF - (IfcFeatureElementAddition - ,IfcFeatureElementSubtraction)) - 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 - (IfcEdgeFeature - ,IfcOpeningElement)) - SUBTYPE OF (IfcFeatureElement); - INVERSE - VoidsElements : IfcRelVoidsElement FOR RelatedOpeningElement; -END_ENTITY; - -ENTITY IfcFillAreaStyle - SUBTYPE OF (IfcPresentationStyle); - FillStyles : SET [1:?] OF IfcFillStyleSelect; - WHERE - WR11 : SIZEOF(QUERY(Style <* SELF.FillStyles | - 'IFC2X3.IFCCOLOUR' IN - TYPEOF(Style) - )) <= 1; - WR12 : SIZEOF(QUERY(Style <* SELF.FillStyles | - 'IFC2X3.IFCEXTERNALLYDEFINEDHATCHSTYLE' IN - TYPEOF(Style) - )) <= 1; - WR13 : (SIZEOF(QUERY(Style <* SELF.FillStyles | - 'IFC2X3.IFCEXTERNALLYDEFINEDHATCHSTYLE' IN - TYPEOF(Style) - )) >= 1) - XOR - (SIZEOF(QUERY(Style <* SELF.FillStyles | - 'IFC2X3.IFCFILLAREASTYLEHATCHING' IN - TYPEOF(Style) - )) >= 1) - XOR - (SIZEOF(QUERY(Style <* SELF.FillStyles | - 'IFC2X3.IFCFILLAREASTYLETILES' IN - TYPEOF(Style) - )) >= 1); -END_ENTITY; - -ENTITY IfcFillAreaStyleHatching - SUBTYPE OF (IfcGeometricRepresentationItem); - HatchLineAppearance : IfcCurveStyle; - StartOfNextHatchLine : IfcHatchLineDistanceSelect; - PointOfReferenceHatchLine : OPTIONAL IfcCartesianPoint; - PatternStart : OPTIONAL IfcCartesianPoint; - HatchLineAngle : IfcPlaneAngleMeasure; - WHERE - WR21 : NOT( - 'IFC2X3.IFCTWODIRECTIONREPEATFACTOR' - IN TYPEOF(StartOfNextHatchLine) - ); - WR22 : NOT(EXISTS(PatternStart)) - OR (PatternStart.Dim = 2); - WR23 : NOT(EXISTS(PointOfReferenceHatchLine)) - OR (PointOfReferenceHatchLine.Dim = 2); -END_ENTITY; - -ENTITY IfcFillAreaStyleTileSymbolWithStyle - SUBTYPE OF (IfcGeometricRepresentationItem); - Symbol : IfcAnnotationSymbolOccurrence; -END_ENTITY; - -ENTITY IfcFillAreaStyleTiles - SUBTYPE OF (IfcGeometricRepresentationItem); - TilingPattern : IfcOneDirectionRepeatFactor; - Tiles : SET [1:?] OF IfcFillAreaStyleTileShapeSelect; - TilingScale : IfcPositiveRatioMeasure; -END_ENTITY; - -ENTITY IfcFilterType - SUBTYPE OF (IfcFlowTreatmentDeviceType); - PredefinedType : IfcFilterTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcFilterTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcFilterTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcFireSuppressionTerminalType - SUBTYPE OF (IfcFlowTerminalType); - PredefinedType : IfcFireSuppressionTerminalTypeEnum; -END_ENTITY; - -ENTITY IfcFlowController - SUPERTYPE OF (ONEOF - (IfcElectricDistributionPoint)) - SUBTYPE OF (IfcDistributionFlowElement); -END_ENTITY; - -ENTITY IfcFlowControllerType - ABSTRACT SUPERTYPE OF (ONEOF - (IfcAirTerminalBoxType - ,IfcDamperType - ,IfcElectricTimeControlType - ,IfcFlowMeterType - ,IfcProtectiveDeviceType - ,IfcSwitchingDeviceType - ,IfcValveType)) - SUBTYPE OF (IfcDistributionFlowElementType); -END_ENTITY; - -ENTITY IfcFlowFitting - SUBTYPE OF (IfcDistributionFlowElement); -END_ENTITY; - -ENTITY IfcFlowFittingType - ABSTRACT SUPERTYPE OF (ONEOF - (IfcCableCarrierFittingType - ,IfcDuctFittingType - ,IfcJunctionBoxType - ,IfcPipeFittingType)) - SUBTYPE OF (IfcDistributionFlowElementType); -END_ENTITY; - -ENTITY IfcFlowInstrumentType - SUBTYPE OF (IfcDistributionControlElementType); - PredefinedType : IfcFlowInstrumentTypeEnum; -END_ENTITY; - -ENTITY IfcFlowMeterType - SUBTYPE OF (IfcFlowControllerType); - PredefinedType : IfcFlowMeterTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcFlowMeterTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcFlowMeterTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcFlowMovingDevice - SUBTYPE OF (IfcDistributionFlowElement); -END_ENTITY; - -ENTITY IfcFlowMovingDeviceType - ABSTRACT SUPERTYPE OF (ONEOF - (IfcCompressorType - ,IfcFanType - ,IfcPumpType)) - SUBTYPE OF (IfcDistributionFlowElementType); -END_ENTITY; - -ENTITY IfcFlowSegment - SUBTYPE OF (IfcDistributionFlowElement); -END_ENTITY; - -ENTITY IfcFlowSegmentType - ABSTRACT SUPERTYPE OF (ONEOF - (IfcCableCarrierSegmentType - ,IfcCableSegmentType - ,IfcDuctSegmentType - ,IfcPipeSegmentType)) - SUBTYPE OF (IfcDistributionFlowElementType); -END_ENTITY; - -ENTITY IfcFlowStorageDevice - SUBTYPE OF (IfcDistributionFlowElement); -END_ENTITY; - -ENTITY IfcFlowStorageDeviceType - ABSTRACT SUPERTYPE OF (ONEOF - (IfcElectricFlowStorageDeviceType - ,IfcTankType)) - SUBTYPE OF (IfcDistributionFlowElementType); -END_ENTITY; - -ENTITY IfcFlowTerminal - SUBTYPE OF (IfcDistributionFlowElement); -END_ENTITY; - -ENTITY IfcFlowTerminalType - ABSTRACT SUPERTYPE OF (ONEOF - (IfcAirTerminalType - ,IfcElectricApplianceType - ,IfcElectricHeaterType - ,IfcFireSuppressionTerminalType - ,IfcGasTerminalType - ,IfcLampType - ,IfcLightFixtureType - ,IfcOutletType - ,IfcSanitaryTerminalType - ,IfcStackTerminalType - ,IfcWasteTerminalType)) - SUBTYPE OF (IfcDistributionFlowElementType); -END_ENTITY; - -ENTITY IfcFlowTreatmentDevice - SUBTYPE OF (IfcDistributionFlowElement); -END_ENTITY; - -ENTITY IfcFlowTreatmentDeviceType - ABSTRACT SUPERTYPE OF (ONEOF - (IfcDuctSilencerType - ,IfcFilterType)) - SUBTYPE OF (IfcDistributionFlowElementType); -END_ENTITY; - -ENTITY IfcFluidFlowProperties - SUBTYPE OF (IfcPropertySetDefinition); - PropertySource : IfcPropertySourceEnum; - FlowConditionTimeSeries : OPTIONAL IfcTimeSeries; - VelocityTimeSeries : OPTIONAL IfcTimeSeries; - FlowrateTimeSeries : OPTIONAL IfcTimeSeries; - Fluid : IfcMaterial; - PressureTimeSeries : OPTIONAL IfcTimeSeries; - UserDefinedPropertySource : OPTIONAL IfcLabel; - TemperatureSingleValue : OPTIONAL IfcThermodynamicTemperatureMeasure; - WetBulbTemperatureSingleValue : OPTIONAL IfcThermodynamicTemperatureMeasure; - WetBulbTemperatureTimeSeries : OPTIONAL IfcTimeSeries; - TemperatureTimeSeries : OPTIONAL IfcTimeSeries; - FlowrateSingleValue : OPTIONAL IfcDerivedMeasureValue; - FlowConditionSingleValue : OPTIONAL IfcPositiveRatioMeasure; - VelocitySingleValue : OPTIONAL IfcLinearVelocityMeasure; - PressureSingleValue : OPTIONAL IfcPressureMeasure; -END_ENTITY; - -ENTITY IfcFooting - SUBTYPE OF (IfcBuildingElement); - PredefinedType : IfcFootingTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcFootingTypeEnum.USERDEFINED) OR ((PredefinedType = IfcFootingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); -END_ENTITY; - -ENTITY IfcFuelProperties - SUBTYPE OF (IfcMaterialProperties); - CombustionTemperature : OPTIONAL IfcThermodynamicTemperatureMeasure; - CarbonContent : OPTIONAL IfcPositiveRatioMeasure; - LowerHeatingValue : OPTIONAL IfcHeatingValueMeasure; - HigherHeatingValue : OPTIONAL IfcHeatingValueMeasure; - UNIQUE - UR11 : Material; -END_ENTITY; - -ENTITY IfcFurnishingElement - SUBTYPE OF (IfcElement); -END_ENTITY; - -ENTITY IfcFurnishingElementType - SUPERTYPE OF (ONEOF - (IfcFurnitureType - ,IfcSystemFurnitureElementType)) - SUBTYPE OF (IfcElementType); -END_ENTITY; - -ENTITY IfcFurnitureStandard - SUBTYPE OF (IfcControl); -END_ENTITY; - -ENTITY IfcFurnitureType - SUBTYPE OF (IfcFurnishingElementType); - AssemblyPlace : IfcAssemblyPlaceEnum; -END_ENTITY; - -ENTITY IfcGasTerminalType - SUBTYPE OF (IfcFlowTerminalType); - PredefinedType : IfcGasTerminalTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcGasTerminalTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcGasTerminalTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcGeneralMaterialProperties - SUBTYPE OF (IfcMaterialProperties); - MolecularWeight : OPTIONAL IfcMolecularWeightMeasure; - Porosity : OPTIONAL IfcNormalisedRatioMeasure; - MassDensity : OPTIONAL IfcMassDensityMeasure; - UNIQUE - UR11 : Material; -END_ENTITY; - -ENTITY IfcGeneralProfileProperties - SUPERTYPE OF (ONEOF - (IfcStructuralProfileProperties)) - SUBTYPE OF (IfcProfileProperties); - PhysicalWeight : OPTIONAL IfcMassPerLengthMeasure; - Perimeter : OPTIONAL IfcPositiveLengthMeasure; - MinimumPlateThickness : OPTIONAL IfcPositiveLengthMeasure; - MaximumPlateThickness : OPTIONAL IfcPositiveLengthMeasure; - CrossSectionArea : OPTIONAL IfcAreaMeasure; - WHERE - WR1 : NOT(EXISTS(CrossSectionArea)) OR (CrossSectionArea > 0.); -END_ENTITY; - -ENTITY IfcGeometricCurveSet - SUBTYPE OF (IfcGeometricSet); - WHERE - WR1 : SIZEOF(QUERY(Temp <* SELF\IfcGeometricSet.Elements | - 'IFC2X3.IFCSURFACE' IN TYPEOF(Temp))) = 0; -END_ENTITY; - -ENTITY IfcGeometricRepresentationContext - SUPERTYPE OF (ONEOF - (IfcGeometricRepresentationSubContext)) - SUBTYPE OF (IfcRepresentationContext); - CoordinateSpaceDimension : IfcDimensionCount; - Precision : OPTIONAL REAL; - WorldCoordinateSystem : IfcAxis2Placement; - TrueNorth : OPTIONAL IfcDirection; - INVERSE - HasSubContexts : SET [0:?] OF IfcGeometricRepresentationSubContext FOR ParentContext; -END_ENTITY; - -ENTITY IfcGeometricRepresentationItem - ABSTRACT SUPERTYPE OF (ONEOF - (IfcAnnotationFillArea - ,IfcAnnotationSurface - ,IfcBooleanResult - ,IfcBoundingBox - ,IfcCartesianTransformationOperator - ,IfcCompositeCurveSegment - ,IfcCsgPrimitive3D - ,IfcCurve - ,IfcDefinedSymbol - ,IfcDirection - ,IfcDraughtingCallout - ,IfcFaceBasedSurfaceModel - ,IfcFillAreaStyleHatching - ,IfcFillAreaStyleTileSymbolWithStyle - ,IfcFillAreaStyleTiles - ,IfcGeometricSet - ,IfcHalfSpaceSolid - ,IfcLightSource - ,IfcOneDirectionRepeatFactor - ,IfcPlacement - ,IfcPlanarExtent - ,IfcPoint - ,IfcSectionedSpine - ,IfcShellBasedSurfaceModel - ,IfcSolidModel - ,IfcSurface - ,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,SELF.WorldCoordinateSystem.P[2]); - SELF\IfcGeometricRepresentationContext.Precision : REAL := NVL(ParentContext.Precision,1.E-5); - WHERE - WR31 : NOT('IFC2X3.IFCGEOMETRICREPRESENTATIONSUBCONTEXT' IN TYPEOF(ParentContext)); - WR32 : (TargetView <> IfcGeometricProjectionEnum.USERDEFINED) OR - ((TargetView = IfcGeometricProjectionEnum.USERDEFINED) AND - EXISTS(UserDefinedTargetView)); -END_ENTITY; - -ENTITY IfcGeometricSet - SUPERTYPE OF (ONEOF - (IfcGeometricCurveSet)) - SUBTYPE OF (IfcGeometricRepresentationItem); - Elements : SET [1:?] OF IfcGeometricSetSelect; - DERIVE - Dim : IfcDimensionCount := Elements[1].Dim; - WHERE - WR21 : 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; - INVERSE - ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements; - WHERE - WR41 : 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 IfcVirtualGridIntersection; -END_ENTITY; - -ENTITY IfcGroup - SUPERTYPE OF (ONEOF - (IfcAsset - ,IfcCondition - ,IfcInventory - ,IfcStructuralLoadGroup - ,IfcStructuralResultGroup - ,IfcSystem - ,IfcZone)) - SUBTYPE OF (IfcObject); - INVERSE - IsGroupedBy : IfcRelAssignsToGroup FOR RelatingGroup; -END_ENTITY; - -ENTITY IfcHalfSpaceSolid - SUPERTYPE OF (ONEOF - (IfcBoxedHalfSpace - ,IfcPolygonalBoundedHalfSpace)) - SUBTYPE OF (IfcGeometricRepresentationItem); - BaseSurface : IfcSurface; - AgreementFlag : BOOLEAN; - DERIVE - Dim : IfcDimensionCount := 3; -END_ENTITY; - -ENTITY IfcHeatExchangerType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcHeatExchangerTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcHeatExchangerTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcHeatExchangerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcHumidifierType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcHumidifierTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcHumidifierTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcHumidifierTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcHygroscopicMaterialProperties - SUBTYPE OF (IfcMaterialProperties); - UpperVaporResistanceFactor : OPTIONAL IfcPositiveRatioMeasure; - LowerVaporResistanceFactor : OPTIONAL IfcPositiveRatioMeasure; - IsothermalMoistureCapacity : OPTIONAL IfcIsothermalMoistureCapacityMeasure; - VaporPermeability : OPTIONAL IfcVaporPermeabilityMeasure; - MoistureDiffusivity : OPTIONAL IfcMoistureDiffusivityMeasure; - UNIQUE - UR11 : Material; -END_ENTITY; - -ENTITY IfcIShapeProfileDef - SUPERTYPE OF (ONEOF - (IfcAsymmetricIShapeProfileDef)) - SUBTYPE OF (IfcParameterizedProfileDef); - OverallWidth : IfcPositiveLengthMeasure; - OverallDepth : IfcPositiveLengthMeasure; - WebThickness : IfcPositiveLengthMeasure; - FlangeThickness : IfcPositiveLengthMeasure; - FilletRadius : OPTIONAL IfcPositiveLengthMeasure; - WHERE - WR1 : FlangeThickness < (OverallDepth / 2.); - WR2 : WebThickness < OverallWidth; - WR3 : NOT(EXISTS(FilletRadius)) OR - ((FilletRadius <= (OverallWidth - WebThickness)/2.) AND - (FilletRadius <= (OverallDepth - (2. * FlangeThickness))/2.)); -END_ENTITY; - -ENTITY IfcImageTexture - SUBTYPE OF (IfcSurfaceTexture); - UrlReference : IfcIdentifier; -END_ENTITY; - -ENTITY IfcInventory - SUBTYPE OF (IfcGroup); - InventoryType : IfcInventoryTypeEnum; - Jurisdiction : IfcActorSelect; - ResponsiblePersons : SET [1:?] OF IfcPerson; - LastUpdateDate : IfcCalendarDate; - CurrentValue : OPTIONAL IfcCostValue; - OriginalValue : OPTIONAL IfcCostValue; - WHERE - WR41 : SIZEOF(QUERY(temp <* SELF\IfcGroup.IsGroupedBy.RelatedObjects | - NOT( ('IFC2X3.IFCSPACE' IN TYPEOF (temp)) OR - ('IFC2X3.IFCASSET' IN TYPEOF (temp)) OR - ('IFC2X3.IFCFURNISHINGELEMENT' IN TYPEOF (temp)) - ))) = 0; -END_ENTITY; - -ENTITY IfcIrregularTimeSeries - SUBTYPE OF (IfcTimeSeries); - Values : LIST [1:?] OF IfcIrregularTimeSeriesValue; -END_ENTITY; - -ENTITY IfcIrregularTimeSeriesValue; - TimeStamp : IfcDateTimeSelect; - ListValues : LIST [1:?] OF IfcValue; -END_ENTITY; - -ENTITY IfcJunctionBoxType - SUBTYPE OF (IfcFlowFittingType); - PredefinedType : IfcJunctionBoxTypeEnum; -END_ENTITY; - -ENTITY IfcLShapeProfileDef - SUBTYPE OF (IfcParameterizedProfileDef); - Depth : IfcPositiveLengthMeasure; - Width : OPTIONAL IfcPositiveLengthMeasure; - Thickness : IfcPositiveLengthMeasure; - FilletRadius : OPTIONAL IfcPositiveLengthMeasure; - EdgeRadius : OPTIONAL IfcPositiveLengthMeasure; - LegSlope : OPTIONAL IfcPlaneAngleMeasure; - CentreOfGravityInX : OPTIONAL IfcPositiveLengthMeasure; - CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure; - WHERE - WR21 : Thickness < Depth; - WR22 : NOT(EXISTS(Width)) OR (Thickness < Width); -END_ENTITY; - -ENTITY IfcLaborResource - SUBTYPE OF (IfcConstructionResource); - SkillSet : OPTIONAL IfcText; -END_ENTITY; - -ENTITY IfcLampType - SUBTYPE OF (IfcFlowTerminalType); - PredefinedType : IfcLampTypeEnum; -END_ENTITY; - -ENTITY IfcLibraryInformation; - Name : IfcLabel; - Version : OPTIONAL IfcLabel; - Publisher : OPTIONAL IfcOrganization; - VersionDate : OPTIONAL IfcCalendarDate; - LibraryReference : OPTIONAL SET [1:?] OF IfcLibraryReference; -END_ENTITY; - -ENTITY IfcLibraryReference - SUBTYPE OF (IfcExternalReference); - INVERSE - ReferenceIntoLibrary : SET [0:1] OF IfcLibraryInformation FOR LibraryReference; -END_ENTITY; - -ENTITY IfcLightDistributionData; - MainPlaneAngle : IfcPlaneAngleMeasure; - SecondaryPlaneAngle : LIST [1:?] OF IfcPlaneAngleMeasure; - LuminousIntensity : LIST [1:?] OF IfcLuminousIntensityDistributionMeasure; -END_ENTITY; - -ENTITY IfcLightFixtureType - SUBTYPE OF (IfcFlowTerminalType); - PredefinedType : IfcLightFixtureTypeEnum; -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 - WR1 : Dir.Dim = Pnt.Dim; -END_ENTITY; - -ENTITY IfcLinearDimension - SUBTYPE OF (IfcDimensionCurveDirectedCallout); -END_ENTITY; - -ENTITY IfcLocalPlacement - SUBTYPE OF (IfcObjectPlacement); - PlacementRelTo : OPTIONAL IfcObjectPlacement; - RelativePlacement : IfcAxis2Placement; - WHERE - WR21 : IfcCorrectLocalPlacement(RelativePlacement, PlacementRelTo); -END_ENTITY; - -ENTITY IfcLocalTime; - HourComponent : IfcHourInDay; - MinuteComponent : OPTIONAL IfcMinuteInHour; - SecondComponent : OPTIONAL IfcSecondInMinute; - Zone : OPTIONAL IfcCoordinatedUniversalTimeOffset; - DaylightSavingOffset : OPTIONAL IfcDaylightSavingHour; - WHERE - WR21 : IfcValidTime (SELF); -END_ENTITY; - -ENTITY IfcLoop - SUPERTYPE OF (ONEOF - (IfcEdgeLoop - ,IfcPolyLoop - ,IfcVertexLoop)) - SUBTYPE OF (IfcTopologicalRepresentationItem); -END_ENTITY; - -ENTITY IfcManifoldSolidBrep - ABSTRACT SUPERTYPE OF (ONEOF - (IfcFacetedBrep - ,IfcFacetedBrepWithVoids)) - SUBTYPE OF (IfcSolidModel); - Outer : IfcClosedShell; -END_ENTITY; - -ENTITY IfcMappedItem - SUBTYPE OF (IfcRepresentationItem); - MappingSource : IfcRepresentationMap; - MappingTarget : IfcCartesianTransformationOperator; -END_ENTITY; - -ENTITY IfcMaterial; - Name : IfcLabel; - INVERSE - HasRepresentation : SET [0:1] OF IfcMaterialDefinitionRepresentation FOR RepresentedMaterial; - ClassifiedAs : SET [0:1] OF IfcMaterialClassificationRelationship FOR ClassifiedMaterial; -END_ENTITY; - -ENTITY IfcMaterialClassificationRelationship; - MaterialClassifications : SET [1:?] OF IfcClassificationNotationSelect; - ClassifiedMaterial : IfcMaterial; -END_ENTITY; - -ENTITY IfcMaterialDefinitionRepresentation - SUBTYPE OF (IfcProductRepresentation); - RepresentedMaterial : IfcMaterial; - WHERE - WR11 : SIZEOF(QUERY(temp <* Representations | - (NOT('IFC2X3.IFCSTYLEDREPRESENTATION' IN TYPEOF(temp))) - )) = 0; -END_ENTITY; - -ENTITY IfcMaterialLayer; - Material : OPTIONAL IfcMaterial; - LayerThickness : IfcPositiveLengthMeasure; - IsVentilated : OPTIONAL IfcLogical; - INVERSE - ToMaterialLayerSet : IfcMaterialLayerSet FOR MaterialLayers; -END_ENTITY; - -ENTITY IfcMaterialLayerSet; - MaterialLayers : LIST [1:?] OF IfcMaterialLayer; - LayerSetName : OPTIONAL IfcLabel; - DERIVE - TotalThickness : IfcLengthMeasure := IfcMlsTotalThickness(SELF); -END_ENTITY; - -ENTITY IfcMaterialLayerSetUsage; - ForLayerSet : IfcMaterialLayerSet; - LayerSetDirection : IfcLayerSetDirectionEnum; - DirectionSense : IfcDirectionSenseEnum; - OffsetFromReferenceLine : IfcLengthMeasure; -END_ENTITY; - -ENTITY IfcMaterialList; - Materials : LIST [1:?] OF IfcMaterial; -END_ENTITY; - -ENTITY IfcMaterialProperties - ABSTRACT SUPERTYPE OF (ONEOF - (IfcExtendedMaterialProperties - ,IfcFuelProperties - ,IfcGeneralMaterialProperties - ,IfcHygroscopicMaterialProperties - ,IfcMechanicalMaterialProperties - ,IfcOpticalMaterialProperties - ,IfcProductsOfCombustionProperties - ,IfcThermalMaterialProperties - ,IfcWaterProperties)); - Material : IfcMaterial; -END_ENTITY; - -ENTITY IfcMeasureWithUnit; - ValueComponent : IfcValue; - UnitComponent : IfcUnit; -END_ENTITY; - -ENTITY IfcMechanicalConcreteMaterialProperties - SUBTYPE OF (IfcMechanicalMaterialProperties); - CompressiveStrength : OPTIONAL IfcPressureMeasure; - MaxAggregateSize : OPTIONAL IfcPositiveLengthMeasure; - AdmixturesDescription : OPTIONAL IfcText; - Workability : OPTIONAL IfcText; - ProtectivePoreRatio : OPTIONAL IfcNormalisedRatioMeasure; - WaterImpermeability : OPTIONAL IfcText; -END_ENTITY; - -ENTITY IfcMechanicalFastener - SUBTYPE OF (IfcFastener); - NominalDiameter : OPTIONAL IfcPositiveLengthMeasure; - NominalLength : OPTIONAL IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcMechanicalFastenerType - SUBTYPE OF (IfcFastenerType); -END_ENTITY; - -ENTITY IfcMechanicalMaterialProperties - SUPERTYPE OF (ONEOF - (IfcMechanicalConcreteMaterialProperties - ,IfcMechanicalSteelMaterialProperties)) - SUBTYPE OF (IfcMaterialProperties); - DynamicViscosity : OPTIONAL IfcDynamicViscosityMeasure; - YoungModulus : OPTIONAL IfcModulusOfElasticityMeasure; - ShearModulus : OPTIONAL IfcModulusOfElasticityMeasure; - PoissonRatio : OPTIONAL IfcPositiveRatioMeasure; - ThermalExpansionCoefficient : OPTIONAL IfcThermalExpansionCoefficientMeasure; - UNIQUE - UR11 : Material; - WHERE - WR21 : NOT(EXISTS(YoungModulus)) OR (YoungModulus >= 0.0); - WR22 : NOT(EXISTS(ShearModulus)) OR (ShearModulus >= 0.0); -END_ENTITY; - -ENTITY IfcMechanicalSteelMaterialProperties - SUBTYPE OF (IfcMechanicalMaterialProperties); - YieldStress : OPTIONAL IfcPressureMeasure; - UltimateStress : OPTIONAL IfcPressureMeasure; - UltimateStrain : OPTIONAL IfcPositiveRatioMeasure; - HardeningModule : OPTIONAL IfcModulusOfElasticityMeasure; - ProportionalStress : OPTIONAL IfcPressureMeasure; - PlasticStrain : OPTIONAL IfcPositiveRatioMeasure; - Relaxations : OPTIONAL SET [1:?] OF IfcRelaxation; - WHERE - WR31 : NOT(EXISTS(YieldStress)) OR (YieldStress >= 0.); - WR32 : NOT(EXISTS(UltimateStress)) OR (UltimateStress >= 0.); - WR33 : NOT(EXISTS(HardeningModule)) OR (HardeningModule >= 0.); - WR34 : NOT(EXISTS(ProportionalStress)) OR (ProportionalStress >= 0.); -END_ENTITY; - -ENTITY IfcMember - SUBTYPE OF (IfcBuildingElement); -END_ENTITY; - -ENTITY IfcMemberType - SUBTYPE OF (IfcBuildingElementType); - PredefinedType : IfcMemberTypeEnum; -END_ENTITY; - -ENTITY IfcMetric - SUBTYPE OF (IfcConstraint); - Benchmark : IfcBenchmarkEnum; - ValueSource : OPTIONAL IfcLabel; - DataValue : IfcMetricValueSelect; -END_ENTITY; - -ENTITY IfcMonetaryUnit; - Currency : IfcCurrencyEnum; -END_ENTITY; - -ENTITY IfcMotorConnectionType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcMotorConnectionTypeEnum; -END_ENTITY; - -ENTITY IfcMove - SUBTYPE OF (IfcTask); - MoveFrom : IfcSpatialStructureElement; - MoveTo : IfcSpatialStructureElement; - PunchList : OPTIONAL LIST [1:?] OF UNIQUE IfcText; - WHERE - WR1 : SIZEOF(SELF\IfcProcess.OperatesOn) >= 1; - WR2 : SIZEOF(QUERY(temp <* OperatesOn | - SIZEOF(QUERY(temp2 <* temp.RelatedObjects | - ('IFC2X3.IFCACTOR' IN TYPEOF (temp2)) OR - ('IFC2X3.IFCEQUIPMENTELEMENT' IN TYPEOF (temp2)) OR - ('IFC2X3.IFCFURNISHINGELEMENT' IN TYPEOF (temp2)) )) >=1 - )) >= 1; - WR3 : EXISTS(SELF\IfcRoot.Name); -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 - ,IfcProject - ,IfcResource)) - SUBTYPE OF (IfcObjectDefinition); - ObjectType : OPTIONAL IfcLabel; - INVERSE - IsDefinedBy : SET [0:?] OF IfcRelDefines FOR RelatedObjects; - WHERE - WR1 : SIZEOF(QUERY(temp <* IsDefinedBy | 'IFC2X3.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1; -END_ENTITY; - -ENTITY IfcObjectDefinition - ABSTRACT SUPERTYPE OF (ONEOF - (IfcObject - ,IfcTypeObject)) - SUBTYPE OF (IfcRoot); - INVERSE - HasAssignments : SET [0:?] OF IfcRelAssigns FOR RelatedObjects; - IsDecomposedBy : SET [0:?] OF IfcRelDecomposes FOR RelatingObject; - Decomposes : SET [0:1] OF IfcRelDecomposes FOR RelatedObjects; - HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects; -END_ENTITY; - -ENTITY IfcObjectPlacement - ABSTRACT SUPERTYPE OF (ONEOF - (IfcGridPlacement - ,IfcLocalPlacement)); - INVERSE - PlacesObject : SET [1:1] OF IfcProduct FOR ObjectPlacement; - ReferencedByPlacements : SET [0:?] OF IfcLocalPlacement FOR PlacementRelTo; -END_ENTITY; - -ENTITY IfcObjective - SUBTYPE OF (IfcConstraint); - BenchmarkValues : OPTIONAL IfcMetric; - ResultValues : OPTIONAL IfcMetric; - 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 : IfcOccupantTypeEnum; - WHERE - WR31 : NOT(PredefinedType = IfcOccupantTypeEnum.USERDEFINED) - OR EXISTS(SELF\IfcObject.ObjectType); -END_ENTITY; - -ENTITY IfcOffsetCurve2D - SUBTYPE OF (IfcCurve); - BasisCurve : IfcCurve; - Distance : IfcLengthMeasure; - SelfIntersect : LOGICAL; - WHERE - WR1 : BasisCurve.Dim = 2; -END_ENTITY; - -ENTITY IfcOffsetCurve3D - SUBTYPE OF (IfcCurve); - BasisCurve : IfcCurve; - Distance : IfcLengthMeasure; - SelfIntersect : LOGICAL; - RefDirection : IfcDirection; - WHERE - WR1 : BasisCurve.Dim = 3; -END_ENTITY; - -ENTITY IfcOneDirectionRepeatFactor - SUPERTYPE OF (ONEOF - (IfcTwoDirectionRepeatFactor)) - SUBTYPE OF (IfcGeometricRepresentationItem); - RepeatFactor : IfcVector; -END_ENTITY; - -ENTITY IfcOpenShell - SUBTYPE OF (IfcConnectedFaceSet); -END_ENTITY; - -ENTITY IfcOpeningElement - SUBTYPE OF (IfcFeatureElementSubtraction); - INVERSE - HasFillings : SET [0:?] OF IfcRelFillsElement FOR RelatingOpeningElement; -END_ENTITY; - -ENTITY IfcOpticalMaterialProperties - SUBTYPE OF (IfcMaterialProperties); - VisibleTransmittance : OPTIONAL IfcPositiveRatioMeasure; - SolarTransmittance : OPTIONAL IfcPositiveRatioMeasure; - ThermalIrTransmittance : OPTIONAL IfcPositiveRatioMeasure; - ThermalIrEmissivityBack : OPTIONAL IfcPositiveRatioMeasure; - ThermalIrEmissivityFront : OPTIONAL IfcPositiveRatioMeasure; - VisibleReflectanceBack : OPTIONAL IfcPositiveRatioMeasure; - VisibleReflectanceFront : OPTIONAL IfcPositiveRatioMeasure; - SolarReflectanceFront : OPTIONAL IfcPositiveRatioMeasure; - SolarReflectanceBack : OPTIONAL IfcPositiveRatioMeasure; - UNIQUE - UR11 : Material; -END_ENTITY; - -ENTITY IfcOrderAction - SUBTYPE OF (IfcTask); - ActionID : IfcIdentifier; - UNIQUE - UR2 : ActionID; -END_ENTITY; - -ENTITY IfcOrganization; - Id : 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; - Name : IfcLabel; - Description : OPTIONAL IfcText; - RelatingOrganization : IfcOrganization; - RelatedOrganizations : SET [1:?] OF IfcOrganization; -END_ENTITY; - -ENTITY IfcOrientedEdge - SUBTYPE OF (IfcEdge); - EdgeElement : IfcEdge; - Orientation : BOOLEAN; - DERIVE - SELF\IfcEdge.EdgeStart : IfcVertex := IfcBooleanChoose - (Orientation, EdgeElement.EdgeStart, EdgeElement.EdgeEnd); - SELF\IfcEdge.EdgeEnd : IfcVertex := IfcBooleanChoose - (Orientation, EdgeElement.EdgeEnd, EdgeElement.EdgeStart); - WHERE - WR1 : NOT('IFC2X3.IFCORIENTEDEDGE' IN TYPEOF(EdgeElement)); -END_ENTITY; - -ENTITY IfcOutletType - SUBTYPE OF (IfcFlowTerminalType); - PredefinedType : IfcOutletTypeEnum; -END_ENTITY; - -ENTITY IfcOwnerHistory; - OwningUser : IfcPersonAndOrganization; - OwningApplication : IfcApplication; - State : OPTIONAL IfcStateEnum; - ChangeAction : IfcChangeActionEnum; - LastModifiedDate : OPTIONAL IfcTimeStamp; - LastModifyingUser : OPTIONAL IfcPersonAndOrganization; - LastModifyingApplication : OPTIONAL IfcApplication; - CreationDate : IfcTimeStamp; -END_ENTITY; - -ENTITY IfcParameterizedProfileDef - ABSTRACT SUPERTYPE OF (ONEOF - (IfcCShapeProfileDef - ,IfcCircleProfileDef - ,IfcCraneRailAShapeProfileDef - ,IfcCraneRailFShapeProfileDef - ,IfcEllipseProfileDef - ,IfcIShapeProfileDef - ,IfcLShapeProfileDef - ,IfcRectangleProfileDef - ,IfcTShapeProfileDef - ,IfcTrapeziumProfileDef - ,IfcUShapeProfileDef - ,IfcZShapeProfileDef)) - SUBTYPE OF (IfcProfileDef); - Position : IfcAxis2Placement2D; -END_ENTITY; - -ENTITY IfcPath - SUBTYPE OF (IfcTopologicalRepresentationItem); - EdgeList : LIST [1:?] OF UNIQUE IfcOrientedEdge; - WHERE - WR1 : IfcPathHeadToTail(SELF); -END_ENTITY; - -ENTITY IfcPerformanceHistory - SUBTYPE OF (IfcControl); - LifeCyclePhase : IfcLabel; -END_ENTITY; - -ENTITY IfcPermeableCoveringProperties - SUBTYPE OF (IfcPropertySetDefinition); - OperationType : IfcPermeableCoveringOperationEnum; - PanelPosition : IfcWindowPanelPositionEnum; - FrameDepth : OPTIONAL IfcPositiveLengthMeasure; - FrameThickness : OPTIONAL IfcPositiveLengthMeasure; - ShapeAspectStyle : OPTIONAL IfcShapeAspect; -END_ENTITY; - -ENTITY IfcPermit - SUBTYPE OF (IfcControl); - PermitID : IfcIdentifier; - UNIQUE - UR2 : PermitID; -END_ENTITY; - -ENTITY IfcPerson; - Id : 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 - WR1 : 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 - WR21 : SIZEOF(QUERY(temp <* HasQuantities | SELF :=: temp)) = 0; -END_ENTITY; - -ENTITY IfcPhysicalQuantity - ABSTRACT SUPERTYPE OF (ONEOF - (IfcPhysicalComplexQuantity - ,IfcPhysicalSimpleQuantity)); - Name : IfcLabel; - Description : OPTIONAL IfcText; - INVERSE - 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 : IfcPileTypeEnum; - ConstructionType : OPTIONAL IfcPileConstructionEnum; - WHERE - WR1 : (PredefinedType <> IfcPileTypeEnum.USERDEFINED) OR ((PredefinedType = IfcPileTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); -END_ENTITY; - -ENTITY IfcPipeFittingType - SUBTYPE OF (IfcFlowFittingType); - PredefinedType : IfcPipeFittingTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcPipeFittingTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcPipeFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcPipeSegmentType - SUBTYPE OF (IfcFlowSegmentType); - PredefinedType : IfcPipeSegmentTypeEnum; - WHERE - WR1 : (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 BINARY(32); - WHERE - WR21 : Width >= 1; - WR22 : Height >= 1; - WR23 : {1 <= ColourComponents <= 4}; - WR24 : SIZEOF(Pixel) = (Width * Height); -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 - SUBTYPE OF (IfcBuildingElement); -END_ENTITY; - -ENTITY IfcPlateType - SUBTYPE OF (IfcBuildingElementType); - PredefinedType : IfcPlateTypeEnum; - WHERE - WR1 : SIZEOF (QUERY(temp <* SELF\IfcObjectDefinition.HasAssociations | 'IFC2X3.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp) )) = 1; -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 - WR21 : SIZEOF(QUERY(Temp <* Polygon | Temp.Dim <> Polygon[1].Dim)) = 0; -END_ENTITY; - -ENTITY IfcPolygonalBoundedHalfSpace - SUBTYPE OF (IfcHalfSpaceSolid); - Position : IfcAxis2Placement3D; - PolygonalBoundary : IfcBoundedCurve; - WHERE - WR41 : PolygonalBoundary.Dim = 2; - WR42 : SIZEOF(TYPEOF(PolygonalBoundary) * [ - 'IFC2X3.IFCPOLYLINE', - 'IFC2X3.IFCCOMPOSITECURVE'] - ) = 1; -END_ENTITY; - -ENTITY IfcPolyline - SUBTYPE OF (IfcBoundedCurve); - Points : LIST [2:?] OF IfcCartesianPoint; - WHERE - WR41 : SIZEOF(QUERY(Temp <* Points | Temp.Dim <> Points[1].Dim)) = 0; -END_ENTITY; - -ENTITY IfcPort - ABSTRACT SUPERTYPE OF (ONEOF - (IfcDistributionPort)) - SUBTYPE OF (IfcProduct); - INVERSE - ContainedIn : 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 IfcPreDefinedDimensionSymbol - SUBTYPE OF (IfcPreDefinedSymbol); - WHERE - WR31 : SELF\IfcPreDefinedItem.Name IN ['arc length','conical taper','counterbore', - 'countersink','depth','diameter','plus minus','radius', - 'slope','spherical diameter','spherical radius','square']; -END_ENTITY; - -ENTITY IfcPreDefinedItem - ABSTRACT SUPERTYPE OF (ONEOF - (IfcPreDefinedColour - ,IfcPreDefinedCurveFont - ,IfcPreDefinedSymbol - ,IfcPreDefinedTextFont)); - Name : IfcLabel; -END_ENTITY; - -ENTITY IfcPreDefinedPointMarkerSymbol - SUBTYPE OF (IfcPreDefinedSymbol); - WHERE - WR31 : SELF\IfcPreDefinedItem.Name IN ['asterisk','circle','dot','plus','square','triangle','x']; -END_ENTITY; - -ENTITY IfcPreDefinedSymbol - ABSTRACT SUPERTYPE OF (ONEOF - (IfcPreDefinedDimensionSymbol - ,IfcPreDefinedPointMarkerSymbol - ,IfcPreDefinedTerminatorSymbol)) - SUBTYPE OF (IfcPreDefinedItem); -END_ENTITY; - -ENTITY IfcPreDefinedTerminatorSymbol - SUBTYPE OF (IfcPreDefinedSymbol); - WHERE - WR31 : SELF\IfcPreDefinedItem.Name IN ['blanked arrow','blanked box', - 'blanked dot','dimension origin','filled arrow','filled box', - 'filled dot','integral symbol','open arrow','slash','unfilled arrow']; -END_ENTITY; - -ENTITY IfcPreDefinedTextFont - ABSTRACT SUPERTYPE OF (ONEOF - (IfcDraughtingPreDefinedTextFont - ,IfcTextStyleFontModel)) - SUBTYPE OF (IfcPreDefinedItem); -END_ENTITY; - -ENTITY IfcPresentationLayerAssignment - SUPERTYPE OF (ONEOF - (IfcPresentationLayerWithStyle)); - Name : IfcLabel; - Description : OPTIONAL IfcText; - AssignedItems : SET [1:?] OF IfcLayeredItem; - Identifier : OPTIONAL IfcIdentifier; -END_ENTITY; - -ENTITY IfcPresentationLayerWithStyle - SUBTYPE OF (IfcPresentationLayerAssignment); - LayerOn : LOGICAL; - LayerFrozen : LOGICAL; - LayerBlocked : LOGICAL; - LayerStyles : SET [0:?] OF IfcPresentationStyleSelect; -END_ENTITY; - -ENTITY IfcPresentationStyle - ABSTRACT SUPERTYPE OF (ONEOF - (IfcCurveStyle - ,IfcFillAreaStyle - ,IfcSurfaceStyle - ,IfcSymbolStyle - ,IfcTextStyle)); - Name : OPTIONAL IfcLabel; -END_ENTITY; - -ENTITY IfcPresentationStyleAssignment; - Styles : SET [1:?] OF IfcPresentationStyleSelect; -END_ENTITY; - -ENTITY IfcProcedure - SUBTYPE OF (IfcProcess); - ProcedureID : IfcIdentifier; - ProcedureType : IfcProcedureTypeEnum; - UserDefinedProcedureType : OPTIONAL IfcLabel; - WHERE - WR1 : SIZEOF(QUERY(temp <* SELF\IfcObjectDefinition.Decomposes | NOT('IFC2X3.IFCRELNESTS' IN TYPEOF(temp)))) = 0; - WR2 : SIZEOF(QUERY(temp <* SELF\IfcObjectDefinition.IsDecomposedBy | NOT('IFC2X3.IFCRELNESTS' IN TYPEOF(temp)))) = 0; - WR3 : EXISTS(SELF\IfcRoot.Name); - WR4 : (ProcedureType <> IfcProcedureTypeEnum.USERDEFINED) OR - ((ProcedureType = IfcProcedureTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcProcedure.UserDefinedProcedureType)); -END_ENTITY; - -ENTITY IfcProcess - ABSTRACT SUPERTYPE OF (ONEOF - (IfcProcedure - ,IfcTask)) - SUBTYPE OF (IfcObject); - INVERSE - OperatesOn : SET [0:?] OF IfcRelAssignsToProcess FOR RelatingProcess; - IsSuccessorFrom : SET [0:?] OF IfcRelSequence FOR RelatedProcess; - IsPredecessorTo : SET [0:?] OF IfcRelSequence FOR RelatingProcess; -END_ENTITY; - -ENTITY IfcProduct - ABSTRACT SUPERTYPE OF (ONEOF - (IfcAnnotation - ,IfcElement - ,IfcGrid - ,IfcPort - ,IfcProxy - ,IfcSpatialStructureElement - ,IfcStructuralActivity - ,IfcStructuralItem)) - SUBTYPE OF (IfcObject); - ObjectPlacement : OPTIONAL IfcObjectPlacement; - Representation : OPTIONAL IfcProductRepresentation; - INVERSE - ReferencedBy : SET [0:?] OF IfcRelAssignsToProduct FOR RelatingProduct; - WHERE - WR1 : (EXISTS(Representation) AND EXISTS(ObjectPlacement)) - OR (EXISTS(Representation) AND - (NOT('IFC2X3.IFCPRODUCTDEFINITIONSHAPE' IN TYPEOF(Representation)))) - OR (NOT(EXISTS(Representation))); -END_ENTITY; - -ENTITY IfcProductDefinitionShape - SUBTYPE OF (IfcProductRepresentation); - INVERSE - ShapeOfProduct : SET [1:1] OF IfcProduct FOR Representation; - HasShapeAspects : SET [0:?] OF IfcShapeAspect FOR PartOfProductDefinitionShape; - WHERE - WR11 : SIZEOF(QUERY(temp <* Representations | - (NOT('IFC2X3.IFCSHAPEMODEL' IN TYPEOF(temp))) - )) = 0; -END_ENTITY; - -ENTITY IfcProductRepresentation - SUPERTYPE OF (ONEOF - (IfcMaterialDefinitionRepresentation - ,IfcProductDefinitionShape)); - Name : OPTIONAL IfcLabel; - Description : OPTIONAL IfcText; - Representations : LIST [1:?] OF IfcRepresentation; -END_ENTITY; - -ENTITY IfcProductsOfCombustionProperties - SUBTYPE OF (IfcMaterialProperties); - SpecificHeatCapacity : OPTIONAL IfcSpecificHeatCapacityMeasure; - N20Content : OPTIONAL IfcPositiveRatioMeasure; - COContent : OPTIONAL IfcPositiveRatioMeasure; - CO2Content : OPTIONAL IfcPositiveRatioMeasure; - UNIQUE - UR11 : Material; -END_ENTITY; - -ENTITY IfcProfileDef - ABSTRACT SUPERTYPE OF (ONEOF - (IfcArbitraryClosedProfileDef - ,IfcArbitraryOpenProfileDef - ,IfcCompositeProfileDef - ,IfcDerivedProfileDef - ,IfcParameterizedProfileDef)); - ProfileType : IfcProfileTypeEnum; - ProfileName : OPTIONAL IfcLabel; -END_ENTITY; - -ENTITY IfcProfileProperties - ABSTRACT SUPERTYPE OF (ONEOF - (IfcGeneralProfileProperties - ,IfcRibPlateProfileProperties)); - ProfileName : OPTIONAL IfcLabel; - ProfileDefinition : OPTIONAL IfcProfileDef; -END_ENTITY; - -ENTITY IfcProject - SUBTYPE OF (IfcObject); - LongName : OPTIONAL IfcLabel; - Phase : OPTIONAL IfcLabel; - RepresentationContexts : SET [1:?] OF IfcRepresentationContext; - UnitsInContext : IfcUnitAssignment; - WHERE - WR31 : EXISTS(SELF\IfcRoot.Name); - WR32 : SIZEOF(QUERY(Temp <* RepresentationContexts | - 'IFC2X3.IFCGEOMETRICREPRESENTATIONSUBCONTEXT' IN TYPEOF(Temp) - )) = 0; - WR33 : SIZEOF(SELF\IfcObjectDefinition.Decomposes) = 0; -END_ENTITY; - -ENTITY IfcProjectOrder - SUBTYPE OF (IfcControl); - ID : IfcIdentifier; - PredefinedType : IfcProjectOrderTypeEnum; - Status : OPTIONAL IfcLabel; - UNIQUE - UR2 : ID; -END_ENTITY; - -ENTITY IfcProjectOrderRecord - SUBTYPE OF (IfcControl); - Records : LIST [1:?] OF UNIQUE IfcRelAssignsToProjectOrder; - PredefinedType : IfcProjectOrderRecordTypeEnum; -END_ENTITY; - -ENTITY IfcProjectionCurve - SUBTYPE OF (IfcAnnotationCurveOccurrence); -END_ENTITY; - -ENTITY IfcProjectionElement - SUBTYPE OF (IfcFeatureElementAddition); -END_ENTITY; - -ENTITY IfcProperty - ABSTRACT SUPERTYPE OF (ONEOF - (IfcComplexProperty - ,IfcSimpleProperty)); - Name : IfcIdentifier; - Description : OPTIONAL IfcText; - INVERSE - PropertyForDependance : SET [0:?] OF IfcPropertyDependencyRelationship FOR DependingProperty; - PropertyDependsOn : SET [0:?] OF IfcPropertyDependencyRelationship FOR DependantProperty; - PartOfComplex : SET [0:1] OF IfcComplexProperty FOR HasProperties; -END_ENTITY; - -ENTITY IfcPropertyBoundedValue - SUBTYPE OF (IfcSimpleProperty); - UpperBoundValue : OPTIONAL IfcValue; - LowerBoundValue : OPTIONAL IfcValue; - Unit : OPTIONAL IfcUnit; - WHERE - WR21 : NOT(EXISTS(UpperBoundValue)) OR NOT(EXISTS(LowerBoundValue)) OR - (TYPEOF(UpperBoundValue) = TYPEOF(LowerBoundValue)); - WR22 : EXISTS(UpperBoundValue) OR EXISTS(LowerBoundValue); -END_ENTITY; - -ENTITY IfcPropertyConstraintRelationship; - RelatingConstraint : IfcConstraint; - RelatedProperties : SET [1:?] OF IfcProperty; - Name : OPTIONAL IfcLabel; - Description : OPTIONAL IfcText; -END_ENTITY; - -ENTITY IfcPropertyDefinition - ABSTRACT SUPERTYPE OF (ONEOF - (IfcPropertySetDefinition)) - SUBTYPE OF (IfcRoot); - INVERSE - HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects; -END_ENTITY; - -ENTITY IfcPropertyDependencyRelationship; - DependingProperty : IfcProperty; - DependantProperty : IfcProperty; - Name : OPTIONAL IfcLabel; - Description : OPTIONAL IfcText; - Expression : OPTIONAL IfcText; - WHERE - WR1 : DependingProperty :<>: DependantProperty; -END_ENTITY; - -ENTITY IfcPropertyEnumeratedValue - SUBTYPE OF (IfcSimpleProperty); - EnumerationValues : LIST [1:?] OF IfcValue; - EnumerationReference : OPTIONAL IfcPropertyEnumeration; - WHERE - WR1 : NOT(EXISTS(EnumerationReference)) OR - (SIZEOF(QUERY(temp <* EnumerationValues | - temp IN EnumerationReference.EnumerationValues)) - = SIZEOF(EnumerationValues)); -END_ENTITY; - -ENTITY IfcPropertyEnumeration; - 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 : 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 IfcLabel; - PropertyReference : IfcObjectReferenceSelect; -END_ENTITY; - -ENTITY IfcPropertySet - SUBTYPE OF (IfcPropertySetDefinition); - HasProperties : SET [1:?] OF IfcProperty; - WHERE - WR31 : EXISTS(SELF\IfcRoot.Name); - WR32 : IfcUniquePropertyName(HasProperties); -END_ENTITY; - -ENTITY IfcPropertySetDefinition - ABSTRACT SUPERTYPE OF (ONEOF - (IfcDoorLiningProperties - ,IfcDoorPanelProperties - ,IfcElementQuantity - ,IfcEnergyProperties - ,IfcFluidFlowProperties - ,IfcPermeableCoveringProperties - ,IfcPropertySet - ,IfcReinforcementDefinitionProperties - ,IfcServiceLifeFactor - ,IfcSoundProperties - ,IfcSoundValue - ,IfcSpaceThermalLoadProperties - ,IfcWindowLiningProperties - ,IfcWindowPanelProperties)) - SUBTYPE OF (IfcPropertyDefinition); - INVERSE - PropertyDefinitionOf : SET [0:1] OF IfcRelDefinesByProperties FOR RelatingPropertyDefinition; - DefinesType : SET [0:1] OF IfcTypeObject FOR HasPropertySets; -END_ENTITY; - -ENTITY IfcPropertySingleValue - SUBTYPE OF (IfcSimpleProperty); - NominalValue : OPTIONAL IfcValue; - Unit : OPTIONAL IfcUnit; -END_ENTITY; - -ENTITY IfcPropertyTableValue - SUBTYPE OF (IfcSimpleProperty); - DefiningValues : LIST [1:?] OF UNIQUE IfcValue; - DefinedValues : LIST [1:?] OF IfcValue; - Expression : OPTIONAL IfcText; - DefiningUnit : OPTIONAL IfcUnit; - DefinedUnit : OPTIONAL IfcUnit; - WHERE - WR1 : SIZEOF(DefiningValues) = SIZEOF(DefinedValues); - WR2 : SIZEOF(QUERY(temp <* SELF.DefiningValues | TYPEOF(temp) <> TYPEOF(SELF.DefiningValues[1])))=0; - WR3 : SIZEOF(QUERY(temp <* SELF.DefinedValues | TYPEOF(temp) <> TYPEOF(SELF.DefinedValues[1])))=0; -END_ENTITY; - -ENTITY IfcProtectiveDeviceType - SUBTYPE OF (IfcFlowControllerType); - PredefinedType : IfcProtectiveDeviceTypeEnum; -END_ENTITY; - -ENTITY IfcProxy - SUBTYPE OF (IfcProduct); - ProxyType : IfcObjectTypeEnum; - Tag : OPTIONAL IfcLabel; - WHERE - WR1 : EXISTS(SELF\IfcRoot.Name); -END_ENTITY; - -ENTITY IfcPumpType - SUBTYPE OF (IfcFlowMovingDeviceType); - PredefinedType : IfcPumpTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcPumpTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcPumpTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcQuantityArea - SUBTYPE OF (IfcPhysicalSimpleQuantity); - AreaValue : IfcAreaMeasure; - 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; - WHERE - WR21 : CountValue >= 0.; -END_ENTITY; - -ENTITY IfcQuantityLength - SUBTYPE OF (IfcPhysicalSimpleQuantity); - LengthValue : IfcLengthMeasure; - WHERE - WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR - (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.LENGTHUNIT); - WR22 : LengthValue >= 0.; -END_ENTITY; - -ENTITY IfcQuantityTime - SUBTYPE OF (IfcPhysicalSimpleQuantity); - TimeValue : IfcTimeMeasure; - 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; - 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; - WHERE - WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR - (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.MASSUNIT); - WR22 : WeightValue >= 0.; -END_ENTITY; - -ENTITY IfcRadiusDimension - SUBTYPE OF (IfcDimensionCurveDirectedCallout); -END_ENTITY; - -ENTITY IfcRailing - SUBTYPE OF (IfcBuildingElement); - PredefinedType : OPTIONAL IfcRailingTypeEnum; -END_ENTITY; - -ENTITY IfcRailingType - SUBTYPE OF (IfcBuildingElementType); - PredefinedType : IfcRailingTypeEnum; -END_ENTITY; - -ENTITY IfcRamp - SUBTYPE OF (IfcBuildingElement); - ShapeType : IfcRampTypeEnum; - WHERE - WR1 : (HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 0) OR - ((HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 1) AND (NOT(EXISTS(SELF\IfcProduct.Representation)))); -END_ENTITY; - -ENTITY IfcRampFlight - SUBTYPE OF (IfcBuildingElement); -END_ENTITY; - -ENTITY IfcRampFlightType - SUBTYPE OF (IfcBuildingElementType); - PredefinedType : IfcRampFlightTypeEnum; -END_ENTITY; - -ENTITY IfcRationalBezierCurve - SUBTYPE OF (IfcBezierCurve); - WeightsData : LIST [2:?] OF REAL; - DERIVE - Weights : ARRAY [0:255] OF REAL := IfcListToArray(WeightsData,0,SELF\IfcBSplineCurve.UpperIndexOnControlPoints); - WHERE - WR1 : SIZEOF(WeightsData) = SIZEOF(SELF\IfcBSplineCurve.ControlPointsList); - WR2 : IfcCurveWeightsPositive(SELF); -END_ENTITY; - -ENTITY IfcRectangleHollowProfileDef - SUBTYPE OF (IfcRectangleProfileDef); - WallThickness : IfcPositiveLengthMeasure; - InnerFilletRadius : OPTIONAL IfcPositiveLengthMeasure; - OuterFilletRadius : OPTIONAL IfcPositiveLengthMeasure; - WHERE - WR31 : (WallThickness < (SELF\IfcRectangleProfileDef.XDim/2.)) AND - (WallThickness < (SELF\IfcRectangleProfileDef.YDim/2.)); - WR32 : NOT(EXISTS(OuterFilletRadius)) OR - ((OuterFilletRadius <= (SELF\IfcRectangleProfileDef.XDim/2.)) AND - (OuterFilletRadius <= (SELF\IfcRectangleProfileDef.YDim/2.))); - WR33 : NOT(EXISTS(InnerFilletRadius)) OR - ((InnerFilletRadius <= (SELF\IfcRectangleProfileDef.XDim/2. - WallThickness)) AND - (InnerFilletRadius <= (SELF\IfcRectangleProfileDef.YDim/2. - WallThickness))); -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 : BOOLEAN; - Vsense : BOOLEAN; - DERIVE - Dim : IfcDimensionCount := BasisSurface.Dim; - WHERE - WR1 : U1 <> U2; - WR2 : V1 <> V2; - WR3 : (('IFC2X3.IFCELEMENTARYSURFACE' IN TYPEOF(BasisSurface)) AND - (NOT ('IFC2X3.IFCPLANE' IN TYPEOF(BasisSurface)))) OR - ('IFC2X3.IFCSURFACEOFREVOLUTION' IN TYPEOF(BasisSurface)) OR - (Usense = (U2 > U1)); - WR4 : Vsense = (V2 > V1); -END_ENTITY; - -ENTITY IfcReferencesValueDocument; - ReferencedDocument : IfcDocumentSelect; - ReferencingValues : SET [1:?] OF IfcAppliedValue; - Name : OPTIONAL IfcLabel; - Description : OPTIONAL IfcText; -END_ENTITY; - -ENTITY IfcRegularTimeSeries - SUBTYPE OF (IfcTimeSeries); - TimeStep : IfcTimeMeasure; - Values : LIST [1:?] OF IfcTimeSeriesValue; -END_ENTITY; - -ENTITY IfcReinforcementBarProperties; - TotalCrossSectionArea : IfcAreaMeasure; - SteelGrade : IfcLabel; - BarSurface : OPTIONAL IfcReinforcingBarSurfaceEnum; - EffectiveDepth : OPTIONAL IfcLengthMeasure; - NominalBarDiameter : OPTIONAL IfcPositiveLengthMeasure; - BarCount : OPTIONAL IfcCountMeasure; -END_ENTITY; - -ENTITY IfcReinforcementDefinitionProperties - SUBTYPE OF (IfcPropertySetDefinition); - DefinitionType : OPTIONAL IfcLabel; - ReinforcementSectionDefinitions : LIST [1:?] OF IfcSectionReinforcementProperties; -END_ENTITY; - -ENTITY IfcReinforcingBar - SUBTYPE OF (IfcReinforcingElement); - NominalDiameter : IfcPositiveLengthMeasure; - CrossSectionArea : IfcAreaMeasure; - BarLength : OPTIONAL IfcPositiveLengthMeasure; - BarRole : IfcReinforcingBarRoleEnum; - BarSurface : OPTIONAL IfcReinforcingBarSurfaceEnum; - WHERE - WR1 : (BarRole <> IfcReinforcingBarRoleEnum.USERDEFINED) OR ((BarRole = IfcReinforcingBarRoleEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); -END_ENTITY; - -ENTITY IfcReinforcingElement - ABSTRACT SUPERTYPE OF (ONEOF - (IfcReinforcingBar - ,IfcReinforcingMesh - ,IfcTendon - ,IfcTendonAnchor)) - SUBTYPE OF (IfcBuildingElementComponent); - SteelGrade : OPTIONAL IfcLabel; -END_ENTITY; - -ENTITY IfcReinforcingMesh - SUBTYPE OF (IfcReinforcingElement); - MeshLength : OPTIONAL IfcPositiveLengthMeasure; - MeshWidth : OPTIONAL IfcPositiveLengthMeasure; - LongitudinalBarNominalDiameter : IfcPositiveLengthMeasure; - TransverseBarNominalDiameter : IfcPositiveLengthMeasure; - LongitudinalBarCrossSectionArea : IfcAreaMeasure; - TransverseBarCrossSectionArea : IfcAreaMeasure; - LongitudinalBarSpacing : IfcPositiveLengthMeasure; - TransverseBarSpacing : IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcRelAggregates - SUBTYPE OF (IfcRelDecomposes); -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 IfcRelAssignsTasks - SUBTYPE OF (IfcRelAssignsToControl); - TimeForTask : OPTIONAL IfcScheduleTimeControl; - WHERE - WR1 : HIINDEX(SELF\IfcRelAssigns.RelatedObjects) = 1; - WR2 : 'IFC2X3.IFCTASK' IN TYPEOF(SELF\IfcRelAssigns.RelatedObjects[1]); - WR3 : 'IFC2X3.IFCWORKCONTROL' IN TYPEOF(SELF\IfcRelAssignsToControl.RelatingControl); -END_ENTITY; - -ENTITY IfcRelAssignsToActor - SUPERTYPE OF (ONEOF - (IfcRelOccupiesSpaces)) - SUBTYPE OF (IfcRelAssigns); - RelatingActor : IfcActor; - ActingRole : OPTIONAL IfcActorRole; - WHERE - WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingActor :=: Temp)) = 0; -END_ENTITY; - -ENTITY IfcRelAssignsToControl - SUPERTYPE OF (ONEOF - (IfcRelAssignsTasks - ,IfcRelAssignsToProjectOrder - ,IfcRelSchedulesCostItems)) - SUBTYPE OF (IfcRelAssigns); - RelatingControl : IfcControl; - WHERE - WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingControl :=: Temp)) = 0; -END_ENTITY; - -ENTITY IfcRelAssignsToGroup - SUBTYPE OF (IfcRelAssigns); - RelatingGroup : IfcGroup; - WHERE - WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingGroup :=: Temp)) = 0; -END_ENTITY; - -ENTITY IfcRelAssignsToProcess - SUBTYPE OF (IfcRelAssigns); - RelatingProcess : IfcProcess; - QuantityInProcess : OPTIONAL IfcMeasureWithUnit; - WHERE - WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingProcess :=: Temp)) = 0; -END_ENTITY; - -ENTITY IfcRelAssignsToProduct - SUBTYPE OF (IfcRelAssigns); - RelatingProduct : IfcProduct; - WHERE - WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingProduct :=: Temp)) = 0; -END_ENTITY; - -ENTITY IfcRelAssignsToProjectOrder - SUBTYPE OF (IfcRelAssignsToControl); -END_ENTITY; - -ENTITY IfcRelAssignsToResource - SUBTYPE OF (IfcRelAssigns); - RelatingResource : IfcResource; - WHERE - WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingResource :=: Temp)) = 0; -END_ENTITY; - -ENTITY IfcRelAssociates - SUPERTYPE OF (ONEOF - (IfcRelAssociatesAppliedValue - ,IfcRelAssociatesApproval - ,IfcRelAssociatesClassification - ,IfcRelAssociatesConstraint - ,IfcRelAssociatesDocument - ,IfcRelAssociatesLibrary - ,IfcRelAssociatesMaterial - ,IfcRelAssociatesProfileProperties)) - SUBTYPE OF (IfcRelationship); - RelatedObjects : SET [1:?] OF IfcRoot; - WHERE - WR21 : SIZEOF(QUERY(temp <* RelatedObjects | - NOT(('IFC2X3.IFCOBJECTDEFINITION' IN TYPEOF(temp)) - OR ('IFC2X3.IFCPROPERTYDEFINITION' IN TYPEOF(temp))) - )) = 0; -END_ENTITY; - -ENTITY IfcRelAssociatesAppliedValue - SUBTYPE OF (IfcRelAssociates); - RelatingAppliedValue : IfcAppliedValue; -END_ENTITY; - -ENTITY IfcRelAssociatesApproval - SUBTYPE OF (IfcRelAssociates); - RelatingApproval : IfcApproval; -END_ENTITY; - -ENTITY IfcRelAssociatesClassification - SUBTYPE OF (IfcRelAssociates); - RelatingClassification : IfcClassificationNotationSelect; -END_ENTITY; - -ENTITY IfcRelAssociatesConstraint - SUBTYPE OF (IfcRelAssociates); - Intent : 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 - WR21 : SIZEOF(QUERY(temp <* SELF\IfcRelAssociates.RelatedObjects | - ('IFC2X3.IFCFEATUREELEMENTSUBTRACTION' IN TYPEOF(temp)) - OR ('IFC2X3.IFCVIRTUALELEMENT' IN TYPEOF(temp)) - )) = 0; - WR22 : SIZEOF(QUERY(temp <* SELF\IfcRelAssociates.RelatedObjects | - (NOT('IFC2X3.IFCPRODUCT' IN TYPEOF(temp)) AND NOT('IFC2X3.IFCTYPEPRODUCT' IN TYPEOF(temp))) - )) = 0; -END_ENTITY; - -ENTITY IfcRelAssociatesProfileProperties - SUBTYPE OF (IfcRelAssociates); - RelatingProfileProperties : IfcProfileProperties; - ProfileSectionLocation : OPTIONAL IfcShapeAspect; - ProfileOrientation : OPTIONAL IfcOrientationSelect; -END_ENTITY; - -ENTITY IfcRelConnects - ABSTRACT SUPERTYPE OF (ONEOF - (IfcRelConnectsElements - ,IfcRelConnectsPortToElement - ,IfcRelConnectsPorts - ,IfcRelConnectsStructuralActivity - ,IfcRelConnectsStructuralElement - ,IfcRelConnectsStructuralMember - ,IfcRelContainedInSpatialStructure - ,IfcRelCoversBldgElements - ,IfcRelCoversSpaces - ,IfcRelFillsElement - ,IfcRelFlowControlElements - ,IfcRelInteractionRequirements - ,IfcRelProjectsElement - ,IfcRelReferencedInSpatialStructure - ,IfcRelSequence - ,IfcRelServicesBuildings - ,IfcRelSpaceBoundary - ,IfcRelVoidsElement)) - SUBTYPE OF (IfcRelationship); -END_ENTITY; - -ENTITY IfcRelConnectsElements - SUPERTYPE OF (ONEOF - (IfcRelConnectsPathElements - ,IfcRelConnectsWithRealizingElements)) - SUBTYPE OF (IfcRelConnects); - ConnectionGeometry : OPTIONAL IfcConnectionGeometry; - RelatingElement : IfcElement; - RelatedElement : IfcElement; - WHERE - WR31 : RelatingElement :<>: RelatedElement; -END_ENTITY; - -ENTITY IfcRelConnectsPathElements - SUBTYPE OF (IfcRelConnectsElements); - RelatingPriorities : LIST [0:?] OF INTEGER; - RelatedPriorities : LIST [0:?] OF INTEGER; - RelatedConnectionType : IfcConnectionTypeEnum; - RelatingConnectionType : IfcConnectionTypeEnum; - DERIVE - RelatedLayerCount : INTEGER := IfcNoOfLayers(SELF\IfcRelConnectsElements.RelatedElement); - RelatingLayerCount : INTEGER := IfcNoOfLayers(SELF\IfcRelConnectsElements.RelatingElement); -END_ENTITY; - -ENTITY IfcRelConnectsPortToElement - SUBTYPE OF (IfcRelConnects); - RelatingPort : IfcPort; - RelatedElement : IfcElement; -END_ENTITY; - -ENTITY IfcRelConnectsPorts - SUBTYPE OF (IfcRelConnects); - RelatingPort : IfcPort; - RelatedPort : IfcPort; - RealizingElement : OPTIONAL IfcElement; -END_ENTITY; - -ENTITY IfcRelConnectsStructuralActivity - SUBTYPE OF (IfcRelConnects); - RelatingElement : IfcStructuralActivityAssignmentSelect; - RelatedStructuralActivity : IfcStructuralActivity; -END_ENTITY; - -ENTITY IfcRelConnectsStructuralElement - SUBTYPE OF (IfcRelConnects); - RelatingElement : IfcElement; - RelatedStructuralMember : IfcStructuralMember; -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 : IfcSpatialStructureElement; - WHERE - WR31 : SIZEOF(QUERY(temp <* RelatedElements | 'IFC2X3.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); - RelatedSpace : IfcSpace; - RelatedCoverings : SET [1:?] OF IfcCovering; -END_ENTITY; - -ENTITY IfcRelDecomposes - ABSTRACT SUPERTYPE OF (ONEOF - (IfcRelAggregates - ,IfcRelNests)) - SUBTYPE OF (IfcRelationship); - RelatingObject : IfcObjectDefinition; - RelatedObjects : SET [1:?] OF IfcObjectDefinition; - WHERE - WR31 : SIZEOF(QUERY(Temp <* RelatedObjects | RelatingObject :=: Temp)) = 0; - WR32 : SIZEOF(QUERY(Temp <* RelatedObjects | 'IFC2X3.IFCTYPEOBJECT' IN TYPEOF(temp))) = 0; - WR33 : NOT('IFC2X3.IFCTYPEOBJECT' IN TYPEOF(RelatingObject)); -END_ENTITY; - -ENTITY IfcRelDefines - ABSTRACT SUPERTYPE OF (ONEOF - (IfcRelDefinesByProperties - ,IfcRelDefinesByType)) - SUBTYPE OF (IfcRelationship); - RelatedObjects : SET [1:?] OF IfcObject; -END_ENTITY; - -ENTITY IfcRelDefinesByProperties - SUPERTYPE OF (ONEOF - (IfcRelOverridesProperties)) - SUBTYPE OF (IfcRelDefines); - RelatingPropertyDefinition : IfcPropertySetDefinition; -END_ENTITY; - -ENTITY IfcRelDefinesByType - SUBTYPE OF (IfcRelDefines); - 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 IfcRelInteractionRequirements - SUBTYPE OF (IfcRelConnects); - DailyInteraction : OPTIONAL IfcCountMeasure; - ImportanceRating : OPTIONAL IfcNormalisedRatioMeasure; - LocationOfInteraction : OPTIONAL IfcSpatialStructureElement; - RelatedSpaceProgram : IfcSpaceProgram; - RelatingSpaceProgram : IfcSpaceProgram; -END_ENTITY; - -ENTITY IfcRelNests - SUBTYPE OF (IfcRelDecomposes); - WHERE - WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelDecomposes.RelatedObjects | - NOT(TYPEOF(SELF\IfcRelDecomposes.RelatingObject) = TYPEOF(Temp)))) = 0; -END_ENTITY; - -ENTITY IfcRelOccupiesSpaces - SUBTYPE OF (IfcRelAssignsToActor); -END_ENTITY; - -ENTITY IfcRelOverridesProperties - SUBTYPE OF (IfcRelDefinesByProperties); - OverridingProperties : SET [1:?] OF IfcProperty; - WHERE - WR1 : SIZEOF(SELF\IfcRelDefines.RelatedObjects) = 1; -END_ENTITY; - -ENTITY IfcRelProjectsElement - SUBTYPE OF (IfcRelConnects); - RelatingElement : IfcElement; - RelatedFeatureElement : IfcFeatureElementAddition; -END_ENTITY; - -ENTITY IfcRelReferencedInSpatialStructure - SUBTYPE OF (IfcRelConnects); - RelatedElements : SET [1:?] OF IfcProduct; - RelatingStructure : IfcSpatialStructureElement; - WHERE - WR31 : SIZEOF(QUERY(temp <* RelatedElements | 'IFC2X3.IFCSPATIALSTRUCTUREELEMENT' IN TYPEOF(temp))) = 0; -END_ENTITY; - -ENTITY IfcRelSchedulesCostItems - SUBTYPE OF (IfcRelAssignsToControl); - WHERE - WR11 : SIZEOF(QUERY(temp <* SELF\IfcRelAssigns.RelatedObjects | - NOT('IFC2X3.IFCCOSTITEM' IN TYPEOF(temp)) - )) = 0; - WR12 : 'IFC2X3.IFCCOSTSCHEDULE' IN TYPEOF (SELF\IfcRelAssignsToControl.RelatingControl); -END_ENTITY; - -ENTITY IfcRelSequence - SUBTYPE OF (IfcRelConnects); - RelatingProcess : IfcProcess; - RelatedProcess : IfcProcess; - TimeLag : IfcTimeMeasure; - SequenceType : IfcSequenceEnum; - WHERE - WR1 : RelatingProcess :<>: RelatedProcess; -END_ENTITY; - -ENTITY IfcRelServicesBuildings - SUBTYPE OF (IfcRelConnects); - RelatingSystem : IfcSystem; - RelatedBuildings : SET [1:?] OF IfcSpatialStructureElement; -END_ENTITY; - -ENTITY IfcRelSpaceBoundary - SUBTYPE OF (IfcRelConnects); - RelatingSpace : IfcSpace; - RelatedBuildingElement : OPTIONAL IfcElement; - ConnectionGeometry : OPTIONAL IfcConnectionGeometry; - PhysicalOrVirtualBoundary : IfcPhysicalOrVirtualEnum; - InternalOrExternalBoundary : IfcInternalOrExternalEnum; - WHERE - WR1 : ((PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.Physical) AND - (EXISTS(RelatedBuildingElement) AND NOT('IFC2X3.IFCVIRTUALELEMENT' IN TYPEOF(RelatedBuildingElement)))) - OR - ((PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.Virtual) AND - (NOT(EXISTS(RelatedBuildingElement)) OR ('IFC2X3.IFCVIRTUALELEMENT' IN TYPEOF(RelatedBuildingElement)))) - OR - (PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.NotDefined); -END_ENTITY; - -ENTITY IfcRelVoidsElement - SUBTYPE OF (IfcRelConnects); - RelatingBuildingElement : IfcElement; - RelatedOpeningElement : IfcFeatureElementSubtraction; -END_ENTITY; - -ENTITY IfcRelationship - ABSTRACT SUPERTYPE OF (ONEOF - (IfcRelAssigns - ,IfcRelAssociates - ,IfcRelConnects - ,IfcRelDecomposes - ,IfcRelDefines)) - SUBTYPE OF (IfcRoot); -END_ENTITY; - -ENTITY IfcRelaxation; - RelaxationValue : IfcNormalisedRatioMeasure; - InitialStress : IfcNormalisedRatioMeasure; -END_ENTITY; - -ENTITY IfcRepresentation - 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:1] OF IfcProductRepresentation FOR Representations; -END_ENTITY; - -ENTITY IfcRepresentationContext - 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 - LayerAssignments : SET [0:?] OF IfcPresentationLayerAssignment FOR AssignedItems; - StyledByItem : SET [0:1] OF IfcStyledItem FOR Item; -END_ENTITY; - -ENTITY IfcRepresentationMap; - MappingOrigin : IfcAxis2Placement; - MappedRepresentation : IfcRepresentation; - INVERSE - MapUsage : SET [0:?] OF IfcMappedItem FOR MappingSource; -END_ENTITY; - -ENTITY IfcResource - ABSTRACT SUPERTYPE OF (ONEOF - (IfcConstructionResource)) - SUBTYPE OF (IfcObject); - INVERSE - ResourceOf : SET [0:?] OF IfcRelAssignsToResource FOR RelatingResource; -END_ENTITY; - -ENTITY IfcRevolvedAreaSolid - SUBTYPE OF (IfcSweptAreaSolid); - Axis : IfcAxis1Placement; - Angle : IfcPlaneAngleMeasure; - DERIVE - AxisLine : IfcLine := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(Axis.Location, - IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Axis.Z,1.0)); - WHERE - WR31 : Axis.Location.Coordinates[3] = 0.0; - WR32 : Axis.Z.DirectionRatios[3] = 0.0; -END_ENTITY; - -ENTITY IfcRibPlateProfileProperties - SUBTYPE OF (IfcProfileProperties); - Thickness : OPTIONAL IfcPositiveLengthMeasure; - RibHeight : OPTIONAL IfcPositiveLengthMeasure; - RibWidth : OPTIONAL IfcPositiveLengthMeasure; - RibSpacing : OPTIONAL IfcPositiveLengthMeasure; - Direction : IfcRibPlateDirectionEnum; -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); - ShapeType : IfcRoofTypeEnum; - WHERE - WR1 : (HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 0) OR - ((HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 1) AND (NOT(EXISTS(SELF\IfcProduct.Representation)))); -END_ENTITY; - -ENTITY IfcRoot - ABSTRACT SUPERTYPE OF (ONEOF - (IfcObjectDefinition - ,IfcPropertyDefinition - ,IfcRelationship)); - GlobalId : IfcGloballyUniqueId; - OwnerHistory : IfcOwnerHistory; - Name : OPTIONAL IfcLabel; - Description : OPTIONAL IfcText; - UNIQUE - UR1 : GlobalId; -END_ENTITY; - -ENTITY IfcRoundedEdgeFeature - SUBTYPE OF (IfcEdgeFeature); - Radius : OPTIONAL IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcRoundedRectangleProfileDef - SUBTYPE OF (IfcRectangleProfileDef); - RoundingRadius : IfcPositiveLengthMeasure; - WHERE - WR31 : ((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 IfcSanitaryTerminalType - SUBTYPE OF (IfcFlowTerminalType); - PredefinedType : IfcSanitaryTerminalTypeEnum; -END_ENTITY; - -ENTITY IfcScheduleTimeControl - SUBTYPE OF (IfcControl); - ActualStart : OPTIONAL IfcDateTimeSelect; - EarlyStart : OPTIONAL IfcDateTimeSelect; - LateStart : OPTIONAL IfcDateTimeSelect; - ScheduleStart : OPTIONAL IfcDateTimeSelect; - ActualFinish : OPTIONAL IfcDateTimeSelect; - EarlyFinish : OPTIONAL IfcDateTimeSelect; - LateFinish : OPTIONAL IfcDateTimeSelect; - ScheduleFinish : OPTIONAL IfcDateTimeSelect; - ScheduleDuration : OPTIONAL IfcTimeMeasure; - ActualDuration : OPTIONAL IfcTimeMeasure; - RemainingTime : OPTIONAL IfcTimeMeasure; - FreeFloat : OPTIONAL IfcTimeMeasure; - TotalFloat : OPTIONAL IfcTimeMeasure; - IsCritical : OPTIONAL BOOLEAN; - StatusTime : OPTIONAL IfcDateTimeSelect; - StartFloat : OPTIONAL IfcTimeMeasure; - FinishFloat : OPTIONAL IfcTimeMeasure; - Completion : OPTIONAL IfcPositiveRatioMeasure; - INVERSE - ScheduleTimeControlAssigned : IfcRelAssignsTasks FOR TimeForTask; -END_ENTITY; - -ENTITY IfcSectionProperties; - SectionType : IfcSectionTypeEnum; - StartProfile : IfcProfileDef; - EndProfile : OPTIONAL IfcProfileDef; -END_ENTITY; - -ENTITY IfcSectionReinforcementProperties; - 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 - WR1 : SIZEOF(CrossSections) = SIZEOF(CrossSectionPositions); - WR2 : SIZEOF(QUERY(temp <* CrossSections | CrossSections[1].ProfileType <> temp.ProfileType)) = 0; - WR3 : SpineCurve.Dim = 3; -END_ENTITY; - -ENTITY IfcSensorType - SUBTYPE OF (IfcDistributionControlElementType); - PredefinedType : IfcSensorTypeEnum; -END_ENTITY; - -ENTITY IfcServiceLife - SUBTYPE OF (IfcControl); - ServiceLifeType : IfcServiceLifeTypeEnum; - ServiceLifeDuration : IfcTimeMeasure; -END_ENTITY; - -ENTITY IfcServiceLifeFactor - SUBTYPE OF (IfcPropertySetDefinition); - PredefinedType : IfcServiceLifeFactorTypeEnum; - UpperValue : OPTIONAL IfcMeasureValue; - MostUsedValue : IfcMeasureValue; - LowerValue : OPTIONAL IfcMeasureValue; - WHERE - WR31 : NOT(PredefinedType = IfcServiceLifeFactorTypeEnum.USERDEFINED) - OR EXISTS(SELF\IfcObject.ObjectType); -END_ENTITY; - -ENTITY IfcShapeAspect; - ShapeRepresentations : LIST [1:?] OF IfcShapeModel; - Name : OPTIONAL IfcLabel; - Description : OPTIONAL IfcText; - ProductDefinitional : LOGICAL; - PartOfProductDefinitionShape : IfcProductDefinitionShape; -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 - WR21 : 'IFC2X3.IFCGEOMETRICREPRESENTATIONCONTEXT' - IN TYPEOF(SELF\IfcRepresentation.ContextOfItems); - WR22 : SIZEOF(QUERY(temp <* Items | - ('IFC2X3.IFCTOPOLOGICALREPRESENTATIONITEM' IN TYPEOF(temp)) - AND (NOT(SIZEOF( - ['IFC2X3.IFCVERTEXPOINT', - 'IFC2X3.IFCEDGECURVE', - 'IFC2X3.IFCFACESURFACE'] * TYPEOF(temp)) = 1)) - )) = 0; - WR23 : EXISTS(SELF\IfcRepresentation.RepresentationType); - WR24 : 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 IfcSite - SUBTYPE OF (IfcSpatialStructureElement); - RefLatitude : OPTIONAL IfcCompoundPlaneAngleMeasure; - RefLongitude : OPTIONAL IfcCompoundPlaneAngleMeasure; - RefElevation : OPTIONAL IfcLengthMeasure; - LandTitleNumber : OPTIONAL IfcLabel; - SiteAddress : OPTIONAL IfcPostalAddress; -END_ENTITY; - -ENTITY IfcSlab - SUBTYPE OF (IfcBuildingElement); - PredefinedType : OPTIONAL IfcSlabTypeEnum; - WHERE - WR2 : (PredefinedType <> IfcSlabTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcSlabTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); -END_ENTITY; - -ENTITY IfcSlabType - SUBTYPE OF (IfcBuildingElementType); - PredefinedType : IfcSlabTypeEnum; -END_ENTITY; - -ENTITY IfcSlippageConnectionCondition - SUBTYPE OF (IfcStructuralConnectionCondition); - SlippageX : OPTIONAL IfcLengthMeasure; - SlippageY : OPTIONAL IfcLengthMeasure; - SlippageZ : OPTIONAL IfcLengthMeasure; -END_ENTITY; - -ENTITY IfcSolidModel - ABSTRACT SUPERTYPE OF (ONEOF - (IfcCsgSolid - ,IfcManifoldSolidBrep - ,IfcSweptAreaSolid - ,IfcSweptDiskSolid)) - SUBTYPE OF (IfcGeometricRepresentationItem); - DERIVE - Dim : IfcDimensionCount := 3; -END_ENTITY; - -ENTITY IfcSoundProperties - SUBTYPE OF (IfcPropertySetDefinition); - IsAttenuating : IfcBoolean; - SoundScale : OPTIONAL IfcSoundScaleEnum; - SoundValues : LIST [1:8] OF IfcSoundValue; -END_ENTITY; - -ENTITY IfcSoundValue - SUBTYPE OF (IfcPropertySetDefinition); - SoundLevelTimeSeries : OPTIONAL IfcTimeSeries; - Frequency : IfcFrequencyMeasure; - SoundLevelSingleValue : OPTIONAL IfcDerivedMeasureValue; -END_ENTITY; - -ENTITY IfcSpace - SUBTYPE OF (IfcSpatialStructureElement); - InteriorOrExteriorSpace : IfcInternalOrExternalEnum; - ElevationWithFlooring : OPTIONAL IfcLengthMeasure; - INVERSE - HasCoverings : SET [0:?] OF IfcRelCoversSpaces FOR RelatedSpace; - BoundedBy : SET [0:?] OF IfcRelSpaceBoundary FOR RelatingSpace; -END_ENTITY; - -ENTITY IfcSpaceHeaterType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcSpaceHeaterTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcSpaceHeaterTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcSpaceHeaterTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcSpaceProgram - SUBTYPE OF (IfcControl); - SpaceProgramIdentifier : IfcIdentifier; - MaxRequiredArea : OPTIONAL IfcAreaMeasure; - MinRequiredArea : OPTIONAL IfcAreaMeasure; - RequestedLocation : OPTIONAL IfcSpatialStructureElement; - StandardRequiredArea : IfcAreaMeasure; - INVERSE - HasInteractionReqsFrom : SET [0:?] OF IfcRelInteractionRequirements FOR RelatedSpaceProgram; - HasInteractionReqsTo : SET [0:?] OF IfcRelInteractionRequirements FOR RelatingSpaceProgram; -END_ENTITY; - -ENTITY IfcSpaceThermalLoadProperties - SUBTYPE OF (IfcPropertySetDefinition); - ApplicableValueRatio : OPTIONAL IfcPositiveRatioMeasure; - ThermalLoadSource : IfcThermalLoadSourceEnum; - PropertySource : IfcPropertySourceEnum; - SourceDescription : OPTIONAL IfcText; - MaximumValue : IfcPowerMeasure; - MinimumValue : OPTIONAL IfcPowerMeasure; - ThermalLoadTimeSeriesValues : OPTIONAL IfcTimeSeries; - UserDefinedThermalLoadSource : OPTIONAL IfcLabel; - UserDefinedPropertySource : OPTIONAL IfcLabel; - ThermalLoadType : IfcThermalLoadTypeEnum; -END_ENTITY; - -ENTITY IfcSpaceType - SUBTYPE OF (IfcSpatialStructureElementType); - PredefinedType : IfcSpaceTypeEnum; -END_ENTITY; - -ENTITY IfcSpatialStructureElement - ABSTRACT SUPERTYPE OF (ONEOF - (IfcBuilding - ,IfcBuildingStorey - ,IfcSite - ,IfcSpace)) - SUBTYPE OF (IfcProduct); - LongName : OPTIONAL IfcLabel; - CompositionType : IfcElementCompositionEnum; - INVERSE - ReferencesElements : SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatingStructure; - ServicedBySystems : SET [0:?] OF IfcRelServicesBuildings FOR RelatedBuildings; - ContainsElements : SET [0:?] OF IfcRelContainedInSpatialStructure FOR RelatingStructure; - WHERE - WR41 : (HIINDEX(SELF\IfcObjectDefinition.Decomposes) = 1) - AND - ('IFC2X3.IFCRELAGGREGATES' IN TYPEOF(SELF\IfcObjectDefinition.Decomposes[1])) - AND - (('IFC2X3.IFCPROJECT' IN TYPEOF (SELF\IfcObjectDefinition.Decomposes[1].RelatingObject)) OR - ('IFC2X3.IFCSPATIALSTRUCTUREELEMENT' IN TYPEOF (SELF\IfcObjectDefinition.Decomposes[1].RelatingObject)) - ); -END_ENTITY; - -ENTITY IfcSpatialStructureElementType - ABSTRACT SUPERTYPE OF (ONEOF - (IfcSpaceType)) - SUBTYPE OF (IfcElementType); -END_ENTITY; - -ENTITY IfcSphere - SUBTYPE OF (IfcCsgPrimitive3D); - Radius : IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcStackTerminalType - SUBTYPE OF (IfcFlowTerminalType); - PredefinedType : IfcStackTerminalTypeEnum; -END_ENTITY; - -ENTITY IfcStair - SUBTYPE OF (IfcBuildingElement); - ShapeType : IfcStairTypeEnum; - WHERE - WR1 : (HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 0) OR - ((HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 1) AND (NOT(EXISTS(SELF\IfcProduct.Representation)))); -END_ENTITY; - -ENTITY IfcStairFlight - SUBTYPE OF (IfcBuildingElement); - NumberOfRiser : OPTIONAL INTEGER; - NumberOfTreads : OPTIONAL INTEGER; - RiserHeight : OPTIONAL IfcPositiveLengthMeasure; - TreadLength : OPTIONAL IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcStairFlightType - SUBTYPE OF (IfcBuildingElementType); - PredefinedType : IfcStairFlightTypeEnum; -END_ENTITY; - -ENTITY IfcStructuralAction - ABSTRACT SUPERTYPE OF (ONEOF - (IfcStructuralLinearAction - ,IfcStructuralPlanarAction - ,IfcStructuralPointAction)) - SUBTYPE OF (IfcStructuralActivity); - DestabilizingLoad : BOOLEAN; - CausedBy : OPTIONAL IfcStructuralReaction; -END_ENTITY; - -ENTITY IfcStructuralActivity - ABSTRACT SUPERTYPE OF (ONEOF - (IfcStructuralAction - ,IfcStructuralReaction)) - SUBTYPE OF (IfcProduct); - AppliedLoad : IfcStructuralLoad; - GlobalOrLocal : IfcGlobalOrLocalEnum; - INVERSE - AssignedToStructuralItem : 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; -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 IfcStructuralCurveConnection - SUBTYPE OF (IfcStructuralConnection); -END_ENTITY; - -ENTITY IfcStructuralCurveMember - SUPERTYPE OF (ONEOF - (IfcStructuralCurveMemberVarying)) - SUBTYPE OF (IfcStructuralMember); - PredefinedType : IfcStructuralCurveTypeEnum; -END_ENTITY; - -ENTITY IfcStructuralCurveMemberVarying - SUBTYPE OF (IfcStructuralCurveMember); -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 - SUPERTYPE OF (ONEOF - (IfcStructuralLinearActionVarying)) - SUBTYPE OF (IfcStructuralAction); - ProjectedOrTrue : IfcProjectedOrTrueLengthEnum; - WHERE - WR61 : SIZEOF(['IFC2X3.IFCSTRUCTURALLOADLINEARFORCE', - 'IFC2X3.IFCSTRUCTURALLOADTEMPERATURE'] - * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1; -END_ENTITY; - -ENTITY IfcStructuralLinearActionVarying - SUBTYPE OF (IfcStructuralLinearAction); - VaryingAppliedLoadLocation : IfcShapeAspect; - SubsequentAppliedLoads : LIST [1:?] OF IfcStructuralLoad; - DERIVE - VaryingAppliedLoads : LIST [2:?] OF IfcStructuralLoad := IfcAddToBeginOfList(SELF\IfcStructuralActivity.AppliedLoad, SubsequentAppliedLoads); -END_ENTITY; - -ENTITY IfcStructuralLoad - ABSTRACT SUPERTYPE OF (ONEOF - (IfcStructuralLoadStatic)); - Name : OPTIONAL IfcLabel; -END_ENTITY; - -ENTITY IfcStructuralLoadGroup - SUBTYPE OF (IfcGroup); - PredefinedType : IfcLoadGroupTypeEnum; - ActionType : IfcActionTypeEnum; - ActionSource : IfcActionSourceTypeEnum; - Coefficient : OPTIONAL IfcPositiveRatioMeasure; - Purpose : OPTIONAL IfcLabel; - INVERSE - SourceOfResultGroup : SET [0:1] OF IfcStructuralResultGroup FOR ResultForLoadGroup; - LoadGroupFor : SET [0:?] OF IfcStructuralAnalysisModel FOR LoadedBy; -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 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 (IfcStructuralLoad); -END_ENTITY; - -ENTITY IfcStructuralLoadTemperature - SUBTYPE OF (IfcStructuralLoadStatic); - DeltaT_Constant : OPTIONAL IfcThermodynamicTemperatureMeasure; - DeltaT_Y : OPTIONAL IfcThermodynamicTemperatureMeasure; - DeltaT_Z : OPTIONAL IfcThermodynamicTemperatureMeasure; -END_ENTITY; - -ENTITY IfcStructuralMember - ABSTRACT SUPERTYPE OF (ONEOF - (IfcStructuralCurveMember - ,IfcStructuralSurfaceMember)) - SUBTYPE OF (IfcStructuralItem); - INVERSE - ReferencesElement : SET [0:?] OF IfcRelConnectsStructuralElement FOR RelatedStructuralMember; - ConnectedBy : SET [0:?] OF IfcRelConnectsStructuralMember FOR RelatingStructuralMember; -END_ENTITY; - -ENTITY IfcStructuralPlanarAction - SUPERTYPE OF (ONEOF - (IfcStructuralPlanarActionVarying)) - SUBTYPE OF (IfcStructuralAction); - ProjectedOrTrue : IfcProjectedOrTrueLengthEnum; - WHERE - WR61 : SIZEOF(['IFC2X3.IFCSTRUCTURALLOADPLANARFORCE', - 'IFC2X3.IFCSTRUCTURALLOADTEMPERATURE'] - * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1; -END_ENTITY; - -ENTITY IfcStructuralPlanarActionVarying - SUBTYPE OF (IfcStructuralPlanarAction); - VaryingAppliedLoadLocation : IfcShapeAspect; - SubsequentAppliedLoads : LIST [2:?] OF IfcStructuralLoad; - DERIVE - VaryingAppliedLoads : LIST [3:?] OF IfcStructuralLoad := IfcAddToBeginOfList(SELF\IfcStructuralActivity.AppliedLoad, SubsequentAppliedLoads); -END_ENTITY; - -ENTITY IfcStructuralPointAction - SUBTYPE OF (IfcStructuralAction); - WHERE - WR61 : SIZEOF(['IFC2X3.IFCSTRUCTURALLOADSINGLEFORCE', - 'IFC2X3.IFCSTRUCTURALLOADSINGLEDISPLACEMENT'] - * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1; -END_ENTITY; - -ENTITY IfcStructuralPointConnection - SUBTYPE OF (IfcStructuralConnection); -END_ENTITY; - -ENTITY IfcStructuralPointReaction - SUBTYPE OF (IfcStructuralReaction); - WHERE - WR61 : SIZEOF(['IFC2X3.IFCSTRUCTURALLOADSINGLEFORCE', - 'IFC2X3.IFCSTRUCTURALLOADSINGLEDISPLACEMENT'] - * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1; -END_ENTITY; - -ENTITY IfcStructuralProfileProperties - SUPERTYPE OF (ONEOF - (IfcStructuralSteelProfileProperties)) - SUBTYPE OF (IfcGeneralProfileProperties); - TorsionalConstantX : OPTIONAL IfcMomentOfInertiaMeasure; - MomentOfInertiaYZ : OPTIONAL IfcMomentOfInertiaMeasure; - MomentOfInertiaY : OPTIONAL IfcMomentOfInertiaMeasure; - MomentOfInertiaZ : OPTIONAL IfcMomentOfInertiaMeasure; - WarpingConstant : OPTIONAL IfcWarpingConstantMeasure; - ShearCentreZ : OPTIONAL IfcLengthMeasure; - ShearCentreY : OPTIONAL IfcLengthMeasure; - ShearDeformationAreaZ : OPTIONAL IfcAreaMeasure; - ShearDeformationAreaY : OPTIONAL IfcAreaMeasure; - MaximumSectionModulusY : OPTIONAL IfcSectionModulusMeasure; - MinimumSectionModulusY : OPTIONAL IfcSectionModulusMeasure; - MaximumSectionModulusZ : OPTIONAL IfcSectionModulusMeasure; - MinimumSectionModulusZ : OPTIONAL IfcSectionModulusMeasure; - TorsionalSectionModulus : OPTIONAL IfcSectionModulusMeasure; - CentreOfGravityInX : OPTIONAL IfcLengthMeasure; - CentreOfGravityInY : OPTIONAL IfcLengthMeasure; - WHERE - WR21 : NOT(EXISTS(ShearDeformationAreaY)) OR (ShearDeformationAreaY >= 0.); - WR22 : NOT(EXISTS(ShearDeformationAreaZ)) OR (ShearDeformationAreaZ >= 0.); -END_ENTITY; - -ENTITY IfcStructuralReaction - ABSTRACT SUPERTYPE OF (ONEOF - (IfcStructuralPointReaction)) - SUBTYPE OF (IfcStructuralActivity); - INVERSE - Causes : SET [0:?] OF IfcStructuralAction FOR CausedBy; -END_ENTITY; - -ENTITY IfcStructuralResultGroup - SUBTYPE OF (IfcGroup); - TheoryType : IfcAnalysisTheoryTypeEnum; - ResultForLoadGroup : OPTIONAL IfcStructuralLoadGroup; - IsLinear : BOOLEAN; - INVERSE - ResultGroupFor : SET [0:1] OF IfcStructuralAnalysisModel FOR HasResults; -END_ENTITY; - -ENTITY IfcStructuralSteelProfileProperties - SUBTYPE OF (IfcStructuralProfileProperties); - ShearAreaZ : OPTIONAL IfcAreaMeasure; - ShearAreaY : OPTIONAL IfcAreaMeasure; - PlasticShapeFactorY : OPTIONAL IfcPositiveRatioMeasure; - PlasticShapeFactorZ : OPTIONAL IfcPositiveRatioMeasure; - WHERE - WR31 : NOT(EXISTS(ShearAreaY)) OR (ShearAreaY >= 0.); - WR32 : NOT(EXISTS(ShearAreaZ)) OR (ShearAreaZ >= 0.); -END_ENTITY; - -ENTITY IfcStructuralSurfaceConnection - SUBTYPE OF (IfcStructuralConnection); -END_ENTITY; - -ENTITY IfcStructuralSurfaceMember - SUPERTYPE OF (ONEOF - (IfcStructuralSurfaceMemberVarying)) - SUBTYPE OF (IfcStructuralMember); - PredefinedType : IfcStructuralSurfaceTypeEnum; - Thickness : OPTIONAL IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcStructuralSurfaceMemberVarying - SUBTYPE OF (IfcStructuralSurfaceMember); - SubsequentThickness : LIST [2:?] OF IfcPositiveLengthMeasure; - VaryingThicknessLocation : IfcShapeAspect; - DERIVE - VaryingThickness : LIST [3:?] OF IfcPositiveLengthMeasure := IfcAddToBeginOfList(SELF\IfcStructuralSurfaceMember.Thickness, SubsequentThickness); - WHERE - WR61 : EXISTS(SELF\IfcStructuralSurfaceMember.Thickness); - WR62 : SIZEOF(QUERY(temp <* SELF.VaryingThicknessLocation.ShapeRepresentations | - NOT(SIZEOF(temp\IfcRepresentation.Items) = 1) - )) = 0; - WR63 : SIZEOF(QUERY(temp <* SELF.VaryingThicknessLocation.ShapeRepresentations | - NOT(('IFC2X3.IFCCARTESIANPOINT' IN TYPEOF(temp\IfcRepresentation.Items[1])) - OR - ('IFC2X3.IFCPOINTONSURFACE' IN TYPEOF(temp\IfcRepresentation.Items[1]))) - )) = 0; -END_ENTITY; - -ENTITY IfcStructuredDimensionCallout - SUBTYPE OF (IfcDraughtingCallout); - WHERE - WR31 : SIZEOF(QUERY ( Ato <* QUERY ( Con <* SELF.contents | ( - 'IFC2X3.IFCANNOTATIONTEXTOCCURRENCE' IN - TYPEOF(Con)) ) | (NOT (Ato.Name IN ['dimension value', - 'tolerance value','unit text','prefix text','suffix text'])))) - = 0; -END_ENTITY; - -ENTITY IfcStyleModel - ABSTRACT SUPERTYPE OF (ONEOF - (IfcStyledRepresentation)) - SUBTYPE OF (IfcRepresentation); -END_ENTITY; - -ENTITY IfcStyledItem - SUPERTYPE OF (ONEOF - (IfcAnnotationOccurrence)) - SUBTYPE OF (IfcRepresentationItem); - Item : OPTIONAL IfcRepresentationItem; - Styles : SET [1:?] OF IfcPresentationStyleAssignment; - Name : OPTIONAL IfcLabel; - WHERE - WR11 : SIZEOF(Styles) = 1; - WR12 : NOT('IFC2X3.IFCSTYLEDITEM' IN TYPEOF(Item)); -END_ENTITY; - -ENTITY IfcStyledRepresentation - SUBTYPE OF (IfcStyleModel); - WHERE - WR21 : SIZEOF(QUERY(temp <* SELF\IfcRepresentation.Items | - (NOT('IFC2X3.IFCSTYLEDITEM' IN TYPEOF(temp))) - )) = 0; -END_ENTITY; - -ENTITY IfcSubContractResource - SUBTYPE OF (IfcConstructionResource); - SubContractor : OPTIONAL IfcActorSelect; - JobDescription : OPTIONAL IfcText; -END_ENTITY; - -ENTITY IfcSubedge - SUBTYPE OF (IfcEdge); - ParentEdge : IfcEdge; -END_ENTITY; - -ENTITY IfcSurface - ABSTRACT SUPERTYPE OF (ONEOF - (IfcBoundedSurface - ,IfcElementarySurface - ,IfcSweptSurface)) - SUBTYPE OF (IfcGeometricRepresentationItem); -END_ENTITY; - -ENTITY IfcSurfaceCurveSweptAreaSolid - SUBTYPE OF (IfcSweptAreaSolid); - Directrix : IfcCurve; - StartParam : IfcParameterValue; - EndParam : IfcParameterValue; - ReferenceSurface : IfcSurface; -END_ENTITY; - -ENTITY IfcSurfaceOfLinearExtrusion - SUBTYPE OF (IfcSweptSurface); - ExtrudedDirection : IfcDirection; - Depth : IfcLengthMeasure; - DERIVE - ExtrusionAxis : IfcVector := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector (ExtrudedDirection, Depth); - WHERE - WR41 : 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 IfcSurfaceStyle - SUBTYPE OF (IfcPresentationStyle); - Side : IfcSurfaceSide; - Styles : SET [1:5] OF IfcSurfaceStyleElementSelect; - WHERE - WR11 : SIZEOF(QUERY(Style <* SELF.Styles | - 'IFC2X3.IFCSURFACESTYLESHADING' IN - TYPEOF(Style) - )) <= 1; - WR12 : SIZEOF(QUERY(Style <* SELF.Styles | - 'IFC2X3.IFCSURFACESTYLELIGHTING' IN - TYPEOF(Style) - )) <= 1; - WR13 : SIZEOF(QUERY(Style <* SELF.Styles | - 'IFC2X3.IFCSURFACESTYLEREFRACTION' IN - TYPEOF(Style) - )) <= 1; - WR14 : SIZEOF(QUERY(Style <* SELF.Styles | - 'IFC2X3.IFCSURFACESTYLEWITHTEXTURES' IN - TYPEOF(Style) - )) <= 1; - WR15 : SIZEOF(QUERY(Style <* SELF.Styles | - 'IFC2X3.IFCEXTERNALLYDEFINEDSURFACESTYLE' IN - TYPEOF(Style) - )) <= 1; -END_ENTITY; - -ENTITY IfcSurfaceStyleLighting; - DiffuseTransmissionColour : IfcColourRgb; - DiffuseReflectionColour : IfcColourRgb; - TransmissionColour : IfcColourRgb; - ReflectanceColour : IfcColourRgb; -END_ENTITY; - -ENTITY IfcSurfaceStyleRefraction; - RefractionIndex : OPTIONAL IfcReal; - DispersionFactor : OPTIONAL IfcReal; -END_ENTITY; - -ENTITY IfcSurfaceStyleRendering - SUBTYPE OF (IfcSurfaceStyleShading); - Transparency : OPTIONAL IfcNormalisedRatioMeasure; - 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)); - SurfaceColour : IfcColourRgb; -END_ENTITY; - -ENTITY IfcSurfaceStyleWithTextures; - Textures : LIST [1:?] OF IfcSurfaceTexture; -END_ENTITY; - -ENTITY IfcSurfaceTexture - ABSTRACT SUPERTYPE OF (ONEOF - (IfcBlobTexture - ,IfcImageTexture - ,IfcPixelTexture)); - RepeatS : BOOLEAN; - RepeatT : BOOLEAN; - TextureType : IfcSurfaceTextureEnum; - TextureTransform : OPTIONAL IfcCartesianTransformationOperator2D; -END_ENTITY; - -ENTITY IfcSweptAreaSolid - ABSTRACT SUPERTYPE OF (ONEOF - (IfcExtrudedAreaSolid - ,IfcRevolvedAreaSolid - ,IfcSurfaceCurveSweptAreaSolid)) - SUBTYPE OF (IfcSolidModel); - SweptArea : IfcProfileDef; - Position : IfcAxis2Placement3D; - WHERE - WR22 : SweptArea.ProfileType = IfcProfileTypeEnum.Area; -END_ENTITY; - -ENTITY IfcSweptDiskSolid - SUBTYPE OF (IfcSolidModel); - Directrix : IfcCurve; - Radius : IfcPositiveLengthMeasure; - InnerRadius : OPTIONAL IfcPositiveLengthMeasure; - StartParam : IfcParameterValue; - EndParam : IfcParameterValue; - WHERE - WR1 : Directrix.Dim = 3; - WR2 : (NOT EXISTS(InnerRadius)) OR (Radius > InnerRadius); -END_ENTITY; - -ENTITY IfcSweptSurface - ABSTRACT SUPERTYPE OF (ONEOF - (IfcSurfaceOfLinearExtrusion - ,IfcSurfaceOfRevolution)) - SUBTYPE OF (IfcSurface); - SweptCurve : IfcProfileDef; - Position : IfcAxis2Placement3D; - DERIVE - Dim : IfcDimensionCount := Position.Dim; - WHERE - WR1 : NOT('IFC2X3.IFCDERIVEDPROFILEDEF' IN TYPEOF(SweptCurve)); - WR2 : SweptCurve.ProfileType = IfcProfileTypeEnum.Curve; -END_ENTITY; - -ENTITY IfcSwitchingDeviceType - SUBTYPE OF (IfcFlowControllerType); - PredefinedType : IfcSwitchingDeviceTypeEnum; -END_ENTITY; - -ENTITY IfcSymbolStyle - SUBTYPE OF (IfcPresentationStyle); - StyleOfSymbol : IfcSymbolStyleSelect; -END_ENTITY; - -ENTITY IfcSystem - SUPERTYPE OF (ONEOF - (IfcElectricalCircuit - ,IfcStructuralAnalysisModel)) - SUBTYPE OF (IfcGroup); - INVERSE - ServicesBuildings : SET [0:1] OF IfcRelServicesBuildings FOR RelatingSystem; -END_ENTITY; - -ENTITY IfcSystemFurnitureElementType - SUBTYPE OF (IfcFurnishingElementType); -END_ENTITY; - -ENTITY IfcTShapeProfileDef - SUBTYPE OF (IfcParameterizedProfileDef); - Depth : IfcPositiveLengthMeasure; - FlangeWidth : IfcPositiveLengthMeasure; - WebThickness : IfcPositiveLengthMeasure; - FlangeThickness : IfcPositiveLengthMeasure; - FilletRadius : OPTIONAL IfcPositiveLengthMeasure; - FlangeEdgeRadius : OPTIONAL IfcPositiveLengthMeasure; - WebEdgeRadius : OPTIONAL IfcPositiveLengthMeasure; - WebSlope : OPTIONAL IfcPlaneAngleMeasure; - FlangeSlope : OPTIONAL IfcPlaneAngleMeasure; - CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure; - WHERE - WR1 : FlangeThickness < Depth; - WR2 : WebThickness < FlangeWidth; -END_ENTITY; - -ENTITY IfcTable; - Name : STRING; - Rows : LIST [1:?] OF IfcTableRow; - DERIVE - NumberOfCellsInRow : INTEGER := HIINDEX(Rows[1].RowCells); - NumberOfHeadings : INTEGER := SIZEOF(QUERY( Temp <* Rows | Temp.IsHeading)); - NumberOfDataRows : INTEGER := SIZEOF(QUERY( Temp <* Rows | NOT(Temp.IsHeading))); - WHERE - WR1 : SIZEOF(QUERY( Temp <* Rows | HIINDEX(Temp.RowCells) <> HIINDEX(Rows[1].RowCells))) = 0; - WR2 : SIZEOF(QUERY( Temp <* Rows | HIINDEX(Temp.RowCells) <> HIINDEX(Rows[1].RowCells))) = 0; - WR3 : { 0 <= NumberOfHeadings <= 1 }; -END_ENTITY; - -ENTITY IfcTableRow; - RowCells : LIST [1:?] OF IfcValue; - IsHeading : BOOLEAN; - INVERSE - OfTable : IfcTable FOR Rows; -END_ENTITY; - -ENTITY IfcTankType - SUBTYPE OF (IfcFlowStorageDeviceType); - PredefinedType : IfcTankTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcTankTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcTankTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcTask - SUPERTYPE OF (ONEOF - (IfcMove - ,IfcOrderAction)) - SUBTYPE OF (IfcProcess); - TaskId : IfcIdentifier; - Status : OPTIONAL IfcLabel; - WorkMethod : OPTIONAL IfcLabel; - IsMilestone : BOOLEAN; - Priority : OPTIONAL INTEGER; - WHERE - WR1 : SIZEOF(QUERY(temp <* SELF\IfcObjectDefinition.Decomposes | NOT('IFC2X3.IFCRELNESTS' IN TYPEOF(temp)))) = 0; - WR2 : SIZEOF(QUERY(temp <* SELF\IfcObjectDefinition.IsDecomposedBy | NOT('IFC2X3.IFCRELNESTS' IN TYPEOF(temp)))) = 0; - WR3 : EXISTS(SELF\IfcRoot.Name); -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 IfcLabel; - WHERE - WR1 : EXISTS (TelephoneNumbers) OR - EXISTS (PagerNumber) OR - EXISTS (FacsimileNumbers) OR - EXISTS (ElectronicMailAddresses) OR - EXISTS (WWWHomePageURL); -END_ENTITY; - -ENTITY IfcTendon - SUBTYPE OF (IfcReinforcingElement); - PredefinedType : IfcTendonTypeEnum; - NominalDiameter : IfcPositiveLengthMeasure; - CrossSectionArea : IfcAreaMeasure; - TensionForce : OPTIONAL IfcForceMeasure; - PreStress : OPTIONAL IfcPressureMeasure; - FrictionCoefficient : OPTIONAL IfcNormalisedRatioMeasure; - AnchorageSlip : OPTIONAL IfcPositiveLengthMeasure; - MinCurvatureRadius : OPTIONAL IfcPositiveLengthMeasure; - WHERE - WR1 : (PredefinedType <> IfcTendonTypeEnum.USERDEFINED) OR ((PredefinedType = IfcTendonTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); -END_ENTITY; - -ENTITY IfcTendonAnchor - SUBTYPE OF (IfcReinforcingElement); -END_ENTITY; - -ENTITY IfcTerminatorSymbol - SUPERTYPE OF (ONEOF - (IfcDimensionCurveTerminator)) - SUBTYPE OF (IfcAnnotationSymbolOccurrence); - AnnotatedCurve : IfcAnnotationCurveOccurrence; -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('IFC2X3.IFCPLANARBOX' IN TYPEOF(Extent)); -END_ENTITY; - -ENTITY IfcTextStyle - SUBTYPE OF (IfcPresentationStyle); - TextCharacterAppearance : OPTIONAL IfcCharacterStyleSelect; - TextStyle : OPTIONAL IfcTextStyleSelect; - TextFontStyle : IfcTextFontSelect; -END_ENTITY; - -ENTITY IfcTextStyleFontModel - SUBTYPE OF (IfcPreDefinedTextFont); - FontFamily : OPTIONAL LIST [1:?] OF IfcTextFontName; - FontStyle : OPTIONAL IfcFontStyle; - FontVariant : OPTIONAL IfcFontVariant; - FontWeight : OPTIONAL IfcFontWeight; - FontSize : IfcSizeSelect; - WHERE - WR31 : ('IFC2X3.IFCLENGTHMEASURE' IN TYPEOF(SELF.FontSize)) AND - (SELF.FontSize > 0.); -END_ENTITY; - -ENTITY IfcTextStyleForDefinedFont; - Colour : IfcColour; - BackgroundColour : OPTIONAL IfcColour; -END_ENTITY; - -ENTITY IfcTextStyleTextModel; - TextIndent : OPTIONAL IfcSizeSelect; - TextAlign : OPTIONAL IfcTextAlignment; - TextDecoration : OPTIONAL IfcTextDecoration; - LetterSpacing : OPTIONAL IfcSizeSelect; - WordSpacing : OPTIONAL IfcSizeSelect; - TextTransform : OPTIONAL IfcTextTransformation; - LineHeight : OPTIONAL IfcSizeSelect; -END_ENTITY; - -ENTITY IfcTextStyleWithBoxCharacteristics; - BoxHeight : OPTIONAL IfcPositiveLengthMeasure; - BoxWidth : OPTIONAL IfcPositiveLengthMeasure; - BoxSlantAngle : OPTIONAL IfcPlaneAngleMeasure; - BoxRotateAngle : OPTIONAL IfcPlaneAngleMeasure; - CharacterSpacing : OPTIONAL IfcSizeSelect; -END_ENTITY; - -ENTITY IfcTextureCoordinate - ABSTRACT SUPERTYPE OF (ONEOF - (IfcTextureCoordinateGenerator - ,IfcTextureMap)); - INVERSE - AnnotatedSurface : SET [1:1] OF IfcAnnotationSurface FOR TextureCoordinates; -END_ENTITY; - -ENTITY IfcTextureCoordinateGenerator - SUBTYPE OF (IfcTextureCoordinate); - Mode : IfcLabel; - Parameter : LIST [1:?] OF IfcSimpleValue; -END_ENTITY; - -ENTITY IfcTextureMap - SUBTYPE OF (IfcTextureCoordinate); - TextureMaps : SET [1:?] OF IfcVertexBasedTextureMap; - WHERE - WR11 : SIZEOF([ - 'IFC2X3.IFCSHELLBASEDSURFACEMODEL', - 'IFC2X3.IFCFACEBASEDSURFACEMODEL', - 'IFC2X3.IFCFACETEDBREP', - 'IFC2X3.IFCFACETEDBREPWITHVOIDS'] - * TYPEOF(SELF\IfcTextureCoordinate.AnnotatedSurface[1].Item) - ) >= 1; -END_ENTITY; - -ENTITY IfcTextureVertex; - Coordinates : LIST [2:2] OF IfcParameterValue; -END_ENTITY; - -ENTITY IfcThermalMaterialProperties - SUBTYPE OF (IfcMaterialProperties); - SpecificHeatCapacity : OPTIONAL IfcSpecificHeatCapacityMeasure; - BoilingPoint : OPTIONAL IfcThermodynamicTemperatureMeasure; - FreezingPoint : OPTIONAL IfcThermodynamicTemperatureMeasure; - ThermalConductivity : OPTIONAL IfcThermalConductivityMeasure; - UNIQUE - UR11 : Material; -END_ENTITY; - -ENTITY IfcTimeSeries - ABSTRACT SUPERTYPE OF (ONEOF - (IfcIrregularTimeSeries - ,IfcRegularTimeSeries)); - Name : IfcLabel; - Description : OPTIONAL IfcText; - StartTime : IfcDateTimeSelect; - EndTime : IfcDateTimeSelect; - TimeSeriesDataType : IfcTimeSeriesDataTypeEnum; - DataOrigin : IfcDataOriginEnum; - UserDefinedDataOrigin : OPTIONAL IfcLabel; - Unit : OPTIONAL IfcUnit; - INVERSE - DocumentedBy : SET [0:1] OF IfcTimeSeriesReferenceRelationship FOR ReferencedTimeSeries; -END_ENTITY; - -ENTITY IfcTimeSeriesReferenceRelationship; - ReferencedTimeSeries : IfcTimeSeries; - TimeSeriesReferences : SET [1:?] OF IfcDocumentSelect; -END_ENTITY; - -ENTITY IfcTimeSeriesSchedule - SUBTYPE OF (IfcControl); - ApplicableDates : OPTIONAL LIST [1:?] OF IfcDateTimeSelect; - TimeSeriesScheduleType : IfcTimeSeriesScheduleTypeEnum; - TimeSeries : IfcTimeSeries; - WHERE - WR41 : NOT(TimeSeriesScheduleType=IfcTimeSeriesScheduleTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType); -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('IFC2X3.IFCTOPOLOGICALREPRESENTATIONITEM' IN TYPEOF(temp)) - )) = 0; - WR22 : EXISTS(SELF\IfcRepresentation.RepresentationType); - WR23 : IfcTopologyRepresentationTypes(SELF\IfcRepresentation.RepresentationType, SELF\IfcRepresentation.Items); -END_ENTITY; - -ENTITY IfcTransformerType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcTransformerTypeEnum; -END_ENTITY; - -ENTITY IfcTransportElement - SUBTYPE OF (IfcElement); - OperationType : OPTIONAL IfcTransportElementTypeEnum; - CapacityByWeight : OPTIONAL IfcMassMeasure; - CapacityByNumber : OPTIONAL IfcCountMeasure; -END_ENTITY; - -ENTITY IfcTransportElementType - SUBTYPE OF (IfcElementType); - PredefinedType : IfcTransportElementTypeEnum; -END_ENTITY; - -ENTITY IfcTrapeziumProfileDef - SUBTYPE OF (IfcParameterizedProfileDef); - BottomXDim : IfcPositiveLengthMeasure; - TopXDim : IfcPositiveLengthMeasure; - YDim : IfcPositiveLengthMeasure; - TopXOffset : IfcLengthMeasure; -END_ENTITY; - -ENTITY IfcTrimmedCurve - SUBTYPE OF (IfcBoundedCurve); - BasisCurve : IfcCurve; - Trim1 : SET [1:2] OF IfcTrimmingSelect; - Trim2 : SET [1:2] OF IfcTrimmingSelect; - SenseAgreement : BOOLEAN; - MasterRepresentation : IfcTrimmingPreference; - WHERE - WR41 : (HIINDEX(Trim1) = 1) OR (TYPEOF(Trim1[1]) <> TYPEOF(Trim1[2])); - WR42 : (HIINDEX(Trim2) = 1) OR (TYPEOF(Trim2[1]) <> TYPEOF(Trim2[2])); - WR43 : NOT('IFC2X3.IFCBOUNDEDCURVE' IN TYPEOF(BasisCurve)); -END_ENTITY; - -ENTITY IfcTubeBundleType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcTubeBundleTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcTubeBundleTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcTubeBundleTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcTwoDirectionRepeatFactor - SUBTYPE OF (IfcOneDirectionRepeatFactor); - SecondRepeatFactor : IfcVector; -END_ENTITY; - -ENTITY IfcTypeObject - SUPERTYPE OF (ONEOF - (IfcTypeProduct)) - SUBTYPE OF (IfcObjectDefinition); - ApplicableOccurrence : OPTIONAL IfcLabel; - HasPropertySets : OPTIONAL SET [1:?] OF IfcPropertySetDefinition; - INVERSE - ObjectTypeOf : SET [0:1] OF IfcRelDefinesByType FOR RelatingType; - WHERE - WR1 : EXISTS(SELF\IfcRoot.Name); -END_ENTITY; - -ENTITY IfcTypeProduct - SUPERTYPE OF (ONEOF - (IfcDoorStyle - ,IfcElementType - ,IfcWindowStyle)) - SUBTYPE OF (IfcTypeObject); - RepresentationMaps : OPTIONAL LIST [1:?] OF UNIQUE IfcRepresentationMap; - Tag : OPTIONAL IfcLabel; - WHERE - WR41 : NOT(EXISTS(SELF\IfcTypeObject.ObjectTypeOf[1])) OR - (SIZEOF(QUERY(temp <* SELF\IfcTypeObject.ObjectTypeOf[1].RelatedObjects | - NOT('IFC2X3.IFCPRODUCT' IN TYPEOF(temp))) - ) = 0); -END_ENTITY; - -ENTITY IfcUShapeProfileDef - SUBTYPE OF (IfcParameterizedProfileDef); - Depth : IfcPositiveLengthMeasure; - FlangeWidth : IfcPositiveLengthMeasure; - WebThickness : IfcPositiveLengthMeasure; - FlangeThickness : IfcPositiveLengthMeasure; - FilletRadius : OPTIONAL IfcPositiveLengthMeasure; - EdgeRadius : OPTIONAL IfcPositiveLengthMeasure; - FlangeSlope : OPTIONAL IfcPlaneAngleMeasure; - CentreOfGravityInX : OPTIONAL IfcPositiveLengthMeasure; - WHERE - WR21 : FlangeThickness < (Depth / 2.); - WR22 : WebThickness < FlangeWidth; -END_ENTITY; - -ENTITY IfcUnitAssignment; - Units : SET [1:?] OF IfcUnit; - WHERE - WR01 : IfcCorrectUnitAssignment(Units); -END_ENTITY; - -ENTITY IfcUnitaryEquipmentType - SUBTYPE OF (IfcEnergyConversionDeviceType); - PredefinedType : IfcUnitaryEquipmentTypeEnum; - WHERE - WR1 : (PredefinedType <> IfcUnitaryEquipmentTypeEnum.USERDEFINED) OR - ((PredefinedType = IfcUnitaryEquipmentTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); -END_ENTITY; - -ENTITY IfcValveType - SUBTYPE OF (IfcFlowControllerType); - PredefinedType : IfcValveTypeEnum; - WHERE - WR1 : (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 - WR1 : Magnitude >= 0.0; -END_ENTITY; - -ENTITY IfcVertex - SUPERTYPE OF (ONEOF - (IfcVertexPoint)) - SUBTYPE OF (IfcTopologicalRepresentationItem); -END_ENTITY; - -ENTITY IfcVertexBasedTextureMap; - TextureVertices : LIST [3:?] OF IfcTextureVertex; - TexturePoints : LIST [3:?] OF IfcCartesianPoint; -END_ENTITY; - -ENTITY IfcVertexLoop - SUBTYPE OF (IfcLoop); - LoopVertex : IfcVertex; -END_ENTITY; - -ENTITY IfcVertexPoint - SUBTYPE OF (IfcVertex); - VertexGeometry : IfcPoint; -END_ENTITY; - -ENTITY IfcVibrationIsolatorType - SUBTYPE OF (IfcDiscreteAccessoryType); - PredefinedType : IfcVibrationIsolatorTypeEnum; - WHERE - WR1 : (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 IfcWall - SUPERTYPE OF (ONEOF - (IfcWallStandardCase)) - SUBTYPE OF (IfcBuildingElement); - WHERE - WR1 : SIZEOF (QUERY(temp <* SELF\IfcObjectDefinition.HasAssociations | - 'IFC2X3.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp) - )) <= 1; -END_ENTITY; - -ENTITY IfcWallStandardCase - SUBTYPE OF (IfcWall); - WHERE - WR1 : SIZEOF (QUERY(temp <* USEDIN(SELF, 'IFC2X3.IFCRELASSOCIATES.RELATEDOBJECTS') | - ('IFC2X3.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp)) AND - ('IFC2X3.IFCMATERIALLAYERSETUSAGE' IN TYPEOF(temp.RelatingMaterial)) - )) = 1; -END_ENTITY; - -ENTITY IfcWallType - SUBTYPE OF (IfcBuildingElementType); - PredefinedType : IfcWallTypeEnum; -END_ENTITY; - -ENTITY IfcWasteTerminalType - SUBTYPE OF (IfcFlowTerminalType); - PredefinedType : IfcWasteTerminalTypeEnum; -END_ENTITY; - -ENTITY IfcWaterProperties - SUBTYPE OF (IfcMaterialProperties); - IsPotable : OPTIONAL BOOLEAN; - Hardness : OPTIONAL IfcIonConcentrationMeasure; - AlkalinityConcentration : OPTIONAL IfcIonConcentrationMeasure; - AcidityConcentration : OPTIONAL IfcIonConcentrationMeasure; - ImpuritiesContent : OPTIONAL IfcNormalisedRatioMeasure; - PHLevel : OPTIONAL IfcPHMeasure; - DissolvedSolidsContent : OPTIONAL IfcNormalisedRatioMeasure; - UNIQUE - UR11 : Material; -END_ENTITY; - -ENTITY IfcWindow - SUBTYPE OF (IfcBuildingElement); - OverallHeight : OPTIONAL IfcPositiveLengthMeasure; - OverallWidth : OPTIONAL IfcPositiveLengthMeasure; -END_ENTITY; - -ENTITY IfcWindowLiningProperties - SUBTYPE OF (IfcPropertySetDefinition); - LiningDepth : OPTIONAL IfcPositiveLengthMeasure; - LiningThickness : OPTIONAL IfcPositiveLengthMeasure; - TransomThickness : OPTIONAL IfcPositiveLengthMeasure; - MullionThickness : OPTIONAL IfcPositiveLengthMeasure; - FirstTransomOffset : OPTIONAL IfcNormalisedRatioMeasure; - SecondTransomOffset : OPTIONAL IfcNormalisedRatioMeasure; - FirstMullionOffset : OPTIONAL IfcNormalisedRatioMeasure; - SecondMullionOffset : OPTIONAL IfcNormalisedRatioMeasure; - ShapeAspectStyle : OPTIONAL IfcShapeAspect; - WHERE - WR31 : NOT(NOT(EXISTS(LiningDepth)) AND 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 - ('IFC2X3.IFCWINDOWSTYLE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1])); -END_ENTITY; - -ENTITY IfcWindowPanelProperties - SUBTYPE OF (IfcPropertySetDefinition); - OperationType : IfcWindowPanelOperationEnum; - PanelPosition : IfcWindowPanelPositionEnum; - FrameDepth : OPTIONAL IfcPositiveLengthMeasure; - FrameThickness : OPTIONAL IfcPositiveLengthMeasure; - ShapeAspectStyle : OPTIONAL IfcShapeAspect; -END_ENTITY; - -ENTITY IfcWindowStyle - SUBTYPE OF (IfcTypeProduct); - ConstructionType : IfcWindowStyleConstructionEnum; - OperationType : IfcWindowStyleOperationEnum; - ParameterTakesPrecedence : BOOLEAN; - Sizeable : BOOLEAN; -END_ENTITY; - -ENTITY IfcWorkControl - ABSTRACT SUPERTYPE OF (ONEOF - (IfcWorkPlan - ,IfcWorkSchedule)) - SUBTYPE OF (IfcControl); - Identifier : IfcIdentifier; - CreationDate : IfcDateTimeSelect; - Creators : OPTIONAL SET [1:?] OF IfcPerson; - Purpose : OPTIONAL IfcLabel; - Duration : OPTIONAL IfcTimeMeasure; - TotalFloat : OPTIONAL IfcTimeMeasure; - StartTime : IfcDateTimeSelect; - FinishTime : OPTIONAL IfcDateTimeSelect; - WorkControlType : OPTIONAL IfcWorkControlTypeEnum; - UserDefinedControlType : OPTIONAL IfcLabel; - WHERE - WR1 : (WorkControlType <> IfcWorkControlTypeEnum.USERDEFINED) OR - ((WorkControlType = IfcWorkControlTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcWorkControl.UserDefinedControlType)); -END_ENTITY; - -ENTITY IfcWorkPlan - SUBTYPE OF (IfcWorkControl); -END_ENTITY; - -ENTITY IfcWorkSchedule - SUBTYPE OF (IfcWorkControl); -END_ENTITY; - -ENTITY IfcZShapeProfileDef - SUBTYPE OF (IfcParameterizedProfileDef); - Depth : IfcPositiveLengthMeasure; - FlangeWidth : IfcPositiveLengthMeasure; - WebThickness : IfcPositiveLengthMeasure; - FlangeThickness : IfcPositiveLengthMeasure; - FilletRadius : OPTIONAL IfcPositiveLengthMeasure; - EdgeRadius : OPTIONAL IfcPositiveLengthMeasure; - WHERE - WR21 : FlangeThickness < (Depth / 2.); -END_ENTITY; - -ENTITY IfcZone - SUBTYPE OF (IfcGroup); - WHERE - WR1 : SIZEOF (QUERY (temp <* SELF\IfcGroup.IsGroupedBy.RelatedObjects | NOT(('IFC2X3.IFCZONE' IN TYPEOF(temp)) OR ('IFC2X3.IFCSPACE' IN TYPEOF(temp))) )) = 0; -END_ENTITY; - -FUNCTION IfcAddToBeginOfList - (AScalar : GENERIC; - AList : LIST OF GENERIC:AL) - : LIST[1:?] OF GENERIC:AL; - - LOCAL - Result : LIST OF GENERIC:AL := []; - END_LOCAL; - - IF NOT(EXISTS(AScalar)) THEN - Result := AList; - ELSE - Result := Result + AScalar; - IF (HIINDEX(AList) >= 1) THEN - REPEAT i:=1 TO HIINDEX(AList); - Result[i+1] := AList[i]; - END_REPEAT; - END_IF; - END_IF; - RETURN(Result); -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)).Orientation, D1]); -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, 1, 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 IfcCorrectLocalPlacement - (AxisPlacement:IfcAxis2Placement; - RelPlacement : IfcObjectPlacement) - : LOGICAL; - - IF (EXISTS(RelPlacement)) THEN - IF ('IFC2X3.IFCGRIDPLACEMENT' IN TYPEOF(RelPlacement)) THEN - RETURN(?); - END_IF; - IF ('IFC2X3.IFCLOCALPLACEMENT' IN TYPEOF(RelPlacement)) THEN - IF ('IFC2X3.IFCAXIS2PLACEMENT2D' IN TYPEOF(AxisPlacement)) THEN - RETURN(TRUE); - END_IF; - IF ('IFC2X3.IFCAXIS2PLACEMENT3D' IN TYPEOF(AxisPlacement)) THEN - IF (RelPlacement.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('IFC2X3.IFCPRODUCT' IN TYPEOF(temp)))); - RETURN(Count = 0); - END; - IfcObjectTypeEnum.PROCESS : - BEGIN - Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC2X3.IFCPROCESS' IN TYPEOF(temp)))); - RETURN(Count = 0); - END; - IfcObjectTypeEnum.CONTROL : - BEGIN - Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC2X3.IFCCONTROL' IN TYPEOF(temp)))); - RETURN(Count = 0); - END; - IfcObjectTypeEnum.RESOURCE : - BEGIN - Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC2X3.IFCRESOURCE' IN TYPEOF(temp)))); - RETURN(Count = 0); - END; - IfcObjectTypeEnum.ACTOR : - BEGIN - Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC2X3.IFCACTOR' IN TYPEOF(temp)))); - RETURN(Count = 0); - END; - IfcObjectTypeEnum.GROUP : - BEGIN - Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC2X3.IFCGROUP' IN TYPEOF(temp)))); - RETURN(Count = 0); - END; - IfcObjectTypeEnum.PROJECT : - BEGIN - Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC2X3.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 | ('IFC2X3.IFCNAMEDUNIT' IN TYPEOF(temp)) AND NOT(temp.UnitType = IfcUnitEnum.USERDEFINED))); - DerivedUnitNumber := SIZEOF(QUERY(temp <* Units | ('IFC2X3.IFCDERIVEDUNIT' IN TYPEOF(temp)) AND NOT(temp.UnitType = IfcDerivedUnitEnum.USERDEFINED))); - MonetaryUnitNumber := SIZEOF(QUERY(temp <* Units | 'IFC2X3.IFCMONETARYUNIT' IN TYPEOF(temp))); - - REPEAT i := 1 TO SIZEOF(Units); - IF (('IFC2X3.IFCNAMEDUNIT' IN TYPEOF(Units[i])) AND NOT(Units[i].UnitType = IfcUnitEnum.USERDEFINED)) THEN - NamedUnitNames := NamedUnitNames + Units[i].UnitType; - END_IF; - IF (('IFC2X3.IFCDERIVEDUNIT' IN TYPEOF(Units[i])) AND NOT(Units[i].UnitType = IfcDerivedUnitEnum.USERDEFINED)) THEN - DerivedUnitNames := DerivedUnitNames + Units[i].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).DirectionRatios; - V2 := IfcNormalise(Arg2).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 ('IFC2X3.IFCLINE' IN TYPEOF(Curve)) - THEN RETURN(Curve.Pnt.Dim); - END_IF; - IF ('IFC2X3.IFCCONIC' IN TYPEOF(Curve)) - THEN RETURN(Curve.Position.Dim); - END_IF; - IF ('IFC2X3.IFCPOLYLINE' IN TYPEOF(Curve)) - THEN RETURN(Curve.Points[1].Dim); - END_IF; - IF ('IFC2X3.IFCTRIMMEDCURVE' IN TYPEOF(Curve)) - THEN RETURN(IfcCurveDim(Curve.BasisCurve)); - END_IF; - IF ('IFC2X3.IFCCOMPOSITECURVE' IN TYPEOF(Curve)) - THEN RETURN(Curve.Segments[1].Dim); - END_IF; - IF ('IFC2X3.IFCBSPLINECURVE' IN TYPEOF(Curve)) - THEN RETURN(Curve.ControlPointsList[1].Dim); - END_IF; - IF ('IFC2X3.IFCOFFSETCURVE2D' IN TYPEOF(Curve)) - THEN RETURN(2); - END_IF; - IF ('IFC2X3.IFCOFFSETCURVE3D' IN TYPEOF(Curve)) - THEN RETURN(3); - END_IF; - RETURN (?); -END_FUNCTION; - -FUNCTION IfcCurveWeightsPositive - (B: IfcRationalBezierCurve) - : 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 - (x : IfcUnit) - : IfcDimensionalExponents; - LOCAL - Result : IfcDimensionalExponents := - IfcDimensionalExponents(0, 0, 0, 0, 0, 0, 0); - END_LOCAL; - IF 'IFC2X3.IFCDERIVEDUNIT' IN TYPEOF(x) THEN - REPEAT i := LOINDEX(x.Elements) TO HIINDEX(x.Elements); - Result.LengthExponent := Result.LengthExponent + - (x.Elements[i].Exponent * - x.Elements[i].Unit.Dimensions.LengthExponent); - Result.MassExponent := Result.MassExponent + - (x.Elements[i].Exponent * - x.Elements[i].Unit.Dimensions.MassExponent); - Result.TimeExponent := Result.TimeExponent + - (x.Elements[i].Exponent * - x.Elements[i].Unit.Dimensions.TimeExponent); - Result.ElectricCurrentExponent := Result.ElectricCurrentExponent + - (x.Elements[i].Exponent * - x.Elements[i].Unit.Dimensions.ElectricCurrentExponent); - Result.ThermodynamicTemperatureExponent := - Result.ThermodynamicTemperatureExponent + - (x.Elements[i].Exponent * - x.Elements[i].Unit.Dimensions.ThermodynamicTemperatureExponent); - Result.AmountOfSubstanceExponent := - Result.AmountOfSubstanceExponent + (x.Elements[i].Exponent * - x.Elements[i].Unit.Dimensions.AmountOfSubstanceExponent); - Result.LuminousIntensityExponent := - Result.LuminousIntensityExponent + (x.Elements[i].Exponent * - x.Elements[i].Unit.Dimensions.LuminousIntensityExponent); - END_REPEAT; - ELSE - Result := x.Dimensions; - END_IF; - 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, 1, 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 IfcLeapYear - (Year : IfcYearNumber) - : BOOLEAN; - - IF ((((Year MOD 4) = 0) AND ((Year MOD 100) <> 0)) OR - ((Year MOD 400) = 0)) THEN - RETURN(TRUE); - ELSE - RETURN(FALSE); - END_IF; -END_FUNCTION; - -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 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 IfcNoOfLayers - (Element : IfcElement ) - : INTEGER; - - LOCAL - Association : BAG OF IfcRelAssociates := []; - MaterialAssociation : SET OF IfcRelAssociatesMaterial := []; - END_LOCAL; - - Association := USEDIN(Element, 'IFC2X3.IFCRELASSOCIATES.RELATEDOBJECTS'); - - IF SIZEOF (Association) > 0 THEN - REPEAT i := 1 TO HIINDEX(Association); - IF ('IFC2X3.IFCRELASSOCIATESMATERIAL' IN TYPEOF(Association[i])) THEN - MaterialAssociation := MaterialAssociation + Association[i]; - END_IF; - END_REPEAT; - END_IF; - - IF (SIZEOF(MaterialAssociation) <> 1) THEN - RETURN (?); - ELSE - IF 'IFC2X3.IFCMATERIAL' IN TYPEOF(MaterialAssociation[1].RelatingMaterial) THEN - RETURN (1); - END_IF; - IF 'IFC2X3.IFCMATERIALLAYERSETUSAGE' IN TYPEOF(MaterialAssociation[1].RelatingMaterial) THEN - RETURN (SIZEOF(MaterialAssociation[1].RelatingMaterial.ForLayerSet.MaterialLayers)); - END_IF; - IF 'IFC2X3.IFCMATERIALLIST' IN TYPEOF(MaterialAssociation[1].RelatingMaterial) THEN - RETURN (?); - END_IF; - END_IF; - - RETURN (?); -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 - Ndim := Arg.Dim; - IF 'IFC2X3.IFCVECTOR' IN TYPEOF(Arg) THEN - BEGIN - V.DirectionRatios := Arg.Orientation.DirectionRatios; - Vec.Magnitude := Arg.Magnitude; - Vec.Orientation := V; - IF Arg.Magnitude = 0.0 THEN - RETURN(?); - ELSE - Vec.Magnitude := 1.0; - END_IF; - END; - ELSE - V.DirectionRatios := Arg.DirectionRatios; - 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 'IFC2X3.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 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 'IFC2X3.IFCVECTOR' IN TYPEOF (Vec) THEN - V := Vec.Orientation; - Mag := Scalar * Vec.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 - 'Curve2D' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCCURVE' IN TYPEOF(temp)) - AND (temp.Dim = 2))); - END; - 'Annotation2D' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | ( - SIZEOF(TYPEOF(temp) * [ - 'IFC2X3.IFCPOINT', - 'IFC2X3.IFCCURVE', - 'IFC2X3.IFCGEOMETRICCURVESET', - 'IFC2X3.IFCANNOTATIONFILLAREA', - 'IFC2X3.IFCDEFINEDSYMBOL', - 'IFC2X3.IFCTEXTLITERAL', - 'IFC2X3.IFCDRAUGHTINGCALLOUT']) = 1) - )); - END; - 'GeometricSet' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCGEOMETRICSET' IN TYPEOF(temp)) - OR ('IFC2X3.IFCPOINT' IN TYPEOF(temp)) - OR ('IFC2X3.IFCCURVE' IN TYPEOF(temp)) - OR ('IFC2X3.IFCSURFACE' IN TYPEOF(temp)))); - END; - 'GeometricCurveSet' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCGEOMETRICCURVESET' IN TYPEOF(temp)) - OR ('IFC2X3.IFCGEOMETRICSET' IN TYPEOF(temp)) - OR ('IFC2X3.IFCPOINT' IN TYPEOF(temp)) - OR ('IFC2X3.IFCCURVE' IN TYPEOF(temp)))); - REPEAT i:=1 TO HIINDEX(Items); - IF ('IFC2X3.IFCGEOMETRICSET' IN TYPEOF(Items[i])) - THEN - IF (SIZEOF(QUERY(temp <* Items[i]\IfcGeometricSet.Elements | 'IFC2X3.IFCSURFACE' IN TYPEOF(temp))) > 0) - THEN - Count := Count - 1; - END_IF; - END_IF; - END_REPEAT; - END; - 'SurfaceModel' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | SIZEOF([ - 'IFC2X3.IFCSHELLBASEDSURFACEMODEL', - 'IFC2X3.IFCFACEBASEDSURFACEMODEL', - 'IFC2X3.IFCFACETEDBREP', - 'IFC2X3.IFCFACETEDBREPWITHVOIDS'] * TYPEOF(temp)) >= 1 - )); - END; - 'SolidModel' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCSOLIDMODEL' IN TYPEOF(temp)))); - END; - 'SweptSolid' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCSWEPTAREASOLID' IN TYPEOF(temp)))); - END; - 'CSG' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCBOOLEANRESULT' IN TYPEOF(temp)))); - END; - 'Clipping' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCBOOLEANCLIPPINGRESULT' IN TYPEOF(temp)))); - END; - 'AdvancedSweptSolid' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCSURFACECURVESWEPTAREASOLID' IN TYPEOF(temp)) - OR ('IFC2X3.IFCSWEPTDISKSOLID' IN TYPEOF(temp)))); - END; - 'Brep' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCFACETEDBREP' IN TYPEOF(temp)) - OR ('IFC2X3.IFCFACETEDBREPWITHVOIDS' IN TYPEOF(temp)))); - END; - 'BoundingBox' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCBOUNDINGBOX' IN TYPEOF(temp)))); - IF (SIZEOF(Items) > 1) - THEN - Count := 0; - END_IF; - END; - 'SectionedSpine' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCSECTIONEDSPINE' IN TYPEOF(temp)))); - END; - 'MappedRepresentation' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCMAPPEDITEM' IN TYPEOF(temp)))); - END; - OTHERWISE : RETURN(?); - END_CASE; - RETURN (Count = SIZEOF(Items)); -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 | - ('IFC2X3.IFCVERTEX' IN TYPEOF(temp)))); - END; - 'Edge' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | - ('IFC2X3.IFCEDGE' IN TYPEOF(temp)))); - END; - 'Path' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | - ('IFC2X3.IFCPATH' IN TYPEOF(temp)))); - END; - 'Face' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | - ('IFC2X3.IFCFACE' IN TYPEOF(temp)))); - END; - 'Shell' : - BEGIN - Count := SIZEOF(QUERY(temp <* Items | - ('IFC2X3.IFCOPENSHELL' IN TYPEOF(temp)) - OR ('IFC2X3.IFCCLOSEDSHELL' IN TYPEOF(temp)))); - END; - 'Undefined': RETURN(TRUE); - OTHERWISE : RETURN(?); - END_CASE; - RETURN (Count = SIZEOF(Items)); -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 IfcValidCalendarDate - (Date : IfcCalendarDate) - : LOGICAL; - IF NOT ({1 <= Date.DayComponent <= 31}) THEN - RETURN(FALSE); - END_IF; - CASE Date.MonthComponent OF - 4 : RETURN({ 1<= Date.DayComponent <= 30}); - 6 : RETURN({ 1<= Date.DayComponent <= 30}); - 9 : RETURN({ 1<= Date.DayComponent <= 30}); - 11 : RETURN({ 1<= Date.DayComponent <= 30}); - 2 : - BEGIN - IF (IfcLeapYear(Date.YearComponent)) THEN - RETURN({ 1<= Date.DayComponent <= 29}); - ELSE - RETURN({ 1<= Date.DayComponent <= 28}); - END_IF; - END; - OTHERWISE : RETURN(TRUE); - END_CASE; -END_FUNCTION; - -FUNCTION IfcValidTime - (Time: IfcLocalTime) - : BOOLEAN; - IF EXISTS (Time.SecondComponent) THEN - RETURN (EXISTS (Time.MinuteComponent)); - ELSE - RETURN (TRUE); - END_IF; -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 'IFC2X3.IFCVECTOR' IN TYPEOF(Arg1) THEN - Mag1 := Arg1.Magnitude; - Vec1 := Arg1.Orientation; - ELSE - Mag1 := 1.0; - Vec1 := Arg1; - END_IF; - IF 'IFC2X3.IFCVECTOR' IN TYPEOF(Arg2) THEN - Mag2 := Arg2.Magnitude; - Vec2 := Arg2.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 'IFC2X3.IFCVECTOR' IN TYPEOF(Arg1) THEN - Mag1 := Arg1.Magnitude; - Vec1 := Arg1.Orientation; - ELSE - Mag1 := 1.0; - Vec1 := Arg1; - END_IF; - IF 'IFC2X3.IFCVECTOR' IN TYPEOF(Arg2) THEN - Mag2 := Arg2.Magnitude; - Vec2 := Arg2.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; -- cgit v1.2.1