/**
 * IFC Enumerations
 * Generated from EXPRESS schema: IFC4X3_DEV_923b0514
 *
 * 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 {
  BRAKES = 'BRAKES',
  BUOYANCY = 'BUOYANCY',
  COMPLETION_G1 = 'COMPLETION_G1',
  CREEP = 'CREEP',
  CURRENT = 'CURRENT',
  DEAD_LOAD_G = 'DEAD_LOAD_G',
  EARTHQUAKE_E = 'EARTHQUAKE_E',
  ERECTION = 'ERECTION',
  FIRE = 'FIRE',
  ICE = 'ICE',
  IMPACT = 'IMPACT',
  IMPULSE = 'IMPULSE',
  LACK_OF_FIT = 'LACK_OF_FIT',
  LIVE_LOAD_Q = 'LIVE_LOAD_Q',
  PRESTRESSING_P = 'PRESTRESSING_P',
  PROPPING = 'PROPPING',
  RAIN = 'RAIN',
  SETTLEMENT_U = 'SETTLEMENT_U',
  SHRINKAGE = 'SHRINKAGE',
  SNOW_S = 'SNOW_S',
  SYSTEM_IMPERFECTION = 'SYSTEM_IMPERFECTION',
  TEMPERATURE_T = 'TEMPERATURE_T',
  TRANSPORT = 'TRANSPORT',
  WAVE = 'WAVE',
  WIND_W = 'WIND_W',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcActionTypeEnum */
