/**
 * IFC Enumerations
 * Generated from EXPRESS schema: IFC4_ADD2_TC1
 *
 * DO NOT EDIT - This file is auto-generated
 */

/** IfcActionRequestTypeEnum */
export enum IfcActionRequestTypeEnum {
  EMAIL = 'EMAIL',
  FAX = 'FAX',
  PHONE = 'PHONE',
  POST = 'POST',
  VERBAL = 'VERBAL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcActionSourceTypeEnum */
export enum IfcActionSourceTypeEnum {
  DEAD_LOAD_G = 'DEAD_LOAD_G',
  COMPLETION_G1 = 'COMPLETION_G1',
  LIVE_LOAD_Q = 'LIVE_LOAD_Q',
  SNOW_S = 'SNOW_S',
  WIND_W = 'WIND_W',
  PRESTRESSING_P = 'PRESTRESSING_P',
  SETTLEMENT_U = 'SETTLEMENT_U',
  TEMPERATURE_T = 'TEMPERATURE_T',
  EARTHQUAKE_E = 'EARTHQUAKE_E',
  FIRE = 'FIRE',
  IMPULSE = 'IMPULSE',
  IMPACT = 'IMPACT',
  TRANSPORT = 'TRANSPORT',
  ERECTION = 'ERECTION',
  PROPPING = 'PROPPING',
  SYSTEM_IMPERFECTION = 'SYSTEM_IMPERFECTION',
  SHRINKAGE = 'SHRINKAGE',
  CREEP = 'CREEP',
  LACK_OF_FIT = 'LACK_OF_FIT',
  BUOYANCY = 'BUOYANCY',
  ICE = 'ICE',
  CURRENT = 'CURRENT',
  WAVE = 'WAVE',
  RAIN = 'RAIN',
  BRAKES = 'BRAKES',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcActionTypeEnum */
export enum IfcActionTypeEnum {
  PERMANENT_G = 'PERMANENT_G',
  VARIABLE_Q = 'VARIABLE_Q',
  EXTRAORDINARY_A = 'EXTRAORDINARY_A',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcActuatorTypeEnum */
export enum IfcActuatorTypeEnum {
  ELECTRICACTUATOR = 'ELECTRICACTUATOR',
  HANDOPERATEDACTUATOR = 'HANDOPERATEDACTUATOR',
  HYDRAULICACTUATOR = 'HYDRAULICACTUATOR',
  PNEUMATICACTUATOR = 'PNEUMATICACTUATOR',
  THERMOSTATICACTUATOR = 'THERMOSTATICACTUATOR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcAddressTypeEnum */
export enum IfcAddressTypeEnum {
  OFFICE = 'OFFICE',
  SITE = 'SITE',
  HOME = 'HOME',
  DISTRIBUTIONPOINT = 'DISTRIBUTIONPOINT',
  USERDEFINED = 'USERDEFINED',
}

/** IfcAirTerminalBoxTypeEnum */
export enum IfcAirTerminalBoxTypeEnum {
  CONSTANTFLOW = 'CONSTANTFLOW',
  VARIABLEFLOWPRESSUREDEPENDANT = 'VARIABLEFLOWPRESSUREDEPENDANT',
  VARIABLEFLOWPRESSUREINDEPENDANT = 'VARIABLEFLOWPRESSUREINDEPENDANT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcAirTerminalTypeEnum */
export enum IfcAirTerminalTypeEnum {
  DIFFUSER = 'DIFFUSER',
  GRILLE = 'GRILLE',
  LOUVRE = 'LOUVRE',
  REGISTER = 'REGISTER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcAirToAirHeatRecoveryTypeEnum */
export enum IfcAirToAirHeatRecoveryTypeEnum {
  FIXEDPLATECOUNTERFLOWEXCHANGER = 'FIXEDPLATECOUNTERFLOWEXCHANGER',
  FIXEDPLATECROSSFLOWEXCHANGER = 'FIXEDPLATECROSSFLOWEXCHANGER',
  FIXEDPLATEPARALLELFLOWEXCHANGER = 'FIXEDPLATEPARALLELFLOWEXCHANGER',
  ROTARYWHEEL = 'ROTARYWHEEL',
  RUNAROUNDCOILLOOP = 'RUNAROUNDCOILLOOP',
  HEATPIPE = 'HEATPIPE',
  TWINTOWERENTHALPYRECOVERYLOOPS = 'TWINTOWERENTHALPYRECOVERYLOOPS',
  THERMOSIPHONSEALEDTUBEHEATEXCHANGERS = 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS',
  THERMOSIPHONCOILTYPEHEATEXCHANGERS = 'THERMOSIPHONCOILTYPEHEATEXCHANGERS',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcAlarmTypeEnum */
export enum IfcAlarmTypeEnum {
  BELL = 'BELL',
  BREAKGLASSBUTTON = 'BREAKGLASSBUTTON',
  LIGHT = 'LIGHT',
  MANUALPULLBOX = 'MANUALPULLBOX',
  SIREN = 'SIREN',
  WHISTLE = 'WHISTLE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcAnalysisModelTypeEnum */
export enum IfcAnalysisModelTypeEnum {
  IN_PLANE_LOADING_2D = 'IN_PLANE_LOADING_2D',
  OUT_PLANE_LOADING_2D = 'OUT_PLANE_LOADING_2D',
  LOADING_3D = 'LOADING_3D',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcAnalysisTheoryTypeEnum */
export enum IfcAnalysisTheoryTypeEnum {
  FIRST_ORDER_THEORY = 'FIRST_ORDER_THEORY',
  SECOND_ORDER_THEORY = 'SECOND_ORDER_THEORY',
  THIRD_ORDER_THEORY = 'THIRD_ORDER_THEORY',
  FULL_NONLINEAR_THEORY = 'FULL_NONLINEAR_THEORY',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcArithmeticOperatorEnum */
export enum IfcArithmeticOperatorEnum {
  ADD = 'ADD',
  DIVIDE = 'DIVIDE',
  MULTIPLY = 'MULTIPLY',
  SUBTRACT = 'SUBTRACT',
}

/** IfcAssemblyPlaceEnum */
export enum IfcAssemblyPlaceEnum {
  SITE = 'SITE',
  FACTORY = 'FACTORY',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcAudioVisualApplianceTypeEnum */
export enum IfcAudioVisualApplianceTypeEnum {
  AMPLIFIER = 'AMPLIFIER',
  CAMERA = 'CAMERA',
  DISPLAY = 'DISPLAY',
  MICROPHONE = 'MICROPHONE',
  PLAYER = 'PLAYER',
  PROJECTOR = 'PROJECTOR',
  RECEIVER = 'RECEIVER',
  SPEAKER = 'SPEAKER',
  SWITCHER = 'SWITCHER',
  TELEPHONE = 'TELEPHONE',
  TUNER = 'TUNER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcBSplineCurveForm */
export enum IfcBSplineCurveForm {
  POLYLINE_FORM = 'POLYLINE_FORM',
  CIRCULAR_ARC = 'CIRCULAR_ARC',
  ELLIPTIC_ARC = 'ELLIPTIC_ARC',
  PARABOLIC_ARC = 'PARABOLIC_ARC',
  HYPERBOLIC_ARC = 'HYPERBOLIC_ARC',
  UNSPECIFIED = 'UNSPECIFIED',
}

/** IfcBSplineSurfaceForm */
export enum IfcBSplineSurfaceForm {
  PLANE_SURF = 'PLANE_SURF',
  CYLINDRICAL_SURF = 'CYLINDRICAL_SURF',
  CONICAL_SURF = 'CONICAL_SURF',
  SPHERICAL_SURF = 'SPHERICAL_SURF',
  TOROIDAL_SURF = 'TOROIDAL_SURF',
  SURF_OF_REVOLUTION = 'SURF_OF_REVOLUTION',
  RULED_SURF = 'RULED_SURF',
  GENERALISED_CONE = 'GENERALISED_CONE',
  QUADRIC_SURF = 'QUADRIC_SURF',
  SURF_OF_LINEAR_EXTRUSION = 'SURF_OF_LINEAR_EXTRUSION',
  UNSPECIFIED = 'UNSPECIFIED',
}

/** IfcBeamTypeEnum */
export enum IfcBeamTypeEnum {
  BEAM = 'BEAM',
  JOIST = 'JOIST',
  HOLLOWCORE = 'HOLLOWCORE',
  LINTEL = 'LINTEL',
  SPANDREL = 'SPANDREL',
  T_BEAM = 'T_BEAM',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcBenchmarkEnum */
export enum IfcBenchmarkEnum {
  GREATERTHAN = 'GREATERTHAN',
  GREATERTHANOREQUALTO = 'GREATERTHANOREQUALTO',
  LESSTHAN = 'LESSTHAN',
  LESSTHANOREQUALTO = 'LESSTHANOREQUALTO',
  EQUALTO = 'EQUALTO',
  NOTEQUALTO = 'NOTEQUALTO',
  INCLUDES = 'INCLUDES',
  NOTINCLUDES = 'NOTINCLUDES',
  INCLUDEDIN = 'INCLUDEDIN',
  NOTINCLUDEDIN = 'NOTINCLUDEDIN',
}

/** IfcBoilerTypeEnum */
export enum IfcBoilerTypeEnum {
  WATER = 'WATER',
  STEAM = 'STEAM',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcBooleanOperator */
export enum IfcBooleanOperator {
  UNION = 'UNION',
  INTERSECTION = 'INTERSECTION',
  DIFFERENCE = 'DIFFERENCE',
}

/** IfcBuildingElementPartTypeEnum */
export enum IfcBuildingElementPartTypeEnum {
  INSULATION = 'INSULATION',
  PRECASTPANEL = 'PRECASTPANEL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcBuildingElementProxyTypeEnum */
export enum IfcBuildingElementProxyTypeEnum {
  COMPLEX = 'COMPLEX',
  ELEMENT = 'ELEMENT',
  PARTIAL = 'PARTIAL',
  PROVISIONFORVOID = 'PROVISIONFORVOID',
  PROVISIONFORSPACE = 'PROVISIONFORSPACE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcBuildingSystemTypeEnum */
export enum IfcBuildingSystemTypeEnum {
  FENESTRATION = 'FENESTRATION',
  FOUNDATION = 'FOUNDATION',
  LOADBEARING = 'LOADBEARING',
  OUTERSHELL = 'OUTERSHELL',
  SHADING = 'SHADING',
  TRANSPORT = 'TRANSPORT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcBurnerTypeEnum */
export enum IfcBurnerTypeEnum {
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCableCarrierFittingTypeEnum */
export enum IfcCableCarrierFittingTypeEnum {
  BEND = 'BEND',
  CROSS = 'CROSS',
  REDUCER = 'REDUCER',
  TEE = 'TEE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCableCarrierSegmentTypeEnum */
export enum IfcCableCarrierSegmentTypeEnum {
  CABLELADDERSEGMENT = 'CABLELADDERSEGMENT',
  CABLETRAYSEGMENT = 'CABLETRAYSEGMENT',
  CABLETRUNKINGSEGMENT = 'CABLETRUNKINGSEGMENT',
  CONDUITSEGMENT = 'CONDUITSEGMENT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCableFittingTypeEnum */
export enum IfcCableFittingTypeEnum {
  CONNECTOR = 'CONNECTOR',
  ENTRY = 'ENTRY',
  EXIT = 'EXIT',
  JUNCTION = 'JUNCTION',
  TRANSITION = 'TRANSITION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCableSegmentTypeEnum */
export enum IfcCableSegmentTypeEnum {
  BUSBARSEGMENT = 'BUSBARSEGMENT',
  CABLESEGMENT = 'CABLESEGMENT',
  CONDUCTORSEGMENT = 'CONDUCTORSEGMENT',
  CORESEGMENT = 'CORESEGMENT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcChangeActionEnum */
export enum IfcChangeActionEnum {
  NOCHANGE = 'NOCHANGE',
  MODIFIED = 'MODIFIED',
  ADDED = 'ADDED',
  DELETED = 'DELETED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcChillerTypeEnum */
export enum IfcChillerTypeEnum {
  AIRCOOLED = 'AIRCOOLED',
  WATERCOOLED = 'WATERCOOLED',
  HEATRECOVERY = 'HEATRECOVERY',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcChimneyTypeEnum */
export enum IfcChimneyTypeEnum {
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCoilTypeEnum */
export enum IfcCoilTypeEnum {
  DXCOOLINGCOIL = 'DXCOOLINGCOIL',
  ELECTRICHEATINGCOIL = 'ELECTRICHEATINGCOIL',
  GASHEATINGCOIL = 'GASHEATINGCOIL',
  HYDRONICCOIL = 'HYDRONICCOIL',
  STEAMHEATINGCOIL = 'STEAMHEATINGCOIL',
  WATERCOOLINGCOIL = 'WATERCOOLINGCOIL',
  WATERHEATINGCOIL = 'WATERHEATINGCOIL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcColumnTypeEnum */
export enum IfcColumnTypeEnum {
  COLUMN = 'COLUMN',
  PILASTER = 'PILASTER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCommunicationsApplianceTypeEnum */
export enum IfcCommunicationsApplianceTypeEnum {
  ANTENNA = 'ANTENNA',
  COMPUTER = 'COMPUTER',
  FAX = 'FAX',
  GATEWAY = 'GATEWAY',
  MODEM = 'MODEM',
  NETWORKAPPLIANCE = 'NETWORKAPPLIANCE',
  NETWORKBRIDGE = 'NETWORKBRIDGE',
  NETWORKHUB = 'NETWORKHUB',
  PRINTER = 'PRINTER',
  REPEATER = 'REPEATER',
  ROUTER = 'ROUTER',
  SCANNER = 'SCANNER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcComplexPropertyTemplateTypeEnum */
export enum IfcComplexPropertyTemplateTypeEnum {
  P_COMPLEX = 'P_COMPLEX',
  Q_COMPLEX = 'Q_COMPLEX',
}

/** IfcCompressorTypeEnum */
export enum IfcCompressorTypeEnum {
  DYNAMIC = 'DYNAMIC',
  RECIPROCATING = 'RECIPROCATING',
  ROTARY = 'ROTARY',
  SCROLL = 'SCROLL',
  TROCHOIDAL = 'TROCHOIDAL',
  SINGLESTAGE = 'SINGLESTAGE',
  BOOSTER = 'BOOSTER',
  OPENTYPE = 'OPENTYPE',
  HERMETIC = 'HERMETIC',
  SEMIHERMETIC = 'SEMIHERMETIC',
  WELDEDSHELLHERMETIC = 'WELDEDSHELLHERMETIC',
  ROLLINGPISTON = 'ROLLINGPISTON',
  ROTARYVANE = 'ROTARYVANE',
  SINGLESCREW = 'SINGLESCREW',
  TWINSCREW = 'TWINSCREW',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCondenserTypeEnum */
export enum IfcCondenserTypeEnum {
  AIRCOOLED = 'AIRCOOLED',
  EVAPORATIVECOOLED = 'EVAPORATIVECOOLED',
  WATERCOOLED = 'WATERCOOLED',
  WATERCOOLEDBRAZEDPLATE = 'WATERCOOLEDBRAZEDPLATE',
  WATERCOOLEDSHELLCOIL = 'WATERCOOLEDSHELLCOIL',
  WATERCOOLEDSHELLTUBE = 'WATERCOOLEDSHELLTUBE',
  WATERCOOLEDTUBEINTUBE = 'WATERCOOLEDTUBEINTUBE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcConnectionTypeEnum */
export enum IfcConnectionTypeEnum {
  ATPATH = 'ATPATH',
  ATSTART = 'ATSTART',
  ATEND = 'ATEND',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcConstraintEnum */
export enum IfcConstraintEnum {
  HARD = 'HARD',
  SOFT = 'SOFT',
  ADVISORY = 'ADVISORY',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcConstructionEquipmentResourceTypeEnum */
export enum IfcConstructionEquipmentResourceTypeEnum {
  DEMOLISHING = 'DEMOLISHING',
  EARTHMOVING = 'EARTHMOVING',
  ERECTING = 'ERECTING',
  HEATING = 'HEATING',
  LIGHTING = 'LIGHTING',
  PAVING = 'PAVING',
  PUMPING = 'PUMPING',
  TRANSPORTING = 'TRANSPORTING',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcConstructionMaterialResourceTypeEnum */
export enum IfcConstructionMaterialResourceTypeEnum {
  AGGREGATES = 'AGGREGATES',
  CONCRETE = 'CONCRETE',
  DRYWALL = 'DRYWALL',
  FUEL = 'FUEL',
  GYPSUM = 'GYPSUM',
  MASONRY = 'MASONRY',
  METAL = 'METAL',
  PLASTIC = 'PLASTIC',
  WOOD = 'WOOD',
  NOTDEFINED = 'NOTDEFINED',
  USERDEFINED = 'USERDEFINED',
}

/** IfcConstructionProductResourceTypeEnum */
export enum IfcConstructionProductResourceTypeEnum {
  ASSEMBLY = 'ASSEMBLY',
  FORMWORK = 'FORMWORK',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcControllerTypeEnum */
export enum IfcControllerTypeEnum {
  FLOATING = 'FLOATING',
  PROGRAMMABLE = 'PROGRAMMABLE',
  PROPORTIONAL = 'PROPORTIONAL',
  MULTIPOSITION = 'MULTIPOSITION',
  TWOPOSITION = 'TWOPOSITION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCooledBeamTypeEnum */
export enum IfcCooledBeamTypeEnum {
  ACTIVE = 'ACTIVE',
  PASSIVE = 'PASSIVE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCoolingTowerTypeEnum */
export enum IfcCoolingTowerTypeEnum {
  NATURALDRAFT = 'NATURALDRAFT',
  MECHANICALINDUCEDDRAFT = 'MECHANICALINDUCEDDRAFT',
  MECHANICALFORCEDDRAFT = 'MECHANICALFORCEDDRAFT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCostItemTypeEnum */
export enum IfcCostItemTypeEnum {
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCostScheduleTypeEnum */
export enum IfcCostScheduleTypeEnum {
  BUDGET = 'BUDGET',
  COSTPLAN = 'COSTPLAN',
  ESTIMATE = 'ESTIMATE',
  TENDER = 'TENDER',
  PRICEDBILLOFQUANTITIES = 'PRICEDBILLOFQUANTITIES',
  UNPRICEDBILLOFQUANTITIES = 'UNPRICEDBILLOFQUANTITIES',
  SCHEDULEOFRATES = 'SCHEDULEOFRATES',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCoveringTypeEnum */
export enum IfcCoveringTypeEnum {
  CEILING = 'CEILING',
  FLOORING = 'FLOORING',
  CLADDING = 'CLADDING',
  ROOFING = 'ROOFING',
  MOLDING = 'MOLDING',
  SKIRTINGBOARD = 'SKIRTINGBOARD',
  INSULATION = 'INSULATION',
  MEMBRANE = 'MEMBRANE',
  SLEEVING = 'SLEEVING',
  WRAPPING = 'WRAPPING',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCrewResourceTypeEnum */
export enum IfcCrewResourceTypeEnum {
  OFFICE = 'OFFICE',
  SITE = 'SITE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCurtainWallTypeEnum */
export enum IfcCurtainWallTypeEnum {
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCurveInterpolationEnum */
export enum IfcCurveInterpolationEnum {
  LINEAR = 'LINEAR',
  LOG_LINEAR = 'LOG_LINEAR',
  LOG_LOG = 'LOG_LOG',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDamperTypeEnum */
export enum IfcDamperTypeEnum {
  BACKDRAFTDAMPER = 'BACKDRAFTDAMPER',
  BALANCINGDAMPER = 'BALANCINGDAMPER',
  BLASTDAMPER = 'BLASTDAMPER',
  CONTROLDAMPER = 'CONTROLDAMPER',
  FIREDAMPER = 'FIREDAMPER',
  FIRESMOKEDAMPER = 'FIRESMOKEDAMPER',
  FUMEHOODEXHAUST = 'FUMEHOODEXHAUST',
  GRAVITYDAMPER = 'GRAVITYDAMPER',
  GRAVITYRELIEFDAMPER = 'GRAVITYRELIEFDAMPER',
  RELIEFDAMPER = 'RELIEFDAMPER',
  SMOKEDAMPER = 'SMOKEDAMPER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDataOriginEnum */
export enum IfcDataOriginEnum {
  MEASURED = 'MEASURED',
  PREDICTED = 'PREDICTED',
  SIMULATED = 'SIMULATED',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDerivedUnitEnum */
export enum IfcDerivedUnitEnum {
  ANGULARVELOCITYUNIT = 'ANGULARVELOCITYUNIT',
  AREADENSITYUNIT = 'AREADENSITYUNIT',
  COMPOUNDPLANEANGLEUNIT = 'COMPOUNDPLANEANGLEUNIT',
  DYNAMICVISCOSITYUNIT = 'DYNAMICVISCOSITYUNIT',
  HEATFLUXDENSITYUNIT = 'HEATFLUXDENSITYUNIT',
  INTEGERCOUNTRATEUNIT = 'INTEGERCOUNTRATEUNIT',
  ISOTHERMALMOISTURECAPACITYUNIT = 'ISOTHERMALMOISTURECAPACITYUNIT',
  KINEMATICVISCOSITYUNIT = 'KINEMATICVISCOSITYUNIT',
  LINEARVELOCITYUNIT = 'LINEARVELOCITYUNIT',
  MASSDENSITYUNIT = 'MASSDENSITYUNIT',
  MASSFLOWRATEUNIT = 'MASSFLOWRATEUNIT',
  MOISTUREDIFFUSIVITYUNIT = 'MOISTUREDIFFUSIVITYUNIT',
  MOLECULARWEIGHTUNIT = 'MOLECULARWEIGHTUNIT',
  SPECIFICHEATCAPACITYUNIT = 'SPECIFICHEATCAPACITYUNIT',
  THERMALADMITTANCEUNIT = 'THERMALADMITTANCEUNIT',
  THERMALCONDUCTANCEUNIT = 'THERMALCONDUCTANCEUNIT',
  THERMALRESISTANCEUNIT = 'THERMALRESISTANCEUNIT',
  THERMALTRANSMITTANCEUNIT = 'THERMALTRANSMITTANCEUNIT',
  VAPORPERMEABILITYUNIT = 'VAPORPERMEABILITYUNIT',
  VOLUMETRICFLOWRATEUNIT = 'VOLUMETRICFLOWRATEUNIT',
  ROTATIONALFREQUENCYUNIT = 'ROTATIONALFREQUENCYUNIT',
  TORQUEUNIT = 'TORQUEUNIT',
  MOMENTOFINERTIAUNIT = 'MOMENTOFINERTIAUNIT',
  LINEARMOMENTUNIT = 'LINEARMOMENTUNIT',
  LINEARFORCEUNIT = 'LINEARFORCEUNIT',
  PLANARFORCEUNIT = 'PLANARFORCEUNIT',
  MODULUSOFELASTICITYUNIT = 'MODULUSOFELASTICITYUNIT',
  SHEARMODULUSUNIT = 'SHEARMODULUSUNIT',
  LINEARSTIFFNESSUNIT = 'LINEARSTIFFNESSUNIT',
  ROTATIONALSTIFFNESSUNIT = 'ROTATIONALSTIFFNESSUNIT',
  MODULUSOFSUBGRADEREACTIONUNIT = 'MODULUSOFSUBGRADEREACTIONUNIT',
  ACCELERATIONUNIT = 'ACCELERATIONUNIT',
  CURVATUREUNIT = 'CURVATUREUNIT',
  HEATINGVALUEUNIT = 'HEATINGVALUEUNIT',
  IONCONCENTRATIONUNIT = 'IONCONCENTRATIONUNIT',
  LUMINOUSINTENSITYDISTRIBUTIONUNIT = 'LUMINOUSINTENSITYDISTRIBUTIONUNIT',
  MASSPERLENGTHUNIT = 'MASSPERLENGTHUNIT',
  MODULUSOFLINEARSUBGRADEREACTIONUNIT = 'MODULUSOFLINEARSUBGRADEREACTIONUNIT',
  MODULUSOFROTATIONALSUBGRADEREACTIONUNIT = 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT',
  PHUNIT = 'PHUNIT',
  ROTATIONALMASSUNIT = 'ROTATIONALMASSUNIT',
  SECTIONAREAINTEGRALUNIT = 'SECTIONAREAINTEGRALUNIT',
  SECTIONMODULUSUNIT = 'SECTIONMODULUSUNIT',
  SOUNDPOWERLEVELUNIT = 'SOUNDPOWERLEVELUNIT',
  SOUNDPOWERUNIT = 'SOUNDPOWERUNIT',
  SOUNDPRESSURELEVELUNIT = 'SOUNDPRESSURELEVELUNIT',
  SOUNDPRESSUREUNIT = 'SOUNDPRESSUREUNIT',
  TEMPERATUREGRADIENTUNIT = 'TEMPERATUREGRADIENTUNIT',
  TEMPERATURERATEOFCHANGEUNIT = 'TEMPERATURERATEOFCHANGEUNIT',
  THERMALEXPANSIONCOEFFICIENTUNIT = 'THERMALEXPANSIONCOEFFICIENTUNIT',
  WARPINGCONSTANTUNIT = 'WARPINGCONSTANTUNIT',
  WARPINGMOMENTUNIT = 'WARPINGMOMENTUNIT',
  USERDEFINED = 'USERDEFINED',
}

/** IfcDirectionSenseEnum */
export enum IfcDirectionSenseEnum {
  POSITIVE = 'POSITIVE',
  NEGATIVE = 'NEGATIVE',
}

/** IfcDiscreteAccessoryTypeEnum */
export enum IfcDiscreteAccessoryTypeEnum {
  ANCHORPLATE = 'ANCHORPLATE',
  BRACKET = 'BRACKET',
  SHOE = 'SHOE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDistributionChamberElementTypeEnum */
export enum IfcDistributionChamberElementTypeEnum {
  FORMEDDUCT = 'FORMEDDUCT',
  INSPECTIONCHAMBER = 'INSPECTIONCHAMBER',
  INSPECTIONPIT = 'INSPECTIONPIT',
  MANHOLE = 'MANHOLE',
  METERCHAMBER = 'METERCHAMBER',
  SUMP = 'SUMP',
  TRENCH = 'TRENCH',
  VALVECHAMBER = 'VALVECHAMBER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDistributionPortTypeEnum */
export enum IfcDistributionPortTypeEnum {
  CABLE = 'CABLE',
  CABLECARRIER = 'CABLECARRIER',
  DUCT = 'DUCT',
  PIPE = 'PIPE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDistributionSystemEnum */
export enum IfcDistributionSystemEnum {
  AIRCONDITIONING = 'AIRCONDITIONING',
  AUDIOVISUAL = 'AUDIOVISUAL',
  CHEMICAL = 'CHEMICAL',
  CHILLEDWATER = 'CHILLEDWATER',
  COMMUNICATION = 'COMMUNICATION',
  COMPRESSEDAIR = 'COMPRESSEDAIR',
  CONDENSERWATER = 'CONDENSERWATER',
  CONTROL = 'CONTROL',
  CONVEYING = 'CONVEYING',
  DATA = 'DATA',
  DISPOSAL = 'DISPOSAL',
  DOMESTICCOLDWATER = 'DOMESTICCOLDWATER',
  DOMESTICHOTWATER = 'DOMESTICHOTWATER',
  DRAINAGE = 'DRAINAGE',
  EARTHING = 'EARTHING',
  ELECTRICAL = 'ELECTRICAL',
  ELECTROACOUSTIC = 'ELECTROACOUSTIC',
  EXHAUST = 'EXHAUST',
  FIREPROTECTION = 'FIREPROTECTION',
  FUEL = 'FUEL',
  GAS = 'GAS',
  HAZARDOUS = 'HAZARDOUS',
  HEATING = 'HEATING',
  LIGHTING = 'LIGHTING',
  LIGHTNINGPROTECTION = 'LIGHTNINGPROTECTION',
  MUNICIPALSOLIDWASTE = 'MUNICIPALSOLIDWASTE',
  OIL = 'OIL',
  OPERATIONAL = 'OPERATIONAL',
  POWERGENERATION = 'POWERGENERATION',
  RAINWATER = 'RAINWATER',
  REFRIGERATION = 'REFRIGERATION',
  SECURITY = 'SECURITY',
  SEWAGE = 'SEWAGE',
  SIGNAL = 'SIGNAL',
  STORMWATER = 'STORMWATER',
  TELEPHONE = 'TELEPHONE',
  TV = 'TV',
  VACUUM = 'VACUUM',
  VENT = 'VENT',
  VENTILATION = 'VENTILATION',
  WASTEWATER = 'WASTEWATER',
  WATERSUPPLY = 'WATERSUPPLY',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDocumentConfidentialityEnum */
export enum IfcDocumentConfidentialityEnum {
  PUBLIC = 'PUBLIC',
  RESTRICTED = 'RESTRICTED',
  CONFIDENTIAL = 'CONFIDENTIAL',
  PERSONAL = 'PERSONAL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDocumentStatusEnum */
export enum IfcDocumentStatusEnum {
  DRAFT = 'DRAFT',
  FINALDRAFT = 'FINALDRAFT',
  FINAL = 'FINAL',
  REVISION = 'REVISION',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDoorPanelOperationEnum */
export enum IfcDoorPanelOperationEnum {
  SWINGING = 'SWINGING',
  DOUBLE_ACTING = 'DOUBLE_ACTING',
  SLIDING = 'SLIDING',
  FOLDING = 'FOLDING',
  REVOLVING = 'REVOLVING',
  ROLLINGUP = 'ROLLINGUP',
  FIXEDPANEL = 'FIXEDPANEL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDoorPanelPositionEnum */
export enum IfcDoorPanelPositionEnum {
  LEFT = 'LEFT',
  MIDDLE = 'MIDDLE',
  RIGHT = 'RIGHT',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDoorStyleConstructionEnum */
export enum IfcDoorStyleConstructionEnum {
  ALUMINIUM = 'ALUMINIUM',
  HIGH_GRADE_STEEL = 'HIGH_GRADE_STEEL',
  STEEL = 'STEEL',
  WOOD = 'WOOD',
  ALUMINIUM_WOOD = 'ALUMINIUM_WOOD',
  ALUMINIUM_PLASTIC = 'ALUMINIUM_PLASTIC',
  PLASTIC = 'PLASTIC',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDoorStyleOperationEnum */
export enum IfcDoorStyleOperationEnum {
  SINGLE_SWING_LEFT = 'SINGLE_SWING_LEFT',
  SINGLE_SWING_RIGHT = 'SINGLE_SWING_RIGHT',
  DOUBLE_DOOR_SINGLE_SWING = 'DOUBLE_DOOR_SINGLE_SWING',
  DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT',
  DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT',
  DOUBLE_SWING_LEFT = 'DOUBLE_SWING_LEFT',
  DOUBLE_SWING_RIGHT = 'DOUBLE_SWING_RIGHT',
  DOUBLE_DOOR_DOUBLE_SWING = 'DOUBLE_DOOR_DOUBLE_SWING',
  SLIDING_TO_LEFT = 'SLIDING_TO_LEFT',
  SLIDING_TO_RIGHT = 'SLIDING_TO_RIGHT',
  DOUBLE_DOOR_SLIDING = 'DOUBLE_DOOR_SLIDING',
  FOLDING_TO_LEFT = 'FOLDING_TO_LEFT',
  FOLDING_TO_RIGHT = 'FOLDING_TO_RIGHT',
  DOUBLE_DOOR_FOLDING = 'DOUBLE_DOOR_FOLDING',
  REVOLVING = 'REVOLVING',
  ROLLINGUP = 'ROLLINGUP',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDoorTypeEnum */
export enum IfcDoorTypeEnum {
  DOOR = 'DOOR',
  GATE = 'GATE',
  TRAPDOOR = 'TRAPDOOR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDoorTypeOperationEnum */
export enum IfcDoorTypeOperationEnum {
  SINGLE_SWING_LEFT = 'SINGLE_SWING_LEFT',
  SINGLE_SWING_RIGHT = 'SINGLE_SWING_RIGHT',
  DOUBLE_DOOR_SINGLE_SWING = 'DOUBLE_DOOR_SINGLE_SWING',
  DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT',
  DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT',
  DOUBLE_SWING_LEFT = 'DOUBLE_SWING_LEFT',
  DOUBLE_SWING_RIGHT = 'DOUBLE_SWING_RIGHT',
  DOUBLE_DOOR_DOUBLE_SWING = 'DOUBLE_DOOR_DOUBLE_SWING',
  SLIDING_TO_LEFT = 'SLIDING_TO_LEFT',
  SLIDING_TO_RIGHT = 'SLIDING_TO_RIGHT',
  DOUBLE_DOOR_SLIDING = 'DOUBLE_DOOR_SLIDING',
  FOLDING_TO_LEFT = 'FOLDING_TO_LEFT',
  FOLDING_TO_RIGHT = 'FOLDING_TO_RIGHT',
  DOUBLE_DOOR_FOLDING = 'DOUBLE_DOOR_FOLDING',
  REVOLVING = 'REVOLVING',
  ROLLINGUP = 'ROLLINGUP',
  SWING_FIXED_LEFT = 'SWING_FIXED_LEFT',
  SWING_FIXED_RIGHT = 'SWING_FIXED_RIGHT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDuctFittingTypeEnum */
export enum IfcDuctFittingTypeEnum {
  BEND = 'BEND',
  CONNECTOR = 'CONNECTOR',
  ENTRY = 'ENTRY',
  EXIT = 'EXIT',
  JUNCTION = 'JUNCTION',
  OBSTRUCTION = 'OBSTRUCTION',
  TRANSITION = 'TRANSITION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDuctSegmentTypeEnum */
export enum IfcDuctSegmentTypeEnum {
  RIGIDSEGMENT = 'RIGIDSEGMENT',
  FLEXIBLESEGMENT = 'FLEXIBLESEGMENT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDuctSilencerTypeEnum */
export enum IfcDuctSilencerTypeEnum {
  FLATOVAL = 'FLATOVAL',
  RECTANGULAR = 'RECTANGULAR',
  ROUND = 'ROUND',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcElectricApplianceTypeEnum */
export enum IfcElectricApplianceTypeEnum {
  DISHWASHER = 'DISHWASHER',
  ELECTRICCOOKER = 'ELECTRICCOOKER',
  FREESTANDINGELECTRICHEATER = 'FREESTANDINGELECTRICHEATER',
  FREESTANDINGFAN = 'FREESTANDINGFAN',
  FREESTANDINGWATERHEATER = 'FREESTANDINGWATERHEATER',
  FREESTANDINGWATERCOOLER = 'FREESTANDINGWATERCOOLER',
  FREEZER = 'FREEZER',
  FRIDGE_FREEZER = 'FRIDGE_FREEZER',
  HANDDRYER = 'HANDDRYER',
  KITCHENMACHINE = 'KITCHENMACHINE',
  MICROWAVE = 'MICROWAVE',
  PHOTOCOPIER = 'PHOTOCOPIER',
  REFRIGERATOR = 'REFRIGERATOR',
  TUMBLEDRYER = 'TUMBLEDRYER',
  VENDINGMACHINE = 'VENDINGMACHINE',
  WASHINGMACHINE = 'WASHINGMACHINE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcElectricDistributionBoardTypeEnum */
export enum IfcElectricDistributionBoardTypeEnum {
  CONSUMERUNIT = 'CONSUMERUNIT',
  DISTRIBUTIONBOARD = 'DISTRIBUTIONBOARD',
  MOTORCONTROLCENTRE = 'MOTORCONTROLCENTRE',
  SWITCHBOARD = 'SWITCHBOARD',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcElectricFlowStorageDeviceTypeEnum */
export enum IfcElectricFlowStorageDeviceTypeEnum {
  BATTERY = 'BATTERY',
  CAPACITORBANK = 'CAPACITORBANK',
  HARMONICFILTER = 'HARMONICFILTER',
  INDUCTORBANK = 'INDUCTORBANK',
  UPS = 'UPS',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcElectricGeneratorTypeEnum */
export enum IfcElectricGeneratorTypeEnum {
  CHP = 'CHP',
  ENGINEGENERATOR = 'ENGINEGENERATOR',
  STANDALONE = 'STANDALONE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcElectricMotorTypeEnum */
export enum IfcElectricMotorTypeEnum {
  DC = 'DC',
  INDUCTION = 'INDUCTION',
  POLYPHASE = 'POLYPHASE',
  RELUCTANCESYNCHRONOUS = 'RELUCTANCESYNCHRONOUS',
  SYNCHRONOUS = 'SYNCHRONOUS',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcElectricTimeControlTypeEnum */
export enum IfcElectricTimeControlTypeEnum {
  TIMECLOCK = 'TIMECLOCK',
  TIMEDELAY = 'TIMEDELAY',
  RELAY = 'RELAY',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcElementAssemblyTypeEnum */
export enum IfcElementAssemblyTypeEnum {
  ACCESSORY_ASSEMBLY = 'ACCESSORY_ASSEMBLY',
  ARCH = 'ARCH',
  BEAM_GRID = 'BEAM_GRID',
  BRACED_FRAME = 'BRACED_FRAME',
  GIRDER = 'GIRDER',
  REINFORCEMENT_UNIT = 'REINFORCEMENT_UNIT',
  RIGID_FRAME = 'RIGID_FRAME',
  SLAB_FIELD = 'SLAB_FIELD',
  TRUSS = 'TRUSS',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcElementCompositionEnum */
export enum IfcElementCompositionEnum {
  COMPLEX = 'COMPLEX',
  ELEMENT = 'ELEMENT',
  PARTIAL = 'PARTIAL',
}

/** IfcEngineTypeEnum */
export enum IfcEngineTypeEnum {
  EXTERNALCOMBUSTION = 'EXTERNALCOMBUSTION',
  INTERNALCOMBUSTION = 'INTERNALCOMBUSTION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcEvaporativeCoolerTypeEnum */
export enum IfcEvaporativeCoolerTypeEnum {
  DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER = 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER',
  DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER = 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER',
  DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER = 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER',
  DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER = 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER',
  DIRECTEVAPORATIVEAIRWASHER = 'DIRECTEVAPORATIVEAIRWASHER',
  INDIRECTEVAPORATIVEPACKAGEAIRCOOLER = 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER',
  INDIRECTEVAPORATIVEWETCOIL = 'INDIRECTEVAPORATIVEWETCOIL',
  INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER = 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER',
  INDIRECTDIRECTCOMBINATION = 'INDIRECTDIRECTCOMBINATION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcEvaporatorTypeEnum */
export enum IfcEvaporatorTypeEnum {
  DIRECTEXPANSION = 'DIRECTEXPANSION',
  DIRECTEXPANSIONSHELLANDTUBE = 'DIRECTEXPANSIONSHELLANDTUBE',
  DIRECTEXPANSIONTUBEINTUBE = 'DIRECTEXPANSIONTUBEINTUBE',
  DIRECTEXPANSIONBRAZEDPLATE = 'DIRECTEXPANSIONBRAZEDPLATE',
  FLOODEDSHELLANDTUBE = 'FLOODEDSHELLANDTUBE',
  SHELLANDCOIL = 'SHELLANDCOIL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcEventTriggerTypeEnum */
export enum IfcEventTriggerTypeEnum {
  EVENTRULE = 'EVENTRULE',
  EVENTMESSAGE = 'EVENTMESSAGE',
  EVENTTIME = 'EVENTTIME',
  EVENTCOMPLEX = 'EVENTCOMPLEX',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcEventTypeEnum */
export enum IfcEventTypeEnum {
  STARTEVENT = 'STARTEVENT',
  ENDEVENT = 'ENDEVENT',
  INTERMEDIATEEVENT = 'INTERMEDIATEEVENT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcExternalSpatialElementTypeEnum */
export enum IfcExternalSpatialElementTypeEnum {
  EXTERNAL = 'EXTERNAL',
  EXTERNAL_EARTH = 'EXTERNAL_EARTH',
  EXTERNAL_WATER = 'EXTERNAL_WATER',
  EXTERNAL_FIRE = 'EXTERNAL_FIRE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcFanTypeEnum */
export enum IfcFanTypeEnum {
  CENTRIFUGALFORWARDCURVED = 'CENTRIFUGALFORWARDCURVED',
  CENTRIFUGALRADIAL = 'CENTRIFUGALRADIAL',
  CENTRIFUGALBACKWARDINCLINEDCURVED = 'CENTRIFUGALBACKWARDINCLINEDCURVED',
  CENTRIFUGALAIRFOIL = 'CENTRIFUGALAIRFOIL',
  TUBEAXIAL = 'TUBEAXIAL',
  VANEAXIAL = 'VANEAXIAL',
  PROPELLORAXIAL = 'PROPELLORAXIAL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcFastenerTypeEnum */
export enum IfcFastenerTypeEnum {
  GLUE = 'GLUE',
  MORTAR = 'MORTAR',
  WELD = 'WELD',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcFilterTypeEnum */
export enum IfcFilterTypeEnum {
  AIRPARTICLEFILTER = 'AIRPARTICLEFILTER',
  COMPRESSEDAIRFILTER = 'COMPRESSEDAIRFILTER',
  ODORFILTER = 'ODORFILTER',
  OILFILTER = 'OILFILTER',
  STRAINER = 'STRAINER',
  WATERFILTER = 'WATERFILTER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcFireSuppressionTerminalTypeEnum */
export enum IfcFireSuppressionTerminalTypeEnum {
  BREECHINGINLET = 'BREECHINGINLET',
  FIREHYDRANT = 'FIREHYDRANT',
  HOSEREEL = 'HOSEREEL',
  SPRINKLER = 'SPRINKLER',
  SPRINKLERDEFLECTOR = 'SPRINKLERDEFLECTOR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcFlowDirectionEnum */
export enum IfcFlowDirectionEnum {
  SOURCE = 'SOURCE',
  SINK = 'SINK',
  SOURCEANDSINK = 'SOURCEANDSINK',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcFlowInstrumentTypeEnum */
export enum IfcFlowInstrumentTypeEnum {
  PRESSUREGAUGE = 'PRESSUREGAUGE',
  THERMOMETER = 'THERMOMETER',
  AMMETER = 'AMMETER',
  FREQUENCYMETER = 'FREQUENCYMETER',
  POWERFACTORMETER = 'POWERFACTORMETER',
  PHASEANGLEMETER = 'PHASEANGLEMETER',
  VOLTMETER_PEAK = 'VOLTMETER_PEAK',
  VOLTMETER_RMS = 'VOLTMETER_RMS',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcFlowMeterTypeEnum */
export enum IfcFlowMeterTypeEnum {
  ENERGYMETER = 'ENERGYMETER',
  GASMETER = 'GASMETER',
  OILMETER = 'OILMETER',
  WATERMETER = 'WATERMETER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcFootingTypeEnum */
export enum IfcFootingTypeEnum {
  CAISSON_FOUNDATION = 'CAISSON_FOUNDATION',
  FOOTING_BEAM = 'FOOTING_BEAM',
  PAD_FOOTING = 'PAD_FOOTING',
  PILE_CAP = 'PILE_CAP',
  STRIP_FOOTING = 'STRIP_FOOTING',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcFurnitureTypeEnum */
export enum IfcFurnitureTypeEnum {
  CHAIR = 'CHAIR',
  TABLE = 'TABLE',
  DESK = 'DESK',
  BED = 'BED',
  FILECABINET = 'FILECABINET',
  SHELF = 'SHELF',
  SOFA = 'SOFA',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcGeographicElementTypeEnum */
export enum IfcGeographicElementTypeEnum {
  TERRAIN = 'TERRAIN',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcGeometricProjectionEnum */
export enum IfcGeometricProjectionEnum {
  GRAPH_VIEW = 'GRAPH_VIEW',
  SKETCH_VIEW = 'SKETCH_VIEW',
  MODEL_VIEW = 'MODEL_VIEW',
  PLAN_VIEW = 'PLAN_VIEW',
  REFLECTED_PLAN_VIEW = 'REFLECTED_PLAN_VIEW',
  SECTION_VIEW = 'SECTION_VIEW',
  ELEVATION_VIEW = 'ELEVATION_VIEW',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcGlobalOrLocalEnum */
export enum IfcGlobalOrLocalEnum {
  GLOBAL_COORDS = 'GLOBAL_COORDS',
  LOCAL_COORDS = 'LOCAL_COORDS',
}

/** IfcGridTypeEnum */
export enum IfcGridTypeEnum {
  RECTANGULAR = 'RECTANGULAR',
  RADIAL = 'RADIAL',
  TRIANGULAR = 'TRIANGULAR',
  IRREGULAR = 'IRREGULAR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcHeatExchangerTypeEnum */
export enum IfcHeatExchangerTypeEnum {
  PLATE = 'PLATE',
  SHELLANDTUBE = 'SHELLANDTUBE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcHumidifierTypeEnum */
export enum IfcHumidifierTypeEnum {
  STEAMINJECTION = 'STEAMINJECTION',
  ADIABATICAIRWASHER = 'ADIABATICAIRWASHER',
  ADIABATICPAN = 'ADIABATICPAN',
  ADIABATICWETTEDELEMENT = 'ADIABATICWETTEDELEMENT',
  ADIABATICATOMIZING = 'ADIABATICATOMIZING',
  ADIABATICULTRASONIC = 'ADIABATICULTRASONIC',
  ADIABATICRIGIDMEDIA = 'ADIABATICRIGIDMEDIA',
  ADIABATICCOMPRESSEDAIRNOZZLE = 'ADIABATICCOMPRESSEDAIRNOZZLE',
  ASSISTEDELECTRIC = 'ASSISTEDELECTRIC',
  ASSISTEDNATURALGAS = 'ASSISTEDNATURALGAS',
  ASSISTEDPROPANE = 'ASSISTEDPROPANE',
  ASSISTEDBUTANE = 'ASSISTEDBUTANE',
  ASSISTEDSTEAM = 'ASSISTEDSTEAM',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcInterceptorTypeEnum */
export enum IfcInterceptorTypeEnum {
  CYCLONIC = 'CYCLONIC',
  GREASE = 'GREASE',
  OIL = 'OIL',
  PETROL = 'PETROL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcInternalOrExternalEnum */
export enum IfcInternalOrExternalEnum {
  INTERNAL = 'INTERNAL',
  EXTERNAL = 'EXTERNAL',
  EXTERNAL_EARTH = 'EXTERNAL_EARTH',
  EXTERNAL_WATER = 'EXTERNAL_WATER',
  EXTERNAL_FIRE = 'EXTERNAL_FIRE',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcInventoryTypeEnum */
export enum IfcInventoryTypeEnum {
  ASSETINVENTORY = 'ASSETINVENTORY',
  SPACEINVENTORY = 'SPACEINVENTORY',
  FURNITUREINVENTORY = 'FURNITUREINVENTORY',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcJunctionBoxTypeEnum */
export enum IfcJunctionBoxTypeEnum {
  DATA = 'DATA',
  POWER = 'POWER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcKnotType */
export enum IfcKnotType {
  UNIFORM_KNOTS = 'UNIFORM_KNOTS',
  QUASI_UNIFORM_KNOTS = 'QUASI_UNIFORM_KNOTS',
  PIECEWISE_BEZIER_KNOTS = 'PIECEWISE_BEZIER_KNOTS',
  UNSPECIFIED = 'UNSPECIFIED',
}

/** IfcLaborResourceTypeEnum */
export enum IfcLaborResourceTypeEnum {
  ADMINISTRATION = 'ADMINISTRATION',
  CARPENTRY = 'CARPENTRY',
  CLEANING = 'CLEANING',
  CONCRETE = 'CONCRETE',
  DRYWALL = 'DRYWALL',
  ELECTRIC = 'ELECTRIC',
  FINISHING = 'FINISHING',
  FLOORING = 'FLOORING',
  GENERAL = 'GENERAL',
  HVAC = 'HVAC',
  LANDSCAPING = 'LANDSCAPING',
  MASONRY = 'MASONRY',
  PAINTING = 'PAINTING',
  PAVING = 'PAVING',
  PLUMBING = 'PLUMBING',
  ROOFING = 'ROOFING',
  SITEGRADING = 'SITEGRADING',
  STEELWORK = 'STEELWORK',
  SURVEYING = 'SURVEYING',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcLampTypeEnum */
export enum IfcLampTypeEnum {
  COMPACTFLUORESCENT = 'COMPACTFLUORESCENT',
  FLUORESCENT = 'FLUORESCENT',
  HALOGEN = 'HALOGEN',
  HIGHPRESSUREMERCURY = 'HIGHPRESSUREMERCURY',
  HIGHPRESSURESODIUM = 'HIGHPRESSURESODIUM',
  LED = 'LED',
  METALHALIDE = 'METALHALIDE',
  OLED = 'OLED',
  TUNGSTENFILAMENT = 'TUNGSTENFILAMENT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcLayerSetDirectionEnum */
export enum IfcLayerSetDirectionEnum {
  AXIS1 = 'AXIS1',
  AXIS2 = 'AXIS2',
  AXIS3 = 'AXIS3',
}

/** IfcLightDistributionCurveEnum */
export enum IfcLightDistributionCurveEnum {
  TYPE_A = 'TYPE_A',
  TYPE_B = 'TYPE_B',
  TYPE_C = 'TYPE_C',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcLightEmissionSourceEnum */
export enum IfcLightEmissionSourceEnum {
  COMPACTFLUORESCENT = 'COMPACTFLUORESCENT',
  FLUORESCENT = 'FLUORESCENT',
  HIGHPRESSUREMERCURY = 'HIGHPRESSUREMERCURY',
  HIGHPRESSURESODIUM = 'HIGHPRESSURESODIUM',
  LIGHTEMITTINGDIODE = 'LIGHTEMITTINGDIODE',
  LOWPRESSURESODIUM = 'LOWPRESSURESODIUM',
  LOWVOLTAGEHALOGEN = 'LOWVOLTAGEHALOGEN',
  MAINVOLTAGEHALOGEN = 'MAINVOLTAGEHALOGEN',
  METALHALIDE = 'METALHALIDE',
  TUNGSTENFILAMENT = 'TUNGSTENFILAMENT',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcLightFixtureTypeEnum */
export enum IfcLightFixtureTypeEnum {
  POINTSOURCE = 'POINTSOURCE',
  DIRECTIONSOURCE = 'DIRECTIONSOURCE',
  SECURITYLIGHTING = 'SECURITYLIGHTING',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcLoadGroupTypeEnum */
export enum IfcLoadGroupTypeEnum {
  LOAD_GROUP = 'LOAD_GROUP',
  LOAD_CASE = 'LOAD_CASE',
  LOAD_COMBINATION = 'LOAD_COMBINATION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcLogicalOperatorEnum */
export enum IfcLogicalOperatorEnum {
  LOGICALAND = 'LOGICALAND',
  LOGICALOR = 'LOGICALOR',
  LOGICALXOR = 'LOGICALXOR',
  LOGICALNOTAND = 'LOGICALNOTAND',
  LOGICALNOTOR = 'LOGICALNOTOR',
}

/** IfcMechanicalFastenerTypeEnum */
export enum IfcMechanicalFastenerTypeEnum {
  ANCHORBOLT = 'ANCHORBOLT',
  BOLT = 'BOLT',
  DOWEL = 'DOWEL',
  NAIL = 'NAIL',
  NAILPLATE = 'NAILPLATE',
  RIVET = 'RIVET',
  SCREW = 'SCREW',
  SHEARCONNECTOR = 'SHEARCONNECTOR',
  STAPLE = 'STAPLE',
  STUDSHEARCONNECTOR = 'STUDSHEARCONNECTOR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcMedicalDeviceTypeEnum */
export enum IfcMedicalDeviceTypeEnum {
  AIRSTATION = 'AIRSTATION',
  FEEDAIRUNIT = 'FEEDAIRUNIT',
  OXYGENGENERATOR = 'OXYGENGENERATOR',
  OXYGENPLANT = 'OXYGENPLANT',
  VACUUMSTATION = 'VACUUMSTATION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcMemberTypeEnum */
export enum IfcMemberTypeEnum {
  BRACE = 'BRACE',
  CHORD = 'CHORD',
  COLLAR = 'COLLAR',
  MEMBER = 'MEMBER',
  MULLION = 'MULLION',
  PLATE = 'PLATE',
  POST = 'POST',
  PURLIN = 'PURLIN',
  RAFTER = 'RAFTER',
  STRINGER = 'STRINGER',
  STRUT = 'STRUT',
  STUD = 'STUD',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcMotorConnectionTypeEnum */
export enum IfcMotorConnectionTypeEnum {
  BELTDRIVE = 'BELTDRIVE',
  COUPLING = 'COUPLING',
  DIRECTDRIVE = 'DIRECTDRIVE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcNullStyle */
export enum IfcNullStyle {
  NULL = 'NULL',
}

/** IfcObjectTypeEnum */
export enum IfcObjectTypeEnum {
  PRODUCT = 'PRODUCT',
  PROCESS = 'PROCESS',
  CONTROL = 'CONTROL',
  RESOURCE = 'RESOURCE',
  ACTOR = 'ACTOR',
  GROUP = 'GROUP',
  PROJECT = 'PROJECT',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcObjectiveEnum */
export enum IfcObjectiveEnum {
  CODECOMPLIANCE = 'CODECOMPLIANCE',
  CODEWAIVER = 'CODEWAIVER',
  DESIGNINTENT = 'DESIGNINTENT',
  EXTERNAL = 'EXTERNAL',
  HEALTHANDSAFETY = 'HEALTHANDSAFETY',
  MERGECONFLICT = 'MERGECONFLICT',
  MODELVIEW = 'MODELVIEW',
  PARAMETER = 'PARAMETER',
  REQUIREMENT = 'REQUIREMENT',
  SPECIFICATION = 'SPECIFICATION',
  TRIGGERCONDITION = 'TRIGGERCONDITION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcOccupantTypeEnum */
export enum IfcOccupantTypeEnum {
  ASSIGNEE = 'ASSIGNEE',
  ASSIGNOR = 'ASSIGNOR',
  LESSEE = 'LESSEE',
  LESSOR = 'LESSOR',
  LETTINGAGENT = 'LETTINGAGENT',
  OWNER = 'OWNER',
  TENANT = 'TENANT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcOpeningElementTypeEnum */
export enum IfcOpeningElementTypeEnum {
  OPENING = 'OPENING',
  RECESS = 'RECESS',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcOutletTypeEnum */
export enum IfcOutletTypeEnum {
  AUDIOVISUALOUTLET = 'AUDIOVISUALOUTLET',
  COMMUNICATIONSOUTLET = 'COMMUNICATIONSOUTLET',
  POWEROUTLET = 'POWEROUTLET',
  DATAOUTLET = 'DATAOUTLET',
  TELEPHONEOUTLET = 'TELEPHONEOUTLET',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPerformanceHistoryTypeEnum */
export enum IfcPerformanceHistoryTypeEnum {
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPermeableCoveringOperationEnum */
export enum IfcPermeableCoveringOperationEnum {
  GRILL = 'GRILL',
  LOUVER = 'LOUVER',
  SCREEN = 'SCREEN',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPermitTypeEnum */
export enum IfcPermitTypeEnum {
  ACCESS = 'ACCESS',
  BUILDING = 'BUILDING',
  WORK = 'WORK',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPhysicalOrVirtualEnum */
export enum IfcPhysicalOrVirtualEnum {
  PHYSICAL = 'PHYSICAL',
  VIRTUAL = 'VIRTUAL',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPileConstructionEnum */
export enum IfcPileConstructionEnum {
  CAST_IN_PLACE = 'CAST_IN_PLACE',
  COMPOSITE = 'COMPOSITE',
  PRECAST_CONCRETE = 'PRECAST_CONCRETE',
  PREFAB_STEEL = 'PREFAB_STEEL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPileTypeEnum */
export enum IfcPileTypeEnum {
  BORED = 'BORED',
  DRIVEN = 'DRIVEN',
  JETGROUTING = 'JETGROUTING',
  COHESION = 'COHESION',
  FRICTION = 'FRICTION',
  SUPPORT = 'SUPPORT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPipeFittingTypeEnum */
export enum IfcPipeFittingTypeEnum {
  BEND = 'BEND',
  CONNECTOR = 'CONNECTOR',
  ENTRY = 'ENTRY',
  EXIT = 'EXIT',
  JUNCTION = 'JUNCTION',
  OBSTRUCTION = 'OBSTRUCTION',
  TRANSITION = 'TRANSITION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPipeSegmentTypeEnum */
export enum IfcPipeSegmentTypeEnum {
  CULVERT = 'CULVERT',
  FLEXIBLESEGMENT = 'FLEXIBLESEGMENT',
  RIGIDSEGMENT = 'RIGIDSEGMENT',
  GUTTER = 'GUTTER',
  SPOOL = 'SPOOL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPlateTypeEnum */
export enum IfcPlateTypeEnum {
  CURTAIN_PANEL = 'CURTAIN_PANEL',
  SHEET = 'SHEET',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPreferredSurfaceCurveRepresentation */
export enum IfcPreferredSurfaceCurveRepresentation {
  CURVE3D = 'CURVE3D',
  PCURVE_S1 = 'PCURVE_S1',
  PCURVE_S2 = 'PCURVE_S2',
}

/** IfcProcedureTypeEnum */
export enum IfcProcedureTypeEnum {
  ADVICE_CAUTION = 'ADVICE_CAUTION',
  ADVICE_NOTE = 'ADVICE_NOTE',
  ADVICE_WARNING = 'ADVICE_WARNING',
  CALIBRATION = 'CALIBRATION',
  DIAGNOSTIC = 'DIAGNOSTIC',
  SHUTDOWN = 'SHUTDOWN',
  STARTUP = 'STARTUP',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcProfileTypeEnum */
export enum IfcProfileTypeEnum {
  CURVE = 'CURVE',
  AREA = 'AREA',
}

/** IfcProjectOrderTypeEnum */
export enum IfcProjectOrderTypeEnum {
  CHANGEORDER = 'CHANGEORDER',
  MAINTENANCEWORKORDER = 'MAINTENANCEWORKORDER',
  MOVEORDER = 'MOVEORDER',
  PURCHASEORDER = 'PURCHASEORDER',
  WORKORDER = 'WORKORDER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcProjectedOrTrueLengthEnum */
export enum IfcProjectedOrTrueLengthEnum {
  PROJECTED_LENGTH = 'PROJECTED_LENGTH',
  TRUE_LENGTH = 'TRUE_LENGTH',
}

/** IfcProjectionElementTypeEnum */
export enum IfcProjectionElementTypeEnum {
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPropertySetTemplateTypeEnum */
export enum IfcPropertySetTemplateTypeEnum {
  PSET_TYPEDRIVENONLY = 'PSET_TYPEDRIVENONLY',
  PSET_TYPEDRIVENOVERRIDE = 'PSET_TYPEDRIVENOVERRIDE',
  PSET_OCCURRENCEDRIVEN = 'PSET_OCCURRENCEDRIVEN',
  PSET_PERFORMANCEDRIVEN = 'PSET_PERFORMANCEDRIVEN',
  QTO_TYPEDRIVENONLY = 'QTO_TYPEDRIVENONLY',
  QTO_TYPEDRIVENOVERRIDE = 'QTO_TYPEDRIVENOVERRIDE',
  QTO_OCCURRENCEDRIVEN = 'QTO_OCCURRENCEDRIVEN',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcProtectiveDeviceTrippingUnitTypeEnum */
export enum IfcProtectiveDeviceTrippingUnitTypeEnum {
  ELECTRONIC = 'ELECTRONIC',
  ELECTROMAGNETIC = 'ELECTROMAGNETIC',
  RESIDUALCURRENT = 'RESIDUALCURRENT',
  THERMAL = 'THERMAL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcProtectiveDeviceTypeEnum */
export enum IfcProtectiveDeviceTypeEnum {
  CIRCUITBREAKER = 'CIRCUITBREAKER',
  EARTHLEAKAGECIRCUITBREAKER = 'EARTHLEAKAGECIRCUITBREAKER',
  EARTHINGSWITCH = 'EARTHINGSWITCH',
  FUSEDISCONNECTOR = 'FUSEDISCONNECTOR',
  RESIDUALCURRENTCIRCUITBREAKER = 'RESIDUALCURRENTCIRCUITBREAKER',
  RESIDUALCURRENTSWITCH = 'RESIDUALCURRENTSWITCH',
  VARISTOR = 'VARISTOR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPumpTypeEnum */
export enum IfcPumpTypeEnum {
  CIRCULATOR = 'CIRCULATOR',
  ENDSUCTION = 'ENDSUCTION',
  SPLITCASE = 'SPLITCASE',
  SUBMERSIBLEPUMP = 'SUBMERSIBLEPUMP',
  SUMPPUMP = 'SUMPPUMP',
  VERTICALINLINE = 'VERTICALINLINE',
  VERTICALTURBINE = 'VERTICALTURBINE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcRailingTypeEnum */
export enum IfcRailingTypeEnum {
  HANDRAIL = 'HANDRAIL',
  GUARDRAIL = 'GUARDRAIL',
  BALUSTRADE = 'BALUSTRADE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcRampFlightTypeEnum */
export enum IfcRampFlightTypeEnum {
  STRAIGHT = 'STRAIGHT',
  SPIRAL = 'SPIRAL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcRampTypeEnum */
export enum IfcRampTypeEnum {
  STRAIGHT_RUN_RAMP = 'STRAIGHT_RUN_RAMP',
  TWO_STRAIGHT_RUN_RAMP = 'TWO_STRAIGHT_RUN_RAMP',
  QUARTER_TURN_RAMP = 'QUARTER_TURN_RAMP',
  TWO_QUARTER_TURN_RAMP = 'TWO_QUARTER_TURN_RAMP',
  HALF_TURN_RAMP = 'HALF_TURN_RAMP',
  SPIRAL_RAMP = 'SPIRAL_RAMP',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcRecurrenceTypeEnum */
export enum IfcRecurrenceTypeEnum {
  DAILY = 'DAILY',
  WEEKLY = 'WEEKLY',
  MONTHLY_BY_DAY_OF_MONTH = 'MONTHLY_BY_DAY_OF_MONTH',
  MONTHLY_BY_POSITION = 'MONTHLY_BY_POSITION',
  BY_DAY_COUNT = 'BY_DAY_COUNT',
  BY_WEEKDAY_COUNT = 'BY_WEEKDAY_COUNT',
  YEARLY_BY_DAY_OF_MONTH = 'YEARLY_BY_DAY_OF_MONTH',
  YEARLY_BY_POSITION = 'YEARLY_BY_POSITION',
}

/** IfcReflectanceMethodEnum */
export enum IfcReflectanceMethodEnum {
  BLINN = 'BLINN',
  FLAT = 'FLAT',
  GLASS = 'GLASS',
  MATT = 'MATT',
  METAL = 'METAL',
  MIRROR = 'MIRROR',
  PHONG = 'PHONG',
  PLASTIC = 'PLASTIC',
  STRAUSS = 'STRAUSS',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcReinforcingBarRoleEnum */
export enum IfcReinforcingBarRoleEnum {
  MAIN = 'MAIN',
  SHEAR = 'SHEAR',
  LIGATURE = 'LIGATURE',
  STUD = 'STUD',
  PUNCHING = 'PUNCHING',
  EDGE = 'EDGE',
  RING = 'RING',
  ANCHORING = 'ANCHORING',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcReinforcingBarSurfaceEnum */
export enum IfcReinforcingBarSurfaceEnum {
  PLAIN = 'PLAIN',
  TEXTURED = 'TEXTURED',
}

/** IfcReinforcingBarTypeEnum */
export enum IfcReinforcingBarTypeEnum {
  ANCHORING = 'ANCHORING',
  EDGE = 'EDGE',
  LIGATURE = 'LIGATURE',
  MAIN = 'MAIN',
  PUNCHING = 'PUNCHING',
  RING = 'RING',
  SHEAR = 'SHEAR',
  STUD = 'STUD',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcReinforcingMeshTypeEnum */
export enum IfcReinforcingMeshTypeEnum {
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcRoleEnum */
export enum IfcRoleEnum {
  SUPPLIER = 'SUPPLIER',
  MANUFACTURER = 'MANUFACTURER',
  CONTRACTOR = 'CONTRACTOR',
  SUBCONTRACTOR = 'SUBCONTRACTOR',
  ARCHITECT = 'ARCHITECT',
  STRUCTURALENGINEER = 'STRUCTURALENGINEER',
  COSTENGINEER = 'COSTENGINEER',
  CLIENT = 'CLIENT',
  BUILDINGOWNER = 'BUILDINGOWNER',
  BUILDINGOPERATOR = 'BUILDINGOPERATOR',
  MECHANICALENGINEER = 'MECHANICALENGINEER',
  ELECTRICALENGINEER = 'ELECTRICALENGINEER',
  PROJECTMANAGER = 'PROJECTMANAGER',
  FACILITIESMANAGER = 'FACILITIESMANAGER',
  CIVILENGINEER = 'CIVILENGINEER',
  COMMISSIONINGENGINEER = 'COMMISSIONINGENGINEER',
  ENGINEER = 'ENGINEER',
  OWNER = 'OWNER',
  CONSULTANT = 'CONSULTANT',
  CONSTRUCTIONMANAGER = 'CONSTRUCTIONMANAGER',
  FIELDCONSTRUCTIONMANAGER = 'FIELDCONSTRUCTIONMANAGER',
  RESELLER = 'RESELLER',
  USERDEFINED = 'USERDEFINED',
}

/** IfcRoofTypeEnum */
export enum IfcRoofTypeEnum {
  FLAT_ROOF = 'FLAT_ROOF',
  SHED_ROOF = 'SHED_ROOF',
  GABLE_ROOF = 'GABLE_ROOF',
  HIP_ROOF = 'HIP_ROOF',
  HIPPED_GABLE_ROOF = 'HIPPED_GABLE_ROOF',
  GAMBREL_ROOF = 'GAMBREL_ROOF',
  MANSARD_ROOF = 'MANSARD_ROOF',
  BARREL_ROOF = 'BARREL_ROOF',
  RAINBOW_ROOF = 'RAINBOW_ROOF',
  BUTTERFLY_ROOF = 'BUTTERFLY_ROOF',
  PAVILION_ROOF = 'PAVILION_ROOF',
  DOME_ROOF = 'DOME_ROOF',
  FREEFORM = 'FREEFORM',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSIPrefix */
export enum IfcSIPrefix {
  EXA = 'EXA',
  PETA = 'PETA',
  TERA = 'TERA',
  GIGA = 'GIGA',
  MEGA = 'MEGA',
  KILO = 'KILO',
  HECTO = 'HECTO',
  DECA = 'DECA',
  DECI = 'DECI',
  CENTI = 'CENTI',
  MILLI = 'MILLI',
  MICRO = 'MICRO',
  NANO = 'NANO',
  PICO = 'PICO',
  FEMTO = 'FEMTO',
  ATTO = 'ATTO',
}

/** IfcSIUnitName */
export enum IfcSIUnitName {
  AMPERE = 'AMPERE',
  BECQUEREL = 'BECQUEREL',
  CANDELA = 'CANDELA',
  COULOMB = 'COULOMB',
  CUBIC_METRE = 'CUBIC_METRE',
  DEGREE_CELSIUS = 'DEGREE_CELSIUS',
  FARAD = 'FARAD',
  GRAM = 'GRAM',
  GRAY = 'GRAY',
  HENRY = 'HENRY',
  HERTZ = 'HERTZ',
  JOULE = 'JOULE',
  KELVIN = 'KELVIN',
  LUMEN = 'LUMEN',
  LUX = 'LUX',
  METRE = 'METRE',
  MOLE = 'MOLE',
  NEWTON = 'NEWTON',
  OHM = 'OHM',
  PASCAL = 'PASCAL',
  RADIAN = 'RADIAN',
  SECOND = 'SECOND',
  SIEMENS = 'SIEMENS',
  SIEVERT = 'SIEVERT',
  SQUARE_METRE = 'SQUARE_METRE',
  STERADIAN = 'STERADIAN',
  TESLA = 'TESLA',
  VOLT = 'VOLT',
  WATT = 'WATT',
  WEBER = 'WEBER',
}

/** IfcSanitaryTerminalTypeEnum */
export enum IfcSanitaryTerminalTypeEnum {
  BATH = 'BATH',
  BIDET = 'BIDET',
  CISTERN = 'CISTERN',
  SHOWER = 'SHOWER',
  SINK = 'SINK',
  SANITARYFOUNTAIN = 'SANITARYFOUNTAIN',
  TOILETPAN = 'TOILETPAN',
  URINAL = 'URINAL',
  WASHHANDBASIN = 'WASHHANDBASIN',
  WCSEAT = 'WCSEAT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSectionTypeEnum */
export enum IfcSectionTypeEnum {
  UNIFORM = 'UNIFORM',
  TAPERED = 'TAPERED',
}

/** IfcSensorTypeEnum */
export enum IfcSensorTypeEnum {
  COSENSOR = 'COSENSOR',
  CO2SENSOR = 'CO2SENSOR',
  CONDUCTANCESENSOR = 'CONDUCTANCESENSOR',
  CONTACTSENSOR = 'CONTACTSENSOR',
  FIRESENSOR = 'FIRESENSOR',
  FLOWSENSOR = 'FLOWSENSOR',
  FROSTSENSOR = 'FROSTSENSOR',
  GASSENSOR = 'GASSENSOR',
  HEATSENSOR = 'HEATSENSOR',
  HUMIDITYSENSOR = 'HUMIDITYSENSOR',
  IDENTIFIERSENSOR = 'IDENTIFIERSENSOR',
  IONCONCENTRATIONSENSOR = 'IONCONCENTRATIONSENSOR',
  LEVELSENSOR = 'LEVELSENSOR',
  LIGHTSENSOR = 'LIGHTSENSOR',
  MOISTURESENSOR = 'MOISTURESENSOR',
  MOVEMENTSENSOR = 'MOVEMENTSENSOR',
  PHSENSOR = 'PHSENSOR',
  PRESSURESENSOR = 'PRESSURESENSOR',
  RADIATIONSENSOR = 'RADIATIONSENSOR',
  RADIOACTIVITYSENSOR = 'RADIOACTIVITYSENSOR',
  SMOKESENSOR = 'SMOKESENSOR',
  SOUNDSENSOR = 'SOUNDSENSOR',
  TEMPERATURESENSOR = 'TEMPERATURESENSOR',
  WINDSENSOR = 'WINDSENSOR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSequenceEnum */
export enum IfcSequenceEnum {
  START_START = 'START_START',
  START_FINISH = 'START_FINISH',
  FINISH_START = 'FINISH_START',
  FINISH_FINISH = 'FINISH_FINISH',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcShadingDeviceTypeEnum */
export enum IfcShadingDeviceTypeEnum {
  JALOUSIE = 'JALOUSIE',
  SHUTTER = 'SHUTTER',
  AWNING = 'AWNING',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSimplePropertyTemplateTypeEnum */
export enum IfcSimplePropertyTemplateTypeEnum {
  P_SINGLEVALUE = 'P_SINGLEVALUE',
  P_ENUMERATEDVALUE = 'P_ENUMERATEDVALUE',
  P_BOUNDEDVALUE = 'P_BOUNDEDVALUE',
  P_LISTVALUE = 'P_LISTVALUE',
  P_TABLEVALUE = 'P_TABLEVALUE',
  P_REFERENCEVALUE = 'P_REFERENCEVALUE',
  Q_LENGTH = 'Q_LENGTH',
  Q_AREA = 'Q_AREA',
  Q_VOLUME = 'Q_VOLUME',
  Q_COUNT = 'Q_COUNT',
  Q_WEIGHT = 'Q_WEIGHT',
  Q_TIME = 'Q_TIME',
}

/** IfcSlabTypeEnum */
export enum IfcSlabTypeEnum {
  FLOOR = 'FLOOR',
  ROOF = 'ROOF',
  LANDING = 'LANDING',
  BASESLAB = 'BASESLAB',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSolarDeviceTypeEnum */
export enum IfcSolarDeviceTypeEnum {
  SOLARCOLLECTOR = 'SOLARCOLLECTOR',
  SOLARPANEL = 'SOLARPANEL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSpaceHeaterTypeEnum */
export enum IfcSpaceHeaterTypeEnum {
  CONVECTOR = 'CONVECTOR',
  RADIATOR = 'RADIATOR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSpaceTypeEnum */
export enum IfcSpaceTypeEnum {
  SPACE = 'SPACE',
  PARKING = 'PARKING',
  GFA = 'GFA',
  INTERNAL = 'INTERNAL',
  EXTERNAL = 'EXTERNAL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSpatialZoneTypeEnum */
export enum IfcSpatialZoneTypeEnum {
  CONSTRUCTION = 'CONSTRUCTION',
  FIRESAFETY = 'FIRESAFETY',
  LIGHTING = 'LIGHTING',
  OCCUPANCY = 'OCCUPANCY',
  SECURITY = 'SECURITY',
  THERMAL = 'THERMAL',
  TRANSPORT = 'TRANSPORT',
  VENTILATION = 'VENTILATION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcStackTerminalTypeEnum */
export enum IfcStackTerminalTypeEnum {
  BIRDCAGE = 'BIRDCAGE',
  COWL = 'COWL',
  RAINWATERHOPPER = 'RAINWATERHOPPER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcStairFlightTypeEnum */
export enum IfcStairFlightTypeEnum {
  STRAIGHT = 'STRAIGHT',
  WINDER = 'WINDER',
  SPIRAL = 'SPIRAL',
  CURVED = 'CURVED',
  FREEFORM = 'FREEFORM',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcStairTypeEnum */
export enum IfcStairTypeEnum {
  STRAIGHT_RUN_STAIR = 'STRAIGHT_RUN_STAIR',
  TWO_STRAIGHT_RUN_STAIR = 'TWO_STRAIGHT_RUN_STAIR',
  QUARTER_WINDING_STAIR = 'QUARTER_WINDING_STAIR',
  QUARTER_TURN_STAIR = 'QUARTER_TURN_STAIR',
  HALF_WINDING_STAIR = 'HALF_WINDING_STAIR',
  HALF_TURN_STAIR = 'HALF_TURN_STAIR',
  TWO_QUARTER_WINDING_STAIR = 'TWO_QUARTER_WINDING_STAIR',
  TWO_QUARTER_TURN_STAIR = 'TWO_QUARTER_TURN_STAIR',
  THREE_QUARTER_WINDING_STAIR = 'THREE_QUARTER_WINDING_STAIR',
  THREE_QUARTER_TURN_STAIR = 'THREE_QUARTER_TURN_STAIR',
  SPIRAL_STAIR = 'SPIRAL_STAIR',
  DOUBLE_RETURN_STAIR = 'DOUBLE_RETURN_STAIR',
  CURVED_RUN_STAIR = 'CURVED_RUN_STAIR',
  TWO_CURVED_RUN_STAIR = 'TWO_CURVED_RUN_STAIR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcStateEnum */
export enum IfcStateEnum {
  READWRITE = 'READWRITE',
  READONLY = 'READONLY',
  LOCKED = 'LOCKED',
  READWRITELOCKED = 'READWRITELOCKED',
  READONLYLOCKED = 'READONLYLOCKED',
}

/** IfcStructuralCurveActivityTypeEnum */
export enum IfcStructuralCurveActivityTypeEnum {
  CONST = 'CONST',
  LINEAR = 'LINEAR',
  POLYGONAL = 'POLYGONAL',
  EQUIDISTANT = 'EQUIDISTANT',
  SINUS = 'SINUS',
  PARABOLA = 'PARABOLA',
  DISCRETE = 'DISCRETE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcStructuralCurveMemberTypeEnum */
export enum IfcStructuralCurveMemberTypeEnum {
  RIGID_JOINED_MEMBER = 'RIGID_JOINED_MEMBER',
  PIN_JOINED_MEMBER = 'PIN_JOINED_MEMBER',
  CABLE = 'CABLE',
  TENSION_MEMBER = 'TENSION_MEMBER',
  COMPRESSION_MEMBER = 'COMPRESSION_MEMBER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcStructuralSurfaceActivityTypeEnum */
export enum IfcStructuralSurfaceActivityTypeEnum {
  CONST = 'CONST',
  BILINEAR = 'BILINEAR',
  DISCRETE = 'DISCRETE',
  ISOCONTOUR = 'ISOCONTOUR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcStructuralSurfaceMemberTypeEnum */
export enum IfcStructuralSurfaceMemberTypeEnum {
  BENDING_ELEMENT = 'BENDING_ELEMENT',
  MEMBRANE_ELEMENT = 'MEMBRANE_ELEMENT',
  SHELL = 'SHELL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSubContractResourceTypeEnum */
export enum IfcSubContractResourceTypeEnum {
  PURCHASE = 'PURCHASE',
  WORK = 'WORK',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSurfaceFeatureTypeEnum */
export enum IfcSurfaceFeatureTypeEnum {
  MARK = 'MARK',
  TAG = 'TAG',
  TREATMENT = 'TREATMENT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSurfaceSide */
export enum IfcSurfaceSide {
  POSITIVE = 'POSITIVE',
  NEGATIVE = 'NEGATIVE',
  BOTH = 'BOTH',
}

/** IfcSwitchingDeviceTypeEnum */
export enum IfcSwitchingDeviceTypeEnum {
  CONTACTOR = 'CONTACTOR',
  DIMMERSWITCH = 'DIMMERSWITCH',
  EMERGENCYSTOP = 'EMERGENCYSTOP',
  KEYPAD = 'KEYPAD',
  MOMENTARYSWITCH = 'MOMENTARYSWITCH',
  SELECTORSWITCH = 'SELECTORSWITCH',
  STARTER = 'STARTER',
  SWITCHDISCONNECTOR = 'SWITCHDISCONNECTOR',
  TOGGLESWITCH = 'TOGGLESWITCH',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSystemFurnitureElementTypeEnum */
export enum IfcSystemFurnitureElementTypeEnum {
  PANEL = 'PANEL',
  WORKSURFACE = 'WORKSURFACE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcTankTypeEnum */
export enum IfcTankTypeEnum {
  BASIN = 'BASIN',
  BREAKPRESSURE = 'BREAKPRESSURE',
  EXPANSION = 'EXPANSION',
  FEEDANDEXPANSION = 'FEEDANDEXPANSION',
  PRESSUREVESSEL = 'PRESSUREVESSEL',
  STORAGE = 'STORAGE',
  VESSEL = 'VESSEL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcTaskDurationEnum */
export enum IfcTaskDurationEnum {
  ELAPSEDTIME = 'ELAPSEDTIME',
  WORKTIME = 'WORKTIME',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcTaskTypeEnum */
export enum IfcTaskTypeEnum {
  ATTENDANCE = 'ATTENDANCE',
  CONSTRUCTION = 'CONSTRUCTION',
  DEMOLITION = 'DEMOLITION',
  DISMANTLE = 'DISMANTLE',
  DISPOSAL = 'DISPOSAL',
  INSTALLATION = 'INSTALLATION',
  LOGISTIC = 'LOGISTIC',
  MAINTENANCE = 'MAINTENANCE',
  MOVE = 'MOVE',
  OPERATION = 'OPERATION',
  REMOVAL = 'REMOVAL',
  RENOVATION = 'RENOVATION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcTendonAnchorTypeEnum */
export enum IfcTendonAnchorTypeEnum {
  COUPLER = 'COUPLER',
  FIXED_END = 'FIXED_END',
  TENSIONING_END = 'TENSIONING_END',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcTendonTypeEnum */
export enum IfcTendonTypeEnum {
  BAR = 'BAR',
  COATED = 'COATED',
  STRAND = 'STRAND',
  WIRE = 'WIRE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcTextPath */
export enum IfcTextPath {
  LEFT = 'LEFT',
  RIGHT = 'RIGHT',
  UP = 'UP',
  DOWN = 'DOWN',
}

/** IfcTimeSeriesDataTypeEnum */
export enum IfcTimeSeriesDataTypeEnum {
  CONTINUOUS = 'CONTINUOUS',
  DISCRETE = 'DISCRETE',
  DISCRETEBINARY = 'DISCRETEBINARY',
  PIECEWISEBINARY = 'PIECEWISEBINARY',
  PIECEWISECONSTANT = 'PIECEWISECONSTANT',
  PIECEWISECONTINUOUS = 'PIECEWISECONTINUOUS',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcTransformerTypeEnum */
export enum IfcTransformerTypeEnum {
  CURRENT = 'CURRENT',
  FREQUENCY = 'FREQUENCY',
  INVERTER = 'INVERTER',
  RECTIFIER = 'RECTIFIER',
  VOLTAGE = 'VOLTAGE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcTransitionCode */
export enum IfcTransitionCode {
  DISCONTINUOUS = 'DISCONTINUOUS',
  CONTINUOUS = 'CONTINUOUS',
  CONTSAMEGRADIENT = 'CONTSAMEGRADIENT',
  CONTSAMEGRADIENTSAMECURVATURE = 'CONTSAMEGRADIENTSAMECURVATURE',
}

/** IfcTransportElementTypeEnum */
export enum IfcTransportElementTypeEnum {
  ELEVATOR = 'ELEVATOR',
  ESCALATOR = 'ESCALATOR',
  MOVINGWALKWAY = 'MOVINGWALKWAY',
  CRANEWAY = 'CRANEWAY',
  LIFTINGGEAR = 'LIFTINGGEAR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcTrimmingPreference */
export enum IfcTrimmingPreference {
  CARTESIAN = 'CARTESIAN',
  PARAMETER = 'PARAMETER',
  UNSPECIFIED = 'UNSPECIFIED',
}

/** IfcTubeBundleTypeEnum */
export enum IfcTubeBundleTypeEnum {
  FINNED = 'FINNED',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcUnitEnum */
export enum IfcUnitEnum {
  ABSORBEDDOSEUNIT = 'ABSORBEDDOSEUNIT',
  AMOUNTOFSUBSTANCEUNIT = 'AMOUNTOFSUBSTANCEUNIT',
  AREAUNIT = 'AREAUNIT',
  DOSEEQUIVALENTUNIT = 'DOSEEQUIVALENTUNIT',
  ELECTRICCAPACITANCEUNIT = 'ELECTRICCAPACITANCEUNIT',
  ELECTRICCHARGEUNIT = 'ELECTRICCHARGEUNIT',
  ELECTRICCONDUCTANCEUNIT = 'ELECTRICCONDUCTANCEUNIT',
  ELECTRICCURRENTUNIT = 'ELECTRICCURRENTUNIT',
  ELECTRICRESISTANCEUNIT = 'ELECTRICRESISTANCEUNIT',
  ELECTRICVOLTAGEUNIT = 'ELECTRICVOLTAGEUNIT',
  ENERGYUNIT = 'ENERGYUNIT',
  FORCEUNIT = 'FORCEUNIT',
  FREQUENCYUNIT = 'FREQUENCYUNIT',
  ILLUMINANCEUNIT = 'ILLUMINANCEUNIT',
  INDUCTANCEUNIT = 'INDUCTANCEUNIT',
  LENGTHUNIT = 'LENGTHUNIT',
  LUMINOUSFLUXUNIT = 'LUMINOUSFLUXUNIT',
  LUMINOUSINTENSITYUNIT = 'LUMINOUSINTENSITYUNIT',
  MAGNETICFLUXDENSITYUNIT = 'MAGNETICFLUXDENSITYUNIT',
  MAGNETICFLUXUNIT = 'MAGNETICFLUXUNIT',
  MASSUNIT = 'MASSUNIT',
  PLANEANGLEUNIT = 'PLANEANGLEUNIT',
  POWERUNIT = 'POWERUNIT',
  PRESSUREUNIT = 'PRESSUREUNIT',
  RADIOACTIVITYUNIT = 'RADIOACTIVITYUNIT',
  SOLIDANGLEUNIT = 'SOLIDANGLEUNIT',
  THERMODYNAMICTEMPERATUREUNIT = 'THERMODYNAMICTEMPERATUREUNIT',
  TIMEUNIT = 'TIMEUNIT',
  VOLUMEUNIT = 'VOLUMEUNIT',
  USERDEFINED = 'USERDEFINED',
}

/** IfcUnitaryControlElementTypeEnum */
export enum IfcUnitaryControlElementTypeEnum {
  ALARMPANEL = 'ALARMPANEL',
  CONTROLPANEL = 'CONTROLPANEL',
  GASDETECTIONPANEL = 'GASDETECTIONPANEL',
  INDICATORPANEL = 'INDICATORPANEL',
  MIMICPANEL = 'MIMICPANEL',
  HUMIDISTAT = 'HUMIDISTAT',
  THERMOSTAT = 'THERMOSTAT',
  WEATHERSTATION = 'WEATHERSTATION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcUnitaryEquipmentTypeEnum */
export enum IfcUnitaryEquipmentTypeEnum {
  AIRHANDLER = 'AIRHANDLER',
  AIRCONDITIONINGUNIT = 'AIRCONDITIONINGUNIT',
  DEHUMIDIFIER = 'DEHUMIDIFIER',
  SPLITSYSTEM = 'SPLITSYSTEM',
  ROOFTOPUNIT = 'ROOFTOPUNIT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcValveTypeEnum */
export enum IfcValveTypeEnum {
  AIRRELEASE = 'AIRRELEASE',
  ANTIVACUUM = 'ANTIVACUUM',
  CHANGEOVER = 'CHANGEOVER',
  CHECK = 'CHECK',
  COMMISSIONING = 'COMMISSIONING',
  DIVERTING = 'DIVERTING',
  DRAWOFFCOCK = 'DRAWOFFCOCK',
  DOUBLECHECK = 'DOUBLECHECK',
  DOUBLEREGULATING = 'DOUBLEREGULATING',
  FAUCET = 'FAUCET',
  FLUSHING = 'FLUSHING',
  GASCOCK = 'GASCOCK',
  GASTAP = 'GASTAP',
  ISOLATING = 'ISOLATING',
  MIXING = 'MIXING',
  PRESSUREREDUCING = 'PRESSUREREDUCING',
  PRESSURERELIEF = 'PRESSURERELIEF',
  REGULATING = 'REGULATING',
  SAFETYCUTOFF = 'SAFETYCUTOFF',
  STEAMTRAP = 'STEAMTRAP',
  STOPCOCK = 'STOPCOCK',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcVibrationIsolatorTypeEnum */
export enum IfcVibrationIsolatorTypeEnum {
  COMPRESSION = 'COMPRESSION',
  SPRING = 'SPRING',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcVoidingFeatureTypeEnum */
export enum IfcVoidingFeatureTypeEnum {
  CUTOUT = 'CUTOUT',
  NOTCH = 'NOTCH',
  HOLE = 'HOLE',
  MITER = 'MITER',
  CHAMFER = 'CHAMFER',
  EDGE = 'EDGE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcWallTypeEnum */
export enum IfcWallTypeEnum {
  MOVABLE = 'MOVABLE',
  PARAPET = 'PARAPET',
  PARTITIONING = 'PARTITIONING',
  PLUMBINGWALL = 'PLUMBINGWALL',
  SHEAR = 'SHEAR',
  SOLIDWALL = 'SOLIDWALL',
  STANDARD = 'STANDARD',
  POLYGONAL = 'POLYGONAL',
  ELEMENTEDWALL = 'ELEMENTEDWALL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcWasteTerminalTypeEnum */
export enum IfcWasteTerminalTypeEnum {
  FLOORTRAP = 'FLOORTRAP',
  FLOORWASTE = 'FLOORWASTE',
  GULLYSUMP = 'GULLYSUMP',
  GULLYTRAP = 'GULLYTRAP',
  ROOFDRAIN = 'ROOFDRAIN',
  WASTEDISPOSALUNIT = 'WASTEDISPOSALUNIT',
  WASTETRAP = 'WASTETRAP',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcWindowPanelOperationEnum */
export enum IfcWindowPanelOperationEnum {
  SIDEHUNGRIGHTHAND = 'SIDEHUNGRIGHTHAND',
  SIDEHUNGLEFTHAND = 'SIDEHUNGLEFTHAND',
  TILTANDTURNRIGHTHAND = 'TILTANDTURNRIGHTHAND',
  TILTANDTURNLEFTHAND = 'TILTANDTURNLEFTHAND',
  TOPHUNG = 'TOPHUNG',
  BOTTOMHUNG = 'BOTTOMHUNG',
  PIVOTHORIZONTAL = 'PIVOTHORIZONTAL',
  PIVOTVERTICAL = 'PIVOTVERTICAL',
  SLIDINGHORIZONTAL = 'SLIDINGHORIZONTAL',
  SLIDINGVERTICAL = 'SLIDINGVERTICAL',
  REMOVABLECASEMENT = 'REMOVABLECASEMENT',
  FIXEDCASEMENT = 'FIXEDCASEMENT',
  OTHEROPERATION = 'OTHEROPERATION',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcWindowPanelPositionEnum */
export enum IfcWindowPanelPositionEnum {
  LEFT = 'LEFT',
  MIDDLE = 'MIDDLE',
  RIGHT = 'RIGHT',
  BOTTOM = 'BOTTOM',
  TOP = 'TOP',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcWindowStyleConstructionEnum */
export enum IfcWindowStyleConstructionEnum {
  ALUMINIUM = 'ALUMINIUM',
  HIGH_GRADE_STEEL = 'HIGH_GRADE_STEEL',
  STEEL = 'STEEL',
  WOOD = 'WOOD',
  ALUMINIUM_WOOD = 'ALUMINIUM_WOOD',
  PLASTIC = 'PLASTIC',
  OTHER_CONSTRUCTION = 'OTHER_CONSTRUCTION',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcWindowStyleOperationEnum */
export enum IfcWindowStyleOperationEnum {
  SINGLE_PANEL = 'SINGLE_PANEL',
  DOUBLE_PANEL_VERTICAL = 'DOUBLE_PANEL_VERTICAL',
  DOUBLE_PANEL_HORIZONTAL = 'DOUBLE_PANEL_HORIZONTAL',
  TRIPLE_PANEL_VERTICAL = 'TRIPLE_PANEL_VERTICAL',
  TRIPLE_PANEL_BOTTOM = 'TRIPLE_PANEL_BOTTOM',
  TRIPLE_PANEL_TOP = 'TRIPLE_PANEL_TOP',
  TRIPLE_PANEL_LEFT = 'TRIPLE_PANEL_LEFT',
  TRIPLE_PANEL_RIGHT = 'TRIPLE_PANEL_RIGHT',
  TRIPLE_PANEL_HORIZONTAL = 'TRIPLE_PANEL_HORIZONTAL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcWindowTypeEnum */
export enum IfcWindowTypeEnum {
  WINDOW = 'WINDOW',
  SKYLIGHT = 'SKYLIGHT',
  LIGHTDOME = 'LIGHTDOME',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcWindowTypePartitioningEnum */
export enum IfcWindowTypePartitioningEnum {
  SINGLE_PANEL = 'SINGLE_PANEL',
  DOUBLE_PANEL_VERTICAL = 'DOUBLE_PANEL_VERTICAL',
  DOUBLE_PANEL_HORIZONTAL = 'DOUBLE_PANEL_HORIZONTAL',
  TRIPLE_PANEL_VERTICAL = 'TRIPLE_PANEL_VERTICAL',
  TRIPLE_PANEL_BOTTOM = 'TRIPLE_PANEL_BOTTOM',
  TRIPLE_PANEL_TOP = 'TRIPLE_PANEL_TOP',
  TRIPLE_PANEL_LEFT = 'TRIPLE_PANEL_LEFT',
  TRIPLE_PANEL_RIGHT = 'TRIPLE_PANEL_RIGHT',
  TRIPLE_PANEL_HORIZONTAL = 'TRIPLE_PANEL_HORIZONTAL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcWorkCalendarTypeEnum */
export enum IfcWorkCalendarTypeEnum {
  FIRSTSHIFT = 'FIRSTSHIFT',
  SECONDSHIFT = 'SECONDSHIFT',
  THIRDSHIFT = 'THIRDSHIFT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcWorkPlanTypeEnum */
export enum IfcWorkPlanTypeEnum {
  ACTUAL = 'ACTUAL',
  BASELINE = 'BASELINE',
  PLANNED = 'PLANNED',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcWorkScheduleTypeEnum */
export enum IfcWorkScheduleTypeEnum {
  ACTUAL = 'ACTUAL',
  BASELINE = 'BASELINE',
  PLANNED = 'PLANNED',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

