(* Copyright by: International Alliance for Interoperability, 1996-2005 All rights reserved. No part of this documentation may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the owner. Contents: full IFC object model EXPRESS definitions for the IFC2x Edition 3 final version - express longform distribution - compiled for EXPRESS version 1 technical corrigendum 2 Issue date: December 15, 2005 Development Team: Modeling Support Group of the International Alliance for Interoperability compiled by Thomas Liebich tl@aec3.com *) SCHEMA IFC2X3; TYPE IfcAbsorbedDoseMeasure = REAL; END_TYPE; TYPE IfcAccelerationMeasure = REAL; END_TYPE; TYPE IfcAmountOfSubstanceMeasure = REAL; END_TYPE; TYPE IfcAngularVelocityMeasure = REAL; END_TYPE; TYPE IfcAreaMeasure = REAL; END_TYPE; TYPE IfcBoolean = BOOLEAN; END_TYPE; TYPE IfcBoxAlignment = IfcLabel; WHERE WR1 : SELF IN ['top-left', 'top-middle', 'top-right', 'middle-left', 'center', 'middle-right', 'bottom-left', 'bottom-middle', 'bottom-right']; END_TYPE; TYPE IfcComplexNumber = ARRAY [1:2] OF REAL; END_TYPE; TYPE IfcCompoundPlaneAngleMeasure = LIST [3:3] OF INTEGER; WHERE WR1 : { -360 <= SELF[1] < 360 }; WR2 : { -60 <= SELF[2] < 60 }; WR3 : { -60 <= SELF[3] < 60 }; WR4 : ((SELF[1] >= 0) AND (SELF[2] >= 0) AND (SELF[3] >= 0)) OR ((SELF[1] <= 0) AND (SELF[2] <= 0) AND (SELF[3] <= 0)); END_TYPE; TYPE IfcContextDependentMeasure = REAL; END_TYPE; TYPE IfcCountMeasure = NUMBER; END_TYPE; TYPE IfcCurvatureMeasure = REAL; END_TYPE; TYPE IfcDayInMonthNumber = INTEGER; END_TYPE; TYPE IfcDaylightSavingHour = INTEGER; WHERE WR1 : { 0 <= SELF <= 2 }; END_TYPE; TYPE IfcDescriptiveMeasure = STRING; END_TYPE; TYPE IfcDimensionCount = INTEGER; WHERE WR1 : { 0 < SELF <= 3 }; END_TYPE; TYPE IfcDoseEquivalentMeasure = REAL; END_TYPE; TYPE IfcDynamicViscosityMeasure = REAL; END_TYPE; TYPE IfcElectricCapacitanceMeasure = REAL; END_TYPE; TYPE IfcElectricChargeMeasure = REAL; END_TYPE; TYPE IfcElectricConductanceMeasure = REAL; END_TYPE; TYPE IfcElectricCurrentMeasure = REAL; END_TYPE; TYPE IfcElectricResistanceMeasure = REAL; END_TYPE; TYPE IfcElectricVoltageMeasure = REAL; END_TYPE; TYPE IfcEnergyMeasure = REAL; END_TYPE; TYPE IfcFontStyle = STRING; WHERE WR1 : SELF IN ['normal','italic','oblique']; END_TYPE; TYPE IfcFontVariant = STRING; WHERE WR1 : SELF IN ['normal','small-caps']; END_TYPE; TYPE IfcFontWeight = STRING; WHERE WR1 : SELF IN ['normal','small-caps','100','200','300','400','500','600','700','800','900']; END_TYPE; TYPE IfcForceMeasure = REAL; END_TYPE; TYPE IfcFrequencyMeasure = REAL; END_TYPE; TYPE IfcGloballyUniqueId = STRING(22) FIXED; END_TYPE; TYPE IfcHeatFluxDensityMeasure = REAL; END_TYPE; TYPE IfcHeatingValueMeasure = REAL; WHERE WR1 : SELF > 0.; END_TYPE; TYPE IfcHourInDay = INTEGER; WHERE WR1 : { 0 <= SELF < 24 }; END_TYPE; TYPE IfcIdentifier = STRING; END_TYPE; TYPE IfcIlluminanceMeasure = REAL; END_TYPE; TYPE IfcInductanceMeasure = REAL; END_TYPE; TYPE IfcInteger = INTEGER; END_TYPE; TYPE IfcIntegerCountRateMeasure = INTEGER; END_TYPE; TYPE IfcIonConcentrationMeasure = REAL; END_TYPE; TYPE IfcIsothermalMoistureCapacityMeasure = REAL; END_TYPE; TYPE IfcKinematicViscosityMeasure = REAL; END_TYPE; TYPE IfcLabel = STRING; END_TYPE; TYPE IfcLengthMeasure = REAL; END_TYPE; TYPE IfcLinearForceMeasure = REAL; END_TYPE; TYPE IfcLinearMomentMeasure = REAL; END_TYPE; TYPE IfcLinearStiffnessMeasure = REAL; END_TYPE; TYPE IfcLinearVelocityMeasure = REAL; END_TYPE; TYPE IfcLogical = LOGICAL; END_TYPE; TYPE IfcLuminousFluxMeasure = REAL; END_TYPE; TYPE IfcLuminousIntensityDistributionMeasure = REAL; END_TYPE; TYPE IfcLuminousIntensityMeasure = REAL; END_TYPE; TYPE IfcMagneticFluxDensityMeasure = REAL; END_TYPE; TYPE IfcMagneticFluxMeasure = REAL; END_TYPE; TYPE IfcMassDensityMeasure = REAL; END_TYPE; TYPE IfcMassFlowRateMeasure = REAL; END_TYPE; TYPE IfcMassMeasure = REAL; END_TYPE; TYPE IfcMassPerLengthMeasure = REAL; END_TYPE; TYPE IfcMinuteInHour = INTEGER; WHERE WR1 : {0 <= SELF <= 59 }; END_TYPE; TYPE IfcModulusOfElasticityMeasure = REAL; END_TYPE; TYPE IfcModulusOfLinearSubgradeReactionMeasure = REAL; END_TYPE; TYPE IfcModulusOfRotationalSubgradeReactionMeasure = REAL; END_TYPE; TYPE IfcModulusOfSubgradeReactionMeasure = REAL; END_TYPE; TYPE IfcMoistureDiffusivityMeasure = REAL; END_TYPE; TYPE IfcMolecularWeightMeasure = REAL; END_TYPE; TYPE IfcMomentOfInertiaMeasure = REAL; END_TYPE; TYPE IfcMonetaryMeasure = REAL; END_TYPE; TYPE IfcMonthInYearNumber = INTEGER; WHERE WR1 : { 1<= SELF <= 12 }; END_TYPE; TYPE IfcNormalisedRatioMeasure = IfcRatioMeasure; WHERE WR1 : {0.0 <= SELF <= 1.0}; END_TYPE; TYPE IfcNumericMeasure = NUMBER; END_TYPE; TYPE IfcPHMeasure = REAL; WHERE WR21 : {0.0 <= SELF <= 14.0}; END_TYPE; TYPE IfcParameterValue = REAL; END_TYPE; TYPE IfcPlanarForceMeasure = REAL; END_TYPE; TYPE IfcPlaneAngleMeasure = REAL; END_TYPE; TYPE IfcPositiveLengthMeasure = IfcLengthMeasure; WHERE WR1 : SELF > 0.; END_TYPE; TYPE IfcPositivePlaneAngleMeasure = IfcPlaneAngleMeasure; WHERE WR1 : SELF > 0.; END_TYPE; TYPE IfcPositiveRatioMeasure = IfcRatioMeasure; WHERE WR1 : SELF > 0.; END_TYPE; TYPE IfcPowerMeasure = REAL; END_TYPE; TYPE IfcPresentableText = STRING; END_TYPE; TYPE IfcPressureMeasure = REAL; END_TYPE; TYPE IfcRadioActivityMeasure = REAL; END_TYPE; TYPE IfcRatioMeasure = REAL; END_TYPE; TYPE IfcReal = REAL; END_TYPE; TYPE IfcRotationalFrequencyMeasure = REAL; END_TYPE; TYPE IfcRotationalMassMeasure = REAL; END_TYPE; TYPE IfcRotationalStiffnessMeasure = REAL; END_TYPE; TYPE IfcSecondInMinute = REAL; WHERE WR1 : { 0. <= SELF < 60. }; END_TYPE; TYPE IfcSectionModulusMeasure = REAL; END_TYPE; TYPE IfcSectionalAreaIntegralMeasure = REAL; END_TYPE; TYPE IfcShearModulusMeasure = REAL; END_TYPE; TYPE IfcSolidAngleMeasure = REAL; END_TYPE; TYPE IfcSoundPowerMeasure = REAL; END_TYPE; TYPE IfcSoundPressureMeasure = REAL; END_TYPE; TYPE IfcSpecificHeatCapacityMeasure = REAL; END_TYPE; TYPE IfcSpecularExponent = REAL; END_TYPE; TYPE IfcSpecularRoughness = REAL; WHERE WR1 : {0.0 <= SELF <= 1.0}; END_TYPE; TYPE IfcTemperatureGradientMeasure = REAL; END_TYPE; TYPE IfcText = STRING; END_TYPE; TYPE IfcTextAlignment = STRING; WHERE WR1 : SELF IN ['left', 'right', 'center', 'justify']; END_TYPE; TYPE IfcTextDecoration = STRING; WHERE WR1 : SELF IN ['none', 'underline', 'overline', 'line-through', 'blink']; END_TYPE; TYPE IfcTextFontName = STRING; END_TYPE; TYPE IfcTextTransformation = STRING; WHERE WR1 : SELF IN ['capitalize', 'uppercase', 'lowercase', 'none']; END_TYPE; TYPE IfcThermalAdmittanceMeasure = REAL; END_TYPE; TYPE IfcThermalConductivityMeasure = REAL; END_TYPE; TYPE IfcThermalExpansionCoefficientMeasure = REAL; END_TYPE; TYPE IfcThermalResistanceMeasure = REAL; END_TYPE; TYPE IfcThermalTransmittanceMeasure = REAL; END_TYPE; TYPE IfcThermodynamicTemperatureMeasure = REAL; END_TYPE; TYPE IfcTimeMeasure = REAL; END_TYPE; TYPE IfcTimeStamp = INTEGER; END_TYPE; TYPE IfcTorqueMeasure = REAL; END_TYPE; TYPE IfcVaporPermeabilityMeasure = REAL; END_TYPE; TYPE IfcVolumeMeasure = REAL; END_TYPE; TYPE IfcVolumetricFlowRateMeasure = REAL; END_TYPE; TYPE IfcWarpingConstantMeasure = REAL; END_TYPE; TYPE IfcWarpingMomentMeasure = REAL; END_TYPE; TYPE IfcYearNumber = INTEGER; END_TYPE; TYPE IfcActionSourceTypeEnum = ENUMERATION OF (DEAD_LOAD_G ,COMPLETION_G1 ,LIVE_LOAD_Q ,SNOW_S ,WIND_W ,PRESTRESSING_P ,SETTLEMENT_U ,TEMPERATURE_T ,EARTHQUAKE_E ,FIRE ,IMPULSE ,IMPACT ,TRANSPORT ,ERECTION ,PROPPING ,SYSTEM_IMPERFECTION ,SHRINKAGE ,CREEP ,LACK_OF_FIT ,BUOYANCY ,ICE ,CURRENT ,WAVE ,RAIN ,BRAKES ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcActionTypeEnum = ENUMERATION OF (PERMANENT_G ,VARIABLE_Q ,EXTRAORDINARY_A ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcActuatorTypeEnum = ENUMERATION OF (ELECTRICACTUATOR ,HANDOPERATEDACTUATOR ,HYDRAULICACTUATOR ,PNEUMATICACTUATOR ,THERMOSTATICACTUATOR ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcAddressTypeEnum = ENUMERATION OF (OFFICE ,SITE ,HOME ,DISTRIBUTIONPOINT ,USERDEFINED); END_TYPE; TYPE IfcAheadOrBehind = ENUMERATION OF (AHEAD ,BEHIND); END_TYPE; TYPE IfcAirTerminalBoxTypeEnum = ENUMERATION OF (CONSTANTFLOW ,VARIABLEFLOWPRESSUREDEPENDANT ,VARIABLEFLOWPRESSUREINDEPENDANT ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcAirTerminalTypeEnum = ENUMERATION OF (GRILLE ,REGISTER ,DIFFUSER ,EYEBALL ,IRIS ,LINEARGRILLE ,LINEARDIFFUSER ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcAirToAirHeatRecoveryTypeEnum = ENUMERATION OF (FIXEDPLATECOUNTERFLOWEXCHANGER ,FIXEDPLATECROSSFLOWEXCHANGER ,FIXEDPLATEPARALLELFLOWEXCHANGER ,ROTARYWHEEL ,RUNAROUNDCOILLOOP ,HEATPIPE ,TWINTOWERENTHALPYRECOVERYLOOPS ,THERMOSIPHONSEALEDTUBEHEATEXCHANGERS ,THERMOSIPHONCOILTYPEHEATEXCHANGERS ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcAlarmTypeEnum = ENUMERATION OF (BELL ,BREAKGLASSBUTTON ,LIGHT ,MANUALPULLBOX ,SIREN ,WHISTLE ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcAnalysisModelTypeEnum = ENUMERATION OF (IN_PLANE_LOADING_2D ,OUT_PLANE_LOADING_2D ,LOADING_3D ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcAnalysisTheoryTypeEnum = ENUMERATION OF (FIRST_ORDER_THEORY ,SECOND_ORDER_THEORY ,THIRD_ORDER_THEORY ,FULL_NONLINEAR_THEORY ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcArithmeticOperatorEnum = ENUMERATION OF (ADD ,DIVIDE ,MULTIPLY ,SUBTRACT); END_TYPE; TYPE IfcAssemblyPlaceEnum = ENUMERATION OF (SITE ,FACTORY ,NOTDEFINED); END_TYPE; TYPE IfcBSplineCurveForm = ENUMERATION OF (POLYLINE_FORM ,CIRCULAR_ARC ,ELLIPTIC_ARC ,PARABOLIC_ARC ,HYPERBOLIC_ARC ,UNSPECIFIED); END_TYPE; TYPE IfcBeamTypeEnum = ENUMERATION OF (BEAM ,JOIST ,LINTEL ,T_BEAM ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcBenchmarkEnum = ENUMERATION OF (GREATERTHAN ,GREATERTHANOREQUALTO ,LESSTHAN ,LESSTHANOREQUALTO ,EQUALTO ,NOTEQUALTO); END_TYPE; TYPE IfcBoilerTypeEnum = ENUMERATION OF (WATER ,STEAM ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcBooleanOperator = ENUMERATION OF (UNION ,INTERSECTION ,DIFFERENCE); END_TYPE; TYPE IfcBuildingElementProxyTypeEnum = ENUMERATION OF (USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcCableCarrierFittingTypeEnum = ENUMERATION OF (BEND ,CROSS ,REDUCER ,TEE ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcCableCarrierSegmentTypeEnum = ENUMERATION OF (CABLELADDERSEGMENT ,CABLETRAYSEGMENT ,CABLETRUNKINGSEGMENT ,CONDUITSEGMENT ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcCableSegmentTypeEnum = ENUMERATION OF (CABLESEGMENT ,CONDUCTORSEGMENT ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcChangeActionEnum = ENUMERATION OF (NOCHANGE ,MODIFIED ,ADDED ,DELETED ,MODIFIEDADDED ,MODIFIEDDELETED); END_TYPE; TYPE IfcChillerTypeEnum = ENUMERATION OF (AIRCOOLED ,WATERCOOLED ,HEATRECOVERY ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcCoilTypeEnum = ENUMERATION OF (DXCOOLINGCOIL ,WATERCOOLINGCOIL ,STEAMHEATINGCOIL ,WATERHEATINGCOIL ,ELECTRICHEATINGCOIL ,GASHEATINGCOIL ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcColumnTypeEnum = ENUMERATION OF (COLUMN ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcCompressorTypeEnum = ENUMERATION OF (DYNAMIC ,RECIPROCATING ,ROTARY ,SCROLL ,TROCHOIDAL ,SINGLESTAGE ,BOOSTER ,OPENTYPE ,HERMETIC ,SEMIHERMETIC ,WELDEDSHELLHERMETIC ,ROLLINGPISTON ,ROTARYVANE ,SINGLESCREW ,TWINSCREW ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcCondenserTypeEnum = ENUMERATION OF (WATERCOOLEDSHELLTUBE ,WATERCOOLEDSHELLCOIL ,WATERCOOLEDTUBEINTUBE ,WATERCOOLEDBRAZEDPLATE ,AIRCOOLED ,EVAPORATIVECOOLED ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcConnectionTypeEnum = ENUMERATION OF (ATPATH ,ATSTART ,ATEND ,NOTDEFINED); END_TYPE; TYPE IfcConstraintEnum = ENUMERATION OF (HARD ,SOFT ,ADVISORY ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcControllerTypeEnum = ENUMERATION OF (FLOATING ,PROPORTIONAL ,PROPORTIONALINTEGRAL ,PROPORTIONALINTEGRALDERIVATIVE ,TIMEDTWOPOSITION ,TWOPOSITION ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcCooledBeamTypeEnum = ENUMERATION OF (ACTIVE ,PASSIVE ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcCoolingTowerTypeEnum = ENUMERATION OF (NATURALDRAFT ,MECHANICALINDUCEDDRAFT ,MECHANICALFORCEDDRAFT ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcCostScheduleTypeEnum = ENUMERATION OF (BUDGET ,COSTPLAN ,ESTIMATE ,TENDER ,PRICEDBILLOFQUANTITIES ,UNPRICEDBILLOFQUANTITIES ,SCHEDULEOFRATES ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcCoveringTypeEnum = ENUMERATION OF (CEILING ,FLOORING ,CLADDING ,ROOFING ,INSULATION ,MEMBRANE ,SLEEVING ,WRAPPING ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcCurrencyEnum = ENUMERATION OF (AED ,AES ,ATS ,AUD ,BBD ,BEG ,BGL ,BHD ,BMD ,BND ,BRL ,BSD ,BWP ,BZD ,CAD ,CBD ,CHF ,CLP ,CNY ,CYS ,CZK ,DDP ,DEM ,DKK ,EGL ,EST ,EUR ,FAK ,FIM ,FJD ,FKP ,FRF ,GBP ,GIP ,GMD ,GRX ,HKD ,HUF ,ICK ,IDR ,ILS ,INR ,IRP ,ITL ,JMD ,JOD ,JPY ,KES ,KRW ,KWD ,KYD ,LKR ,LUF ,MTL ,MUR ,MXN ,MYR ,NLG ,NZD ,OMR ,PGK ,PHP ,PKR ,PLN ,PTN ,QAR ,RUR ,SAR ,SCR ,SEK ,SGD ,SKP ,THB ,TRL ,TTD ,TWD ,USD ,VEB ,VND ,XEU ,ZAR ,ZWD ,NOK); END_TYPE; TYPE IfcCurtainWallTypeEnum = ENUMERATION OF (USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcDamperTypeEnum = ENUMERATION OF (CONTROLDAMPER ,FIREDAMPER ,SMOKEDAMPER ,FIRESMOKEDAMPER ,BACKDRAFTDAMPER ,RELIEFDAMPER ,BLASTDAMPER ,GRAVITYDAMPER ,GRAVITYRELIEFDAMPER ,BALANCINGDAMPER ,FUMEHOODEXHAUST ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcDataOriginEnum = ENUMERATION OF (MEASURED ,PREDICTED ,SIMULATED ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcDerivedUnitEnum = ENUMERATION OF (ANGULARVELOCITYUNIT ,COMPOUNDPLANEANGLEUNIT ,DYNAMICVISCOSITYUNIT ,HEATFLUXDENSITYUNIT ,INTEGERCOUNTRATEUNIT ,ISOTHERMALMOISTURECAPACITYUNIT ,KINEMATICVISCOSITYUNIT ,LINEARVELOCITYUNIT ,MASSDENSITYUNIT ,MASSFLOWRATEUNIT ,MOISTUREDIFFUSIVITYUNIT ,MOLECULARWEIGHTUNIT ,SPECIFICHEATCAPACITYUNIT ,THERMALADMITTANCEUNIT ,THERMALCONDUCTANCEUNIT ,THERMALRESISTANCEUNIT ,THERMALTRANSMITTANCEUNIT ,VAPORPERMEABILITYUNIT ,VOLUMETRICFLOWRATEUNIT ,ROTATIONALFREQUENCYUNIT ,TORQUEUNIT ,MOMENTOFINERTIAUNIT ,LINEARMOMENTUNIT ,LINEARFORCEUNIT ,PLANARFORCEUNIT ,MODULUSOFELASTICITYUNIT ,SHEARMODULUSUNIT ,LINEARSTIFFNESSUNIT ,ROTATIONALSTIFFNESSUNIT ,MODULUSOFSUBGRADEREACTIONUNIT ,ACCELERATIONUNIT ,CURVATUREUNIT ,HEATINGVALUEUNIT ,IONCONCENTRATIONUNIT ,LUMINOUSINTENSITYDISTRIBUTIONUNIT ,MASSPERLENGTHUNIT ,MODULUSOFLINEARSUBGRADEREACTIONUNIT ,MODULUSOFROTATIONALSUBGRADEREACTIONUNIT ,PHUNIT ,ROTATIONALMASSUNIT ,SECTIONAREAINTEGRALUNIT ,SECTIONMODULUSUNIT ,SOUNDPOWERUNIT ,SOUNDPRESSUREUNIT ,TEMPERATUREGRADIENTUNIT ,THERMALEXPANSIONCOEFFICIENTUNIT ,WARPINGCONSTANTUNIT ,WARPINGMOMENTUNIT ,USERDEFINED); END_TYPE; TYPE IfcDimensionExtentUsage = ENUMERATION OF (ORIGIN ,TARGET); END_TYPE; TYPE IfcDirectionSenseEnum = ENUMERATION OF (POSITIVE ,NEGATIVE); END_TYPE; TYPE IfcDistributionChamberElementTypeEnum = ENUMERATION OF (FORMEDDUCT ,INSPECTIONCHAMBER ,INSPECTIONPIT ,MANHOLE ,METERCHAMBER ,SUMP ,TRENCH ,VALVECHAMBER ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcDocumentConfidentialityEnum = ENUMERATION OF (PUBLIC ,RESTRICTED ,CONFIDENTIAL ,PERSONAL ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcDocumentStatusEnum = ENUMERATION OF (DRAFT ,FINALDRAFT ,FINAL ,REVISION ,NOTDEFINED); END_TYPE; TYPE IfcDoorPanelOperationEnum = ENUMERATION OF (SWINGING ,DOUBLE_ACTING ,SLIDING ,FOLDING ,REVOLVING ,ROLLINGUP ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcDoorPanelPositionEnum = ENUMERATION OF (LEFT ,MIDDLE ,RIGHT ,NOTDEFINED); END_TYPE; TYPE IfcDoorStyleConstructionEnum = ENUMERATION OF (ALUMINIUM ,HIGH_GRADE_STEEL ,STEEL ,WOOD ,ALUMINIUM_WOOD ,ALUMINIUM_PLASTIC ,PLASTIC ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcDoorStyleOperationEnum = ENUMERATION OF (SINGLE_SWING_LEFT ,SINGLE_SWING_RIGHT ,DOUBLE_DOOR_SINGLE_SWING ,DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT ,DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT ,DOUBLE_SWING_LEFT ,DOUBLE_SWING_RIGHT ,DOUBLE_DOOR_DOUBLE_SWING ,SLIDING_TO_LEFT ,SLIDING_TO_RIGHT ,DOUBLE_DOOR_SLIDING ,FOLDING_TO_LEFT ,FOLDING_TO_RIGHT ,DOUBLE_DOOR_FOLDING ,REVOLVING ,ROLLINGUP ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcDuctFittingTypeEnum = ENUMERATION OF (BEND ,CONNECTOR ,ENTRY ,EXIT ,JUNCTION ,OBSTRUCTION ,TRANSITION ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcDuctSegmentTypeEnum = ENUMERATION OF (RIGIDSEGMENT ,FLEXIBLESEGMENT ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcDuctSilencerTypeEnum = ENUMERATION OF (FLATOVAL ,RECTANGULAR ,ROUND ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcElectricApplianceTypeEnum = ENUMERATION OF (COMPUTER ,DIRECTWATERHEATER ,DISHWASHER ,ELECTRICCOOKER ,ELECTRICHEATER ,FACSIMILE ,FREESTANDINGFAN ,FREEZER ,FRIDGE_FREEZER ,HANDDRYER ,INDIRECTWATERHEATER ,MICROWAVE ,PHOTOCOPIER ,PRINTER ,REFRIGERATOR ,RADIANTHEATER ,SCANNER ,TELEPHONE ,TUMBLEDRYER ,TV ,VENDINGMACHINE ,WASHINGMACHINE ,WATERHEATER ,WATERCOOLER ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcElectricCurrentEnum = ENUMERATION OF (ALTERNATING ,DIRECT ,NOTDEFINED); END_TYPE; TYPE IfcElectricDistributionPointFunctionEnum = ENUMERATION OF (ALARMPANEL ,CONSUMERUNIT ,CONTROLPANEL ,DISTRIBUTIONBOARD ,GASDETECTORPANEL ,INDICATORPANEL ,MIMICPANEL ,MOTORCONTROLCENTRE ,SWITCHBOARD ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcElectricFlowStorageDeviceTypeEnum = ENUMERATION OF (BATTERY ,CAPACITORBANK ,HARMONICFILTER ,INDUCTORBANK ,UPS ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcElectricGeneratorTypeEnum = ENUMERATION OF (USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcElectricHeaterTypeEnum = ENUMERATION OF (ELECTRICPOINTHEATER ,ELECTRICCABLEHEATER ,ELECTRICMATHEATER ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcElectricMotorTypeEnum = ENUMERATION OF (DC ,INDUCTION ,POLYPHASE ,RELUCTANCESYNCHRONOUS ,SYNCHRONOUS ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcElectricTimeControlTypeEnum = ENUMERATION OF (TIMECLOCK ,TIMEDELAY ,RELAY ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcElementAssemblyTypeEnum = ENUMERATION OF (ACCESSORY_ASSEMBLY ,ARCH ,BEAM_GRID ,BRACED_FRAME ,GIRDER ,REINFORCEMENT_UNIT ,RIGID_FRAME ,SLAB_FIELD ,TRUSS ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcElementCompositionEnum = ENUMERATION OF (COMPLEX ,ELEMENT ,PARTIAL); END_TYPE; TYPE IfcEnergySequenceEnum = ENUMERATION OF (PRIMARY ,SECONDARY ,TERTIARY ,AUXILIARY ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcEnvironmentalImpactCategoryEnum = ENUMERATION OF (COMBINEDVALUE ,DISPOSAL ,EXTRACTION ,INSTALLATION ,MANUFACTURE ,TRANSPORTATION ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcEvaporativeCoolerTypeEnum = ENUMERATION OF (DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER ,DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER ,DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER ,DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER ,DIRECTEVAPORATIVEAIRWASHER ,INDIRECTEVAPORATIVEPACKAGEAIRCOOLER ,INDIRECTEVAPORATIVEWETCOIL ,INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER ,INDIRECTDIRECTCOMBINATION ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcEvaporatorTypeEnum = ENUMERATION OF (DIRECTEXPANSIONSHELLANDTUBE ,DIRECTEXPANSIONTUBEINTUBE ,DIRECTEXPANSIONBRAZEDPLATE ,FLOODEDSHELLANDTUBE ,SHELLANDCOIL ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcFanTypeEnum = ENUMERATION OF (CENTRIFUGALFORWARDCURVED ,CENTRIFUGALRADIAL ,CENTRIFUGALBACKWARDINCLINEDCURVED ,CENTRIFUGALAIRFOIL ,TUBEAXIAL ,VANEAXIAL ,PROPELLORAXIAL ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcFilterTypeEnum = ENUMERATION OF (AIRPARTICLEFILTER ,ODORFILTER ,OILFILTER ,STRAINER ,WATERFILTER ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcFireSuppressionTerminalTypeEnum = ENUMERATION OF (BREECHINGINLET ,FIREHYDRANT ,HOSEREEL ,SPRINKLER ,SPRINKLERDEFLECTOR ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcFlowDirectionEnum = ENUMERATION OF (SOURCE ,SINK ,SOURCEANDSINK ,NOTDEFINED); END_TYPE; TYPE IfcFlowInstrumentTypeEnum = ENUMERATION OF (PRESSUREGAUGE ,THERMOMETER ,AMMETER ,FREQUENCYMETER ,POWERFACTORMETER ,PHASEANGLEMETER ,VOLTMETER_PEAK ,VOLTMETER_RMS ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcFlowMeterTypeEnum = ENUMERATION OF (ELECTRICMETER ,ENERGYMETER ,FLOWMETER ,GASMETER ,OILMETER ,WATERMETER ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcFootingTypeEnum = ENUMERATION OF (FOOTING_BEAM ,PAD_FOOTING ,PILE_CAP ,STRIP_FOOTING ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcGasTerminalTypeEnum = ENUMERATION OF (GASAPPLIANCE ,GASBOOSTER ,GASBURNER ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcGeometricProjectionEnum = ENUMERATION OF (GRAPH_VIEW ,SKETCH_VIEW ,MODEL_VIEW ,PLAN_VIEW ,REFLECTED_PLAN_VIEW ,SECTION_VIEW ,ELEVATION_VIEW ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcGlobalOrLocalEnum = ENUMERATION OF (GLOBAL_COORDS ,LOCAL_COORDS); END_TYPE; TYPE IfcHeatExchangerTypeEnum = ENUMERATION OF (PLATE ,SHELLANDTUBE ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcHumidifierTypeEnum = ENUMERATION OF (STEAMINJECTION ,ADIABATICAIRWASHER ,ADIABATICPAN ,ADIABATICWETTEDELEMENT ,ADIABATICATOMIZING ,ADIABATICULTRASONIC ,ADIABATICRIGIDMEDIA ,ADIABATICCOMPRESSEDAIRNOZZLE ,ASSISTEDELECTRIC ,ASSISTEDNATURALGAS ,ASSISTEDPROPANE ,ASSISTEDBUTANE ,ASSISTEDSTEAM ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcInternalOrExternalEnum = ENUMERATION OF (INTERNAL ,EXTERNAL ,NOTDEFINED); END_TYPE; TYPE IfcInventoryTypeEnum = ENUMERATION OF (ASSETINVENTORY ,SPACEINVENTORY ,FURNITUREINVENTORY ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcJunctionBoxTypeEnum = ENUMERATION OF (USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcLampTypeEnum = ENUMERATION OF (COMPACTFLUORESCENT ,FLUORESCENT ,HIGHPRESSUREMERCURY ,HIGHPRESSURESODIUM ,METALHALIDE ,TUNGSTENFILAMENT ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcLayerSetDirectionEnum = ENUMERATION OF (AXIS1 ,AXIS2 ,AXIS3); END_TYPE; TYPE IfcLightDistributionCurveEnum = ENUMERATION OF (TYPE_A ,TYPE_B ,TYPE_C ,NOTDEFINED); END_TYPE; TYPE IfcLightEmissionSourceEnum = ENUMERATION OF (COMPACTFLUORESCENT ,FLUORESCENT ,HIGHPRESSUREMERCURY ,HIGHPRESSURESODIUM ,LIGHTEMITTINGDIODE ,LOWPRESSURESODIUM ,LOWVOLTAGEHALOGEN ,MAINVOLTAGEHALOGEN ,METALHALIDE ,TUNGSTENFILAMENT ,NOTDEFINED); END_TYPE; TYPE IfcLightFixtureTypeEnum = ENUMERATION OF (POINTSOURCE ,DIRECTIONSOURCE ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcLoadGroupTypeEnum = ENUMERATION OF (LOAD_GROUP ,LOAD_CASE ,LOAD_COMBINATION_GROUP ,LOAD_COMBINATION ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcLogicalOperatorEnum = ENUMERATION OF (LOGICALAND ,LOGICALOR); END_TYPE; TYPE IfcMemberTypeEnum = ENUMERATION OF (BRACE ,CHORD ,COLLAR ,MEMBER ,MULLION ,PLATE ,POST ,PURLIN ,RAFTER ,STRINGER ,STRUT ,STUD ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcMotorConnectionTypeEnum = ENUMERATION OF (BELTDRIVE ,COUPLING ,DIRECTDRIVE ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcNullStyle = ENUMERATION OF (NULL); END_TYPE; TYPE IfcObjectTypeEnum = ENUMERATION OF (PRODUCT ,PROCESS ,CONTROL ,RESOURCE ,ACTOR ,GROUP ,PROJECT ,NOTDEFINED); END_TYPE; TYPE IfcObjectiveEnum = ENUMERATION OF (CODECOMPLIANCE ,DESIGNINTENT ,HEALTHANDSAFETY ,REQUIREMENT ,SPECIFICATION ,TRIGGERCONDITION ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcOccupantTypeEnum = ENUMERATION OF (ASSIGNEE ,ASSIGNOR ,LESSEE ,LESSOR ,LETTINGAGENT ,OWNER ,TENANT ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcOutletTypeEnum = ENUMERATION OF (AUDIOVISUALOUTLET ,COMMUNICATIONSOUTLET ,POWEROUTLET ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcPermeableCoveringOperationEnum = ENUMERATION OF (GRILL ,LOUVER ,SCREEN ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcPhysicalOrVirtualEnum = ENUMERATION OF (PHYSICAL ,VIRTUAL ,NOTDEFINED); END_TYPE; TYPE IfcPileConstructionEnum = ENUMERATION OF (CAST_IN_PLACE ,COMPOSITE ,PRECAST_CONCRETE ,PREFAB_STEEL ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcPileTypeEnum = ENUMERATION OF (COHESION ,FRICTION ,SUPPORT ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcPipeFittingTypeEnum = ENUMERATION OF (BEND ,CONNECTOR ,ENTRY ,EXIT ,JUNCTION ,OBSTRUCTION ,TRANSITION ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcPipeSegmentTypeEnum = ENUMERATION OF (FLEXIBLESEGMENT ,RIGIDSEGMENT ,GUTTER ,SPOOL ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcPlateTypeEnum = ENUMERATION OF (CURTAIN_PANEL ,SHEET ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcProcedureTypeEnum = ENUMERATION OF (ADVICE_CAUTION ,ADVICE_NOTE ,ADVICE_WARNING ,CALIBRATION ,DIAGNOSTIC ,SHUTDOWN ,STARTUP ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcProfileTypeEnum = ENUMERATION OF (CURVE ,AREA); END_TYPE; TYPE IfcProjectOrderRecordTypeEnum = ENUMERATION OF (CHANGE ,MAINTENANCE ,MOVE ,PURCHASE ,WORK ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcProjectOrderTypeEnum = ENUMERATION OF (CHANGEORDER ,MAINTENANCEWORKORDER ,MOVEORDER ,PURCHASEORDER ,WORKORDER ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcProjectedOrTrueLengthEnum = ENUMERATION OF (PROJECTED_LENGTH ,TRUE_LENGTH); END_TYPE; TYPE IfcPropertySourceEnum = ENUMERATION OF (DESIGN ,DESIGNMAXIMUM ,DESIGNMINIMUM ,SIMULATED ,ASBUILT ,COMMISSIONING ,MEASURED ,USERDEFINED ,NOTKNOWN); END_TYPE; TYPE IfcProtectiveDeviceTypeEnum = ENUMERATION OF (FUSEDISCONNECTOR ,CIRCUITBREAKER ,EARTHFAILUREDEVICE ,RESIDUALCURRENTCIRCUITBREAKER ,RESIDUALCURRENTSWITCH ,VARISTOR ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcPumpTypeEnum = ENUMERATION OF (CIRCULATOR ,ENDSUCTION ,SPLITCASE ,VERTICALINLINE ,VERTICALTURBINE ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcRailingTypeEnum = ENUMERATION OF (HANDRAIL ,GUARDRAIL ,BALUSTRADE ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcRampFlightTypeEnum = ENUMERATION OF (STRAIGHT ,SPIRAL ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcRampTypeEnum = ENUMERATION OF (STRAIGHT_RUN_RAMP ,TWO_STRAIGHT_RUN_RAMP ,QUARTER_TURN_RAMP ,TWO_QUARTER_TURN_RAMP ,HALF_TURN_RAMP ,SPIRAL_RAMP ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcReflectanceMethodEnum = ENUMERATION OF (BLINN ,FLAT ,GLASS ,MATT ,METAL ,MIRROR ,PHONG ,PLASTIC ,STRAUSS ,NOTDEFINED); END_TYPE; TYPE IfcReinforcingBarRoleEnum = ENUMERATION OF (MAIN ,SHEAR ,LIGATURE ,STUD ,PUNCHING ,EDGE ,RING ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcReinforcingBarSurfaceEnum = ENUMERATION OF (PLAIN ,TEXTURED); END_TYPE; TYPE IfcResourceConsumptionEnum = ENUMERATION OF (CONSUMED ,PARTIALLYCONSUMED ,NOTCONSUMED ,OCCUPIED ,PARTIALLYOCCUPIED ,NOTOCCUPIED ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcRibPlateDirectionEnum = ENUMERATION OF (DIRECTION_X ,DIRECTION_Y); END_TYPE; TYPE IfcRoleEnum = ENUMERATION OF (SUPPLIER ,MANUFACTURER ,CONTRACTOR ,SUBCONTRACTOR ,ARCHITECT ,STRUCTURALENGINEER ,COSTENGINEER ,CLIENT ,BUILDINGOWNER ,BUILDINGOPERATOR ,MECHANICALENGINEER ,ELECTRICALENGINEER ,PROJECTMANAGER ,FACILITIESMANAGER ,CIVILENGINEER ,COMISSIONINGENGINEER ,ENGINEER ,OWNER ,CONSULTANT ,CONSTRUCTIONMANAGER ,FIELDCONSTRUCTIONMANAGER ,RESELLER ,USERDEFINED); END_TYPE; TYPE IfcRoofTypeEnum = ENUMERATION OF (FLAT_ROOF ,SHED_ROOF ,GABLE_ROOF ,HIP_ROOF ,HIPPED_GABLE_ROOF ,GAMBREL_ROOF ,MANSARD_ROOF ,BARREL_ROOF ,RAINBOW_ROOF ,BUTTERFLY_ROOF ,PAVILION_ROOF ,DOME_ROOF ,FREEFORM ,NOTDEFINED); END_TYPE; TYPE IfcSIPrefix = ENUMERATION OF (EXA ,PETA ,TERA ,GIGA ,MEGA ,KILO ,HECTO ,DECA ,DECI ,CENTI ,MILLI ,MICRO ,NANO ,PICO ,FEMTO ,ATTO); END_TYPE; TYPE IfcSIUnitName = ENUMERATION OF (AMPERE ,BECQUEREL ,CANDELA ,COULOMB ,CUBIC_METRE ,DEGREE_CELSIUS ,FARAD ,GRAM ,GRAY ,HENRY ,HERTZ ,JOULE ,KELVIN ,LUMEN ,LUX ,METRE ,MOLE ,NEWTON ,OHM ,PASCAL ,RADIAN ,SECOND ,SIEMENS ,SIEVERT ,SQUARE_METRE ,STERADIAN ,TESLA ,VOLT ,WATT ,WEBER); END_TYPE; TYPE IfcSanitaryTerminalTypeEnum = ENUMERATION OF (BATH ,BIDET ,CISTERN ,SHOWER ,SINK ,SANITARYFOUNTAIN ,TOILETPAN ,URINAL ,WASHHANDBASIN ,WCSEAT ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcSectionTypeEnum = ENUMERATION OF (UNIFORM ,TAPERED); END_TYPE; TYPE IfcSensorTypeEnum = ENUMERATION OF (CO2SENSOR ,FIRESENSOR ,FLOWSENSOR ,GASSENSOR ,HEATSENSOR ,HUMIDITYSENSOR ,LIGHTSENSOR ,MOISTURESENSOR ,MOVEMENTSENSOR ,PRESSURESENSOR ,SMOKESENSOR ,SOUNDSENSOR ,TEMPERATURESENSOR ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcSequenceEnum = ENUMERATION OF (START_START ,START_FINISH ,FINISH_START ,FINISH_FINISH ,NOTDEFINED); END_TYPE; TYPE IfcServiceLifeFactorTypeEnum = ENUMERATION OF (A_QUALITYOFCOMPONENTS ,B_DESIGNLEVEL ,C_WORKEXECUTIONLEVEL ,D_INDOORENVIRONMENT ,E_OUTDOORENVIRONMENT ,F_INUSECONDITIONS ,G_MAINTENANCELEVEL ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcServiceLifeTypeEnum = ENUMERATION OF (ACTUALSERVICELIFE ,EXPECTEDSERVICELIFE ,OPTIMISTICREFERENCESERVICELIFE ,PESSIMISTICREFERENCESERVICELIFE ,REFERENCESERVICELIFE); END_TYPE; TYPE IfcSlabTypeEnum = ENUMERATION OF (FLOOR ,ROOF ,LANDING ,BASESLAB ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcSoundScaleEnum = ENUMERATION OF (DBA ,DBB ,DBC ,NC ,NR ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcSpaceHeaterTypeEnum = ENUMERATION OF (SECTIONALRADIATOR ,PANELRADIATOR ,TUBULARRADIATOR ,CONVECTOR ,BASEBOARDHEATER ,FINNEDTUBEUNIT ,UNITHEATER ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcSpaceTypeEnum = ENUMERATION OF (USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcStackTerminalTypeEnum = ENUMERATION OF (BIRDCAGE ,COWL ,RAINWATERHOPPER ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcStairFlightTypeEnum = ENUMERATION OF (STRAIGHT ,WINDER ,SPIRAL ,CURVED ,FREEFORM ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcStairTypeEnum = ENUMERATION OF (STRAIGHT_RUN_STAIR ,TWO_STRAIGHT_RUN_STAIR ,QUARTER_WINDING_STAIR ,QUARTER_TURN_STAIR ,HALF_WINDING_STAIR ,HALF_TURN_STAIR ,TWO_QUARTER_WINDING_STAIR ,TWO_QUARTER_TURN_STAIR ,THREE_QUARTER_WINDING_STAIR ,THREE_QUARTER_TURN_STAIR ,SPIRAL_STAIR ,DOUBLE_RETURN_STAIR ,CURVED_RUN_STAIR ,TWO_CURVED_RUN_STAIR ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcStateEnum = ENUMERATION OF (READWRITE ,READONLY ,LOCKED ,READWRITELOCKED ,READONLYLOCKED); END_TYPE; TYPE IfcStructuralCurveTypeEnum = ENUMERATION OF (RIGID_JOINED_MEMBER ,PIN_JOINED_MEMBER ,CABLE ,TENSION_MEMBER ,COMPRESSION_MEMBER ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcStructuralSurfaceTypeEnum = ENUMERATION OF (BENDING_ELEMENT ,MEMBRANE_ELEMENT ,SHELL ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcSurfaceSide = ENUMERATION OF (POSITIVE ,NEGATIVE ,BOTH); END_TYPE; TYPE IfcSurfaceTextureEnum = ENUMERATION OF (BUMP ,OPACITY ,REFLECTION ,SELFILLUMINATION ,SHININESS ,SPECULAR ,TEXTURE ,TRANSPARENCYMAP ,NOTDEFINED); END_TYPE; TYPE IfcSwitchingDeviceTypeEnum = ENUMERATION OF (CONTACTOR ,EMERGENCYSTOP ,STARTER ,SWITCHDISCONNECTOR ,TOGGLESWITCH ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcTankTypeEnum = ENUMERATION OF (PREFORMED ,SECTIONAL ,EXPANSION ,PRESSUREVESSEL ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcTendonTypeEnum = ENUMERATION OF (STRAND ,WIRE ,BAR ,COATED ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcTextPath = ENUMERATION OF (LEFT ,RIGHT ,UP ,DOWN); END_TYPE; TYPE IfcThermalLoadSourceEnum = ENUMERATION OF (PEOPLE ,LIGHTING ,EQUIPMENT ,VENTILATIONINDOORAIR ,VENTILATIONOUTSIDEAIR ,RECIRCULATEDAIR ,EXHAUSTAIR ,AIREXCHANGERATE ,DRYBULBTEMPERATURE ,RELATIVEHUMIDITY ,INFILTRATION ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcThermalLoadTypeEnum = ENUMERATION OF (SENSIBLE ,LATENT ,RADIANT ,NOTDEFINED); END_TYPE; TYPE IfcTimeSeriesDataTypeEnum = ENUMERATION OF (CONTINUOUS ,DISCRETE ,DISCRETEBINARY ,PIECEWISEBINARY ,PIECEWISECONSTANT ,PIECEWISECONTINUOUS ,NOTDEFINED); END_TYPE; TYPE IfcTimeSeriesScheduleTypeEnum = ENUMERATION OF (ANNUAL ,MONTHLY ,WEEKLY ,DAILY ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcTransformerTypeEnum = ENUMERATION OF (CURRENT ,FREQUENCY ,VOLTAGE ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcTransitionCode = ENUMERATION OF (DISCONTINUOUS ,CONTINUOUS ,CONTSAMEGRADIENT ,CONTSAMEGRADIENTSAMECURVATURE); END_TYPE; TYPE IfcTransportElementTypeEnum = ENUMERATION OF (ELEVATOR ,ESCALATOR ,MOVINGWALKWAY ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcTrimmingPreference = ENUMERATION OF (CARTESIAN ,PARAMETER ,UNSPECIFIED); END_TYPE; TYPE IfcTubeBundleTypeEnum = ENUMERATION OF (FINNED ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcUnitEnum = ENUMERATION OF (ABSORBEDDOSEUNIT ,AMOUNTOFSUBSTANCEUNIT ,AREAUNIT ,DOSEEQUIVALENTUNIT ,ELECTRICCAPACITANCEUNIT ,ELECTRICCHARGEUNIT ,ELECTRICCONDUCTANCEUNIT ,ELECTRICCURRENTUNIT ,ELECTRICRESISTANCEUNIT ,ELECTRICVOLTAGEUNIT ,ENERGYUNIT ,FORCEUNIT ,FREQUENCYUNIT ,ILLUMINANCEUNIT ,INDUCTANCEUNIT ,LENGTHUNIT ,LUMINOUSFLUXUNIT ,LUMINOUSINTENSITYUNIT ,MAGNETICFLUXDENSITYUNIT ,MAGNETICFLUXUNIT ,MASSUNIT ,PLANEANGLEUNIT ,POWERUNIT ,PRESSUREUNIT ,RADIOACTIVITYUNIT ,SOLIDANGLEUNIT ,THERMODYNAMICTEMPERATUREUNIT ,TIMEUNIT ,VOLUMEUNIT ,USERDEFINED); END_TYPE; TYPE IfcUnitaryEquipmentTypeEnum = ENUMERATION OF (AIRHANDLER ,AIRCONDITIONINGUNIT ,SPLITSYSTEM ,ROOFTOPUNIT ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcValveTypeEnum = ENUMERATION OF (AIRRELEASE ,ANTIVACUUM ,CHANGEOVER ,CHECK ,COMMISSIONING ,DIVERTING ,DRAWOFFCOCK ,DOUBLECHECK ,DOUBLEREGULATING ,FAUCET ,FLUSHING ,GASCOCK ,GASTAP ,ISOLATING ,MIXING ,PRESSUREREDUCING ,PRESSURERELIEF ,REGULATING ,SAFETYCUTOFF ,STEAMTRAP ,STOPCOCK ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcVibrationIsolatorTypeEnum = ENUMERATION OF (COMPRESSION ,SPRING ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcWallTypeEnum = ENUMERATION OF (STANDARD ,POLYGONAL ,SHEAR ,ELEMENTEDWALL ,PLUMBINGWALL ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcWasteTerminalTypeEnum = ENUMERATION OF (FLOORTRAP ,FLOORWASTE ,GULLYSUMP ,GULLYTRAP ,GREASEINTERCEPTOR ,OILINTERCEPTOR ,PETROLINTERCEPTOR ,ROOFDRAIN ,WASTEDISPOSALUNIT ,WASTETRAP ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcWindowPanelOperationEnum = ENUMERATION OF (SIDEHUNGRIGHTHAND ,SIDEHUNGLEFTHAND ,TILTANDTURNRIGHTHAND ,TILTANDTURNLEFTHAND ,TOPHUNG ,BOTTOMHUNG ,PIVOTHORIZONTAL ,PIVOTVERTICAL ,SLIDINGHORIZONTAL ,SLIDINGVERTICAL ,REMOVABLECASEMENT ,FIXEDCASEMENT ,OTHEROPERATION ,NOTDEFINED); END_TYPE; TYPE IfcWindowPanelPositionEnum = ENUMERATION OF (LEFT ,MIDDLE ,RIGHT ,BOTTOM ,TOP ,NOTDEFINED); END_TYPE; TYPE IfcWindowStyleConstructionEnum = ENUMERATION OF (ALUMINIUM ,HIGH_GRADE_STEEL ,STEEL ,WOOD ,ALUMINIUM_WOOD ,PLASTIC ,OTHER_CONSTRUCTION ,NOTDEFINED); END_TYPE; TYPE IfcWindowStyleOperationEnum = ENUMERATION OF (SINGLE_PANEL ,DOUBLE_PANEL_VERTICAL ,DOUBLE_PANEL_HORIZONTAL ,TRIPLE_PANEL_VERTICAL ,TRIPLE_PANEL_BOTTOM ,TRIPLE_PANEL_TOP ,TRIPLE_PANEL_LEFT ,TRIPLE_PANEL_RIGHT ,TRIPLE_PANEL_HORIZONTAL ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcWorkControlTypeEnum = ENUMERATION OF (ACTUAL ,BASELINE ,PLANNED ,USERDEFINED ,NOTDEFINED); END_TYPE; TYPE IfcActorSelect = SELECT (IfcOrganization ,IfcPerson ,IfcPersonAndOrganization); END_TYPE; TYPE IfcAppliedValueSelect = SELECT (IfcRatioMeasure ,IfcMeasureWithUnit ,IfcMonetaryMeasure); END_TYPE; TYPE IfcAxis2Placement = SELECT (IfcAxis2Placement2D ,IfcAxis2Placement3D); END_TYPE; TYPE IfcBooleanOperand = SELECT (IfcSolidModel ,IfcHalfSpaceSolid ,IfcBooleanResult ,IfcCsgPrimitive3D); END_TYPE; TYPE IfcCharacterStyleSelect = SELECT (IfcTextStyleForDefinedFont); END_TYPE; TYPE IfcClassificationNotationSelect = SELECT (IfcClassificationNotation ,IfcClassificationReference); END_TYPE; TYPE IfcColour = SELECT (IfcColourSpecification ,IfcPreDefinedColour); END_TYPE; TYPE IfcColourOrFactor = SELECT (IfcColourRgb ,IfcNormalisedRatioMeasure); END_TYPE; TYPE IfcConditionCriterionSelect = SELECT (IfcLabel ,IfcMeasureWithUnit); END_TYPE; TYPE IfcCsgSelect = SELECT (IfcBooleanResult ,IfcCsgPrimitive3D); END_TYPE; TYPE IfcCurveFontOrScaledCurveFontSelect = SELECT (IfcCurveStyleFontSelect ,IfcCurveStyleFontAndScaling); END_TYPE; TYPE IfcCurveOrEdgeCurve = SELECT (IfcBoundedCurve ,IfcEdgeCurve); END_TYPE; TYPE IfcCurveStyleFontSelect = SELECT (IfcPreDefinedCurveFont ,IfcCurveStyleFont); END_TYPE; TYPE IfcDateTimeSelect = SELECT (IfcCalendarDate ,IfcLocalTime ,IfcDateAndTime); END_TYPE; TYPE IfcDefinedSymbolSelect = SELECT (IfcPreDefinedSymbol ,IfcExternallyDefinedSymbol); END_TYPE; TYPE IfcDerivedMeasureValue = SELECT (IfcVolumetricFlowRateMeasure ,IfcTimeStamp ,IfcThermalTransmittanceMeasure ,IfcThermalResistanceMeasure ,IfcThermalAdmittanceMeasure ,IfcPressureMeasure ,IfcPowerMeasure ,IfcMassFlowRateMeasure ,IfcMassDensityMeasure ,IfcLinearVelocityMeasure ,IfcKinematicViscosityMeasure ,IfcIntegerCountRateMeasure ,IfcHeatFluxDensityMeasure ,IfcFrequencyMeasure ,IfcEnergyMeasure ,IfcElectricVoltageMeasure ,IfcDynamicViscosityMeasure ,IfcCompoundPlaneAngleMeasure ,IfcAngularVelocityMeasure ,IfcThermalConductivityMeasure ,IfcMolecularWeightMeasure ,IfcVaporPermeabilityMeasure ,IfcMoistureDiffusivityMeasure ,IfcIsothermalMoistureCapacityMeasure ,IfcSpecificHeatCapacityMeasure ,IfcMonetaryMeasure ,IfcMagneticFluxDensityMeasure ,IfcMagneticFluxMeasure ,IfcLuminousFluxMeasure ,IfcForceMeasure ,IfcInductanceMeasure ,IfcIlluminanceMeasure ,IfcElectricResistanceMeasure ,IfcElectricConductanceMeasure ,IfcElectricChargeMeasure ,IfcDoseEquivalentMeasure ,IfcElectricCapacitanceMeasure ,IfcAbsorbedDoseMeasure ,IfcRadioActivityMeasure ,IfcRotationalFrequencyMeasure ,IfcTorqueMeasure ,IfcAccelerationMeasure ,IfcLinearForceMeasure ,IfcLinearStiffnessMeasure ,IfcModulusOfSubgradeReactionMeasure ,IfcModulusOfElasticityMeasure ,IfcMomentOfInertiaMeasure ,IfcPlanarForceMeasure ,IfcRotationalStiffnessMeasure ,IfcShearModulusMeasure ,IfcLinearMomentMeasure ,IfcLuminousIntensityDistributionMeasure ,IfcCurvatureMeasure ,IfcMassPerLengthMeasure ,IfcModulusOfLinearSubgradeReactionMeasure ,IfcModulusOfRotationalSubgradeReactionMeasure ,IfcRotationalMassMeasure ,IfcSectionalAreaIntegralMeasure ,IfcSectionModulusMeasure ,IfcTemperatureGradientMeasure ,IfcThermalExpansionCoefficientMeasure ,IfcWarpingConstantMeasure ,IfcWarpingMomentMeasure ,IfcSoundPowerMeasure ,IfcSoundPressureMeasure ,IfcHeatingValueMeasure ,IfcPHMeasure ,IfcIonConcentrationMeasure); END_TYPE; TYPE IfcDocumentSelect = SELECT (IfcDocumentReference ,IfcDocumentInformation); END_TYPE; TYPE IfcDraughtingCalloutElement = SELECT (IfcAnnotationCurveOccurrence ,IfcAnnotationTextOccurrence ,IfcAnnotationSymbolOccurrence); END_TYPE; TYPE IfcFillAreaStyleTileShapeSelect = SELECT (IfcFillAreaStyleTileSymbolWithStyle); END_TYPE; TYPE IfcFillStyleSelect = SELECT (IfcFillAreaStyleHatching ,IfcFillAreaStyleTiles ,IfcColour ,IfcExternallyDefinedHatchStyle); END_TYPE; TYPE IfcGeometricSetSelect = SELECT (IfcPoint ,IfcCurve ,IfcSurface); END_TYPE; TYPE IfcHatchLineDistanceSelect = SELECT (IfcOneDirectionRepeatFactor ,IfcPositiveLengthMeasure); END_TYPE; TYPE IfcLayeredItem = SELECT (IfcRepresentationItem ,IfcRepresentation); END_TYPE; TYPE IfcLibrarySelect = SELECT (IfcLibraryReference ,IfcLibraryInformation); END_TYPE; TYPE IfcLightDistributionDataSourceSelect = SELECT (IfcExternalReference ,IfcLightIntensityDistribution); END_TYPE; TYPE IfcMaterialSelect = SELECT (IfcMaterial ,IfcMaterialList ,IfcMaterialLayerSetUsage ,IfcMaterialLayerSet ,IfcMaterialLayer); END_TYPE; TYPE IfcMeasureValue = SELECT (IfcVolumeMeasure ,IfcTimeMeasure ,IfcThermodynamicTemperatureMeasure ,IfcSolidAngleMeasure ,IfcPositiveRatioMeasure ,IfcRatioMeasure ,IfcPositivePlaneAngleMeasure ,IfcPlaneAngleMeasure ,IfcParameterValue ,IfcNumericMeasure ,IfcMassMeasure ,IfcPositiveLengthMeasure ,IfcLengthMeasure ,IfcElectricCurrentMeasure ,IfcDescriptiveMeasure ,IfcCountMeasure ,IfcContextDependentMeasure ,IfcAreaMeasure ,IfcAmountOfSubstanceMeasure ,IfcLuminousIntensityMeasure ,IfcNormalisedRatioMeasure ,IfcComplexNumber); END_TYPE; TYPE IfcMetricValueSelect = SELECT (IfcDateTimeSelect ,IfcMeasureWithUnit ,IfcTable ,IfcText ,IfcTimeSeries ,IfcCostValue); END_TYPE; TYPE IfcObjectReferenceSelect = SELECT (IfcMaterial ,IfcPerson ,IfcDateAndTime ,IfcMaterialList ,IfcOrganization ,IfcCalendarDate ,IfcLocalTime ,IfcPersonAndOrganization ,IfcMaterialLayer ,IfcExternalReference ,IfcTimeSeries ,IfcAddress ,IfcAppliedValue); END_TYPE; TYPE IfcOrientationSelect = SELECT (IfcPlaneAngleMeasure ,IfcDirection); END_TYPE; TYPE IfcPointOrVertexPoint = SELECT (IfcPoint ,IfcVertexPoint); END_TYPE; TYPE IfcPresentationStyleSelect = SELECT (IfcNullStyle ,IfcCurveStyle ,IfcSymbolStyle ,IfcFillAreaStyle ,IfcTextStyle ,IfcSurfaceStyle); END_TYPE; TYPE IfcShell = SELECT (IfcClosedShell ,IfcOpenShell); END_TYPE; TYPE IfcSimpleValue = SELECT (IfcInteger ,IfcReal ,IfcBoolean ,IfcIdentifier ,IfcText ,IfcLabel ,IfcLogical); END_TYPE; TYPE IfcSizeSelect = SELECT (IfcRatioMeasure ,IfcLengthMeasure ,IfcDescriptiveMeasure ,IfcPositiveLengthMeasure ,IfcNormalisedRatioMeasure ,IfcPositiveRatioMeasure); END_TYPE; TYPE IfcSpecularHighlightSelect = SELECT (IfcSpecularExponent ,IfcSpecularRoughness); END_TYPE; TYPE IfcStructuralActivityAssignmentSelect = SELECT (IfcStructuralItem ,IfcElement); END_TYPE; TYPE IfcSurfaceOrFaceSurface = SELECT (IfcSurface ,IfcFaceSurface ,IfcFaceBasedSurfaceModel); END_TYPE; TYPE IfcSurfaceStyleElementSelect = SELECT (IfcSurfaceStyleShading ,IfcSurfaceStyleLighting ,IfcSurfaceStyleWithTextures ,IfcExternallyDefinedSurfaceStyle ,IfcSurfaceStyleRefraction); END_TYPE; TYPE IfcSymbolStyleSelect = SELECT (IfcColour); END_TYPE; TYPE IfcTextFontSelect = SELECT (IfcPreDefinedTextFont ,IfcExternallyDefinedTextFont); END_TYPE; TYPE IfcTextStyleSelect = SELECT (IfcTextStyleWithBoxCharacteristics ,IfcTextStyleTextModel); END_TYPE; TYPE IfcTrimmingSelect = SELECT (IfcCartesianPoint ,IfcParameterValue); END_TYPE; TYPE IfcUnit = SELECT (IfcDerivedUnit ,IfcNamedUnit ,IfcMonetaryUnit); END_TYPE; TYPE IfcValue = SELECT (IfcMeasureValue ,IfcSimpleValue ,IfcDerivedMeasureValue); END_TYPE; TYPE IfcVectorOrDirection = SELECT (IfcDirection ,IfcVector); END_TYPE; ENTITY Ifc2DCompositeCurve SUBTYPE OF (IfcCompositeCurve); WHERE WR1 : SELF\IfcCompositeCurve.ClosedCurve; WR2 : SELF\IfcCurve.Dim = 2; END_ENTITY; ENTITY IfcActionRequest SUBTYPE OF (IfcControl); RequestID : IfcIdentifier; UNIQUE UR2 : RequestID; END_ENTITY; ENTITY IfcActor SUPERTYPE OF (ONEOF (IfcOccupant)) SUBTYPE OF (IfcObject); TheActor : IfcActorSelect; INVERSE IsActingUpon : SET [0:?] OF IfcRelAssignsToActor FOR RelatingActor; END_ENTITY; ENTITY IfcActorRole; Role : IfcRoleEnum; UserDefinedRole : OPTIONAL IfcLabel; Description : OPTIONAL IfcText; WHERE WR1 : (Role <> IfcRoleEnum.USERDEFINED) OR ((Role = IfcRoleEnum.USERDEFINED) AND EXISTS(SELF.UserDefinedRole)); END_ENTITY; ENTITY IfcActuatorType SUBTYPE OF (IfcDistributionControlElementType); PredefinedType : IfcActuatorTypeEnum; END_ENTITY; ENTITY IfcAddress ABSTRACT SUPERTYPE OF (ONEOF (IfcPostalAddress ,IfcTelecomAddress)); Purpose : OPTIONAL IfcAddressTypeEnum; Description : OPTIONAL IfcText; UserDefinedPurpose : OPTIONAL IfcLabel; INVERSE OfPerson : SET [0:?] OF IfcPerson FOR Addresses; OfOrganization : SET [0:?] OF IfcOrganization FOR Addresses; WHERE WR1 : (NOT(EXISTS(Purpose))) OR ((Purpose <> IfcAddressTypeEnum.USERDEFINED) OR ((Purpose = IfcAddressTypeEnum.USERDEFINED) AND EXISTS(SELF.UserDefinedPurpose))); END_ENTITY; ENTITY IfcAirTerminalBoxType SUBTYPE OF (IfcFlowControllerType); PredefinedType : IfcAirTerminalBoxTypeEnum; WHERE WR1 : (PredefinedType <> IfcAirTerminalBoxTypeEnum.USERDEFINED) OR ((PredefinedType = IfcAirTerminalBoxTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcAirTerminalType SUBTYPE OF (IfcFlowTerminalType); PredefinedType : IfcAirTerminalTypeEnum; WHERE WR1 : (PredefinedType <> IfcAirTerminalTypeEnum.USERDEFINED) OR ((PredefinedType = IfcAirTerminalTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcAirToAirHeatRecoveryType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcAirToAirHeatRecoveryTypeEnum; WHERE WR1 : (PredefinedType <> IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) OR ((PredefinedType = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcAlarmType SUBTYPE OF (IfcDistributionControlElementType); PredefinedType : IfcAlarmTypeEnum; END_ENTITY; ENTITY IfcAngularDimension SUBTYPE OF (IfcDimensionCurveDirectedCallout); END_ENTITY; ENTITY IfcAnnotation SUBTYPE OF (IfcProduct); INVERSE ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements; END_ENTITY; ENTITY IfcAnnotationCurveOccurrence SUPERTYPE OF (ONEOF (IfcDimensionCurve ,IfcProjectionCurve)) SUBTYPE OF (IfcAnnotationOccurrence); WHERE WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR ('IFC2X3.IFCCURVE' IN TYPEOF (SELF\IfcStyledItem.Item)); END_ENTITY; ENTITY IfcAnnotationFillArea SUBTYPE OF (IfcGeometricRepresentationItem); OuterBoundary : IfcCurve; InnerBoundaries : OPTIONAL SET [1:?] OF IfcCurve; END_ENTITY; ENTITY IfcAnnotationFillAreaOccurrence SUBTYPE OF (IfcAnnotationOccurrence); FillStyleTarget : OPTIONAL IfcPoint; GlobalOrLocal : OPTIONAL IfcGlobalOrLocalEnum; WHERE WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR ('IFC2X3.IFCANNOTATIONFILLAREA' IN TYPEOF (SELF\IfcStyledItem.Item)); END_ENTITY; ENTITY IfcAnnotationOccurrence ABSTRACT SUPERTYPE OF (ONEOF (IfcAnnotationCurveOccurrence ,IfcAnnotationFillAreaOccurrence ,IfcAnnotationSurfaceOccurrence ,IfcAnnotationSymbolOccurrence ,IfcAnnotationTextOccurrence)) SUBTYPE OF (IfcStyledItem); END_ENTITY; ENTITY IfcAnnotationSurface SUBTYPE OF (IfcGeometricRepresentationItem); Item : IfcGeometricRepresentationItem; TextureCoordinates : OPTIONAL IfcTextureCoordinate; WHERE WR01 : SIZEOF([ 'IFC2X3.IFCSURFACE', 'IFC2X3.IFCSHELLBASEDSURFACEMODEL', 'IFC2X3.IFCFACEBASEDSURFACEMODEL', 'IFC2X3.IFCSOLIDMODEL', 'IFC2X3.IFCBOOLEANRESULT', 'IFC2X3.IFCCSGPRIMITIVE3D'] * TYPEOF(Item) ) >= 1; END_ENTITY; ENTITY IfcAnnotationSurfaceOccurrence SUBTYPE OF (IfcAnnotationOccurrence); WHERE WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR (SIZEOF( ['IFC2X3.IFCSURFACE', 'IFC2X3.IFCFACEBASEDSURFACEMODEL', 'IFC2X3.IFCSHELLBASEDSURFACEMODEL', 'IFC2X3.IFCSOLIDMODEL'] * TYPEOF(SELF\IfcStyledItem.Item)) > 0); END_ENTITY; ENTITY IfcAnnotationSymbolOccurrence SUPERTYPE OF (ONEOF (IfcTerminatorSymbol)) SUBTYPE OF (IfcAnnotationOccurrence); WHERE WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR ('IFC2X3.IFCDEFINEDSYMBOL' IN TYPEOF (SELF\IfcStyledItem.Item)); END_ENTITY; ENTITY IfcAnnotationTextOccurrence SUBTYPE OF (IfcAnnotationOccurrence); WHERE WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR ('IFC2X3.IFCTEXTLITERAL' IN TYPEOF (SELF\IfcStyledItem.Item)); END_ENTITY; ENTITY IfcApplication; ApplicationDeveloper : IfcOrganization; Version : IfcLabel; ApplicationFullName : IfcLabel; ApplicationIdentifier : IfcIdentifier; UNIQUE UR1 : ApplicationIdentifier; UR2 : ApplicationFullName, Version; END_ENTITY; ENTITY IfcAppliedValue ABSTRACT SUPERTYPE OF (ONEOF (IfcCostValue ,IfcEnvironmentalImpactValue)); Name : OPTIONAL IfcLabel; Description : OPTIONAL IfcText; AppliedValue : OPTIONAL IfcAppliedValueSelect; UnitBasis : OPTIONAL IfcMeasureWithUnit; ApplicableDate : OPTIONAL IfcDateTimeSelect; FixedUntilDate : OPTIONAL IfcDateTimeSelect; INVERSE ValuesReferenced : SET [0:?] OF IfcReferencesValueDocument FOR ReferencingValues; ValueOfComponents : SET [0:?] OF IfcAppliedValueRelationship FOR ComponentOfTotal; IsComponentIn : SET [0:?] OF IfcAppliedValueRelationship FOR Components; WHERE WR1 : EXISTS (AppliedValue) OR EXISTS (ValueOfComponents); END_ENTITY; ENTITY IfcAppliedValueRelationship; ComponentOfTotal : IfcAppliedValue; Components : SET [1:?] OF IfcAppliedValue; ArithmeticOperator : IfcArithmeticOperatorEnum; Name : OPTIONAL IfcLabel; Description : OPTIONAL IfcText; END_ENTITY; ENTITY IfcApproval; Description : OPTIONAL IfcText; ApprovalDateTime : IfcDateTimeSelect; ApprovalStatus : OPTIONAL IfcLabel; ApprovalLevel : OPTIONAL IfcLabel; ApprovalQualifier : OPTIONAL IfcText; Name : IfcLabel; Identifier : IfcIdentifier; INVERSE Actors : SET [0:?] OF IfcApprovalActorRelationship FOR Approval; IsRelatedWith : SET [0:?] OF IfcApprovalRelationship FOR RelatedApproval; Relates : SET [0:?] OF IfcApprovalRelationship FOR RelatingApproval; END_ENTITY; ENTITY IfcApprovalActorRelationship; Actor : IfcActorSelect; Approval : IfcApproval; Role : IfcActorRole; END_ENTITY; ENTITY IfcApprovalPropertyRelationship; ApprovedProperties : SET [1:?] OF IfcProperty; Approval : IfcApproval; END_ENTITY; ENTITY IfcApprovalRelationship; RelatedApproval : IfcApproval; RelatingApproval : IfcApproval; Description : OPTIONAL IfcText; Name : IfcLabel; END_ENTITY; ENTITY IfcArbitraryClosedProfileDef SUPERTYPE OF (ONEOF (IfcArbitraryProfileDefWithVoids)) SUBTYPE OF (IfcProfileDef); OuterCurve : IfcCurve; WHERE WR1 : OuterCurve.Dim = 2; WR2 : NOT('IFC2X3.IFCLINE' IN TYPEOF(OuterCurve)); WR3 : NOT('IFC2X3.IFCOFFSETCURVE2D' IN TYPEOF(OuterCurve)); END_ENTITY; ENTITY IfcArbitraryOpenProfileDef SUPERTYPE OF (ONEOF (IfcCenterLineProfileDef)) SUBTYPE OF (IfcProfileDef); Curve : IfcBoundedCurve; WHERE WR11 : ('IFC2X3.IFCCENTERLINEPROFILEDEF' IN TYPEOF(SELF)) OR (SELF\IfcProfileDef.ProfileType = IfcProfileTypeEnum.CURVE); WR12 : Curve.Dim = 2; END_ENTITY; ENTITY IfcArbitraryProfileDefWithVoids SUBTYPE OF (IfcArbitraryClosedProfileDef); InnerCurves : SET [1:?] OF IfcCurve; WHERE WR1 : SELF\IfcProfileDef.ProfileType = AREA; WR2 : SIZEOF(QUERY(temp <* InnerCurves | temp.Dim <> 2)) = 0; WR3 : SIZEOF(QUERY(temp <* InnerCurves | 'IFC2X3.IFCLINE' IN TYPEOF(temp))) = 0; END_ENTITY; ENTITY IfcAsset SUBTYPE OF (IfcGroup); AssetID : IfcIdentifier; OriginalValue : IfcCostValue; CurrentValue : IfcCostValue; TotalReplacementCost : IfcCostValue; Owner : IfcActorSelect; User : IfcActorSelect; ResponsiblePerson : IfcPerson; IncorporationDate : IfcCalendarDate; DepreciatedValue : IfcCostValue; WHERE WR1 : SIZEOF(QUERY(Temp <* SELF\IfcGroup.IsGroupedBy.RelatedObjects | NOT('IFC2X3.IFCELEMENT' IN TYPEOF(Temp)))) = 0; END_ENTITY; ENTITY IfcAsymmetricIShapeProfileDef SUBTYPE OF (IfcIShapeProfileDef); TopFlangeWidth : IfcPositiveLengthMeasure; TopFlangeThickness : OPTIONAL IfcPositiveLengthMeasure; TopFlangeFilletRadius : OPTIONAL IfcPositiveLengthMeasure; CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcAxis1Placement SUBTYPE OF (IfcPlacement); Axis : OPTIONAL IfcDirection; DERIVE Z : IfcDirection := NVL (IfcNormalise(Axis), IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,0.0,1.0])); WHERE WR1 : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3); WR2 : SELF\IfcPlacement.Location.Dim = 3; END_ENTITY; ENTITY IfcAxis2Placement2D SUBTYPE OF (IfcPlacement); RefDirection : OPTIONAL IfcDirection; DERIVE P : LIST [2:2] OF IfcDirection := IfcBuild2Axes(RefDirection); WHERE WR1 : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 2); WR2 : SELF\IfcPlacement.Location.Dim = 2; END_ENTITY; ENTITY IfcAxis2Placement3D SUBTYPE OF (IfcPlacement); Axis : OPTIONAL IfcDirection; RefDirection : OPTIONAL IfcDirection; DERIVE P : LIST [3:3] OF IfcDirection := IfcBuildAxes(Axis, RefDirection); WHERE WR1 : SELF\IfcPlacement.Location.Dim = 3; WR2 : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3); WR3 : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 3); WR4 : (NOT (EXISTS (Axis))) OR (NOT (EXISTS (RefDirection))) OR (IfcCrossProduct(Axis,RefDirection).Magnitude > 0.0); WR5 : NOT ((EXISTS (Axis)) XOR (EXISTS (RefDirection))); END_ENTITY; ENTITY IfcBSplineCurve ABSTRACT SUPERTYPE OF (ONEOF (IfcBezierCurve)) SUBTYPE OF (IfcBoundedCurve); Degree : INTEGER; ControlPointsList : LIST [2:?] OF IfcCartesianPoint; CurveForm : IfcBSplineCurveForm; ClosedCurve : LOGICAL; SelfIntersect : LOGICAL; DERIVE ControlPoints : ARRAY [0:255] OF IfcCartesianPoint := IfcListToArray(ControlPointsList,0,UpperIndexOnControlPoints); UpperIndexOnControlPoints : INTEGER := (SIZEOF(ControlPointsList) - 1); WHERE WR41 : SIZEOF(QUERY(Temp <* ControlPointsList | Temp.Dim <> ControlPointsList[1].Dim)) = 0; END_ENTITY; ENTITY IfcBeam SUBTYPE OF (IfcBuildingElement); END_ENTITY; ENTITY IfcBeamType SUBTYPE OF (IfcBuildingElementType); PredefinedType : IfcBeamTypeEnum; END_ENTITY; ENTITY IfcBezierCurve SUPERTYPE OF (ONEOF (IfcRationalBezierCurve)) SUBTYPE OF (IfcBSplineCurve); END_ENTITY; ENTITY IfcBlobTexture SUBTYPE OF (IfcSurfaceTexture); RasterFormat : IfcIdentifier; RasterCode : BOOLEAN; WHERE WR11 : SELF.RasterFormat IN ['BMP', 'JPG', 'GIF', 'PNG']; END_ENTITY; ENTITY IfcBlock SUBTYPE OF (IfcCsgPrimitive3D); XLength : IfcPositiveLengthMeasure; YLength : IfcPositiveLengthMeasure; ZLength : IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcBoilerType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcBoilerTypeEnum; WHERE WR1 : (PredefinedType <> IfcBoilerTypeEnum.USERDEFINED) OR ((PredefinedType = IfcBoilerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcBooleanClippingResult SUBTYPE OF (IfcBooleanResult); WHERE WR1 : ('IFC2X3.IFCSWEPTAREASOLID' IN TYPEOF(FirstOperand)) OR ('IFC2X3.IFCBOOLEANCLIPPINGRESULT' IN TYPEOF(FirstOperand)); WR2 : ('IFC2X3.IFCHALFSPACESOLID' IN TYPEOF(SecondOperand)); WR3 : Operator = DIFFERENCE; END_ENTITY; ENTITY IfcBooleanResult SUPERTYPE OF (ONEOF (IfcBooleanClippingResult)) SUBTYPE OF (IfcGeometricRepresentationItem); Operator : IfcBooleanOperator; FirstOperand : IfcBooleanOperand; SecondOperand : IfcBooleanOperand; DERIVE Dim : IfcDimensionCount := FirstOperand.Dim; WHERE WR1 : FirstOperand.Dim = SecondOperand.Dim; END_ENTITY; ENTITY IfcBoundaryCondition ABSTRACT SUPERTYPE OF (ONEOF (IfcBoundaryEdgeCondition ,IfcBoundaryFaceCondition ,IfcBoundaryNodeCondition)); Name : OPTIONAL IfcLabel; END_ENTITY; ENTITY IfcBoundaryEdgeCondition SUBTYPE OF (IfcBoundaryCondition); LinearStiffnessByLengthX : OPTIONAL IfcModulusOfLinearSubgradeReactionMeasure; LinearStiffnessByLengthY : OPTIONAL IfcModulusOfLinearSubgradeReactionMeasure; LinearStiffnessByLengthZ : OPTIONAL IfcModulusOfLinearSubgradeReactionMeasure; RotationalStiffnessByLengthX : OPTIONAL IfcModulusOfRotationalSubgradeReactionMeasure; RotationalStiffnessByLengthY : OPTIONAL IfcModulusOfRotationalSubgradeReactionMeasure; RotationalStiffnessByLengthZ : OPTIONAL IfcModulusOfRotationalSubgradeReactionMeasure; END_ENTITY; ENTITY IfcBoundaryFaceCondition SUBTYPE OF (IfcBoundaryCondition); LinearStiffnessByAreaX : OPTIONAL IfcModulusOfSubgradeReactionMeasure; LinearStiffnessByAreaY : OPTIONAL IfcModulusOfSubgradeReactionMeasure; LinearStiffnessByAreaZ : OPTIONAL IfcModulusOfSubgradeReactionMeasure; END_ENTITY; ENTITY IfcBoundaryNodeCondition SUPERTYPE OF (ONEOF (IfcBoundaryNodeConditionWarping)) SUBTYPE OF (IfcBoundaryCondition); LinearStiffnessX : OPTIONAL IfcLinearStiffnessMeasure; LinearStiffnessY : OPTIONAL IfcLinearStiffnessMeasure; LinearStiffnessZ : OPTIONAL IfcLinearStiffnessMeasure; RotationalStiffnessX : OPTIONAL IfcRotationalStiffnessMeasure; RotationalStiffnessY : OPTIONAL IfcRotationalStiffnessMeasure; RotationalStiffnessZ : OPTIONAL IfcRotationalStiffnessMeasure; END_ENTITY; ENTITY IfcBoundaryNodeConditionWarping SUBTYPE OF (IfcBoundaryNodeCondition); WarpingStiffness : OPTIONAL IfcWarpingMomentMeasure; END_ENTITY; ENTITY IfcBoundedCurve ABSTRACT SUPERTYPE OF (ONEOF (IfcBSplineCurve ,IfcCompositeCurve ,IfcPolyline ,IfcTrimmedCurve)) SUBTYPE OF (IfcCurve); END_ENTITY; ENTITY IfcBoundedSurface SUPERTYPE OF (ONEOF (IfcCurveBoundedPlane ,IfcRectangularTrimmedSurface)) SUBTYPE OF (IfcSurface); END_ENTITY; ENTITY IfcBoundingBox SUBTYPE OF (IfcGeometricRepresentationItem); Corner : IfcCartesianPoint; XDim : IfcPositiveLengthMeasure; YDim : IfcPositiveLengthMeasure; ZDim : IfcPositiveLengthMeasure; DERIVE Dim : IfcDimensionCount := 3; END_ENTITY; ENTITY IfcBoxedHalfSpace SUBTYPE OF (IfcHalfSpaceSolid); Enclosure : IfcBoundingBox; WHERE WR1 : NOT ('IFC2X3.IFCCURVEBOUNDEDPLANE' IN TYPEOF(SELF\IfcHalfSpaceSolid.BaseSurface)); END_ENTITY; ENTITY IfcBuilding SUBTYPE OF (IfcSpatialStructureElement); ElevationOfRefHeight : OPTIONAL IfcLengthMeasure; ElevationOfTerrain : OPTIONAL IfcLengthMeasure; BuildingAddress : OPTIONAL IfcPostalAddress; END_ENTITY; ENTITY IfcBuildingElement ABSTRACT SUPERTYPE OF (ONEOF (IfcBeam ,IfcBuildingElementComponent ,IfcBuildingElementProxy ,IfcColumn ,IfcCovering ,IfcCurtainWall ,IfcDoor ,IfcFooting ,IfcMember ,IfcPile ,IfcPlate ,IfcRailing ,IfcRamp ,IfcRampFlight ,IfcRoof ,IfcSlab ,IfcStair ,IfcStairFlight ,IfcWall ,IfcWindow)) SUBTYPE OF (IfcElement); END_ENTITY; ENTITY IfcBuildingElementComponent ABSTRACT SUPERTYPE OF (ONEOF (IfcBuildingElementPart ,IfcReinforcingElement)) SUBTYPE OF (IfcBuildingElement); END_ENTITY; ENTITY IfcBuildingElementPart SUBTYPE OF (IfcBuildingElementComponent); END_ENTITY; ENTITY IfcBuildingElementProxy SUBTYPE OF (IfcBuildingElement); CompositionType : OPTIONAL IfcElementCompositionEnum; WHERE WR1 : EXISTS(SELF\IfcRoot.Name); END_ENTITY; ENTITY IfcBuildingElementProxyType SUBTYPE OF (IfcBuildingElementType); PredefinedType : IfcBuildingElementProxyTypeEnum; END_ENTITY; ENTITY IfcBuildingElementType ABSTRACT SUPERTYPE OF (ONEOF (IfcBeamType ,IfcBuildingElementProxyType ,IfcColumnType ,IfcCoveringType ,IfcCurtainWallType ,IfcMemberType ,IfcPlateType ,IfcRailingType ,IfcRampFlightType ,IfcSlabType ,IfcStairFlightType ,IfcWallType)) SUBTYPE OF (IfcElementType); END_ENTITY; ENTITY IfcBuildingStorey SUBTYPE OF (IfcSpatialStructureElement); Elevation : OPTIONAL IfcLengthMeasure; END_ENTITY; ENTITY IfcCShapeProfileDef SUBTYPE OF (IfcParameterizedProfileDef); Depth : IfcPositiveLengthMeasure; Width : IfcPositiveLengthMeasure; WallThickness : IfcPositiveLengthMeasure; Girth : IfcPositiveLengthMeasure; InternalFilletRadius : OPTIONAL IfcPositiveLengthMeasure; CentreOfGravityInX : OPTIONAL IfcPositiveLengthMeasure; WHERE WR1 : Girth < (Depth / 2.); WR2 : NOT(EXISTS(InternalFilletRadius)) OR ((InternalFilletRadius <= Width/2.) AND (InternalFilletRadius <= Depth/2.)); WR3 : (WallThickness < Width/2.) AND (WallThickness < Depth/2.); END_ENTITY; ENTITY IfcCableCarrierFittingType SUBTYPE OF (IfcFlowFittingType); PredefinedType : IfcCableCarrierFittingTypeEnum; WHERE WR1 : (PredefinedType <> IfcCableCarrierFittingTypeEnum.USERDEFINED) OR ((PredefinedType = IfcCableCarrierFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcCableCarrierSegmentType SUBTYPE OF (IfcFlowSegmentType); PredefinedType : IfcCableCarrierSegmentTypeEnum; END_ENTITY; ENTITY IfcCableSegmentType SUBTYPE OF (IfcFlowSegmentType); PredefinedType : IfcCableSegmentTypeEnum; END_ENTITY; ENTITY IfcCalendarDate; DayComponent : IfcDayInMonthNumber; MonthComponent : IfcMonthInYearNumber; YearComponent : IfcYearNumber; WHERE WR21 : IfcValidCalendarDate (SELF); END_ENTITY; ENTITY IfcCartesianPoint SUBTYPE OF (IfcPoint); Coordinates : LIST [1:3] OF IfcLengthMeasure; DERIVE Dim : IfcDimensionCount := HIINDEX(Coordinates); WHERE WR1 : HIINDEX(Coordinates) >= 2; END_ENTITY; ENTITY IfcCartesianTransformationOperator ABSTRACT SUPERTYPE OF (ONEOF (IfcCartesianTransformationOperator2D ,IfcCartesianTransformationOperator3D)) SUBTYPE OF (IfcGeometricRepresentationItem); Axis1 : OPTIONAL IfcDirection; Axis2 : OPTIONAL IfcDirection; LocalOrigin : IfcCartesianPoint; Scale : OPTIONAL REAL; DERIVE Scl : REAL := NVL(Scale, 1.0); Dim : IfcDimensionCount := LocalOrigin.Dim; WHERE WR1 : Scl > 0.0; END_ENTITY; ENTITY IfcCartesianTransformationOperator2D SUPERTYPE OF (ONEOF (IfcCartesianTransformationOperator2DnonUniform)) SUBTYPE OF (IfcCartesianTransformationOperator); DERIVE U : LIST [2:2] OF IfcDirection := IfcBaseAxis(2,SELF\IfcCartesianTransformationOperator.Axis1, SELF\IfcCartesianTransformationOperator.Axis2,?); WHERE WR1 : SELF\IfcCartesianTransformationOperator.Dim = 2; WR2 : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR (SELF\IfcCartesianTransformationOperator.Axis1.Dim = 2); WR3 : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR (SELF\IfcCartesianTransformationOperator.Axis2.Dim = 2); END_ENTITY; ENTITY IfcCartesianTransformationOperator2DnonUniform SUBTYPE OF (IfcCartesianTransformationOperator2D); Scale2 : OPTIONAL REAL; DERIVE Scl2 : REAL := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl); WHERE WR1 : Scl2 > 0.0; END_ENTITY; ENTITY IfcCartesianTransformationOperator3D SUPERTYPE OF (ONEOF (IfcCartesianTransformationOperator3DnonUniform)) SUBTYPE OF (IfcCartesianTransformationOperator); Axis3 : OPTIONAL IfcDirection; DERIVE U : LIST [3:3] OF IfcDirection := IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1, SELF\IfcCartesianTransformationOperator.Axis2,Axis3); WHERE WR1 : SELF\IfcCartesianTransformationOperator.Dim = 3; WR2 : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR (SELF\IfcCartesianTransformationOperator.Axis1.Dim = 3); WR3 : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR (SELF\IfcCartesianTransformationOperator.Axis2.Dim = 3); WR4 : NOT(EXISTS(Axis3)) OR (Axis3.Dim = 3); END_ENTITY; ENTITY IfcCartesianTransformationOperator3DnonUniform SUBTYPE OF (IfcCartesianTransformationOperator3D); Scale2 : OPTIONAL REAL; Scale3 : OPTIONAL REAL; DERIVE Scl2 : REAL := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl); Scl3 : REAL := NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl); WHERE WR1 : Scl2 > 0.0; WR2 : Scl3 > 0.0; END_ENTITY; ENTITY IfcCenterLineProfileDef SUBTYPE OF (IfcArbitraryOpenProfileDef); Thickness : IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcChamferEdgeFeature SUBTYPE OF (IfcEdgeFeature); Width : OPTIONAL IfcPositiveLengthMeasure; Height : OPTIONAL IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcChillerType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcChillerTypeEnum; WHERE WR1 : (PredefinedType <> IfcChillerTypeEnum.USERDEFINED) OR ((PredefinedType = IfcChillerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcCircle SUBTYPE OF (IfcConic); Radius : IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcCircleHollowProfileDef SUBTYPE OF (IfcCircleProfileDef); WallThickness : IfcPositiveLengthMeasure; WHERE WR1 : WallThickness < SELF\IfcCircleProfileDef.Radius; END_ENTITY; ENTITY IfcCircleProfileDef SUPERTYPE OF (ONEOF (IfcCircleHollowProfileDef)) SUBTYPE OF (IfcParameterizedProfileDef); Radius : IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcClassification; Source : IfcLabel; Edition : IfcLabel; EditionDate : OPTIONAL IfcCalendarDate; Name : IfcLabel; INVERSE Contains : SET [0:?] OF IfcClassificationItem FOR ItemOf; END_ENTITY; ENTITY IfcClassificationItem; Notation : IfcClassificationNotationFacet; ItemOf : OPTIONAL IfcClassification; Title : IfcLabel; INVERSE IsClassifiedItemIn : SET [0:1] OF IfcClassificationItemRelationship FOR RelatedItems; IsClassifyingItemIn : SET [0:1] OF IfcClassificationItemRelationship FOR RelatingItem; END_ENTITY; ENTITY IfcClassificationItemRelationship; RelatingItem : IfcClassificationItem; RelatedItems : SET [1:?] OF IfcClassificationItem; END_ENTITY; ENTITY IfcClassificationNotation; NotationFacets : SET [1:?] OF IfcClassificationNotationFacet; END_ENTITY; ENTITY IfcClassificationNotationFacet; NotationValue : IfcLabel; END_ENTITY; ENTITY IfcClassificationReference SUBTYPE OF (IfcExternalReference); ReferencedSource : OPTIONAL IfcClassification; END_ENTITY; ENTITY IfcClosedShell SUBTYPE OF (IfcConnectedFaceSet); END_ENTITY; ENTITY IfcCoilType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcCoilTypeEnum; WHERE WR1 : (PredefinedType <> IfcCoilTypeEnum.USERDEFINED) OR ((PredefinedType = IfcCoilTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcColourRgb SUBTYPE OF (IfcColourSpecification); Red : IfcNormalisedRatioMeasure; Green : IfcNormalisedRatioMeasure; Blue : IfcNormalisedRatioMeasure; END_ENTITY; ENTITY IfcColourSpecification ABSTRACT SUPERTYPE OF (ONEOF (IfcColourRgb)); Name : OPTIONAL IfcLabel; END_ENTITY; ENTITY IfcColumn SUBTYPE OF (IfcBuildingElement); END_ENTITY; ENTITY IfcColumnType SUBTYPE OF (IfcBuildingElementType); PredefinedType : IfcColumnTypeEnum; END_ENTITY; ENTITY IfcComplexProperty SUBTYPE OF (IfcProperty); UsageName : IfcIdentifier; HasProperties : SET [1:?] OF IfcProperty; WHERE WR21 : SIZEOF(QUERY(temp <* HasProperties | SELF :=: temp)) = 0; WR22 : IfcUniquePropertyName(HasProperties); END_ENTITY; ENTITY IfcCompositeCurve SUPERTYPE OF (ONEOF (Ifc2DCompositeCurve)) SUBTYPE OF (IfcBoundedCurve); Segments : LIST [1:?] OF IfcCompositeCurveSegment; SelfIntersect : LOGICAL; DERIVE NSegments : INTEGER := SIZEOF(Segments); ClosedCurve : LOGICAL := Segments[NSegments].Transition <> Discontinuous; WHERE WR41 : ((NOT ClosedCurve) AND (SIZEOF(QUERY(Temp <* Segments | Temp.Transition = Discontinuous)) = 1)) OR ((ClosedCurve) AND (SIZEOF(QUERY(Temp <* Segments | Temp.Transition = Discontinuous)) = 0)); WR42 : SIZEOF( QUERY( Temp <* Segments | Temp.Dim <> Segments[1].Dim)) = 0; END_ENTITY; ENTITY IfcCompositeCurveSegment SUBTYPE OF (IfcGeometricRepresentationItem); Transition : IfcTransitionCode; SameSense : BOOLEAN; ParentCurve : IfcCurve; DERIVE Dim : IfcDimensionCount := ParentCurve.Dim; INVERSE UsingCurves : SET [1:?] OF IfcCompositeCurve FOR Segments; WHERE WR1 : ('IFC2X3.IFCBOUNDEDCURVE' IN TYPEOF(ParentCurve)); END_ENTITY; ENTITY IfcCompositeProfileDef SUBTYPE OF (IfcProfileDef); Profiles : SET [2:?] OF IfcProfileDef; Label : OPTIONAL IfcLabel; WHERE WR1 : SIZEOF(QUERY(temp <* Profiles | temp.ProfileType <> Profiles[1].ProfileType)) = 0; WR2 : SIZEOF(QUERY(temp <* Profiles | 'IFC2X3.IFCCOMPOSITEPROFILEDEF' IN TYPEOF(temp))) = 0; END_ENTITY; ENTITY IfcCompressorType SUBTYPE OF (IfcFlowMovingDeviceType); PredefinedType : IfcCompressorTypeEnum; WHERE WR1 : (PredefinedType <> IfcCompressorTypeEnum.USERDEFINED) OR ((PredefinedType = IfcCompressorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcCondenserType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcCondenserTypeEnum; WHERE WR1 : (PredefinedType <> IfcCondenserTypeEnum.USERDEFINED) OR ((PredefinedType = IfcCondenserTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcCondition SUBTYPE OF (IfcGroup); END_ENTITY; ENTITY IfcConditionCriterion SUBTYPE OF (IfcControl); Criterion : IfcConditionCriterionSelect; CriterionDateTime : IfcDateTimeSelect; WHERE WR1 : EXISTS(SELF\IfcRoot.Name); END_ENTITY; ENTITY IfcConic ABSTRACT SUPERTYPE OF (ONEOF (IfcCircle ,IfcEllipse)) SUBTYPE OF (IfcCurve); Position : IfcAxis2Placement; END_ENTITY; ENTITY IfcConnectedFaceSet SUPERTYPE OF (ONEOF (IfcClosedShell ,IfcOpenShell)) SUBTYPE OF (IfcTopologicalRepresentationItem); CfsFaces : SET [1:?] OF IfcFace; END_ENTITY; ENTITY IfcConnectionCurveGeometry SUBTYPE OF (IfcConnectionGeometry); CurveOnRelatingElement : IfcCurveOrEdgeCurve; CurveOnRelatedElement : OPTIONAL IfcCurveOrEdgeCurve; END_ENTITY; ENTITY IfcConnectionGeometry ABSTRACT SUPERTYPE OF (ONEOF (IfcConnectionCurveGeometry ,IfcConnectionPointGeometry ,IfcConnectionPortGeometry ,IfcConnectionSurfaceGeometry)); END_ENTITY; ENTITY IfcConnectionPointEccentricity SUBTYPE OF (IfcConnectionPointGeometry); EccentricityInX : OPTIONAL IfcLengthMeasure; EccentricityInY : OPTIONAL IfcLengthMeasure; EccentricityInZ : OPTIONAL IfcLengthMeasure; END_ENTITY; ENTITY IfcConnectionPointGeometry SUPERTYPE OF (ONEOF (IfcConnectionPointEccentricity)) SUBTYPE OF (IfcConnectionGeometry); PointOnRelatingElement : IfcPointOrVertexPoint; PointOnRelatedElement : OPTIONAL IfcPointOrVertexPoint; END_ENTITY; ENTITY IfcConnectionPortGeometry SUBTYPE OF (IfcConnectionGeometry); LocationAtRelatingElement : IfcAxis2Placement; LocationAtRelatedElement : OPTIONAL IfcAxis2Placement; ProfileOfPort : IfcProfileDef; END_ENTITY; ENTITY IfcConnectionSurfaceGeometry SUBTYPE OF (IfcConnectionGeometry); SurfaceOnRelatingElement : IfcSurfaceOrFaceSurface; SurfaceOnRelatedElement : OPTIONAL IfcSurfaceOrFaceSurface; END_ENTITY; ENTITY IfcConstraint ABSTRACT SUPERTYPE OF (ONEOF (IfcMetric ,IfcObjective)); Name : IfcLabel; Description : OPTIONAL IfcText; ConstraintGrade : IfcConstraintEnum; ConstraintSource : OPTIONAL IfcLabel; CreatingActor : OPTIONAL IfcActorSelect; CreationTime : OPTIONAL IfcDateTimeSelect; UserDefinedGrade : OPTIONAL IfcLabel; INVERSE ClassifiedAs : SET [0:?] OF IfcConstraintClassificationRelationship FOR ClassifiedConstraint; RelatesConstraints : SET [0:?] OF IfcConstraintRelationship FOR RelatingConstraint; IsRelatedWith : SET [0:?] OF IfcConstraintRelationship FOR RelatedConstraints; PropertiesForConstraint : SET [0:?] OF IfcPropertyConstraintRelationship FOR RelatingConstraint; Aggregates : SET [0:?] OF IfcConstraintAggregationRelationship FOR RelatingConstraint; IsAggregatedIn : SET [0:?] OF IfcConstraintAggregationRelationship FOR RelatedConstraints; WHERE WR11 : (ConstraintGrade <> IfcConstraintEnum.USERDEFINED) OR ((ConstraintGrade = IfcConstraintEnum.USERDEFINED) AND EXISTS(SELF\IfcConstraint.UserDefinedGrade)); END_ENTITY; ENTITY IfcConstraintAggregationRelationship; Name : OPTIONAL IfcLabel; Description : OPTIONAL IfcText; RelatingConstraint : IfcConstraint; RelatedConstraints : LIST [1:?] OF UNIQUE IfcConstraint; LogicalAggregator : IfcLogicalOperatorEnum; WHERE WR11 : SIZEOF(QUERY(temp <* RelatedConstraints | temp :=: RelatingConstraint )) = 0; END_ENTITY; ENTITY IfcConstraintClassificationRelationship; ClassifiedConstraint : IfcConstraint; RelatedClassifications : SET [1:?] OF IfcClassificationNotationSelect; END_ENTITY; ENTITY IfcConstraintRelationship; Name : OPTIONAL IfcLabel; Description : OPTIONAL IfcText; RelatingConstraint : IfcConstraint; RelatedConstraints : SET [1:?] OF IfcConstraint; WHERE WR11 : SIZEOF(QUERY(temp <* RelatedConstraints | temp :=: RelatingConstraint )) = 0; END_ENTITY; ENTITY IfcConstructionEquipmentResource SUBTYPE OF (IfcConstructionResource); END_ENTITY; ENTITY IfcConstructionMaterialResource SUBTYPE OF (IfcConstructionResource); Suppliers : OPTIONAL SET [1:?] OF IfcActorSelect; UsageRatio : OPTIONAL IfcRatioMeasure; WHERE WR1 : SIZEOF(SELF\IfcResource.ResourceOf) <=1; WR2 : NOT(EXISTS(SELF\IfcResource.ResourceOf[1])) OR (SELF\IfcResource.ResourceOf[1].RelatedObjectsType = IfcObjectTypeEnum.PRODUCT); END_ENTITY; ENTITY IfcConstructionProductResource SUBTYPE OF (IfcConstructionResource); WHERE WR1 : SIZEOF(SELF\IfcResource.ResourceOf) <=1; WR2 : NOT(EXISTS(SELF\IfcResource.ResourceOf[1])) OR (SELF\IfcResource.ResourceOf[1].RelatedObjectsType = IfcObjectTypeEnum.PRODUCT); END_ENTITY; ENTITY IfcConstructionResource ABSTRACT SUPERTYPE OF (ONEOF (IfcConstructionEquipmentResource ,IfcConstructionMaterialResource ,IfcConstructionProductResource ,IfcCrewResource ,IfcLaborResource ,IfcSubContractResource)) SUBTYPE OF (IfcResource); ResourceIdentifier : OPTIONAL IfcIdentifier; ResourceGroup : OPTIONAL IfcLabel; ResourceConsumption : OPTIONAL IfcResourceConsumptionEnum; BaseQuantity : OPTIONAL IfcMeasureWithUnit; END_ENTITY; ENTITY IfcContextDependentUnit SUBTYPE OF (IfcNamedUnit); Name : IfcLabel; END_ENTITY; ENTITY IfcControl ABSTRACT SUPERTYPE OF (ONEOF (IfcActionRequest ,IfcConditionCriterion ,IfcCostItem ,IfcCostSchedule ,IfcEquipmentStandard ,IfcFurnitureStandard ,IfcPerformanceHistory ,IfcPermit ,IfcProjectOrder ,IfcProjectOrderRecord ,IfcScheduleTimeControl ,IfcServiceLife ,IfcSpaceProgram ,IfcTimeSeriesSchedule ,IfcWorkControl)) SUBTYPE OF (IfcObject); INVERSE Controls : SET [0:?] OF IfcRelAssignsToControl FOR RelatingControl; END_ENTITY; ENTITY IfcControllerType SUBTYPE OF (IfcDistributionControlElementType); PredefinedType : IfcControllerTypeEnum; END_ENTITY; ENTITY IfcConversionBasedUnit SUBTYPE OF (IfcNamedUnit); Name : IfcLabel; ConversionFactor : IfcMeasureWithUnit; END_ENTITY; ENTITY IfcCooledBeamType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcCooledBeamTypeEnum; WHERE WR1 : (PredefinedType <> IfcCooledBeamTypeEnum.USERDEFINED) OR ((PredefinedType = IfcCooledBeamTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcCoolingTowerType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcCoolingTowerTypeEnum; WHERE WR1 : (PredefinedType <> IfcCoolingTowerTypeEnum.USERDEFINED) OR ((PredefinedType = IfcCoolingTowerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcCoordinatedUniversalTimeOffset; HourOffset : IfcHourInDay; MinuteOffset : OPTIONAL IfcMinuteInHour; Sense : IfcAheadOrBehind; END_ENTITY; ENTITY IfcCostItem SUBTYPE OF (IfcControl); END_ENTITY; ENTITY IfcCostSchedule SUBTYPE OF (IfcControl); SubmittedBy : OPTIONAL IfcActorSelect; PreparedBy : OPTIONAL IfcActorSelect; SubmittedOn : OPTIONAL IfcDateTimeSelect; Status : OPTIONAL IfcLabel; TargetUsers : OPTIONAL SET [1:?] OF IfcActorSelect; UpdateDate : OPTIONAL IfcDateTimeSelect; ID : IfcIdentifier; PredefinedType : IfcCostScheduleTypeEnum; UNIQUE UR2 : ID; END_ENTITY; ENTITY IfcCostValue SUBTYPE OF (IfcAppliedValue); CostType : IfcLabel; Condition : OPTIONAL IfcText; END_ENTITY; ENTITY IfcCovering SUBTYPE OF (IfcBuildingElement); PredefinedType : OPTIONAL IfcCoveringTypeEnum; INVERSE CoversSpaces : SET [0:1] OF IfcRelCoversSpaces FOR RelatedCoverings; Covers : SET [0:1] OF IfcRelCoversBldgElements FOR RelatedCoverings; END_ENTITY; ENTITY IfcCoveringType SUBTYPE OF (IfcBuildingElementType); PredefinedType : IfcCoveringTypeEnum; END_ENTITY; ENTITY IfcCraneRailAShapeProfileDef SUBTYPE OF (IfcParameterizedProfileDef); OverallHeight : IfcPositiveLengthMeasure; BaseWidth2 : IfcPositiveLengthMeasure; Radius : OPTIONAL IfcPositiveLengthMeasure; HeadWidth : IfcPositiveLengthMeasure; HeadDepth2 : IfcPositiveLengthMeasure; HeadDepth3 : IfcPositiveLengthMeasure; WebThickness : IfcPositiveLengthMeasure; BaseWidth4 : IfcPositiveLengthMeasure; BaseDepth1 : IfcPositiveLengthMeasure; BaseDepth2 : IfcPositiveLengthMeasure; BaseDepth3 : IfcPositiveLengthMeasure; CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcCraneRailFShapeProfileDef SUBTYPE OF (IfcParameterizedProfileDef); OverallHeight : IfcPositiveLengthMeasure; HeadWidth : IfcPositiveLengthMeasure; Radius : OPTIONAL IfcPositiveLengthMeasure; HeadDepth2 : IfcPositiveLengthMeasure; HeadDepth3 : IfcPositiveLengthMeasure; WebThickness : IfcPositiveLengthMeasure; BaseDepth1 : IfcPositiveLengthMeasure; BaseDepth2 : IfcPositiveLengthMeasure; CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcCrewResource SUBTYPE OF (IfcConstructionResource); END_ENTITY; ENTITY IfcCsgPrimitive3D ABSTRACT SUPERTYPE OF (ONEOF (IfcBlock ,IfcRectangularPyramid ,IfcRightCircularCone ,IfcRightCircularCylinder ,IfcSphere)) SUBTYPE OF (IfcGeometricRepresentationItem); Position : IfcAxis2Placement3D; DERIVE Dim : IfcDimensionCount := 3; END_ENTITY; ENTITY IfcCsgSolid SUBTYPE OF (IfcSolidModel); TreeRootExpression : IfcCsgSelect; END_ENTITY; ENTITY IfcCurrencyRelationship; RelatingMonetaryUnit : IfcMonetaryUnit; RelatedMonetaryUnit : IfcMonetaryUnit; ExchangeRate : IfcPositiveRatioMeasure; RateDateTime : IfcDateAndTime; RateSource : OPTIONAL IfcLibraryInformation; END_ENTITY; ENTITY IfcCurtainWall SUBTYPE OF (IfcBuildingElement); END_ENTITY; ENTITY IfcCurtainWallType SUBTYPE OF (IfcBuildingElementType); PredefinedType : IfcCurtainWallTypeEnum; END_ENTITY; ENTITY IfcCurve ABSTRACT SUPERTYPE OF (ONEOF (IfcBoundedCurve ,IfcConic ,IfcLine ,IfcOffsetCurve2D ,IfcOffsetCurve3D)) SUBTYPE OF (IfcGeometricRepresentationItem); DERIVE Dim : IfcDimensionCount := IfcCurveDim(SELF); END_ENTITY; ENTITY IfcCurveBoundedPlane SUBTYPE OF (IfcBoundedSurface); BasisSurface : IfcPlane; OuterBoundary : IfcCurve; InnerBoundaries : SET [0:?] OF IfcCurve; DERIVE Dim : IfcDimensionCount := BasisSurface.Dim; END_ENTITY; ENTITY IfcCurveStyle SUBTYPE OF (IfcPresentationStyle); CurveFont : OPTIONAL IfcCurveFontOrScaledCurveFontSelect; CurveWidth : OPTIONAL IfcSizeSelect; CurveColour : OPTIONAL IfcColour; WHERE WR11 : (NOT(EXISTS(CurveWidth))) OR ('IFC2X3.IFCPOSITIVELENGTHMEASURE' IN TYPEOF(CurveWidth)) OR (('IFC2X3.IFCDESCRIPTIVEMEASURE' IN TYPEOF(CurveWidth)) AND (CurveWidth = 'by layer')); END_ENTITY; ENTITY IfcCurveStyleFont; Name : OPTIONAL IfcLabel; PatternList : LIST [1:?] OF IfcCurveStyleFontPattern; END_ENTITY; ENTITY IfcCurveStyleFontAndScaling; Name : OPTIONAL IfcLabel; CurveFont : IfcCurveStyleFontSelect; CurveFontScaling : IfcPositiveRatioMeasure; END_ENTITY; ENTITY IfcCurveStyleFontPattern; VisibleSegmentLength : IfcLengthMeasure; InvisibleSegmentLength : IfcPositiveLengthMeasure; WHERE WR01 : VisibleSegmentLength >= 0.; END_ENTITY; ENTITY IfcDamperType SUBTYPE OF (IfcFlowControllerType); PredefinedType : IfcDamperTypeEnum; WHERE WR1 : (PredefinedType <> IfcDamperTypeEnum.USERDEFINED) OR ((PredefinedType = IfcDamperTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcDateAndTime; DateComponent : IfcCalendarDate; TimeComponent : IfcLocalTime; END_ENTITY; ENTITY IfcDefinedSymbol SUBTYPE OF (IfcGeometricRepresentationItem); Definition : IfcDefinedSymbolSelect; Target : IfcCartesianTransformationOperator2D; END_ENTITY; ENTITY IfcDerivedProfileDef SUBTYPE OF (IfcProfileDef); ParentProfile : IfcProfileDef; Operator : IfcCartesianTransformationOperator2D; Label : OPTIONAL IfcLabel; WHERE WR1 : SELF\IfcProfileDef.ProfileType = ParentProfile.ProfileType; END_ENTITY; ENTITY IfcDerivedUnit; Elements : SET [1:?] OF IfcDerivedUnitElement; UnitType : IfcDerivedUnitEnum; UserDefinedType : OPTIONAL IfcLabel; DERIVE Dimensions : IfcDimensionalExponents := IfcDeriveDimensionalExponents(SELF); WHERE WR1 : (SIZEOF (Elements) > 1) OR ((SIZEOF (Elements) = 1) AND (Elements[1].Exponent <> 1 )); WR2 : (UnitType <> IfcDerivedUnitEnum.USERDEFINED) OR ((UnitType = IfcDerivedUnitEnum.USERDEFINED) AND (EXISTS(SELF.UserDefinedType))); END_ENTITY; ENTITY IfcDerivedUnitElement; Unit : IfcNamedUnit; Exponent : INTEGER; END_ENTITY; ENTITY IfcDiameterDimension SUBTYPE OF (IfcDimensionCurveDirectedCallout); END_ENTITY; ENTITY IfcDimensionCalloutRelationship SUBTYPE OF (IfcDraughtingCalloutRelationship); WHERE WR11 : SELF\IfcDraughtingCalloutRelationship.Name IN ['primary','secondary']; WR12 : SIZEOF(TYPEOF(SELF\IfcDraughtingCalloutRelationship.RelatingDraughtingCallout) * [ 'IFC2X3.IFCANGULARDIMENSION', 'IFC2X3.IFCDIAMETERDIMENSION', 'IFC2X3.IFCLINEARDIMENSION', 'IFC2X3.IFCRADIUSDIMENSION']) = 1; WR13 : NOT ('IFC2X3.IFCDIMENSIONCURVEDIRECTEDCALLOUT' IN TYPEOF (SELF\IfcDraughtingCalloutRelationship.RelatedDraughtingCallout)); END_ENTITY; ENTITY IfcDimensionCurve SUBTYPE OF (IfcAnnotationCurveOccurrence); INVERSE AnnotatedBySymbols : SET [0:2] OF IfcTerminatorSymbol FOR AnnotatedCurve; WHERE WR51 : SIZEOF(USEDIN(SELF,'IFC2X3.IFCDRAUGHTINGCALLOUT.CONTENTS')) >= 1; WR52 : (SIZEOF(QUERY (Dct1 <* USEDIN(SELF,'IFC2X3.' + 'IFCTERMINATORSYMBOL.ANNOTATEDCURVE') | (Dct1.Role = IfcDimensionExtentUsage.ORIGIN))) <= 1) AND (SIZEOF(QUERY (Dct2 <* USEDIN(SELF,'IFC2X3.' + 'IFCTERMINATORSYMBOL.ANNOTATEDCURVE') | (Dct2.Role = IfcDimensionExtentUsage.TARGET))) <= 1); WR53 : SIZEOF(QUERY (Dct <* AnnotatedBySymbols | NOT('IFC2X3.IFCDIMENSIONCURVETERMINATOR' IN TYPEOF(Dct)))) = 0; END_ENTITY; ENTITY IfcDimensionCurveDirectedCallout SUPERTYPE OF (ONEOF (IfcAngularDimension ,IfcDiameterDimension ,IfcLinearDimension ,IfcRadiusDimension)) SUBTYPE OF (IfcDraughtingCallout); WHERE WR41 : SIZEOF(QUERY (Dc <* SELF\IfcDraughtingCallout.Contents | ( 'IFC2X3.IFCDIMENSIONCURVE' IN TYPEOF(Dc)))) = 1; WR42 : SIZEOF (QUERY (Dc <* SELF.contents | ('IFC2X3.IFCPROJECTIONCURVE' IN TYPEOF (Dc)))) <= 2; END_ENTITY; ENTITY IfcDimensionCurveTerminator SUBTYPE OF (IfcTerminatorSymbol); Role : IfcDimensionExtentUsage; WHERE WR61 : 'IFC2X3.IFCDIMENSIONCURVE' IN TYPEOF (SELF\IfcTerminatorSymbol.AnnotatedCurve); END_ENTITY; ENTITY IfcDimensionPair SUBTYPE OF (IfcDraughtingCalloutRelationship); WHERE WR11 : SELF.Name IN ['chained','parallel']; WR12 : SIZEOF(TYPEOF(SELF.RelatingDraughtingCallout) * [ 'IFC2X3.IFCANGULARDIMENSION', 'IFC2X3.IFCDIAMETERDIMENSION', 'IFC2X3.IFCLINEARDIMENSION', 'IFC2X3.IFCRADIUSDIMENSION']) = 1; WR13 : SIZEOF(TYPEOF(SELF.RelatedDraughtingCallout) * [ 'IFC2X3.IFCANGULARDIMENSION', 'IFC2X3.IFCDIAMETERDIMENSION', 'IFC2X3.IFCLINEARDIMENSION', 'IFC2X3.IFCRADIUSDIMENSION']) = 1; END_ENTITY; ENTITY IfcDimensionalExponents; LengthExponent : INTEGER; MassExponent : INTEGER; TimeExponent : INTEGER; ElectricCurrentExponent : INTEGER; ThermodynamicTemperatureExponent : INTEGER; AmountOfSubstanceExponent : INTEGER; LuminousIntensityExponent : INTEGER; END_ENTITY; ENTITY IfcDirection SUBTYPE OF (IfcGeometricRepresentationItem); DirectionRatios : LIST [2:3] OF REAL; DERIVE Dim : IfcDimensionCount := HIINDEX(DirectionRatios); END_ENTITY; ENTITY IfcDiscreteAccessory SUBTYPE OF (IfcElementComponent); END_ENTITY; ENTITY IfcDiscreteAccessoryType SUPERTYPE OF (ONEOF (IfcVibrationIsolatorType)) SUBTYPE OF (IfcElementComponentType); END_ENTITY; ENTITY IfcDistributionChamberElement SUBTYPE OF (IfcDistributionFlowElement); END_ENTITY; ENTITY IfcDistributionChamberElementType SUBTYPE OF (IfcDistributionFlowElementType); PredefinedType : IfcDistributionChamberElementTypeEnum; END_ENTITY; ENTITY IfcDistributionControlElement SUBTYPE OF (IfcDistributionElement); ControlElementId : OPTIONAL IfcIdentifier; INVERSE AssignedToFlowElement : SET [0:1] OF IfcRelFlowControlElements FOR RelatedControlElements; END_ENTITY; ENTITY IfcDistributionControlElementType ABSTRACT SUPERTYPE OF (ONEOF (IfcActuatorType ,IfcAlarmType ,IfcControllerType ,IfcFlowInstrumentType ,IfcSensorType)) SUBTYPE OF (IfcDistributionElementType); END_ENTITY; ENTITY IfcDistributionElement SUPERTYPE OF (ONEOF (IfcDistributionControlElement ,IfcDistributionFlowElement)) SUBTYPE OF (IfcElement); END_ENTITY; ENTITY IfcDistributionElementType SUPERTYPE OF (ONEOF (IfcDistributionControlElementType ,IfcDistributionFlowElementType)) SUBTYPE OF (IfcElementType); END_ENTITY; ENTITY IfcDistributionFlowElement SUPERTYPE OF (ONEOF (IfcDistributionChamberElement ,IfcEnergyConversionDevice ,IfcFlowController ,IfcFlowFitting ,IfcFlowMovingDevice ,IfcFlowSegment ,IfcFlowStorageDevice ,IfcFlowTerminal ,IfcFlowTreatmentDevice)) SUBTYPE OF (IfcDistributionElement); INVERSE HasControlElements : SET [0:1] OF IfcRelFlowControlElements FOR RelatingFlowElement; END_ENTITY; ENTITY IfcDistributionFlowElementType ABSTRACT SUPERTYPE OF (ONEOF (IfcDistributionChamberElementType ,IfcEnergyConversionDeviceType ,IfcFlowControllerType ,IfcFlowFittingType ,IfcFlowMovingDeviceType ,IfcFlowSegmentType ,IfcFlowStorageDeviceType ,IfcFlowTerminalType ,IfcFlowTreatmentDeviceType)) SUBTYPE OF (IfcDistributionElementType); END_ENTITY; ENTITY IfcDistributionPort SUBTYPE OF (IfcPort); FlowDirection : OPTIONAL IfcFlowDirectionEnum; END_ENTITY; ENTITY IfcDocumentElectronicFormat; FileExtension : OPTIONAL IfcLabel; MimeContentType : OPTIONAL IfcLabel; MimeSubtype : OPTIONAL IfcLabel; WHERE WR1 : EXISTS(FileExtension) OR EXISTS(MimeContentType); END_ENTITY; ENTITY IfcDocumentInformation; DocumentId : IfcIdentifier; Name : IfcLabel; Description : OPTIONAL IfcText; DocumentReferences : OPTIONAL SET [1:?] OF IfcDocumentReference; Purpose : OPTIONAL IfcText; IntendedUse : OPTIONAL IfcText; Scope : OPTIONAL IfcText; Revision : OPTIONAL IfcLabel; DocumentOwner : OPTIONAL IfcActorSelect; Editors : OPTIONAL SET [1:?] OF IfcActorSelect; CreationTime : OPTIONAL IfcDateAndTime; LastRevisionTime : OPTIONAL IfcDateAndTime; ElectronicFormat : OPTIONAL IfcDocumentElectronicFormat; ValidFrom : OPTIONAL IfcCalendarDate; ValidUntil : OPTIONAL IfcCalendarDate; Confidentiality : OPTIONAL IfcDocumentConfidentialityEnum; Status : OPTIONAL IfcDocumentStatusEnum; INVERSE IsPointedTo : SET [0:?] OF IfcDocumentInformationRelationship FOR RelatedDocuments; IsPointer : SET [0:1] OF IfcDocumentInformationRelationship FOR RelatingDocument; END_ENTITY; ENTITY IfcDocumentInformationRelationship; RelatingDocument : IfcDocumentInformation; RelatedDocuments : SET [1:?] OF IfcDocumentInformation; RelationshipType : OPTIONAL IfcLabel; END_ENTITY; ENTITY IfcDocumentReference SUBTYPE OF (IfcExternalReference); INVERSE ReferenceToDocument : SET [0:1] OF IfcDocumentInformation FOR DocumentReferences; WHERE WR1 : EXISTS(Name) XOR EXISTS(ReferenceToDocument[1]); END_ENTITY; ENTITY IfcDoor SUBTYPE OF (IfcBuildingElement); OverallHeight : OPTIONAL IfcPositiveLengthMeasure; OverallWidth : OPTIONAL IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcDoorLiningProperties SUBTYPE OF (IfcPropertySetDefinition); LiningDepth : OPTIONAL IfcPositiveLengthMeasure; LiningThickness : OPTIONAL IfcPositiveLengthMeasure; ThresholdDepth : OPTIONAL IfcPositiveLengthMeasure; ThresholdThickness : OPTIONAL IfcPositiveLengthMeasure; TransomThickness : OPTIONAL IfcPositiveLengthMeasure; TransomOffset : OPTIONAL IfcLengthMeasure; LiningOffset : OPTIONAL IfcLengthMeasure; ThresholdOffset : OPTIONAL IfcLengthMeasure; CasingThickness : OPTIONAL IfcPositiveLengthMeasure; CasingDepth : OPTIONAL IfcPositiveLengthMeasure; ShapeAspectStyle : OPTIONAL IfcShapeAspect; WHERE WR31 : NOT(NOT(EXISTS(LiningDepth)) AND EXISTS(LiningThickness)); WR32 : NOT(NOT(EXISTS(ThresholdDepth)) AND EXISTS(ThresholdThickness)); WR33 : (EXISTS(TransomOffset) AND EXISTS(TransomThickness)) XOR (NOT(EXISTS(TransomOffset)) AND NOT(EXISTS(TransomThickness))); WR34 : (EXISTS(CasingDepth) AND EXISTS(CasingThickness)) XOR (NOT(EXISTS(CasingDepth)) AND NOT(EXISTS(CasingThickness))); WR35 : EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1]) AND ('IFC2X3.IFCDOORSTYLE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1])); END_ENTITY; ENTITY IfcDoorPanelProperties SUBTYPE OF (IfcPropertySetDefinition); PanelDepth : OPTIONAL IfcPositiveLengthMeasure; PanelOperation : IfcDoorPanelOperationEnum; PanelWidth : OPTIONAL IfcNormalisedRatioMeasure; PanelPosition : IfcDoorPanelPositionEnum; ShapeAspectStyle : OPTIONAL IfcShapeAspect; WHERE WR31 : EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1]) AND ('IFC2X3.IFCDOORSTYLE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1])); END_ENTITY; ENTITY IfcDoorStyle SUBTYPE OF (IfcTypeProduct); OperationType : IfcDoorStyleOperationEnum; ConstructionType : IfcDoorStyleConstructionEnum; ParameterTakesPrecedence : BOOLEAN; Sizeable : BOOLEAN; END_ENTITY; ENTITY IfcDraughtingCallout SUPERTYPE OF (ONEOF (IfcDimensionCurveDirectedCallout ,IfcStructuredDimensionCallout)) SUBTYPE OF (IfcGeometricRepresentationItem); Contents : SET [1:?] OF IfcDraughtingCalloutElement; INVERSE IsRelatedFromCallout : SET [0:?] OF IfcDraughtingCalloutRelationship FOR RelatedDraughtingCallout; IsRelatedToCallout : SET [0:?] OF IfcDraughtingCalloutRelationship FOR RelatingDraughtingCallout; END_ENTITY; ENTITY IfcDraughtingCalloutRelationship SUPERTYPE OF (ONEOF (IfcDimensionCalloutRelationship ,IfcDimensionPair)); Name : OPTIONAL IfcLabel; Description : OPTIONAL IfcText; RelatingDraughtingCallout : IfcDraughtingCallout; RelatedDraughtingCallout : IfcDraughtingCallout; END_ENTITY; ENTITY IfcDraughtingPreDefinedColour SUBTYPE OF (IfcPreDefinedColour); WHERE WR31 : SELF\IfcPreDefinedItem.Name IN ['black','red','green','blue','yellow', 'magenta','cyan','white','by layer']; END_ENTITY; ENTITY IfcDraughtingPreDefinedCurveFont SUBTYPE OF (IfcPreDefinedCurveFont); WHERE WR31 : SELF\IfcPredefinedItem.Name IN ['continuous', 'chain', 'chain double dash', 'dashed', 'dotted', 'by layer']; END_ENTITY; ENTITY IfcDraughtingPreDefinedTextFont SUBTYPE OF (IfcPreDefinedTextFont); WHERE WR31 : SELF\IfcPreDefinedItem.Name IN ['ISO 3098-1 font A','ISO 3098-1 font B']; END_ENTITY; ENTITY IfcDuctFittingType SUBTYPE OF (IfcFlowFittingType); PredefinedType : IfcDuctFittingTypeEnum; WHERE WR2 : (PredefinedType <> IfcDuctFittingTypeEnum.USERDEFINED) OR ((PredefinedType = IfcDuctFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcDuctSegmentType SUBTYPE OF (IfcFlowSegmentType); PredefinedType : IfcDuctSegmentTypeEnum; WHERE WR1 : (PredefinedType <> IfcDuctSegmentTypeEnum.USERDEFINED) OR ((PredefinedType = IfcDuctSegmentTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcDuctSilencerType SUBTYPE OF (IfcFlowTreatmentDeviceType); PredefinedType : IfcDuctSilencerTypeEnum; WHERE WR1 : (PredefinedType <> IfcDuctSilencerTypeEnum.USERDEFINED) OR ((PredefinedType = IfcDuctSilencerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcEdge SUPERTYPE OF (ONEOF (IfcEdgeCurve ,IfcOrientedEdge ,IfcSubedge)) SUBTYPE OF (IfcTopologicalRepresentationItem); EdgeStart : IfcVertex; EdgeEnd : IfcVertex; END_ENTITY; ENTITY IfcEdgeCurve SUBTYPE OF (IfcEdge); EdgeGeometry : IfcCurve; SameSense : BOOLEAN; END_ENTITY; ENTITY IfcEdgeFeature ABSTRACT SUPERTYPE OF (ONEOF (IfcChamferEdgeFeature ,IfcRoundedEdgeFeature)) SUBTYPE OF (IfcFeatureElementSubtraction); FeatureLength : OPTIONAL IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcEdgeLoop SUBTYPE OF (IfcLoop); EdgeList : LIST [1:?] OF IfcOrientedEdge; DERIVE Ne : INTEGER := SIZEOF(EdgeList); WHERE WR1 : (EdgeList[1].EdgeStart) :=: (EdgeList[Ne].EdgeEnd); WR2 : IfcLoopHeadToTail(SELF); END_ENTITY; ENTITY IfcElectricApplianceType SUBTYPE OF (IfcFlowTerminalType); PredefinedType : IfcElectricApplianceTypeEnum; END_ENTITY; ENTITY IfcElectricDistributionPoint SUBTYPE OF (IfcFlowController); DistributionPointFunction : IfcElectricDistributionPointFunctionEnum; UserDefinedFunction : OPTIONAL IfcLabel; WHERE WR31 : (DistributionPointFunction <> IfcElectricDistributionPointFunctionEnum.USERDEFINED) OR ((DistributionPointFunction = IfcElectricDistributionPointFunctionEnum.USERDEFINED) AND EXISTS(SELF\IfcElectricDistributionPoint.UserDefinedFunction)); END_ENTITY; ENTITY IfcElectricFlowStorageDeviceType SUBTYPE OF (IfcFlowStorageDeviceType); PredefinedType : IfcElectricFlowStorageDeviceTypeEnum; END_ENTITY; ENTITY IfcElectricGeneratorType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcElectricGeneratorTypeEnum; END_ENTITY; ENTITY IfcElectricHeaterType SUBTYPE OF (IfcFlowTerminalType); PredefinedType : IfcElectricHeaterTypeEnum; END_ENTITY; ENTITY IfcElectricMotorType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcElectricMotorTypeEnum; END_ENTITY; ENTITY IfcElectricTimeControlType SUBTYPE OF (IfcFlowControllerType); PredefinedType : IfcElectricTimeControlTypeEnum; END_ENTITY; ENTITY IfcElectricalBaseProperties SUBTYPE OF (IfcEnergyProperties); ElectricCurrentType : OPTIONAL IfcElectricCurrentEnum; InputVoltage : IfcElectricVoltageMeasure; InputFrequency : IfcFrequencyMeasure; FullLoadCurrent : OPTIONAL IfcElectricCurrentMeasure; MinimumCircuitCurrent : OPTIONAL IfcElectricCurrentMeasure; MaximumPowerInput : OPTIONAL IfcPowerMeasure; RatedPowerInput : OPTIONAL IfcPowerMeasure; InputPhase : INTEGER; END_ENTITY; ENTITY IfcElectricalCircuit SUBTYPE OF (IfcSystem); END_ENTITY; ENTITY IfcElectricalElement SUBTYPE OF (IfcElement); END_ENTITY; ENTITY IfcElement ABSTRACT SUPERTYPE OF (ONEOF (IfcBuildingElement ,IfcDistributionElement ,IfcElectricalElement ,IfcElementAssembly ,IfcElementComponent ,IfcEquipmentElement ,IfcFeatureElement ,IfcFurnishingElement ,IfcTransportElement ,IfcVirtualElement)) SUBTYPE OF (IfcProduct); Tag : OPTIONAL IfcIdentifier; INVERSE FillsVoids : SET [0:1] OF IfcRelFillsElement FOR RelatedBuildingElement; ConnectedTo : SET [0:?] OF IfcRelConnectsElements FOR RelatingElement; HasCoverings : SET [0:?] OF IfcRelCoversBldgElements FOR RelatingBuildingElement; HasProjections : SET [0:?] OF IfcRelProjectsElement FOR RelatingElement; HasStructuralMember : SET [0:?] OF IfcRelConnectsStructuralElement FOR RelatingElement; ReferencedInStructures : SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatedElements; HasPorts : SET [0:?] OF IfcRelConnectsPortToElement FOR RelatedElement; HasOpenings : SET [0:?] OF IfcRelVoidsElement FOR RelatingBuildingElement; IsConnectionRealization : SET [0:?] OF IfcRelConnectsWithRealizingElements FOR RealizingElements; ProvidesBoundaries : SET [0:?] OF IfcRelSpaceBoundary FOR RelatedBuildingElement; ConnectedFrom : SET [0:?] OF IfcRelConnectsElements FOR RelatedElement; ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements; END_ENTITY; ENTITY IfcElementAssembly SUBTYPE OF (IfcElement); AssemblyPlace : OPTIONAL IfcAssemblyPlaceEnum; PredefinedType : IfcElementAssemblyTypeEnum; WHERE WR1 : (PredefinedType <> IfcElementAssemblyTypeEnum.USERDEFINED) OR ((PredefinedType = IfcElementAssemblyTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); END_ENTITY; ENTITY IfcElementComponent ABSTRACT SUPERTYPE OF (ONEOF (IfcDiscreteAccessory ,IfcFastener)) SUBTYPE OF (IfcElement); END_ENTITY; ENTITY IfcElementComponentType ABSTRACT SUPERTYPE OF (ONEOF (IfcDiscreteAccessoryType ,IfcFastenerType)) SUBTYPE OF (IfcElementType); END_ENTITY; ENTITY IfcElementQuantity SUBTYPE OF (IfcPropertySetDefinition); MethodOfMeasurement : OPTIONAL IfcLabel; Quantities : SET [1:?] OF IfcPhysicalQuantity; END_ENTITY; ENTITY IfcElementType ABSTRACT SUPERTYPE OF (ONEOF (IfcBuildingElementType ,IfcDistributionElementType ,IfcElementComponentType ,IfcFurnishingElementType ,IfcSpatialStructureElementType ,IfcTransportElementType)) SUBTYPE OF (IfcTypeProduct); ElementType : OPTIONAL IfcLabel; END_ENTITY; ENTITY IfcElementarySurface ABSTRACT SUPERTYPE OF (ONEOF (IfcPlane)) SUBTYPE OF (IfcSurface); Position : IfcAxis2Placement3D; DERIVE Dim : IfcDimensionCount := Position.Dim; END_ENTITY; ENTITY IfcEllipse SUBTYPE OF (IfcConic); SemiAxis1 : IfcPositiveLengthMeasure; SemiAxis2 : IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcEllipseProfileDef SUBTYPE OF (IfcParameterizedProfileDef); SemiAxis1 : IfcPositiveLengthMeasure; SemiAxis2 : IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcEnergyConversionDevice SUBTYPE OF (IfcDistributionFlowElement); END_ENTITY; ENTITY IfcEnergyConversionDeviceType ABSTRACT SUPERTYPE OF (ONEOF (IfcAirToAirHeatRecoveryType ,IfcBoilerType ,IfcChillerType ,IfcCoilType ,IfcCondenserType ,IfcCooledBeamType ,IfcCoolingTowerType ,IfcElectricGeneratorType ,IfcElectricMotorType ,IfcEvaporativeCoolerType ,IfcEvaporatorType ,IfcHeatExchangerType ,IfcHumidifierType ,IfcMotorConnectionType ,IfcSpaceHeaterType ,IfcTransformerType ,IfcTubeBundleType ,IfcUnitaryEquipmentType)) SUBTYPE OF (IfcDistributionFlowElementType); END_ENTITY; ENTITY IfcEnergyProperties SUPERTYPE OF (ONEOF (IfcElectricalBaseProperties)) SUBTYPE OF (IfcPropertySetDefinition); EnergySequence : OPTIONAL IfcEnergySequenceEnum; UserDefinedEnergySequence : OPTIONAL IfcLabel; END_ENTITY; ENTITY IfcEnvironmentalImpactValue SUBTYPE OF (IfcAppliedValue); ImpactType : IfcLabel; Category : IfcEnvironmentalImpactCategoryEnum; UserDefinedCategory : OPTIONAL IfcLabel; WHERE WR1 : (Category <> IfcEnvironmentalImpactCategoryEnum.USERDEFINED) OR ((Category = IfcEnvironmentalImpactCategoryEnum.USERDEFINED) AND EXISTS(SELF\IfcEnvironmentalImpactValue.UserDefinedCategory)); END_ENTITY; ENTITY IfcEquipmentElement SUBTYPE OF (IfcElement); END_ENTITY; ENTITY IfcEquipmentStandard SUBTYPE OF (IfcControl); END_ENTITY; ENTITY IfcEvaporativeCoolerType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcEvaporativeCoolerTypeEnum; WHERE WR1 : (PredefinedType <> IfcEvaporativeCoolerTypeEnum.USERDEFINED) OR ((PredefinedType = IfcEvaporativeCoolerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcEvaporatorType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcEvaporatorTypeEnum; WHERE WR1 : (PredefinedType <> IfcEvaporatorTypeEnum.USERDEFINED) OR ((PredefinedType = IfcEvaporatorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcExtendedMaterialProperties SUBTYPE OF (IfcMaterialProperties); ExtendedProperties : SET [1:?] OF IfcProperty; Description : OPTIONAL IfcText; Name : IfcLabel; END_ENTITY; ENTITY IfcExternalReference ABSTRACT SUPERTYPE OF (ONEOF (IfcClassificationReference ,IfcDocumentReference ,IfcExternallyDefinedHatchStyle ,IfcExternallyDefinedSurfaceStyle ,IfcExternallyDefinedSymbol ,IfcExternallyDefinedTextFont ,IfcLibraryReference)); Location : OPTIONAL IfcLabel; ItemReference : OPTIONAL IfcIdentifier; Name : OPTIONAL IfcLabel; WHERE WR1 : EXISTS(ItemReference) OR EXISTS(Location) OR EXISTS(Name); END_ENTITY; ENTITY IfcExternallyDefinedHatchStyle SUBTYPE OF (IfcExternalReference); END_ENTITY; ENTITY IfcExternallyDefinedSurfaceStyle SUBTYPE OF (IfcExternalReference); END_ENTITY; ENTITY IfcExternallyDefinedSymbol SUBTYPE OF (IfcExternalReference); END_ENTITY; ENTITY IfcExternallyDefinedTextFont SUBTYPE OF (IfcExternalReference); END_ENTITY; ENTITY IfcExtrudedAreaSolid SUBTYPE OF (IfcSweptAreaSolid); ExtrudedDirection : IfcDirection; Depth : IfcPositiveLengthMeasure; WHERE WR31 : IfcDotProduct(IfcRepresentationItem() || IfcGeometricRepresentationItem() || IfcDirection([0.0,0.0,1.0]), SELF.ExtrudedDirection) <> 0.0; END_ENTITY; ENTITY IfcFace SUPERTYPE OF (ONEOF (IfcFaceSurface)) SUBTYPE OF (IfcTopologicalRepresentationItem); Bounds : SET [1:?] OF IfcFaceBound; WHERE WR1 : SIZEOF(QUERY(temp <* Bounds | 'IFC2X3.IFCFACEOUTERBOUND' IN TYPEOF(temp))) <= 1; END_ENTITY; ENTITY IfcFaceBasedSurfaceModel SUBTYPE OF (IfcGeometricRepresentationItem); FbsmFaces : SET [1:?] OF IfcConnectedFaceSet; DERIVE Dim : IfcDimensionCount := 3; END_ENTITY; ENTITY IfcFaceBound SUPERTYPE OF (ONEOF (IfcFaceOuterBound)) SUBTYPE OF (IfcTopologicalRepresentationItem); Bound : IfcLoop; Orientation : BOOLEAN; END_ENTITY; ENTITY IfcFaceOuterBound SUBTYPE OF (IfcFaceBound); END_ENTITY; ENTITY IfcFaceSurface SUBTYPE OF (IfcFace); FaceSurface : IfcSurface; SameSense : BOOLEAN; END_ENTITY; ENTITY IfcFacetedBrep SUBTYPE OF (IfcManifoldSolidBrep); END_ENTITY; ENTITY IfcFacetedBrepWithVoids SUBTYPE OF (IfcManifoldSolidBrep); Voids : SET [1:?] OF IfcClosedShell; END_ENTITY; ENTITY IfcFailureConnectionCondition SUBTYPE OF (IfcStructuralConnectionCondition); TensionFailureX : OPTIONAL IfcForceMeasure; TensionFailureY : OPTIONAL IfcForceMeasure; TensionFailureZ : OPTIONAL IfcForceMeasure; CompressionFailureX : OPTIONAL IfcForceMeasure; CompressionFailureY : OPTIONAL IfcForceMeasure; CompressionFailureZ : OPTIONAL IfcForceMeasure; END_ENTITY; ENTITY IfcFanType SUBTYPE OF (IfcFlowMovingDeviceType); PredefinedType : IfcFanTypeEnum; WHERE WR1 : (PredefinedType <> IfcFanTypeEnum.USERDEFINED) OR ((PredefinedType = IfcFanTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcFastener SUPERTYPE OF (ONEOF (IfcMechanicalFastener)) SUBTYPE OF (IfcElementComponent); END_ENTITY; ENTITY IfcFastenerType SUPERTYPE OF (ONEOF (IfcMechanicalFastenerType)) SUBTYPE OF (IfcElementComponentType); END_ENTITY; ENTITY IfcFeatureElement ABSTRACT SUPERTYPE OF (ONEOF (IfcFeatureElementAddition ,IfcFeatureElementSubtraction)) SUBTYPE OF (IfcElement); END_ENTITY; ENTITY IfcFeatureElementAddition ABSTRACT SUPERTYPE OF (ONEOF (IfcProjectionElement)) SUBTYPE OF (IfcFeatureElement); INVERSE ProjectsElements : IfcRelProjectsElement FOR RelatedFeatureElement; END_ENTITY; ENTITY IfcFeatureElementSubtraction ABSTRACT SUPERTYPE OF (ONEOF (IfcEdgeFeature ,IfcOpeningElement)) SUBTYPE OF (IfcFeatureElement); INVERSE VoidsElements : IfcRelVoidsElement FOR RelatedOpeningElement; END_ENTITY; ENTITY IfcFillAreaStyle SUBTYPE OF (IfcPresentationStyle); FillStyles : SET [1:?] OF IfcFillStyleSelect; WHERE WR11 : SIZEOF(QUERY(Style <* SELF.FillStyles | 'IFC2X3.IFCCOLOUR' IN TYPEOF(Style) )) <= 1; WR12 : SIZEOF(QUERY(Style <* SELF.FillStyles | 'IFC2X3.IFCEXTERNALLYDEFINEDHATCHSTYLE' IN TYPEOF(Style) )) <= 1; WR13 : (SIZEOF(QUERY(Style <* SELF.FillStyles | 'IFC2X3.IFCEXTERNALLYDEFINEDHATCHSTYLE' IN TYPEOF(Style) )) >= 1) XOR (SIZEOF(QUERY(Style <* SELF.FillStyles | 'IFC2X3.IFCFILLAREASTYLEHATCHING' IN TYPEOF(Style) )) >= 1) XOR (SIZEOF(QUERY(Style <* SELF.FillStyles | 'IFC2X3.IFCFILLAREASTYLETILES' IN TYPEOF(Style) )) >= 1); END_ENTITY; ENTITY IfcFillAreaStyleHatching SUBTYPE OF (IfcGeometricRepresentationItem); HatchLineAppearance : IfcCurveStyle; StartOfNextHatchLine : IfcHatchLineDistanceSelect; PointOfReferenceHatchLine : OPTIONAL IfcCartesianPoint; PatternStart : OPTIONAL IfcCartesianPoint; HatchLineAngle : IfcPlaneAngleMeasure; WHERE WR21 : NOT( 'IFC2X3.IFCTWODIRECTIONREPEATFACTOR' IN TYPEOF(StartOfNextHatchLine) ); WR22 : NOT(EXISTS(PatternStart)) OR (PatternStart.Dim = 2); WR23 : NOT(EXISTS(PointOfReferenceHatchLine)) OR (PointOfReferenceHatchLine.Dim = 2); END_ENTITY; ENTITY IfcFillAreaStyleTileSymbolWithStyle SUBTYPE OF (IfcGeometricRepresentationItem); Symbol : IfcAnnotationSymbolOccurrence; END_ENTITY; ENTITY IfcFillAreaStyleTiles SUBTYPE OF (IfcGeometricRepresentationItem); TilingPattern : IfcOneDirectionRepeatFactor; Tiles : SET [1:?] OF IfcFillAreaStyleTileShapeSelect; TilingScale : IfcPositiveRatioMeasure; END_ENTITY; ENTITY IfcFilterType SUBTYPE OF (IfcFlowTreatmentDeviceType); PredefinedType : IfcFilterTypeEnum; WHERE WR1 : (PredefinedType <> IfcFilterTypeEnum.USERDEFINED) OR ((PredefinedType = IfcFilterTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcFireSuppressionTerminalType SUBTYPE OF (IfcFlowTerminalType); PredefinedType : IfcFireSuppressionTerminalTypeEnum; END_ENTITY; ENTITY IfcFlowController SUPERTYPE OF (ONEOF (IfcElectricDistributionPoint)) SUBTYPE OF (IfcDistributionFlowElement); END_ENTITY; ENTITY IfcFlowControllerType ABSTRACT SUPERTYPE OF (ONEOF (IfcAirTerminalBoxType ,IfcDamperType ,IfcElectricTimeControlType ,IfcFlowMeterType ,IfcProtectiveDeviceType ,IfcSwitchingDeviceType ,IfcValveType)) SUBTYPE OF (IfcDistributionFlowElementType); END_ENTITY; ENTITY IfcFlowFitting SUBTYPE OF (IfcDistributionFlowElement); END_ENTITY; ENTITY IfcFlowFittingType ABSTRACT SUPERTYPE OF (ONEOF (IfcCableCarrierFittingType ,IfcDuctFittingType ,IfcJunctionBoxType ,IfcPipeFittingType)) SUBTYPE OF (IfcDistributionFlowElementType); END_ENTITY; ENTITY IfcFlowInstrumentType SUBTYPE OF (IfcDistributionControlElementType); PredefinedType : IfcFlowInstrumentTypeEnum; END_ENTITY; ENTITY IfcFlowMeterType SUBTYPE OF (IfcFlowControllerType); PredefinedType : IfcFlowMeterTypeEnum; WHERE WR1 : (PredefinedType <> IfcFlowMeterTypeEnum.USERDEFINED) OR ((PredefinedType = IfcFlowMeterTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcFlowMovingDevice SUBTYPE OF (IfcDistributionFlowElement); END_ENTITY; ENTITY IfcFlowMovingDeviceType ABSTRACT SUPERTYPE OF (ONEOF (IfcCompressorType ,IfcFanType ,IfcPumpType)) SUBTYPE OF (IfcDistributionFlowElementType); END_ENTITY; ENTITY IfcFlowSegment SUBTYPE OF (IfcDistributionFlowElement); END_ENTITY; ENTITY IfcFlowSegmentType ABSTRACT SUPERTYPE OF (ONEOF (IfcCableCarrierSegmentType ,IfcCableSegmentType ,IfcDuctSegmentType ,IfcPipeSegmentType)) SUBTYPE OF (IfcDistributionFlowElementType); END_ENTITY; ENTITY IfcFlowStorageDevice SUBTYPE OF (IfcDistributionFlowElement); END_ENTITY; ENTITY IfcFlowStorageDeviceType ABSTRACT SUPERTYPE OF (ONEOF (IfcElectricFlowStorageDeviceType ,IfcTankType)) SUBTYPE OF (IfcDistributionFlowElementType); END_ENTITY; ENTITY IfcFlowTerminal SUBTYPE OF (IfcDistributionFlowElement); END_ENTITY; ENTITY IfcFlowTerminalType ABSTRACT SUPERTYPE OF (ONEOF (IfcAirTerminalType ,IfcElectricApplianceType ,IfcElectricHeaterType ,IfcFireSuppressionTerminalType ,IfcGasTerminalType ,IfcLampType ,IfcLightFixtureType ,IfcOutletType ,IfcSanitaryTerminalType ,IfcStackTerminalType ,IfcWasteTerminalType)) SUBTYPE OF (IfcDistributionFlowElementType); END_ENTITY; ENTITY IfcFlowTreatmentDevice SUBTYPE OF (IfcDistributionFlowElement); END_ENTITY; ENTITY IfcFlowTreatmentDeviceType ABSTRACT SUPERTYPE OF (ONEOF (IfcDuctSilencerType ,IfcFilterType)) SUBTYPE OF (IfcDistributionFlowElementType); END_ENTITY; ENTITY IfcFluidFlowProperties SUBTYPE OF (IfcPropertySetDefinition); PropertySource : IfcPropertySourceEnum; FlowConditionTimeSeries : OPTIONAL IfcTimeSeries; VelocityTimeSeries : OPTIONAL IfcTimeSeries; FlowrateTimeSeries : OPTIONAL IfcTimeSeries; Fluid : IfcMaterial; PressureTimeSeries : OPTIONAL IfcTimeSeries; UserDefinedPropertySource : OPTIONAL IfcLabel; TemperatureSingleValue : OPTIONAL IfcThermodynamicTemperatureMeasure; WetBulbTemperatureSingleValue : OPTIONAL IfcThermodynamicTemperatureMeasure; WetBulbTemperatureTimeSeries : OPTIONAL IfcTimeSeries; TemperatureTimeSeries : OPTIONAL IfcTimeSeries; FlowrateSingleValue : OPTIONAL IfcDerivedMeasureValue; FlowConditionSingleValue : OPTIONAL IfcPositiveRatioMeasure; VelocitySingleValue : OPTIONAL IfcLinearVelocityMeasure; PressureSingleValue : OPTIONAL IfcPressureMeasure; END_ENTITY; ENTITY IfcFooting SUBTYPE OF (IfcBuildingElement); PredefinedType : IfcFootingTypeEnum; WHERE WR1 : (PredefinedType <> IfcFootingTypeEnum.USERDEFINED) OR ((PredefinedType = IfcFootingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); END_ENTITY; ENTITY IfcFuelProperties SUBTYPE OF (IfcMaterialProperties); CombustionTemperature : OPTIONAL IfcThermodynamicTemperatureMeasure; CarbonContent : OPTIONAL IfcPositiveRatioMeasure; LowerHeatingValue : OPTIONAL IfcHeatingValueMeasure; HigherHeatingValue : OPTIONAL IfcHeatingValueMeasure; UNIQUE UR11 : Material; END_ENTITY; ENTITY IfcFurnishingElement SUBTYPE OF (IfcElement); END_ENTITY; ENTITY IfcFurnishingElementType SUPERTYPE OF (ONEOF (IfcFurnitureType ,IfcSystemFurnitureElementType)) SUBTYPE OF (IfcElementType); END_ENTITY; ENTITY IfcFurnitureStandard SUBTYPE OF (IfcControl); END_ENTITY; ENTITY IfcFurnitureType SUBTYPE OF (IfcFurnishingElementType); AssemblyPlace : IfcAssemblyPlaceEnum; END_ENTITY; ENTITY IfcGasTerminalType SUBTYPE OF (IfcFlowTerminalType); PredefinedType : IfcGasTerminalTypeEnum; WHERE WR1 : (PredefinedType <> IfcGasTerminalTypeEnum.USERDEFINED) OR ((PredefinedType = IfcGasTerminalTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcGeneralMaterialProperties SUBTYPE OF (IfcMaterialProperties); MolecularWeight : OPTIONAL IfcMolecularWeightMeasure; Porosity : OPTIONAL IfcNormalisedRatioMeasure; MassDensity : OPTIONAL IfcMassDensityMeasure; UNIQUE UR11 : Material; END_ENTITY; ENTITY IfcGeneralProfileProperties SUPERTYPE OF (ONEOF (IfcStructuralProfileProperties)) SUBTYPE OF (IfcProfileProperties); PhysicalWeight : OPTIONAL IfcMassPerLengthMeasure; Perimeter : OPTIONAL IfcPositiveLengthMeasure; MinimumPlateThickness : OPTIONAL IfcPositiveLengthMeasure; MaximumPlateThickness : OPTIONAL IfcPositiveLengthMeasure; CrossSectionArea : OPTIONAL IfcAreaMeasure; WHERE WR1 : NOT(EXISTS(CrossSectionArea)) OR (CrossSectionArea > 0.); END_ENTITY; ENTITY IfcGeometricCurveSet SUBTYPE OF (IfcGeometricSet); WHERE WR1 : SIZEOF(QUERY(Temp <* SELF\IfcGeometricSet.Elements | 'IFC2X3.IFCSURFACE' IN TYPEOF(Temp))) = 0; END_ENTITY; ENTITY IfcGeometricRepresentationContext SUPERTYPE OF (ONEOF (IfcGeometricRepresentationSubContext)) SUBTYPE OF (IfcRepresentationContext); CoordinateSpaceDimension : IfcDimensionCount; Precision : OPTIONAL REAL; WorldCoordinateSystem : IfcAxis2Placement; TrueNorth : OPTIONAL IfcDirection; INVERSE HasSubContexts : SET [0:?] OF IfcGeometricRepresentationSubContext FOR ParentContext; END_ENTITY; ENTITY IfcGeometricRepresentationItem ABSTRACT SUPERTYPE OF (ONEOF (IfcAnnotationFillArea ,IfcAnnotationSurface ,IfcBooleanResult ,IfcBoundingBox ,IfcCartesianTransformationOperator ,IfcCompositeCurveSegment ,IfcCsgPrimitive3D ,IfcCurve ,IfcDefinedSymbol ,IfcDirection ,IfcDraughtingCallout ,IfcFaceBasedSurfaceModel ,IfcFillAreaStyleHatching ,IfcFillAreaStyleTileSymbolWithStyle ,IfcFillAreaStyleTiles ,IfcGeometricSet ,IfcHalfSpaceSolid ,IfcLightSource ,IfcOneDirectionRepeatFactor ,IfcPlacement ,IfcPlanarExtent ,IfcPoint ,IfcSectionedSpine ,IfcShellBasedSurfaceModel ,IfcSolidModel ,IfcSurface ,IfcTextLiteral ,IfcVector)) SUBTYPE OF (IfcRepresentationItem); END_ENTITY; ENTITY IfcGeometricRepresentationSubContext SUBTYPE OF (IfcGeometricRepresentationContext); ParentContext : IfcGeometricRepresentationContext; TargetScale : OPTIONAL IfcPositiveRatioMeasure; TargetView : IfcGeometricProjectionEnum; UserDefinedTargetView : OPTIONAL IfcLabel; DERIVE SELF\IfcGeometricRepresentationContext.WorldCoordinateSystem : IfcAxis2Placement := ParentContext.WorldCoordinateSystem; SELF\IfcGeometricRepresentationContext.CoordinateSpaceDimension : IfcDimensionCount := ParentContext.CoordinateSpaceDimension; SELF\IfcGeometricRepresentationContext.TrueNorth : IfcDirection := NVL(ParentContext.TrueNorth,SELF.WorldCoordinateSystem.P[2]); SELF\IfcGeometricRepresentationContext.Precision : REAL := NVL(ParentContext.Precision,1.E-5); WHERE WR31 : NOT('IFC2X3.IFCGEOMETRICREPRESENTATIONSUBCONTEXT' IN TYPEOF(ParentContext)); WR32 : (TargetView <> IfcGeometricProjectionEnum.USERDEFINED) OR ((TargetView = IfcGeometricProjectionEnum.USERDEFINED) AND EXISTS(UserDefinedTargetView)); END_ENTITY; ENTITY IfcGeometricSet SUPERTYPE OF (ONEOF (IfcGeometricCurveSet)) SUBTYPE OF (IfcGeometricRepresentationItem); Elements : SET [1:?] OF IfcGeometricSetSelect; DERIVE Dim : IfcDimensionCount := Elements[1].Dim; WHERE WR21 : SIZEOF(QUERY(Temp <* Elements | Temp.Dim <> Elements[1].Dim)) = 0; END_ENTITY; ENTITY IfcGrid SUBTYPE OF (IfcProduct); UAxes : LIST [1:?] OF UNIQUE IfcGridAxis; VAxes : LIST [1:?] OF UNIQUE IfcGridAxis; WAxes : OPTIONAL LIST [1:?] OF UNIQUE IfcGridAxis; INVERSE ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements; WHERE WR41 : EXISTS(SELF\IfcProduct.ObjectPlacement); END_ENTITY; ENTITY IfcGridAxis; AxisTag : OPTIONAL IfcLabel; AxisCurve : IfcCurve; SameSense : IfcBoolean; INVERSE PartOfW : SET [0:1] OF IfcGrid FOR WAxes; PartOfV : SET [0:1] OF IfcGrid FOR VAxes; PartOfU : SET [0:1] OF IfcGrid FOR UAxes; HasIntersections : SET [0:?] OF IfcVirtualGridIntersection FOR IntersectingAxes; WHERE WR1 : AxisCurve.Dim = 2; WR2 : (SIZEOF(PartOfU) = 1) XOR (SIZEOF(PartOfV) = 1) XOR (SIZEOF(PartOfW) = 1); END_ENTITY; ENTITY IfcGridPlacement SUBTYPE OF (IfcObjectPlacement); PlacementLocation : IfcVirtualGridIntersection; PlacementRefDirection : OPTIONAL IfcVirtualGridIntersection; END_ENTITY; ENTITY IfcGroup SUPERTYPE OF (ONEOF (IfcAsset ,IfcCondition ,IfcInventory ,IfcStructuralLoadGroup ,IfcStructuralResultGroup ,IfcSystem ,IfcZone)) SUBTYPE OF (IfcObject); INVERSE IsGroupedBy : IfcRelAssignsToGroup FOR RelatingGroup; END_ENTITY; ENTITY IfcHalfSpaceSolid SUPERTYPE OF (ONEOF (IfcBoxedHalfSpace ,IfcPolygonalBoundedHalfSpace)) SUBTYPE OF (IfcGeometricRepresentationItem); BaseSurface : IfcSurface; AgreementFlag : BOOLEAN; DERIVE Dim : IfcDimensionCount := 3; END_ENTITY; ENTITY IfcHeatExchangerType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcHeatExchangerTypeEnum; WHERE WR1 : (PredefinedType <> IfcHeatExchangerTypeEnum.USERDEFINED) OR ((PredefinedType = IfcHeatExchangerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcHumidifierType SUBTYPE OF (IfcEnergyConversionDeviceType); PredefinedType : IfcHumidifierTypeEnum; WHERE WR1 : (PredefinedType <> IfcHumidifierTypeEnum.USERDEFINED) OR ((PredefinedType = IfcHumidifierTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)); END_ENTITY; ENTITY IfcHygroscopicMaterialProperties SUBTYPE OF (IfcMaterialProperties); UpperVaporResistanceFactor : OPTIONAL IfcPositiveRatioMeasure; LowerVaporResistanceFactor : OPTIONAL IfcPositiveRatioMeasure; IsothermalMoistureCapacity : OPTIONAL IfcIsothermalMoistureCapacityMeasure; VaporPermeability : OPTIONAL IfcVaporPermeabilityMeasure; MoistureDiffusivity : OPTIONAL IfcMoistureDiffusivityMeasure; UNIQUE UR11 : Material; END_ENTITY; ENTITY IfcIShapeProfileDef SUPERTYPE OF (ONEOF (IfcAsymmetricIShapeProfileDef)) SUBTYPE OF (IfcParameterizedProfileDef); OverallWidth : IfcPositiveLengthMeasure; OverallDepth : IfcPositiveLengthMeasure; WebThickness : IfcPositiveLengthMeasure; FlangeThickness : IfcPositiveLengthMeasure; FilletRadius : OPTIONAL IfcPositiveLengthMeasure; WHERE WR1 : FlangeThickness < (OverallDepth / 2.); WR2 : WebThickness < OverallWidth; WR3 : NOT(EXISTS(FilletRadius)) OR ((FilletRadius <= (OverallWidth - WebThickness)/2.) AND (FilletRadius <= (OverallDepth - (2. * FlangeThickness))/2.)); END_ENTITY; ENTITY IfcImageTexture SUBTYPE OF (IfcSurfaceTexture); UrlReference : IfcIdentifier; END_ENTITY; ENTITY IfcInventory SUBTYPE OF (IfcGroup); InventoryType : IfcInventoryTypeEnum; Jurisdiction : IfcActorSelect; ResponsiblePersons : SET [1:?] OF IfcPerson; LastUpdateDate : IfcCalendarDate; CurrentValue : OPTIONAL IfcCostValue; OriginalValue : OPTIONAL IfcCostValue; WHERE WR41 : SIZEOF(QUERY(temp <* SELF\IfcGroup.IsGroupedBy.RelatedObjects | NOT( ('IFC2X3.IFCSPACE' IN TYPEOF (temp)) OR ('IFC2X3.IFCASSET' IN TYPEOF (temp)) OR ('IFC2X3.IFCFURNISHINGELEMENT' IN TYPEOF (temp)) ))) = 0; END_ENTITY; ENTITY IfcIrregularTimeSeries SUBTYPE OF (IfcTimeSeries); Values : LIST [1:?] OF IfcIrregularTimeSeriesValue; END_ENTITY; ENTITY IfcIrregularTimeSeriesValue; TimeStamp : IfcDateTimeSelect; ListValues : LIST [1:?] OF IfcValue; END_ENTITY; ENTITY IfcJunctionBoxType SUBTYPE OF (IfcFlowFittingType); PredefinedType : IfcJunctionBoxTypeEnum; END_ENTITY; ENTITY IfcLShapeProfileDef SUBTYPE OF (IfcParameterizedProfileDef); Depth : IfcPositiveLengthMeasure; Width : OPTIONAL IfcPositiveLengthMeasure; Thickness : IfcPositiveLengthMeasure; FilletRadius : OPTIONAL IfcPositiveLengthMeasure; EdgeRadius : OPTIONAL IfcPositiveLengthMeasure; LegSlope : OPTIONAL IfcPlaneAngleMeasure; CentreOfGravityInX : OPTIONAL IfcPositiveLengthMeasure; CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure; WHERE WR21 : Thickness < Depth; WR22 : NOT(EXISTS(Width)) OR (Thickness < Width); END_ENTITY; ENTITY IfcLaborResource SUBTYPE OF (IfcConstructionResource); SkillSet : OPTIONAL IfcText; END_ENTITY; ENTITY IfcLampType SUBTYPE OF (IfcFlowTerminalType); PredefinedType : IfcLampTypeEnum; END_ENTITY; ENTITY IfcLibraryInformation; Name : IfcLabel; Version : OPTIONAL IfcLabel; Publisher : OPTIONAL IfcOrganization; VersionDate : OPTIONAL IfcCalendarDate; LibraryReference : OPTIONAL SET [1:?] OF IfcLibraryReference; END_ENTITY; ENTITY IfcLibraryReference SUBTYPE OF (IfcExternalReference); INVERSE ReferenceIntoLibrary : SET [0:1] OF IfcLibraryInformation FOR LibraryReference; END_ENTITY; ENTITY IfcLightDistributionData; MainPlaneAngle : IfcPlaneAngleMeasure; SecondaryPlaneAngle : LIST [1:?] OF IfcPlaneAngleMeasure; LuminousIntensity : LIST [1:?] OF IfcLuminousIntensityDistributionMeasure; END_ENTITY; ENTITY IfcLightFixtureType SUBTYPE OF (IfcFlowTerminalType); PredefinedType : IfcLightFixtureTypeEnum; END_ENTITY; ENTITY IfcLightIntensityDistribution; LightDistributionCurve : IfcLightDistributionCurveEnum; DistributionData : LIST [1:?] OF IfcLightDistributionData; END_ENTITY; ENTITY IfcLightSource ABSTRACT SUPERTYPE OF (ONEOF (IfcLightSourceAmbient ,IfcLightSourceDirectional ,IfcLightSourceGoniometric ,IfcLightSourcePositional)) SUBTYPE OF (IfcGeometricRepresentationItem); Name : OPTIONAL IfcLabel; LightColour : IfcColourRgb; AmbientIntensity : OPTIONAL IfcNormalisedRatioMeasure; Intensity : OPTIONAL IfcNormalisedRatioMeasure; END_ENTITY; ENTITY IfcLightSourceAmbient SUBTYPE OF (IfcLightSource); END_ENTITY; ENTITY IfcLightSourceDirectional SUBTYPE OF (IfcLightSource); Orientation : IfcDirection; END_ENTITY; ENTITY IfcLightSourceGoniometric SUBTYPE OF (IfcLightSource); Position : IfcAxis2Placement3D; ColourAppearance : OPTIONAL IfcColourRgb; ColourTemperature : IfcThermodynamicTemperatureMeasure; LuminousFlux : IfcLuminousFluxMeasure; LightEmissionSource : IfcLightEmissionSourceEnum; LightDistributionDataSource : IfcLightDistributionDataSourceSelect; END_ENTITY; ENTITY IfcLightSourcePositional SUPERTYPE OF (ONEOF (IfcLightSourceSpot)) SUBTYPE OF (IfcLightSource); Position : IfcCartesianPoint; Radius : IfcPositiveLengthMeasure; ConstantAttenuation : IfcReal; DistanceAttenuation : IfcReal; QuadricAttenuation : IfcReal; END_ENTITY; ENTITY IfcLightSourceSpot SUBTYPE OF (IfcLightSourcePositional); Orientation : IfcDirection; ConcentrationExponent : OPTIONAL IfcReal; SpreadAngle : IfcPositivePlaneAngleMeasure; BeamWidthAngle : IfcPositivePlaneAngleMeasure; END_ENTITY; ENTITY IfcLine SUBTYPE OF (IfcCurve); Pnt : IfcCartesianPoint; Dir : IfcVector; WHERE WR1 : Dir.Dim = Pnt.Dim; END_ENTITY; ENTITY IfcLinearDimension SUBTYPE OF (IfcDimensionCurveDirectedCallout); END_ENTITY; ENTITY IfcLocalPlacement SUBTYPE OF (IfcObjectPlacement); PlacementRelTo : OPTIONAL IfcObjectPlacement; RelativePlacement : IfcAxis2Placement; WHERE WR21 : IfcCorrectLocalPlacement(RelativePlacement, PlacementRelTo); END_ENTITY; ENTITY IfcLocalTime; HourComponent : IfcHourInDay; MinuteComponent : OPTIONAL IfcMinuteInHour; SecondComponent : OPTIONAL IfcSecondInMinute; Zone : OPTIONAL IfcCoordinatedUniversalTimeOffset; DaylightSavingOffset : OPTIONAL IfcDaylightSavingHour; WHERE WR21 : IfcValidTime (SELF); END_ENTITY; ENTITY IfcLoop SUPERTYPE OF (ONEOF (IfcEdgeLoop ,IfcPolyLoop ,IfcVertexLoop)) SUBTYPE OF (IfcTopologicalRepresentationItem); END_ENTITY; ENTITY IfcManifoldSolidBrep ABSTRACT SUPERTYPE OF (ONEOF (IfcFacetedBrep ,IfcFacetedBrepWithVoids)) SUBTYPE OF (IfcSolidModel); Outer : IfcClosedShell; END_ENTITY; ENTITY IfcMappedItem SUBTYPE OF (IfcRepresentationItem); MappingSource : IfcRepresentationMap; MappingTarget : IfcCartesianTransformationOperator; END_ENTITY; ENTITY IfcMaterial; Name : IfcLabel; INVERSE HasRepresentation : SET [0:1] OF IfcMaterialDefinitionRepresentation FOR RepresentedMaterial; ClassifiedAs : SET [0:1] OF IfcMaterialClassificationRelationship FOR ClassifiedMaterial; END_ENTITY; ENTITY IfcMaterialClassificationRelationship; MaterialClassifications : SET [1:?] OF IfcClassificationNotationSelect; ClassifiedMaterial : IfcMaterial; END_ENTITY; ENTITY IfcMaterialDefinitionRepresentation SUBTYPE OF (IfcProductRepresentation); RepresentedMaterial : IfcMaterial; WHERE WR11 : SIZEOF(QUERY(temp <* Representations | (NOT('IFC2X3.IFCSTYLEDREPRESENTATION' IN TYPEOF(temp))) )) = 0; END_ENTITY; ENTITY IfcMaterialLayer; Material : OPTIONAL IfcMaterial; LayerThickness : IfcPositiveLengthMeasure; IsVentilated : OPTIONAL IfcLogical; INVERSE ToMaterialLayerSet : IfcMaterialLayerSet FOR MaterialLayers; END_ENTITY; ENTITY IfcMaterialLayerSet; MaterialLayers : LIST [1:?] OF IfcMaterialLayer; LayerSetName : OPTIONAL IfcLabel; DERIVE TotalThickness : IfcLengthMeasure := IfcMlsTotalThickness(SELF); END_ENTITY; ENTITY IfcMaterialLayerSetUsage; ForLayerSet : IfcMaterialLayerSet; LayerSetDirection : IfcLayerSetDirectionEnum; DirectionSense : IfcDirectionSenseEnum; OffsetFromReferenceLine : IfcLengthMeasure; END_ENTITY; ENTITY IfcMaterialList; Materials : LIST [1:?] OF IfcMaterial; END_ENTITY; ENTITY IfcMaterialProperties ABSTRACT SUPERTYPE OF (ONEOF (IfcExtendedMaterialProperties ,IfcFuelProperties ,IfcGeneralMaterialProperties ,IfcHygroscopicMaterialProperties ,IfcMechanicalMaterialProperties ,IfcOpticalMaterialProperties ,IfcProductsOfCombustionProperties ,IfcThermalMaterialProperties ,IfcWaterProperties)); Material : IfcMaterial; END_ENTITY; ENTITY IfcMeasureWithUnit; ValueComponent : IfcValue; UnitComponent : IfcUnit; END_ENTITY; ENTITY IfcMechanicalConcreteMaterialProperties SUBTYPE OF (IfcMechanicalMaterialProperties); CompressiveStrength : OPTIONAL IfcPressureMeasure; MaxAggregateSize : OPTIONAL IfcPositiveLengthMeasure; AdmixturesDescription : OPTIONAL IfcText; Workability : OPTIONAL IfcText; ProtectivePoreRatio : OPTIONAL IfcNormalisedRatioMeasure; WaterImpermeability : OPTIONAL IfcText; END_ENTITY; ENTITY IfcMechanicalFastener SUBTYPE OF (IfcFastener); NominalDiameter : OPTIONAL IfcPositiveLengthMeasure; NominalLength : OPTIONAL IfcPositiveLengthMeasure; END_ENTITY; ENTITY IfcMechanicalFastenerType SUBTYPE OF (IfcFastenerType); END_ENTITY; ENTITY IfcMechanicalMaterialProperties SUPERTYPE OF (ONEOF (IfcMechanicalConcreteMaterialProperties ,IfcMechanicalSteelMaterialProperties)) SUBTYPE OF (IfcMaterialProperties); DynamicViscosity : OPTIONAL IfcDynamicViscosityMeasure; YoungModulus : OPTIONAL IfcModulusOfElasticityMeasure; ShearModulus : OPTIONAL IfcModulusOfElasticityMeasure; PoissonRatio : OPTIONAL IfcPositiveRatioMeasure; ThermalExpansionCoefficient : OPTIONAL IfcThermalExpansionCoefficientMeasure; UNIQUE UR11 : Material; WHERE WR21 : NOT(EXISTS(YoungModulus)) OR (YoungModulus >= 0.0); WR22 : NOT(EXISTS(ShearModulus)) OR (ShearModulus >= 0.0); END_ENTIT