(* Copyright by: International Alliance for Interoperability, 1996-2003 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 2 Addendum 1 - express longform distribution Issue date: July 16, 2004 Development Team: Modeling Support Group of the International Alliance for Interoperability *) SCHEMA IFC2X2_FINAL; 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 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 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 = IfcLabel; 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 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 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 ,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 (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 ,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 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 ,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); END_TYPE; TYPE IfcCharacterSpacingSelect = SELECT (IfcRatioMeasure ,IfcLengthMeasure ,IfcMeasureWithUnit); END_TYPE; TYPE IfcCharacterStyleSelect = SELECT (IfcColour); 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); END_TYPE; TYPE IfcCurveFontOrScaledCurveFontSelect = SELECT (IfcCurveStyleFontSelect ,IfcCurveStyleFontAndScaling); 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 IfcFontSelect = SELECT (IfcPreDefinedTextFont ,IfcExternallyDefinedTextFont); END_TYPE; TYPE IfcGeometricSetSelect = SELECT (IfcPoint ,IfcCurve ,IfcSurface); 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 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 (IfcPositiveLengthMeasure ,IfcMeasureWithUnit); END_TYPE; TYPE IfcSpecularHighlightSelect = SELECT (IfcSpecularExponent ,IfcSpecularRoughness); END_TYPE; TYPE IfcStructuralActivityAssignmentSelect = SELECT (IfcStructuralItem ,IfcBuildingElement); END_TYPE; TYPE IfcSurfaceStyleElementSelect = SELECT (IfcSurfaceStyleShading ,IfcSurfaceStyleLighting ,IfcSurfaceStyleWithTextures ,IfcExternallyDefinedSufaceStyle ,IfcSurfaceStyleRefraction); END_TYPE; TYPE IfcSymbolStyleSelect = SELECT (IfcColour); END_TYPE; TYPE IfcTextStyleSelect = SELECT (IfcTextStyleWithMirror ,IfcTextStyleWithSpacing ,IfcTextStyleWithBoxCharacteristics); 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; END_ENTITY; ENTITY IfcAirTerminalType SUBTYPE OF (IfcFlowTerminalType); PredefinedType : IfcAirTerminalTypeEnum; END_ENTITY; ENTITY IfcAirToAirHeatRecoveryType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcAirToAirHeatRecoveryTypeEnum; 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); END_ENTITY; ENTITY IfcAnnotationFillArea SUBTYPE OF (IfcGeometricRepresentationItem); Boundaries : SET [1:?] OF IfcCurve; END_ENTITY; ENTITY IfcAnnotationFillAreaOccurrence SUBTYPE OF (IfcAnnotationOccurrence); FillStyleTarget : IfcPoint; END_ENTITY; ENTITY IfcAnnotationOccurrence ABSTRACT SUPERTYPE OF (ONEOF (IfcAnnotationCurveOccurrence ,IfcAnnotationFillAreaOccurrence ,IfcAnnotationSurfaceOccurrence ,IfcAnnotationSymbolOccurrence ,IfcAnnotationTextOccurrence)) SUBTYPE OF (IfcStyledItem); END_ENTITY; ENTITY IfcAnnotationSurfaceOccurrence SUBTYPE OF (IfcAnnotationOccurrence); END_ENTITY; ENTITY IfcAnnotationSymbolOccurrence SUPERTYPE OF (ONEOF (IfcTerminatorSymbol)) SUBTYPE OF (IfcAnnotationOccurrence); END_ENTITY; ENTITY IfcAnnotationTextOccurrence SUBTYPE OF (IfcAnnotationOccurrence); 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('IFC2X2_FINAL.IFCLINE' IN TYPEOF(OuterCurve)); WR3 : NOT('IFC2X2_FINAL.IFCOFFSETCURVE2D' IN TYPEOF(OuterCurve)); END_ENTITY; ENTITY IfcArbitraryOpenProfileDef SUBTYPE OF (IfcProfileDef); Curve : IfcBoundedCurve; WHERE WR1 : SELF\IfcProfileDef.ProfileType = IfcProfileTypeEnum.CURVE; WR2 : 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 | 'IFC2X2_FINAL.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('IFC2X2_FINAL.IFCELEMENT' IN TYPEOF(Temp)))) = 0; END_ENTITY; ENTITY IfcAsymmetricIShapeProfileDef SUBTYPE OF (IfcIShapeProfileDef); TopFlangeWidth : IfcPositiveLengthMeasure; TopFlangeThickness : OPTIONAL IfcPositiveLengthMeasure; TopFlangeFilletRadius : OPTIONAL IfcPositiveLengthMeasure; CentreOfGravityInY : 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 IfcBoilerType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcBoilerTypeEnum; END_ENTITY; ENTITY IfcBooleanClippingResult SUBTYPE OF (IfcBooleanResult); WHERE WR1 : ('IFC2X2_FINAL.IFCSWEPTAREASOLID' IN TYPEOF(FirstOperand)) OR ('IFC2X2_FINAL.IFCBOOLEANCLIPPINGRESULT' IN TYPEOF(FirstOperand)); WR2 : ('IFC2X2_FINAL.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 ('IFC2X2_FINAL.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 ,IfcRailing ,IfcRamp ,IfcRampFlight ,IfcRoof ,IfcSlab ,IfcStair ,IfcStairFlight ,IfcWall ,IfcWindow)) SUBTYPE OF (IfcElement); END_ENTITY; ENTITY IfcBuildingElementComponent ABSTRACT SUPERTYPE OF (ONEOF (IfcBuildingElementPart ,IfcPlate ,IfcReinforcingElement)) SUBTYPE OF (IfcBuildingElement); END_ENTITY; ENTITY IfcBuildingElementComponentType ABSTRACT SUPERTYPE OF (ONEOF (IfcPlateType)) SUBTYPE OF (IfcBuildingElementType); 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 IfcBuildingElementType ABSTRACT SUPERTYPE OF (ONEOF (IfcBeamType ,IfcBuildingElementComponentType ,IfcColumnType ,IfcCoveringType ,IfcMemberType ,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 : 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 IfcChamferEdgeFeature SUBTYPE OF (IfcEdgeFeature); Width : OPTIONAL IfcPositiveLengthMeasure; Height : OPTIONAL IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcChillerType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcChillerTypeEnum; 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; END_ENTITY; ENTITY IfcColourRgb SUBTYPE OF (IfcColourSpecification); Red : IfcNormalisedRatioMeasure; Green : IfcNormalisedRatioMeasure; Blue : IfcNormalisedRatioMeasure; END_ENTITY; ENTITY IfcColourSpecification ABSTRACT SUPERTYPE OF (ONEOF (IfcColourRgb)); 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 : ('IFC2X2_FINAL.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 | 'IFC2X2_FINAL.IFCCOMPOSITEPROFILEDEF' IN TYPEOF(temp))) = 0; END_ENTITY; ENTITY IfcCompressorType SUBTYPE OF (IfcFlowMovingDeviceType); PredefinedType : IfcCompressorTypeEnum; END_ENTITY; ENTITY IfcCondenserType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcCondenserTypeEnum; 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 : IfcBoundedCurve; CurveOnRelatedElement : OPTIONAL IfcBoundedCurve; END_ENTITY; ENTITY IfcConnectionGeometry ABSTRACT SUPERTYPE OF (ONEOF (IfcConnectionCurveGeometry ,IfcConnectionPointGeometry ,IfcConnectionPortGeometry ,IfcConnectionSurfaceGeometry)); END_ENTITY; ENTITY IfcConnectionPointGeometry SUBTYPE OF (IfcConnectionGeometry); PointOnRelatingElement : IfcPoint; PointOnRelatedElement : OPTIONAL IfcPoint; END_ENTITY; ENTITY IfcConnectionPortGeometry SUBTYPE OF (IfcConnectionGeometry); LocationAtRelatingElement : IfcAxis2Placement; LocationAtRelatedElement : OPTIONAL IfcAxis2Placement; ProfileOfPort : IfcProfileDef; END_ENTITY; ENTITY IfcConnectionSurfaceGeometry SUBTYPE OF (IfcConnectionGeometry); SurfaceOnRelatingElement : IfcSurface; SurfaceOnRelatedElement : OPTIONAL IfcSurface; 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; END_ENTITY; ENTITY IfcCoolingTowerType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcCoolingTowerTypeEnum; 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 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 : 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 : IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcCrewResource SUBTYPE OF (IfcConstructionResource); 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 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; Name : IfcLabel; CurveFont : OPTIONAL IfcCurveFontOrScaledCurveFontSelect; CurveWidth : OPTIONAL IfcSizeSelect; CurveColour : OPTIONAL IfcColour; 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 : IfcPositiveLengthMeasure; InvisibleSegmentLength : IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcDamperType SUBTYPE OF (IfcFlowControllerType); PredefinedType : IfcDamperTypeEnum; 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 WR21 : SELF\IfcDraughtingCalloutRelationship.Name IN ['primary','secondary']; WR22 : SIZEOF(TYPEOF(SELF\IfcDraughtingCalloutRelationship.RelatingDraughtingCallout) * [ 'IFC2X2_FINAL.IFCANGULARDIMENSION', 'IFC2X2_FINAL.IFCDIAMETERDIMENSION', 'IFC2X2_FINAL.IFCLINEARDIMENSION', 'IFC2X2_FINAL.IFCRADIUSDIMENSION']) = 1; WR23 : NOT ('IFC2X2_FINAL.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,'IFC2X2_FINAL.' + 'IFCDRAUGHTINGCALLOUT.CONTENTS')) >= 1; WR52 : (SIZEOF(QUERY (Dct1 <* AnnotatedBySymbols | (Dct1.Role = ORIGIN))) <= 1) AND (SIZEOF(QUERY (Dct2 <* AnnotatedBySymbols | (Dct2.Role = TARGET))) <= 1); WR53 : SIZEOF(QUERY (Dct <* AnnotatedBySymbols | NOT('IFC2X2_FINAL.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 | ( 'IFC2X2_FINAL.IFCDIMENSIONCURVE' IN TYPEOF(Dc)))) = 1; WR42 : SIZEOF (QUERY (Dc <* SELF.contents | ('IFC2X2_FINAL.IFCPROJECTIONCURVE' IN TYPEOF (Dc)))) <= 2; END_ENTITY; ENTITY IfcDimensionCurveTerminator SUBTYPE OF (IfcTerminatorSymbol); Role : IfcDimensionExtentUsage; WHERE WR61 : 'IFC2X2_FINAL.IFCDIMENSIONCURVE' IN TYPEOF (SELF\IfcTerminatorSymbol.AnnotatedCurve); 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 ABSTRACT 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 WR1 : (EXISTS(LiningDepth) AND EXISTS(LiningThickness)) XOR (NOT(EXISTS(LiningDepth)) AND NOT(EXISTS(LiningThickness))); WR2 : (EXISTS(ThresholdDepth) AND EXISTS(ThresholdThickness)) XOR (NOT(EXISTS(ThresholdDepth)) AND NOT(EXISTS(ThresholdThickness))); WR3 : (EXISTS(TransomOffset) AND EXISTS(TransomThickness)) XOR (NOT(EXISTS(TransomOffset)) AND NOT(EXISTS(TransomThickness))); WR4 : (EXISTS(CasingDepth) AND EXISTS(CasingThickness)) XOR (NOT(EXISTS(CasingDepth)) AND NOT(EXISTS(CasingThickness))); WR5 : EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1]) AND ('IFC2X2_FINAL.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 WR1 : EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1]) AND ('IFC2X2_FINAL.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)); 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\IfcObject.ObjectType)); END_ENTITY; ENTITY IfcDuctSegmentType SUBTYPE OF (IfcFlowSegmentType); PredefinedType : IfcDuctSegmentTypeEnum; END_ENTITY; ENTITY IfcDuctSilencerType SUBTYPE OF (IfcFlowTreatmentDeviceType); PredefinedType : IfcDuctSilencerTypeEnum; 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; 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 ,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; END_ENTITY; ENTITY IfcEvaporatorType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcEvaporatorTypeEnum; 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 ,IfcExternallyDefinedSufaceStyle ,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 IfcExternallyDefinedSufaceStyle 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 WR1 : 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 | 'IFC2X2_FINAL.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; WHERE WR1 : 'IFC2X2_FINAL.IFCPOLYLOOP' IN TYPEOF(Bound); 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; 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; FillStyles : SET [1:?] OF IfcFillStyleSelect; Name : IfcLabel; WHERE WR11 : SIZEOF(QUERY(Style <* SELF.FillStyles | 'IFC2X2_FINAL.IFCCOLOUR' IN TYPEOF(Style) )) <= 1; END_ENTITY; ENTITY IfcFillAreaStyleHatching SUBTYPE OF (IfcGeometricRepresentationItem); HatchLineAppearance : IfcCurveStyle; StartOfNextHatchLine : IfcOneDirectionRepeatFactor; PointOfReferenceHatchLine : IfcCartesianPoint; PatternStart : IfcCartesianPoint; HatchLineAngle : IfcPlaneAngleMeasure; 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; 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; 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 ABSTRACT 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; 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 | 'IFC2X2_FINAL.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; END_ENTITY; ENTITY IfcGeometricRepresentationItem ABSTRACT SUPERTYPE OF (ONEOF (IfcAnnotationFillArea ,IfcBooleanResult ,IfcBoundingBox ,IfcCartesianTransformationOperator ,IfcCompositeCurveSegment ,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 := ParentContext.TrueNorth; SELF\IfcGeometricRepresentationContext.Precision : REAL := ParentContext.Precision; WHERE WR31 : NOT('IFC2X2_FINAL.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 WR1 : EXISTS(SELF\IfcProduct.ObjectPlacement); WR2 : NOT(EXISTS(SELF\IfcProduct.Representation)); END_ENTITY; ENTITY IfcGridAxis; AxisTag : OPTIONAL IfcLabel; AxisCurve : IfcCurve; SameSense : IfcBoolean; WHERE WR1 : AxisCurve.Dim = 2; 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; END_ENTITY; ENTITY IfcHumidifierType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcHumidifierTypeEnum; 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( ('IFC2X2_FINAL.IFCSPACE' IN TYPEOF (temp)) OR ('IFC2X2_FINAL.IFCASSET' IN TYPEOF (temp)) OR ('IFC2X2_FINAL.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 : IfcPositiveLengthMeasure; CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure; WHERE WR1 : Thickness < Depth; WR2 : NOT(EXISTS(Width)) OR (Thickness < Width); WR3 : NOT(EXISTS(Width) XOR EXISTS(CentreOfGravityInY)); 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 ClassifiedAs : SET [0:1] OF IfcMaterialClassificationRelationship FOR ClassifiedMaterial; END_ENTITY; ENTITY IfcMaterialClassificationRelationship; MaterialClassifications : SET [1:?] OF IfcClassificationNotationSelect; ClassifiedMaterial : IfcMaterial; END_ENTITY; ENTITY IfcMaterialLayer; Material : OPTIONAL IfcMaterial; LayerThickness : IfcPositiveLengthMeasure; IsVentilated : OPTIONAL IfcBoolean; 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 | ('IFC2X2_FINAL.IFCACTOR' IN TYPEOF (temp2)) OR ('IFC2X2_FINAL.IFCEQUIPMENTELEMENT' IN TYPEOF (temp2)) OR ('IFC2X2_FINAL.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 (IfcRoot); ObjectType : OPTIONAL IfcLabel; INVERSE IsDefinedBy : SET [0:?] OF IfcRelDefines FOR RelatedObjects; HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects; HasAssignments : SET [0:?] OF IfcRelAssigns FOR RelatedObjects; Decomposes : SET [0:1] OF IfcRelDecomposes FOR RelatedObjects; IsDecomposedBy : SET [0:?] OF IfcRelDecomposes FOR RelatingObject; WHERE WR1 : SIZEOF(QUERY(temp <* IsDefinedBy | 'IFC2X2_FINAL.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1; END_ENTITY; ENTITY IfcObjectPlacement ABSTRACT SUPERTYPE OF (ONEOF (IfcGridPlacement ,IfcLocalPlacement)); INVERSE 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('IFC2X2_FINAL.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\IfcObject.ObjectType)); END_ENTITY; ENTITY IfcPipeSegmentType SUBTYPE OF (IfcFlowSegmentType); PredefinedType : IfcPipeSegmentTypeEnum; END_ENTITY; ENTITY IfcPixelTexture SUBTYPE OF (IfcSurfaceTexture); Width : IfcInteger; Height : IfcInteger; ColourComponents : IfcInteger; Pixel : LIST [1:?] OF STRING(10); 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 (IfcBuildingElementComponent); END_ENTITY; ENTITY IfcPlateType SUBTYPE OF (IfcBuildingElementComponentType); PredefinedType : IfcPlateTypeEnum; WHERE WR1 : SIZEOF (QUERY(temp <* SELF\IfcObject.HasAssociations | 'IFC2X2_FINAL.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp) )) = 1; END_ENTITY; ENTITY IfcPoint ABSTRACT SUPERTYPE OF (ON