export enum IfcActionTypeEnum {
  EXTRAORDINARY_A = 'EXTRAORDINARY_A',
  PERMANENT_G = 'PERMANENT_G',
  VARIABLE_Q = 'VARIABLE_Q',
  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 {
  DISTRIBUTIONPOINT = 'DISTRIBUTIONPOINT',
  HOME = 'HOME',
  OFFICE = 'OFFICE',
  SITE = 'SITE',
  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',
  HEATPIPE = 'HEATPIPE',
  ROTARYWHEEL = 'ROTARYWHEEL',
  RUNAROUNDCOILLOOP = 'RUNAROUNDCOILLOOP',
  THERMOSIPHONCOILTYPEHEATEXCHANGERS = 'THERMOSIPHONCOILTYPEHEATEXCHANGERS',
  THERMOSIPHONSEALEDTUBEHEATEXCHANGERS = 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS',
  TWINTOWERENTHALPYRECOVERYLOOPS = 'TWINTOWERENTHALPYRECOVERYLOOPS',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcAlignmentCantSegmentTypeEnum */
export enum IfcAlignmentCantSegmentTypeEnum {
  BLOSSCURVE = 'BLOSSCURVE',
  CONSTANTCANT = 'CONSTANTCANT',
  COSINECURVE = 'COSINECURVE',
  HELMERTCURVE = 'HELMERTCURVE',
  LINEARTRANSITION = 'LINEARTRANSITION',
  SINECURVE = 'SINECURVE',
  VIENNESEBEND = 'VIENNESEBEND',
}

/** IfcAlignmentHorizontalSegmentTypeEnum */
export enum IfcAlignmentHorizontalSegmentTypeEnum {
  BLOSSCURVE = 'BLOSSCURVE',
  CIRCULARARC = 'CIRCULARARC',
  CLOTHOID = 'CLOTHOID',
  COSINECURVE = 'COSINECURVE',
  CUBIC = 'CUBIC',
  HELMERTCURVE = 'HELMERTCURVE',
  LINE = 'LINE',
  SINECURVE = 'SINECURVE',
  VIENNESEBEND = 'VIENNESEBEND',
}

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

/** IfcAlignmentVerticalSegmentTypeEnum */
export enum IfcAlignmentVerticalSegmentTypeEnum {
  CIRCULARARC = 'CIRCULARARC',
  CLOTHOID = 'CLOTHOID',
  CONSTANTGRADIENT = 'CONSTANTGRADIENT',
  PARABOLICARC = 'PARABOLICARC',
}

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

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

/** IfcAnnotationTypeEnum */
export enum IfcAnnotationTypeEnum {
  CONTOURLINE = 'CONTOURLINE',
  DIMENSION = 'DIMENSION',
  ISOBAR = 'ISOBAR',
  ISOLUX = 'ISOLUX',
  ISOTHERM = 'ISOTHERM',
  LEADER = 'LEADER',
  SURVEY = 'SURVEY',
  SYMBOL = 'SYMBOL',
  TEXT = 'TEXT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

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

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

/** IfcBeamTypeEnum */
export enum IfcBeamTypeEnum {
  BEAM = 'BEAM',
  CORNICE = 'CORNICE',
  DIAPHRAGM = 'DIAPHRAGM',
  EDGEBEAM = 'EDGEBEAM',
  GIRDER_SEGMENT = 'GIRDER_SEGMENT',
  HATSTONE = 'HATSTONE',
  HOLLOWCORE = 'HOLLOWCORE',
  JOIST = 'JOIST',
  LINTEL = 'LINTEL',
  PIERCAP = 'PIERCAP',
  SPANDREL = 'SPANDREL',
  T_BEAM = 'T_BEAM',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcBearingTypeEnum */
export enum IfcBearingTypeEnum {
  CYLINDRICAL = 'CYLINDRICAL',
  DISK = 'DISK',
  ELASTOMERIC = 'ELASTOMERIC',
  GUIDE = 'GUIDE',
  POT = 'POT',
  ROCKER = 'ROCKER',
  ROLLER = 'ROLLER',
  SPHERICAL = 'SPHERICAL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

/** IfcBridgePartTypeEnum */
export enum IfcBridgePartTypeEnum {
  ABUTMENT = 'ABUTMENT',
  DECK = 'DECK',
  DECK_SEGMENT = 'DECK_SEGMENT',
  FOUNDATION = 'FOUNDATION',
  PIER = 'PIER',
  PIER_SEGMENT = 'PIER_SEGMENT',
  PYLON = 'PYLON',
  SUBSTRUCTURE = 'SUBSTRUCTURE',
  SUPERSTRUCTURE = 'SUPERSTRUCTURE',
  SURFACESTRUCTURE = 'SURFACESTRUCTURE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcBridgeTypeEnum */
export enum IfcBridgeTypeEnum {
  ARCHED = 'ARCHED',
  CABLE_STAYED = 'CABLE_STAYED',
  CANTILEVER = 'CANTILEVER',
  CULVERT = 'CULVERT',
  FRAMEWORK = 'FRAMEWORK',
  GIRDER = 'GIRDER',
  SUSPENSION = 'SUSPENSION',
  TRUSS = 'TRUSS',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

/** IfcBuiltSystemTypeEnum */
export enum IfcBuiltSystemTypeEnum {
  EROSIONPREVENTION = 'EROSIONPREVENTION',
  FENESTRATION = 'FENESTRATION',
  FOUNDATION = 'FOUNDATION',
  LOADBEARING = 'LOADBEARING',
  MOORING = 'MOORING',
  OUTERSHELL = 'OUTERSHELL',
  PRESTRESSING = 'PRESTRESSING',
  RAILWAYLINE = 'RAILWAYLINE',
  RAILWAYTRACK = 'RAILWAYTRACK',
  REINFORCING = 'REINFORCING',
  SHADING = 'SHADING',
  TRACKCIRCUIT = 'TRACKCIRCUIT',
  TRANSPORT = 'TRANSPORT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

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

/** IfcCableSegmentTypeEnum */
export enum IfcCableSegmentTypeEnum {
  BUSBARSEGMENT = 'BUSBARSEGMENT',
  CABLESEGMENT = 'CABLESEGMENT',
  CONDUCTORSEGMENT = 'CONDUCTORSEGMENT',
  CONTACTWIRESEGMENT = 'CONTACTWIRESEGMENT',
  CORESEGMENT = 'CORESEGMENT',
  FIBERSEGMENT = 'FIBERSEGMENT',
  FIBERTUBE = 'FIBERTUBE',
  OPTICALCABLESEGMENT = 'OPTICALCABLESEGMENT',
  STITCHWIRE = 'STITCHWIRE',
  WIREPAIRSEGMENT = 'WIREPAIRSEGMENT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCaissonFoundationTypeEnum */
export enum IfcCaissonFoundationTypeEnum {
  CAISSON = 'CAISSON',
  WELL = 'WELL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcChillerTypeEnum */
export enum IfcChillerTypeEnum {
  AIRCOOLED = 'AIRCOOLED',
  HEATRECOVERY = 'HEATRECOVERY',
  WATERCOOLED = 'WATERCOOLED',
  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',
  PIERSTEM = 'PIERSTEM',
  PIERSTEM_SEGMENT = 'PIERSTEM_SEGMENT',
  PILASTER = 'PILASTER',
  STANDCOLUMN = 'STANDCOLUMN',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCommunicationsApplianceTypeEnum */
export enum IfcCommunicationsApplianceTypeEnum {
  ANTENNA = 'ANTENNA',
  AUTOMATON = 'AUTOMATON',
  COMPUTER = 'COMPUTER',
  FAX = 'FAX',
  GATEWAY = 'GATEWAY',
  INTELLIGENTPERIPHERAL = 'INTELLIGENTPERIPHERAL',
  IPNETWORKEQUIPMENT = 'IPNETWORKEQUIPMENT',
  LINESIDEELECTRONICUNIT = 'LINESIDEELECTRONICUNIT',
  MODEM = 'MODEM',
  NETWORKAPPLIANCE = 'NETWORKAPPLIANCE',
  NETWORKBRIDGE = 'NETWORKBRIDGE',
  NETWORKHUB = 'NETWORKHUB',
  OPTICALLINETERMINAL = 'OPTICALLINETERMINAL',
  OPTICALNETWORKUNIT = 'OPTICALNETWORKUNIT',
  PRINTER = 'PRINTER',
  RADIOBLOCKCENTER = 'RADIOBLOCKCENTER',
  REPEATER = 'REPEATER',
  ROUTER = 'ROUTER',
  SCANNER = 'SCANNER',
  TELECOMMAND = 'TELECOMMAND',
  TELEPHONYEXCHANGE = 'TELEPHONYEXCHANGE',
  TRANSITIONCOMPONENT = 'TRANSITIONCOMPONENT',
  TRANSPONDER = 'TRANSPONDER',
  TRANSPORTEQUIPMENT = 'TRANSPORTEQUIPMENT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcCompressorTypeEnum */
export enum IfcCompressorTypeEnum {
  BOOSTER = 'BOOSTER',
  DYNAMIC = 'DYNAMIC',
  HERMETIC = 'HERMETIC',
  OPENTYPE = 'OPENTYPE',
  RECIPROCATING = 'RECIPROCATING',
  ROLLINGPISTON = 'ROLLINGPISTON',
  ROTARY = 'ROTARY',
  ROTARYVANE = 'ROTARYVANE',
  SCROLL = 'SCROLL',
  SEMIHERMETIC = 'SEMIHERMETIC',
  SINGLESCREW = 'SINGLESCREW',
  SINGLESTAGE = 'SINGLESTAGE',
  TROCHOIDAL = 'TROCHOIDAL',
  TWINSCREW = 'TWINSCREW',
  WELDEDSHELLHERMETIC = 'WELDEDSHELLHERMETIC',
  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 {
  ATEND = 'ATEND',
  ATPATH = 'ATPATH',
  ATSTART = 'ATSTART',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcConstraintEnum */
export enum IfcConstraintEnum {
  ADVISORY = 'ADVISORY',
  HARD = 'HARD',
  SOFT = 'SOFT',
  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',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

/** IfcConveyorSegmentTypeEnum */
export enum IfcConveyorSegmentTypeEnum {
  BELTCONVEYOR = 'BELTCONVEYOR',
  BUCKETCONVEYOR = 'BUCKETCONVEYOR',
  CHUTECONVEYOR = 'CHUTECONVEYOR',
  SCREWCONVEYOR = 'SCREWCONVEYOR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

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

/** IfcCourseTypeEnum */
export enum IfcCourseTypeEnum {
  ARMOUR = 'ARMOUR',
  BALLASTBED = 'BALLASTBED',
  CORE = 'CORE',
  FILTER = 'FILTER',
  PAVEMENT = 'PAVEMENT',
  PROTECTION = 'PROTECTION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcCoveringTypeEnum */
export enum IfcCoveringTypeEnum {
  CEILING = 'CEILING',
  CLADDING = 'CLADDING',
  COPING = 'COPING',
  FLOORING = 'FLOORING',
  INSULATION = 'INSULATION',
  MEMBRANE = 'MEMBRANE',
  MOLDING = 'MOLDING',
  ROOFING = 'ROOFING',
  SKIRTINGBOARD = 'SKIRTINGBOARD',
  SLEEVING = 'SLEEVING',
  TOPPING = 'TOPPING',
  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 {
  ACCELERATIONUNIT = 'ACCELERATIONUNIT',
  ANGULARVELOCITYUNIT = 'ANGULARVELOCITYUNIT',
  AREADENSITYUNIT = 'AREADENSITYUNIT',
  COMPOUNDPLANEANGLEUNIT = 'COMPOUNDPLANEANGLEUNIT',
  CURVATUREUNIT = 'CURVATUREUNIT',
  DYNAMICVISCOSITYUNIT = 'DYNAMICVISCOSITYUNIT',
  HEATFLUXDENSITYUNIT = 'HEATFLUXDENSITYUNIT',
  HEATINGVALUEUNIT = 'HEATINGVALUEUNIT',
  INTEGERCOUNTRATEUNIT = 'INTEGERCOUNTRATEUNIT',
  IONCONCENTRATIONUNIT = 'IONCONCENTRATIONUNIT',
  ISOTHERMALMOISTURECAPACITYUNIT = 'ISOTHERMALMOISTURECAPACITYUNIT',
  KINEMATICVISCOSITYUNIT = 'KINEMATICVISCOSITYUNIT',
  LINEARFORCEUNIT = 'LINEARFORCEUNIT',
  LINEARMOMENTUNIT = 'LINEARMOMENTUNIT',
  LINEARSTIFFNESSUNIT = 'LINEARSTIFFNESSUNIT',
  LINEARVELOCITYUNIT = 'LINEARVELOCITYUNIT',
  LUMINOUSINTENSITYDISTRIBUTIONUNIT = 'LUMINOUSINTENSITYDISTRIBUTIONUNIT',
  MASSDENSITYUNIT = 'MASSDENSITYUNIT',
  MASSFLOWRATEUNIT = 'MASSFLOWRATEUNIT',
  MASSPERLENGTHUNIT = 'MASSPERLENGTHUNIT',
  MODULUSOFELASTICITYUNIT = 'MODULUSOFELASTICITYUNIT',
  MODULUSOFLINEARSUBGRADEREACTIONUNIT = 'MODULUSOFLINEARSUBGRADEREACTIONUNIT',
  MODULUSOFROTATIONALSUBGRADEREACTIONUNIT = 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT',
  MODULUSOFSUBGRADEREACTIONUNIT = 'MODULUSOFSUBGRADEREACTIONUNIT',
  MOISTUREDIFFUSIVITYUNIT = 'MOISTUREDIFFUSIVITYUNIT',
  MOLECULARWEIGHTUNIT = 'MOLECULARWEIGHTUNIT',
  MOMENTOFINERTIAUNIT = 'MOMENTOFINERTIAUNIT',
  PHUNIT = 'PHUNIT',
  PLANARFORCEUNIT = 'PLANARFORCEUNIT',
  ROTATIONALFREQUENCYUNIT = 'ROTATIONALFREQUENCYUNIT',
  ROTATIONALMASSUNIT = 'ROTATIONALMASSUNIT',
  ROTATIONALSTIFFNESSUNIT = 'ROTATIONALSTIFFNESSUNIT',
  SECTIONAREAINTEGRALUNIT = 'SECTIONAREAINTEGRALUNIT',
  SECTIONMODULUSUNIT = 'SECTIONMODULUSUNIT',
  SHEARMODULUSUNIT = 'SHEARMODULUSUNIT',
  SOUNDPOWERLEVELUNIT = 'SOUNDPOWERLEVELUNIT',
  SOUNDPOWERUNIT = 'SOUNDPOWERUNIT',
  SOUNDPRESSURELEVELUNIT = 'SOUNDPRESSURELEVELUNIT',
  SOUNDPRESSUREUNIT = 'SOUNDPRESSUREUNIT',
  SPECIFICHEATCAPACITYUNIT = 'SPECIFICHEATCAPACITYUNIT',
  TEMPERATUREGRADIENTUNIT = 'TEMPERATUREGRADIENTUNIT',
  TEMPERATURERATEOFCHANGEUNIT = 'TEMPERATURERATEOFCHANGEUNIT',
  THERMALADMITTANCEUNIT = 'THERMALADMITTANCEUNIT',
  THERMALCONDUCTANCEUNIT = 'THERMALCONDUCTANCEUNIT',
  THERMALEXPANSIONCOEFFICIENTUNIT = 'THERMALEXPANSIONCOEFFICIENTUNIT',
  THERMALRESISTANCEUNIT = 'THERMALRESISTANCEUNIT',
  THERMALTRANSMITTANCEUNIT = 'THERMALTRANSMITTANCEUNIT',
  TORQUEUNIT = 'TORQUEUNIT',
  VAPORPERMEABILITYUNIT = 'VAPORPERMEABILITYUNIT',
  VOLUMETRICFLOWRATEUNIT = 'VOLUMETRICFLOWRATEUNIT',
  WARPINGCONSTANTUNIT = 'WARPINGCONSTANTUNIT',
  WARPINGMOMENTUNIT = 'WARPINGMOMENTUNIT',
  USERDEFINED = 'USERDEFINED',
}

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

/** IfcDiscreteAccessoryTypeEnum */
export enum IfcDiscreteAccessoryTypeEnum {
  ANCHORPLATE = 'ANCHORPLATE',
  BIRDPROTECTION = 'BIRDPROTECTION',
  BRACKET = 'BRACKET',
  CABLEARRANGER = 'CABLEARRANGER',
  ELASTIC_CUSHION = 'ELASTIC_CUSHION',
  EXPANSION_JOINT_DEVICE = 'EXPANSION_JOINT_DEVICE',
  FILLER = 'FILLER',
  FLASHING = 'FLASHING',
  INSULATOR = 'INSULATOR',
  LOCK = 'LOCK',
  PANEL_STRENGTHENING = 'PANEL_STRENGTHENING',
  POINTMACHINEMOUNTINGDEVICE = 'POINTMACHINEMOUNTINGDEVICE',
  POINT_MACHINE_LOCKING_DEVICE = 'POINT_MACHINE_LOCKING_DEVICE',
  RAILBRACE = 'RAILBRACE',
  RAILPAD = 'RAILPAD',
  RAIL_LUBRICATION = 'RAIL_LUBRICATION',
  RAIL_MECHANICAL_EQUIPMENT = 'RAIL_MECHANICAL_EQUIPMENT',
  SHOE = 'SHOE',
  SLIDINGCHAIR = 'SLIDINGCHAIR',
  SOUNDABSORPTION = 'SOUNDABSORPTION',
  TENSIONINGEQUIPMENT = 'TENSIONINGEQUIPMENT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDistributionBoardTypeEnum */
export enum IfcDistributionBoardTypeEnum {
  CONSUMERUNIT = 'CONSUMERUNIT',
  DISPATCHINGBOARD = 'DISPATCHINGBOARD',
  DISTRIBUTIONBOARD = 'DISTRIBUTIONBOARD',
  DISTRIBUTIONFRAME = 'DISTRIBUTIONFRAME',
  MOTORCONTROLCENTRE = 'MOTORCONTROLCENTRE',
  SWITCHBOARD = 'SWITCHBOARD',
  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',
  WIRELESS = 'WIRELESS',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcDistributionSystemEnum */
export enum IfcDistributionSystemEnum {
  AIRCONDITIONING = 'AIRCONDITIONING',
  AUDIOVISUAL = 'AUDIOVISUAL',
  CATENARY_SYSTEM = 'CATENARY_SYSTEM',
  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',
  FIXEDTRANSMISSIONNETWORK = 'FIXEDTRANSMISSIONNETWORK',
  FUEL = 'FUEL',
  GAS = 'GAS',
  HAZARDOUS = 'HAZARDOUS',
  HEATING = 'HEATING',
  LIGHTING = 'LIGHTING',
  LIGHTNINGPROTECTION = 'LIGHTNINGPROTECTION',
  MOBILENETWORK = 'MOBILENETWORK',
  MONITORINGSYSTEM = 'MONITORINGSYSTEM',
  MUNICIPALSOLIDWASTE = 'MUNICIPALSOLIDWASTE',
  OIL = 'OIL',
  OPERATIONAL = 'OPERATIONAL',
  OPERATIONALTELEPHONYSYSTEM = 'OPERATIONALTELEPHONYSYSTEM',
  OVERHEAD_CONTACTLINE_SYSTEM = 'OVERHEAD_CONTACTLINE_SYSTEM',
  POWERGENERATION = 'POWERGENERATION',
  RAINWATER = 'RAINWATER',
  REFRIGERATION = 'REFRIGERATION',
  RETURN_CIRCUIT = 'RETURN_CIRCUIT',
  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 {
  CONFIDENTIAL = 'CONFIDENTIAL',
  PERSONAL = 'PERSONAL',
  PUBLIC = 'PUBLIC',
  RESTRICTED = 'RESTRICTED',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

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

/** IfcDoorTypeOperationEnum */
export enum IfcDoorTypeOperationEnum {
  DOUBLE_DOOR_DOUBLE_SWING = 'DOUBLE_DOOR_DOUBLE_SWING',
  DOUBLE_DOOR_FOLDING = 'DOUBLE_DOOR_FOLDING',
  DOUBLE_DOOR_LIFTING_VERTICAL = 'DOUBLE_DOOR_LIFTING_VERTICAL',
  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_DOOR_SLIDING = 'DOUBLE_DOOR_SLIDING',
  DOUBLE_SWING_LEFT = 'DOUBLE_SWING_LEFT',
  DOUBLE_SWING_RIGHT = 'DOUBLE_SWING_RIGHT',
  FOLDING_TO_LEFT = 'FOLDING_TO_LEFT',
  FOLDING_TO_RIGHT = 'FOLDING_TO_RIGHT',
  LIFTING_HORIZONTAL = 'LIFTING_HORIZONTAL',
  LIFTING_VERTICAL_LEFT = 'LIFTING_VERTICAL_LEFT',
  LIFTING_VERTICAL_RIGHT = 'LIFTING_VERTICAL_RIGHT',
  REVOLVING = 'REVOLVING',
  REVOLVING_VERTICAL = 'REVOLVING_VERTICAL',
  ROLLINGUP = 'ROLLINGUP',
  SINGLE_SWING_LEFT = 'SINGLE_SWING_LEFT',
  SINGLE_SWING_RIGHT = 'SINGLE_SWING_RIGHT',
  SLIDING_TO_LEFT = 'SLIDING_TO_LEFT',
  SLIDING_TO_RIGHT = 'SLIDING_TO_RIGHT',
  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 {
  FLEXIBLESEGMENT = 'FLEXIBLESEGMENT',
  RIGIDSEGMENT = 'RIGIDSEGMENT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcEarthworksCutTypeEnum */
export enum IfcEarthworksCutTypeEnum {
  BASE_EXCAVATION = 'BASE_EXCAVATION',
  CUT = 'CUT',
  DREDGING = 'DREDGING',
  EXCAVATION = 'EXCAVATION',
  OVEREXCAVATION = 'OVEREXCAVATION',
  PAVEMENTMILLING = 'PAVEMENTMILLING',
  STEPEXCAVATION = 'STEPEXCAVATION',
  TOPSOILREMOVAL = 'TOPSOILREMOVAL',
  TRENCH = 'TRENCH',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcEarthworksFillTypeEnum */
export enum IfcEarthworksFillTypeEnum {
  BACKFILL = 'BACKFILL',
  COUNTERWEIGHT = 'COUNTERWEIGHT',
  EMBANKMENT = 'EMBANKMENT',
  SLOPEFILL = 'SLOPEFILL',
  SUBGRADE = 'SUBGRADE',
  SUBGRADEBED = 'SUBGRADEBED',
  TRANSITIONSECTION = 'TRANSITIONSECTION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcElectricApplianceTypeEnum */
export enum IfcElectricApplianceTypeEnum {
  DISHWASHER = 'DISHWASHER',
  ELECTRICCOOKER = 'ELECTRICCOOKER',
  FREESTANDINGELECTRICHEATER = 'FREESTANDINGELECTRICHEATER',
  FREESTANDINGFAN = 'FREESTANDINGFAN',
  FREESTANDINGWATERCOOLER = 'FREESTANDINGWATERCOOLER',
  FREESTANDINGWATERHEATER = 'FREESTANDINGWATERHEATER',
  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',
  CAPACITOR = 'CAPACITOR',
  CAPACITORBANK = 'CAPACITORBANK',
  COMPENSATOR = 'COMPENSATOR',
  HARMONICFILTER = 'HARMONICFILTER',
  INDUCTOR = 'INDUCTOR',
  INDUCTORBANK = 'INDUCTORBANK',
  RECHARGER = 'RECHARGER',
  UPS = 'UPS',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcElectricFlowTreatmentDeviceTypeEnum */
export enum IfcElectricFlowTreatmentDeviceTypeEnum {
  ELECTRONICFILTER = 'ELECTRONICFILTER',
  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 {
  RELAY = 'RELAY',
  TIMECLOCK = 'TIMECLOCK',
  TIMEDELAY = 'TIMEDELAY',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcElementAssemblyTypeEnum */
export enum IfcElementAssemblyTypeEnum {
  ABUTMENT = 'ABUTMENT',
  ACCESSORY_ASSEMBLY = 'ACCESSORY_ASSEMBLY',
  ARCH = 'ARCH',
  BEAM_GRID = 'BEAM_GRID',
  BRACED_FRAME = 'BRACED_FRAME',
  CROSS_BRACING = 'CROSS_BRACING',
  DECK = 'DECK',
  DILATATIONPANEL = 'DILATATIONPANEL',
  ENTRANCEWORKS = 'ENTRANCEWORKS',
  GIRDER = 'GIRDER',
  GRID = 'GRID',
  MAST = 'MAST',
  PIER = 'PIER',
  PYLON = 'PYLON',
  RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY = 'RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY',
  REINFORCEMENT_UNIT = 'REINFORCEMENT_UNIT',
  RIGID_FRAME = 'RIGID_FRAME',
  SHELTER = 'SHELTER',
  SIGNALASSEMBLY = 'SIGNALASSEMBLY',
  SLAB_FIELD = 'SLAB_FIELD',
  SUMPBUSTER = 'SUMPBUSTER',
  SUPPORTINGASSEMBLY = 'SUPPORTINGASSEMBLY',
  SUSPENSIONASSEMBLY = 'SUSPENSIONASSEMBLY',
  TRACKPANEL = 'TRACKPANEL',
  TRACTION_SWITCHING_ASSEMBLY = 'TRACTION_SWITCHING_ASSEMBLY',
  TRAFFIC_CALMING_DEVICE = 'TRAFFIC_CALMING_DEVICE',
  TRUSS = 'TRUSS',
  TURNOUTPANEL = 'TURNOUTPANEL',
  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 {
  DIRECTEVAPORATIVEAIRWASHER = 'DIRECTEVAPORATIVEAIRWASHER',
  DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER = 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER',
  DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER = 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER',
  DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER = 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER',
  DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER = 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER',
  INDIRECTDIRECTCOMBINATION = 'INDIRECTDIRECTCOMBINATION',
  INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER = 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER',
  INDIRECTEVAPORATIVEPACKAGEAIRCOOLER = 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER',
  INDIRECTEVAPORATIVEWETCOIL = 'INDIRECTEVAPORATIVEWETCOIL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

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

/** IfcFacilityPartCommonTypeEnum */
export enum IfcFacilityPartCommonTypeEnum {
  ABOVEGROUND = 'ABOVEGROUND',
  BELOWGROUND = 'BELOWGROUND',
  JUNCTION = 'JUNCTION',
  LEVELCROSSING = 'LEVELCROSSING',
  SEGMENT = 'SEGMENT',
  SUBSTRUCTURE = 'SUBSTRUCTURE',
  SUPERSTRUCTURE = 'SUPERSTRUCTURE',
  TERMINAL = 'TERMINAL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcFacilityUsageEnum */
export enum IfcFacilityUsageEnum {
  LATERAL = 'LATERAL',
  LONGITUDINAL = 'LONGITUDINAL',
  REGION = 'REGION',
  VERTICAL = 'VERTICAL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcFanTypeEnum */
export enum IfcFanTypeEnum {
  CENTRIFUGALAIRFOIL = 'CENTRIFUGALAIRFOIL',
  CENTRIFUGALBACKWARDINCLINEDCURVED = 'CENTRIFUGALBACKWARDINCLINEDCURVED',
  CENTRIFUGALFORWARDCURVED = 'CENTRIFUGALFORWARDCURVED',
  CENTRIFUGALRADIAL = 'CENTRIFUGALRADIAL',
  PROPELLORAXIAL = 'PROPELLORAXIAL',
  TUBEAXIAL = 'TUBEAXIAL',
  VANEAXIAL = 'VANEAXIAL',
  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',
  FIREMONITOR = 'FIREMONITOR',
  HOSEREEL = 'HOSEREEL',
  SPRINKLER = 'SPRINKLER',
  SPRINKLERDEFLECTOR = 'SPRINKLERDEFLECTOR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcFlowInstrumentTypeEnum */
export enum IfcFlowInstrumentTypeEnum {
  AMMETER = 'AMMETER',
  COMBINED = 'COMBINED',
  FREQUENCYMETER = 'FREQUENCYMETER',
  PHASEANGLEMETER = 'PHASEANGLEMETER',
  POWERFACTORMETER = 'POWERFACTORMETER',
  PRESSUREGAUGE = 'PRESSUREGAUGE',
  THERMOMETER = 'THERMOMETER',
  VOLTMETER = 'VOLTMETER',
  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 {
  BED = 'BED',
  CHAIR = 'CHAIR',
  DESK = 'DESK',
  FILECABINET = 'FILECABINET',
  SHELF = 'SHELF',
  SOFA = 'SOFA',
  TABLE = 'TABLE',
  TECHNICALCABINET = 'TECHNICALCABINET',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

/** IfcGeotechnicalStratumTypeEnum */
export enum IfcGeotechnicalStratumTypeEnum {
  SOLID = 'SOLID',
  VOID = 'VOID',
  WATER = 'WATER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

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

/** IfcImpactProtectionDeviceTypeEnum */
export enum IfcImpactProtectionDeviceTypeEnum {
  BUMPER = 'BUMPER',
  CRASHCUSHION = 'CRASHCUSHION',
  DAMPINGSYSTEM = 'DAMPINGSYSTEM',
  FENDER = 'FENDER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

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

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

/** IfcKnotType */
export enum IfcKnotType {
  PIECEWISE_BEZIER_KNOTS = 'PIECEWISE_BEZIER_KNOTS',
  QUASI_UNIFORM_KNOTS = 'QUASI_UNIFORM_KNOTS',
  UNIFORM_KNOTS = 'UNIFORM_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 {
  DIRECTIONSOURCE = 'DIRECTIONSOURCE',
  POINTSOURCE = 'POINTSOURCE',
  SECURITYLIGHTING = 'SECURITYLIGHTING',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcLiquidTerminalTypeEnum */
export enum IfcLiquidTerminalTypeEnum {
  HOSEREEL = 'HOSEREEL',
  LOADINGARM = 'LOADINGARM',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

/** IfcMarineFacilityTypeEnum */
export enum IfcMarineFacilityTypeEnum {
  BARRIERBEACH = 'BARRIERBEACH',
  BREAKWATER = 'BREAKWATER',
  CANAL = 'CANAL',
  DRYDOCK = 'DRYDOCK',
  FLOATINGDOCK = 'FLOATINGDOCK',
  HYDROLIFT = 'HYDROLIFT',
  JETTY = 'JETTY',
  LAUNCHRECOVERY = 'LAUNCHRECOVERY',
  MARINEDEFENCE = 'MARINEDEFENCE',
  NAVIGATIONALCHANNEL = 'NAVIGATIONALCHANNEL',
  PORT = 'PORT',
  QUAY = 'QUAY',
  REVETMENT = 'REVETMENT',
  SHIPLIFT = 'SHIPLIFT',
  SHIPLOCK = 'SHIPLOCK',
  SHIPYARD = 'SHIPYARD',
  SLIPWAY = 'SLIPWAY',
  WATERWAY = 'WATERWAY',
  WATERWAYSHIPLIFT = 'WATERWAYSHIPLIFT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcMarinePartTypeEnum */
export enum IfcMarinePartTypeEnum {
  ABOVEWATERLINE = 'ABOVEWATERLINE',
  ANCHORAGE = 'ANCHORAGE',
  APPROACHCHANNEL = 'APPROACHCHANNEL',
  BELOWWATERLINE = 'BELOWWATERLINE',
  BERTHINGSTRUCTURE = 'BERTHINGSTRUCTURE',
  CHAMBER = 'CHAMBER',
  CILL_LEVEL = 'CILL_LEVEL',
  COPELEVEL = 'COPELEVEL',
  CORE = 'CORE',
  CREST = 'CREST',
  GATEHEAD = 'GATEHEAD',
  GUDINGSTRUCTURE = 'GUDINGSTRUCTURE',
  HIGHWATERLINE = 'HIGHWATERLINE',
  LANDFIELD = 'LANDFIELD',
  LEEWARDSIDE = 'LEEWARDSIDE',
  LOWWATERLINE = 'LOWWATERLINE',
  MANUFACTURING = 'MANUFACTURING',
  NAVIGATIONALAREA = 'NAVIGATIONALAREA',
  PROTECTION = 'PROTECTION',
  SHIPTRANSFER = 'SHIPTRANSFER',
  STORAGEAREA = 'STORAGEAREA',
  VEHICLESERVICING = 'VEHICLESERVICING',
  WATERFIELD = 'WATERFIELD',
  WEATHERSIDE = 'WEATHERSIDE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcMechanicalFastenerTypeEnum */
export enum IfcMechanicalFastenerTypeEnum {
  ANCHORBOLT = 'ANCHORBOLT',
  BOLT = 'BOLT',
  CHAIN = 'CHAIN',
  COUPLER = 'COUPLER',
  DOWEL = 'DOWEL',
  NAIL = 'NAIL',
  NAILPLATE = 'NAILPLATE',
  RAILFASTENING = 'RAILFASTENING',
  RAILJOINT = 'RAILJOINT',
  RIVET = 'RIVET',
  ROPE = 'ROPE',
  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 {
  ARCH_SEGMENT = 'ARCH_SEGMENT',
  BRACE = 'BRACE',
  CHORD = 'CHORD',
  COLLAR = 'COLLAR',
  MEMBER = 'MEMBER',
  MULLION = 'MULLION',
  PLATE = 'PLATE',
  POST = 'POST',
  PURLIN = 'PURLIN',
  RAFTER = 'RAFTER',
  STAY_CABLE = 'STAY_CABLE',
  STIFFENING_RIB = 'STIFFENING_RIB',
  STRINGER = 'STRINGER',
  STRUCTURALCABLE = 'STRUCTURALCABLE',
  STRUT = 'STRUT',
  STUD = 'STUD',
  SUSPENDER = 'SUSPENDER',
  SUSPENSION_CABLE = 'SUSPENSION_CABLE',
  TIEBAR = 'TIEBAR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcMobileTelecommunicationsApplianceTypeEnum */
export enum IfcMobileTelecommunicationsApplianceTypeEnum {
  ACCESSPOINT = 'ACCESSPOINT',
  BASEBANDUNIT = 'BASEBANDUNIT',
  BASETRANSCEIVERSTATION = 'BASETRANSCEIVERSTATION',
  E_UTRAN_NODE_B = 'E_UTRAN_NODE_B',
  GATEWAY_GPRS_SUPPORT_NODE = 'GATEWAY_GPRS_SUPPORT_NODE',
  MASTERUNIT = 'MASTERUNIT',
  MOBILESWITCHINGCENTER = 'MOBILESWITCHINGCENTER',
  MSCSERVER = 'MSCSERVER',
  PACKETCONTROLUNIT = 'PACKETCONTROLUNIT',
  REMOTERADIOUNIT = 'REMOTERADIOUNIT',
  REMOTEUNIT = 'REMOTEUNIT',
  SERVICE_GPRS_SUPPORT_NODE = 'SERVICE_GPRS_SUPPORT_NODE',
  SUBSCRIBERSERVER = 'SUBSCRIBERSERVER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcMooringDeviceTypeEnum */
export enum IfcMooringDeviceTypeEnum {
  BOLLARD = 'BOLLARD',
  LINETENSIONER = 'LINETENSIONER',
  MAGNETICDEVICE = 'MAGNETICDEVICE',
  MOORINGHOOKS = 'MOORINGHOOKS',
  VACUUMDEVICE = 'VACUUMDEVICE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcNavigationElementTypeEnum */
export enum IfcNavigationElementTypeEnum {
  BEACON = 'BEACON',
  BUOY = 'BUOY',
  USERDEFINED = 'USERDEFINED',
  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',
  DATAOUTLET = 'DATAOUTLET',
  POWEROUTLET = 'POWEROUTLET',
  TELEPHONEOUTLET = 'TELEPHONEOUTLET',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPavementTypeEnum */
export enum IfcPavementTypeEnum {
  FLEXIBLE = 'FLEXIBLE',
  RIGID = 'RIGID',
  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',
  COHESION = 'COHESION',
  DRIVEN = 'DRIVEN',
  FRICTION = 'FRICTION',
  JETGROUTING = 'JETGROUTING',
  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',
  GUTTER = 'GUTTER',
  RIGIDSEGMENT = 'RIGIDSEGMENT',
  SPOOL = 'SPOOL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcPlateTypeEnum */
export enum IfcPlateTypeEnum {
  BASE_PLATE = 'BASE_PLATE',
  COVER_PLATE = 'COVER_PLATE',
  CURTAIN_PANEL = 'CURTAIN_PANEL',
  FLANGE_PLATE = 'FLANGE_PLATE',
  GUSSET_PLATE = 'GUSSET_PLATE',
  SHEET = 'SHEET',
  SPLICE_PLATE = 'SPLICE_PLATE',
  STIFFENER_PLATE = 'STIFFENER_PLATE',
  WEB_PLATE = 'WEB_PLATE',
  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 {
  AREA = 'AREA',
  CURVE = 'CURVE',
}

/** 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 {
  BLISTER = 'BLISTER',
  DEVIATOR = 'DEVIATOR',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

/** IfcProtectiveDeviceTypeEnum */
export enum IfcProtectiveDeviceTypeEnum {
  ANTI_ARCING_DEVICE = 'ANTI_ARCING_DEVICE',
  CIRCUITBREAKER = 'CIRCUITBREAKER',
  EARTHINGSWITCH = 'EARTHINGSWITCH',
  EARTHLEAKAGECIRCUITBREAKER = 'EARTHLEAKAGECIRCUITBREAKER',
  FUSEDISCONNECTOR = 'FUSEDISCONNECTOR',
  RESIDUALCURRENTCIRCUITBREAKER = 'RESIDUALCURRENTCIRCUITBREAKER',
  RESIDUALCURRENTSWITCH = 'RESIDUALCURRENTSWITCH',
  SPARKGAP = 'SPARKGAP',
  VARISTOR = 'VARISTOR',
  VOLTAGELIMITER = 'VOLTAGELIMITER',
  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',
}

/** IfcRailTypeEnum */
export enum IfcRailTypeEnum {
  BLADE = 'BLADE',
  CHECKRAIL = 'CHECKRAIL',
  GUARDRAIL = 'GUARDRAIL',
  RACKRAIL = 'RACKRAIL',
  RAIL = 'RAIL',
  STOCKRAIL = 'STOCKRAIL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcRailwayPartTypeEnum */
export enum IfcRailwayPartTypeEnum {
  ABOVETRACK = 'ABOVETRACK',
  DILATIONTRACK = 'DILATIONTRACK',
  LINESIDE = 'LINESIDE',
  LINESIDEPART = 'LINESIDEPART',
  PLAINTRACK = 'PLAINTRACK',
  SUBSTRUCTURE = 'SUBSTRUCTURE',
  TRACK = 'TRACK',
  TRACKPART = 'TRACKPART',
  TURNOUTTRACK = 'TURNOUTTRACK',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

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

/** IfcReferentTypeEnum */
export enum IfcReferentTypeEnum {
  BOUNDARY = 'BOUNDARY',
  INTERSECTION = 'INTERSECTION',
  KILOPOINT = 'KILOPOINT',
  LANDMARK = 'LANDMARK',
  MILEPOINT = 'MILEPOINT',
  POSITION = 'POSITION',
  REFERENCEMARKER = 'REFERENCEMARKER',
  STATION = 'STATION',
  SUPERELEVATIONEVENT = 'SUPERELEVATIONEVENT',
  WIDTHEVENT = 'WIDTHEVENT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcReinforcedSoilTypeEnum */
export enum IfcReinforcedSoilTypeEnum {
  DYNAMICALLYCOMPACTED = 'DYNAMICALLYCOMPACTED',
  GROUTED = 'GROUTED',
  REPLACED = 'REPLACED',
  ROLLERCOMPACTED = 'ROLLERCOMPACTED',
  SURCHARGEPRELOADED = 'SURCHARGEPRELOADED',
  VERTICALLYDRAINED = 'VERTICALLYDRAINED',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcReinforcingBarRoleEnum */
export enum IfcReinforcingBarRoleEnum {
  ANCHORING = 'ANCHORING',
  EDGE = 'EDGE',
  LIGATURE = 'LIGATURE',
  MAIN = 'MAIN',
  PUNCHING = 'PUNCHING',
  RING = 'RING',
  SHEAR = 'SHEAR',
  STUD = 'STUD',
  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',
  SPACEBAR = 'SPACEBAR',
  STUD = 'STUD',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcRoadPartTypeEnum */
export enum IfcRoadPartTypeEnum {
  BICYCLECROSSING = 'BICYCLECROSSING',
  BUS_STOP = 'BUS_STOP',
  CARRIAGEWAY = 'CARRIAGEWAY',
  CENTRALISLAND = 'CENTRALISLAND',
  CENTRALRESERVE = 'CENTRALRESERVE',
  HARDSHOULDER = 'HARDSHOULDER',
  INTERSECTION = 'INTERSECTION',
  LAYBY = 'LAYBY',
  PARKINGBAY = 'PARKINGBAY',
  PASSINGBAY = 'PASSINGBAY',
  PEDESTRIAN_CROSSING = 'PEDESTRIAN_CROSSING',
  RAILWAYCROSSING = 'RAILWAYCROSSING',
  REFUGEISLAND = 'REFUGEISLAND',
  ROADSEGMENT = 'ROADSEGMENT',
  ROADSIDE = 'ROADSIDE',
  ROADSIDEPART = 'ROADSIDEPART',
  ROADWAYPLATEAU = 'ROADWAYPLATEAU',
  ROUNDABOUT = 'ROUNDABOUT',
  SHOULDER = 'SHOULDER',
  SIDEWALK = 'SIDEWALK',
  SOFTSHOULDER = 'SOFTSHOULDER',
  TOLLPLAZA = 'TOLLPLAZA',
  TRAFFICISLAND = 'TRAFFICISLAND',
  TRAFFICLANE = 'TRAFFICLANE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

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

/** 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',
  SANITARYFOUNTAIN = 'SANITARYFOUNTAIN',
  SHOWER = 'SHOWER',
  SINK = 'SINK',
  TOILETPAN = 'TOILETPAN',
  URINAL = 'URINAL',
  WASHHANDBASIN = 'WASHHANDBASIN',
  WCSEAT = 'WCSEAT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

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

/** IfcSignTypeEnum */
export enum IfcSignTypeEnum {
  MARKER = 'MARKER',
  MIRROR = 'MIRROR',
  PICTORAL = 'PICTORAL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSignalTypeEnum */
export enum IfcSignalTypeEnum {
  AUDIO = 'AUDIO',
  MIXED = 'MIXED',
  VISUAL = 'VISUAL',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcSlabTypeEnum */
export enum IfcSlabTypeEnum {
  APPROACH_SLAB = 'APPROACH_SLAB',
  BASESLAB = 'BASESLAB',
  FLOOR = 'FLOOR',
  LANDING = 'LANDING',
  PAVING = 'PAVING',
  ROOF = 'ROOF',
  SIDEWALK = 'SIDEWALK',
  TRACKSLAB = 'TRACKSLAB',
  WEARING = 'WEARING',
  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 {
  BERTH = 'BERTH',
  EXTERNAL = 'EXTERNAL',
  GFA = 'GFA',
  INTERNAL = 'INTERNAL',
  PARKING = 'PARKING',
  SPACE = 'SPACE',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcSpatialZoneTypeEnum */
export enum IfcSpatialZoneTypeEnum {
  CONSTRUCTION = 'CONSTRUCTION',
  FIRESAFETY = 'FIRESAFETY',
  INTERFERENCE = 'INTERFERENCE',
  LIGHTING = 'LIGHTING',
  OCCUPANCY = 'OCCUPANCY',
  RESERVATION = 'RESERVATION',
  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 {
  CURVED = 'CURVED',
  FREEFORM = 'FREEFORM',
  SPIRAL = 'SPIRAL',
  STRAIGHT = 'STRAIGHT',
  WINDER = 'WINDER',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

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

/** IfcStructuralSurfaceActivityTypeEnum */
export enum IfcStructuralSurfaceActivityTypeEnum {
  BILINEAR = 'BILINEAR',
  CONST = 'CONST',
  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 {
  DEFECT = 'DEFECT',
  HATCHMARKING = 'HATCHMARKING',
  LINEMARKING = 'LINEMARKING',
  MARK = 'MARK',
  NONSKIDSURFACING = 'NONSKIDSURFACING',
  PAVEMENTSURFACEMARKING = 'PAVEMENTSURFACEMARKING',
  RUMBLESTRIP = 'RUMBLESTRIP',
  SYMBOLMARKING = 'SYMBOLMARKING',
  TAG = 'TAG',
  TRANSVERSERUMBLESTRIP = 'TRANSVERSERUMBLESTRIP',
  TREATMENT = 'TREATMENT',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

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

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

/** IfcTaskTypeEnum */
export enum IfcTaskTypeEnum {
  ADJUSTMENT = 'ADJUSTMENT',
  ATTENDANCE = 'ATTENDANCE',
  CALIBRATION = 'CALIBRATION',
  CONSTRUCTION = 'CONSTRUCTION',
  DEMOLITION = 'DEMOLITION',
  DISMANTLE = 'DISMANTLE',
  DISPOSAL = 'DISPOSAL',
  EMERGENCY = 'EMERGENCY',
  INSPECTION = 'INSPECTION',
  INSTALLATION = 'INSTALLATION',
  LOGISTIC = 'LOGISTIC',
  MAINTENANCE = 'MAINTENANCE',
  MOVE = 'MOVE',
  OPERATION = 'OPERATION',
  REMOVAL = 'REMOVAL',
  RENOVATION = 'RENOVATION',
  SAFETY = 'SAFETY',
  SHUTDOWN = 'SHUTDOWN',
  STARTUP = 'STARTUP',
  TESTING = 'TESTING',
  TROUBLESHOOTING = 'TROUBLESHOOTING',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcTendonConduitTypeEnum */
export enum IfcTendonConduitTypeEnum {
  COUPLER = 'COUPLER',
  DIABOLO = 'DIABOLO',
  DUCT = 'DUCT',
  GROUTING_DUCT = 'GROUTING_DUCT',
  TRUMPET = 'TRUMPET',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

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

/** IfcTrackElementTypeEnum */
export enum IfcTrackElementTypeEnum {
  BLOCKINGDEVICE = 'BLOCKINGDEVICE',
  DERAILER = 'DERAILER',
  FROG = 'FROG',
  HALF_SET_OF_BLADES = 'HALF_SET_OF_BLADES',
  SLEEPER = 'SLEEPER',
  SPEEDREGULATOR = 'SPEEDREGULATOR',
  TRACKENDOFALIGNMENT = 'TRACKENDOFALIGNMENT',
  VEHICLESTOP = 'VEHICLESTOP',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

/** IfcTransportElementTypeEnum */
export enum IfcTransportElementTypeEnum {
  CRANEWAY = 'CRANEWAY',
  ELEVATOR = 'ELEVATOR',
  ESCALATOR = 'ESCALATOR',
  HAULINGGEAR = 'HAULINGGEAR',
  LIFTINGGEAR = 'LIFTINGGEAR',
  MOVINGWALKWAY = 'MOVINGWALKWAY',
  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',
  BASESTATIONCONTROLLER = 'BASESTATIONCONTROLLER',
  COMBINED = 'COMBINED',
  CONTROLPANEL = 'CONTROLPANEL',
  GASDETECTIONPANEL = 'GASDETECTIONPANEL',
  HUMIDISTAT = 'HUMIDISTAT',
  INDICATORPANEL = 'INDICATORPANEL',
  MIMICPANEL = 'MIMICPANEL',
  THERMOSTAT = 'THERMOSTAT',
  WEATHERSTATION = 'WEATHERSTATION',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcValveTypeEnum */
export enum IfcValveTypeEnum {
  AIRRELEASE = 'AIRRELEASE',
  ANTIVACUUM = 'ANTIVACUUM',
  CHANGEOVER = 'CHANGEOVER',
  CHECK = 'CHECK',
  COMMISSIONING = 'COMMISSIONING',
  DIVERTING = 'DIVERTING',
  DOUBLECHECK = 'DOUBLECHECK',
  DOUBLEREGULATING = 'DOUBLEREGULATING',
  DRAWOFFCOCK = 'DRAWOFFCOCK',
  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',
}

/** IfcVehicleTypeEnum */
export enum IfcVehicleTypeEnum {
  CARGO = 'CARGO',
  ROLLINGSTOCK = 'ROLLINGSTOCK',
  VEHICLE = 'VEHICLE',
  VEHICLEAIR = 'VEHICLEAIR',
  VEHICLEMARINE = 'VEHICLEMARINE',
  VEHICLETRACKED = 'VEHICLETRACKED',
  VEHICLEWHEELED = 'VEHICLEWHEELED',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

/** IfcVibrationDamperTypeEnum */
export enum IfcVibrationDamperTypeEnum {
  AXIAL_YIELD = 'AXIAL_YIELD',
  BENDING_YIELD = 'BENDING_YIELD',
  FRICTION = 'FRICTION',
  RUBBER = 'RUBBER',
  SHEAR_YIELD = 'SHEAR_YIELD',
  VISCOUS = 'VISCOUS',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcVirtualElementTypeEnum */
export enum IfcVirtualElementTypeEnum {
  BOUNDARY = 'BOUNDARY',
  CLEARANCE = 'CLEARANCE',
  PROVISIONFORVOID = 'PROVISIONFORVOID',
  USERDEFINED = 'USERDEFINED',
  NOTDEFINED = 'NOTDEFINED',
}

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

/** IfcWallTypeEnum */
export enum IfcWallTypeEnum {
  ELEMENTEDWALL = 'ELEMENTEDWALL',
  MOVABLE = 'MOVABLE',
  PARAPET = 'PARAPET',
  PARTITIONING = 'PARTITIONING',
  PLUMBINGWALL = 'PLUMBINGWALL',
  POLYGONAL = 'POLYGONAL',
  RETAININGWALL = 'RETAININGWALL',
  SHEAR = 'SHEAR',
  SOLIDWALL = 'SOLIDWALL',
  STANDARD = 'STANDARD',
  WAVEWALL = 'WAVEWALL',
  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 {
  BOTTOMHUNG = 'BOTTOMHUNG',
  FIXEDCASEMENT = 'FIXEDCASEMENT',
  OTHEROPERATION = 'OTHEROPERATION',
  PIVOTHORIZONTAL = 'PIVOTHORIZONTAL',
  PIVOTVERTICAL = 'PIVOTVERTICAL',
  REMOVABLECASEMENT = 'REMOVABLECASEMENT',
  SIDEHUNGLEFTHAND = 'SIDEHUNGLEFTHAND',
  SIDEHUNGRIGHTHAND = 'SIDEHUNGRIGHTHAND',
  SLIDINGHORIZONTAL = 'SLIDINGHORIZONTAL',
  SLIDINGVERTICAL = 'SLIDINGVERTICAL',
  TILTANDTURNLEFTHAND = 'TILTANDTURNLEFTHAND',
  TILTANDTURNRIGHTHAND = 'TILTANDTURNRIGHTHAND',
  TOPHUNG = 'TOPHUNG',
  NOTDEFINED = 'NOTDEFINED',
}

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

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

/** IfcWindowTypePartitioningEnum */
export enum IfcWindowTypePartitioningEnum {
  DOUBLE_PANEL_HORIZONTAL = 'DOUBLE_PANEL_HORIZONTAL',
  DOUBLE_PANEL_VERTICAL = 'DOUBLE_PANEL_VERTICAL',
  SINGLE_PANEL = 'SINGLE_PANEL',
  TRIPLE_PANEL_BOTTOM = 'TRIPLE_PANEL_BOTTOM',
  TRIPLE_PANEL_HORIZONTAL = 'TRIPLE_PANEL_HORIZONTAL',
  TRIPLE_PANEL_LEFT = 'TRIPLE_PANEL_LEFT',
  TRIPLE_PANEL_RIGHT = 'TRIPLE_PANEL_RIGHT',
  TRIPLE_PANEL_TOP = 'TRIPLE_PANEL_TOP',
  TRIPLE_PANEL_VERTICAL = 'TRIPLE_PANEL_VERTICAL',
  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',
}

