Reference Source

src/plugins/BIMServerLoaderPlugin/BIMServerClient/ifc4.js

/**
 * @private
 */
export const ifc4 = {
		  "classes": {
			    "Tristate": {},
			    "IfcActionRequest": {
			      "domain": "ifcsharedmgmtelements",
			      "superclasses": [
			        "IfcControl"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Status": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongDescription": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcActor": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcObject"
			      ],
			      "fields": {
			        "TheActor": {
			          "type": "IfcActorSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "IsActingUpon": {
			          "type": "IfcRelAssignsToActor",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcActorRole": {
			      "domain": "ifcactorresource",
			      "superclasses": [
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "Role": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedRole": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HasExternalReference": {
			          "type": "IfcExternalReferenceRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcActuator": {
			      "domain": "ifcbuildingcontrolsdomain",
			      "superclasses": [
			        "IfcDistributionControlElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcActuatorType": {
			      "domain": "ifcbuildingcontrolsdomain",
			      "superclasses": [
			        "IfcDistributionControlElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAddress": {
			      "domain": "ifcactorresource",
			      "superclasses": [
			        "IfcObjectReferenceSelect"
			      ],
			      "fields": {
			        "Purpose": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedPurpose": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OfPerson": {
			          "type": "IfcPerson",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "OfOrganization": {
			          "type": "IfcOrganization",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcAdvancedBrep": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcManifoldSolidBrep"
			      ],
			      "fields": {}
			    },
			    "IfcAdvancedBrepWithVoids": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcAdvancedBrep"
			      ],
			      "fields": {
			        "Voids": {
			          "type": "IfcClosedShell",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAdvancedFace": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcFaceSurface"
			      ],
			      "fields": {}
			    },
			    "IfcAirTerminal": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowTerminal"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAirTerminalBox": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowController"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAirTerminalBoxType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowControllerType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAirTerminalType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowTerminalType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAirToAirHeatRecovery": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAirToAirHeatRecoveryType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAlarm": {
			      "domain": "ifcbuildingcontrolsdomain",
			      "superclasses": [
			        "IfcDistributionControlElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAlarmType": {
			      "domain": "ifcbuildingcontrolsdomain",
			      "superclasses": [
			        "IfcDistributionControlElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAnnotation": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcProduct"
			      ],
			      "fields": {
			        "ContainedInStructure": {
			          "type": "IfcRelContainedInSpatialStructure",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcAnnotationFillArea": {
			      "domain": "ifcpresentationdefinitionresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem"
			      ],
			      "fields": {
			        "OuterBoundary": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "InnerBoundaries": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcApplication": {
			      "domain": "ifcutilityresource",
			      "superclasses": [],
			      "fields": {
			        "ApplicationDeveloper": {
			          "type": "IfcOrganization",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Version": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ApplicationFullName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ApplicationIdentifier": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAppliedValue": {
			      "domain": "ifccostresource",
			      "superclasses": [
			        "IfcMetricValueSelect",
			        "IfcObjectReferenceSelect",
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "AppliedValue": {
			          "type": "IfcAppliedValueSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "UnitBasis": {
			          "type": "IfcMeasureWithUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ApplicableDate": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FixedUntilDate": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Category": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Condition": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ArithmeticOperator": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Components": {
			          "type": "IfcAppliedValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "HasExternalReference": {
			          "type": "IfcExternalReferenceRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcApproval": {
			      "domain": "ifcapprovalresource",
			      "superclasses": [
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "Identifier": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TimeOfApproval": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Status": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Level": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Qualifier": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RequestingApproval": {
			          "type": "IfcActorSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "GivingApproval": {
			          "type": "IfcActorSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "HasExternalReferences": {
			          "type": "IfcExternalReferenceRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "ApprovedObjects": {
			          "type": "IfcRelAssociatesApproval",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "ApprovedResources": {
			          "type": "IfcResourceApprovalRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "IsRelatedWith": {
			          "type": "IfcApprovalRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Relates": {
			          "type": "IfcApprovalRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcApprovalRelationship": {
			      "domain": "ifcapprovalresource",
			      "superclasses": [
			        "IfcResourceLevelRelationship"
			      ],
			      "fields": {
			        "RelatingApproval": {
			          "type": "IfcApproval",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedApprovals": {
			          "type": "IfcApproval",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcArbitraryClosedProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcProfileDef"
			      ],
			      "fields": {
			        "OuterCurve": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcArbitraryOpenProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcProfileDef"
			      ],
			      "fields": {
			        "Curve": {
			          "type": "IfcBoundedCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcArbitraryProfileDefWithVoids": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcArbitraryClosedProfileDef"
			      ],
			      "fields": {
			        "InnerCurves": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAsset": {
			      "domain": "ifcsharedfacilitieselements",
			      "superclasses": [
			        "IfcGroup"
			      ],
			      "fields": {
			        "Identification": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OriginalValue": {
			          "type": "IfcCostValue",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "CurrentValue": {
			          "type": "IfcCostValue",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TotalReplacementCost": {
			          "type": "IfcCostValue",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Owner": {
			          "type": "IfcActorSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "User": {
			          "type": "IfcActorSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ResponsiblePerson": {
			          "type": "IfcPerson",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "IncorporationDate": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DepreciatedValue": {
			          "type": "IfcCostValue",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAsymmetricIShapeProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcParameterizedProfileDef"
			      ],
			      "fields": {
			        "BottomFlangeWidth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BottomFlangeWidthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OverallDepth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OverallDepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BottomFlangeThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BottomFlangeThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BottomFlangeFilletRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BottomFlangeFilletRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopFlangeWidth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopFlangeWidthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopFlangeThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopFlangeThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopFlangeFilletRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopFlangeFilletRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BottomFlangeEdgeRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BottomFlangeEdgeRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BottomFlangeSlope": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BottomFlangeSlopeAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopFlangeEdgeRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopFlangeEdgeRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopFlangeSlope": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopFlangeSlopeAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAudioVisualAppliance": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowTerminal"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAudioVisualApplianceType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowTerminalType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAxis1Placement": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcPlacement"
			      ],
			      "fields": {
			        "Axis": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAxis2Placement2D": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcPlacement",
			        "IfcAxis2Placement"
			      ],
			      "fields": {
			        "RefDirection": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAxis2Placement3D": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcPlacement",
			        "IfcAxis2Placement"
			      ],
			      "fields": {
			        "Axis": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "RefDirection": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBSplineCurve": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBoundedCurve"
			      ],
			      "fields": {
			        "Degree": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ControlPointsList": {
			          "type": "IfcCartesianPoint",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "CurveForm": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ClosedCurve": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SelfIntersect": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UpperIndexOnControlPoints": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBSplineCurveWithKnots": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBSplineCurve"
			      ],
			      "fields": {
			        "KnotMultiplicities": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "Knots": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "KnotsAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "KnotSpec": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UpperIndexOnKnots": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBSplineSurface": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBoundedSurface"
			      ],
			      "fields": {
			        "UDegree": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "VDegree": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ControlPointsList": {
			          "type": "ListOfIfcCartesianPoint",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "SurfaceForm": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UClosed": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "VClosed": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SelfIntersect": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UUpper": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "VUpper": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBSplineSurfaceWithKnots": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBSplineSurface"
			      ],
			      "fields": {
			        "UMultiplicities": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "VMultiplicities": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "UKnots": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "UKnotsAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "VKnots": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "VKnotsAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "KnotSpec": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "KnotVUpper": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "KnotUUpper": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBeam": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBeamStandardCase": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBeam"
			      ],
			      "fields": {}
			    },
			    "IfcBeamType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBlobTexture": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcSurfaceTexture"
			      ],
			      "fields": {
			        "RasterFormat": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RasterCode": {
			          "type": "bytearray",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBlock": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcCsgPrimitive3D"
			      ],
			      "fields": {
			        "XLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "XLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "YLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "YLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ZLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ZLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBoiler": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBoilerType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBooleanClippingResult": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcBooleanResult"
			      ],
			      "fields": {}
			    },
			    "IfcBooleanResult": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem",
			        "IfcBooleanOperand",
			        "IfcCsgSelect"
			      ],
			      "fields": {
			        "Operator": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FirstOperand": {
			          "type": "IfcBooleanOperand",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "SecondOperand": {
			          "type": "IfcBooleanOperand",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBoundaryCondition": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBoundaryCurve": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCompositeCurveOnSurface"
			      ],
			      "fields": {}
			    },
			    "IfcBoundaryEdgeCondition": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcBoundaryCondition"
			      ],
			      "fields": {
			        "TranslationalStiffnessByLengthX": {
			          "type": "IfcModulusOfTranslationalSubgradeReactionSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TranslationalStiffnessByLengthY": {
			          "type": "IfcModulusOfTranslationalSubgradeReactionSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TranslationalStiffnessByLengthZ": {
			          "type": "IfcModulusOfTranslationalSubgradeReactionSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "RotationalStiffnessByLengthX": {
			          "type": "IfcModulusOfRotationalSubgradeReactionSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "RotationalStiffnessByLengthY": {
			          "type": "IfcModulusOfRotationalSubgradeReactionSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "RotationalStiffnessByLengthZ": {
			          "type": "IfcModulusOfRotationalSubgradeReactionSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBoundaryFaceCondition": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcBoundaryCondition"
			      ],
			      "fields": {
			        "TranslationalStiffnessByAreaX": {
			          "type": "IfcModulusOfSubgradeReactionSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TranslationalStiffnessByAreaY": {
			          "type": "IfcModulusOfSubgradeReactionSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TranslationalStiffnessByAreaZ": {
			          "type": "IfcModulusOfSubgradeReactionSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBoundaryNodeCondition": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcBoundaryCondition"
			      ],
			      "fields": {
			        "TranslationalStiffnessX": {
			          "type": "IfcTranslationalStiffnessSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TranslationalStiffnessY": {
			          "type": "IfcTranslationalStiffnessSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TranslationalStiffnessZ": {
			          "type": "IfcTranslationalStiffnessSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "RotationalStiffnessX": {
			          "type": "IfcRotationalStiffnessSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "RotationalStiffnessY": {
			          "type": "IfcRotationalStiffnessSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "RotationalStiffnessZ": {
			          "type": "IfcRotationalStiffnessSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBoundaryNodeConditionWarping": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcBoundaryNodeCondition"
			      ],
			      "fields": {
			        "WarpingStiffness": {
			          "type": "IfcWarpingStiffnessSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBoundedCurve": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCurve",
			        "IfcCurveOrEdgeCurve"
			      ],
			      "fields": {}
			    },
			    "IfcBoundedSurface": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcSurface"
			      ],
			      "fields": {}
			    },
			    "IfcBoundingBox": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem"
			      ],
			      "fields": {
			        "Corner": {
			          "type": "IfcCartesianPoint",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "XDim": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "XDimAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "YDim": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "YDimAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ZDim": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ZDimAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBoxedHalfSpace": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcHalfSpaceSolid"
			      ],
			      "fields": {
			        "Enclosure": {
			          "type": "IfcBoundingBox",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBuilding": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcSpatialStructureElement"
			      ],
			      "fields": {
			        "ElevationOfRefHeight": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ElevationOfRefHeightAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ElevationOfTerrain": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ElevationOfTerrainAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BuildingAddress": {
			          "type": "IfcPostalAddress",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBuildingElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElement"
			      ],
			      "fields": {}
			    },
			    "IfcBuildingElementPart": {
			      "domain": "ifcsharedcomponentelements",
			      "superclasses": [
			        "IfcElementComponent"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBuildingElementPartType": {
			      "domain": "ifcsharedcomponentelements",
			      "superclasses": [
			        "IfcElementComponentType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBuildingElementProxy": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBuildingElementProxyType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBuildingElementType": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElementType"
			      ],
			      "fields": {}
			    },
			    "IfcBuildingStorey": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcSpatialStructureElement"
			      ],
			      "fields": {
			        "Elevation": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ElevationAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBuildingSystem": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcSystem"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBurner": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBurnerType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCShapeProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcParameterizedProfileDef"
			      ],
			      "fields": {
			        "Depth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Width": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WidthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WallThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WallThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Girth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "GirthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "InternalFilletRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "InternalFilletRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCableCarrierFitting": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowFitting"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCableCarrierFittingType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowFittingType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCableCarrierSegment": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowSegment"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCableCarrierSegmentType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowSegmentType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCableFitting": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowFitting"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCableFittingType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowFittingType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCableSegment": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowSegment"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCableSegmentType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowSegmentType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCartesianPoint": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcPoint",
			        "IfcTrimmingSelect"
			      ],
			      "fields": {
			        "Coordinates": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "CoordinatesAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCartesianPointList": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem"
			      ],
			      "fields": {
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCartesianPointList2D": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcCartesianPointList"
			      ],
			      "fields": {
			        "CoordList": {
			          "type": "ListOfIfcCartesianPoint",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCartesianPointList3D": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcCartesianPointList"
			      ],
			      "fields": {
			        "CoordList": {
			          "type": "ListOfIfcLengthMeasure",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCartesianTransformationOperator": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem"
			      ],
			      "fields": {
			        "Axis1": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Axis2": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "LocalOrigin": {
			          "type": "IfcCartesianPoint",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Scale": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ScaleAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Scl": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SclAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCartesianTransformationOperator2D": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCartesianTransformationOperator"
			      ],
			      "fields": {}
			    },
			    "IfcCartesianTransformationOperator2DnonUniform": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCartesianTransformationOperator2D"
			      ],
			      "fields": {
			        "Scale2": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Scale2AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Scl2": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Scl2AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCartesianTransformationOperator3D": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCartesianTransformationOperator"
			      ],
			      "fields": {
			        "Axis3": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCartesianTransformationOperator3DnonUniform": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCartesianTransformationOperator3D"
			      ],
			      "fields": {
			        "Scale2": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Scale2AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Scale3": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Scale3AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Scl3": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Scl3AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Scl2": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Scl2AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCenterLineProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcArbitraryOpenProfileDef"
			      ],
			      "fields": {
			        "Thickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcChiller": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcChillerType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcChimney": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcChimneyType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCircle": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcConic"
			      ],
			      "fields": {
			        "Radius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCircleHollowProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcCircleProfileDef"
			      ],
			      "fields": {
			        "WallThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WallThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCircleProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcParameterizedProfileDef"
			      ],
			      "fields": {
			        "Radius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCivilElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElement"
			      ],
			      "fields": {}
			    },
			    "IfcCivilElementType": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElementType"
			      ],
			      "fields": {}
			    },
			    "IfcClassification": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [
			        "IfcExternalInformation",
			        "IfcClassificationReferenceSelect",
			        "IfcClassificationSelect"
			      ],
			      "fields": {
			        "Source": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Edition": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EditionDate": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Location": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ReferenceTokens": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "ClassificationForObjects": {
			          "type": "IfcRelAssociatesClassification",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasReferences": {
			          "type": "IfcClassificationReference",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcClassificationReference": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [
			        "IfcExternalReference",
			        "IfcClassificationReferenceSelect",
			        "IfcClassificationSelect"
			      ],
			      "fields": {
			        "ReferencedSource": {
			          "type": "IfcClassificationReferenceSelect",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Sort": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ClassificationRefForObjects": {
			          "type": "IfcRelAssociatesClassification",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasReferences": {
			          "type": "IfcClassificationReference",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcClosedShell": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcConnectedFaceSet",
			        "IfcShell",
			        "IfcSolidOrShell"
			      ],
			      "fields": {}
			    },
			    "IfcCoil": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCoilType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcColourRgb": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcColourSpecification",
			        "IfcColourOrFactor"
			      ],
			      "fields": {
			        "Red": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RedAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Green": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "GreenAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Blue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BlueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcColourRgbList": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem"
			      ],
			      "fields": {
			        "ColourList": {
			          "type": "ListOfIfcNormalisedRatioMeasure",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcColourSpecification": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem",
			        "IfcColour"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcColumn": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcColumnStandardCase": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcColumn"
			      ],
			      "fields": {}
			    },
			    "IfcColumnType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCommunicationsAppliance": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowTerminal"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCommunicationsApplianceType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowTerminalType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcComplexProperty": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcProperty"
			      ],
			      "fields": {
			        "UsageName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HasProperties": {
			          "type": "IfcProperty",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcComplexPropertyTemplate": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcPropertyTemplate"
			      ],
			      "fields": {
			        "UsageName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TemplateType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HasPropertyTemplates": {
			          "type": "IfcPropertyTemplate",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcCompositeCurve": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBoundedCurve"
			      ],
			      "fields": {
			        "Segments": {
			          "type": "IfcCompositeCurveSegment",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "SelfIntersect": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ClosedCurve": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NSegments": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCompositeCurveOnSurface": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCompositeCurve",
			        "IfcCurveOnSurface"
			      ],
			      "fields": {}
			    },
			    "IfcCompositeCurveSegment": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem"
			      ],
			      "fields": {
			        "Transition": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SameSense": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ParentCurve": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "UsingCurves": {
			          "type": "IfcCompositeCurve",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCompositeProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcProfileDef"
			      ],
			      "fields": {
			        "Profiles": {
			          "type": "IfcProfileDef",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Label": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCompressor": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowMovingDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCompressorType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowMovingDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCondenser": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCondenserType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConic": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCurve"
			      ],
			      "fields": {
			        "Position": {
			          "type": "IfcAxis2Placement",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConnectedFaceSet": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcTopologicalRepresentationItem"
			      ],
			      "fields": {
			        "CfsFaces": {
			          "type": "IfcFace",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConnectionCurveGeometry": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [
			        "IfcConnectionGeometry"
			      ],
			      "fields": {
			        "CurveOnRelatingElement": {
			          "type": "IfcCurveOrEdgeCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "CurveOnRelatedElement": {
			          "type": "IfcCurveOrEdgeCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConnectionGeometry": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcConnectionPointEccentricity": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [
			        "IfcConnectionPointGeometry"
			      ],
			      "fields": {
			        "EccentricityInX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EccentricityInXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EccentricityInY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EccentricityInYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EccentricityInZ": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EccentricityInZAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConnectionPointGeometry": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [
			        "IfcConnectionGeometry"
			      ],
			      "fields": {
			        "PointOnRelatingElement": {
			          "type": "IfcPointOrVertexPoint",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "PointOnRelatedElement": {
			          "type": "IfcPointOrVertexPoint",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConnectionSurfaceGeometry": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [
			        "IfcConnectionGeometry"
			      ],
			      "fields": {
			        "SurfaceOnRelatingElement": {
			          "type": "IfcSurfaceOrFaceSurface",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "SurfaceOnRelatedElement": {
			          "type": "IfcSurfaceOrFaceSurface",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConnectionVolumeGeometry": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [
			        "IfcConnectionGeometry"
			      ],
			      "fields": {
			        "VolumeOnRelatingElement": {
			          "type": "IfcSolidOrShell",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "VolumeOnRelatedElement": {
			          "type": "IfcSolidOrShell",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConstraint": {
			      "domain": "ifcconstraintresource",
			      "superclasses": [
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ConstraintGrade": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ConstraintSource": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CreatingActor": {
			          "type": "IfcActorSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "CreationTime": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedGrade": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HasExternalReferences": {
			          "type": "IfcExternalReferenceRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "PropertiesForConstraint": {
			          "type": "IfcResourceConstraintRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcConstructionEquipmentResource": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcConstructionResource"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConstructionEquipmentResourceType": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcConstructionResourceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConstructionMaterialResource": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcConstructionResource"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConstructionMaterialResourceType": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcConstructionResourceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConstructionProductResource": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcConstructionResource"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConstructionProductResourceType": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcConstructionResourceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConstructionResource": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcResource"
			      ],
			      "fields": {
			        "Usage": {
			          "type": "IfcResourceTime",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "BaseCosts": {
			          "type": "IfcAppliedValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "BaseQuantity": {
			          "type": "IfcPhysicalQuantity",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConstructionResourceType": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcTypeResource"
			      ],
			      "fields": {
			        "BaseCosts": {
			          "type": "IfcAppliedValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "BaseQuantity": {
			          "type": "IfcPhysicalQuantity",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcContext": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcObjectDefinition"
			      ],
			      "fields": {
			        "ObjectType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Phase": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RepresentationContexts": {
			          "type": "IfcRepresentationContext",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "UnitsInContext": {
			          "type": "IfcUnitAssignment",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "IsDefinedBy": {
			          "type": "IfcRelDefinesByProperties",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Declares": {
			          "type": "IfcRelDeclares",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcContextDependentUnit": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcNamedUnit",
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HasExternalReference": {
			          "type": "IfcExternalReferenceRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcControl": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcObject"
			      ],
			      "fields": {
			        "Identification": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Controls": {
			          "type": "IfcRelAssignsToControl",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcController": {
			      "domain": "ifcbuildingcontrolsdomain",
			      "superclasses": [
			        "IfcDistributionControlElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcControllerType": {
			      "domain": "ifcbuildingcontrolsdomain",
			      "superclasses": [
			        "IfcDistributionControlElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcConversionBasedUnit": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcNamedUnit",
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ConversionFactor": {
			          "type": "IfcMeasureWithUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "HasExternalReference": {
			          "type": "IfcExternalReferenceRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcConversionBasedUnitWithOffset": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcConversionBasedUnit"
			      ],
			      "fields": {
			        "ConversionOffset": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ConversionOffsetAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCooledBeam": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCooledBeamType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCoolingTower": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCoolingTowerType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCoordinateOperation": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [],
			      "fields": {
			        "SourceCRS": {
			          "type": "IfcCoordinateReferenceSystemSelect",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "TargetCRS": {
			          "type": "IfcCoordinateReferenceSystem",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCoordinateReferenceSystem": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [
			        "IfcCoordinateReferenceSystemSelect"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "GeodeticDatum": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "VerticalDatum": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HasCoordinateOperation": {
			          "type": "IfcCoordinateOperation",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcCostItem": {
			      "domain": "ifcsharedmgmtelements",
			      "superclasses": [
			        "IfcControl"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CostValues": {
			          "type": "IfcCostValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "CostQuantities": {
			          "type": "IfcPhysicalQuantity",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCostSchedule": {
			      "domain": "ifcsharedmgmtelements",
			      "superclasses": [
			        "IfcControl"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Status": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SubmittedOn": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UpdateDate": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCostValue": {
			      "domain": "ifccostresource",
			      "superclasses": [
			        "IfcAppliedValue"
			      ],
			      "fields": {}
			    },
			    "IfcCovering": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CoversSpaces": {
			          "type": "IfcRelCoversSpaces",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "CoversElements": {
			          "type": "IfcRelCoversBldgElements",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcCoveringType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCrewResource": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcConstructionResource"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCrewResourceType": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcConstructionResourceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCsgPrimitive3D": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem",
			        "IfcBooleanOperand",
			        "IfcCsgSelect"
			      ],
			      "fields": {
			        "Position": {
			          "type": "IfcAxis2Placement3D",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCsgSolid": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcSolidModel"
			      ],
			      "fields": {
			        "TreeRootExpression": {
			          "type": "IfcCsgSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCurrencyRelationship": {
			      "domain": "ifccostresource",
			      "superclasses": [
			        "IfcResourceLevelRelationship"
			      ],
			      "fields": {
			        "RelatingMonetaryUnit": {
			          "type": "IfcMonetaryUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "RelatedMonetaryUnit": {
			          "type": "IfcMonetaryUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ExchangeRate": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ExchangeRateAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RateDateTime": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RateSource": {
			          "type": "IfcLibraryInformation",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCurtainWall": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCurtainWallType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCurve": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem",
			        "IfcGeometricSetSelect"
			      ],
			      "fields": {
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCurveBoundedPlane": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBoundedSurface"
			      ],
			      "fields": {
			        "BasisSurface": {
			          "type": "IfcPlane",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "OuterBoundary": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "InnerBoundaries": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCurveBoundedSurface": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBoundedSurface"
			      ],
			      "fields": {
			        "BasisSurface": {
			          "type": "IfcSurface",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Boundaries": {
			          "type": "IfcBoundaryCurve",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "ImplicitOuter": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCurveStyle": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationStyle",
			        "IfcPresentationStyleSelect"
			      ],
			      "fields": {
			        "CurveFont": {
			          "type": "IfcCurveFontOrScaledCurveFontSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "CurveWidth": {
			          "type": "IfcSizeSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "CurveColour": {
			          "type": "IfcColour",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ModelOrDraughting": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCurveStyleFont": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem",
			        "IfcCurveStyleFontSelect"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PatternList": {
			          "type": "IfcCurveStyleFontPattern",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCurveStyleFontAndScaling": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem",
			        "IfcCurveFontOrScaledCurveFontSelect"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CurveFont": {
			          "type": "IfcCurveStyleFontSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "CurveFontScaling": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CurveFontScalingAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCurveStyleFontPattern": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem"
			      ],
			      "fields": {
			        "VisibleSegmentLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "VisibleSegmentLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "InvisibleSegmentLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "InvisibleSegmentLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCylindricalSurface": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcElementarySurface"
			      ],
			      "fields": {
			        "Radius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDamper": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowController"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDamperType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowControllerType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDerivedProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcProfileDef"
			      ],
			      "fields": {
			        "ParentProfile": {
			          "type": "IfcProfileDef",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Operator": {
			          "type": "IfcCartesianTransformationOperator2D",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Label": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDerivedUnit": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcUnit"
			      ],
			      "fields": {
			        "Elements": {
			          "type": "IfcDerivedUnitElement",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "UnitType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDerivedUnitElement": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [],
			      "fields": {
			        "Unit": {
			          "type": "IfcNamedUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Exponent": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDimensionalExponents": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [],
			      "fields": {
			        "LengthExponent": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MassExponent": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TimeExponent": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ElectricCurrentExponent": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ThermodynamicTemperatureExponent": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "AmountOfSubstanceExponent": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LuminousIntensityExponent": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDirection": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem",
			        "IfcGridPlacementDirectionSelect",
			        "IfcVectorOrDirection"
			      ],
			      "fields": {
			        "DirectionRatios": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "DirectionRatiosAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDiscreteAccessory": {
			      "domain": "ifcsharedcomponentelements",
			      "superclasses": [
			        "IfcElementComponent"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDiscreteAccessoryType": {
			      "domain": "ifcsharedcomponentelements",
			      "superclasses": [
			        "IfcElementComponentType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDistributionChamberElement": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDistributionChamberElementType": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDistributionCircuit": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionSystem"
			      ],
			      "fields": {}
			    },
			    "IfcDistributionControlElement": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionElement"
			      ],
			      "fields": {
			        "AssignedToFlowElement": {
			          "type": "IfcRelFlowControlElements",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcDistributionControlElementType": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionElementType"
			      ],
			      "fields": {}
			    },
			    "IfcDistributionElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElement"
			      ],
			      "fields": {
			        "HasPorts": {
			          "type": "IfcRelConnectsPortToElement",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcDistributionElementType": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElementType"
			      ],
			      "fields": {}
			    },
			    "IfcDistributionFlowElement": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionElement"
			      ],
			      "fields": {
			        "HasControlElements": {
			          "type": "IfcRelFlowControlElements",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcDistributionFlowElementType": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionElementType"
			      ],
			      "fields": {}
			    },
			    "IfcDistributionPort": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcPort"
			      ],
			      "fields": {
			        "FlowDirection": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SystemType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDistributionSystem": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcSystem"
			      ],
			      "fields": {
			        "LongName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDocumentInformation": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [
			        "IfcExternalInformation",
			        "IfcDocumentSelect"
			      ],
			      "fields": {
			        "Identification": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Location": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Purpose": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "IntendedUse": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Scope": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Revision": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DocumentOwner": {
			          "type": "IfcActorSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Editors": {
			          "type": "IfcActorSelect",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "CreationTime": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LastRevisionTime": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ElectronicFormat": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ValidFrom": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ValidUntil": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Confidentiality": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Status": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DocumentInfoForObjects": {
			          "type": "IfcRelAssociatesDocument",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasDocumentReferences": {
			          "type": "IfcDocumentReference",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "IsPointedTo": {
			          "type": "IfcDocumentInformationRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "IsPointer": {
			          "type": "IfcDocumentInformationRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcDocumentInformationRelationship": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [
			        "IfcResourceLevelRelationship"
			      ],
			      "fields": {
			        "RelatingDocument": {
			          "type": "IfcDocumentInformation",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedDocuments": {
			          "type": "IfcDocumentInformation",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "RelationshipType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDocumentReference": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [
			        "IfcExternalReference",
			        "IfcDocumentSelect"
			      ],
			      "fields": {
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ReferencedDocument": {
			          "type": "IfcDocumentInformation",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "DocumentRefForObjects": {
			          "type": "IfcRelAssociatesDocument",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcDoor": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "OverallHeight": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OverallHeightAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OverallWidth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OverallWidthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OperationType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedOperationType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDoorLiningProperties": {
			      "domain": "ifcarchitecturedomain",
			      "superclasses": [
			        "IfcPreDefinedPropertySet"
			      ],
			      "fields": {
			        "LiningDepth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningDepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ThresholdDepth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ThresholdDepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ThresholdThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ThresholdThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransomThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransomThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransomOffset": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransomOffsetAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningOffset": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningOffsetAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ThresholdOffset": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ThresholdOffsetAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CasingThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CasingThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CasingDepth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CasingDepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ShapeAspectStyle": {
			          "type": "IfcShapeAspect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "LiningToPanelOffsetX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningToPanelOffsetXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningToPanelOffsetY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningToPanelOffsetYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDoorPanelProperties": {
			      "domain": "ifcarchitecturedomain",
			      "superclasses": [
			        "IfcPreDefinedPropertySet"
			      ],
			      "fields": {
			        "PanelDepth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PanelDepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PanelOperation": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PanelWidth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PanelWidthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PanelPosition": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ShapeAspectStyle": {
			          "type": "IfcShapeAspect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDoorStandardCase": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcDoor"
			      ],
			      "fields": {}
			    },
			    "IfcDoorStyle": {
			      "domain": "ifcarchitecturedomain",
			      "superclasses": [
			        "IfcTypeProduct"
			      ],
			      "fields": {
			        "OperationType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ConstructionType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ParameterTakesPrecedence": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Sizeable": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDoorType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OperationType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ParameterTakesPrecedence": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedOperationType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDraughtingPreDefinedColour": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPreDefinedColour"
			      ],
			      "fields": {}
			    },
			    "IfcDraughtingPreDefinedCurveFont": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPreDefinedCurveFont"
			      ],
			      "fields": {}
			    },
			    "IfcDuctFitting": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowFitting"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDuctFittingType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowFittingType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDuctSegment": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowSegment"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDuctSegmentType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowSegmentType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDuctSilencer": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowTreatmentDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDuctSilencerType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowTreatmentDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEdge": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcTopologicalRepresentationItem"
			      ],
			      "fields": {
			        "EdgeStart": {
			          "type": "IfcVertex",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "EdgeEnd": {
			          "type": "IfcVertex",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEdgeCurve": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcEdge",
			        "IfcCurveOrEdgeCurve"
			      ],
			      "fields": {
			        "EdgeGeometry": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "SameSense": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEdgeLoop": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcLoop"
			      ],
			      "fields": {
			        "EdgeList": {
			          "type": "IfcOrientedEdge",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Ne": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricAppliance": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowTerminal"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricApplianceType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowTerminalType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricDistributionBoard": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowController"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricDistributionBoardType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowControllerType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricFlowStorageDevice": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowStorageDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricFlowStorageDeviceType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowStorageDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricGenerator": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricGeneratorType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricMotor": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricMotorType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricTimeControl": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowController"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricTimeControlType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowControllerType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcProduct",
			        "IfcStructuralActivityAssignmentSelect"
			      ],
			      "fields": {
			        "Tag": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FillsVoids": {
			          "type": "IfcRelFillsElement",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "ConnectedTo": {
			          "type": "IfcRelConnectsElements",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "IsInterferedByElements": {
			          "type": "IfcRelInterferesElements",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "InterferesElements": {
			          "type": "IfcRelInterferesElements",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasProjections": {
			          "type": "IfcRelProjectsElement",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "ReferencedInStructures": {
			          "type": "IfcRelReferencedInSpatialStructure",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasOpenings": {
			          "type": "IfcRelVoidsElement",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "IsConnectionRealization": {
			          "type": "IfcRelConnectsWithRealizingElements",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "ProvidesBoundaries": {
			          "type": "IfcRelSpaceBoundary",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "ConnectedFrom": {
			          "type": "IfcRelConnectsElements",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "ContainedInStructure": {
			          "type": "IfcRelContainedInSpatialStructure",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasCoverings": {
			          "type": "IfcRelCoversBldgElements",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcElementAssembly": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElement"
			      ],
			      "fields": {
			        "AssemblyPlace": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElementAssemblyType": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElementComponent": {
			      "domain": "ifcsharedcomponentelements",
			      "superclasses": [
			        "IfcElement"
			      ],
			      "fields": {}
			    },
			    "IfcElementComponentType": {
			      "domain": "ifcsharedcomponentelements",
			      "superclasses": [
			        "IfcElementType"
			      ],
			      "fields": {}
			    },
			    "IfcElementQuantity": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcQuantitySet"
			      ],
			      "fields": {
			        "MethodOfMeasurement": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Quantities": {
			          "type": "IfcPhysicalQuantity",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElementType": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcTypeProduct"
			      ],
			      "fields": {
			        "ElementType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElementarySurface": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcSurface"
			      ],
			      "fields": {
			        "Position": {
			          "type": "IfcAxis2Placement3D",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEllipse": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcConic"
			      ],
			      "fields": {
			        "SemiAxis1": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SemiAxis1AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SemiAxis2": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SemiAxis2AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEllipseProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcParameterizedProfileDef"
			      ],
			      "fields": {
			        "SemiAxis1": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SemiAxis1AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SemiAxis2": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SemiAxis2AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEnergyConversionDevice": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElement"
			      ],
			      "fields": {}
			    },
			    "IfcEnergyConversionDeviceType": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElementType"
			      ],
			      "fields": {}
			    },
			    "IfcEngine": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEngineType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEvaporativeCooler": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEvaporativeCoolerType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEvaporator": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEvaporatorType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEvent": {
			      "domain": "ifcprocessextension",
			      "superclasses": [
			        "IfcProcess"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EventTriggerType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedEventTriggerType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EventOccurenceTime": {
			          "type": "IfcEventTime",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEventTime": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcSchedulingTime"
			      ],
			      "fields": {
			        "ActualDate": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EarlyDate": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LateDate": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ScheduleDate": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEventType": {
			      "domain": "ifcprocessextension",
			      "superclasses": [
			        "IfcTypeProcess"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EventTriggerType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedEventTriggerType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcExtendedProperties": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcPropertyAbstraction"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Properties": {
			          "type": "IfcProperty",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcExternalInformation": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {}
			    },
			    "IfcExternalReference": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [
			        "IfcLightDistributionDataSourceSelect",
			        "IfcObjectReferenceSelect",
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "Location": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Identification": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ExternalReferenceForResources": {
			          "type": "IfcExternalReferenceRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcExternalReferenceRelationship": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [
			        "IfcResourceLevelRelationship"
			      ],
			      "fields": {
			        "RelatingReference": {
			          "type": "IfcExternalReference",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedResourceObjects": {
			          "type": "IfcResourceObjectSelect",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcExternalSpatialElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcExternalSpatialStructureElement",
			        "IfcSpaceBoundarySelect"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BoundedBy": {
			          "type": "IfcRelSpaceBoundary",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcExternalSpatialStructureElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcSpatialElement"
			      ],
			      "fields": {}
			    },
			    "IfcExternallyDefinedHatchStyle": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcExternalReference",
			        "IfcFillStyleSelect"
			      ],
			      "fields": {}
			    },
			    "IfcExternallyDefinedSurfaceStyle": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcExternalReference",
			        "IfcSurfaceStyleElementSelect"
			      ],
			      "fields": {}
			    },
			    "IfcExternallyDefinedTextFont": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcExternalReference",
			        "IfcTextFontSelect"
			      ],
			      "fields": {}
			    },
			    "IfcExtrudedAreaSolid": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcSweptAreaSolid"
			      ],
			      "fields": {
			        "ExtrudedDirection": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Depth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcExtrudedAreaSolidTapered": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcExtrudedAreaSolid"
			      ],
			      "fields": {
			        "EndSweptArea": {
			          "type": "IfcProfileDef",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFace": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcTopologicalRepresentationItem"
			      ],
			      "fields": {
			        "Bounds": {
			          "type": "IfcFaceBound",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "HasTextureMaps": {
			          "type": "IfcTextureMap",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcFaceBasedSurfaceModel": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem",
			        "IfcSurfaceOrFaceSurface"
			      ],
			      "fields": {
			        "FbsmFaces": {
			          "type": "IfcConnectedFaceSet",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFaceBound": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcTopologicalRepresentationItem"
			      ],
			      "fields": {
			        "Bound": {
			          "type": "IfcLoop",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Orientation": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFaceOuterBound": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcFaceBound"
			      ],
			      "fields": {}
			    },
			    "IfcFaceSurface": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcFace",
			        "IfcSurfaceOrFaceSurface"
			      ],
			      "fields": {
			        "FaceSurface": {
			          "type": "IfcSurface",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "SameSense": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFacetedBrep": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcManifoldSolidBrep"
			      ],
			      "fields": {}
			    },
			    "IfcFacetedBrepWithVoids": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcFacetedBrep"
			      ],
			      "fields": {
			        "Voids": {
			          "type": "IfcClosedShell",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFailureConnectionCondition": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcStructuralConnectionCondition"
			      ],
			      "fields": {
			        "TensionFailureX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TensionFailureXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TensionFailureY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TensionFailureYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TensionFailureZ": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TensionFailureZAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CompressionFailureX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CompressionFailureXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CompressionFailureY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CompressionFailureYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CompressionFailureZ": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CompressionFailureZAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFan": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowMovingDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFanType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowMovingDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFastener": {
			      "domain": "ifcsharedcomponentelements",
			      "superclasses": [
			        "IfcElementComponent"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFastenerType": {
			      "domain": "ifcsharedcomponentelements",
			      "superclasses": [
			        "IfcElementComponentType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFeatureElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElement"
			      ],
			      "fields": {}
			    },
			    "IfcFeatureElementAddition": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcFeatureElement"
			      ],
			      "fields": {
			        "ProjectsElements": {
			          "type": "IfcRelProjectsElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcFeatureElementSubtraction": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcFeatureElement"
			      ],
			      "fields": {
			        "VoidsElements": {
			          "type": "IfcRelVoidsElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcFillAreaStyle": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationStyle",
			        "IfcPresentationStyleSelect"
			      ],
			      "fields": {
			        "FillStyles": {
			          "type": "IfcFillStyleSelect",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "ModelorDraughting": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFillAreaStyleHatching": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem",
			        "IfcFillStyleSelect"
			      ],
			      "fields": {
			        "HatchLineAppearance": {
			          "type": "IfcCurveStyle",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "StartOfNextHatchLine": {
			          "type": "IfcHatchLineDistanceSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "PointOfReferenceHatchLine": {
			          "type": "IfcCartesianPoint",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "PatternStart": {
			          "type": "IfcCartesianPoint",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "HatchLineAngle": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HatchLineAngleAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFillAreaStyleTiles": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem",
			        "IfcFillStyleSelect"
			      ],
			      "fields": {
			        "TilingPattern": {
			          "type": "IfcVector",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Tiles": {
			          "type": "IfcStyledItem",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "TilingScale": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TilingScaleAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFilter": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowTreatmentDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFilterType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowTreatmentDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFireSuppressionTerminal": {
			      "domain": "ifcplumbingfireprotectiondomain",
			      "superclasses": [
			        "IfcFlowTerminal"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFireSuppressionTerminalType": {
			      "domain": "ifcplumbingfireprotectiondomain",
			      "superclasses": [
			        "IfcFlowTerminalType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFixedReferenceSweptAreaSolid": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcSweptAreaSolid"
			      ],
			      "fields": {
			        "Directrix": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "StartParam": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "StartParamAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EndParam": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EndParamAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FixedReference": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFlowController": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElement"
			      ],
			      "fields": {}
			    },
			    "IfcFlowControllerType": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElementType"
			      ],
			      "fields": {}
			    },
			    "IfcFlowFitting": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElement"
			      ],
			      "fields": {}
			    },
			    "IfcFlowFittingType": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElementType"
			      ],
			      "fields": {}
			    },
			    "IfcFlowInstrument": {
			      "domain": "ifcbuildingcontrolsdomain",
			      "superclasses": [
			        "IfcDistributionControlElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFlowInstrumentType": {
			      "domain": "ifcbuildingcontrolsdomain",
			      "superclasses": [
			        "IfcDistributionControlElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFlowMeter": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowController"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFlowMeterType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowControllerType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFlowMovingDevice": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElement"
			      ],
			      "fields": {}
			    },
			    "IfcFlowMovingDeviceType": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElementType"
			      ],
			      "fields": {}
			    },
			    "IfcFlowSegment": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElement"
			      ],
			      "fields": {}
			    },
			    "IfcFlowSegmentType": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElementType"
			      ],
			      "fields": {}
			    },
			    "IfcFlowStorageDevice": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElement"
			      ],
			      "fields": {}
			    },
			    "IfcFlowStorageDeviceType": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElementType"
			      ],
			      "fields": {}
			    },
			    "IfcFlowTerminal": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElement"
			      ],
			      "fields": {}
			    },
			    "IfcFlowTerminalType": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElementType"
			      ],
			      "fields": {}
			    },
			    "IfcFlowTreatmentDevice": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElement"
			      ],
			      "fields": {}
			    },
			    "IfcFlowTreatmentDeviceType": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcDistributionFlowElementType"
			      ],
			      "fields": {}
			    },
			    "IfcFooting": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFootingType": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFurnishingElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElement"
			      ],
			      "fields": {}
			    },
			    "IfcFurnishingElementType": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElementType"
			      ],
			      "fields": {}
			    },
			    "IfcFurniture": {
			      "domain": "ifcsharedfacilitieselements",
			      "superclasses": [
			        "IfcFurnishingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFurnitureType": {
			      "domain": "ifcsharedfacilitieselements",
			      "superclasses": [
			        "IfcFurnishingElementType"
			      ],
			      "fields": {
			        "AssemblyPlace": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcGeographicElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcGeographicElementType": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcGeometricCurveSet": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcGeometricSet"
			      ],
			      "fields": {}
			    },
			    "IfcGeometricRepresentationContext": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [
			        "IfcRepresentationContext",
			        "IfcCoordinateReferenceSystemSelect"
			      ],
			      "fields": {
			        "CoordinateSpaceDimension": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Precision": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PrecisionAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WorldCoordinateSystem": {
			          "type": "IfcAxis2Placement",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TrueNorth": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "HasSubContexts": {
			          "type": "IfcGeometricRepresentationSubContext",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasCoordinateOperation": {
			          "type": "IfcCoordinateOperation",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcGeometricRepresentationItem": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcRepresentationItem"
			      ],
			      "fields": {}
			    },
			    "IfcGeometricRepresentationSubContext": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [
			        "IfcGeometricRepresentationContext"
			      ],
			      "fields": {
			        "ParentContext": {
			          "type": "IfcGeometricRepresentationContext",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "TargetScale": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TargetScaleAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TargetView": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedTargetView": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcGeometricSet": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem"
			      ],
			      "fields": {
			        "Elements": {
			          "type": "IfcGeometricSetSelect",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcGrid": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcProduct"
			      ],
			      "fields": {
			        "UAxes": {
			          "type": "IfcGridAxis",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "VAxes": {
			          "type": "IfcGridAxis",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "WAxes": {
			          "type": "IfcGridAxis",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ContainedInStructure": {
			          "type": "IfcRelContainedInSpatialStructure",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcGridAxis": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [],
			      "fields": {
			        "AxisTag": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "AxisCurve": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "SameSense": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PartOfW": {
			          "type": "IfcGrid",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "PartOfV": {
			          "type": "IfcGrid",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "PartOfU": {
			          "type": "IfcGrid",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasIntersections": {
			          "type": "IfcVirtualGridIntersection",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcGridPlacement": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [
			        "IfcObjectPlacement"
			      ],
			      "fields": {
			        "PlacementLocation": {
			          "type": "IfcVirtualGridIntersection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "PlacementRefDirection": {
			          "type": "IfcGridPlacementDirectionSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcGroup": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcObject"
			      ],
			      "fields": {
			        "IsGroupedBy": {
			          "type": "IfcRelAssignsToGroup",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcHalfSpaceSolid": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem",
			        "IfcBooleanOperand"
			      ],
			      "fields": {
			        "BaseSurface": {
			          "type": "IfcSurface",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "AgreementFlag": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcHeatExchanger": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcHeatExchangerType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcHumidifier": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcHumidifierType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIShapeProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcParameterizedProfileDef"
			      ],
			      "fields": {
			        "OverallWidth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OverallWidthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OverallDepth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OverallDepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FilletRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FilletRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeEdgeRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeEdgeRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeSlope": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeSlopeAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcImageTexture": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcSurfaceTexture"
			      ],
			      "fields": {
			        "URLReference": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIndexedColourMap": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem"
			      ],
			      "fields": {
			        "MappedTo": {
			          "type": "IfcTessellatedFaceSet",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "Opacity": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OpacityAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Colours": {
			          "type": "IfcColourRgbList",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ColourIndex": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIndexedPolyCurve": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBoundedCurve"
			      ],
			      "fields": {
			        "Points": {
			          "type": "IfcCartesianPointList",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Segments": {
			          "type": "IfcSegmentIndexSelect",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "SelfIntersect": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIndexedPolygonalFace": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcTessellatedItem"
			      ],
			      "fields": {
			        "CoordIndex": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "ToFaceSet": {
			          "type": "IfcPolygonalFaceSet",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcIndexedPolygonalFaceWithVoids": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcIndexedPolygonalFace"
			      ],
			      "fields": {
			        "InnerCoordIndices": {
			          "type": "ListOfELong",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIndexedTextureMap": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcTextureCoordinate"
			      ],
			      "fields": {
			        "MappedTo": {
			          "type": "IfcTessellatedFaceSet",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "TexCoords": {
			          "type": "IfcTextureVertexList",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIndexedTriangleTextureMap": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcIndexedTextureMap"
			      ],
			      "fields": {
			        "TexCoordIndex": {
			          "type": "ListOfELong",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcInterceptor": {
			      "domain": "ifcplumbingfireprotectiondomain",
			      "superclasses": [
			        "IfcFlowTreatmentDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcInterceptorType": {
			      "domain": "ifcplumbingfireprotectiondomain",
			      "superclasses": [
			        "IfcFlowTreatmentDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIntersectionCurve": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcSurfaceCurve"
			      ],
			      "fields": {}
			    },
			    "IfcInventory": {
			      "domain": "ifcsharedfacilitieselements",
			      "superclasses": [
			        "IfcGroup"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Jurisdiction": {
			          "type": "IfcActorSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ResponsiblePersons": {
			          "type": "IfcPerson",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "LastUpdateDate": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CurrentValue": {
			          "type": "IfcCostValue",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "OriginalValue": {
			          "type": "IfcCostValue",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIrregularTimeSeries": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcTimeSeries"
			      ],
			      "fields": {
			        "Values": {
			          "type": "IfcIrregularTimeSeriesValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIrregularTimeSeriesValue": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [],
			      "fields": {
			        "TimeStamp": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ListValues": {
			          "type": "IfcValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcJunctionBox": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowFitting"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcJunctionBoxType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowFittingType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLShapeProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcParameterizedProfileDef"
			      ],
			      "fields": {
			        "Depth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Width": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WidthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Thickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FilletRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FilletRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EdgeRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EdgeRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LegSlope": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LegSlopeAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLaborResource": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcConstructionResource"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLaborResourceType": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcConstructionResourceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLagTime": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcSchedulingTime"
			      ],
			      "fields": {
			        "LagValue": {
			          "type": "IfcTimeOrRatioSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "DurationType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLamp": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowTerminal"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLampType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowTerminalType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLibraryInformation": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [
			        "IfcExternalInformation",
			        "IfcLibrarySelect"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Version": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Publisher": {
			          "type": "IfcActorSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "VersionDate": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Location": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LibraryInfoForObjects": {
			          "type": "IfcRelAssociatesLibrary",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasLibraryReferences": {
			          "type": "IfcLibraryReference",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcLibraryReference": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [
			        "IfcExternalReference",
			        "IfcLibrarySelect"
			      ],
			      "fields": {
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Language": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ReferencedLibrary": {
			          "type": "IfcLibraryInformation",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "LibraryRefForObjects": {
			          "type": "IfcRelAssociatesLibrary",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcLightDistributionData": {
			      "domain": "ifcpresentationorganizationresource",
			      "superclasses": [],
			      "fields": {
			        "MainPlaneAngle": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MainPlaneAngleAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SecondaryPlaneAngle": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "SecondaryPlaneAngleAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "LuminousIntensity": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "LuminousIntensityAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLightFixture": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowTerminal"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLightFixtureType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowTerminalType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLightIntensityDistribution": {
			      "domain": "ifcpresentationorganizationresource",
			      "superclasses": [
			        "IfcLightDistributionDataSourceSelect"
			      ],
			      "fields": {
			        "LightDistributionCurve": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DistributionData": {
			          "type": "IfcLightDistributionData",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLightSource": {
			      "domain": "ifcpresentationorganizationresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LightColour": {
			          "type": "IfcColourRgb",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "AmbientIntensity": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "AmbientIntensityAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Intensity": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "IntensityAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLightSourceAmbient": {
			      "domain": "ifcpresentationorganizationresource",
			      "superclasses": [
			        "IfcLightSource"
			      ],
			      "fields": {}
			    },
			    "IfcLightSourceDirectional": {
			      "domain": "ifcpresentationorganizationresource",
			      "superclasses": [
			        "IfcLightSource"
			      ],
			      "fields": {
			        "Orientation": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLightSourceGoniometric": {
			      "domain": "ifcpresentationorganizationresource",
			      "superclasses": [
			        "IfcLightSource"
			      ],
			      "fields": {
			        "Position": {
			          "type": "IfcAxis2Placement3D",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ColourAppearance": {
			          "type": "IfcColourRgb",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ColourTemperature": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ColourTemperatureAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LuminousFlux": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LuminousFluxAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LightEmissionSource": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LightDistributionDataSource": {
			          "type": "IfcLightDistributionDataSourceSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLightSourcePositional": {
			      "domain": "ifcpresentationorganizationresource",
			      "superclasses": [
			        "IfcLightSource"
			      ],
			      "fields": {
			        "Position": {
			          "type": "IfcCartesianPoint",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Radius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ConstantAttenuation": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ConstantAttenuationAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DistanceAttenuation": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DistanceAttenuationAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "QuadricAttenuation": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "QuadricAttenuationAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLightSourceSpot": {
			      "domain": "ifcpresentationorganizationresource",
			      "superclasses": [
			        "IfcLightSourcePositional"
			      ],
			      "fields": {
			        "Orientation": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ConcentrationExponent": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ConcentrationExponentAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SpreadAngle": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SpreadAngleAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BeamWidthAngle": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BeamWidthAngleAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLine": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCurve"
			      ],
			      "fields": {
			        "Pnt": {
			          "type": "IfcCartesianPoint",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Dir": {
			          "type": "IfcVector",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLocalPlacement": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [
			        "IfcObjectPlacement"
			      ],
			      "fields": {
			        "PlacementRelTo": {
			          "type": "IfcObjectPlacement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelativePlacement": {
			          "type": "IfcAxis2Placement",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLoop": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcTopologicalRepresentationItem"
			      ],
			      "fields": {}
			    },
			    "IfcManifoldSolidBrep": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcSolidModel"
			      ],
			      "fields": {
			        "Outer": {
			          "type": "IfcClosedShell",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMapConversion": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [
			        "IfcCoordinateOperation"
			      ],
			      "fields": {
			        "Eastings": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EastingsAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Northings": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NorthingsAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OrthogonalHeight": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OrthogonalHeightAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "XAxisAbscissa": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "XAxisAbscissaAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "XAxisOrdinate": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "XAxisOrdinateAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Scale": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ScaleAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMappedItem": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcRepresentationItem"
			      ],
			      "fields": {
			        "MappingSource": {
			          "type": "IfcRepresentationMap",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "MappingTarget": {
			          "type": "IfcCartesianTransformationOperator",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMaterial": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialDefinition"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Category": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HasRepresentation": {
			          "type": "IfcMaterialDefinitionRepresentation",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "IsRelatedWith": {
			          "type": "IfcMaterialRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "RelatesTo": {
			          "type": "IfcMaterialRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcMaterialClassificationRelationship": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [],
			      "fields": {
			        "MaterialClassifications": {
			          "type": "IfcClassificationSelect",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "ClassifiedMaterial": {
			          "type": "IfcMaterial",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMaterialConstituent": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialDefinition"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Material": {
			          "type": "IfcMaterial",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Fraction": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FractionAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Category": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ToMaterialConstituentSet": {
			          "type": "IfcMaterialConstituentSet",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcMaterialConstituentSet": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialDefinition"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MaterialConstituents": {
			          "type": "IfcMaterialConstituent",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcMaterialDefinition": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialSelect",
			        "IfcObjectReferenceSelect",
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "AssociatedTo": {
			          "type": "IfcRelAssociatesMaterial",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasExternalReferences": {
			          "type": "IfcExternalReferenceRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasProperties": {
			          "type": "IfcMaterialProperties",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcMaterialDefinitionRepresentation": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [
			        "IfcProductRepresentation"
			      ],
			      "fields": {
			        "RepresentedMaterial": {
			          "type": "IfcMaterial",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcMaterialLayer": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialDefinition"
			      ],
			      "fields": {
			        "Material": {
			          "type": "IfcMaterial",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "LayerThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LayerThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "IsVentilated": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Category": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Priority": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ToMaterialLayerSet": {
			          "type": "IfcMaterialLayerSet",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcMaterialLayerSet": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialDefinition"
			      ],
			      "fields": {
			        "MaterialLayers": {
			          "type": "IfcMaterialLayer",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "LayerSetName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TotalThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TotalThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMaterialLayerSetUsage": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialUsageDefinition"
			      ],
			      "fields": {
			        "ForLayerSet": {
			          "type": "IfcMaterialLayerSet",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "LayerSetDirection": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DirectionSense": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OffsetFromReferenceLine": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OffsetFromReferenceLineAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ReferenceExtent": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ReferenceExtentAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMaterialLayerWithOffsets": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialLayer"
			      ],
			      "fields": {
			        "OffsetDirection": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OffsetValues": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "OffsetValuesAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMaterialList": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialSelect"
			      ],
			      "fields": {
			        "Materials": {
			          "type": "IfcMaterial",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMaterialProfile": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialDefinition"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Material": {
			          "type": "IfcMaterial",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Profile": {
			          "type": "IfcProfileDef",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Priority": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Category": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ToMaterialProfileSet": {
			          "type": "IfcMaterialProfileSet",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcMaterialProfileSet": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialDefinition"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MaterialProfiles": {
			          "type": "IfcMaterialProfile",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "CompositeProfile": {
			          "type": "IfcCompositeProfileDef",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMaterialProfileSetUsage": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialUsageDefinition"
			      ],
			      "fields": {
			        "ForProfileSet": {
			          "type": "IfcMaterialProfileSet",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "CardinalPoint": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ReferenceExtent": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ReferenceExtentAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMaterialProfileSetUsageTapering": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialProfileSetUsage"
			      ],
			      "fields": {
			        "ForProfileEndSet": {
			          "type": "IfcMaterialProfileSet",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "CardinalEndPoint": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMaterialProfileWithOffsets": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialProfile"
			      ],
			      "fields": {
			        "OffsetValues": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "OffsetValuesAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMaterialProperties": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcExtendedProperties"
			      ],
			      "fields": {
			        "Material": {
			          "type": "IfcMaterialDefinition",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcMaterialRelationship": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcResourceLevelRelationship"
			      ],
			      "fields": {
			        "RelatingMaterial": {
			          "type": "IfcMaterial",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedMaterials": {
			          "type": "IfcMaterial",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Expression": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMaterialUsageDefinition": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [
			        "IfcMaterialSelect"
			      ],
			      "fields": {
			        "AssociatedTo": {
			          "type": "IfcRelAssociatesMaterial",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcMeasureWithUnit": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcAppliedValueSelect",
			        "IfcMetricValueSelect"
			      ],
			      "fields": {
			        "ValueComponent": {
			          "type": "IfcValue",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "UnitComponent": {
			          "type": "IfcUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMechanicalFastener": {
			      "domain": "ifcsharedcomponentelements",
			      "superclasses": [
			        "IfcElementComponent"
			      ],
			      "fields": {
			        "NominalDiameter": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalDiameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMechanicalFastenerType": {
			      "domain": "ifcsharedcomponentelements",
			      "superclasses": [
			        "IfcElementComponentType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalDiameter": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalDiameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMedicalDevice": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowTerminal"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMedicalDeviceType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowTerminalType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMember": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMemberStandardCase": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcMember"
			      ],
			      "fields": {}
			    },
			    "IfcMemberType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMetric": {
			      "domain": "ifcconstraintresource",
			      "superclasses": [
			        "IfcConstraint"
			      ],
			      "fields": {
			        "Benchmark": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ValueSource": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DataValue": {
			          "type": "IfcMetricValueSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ReferencePath": {
			          "type": "IfcReference",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMirroredProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcDerivedProfileDef"
			      ],
			      "fields": {}
			    },
			    "IfcMonetaryUnit": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcUnit"
			      ],
			      "fields": {
			        "Currency": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMotorConnection": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMotorConnectionType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcNamedUnit": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcUnit"
			      ],
			      "fields": {
			        "Dimensions": {
			          "type": "IfcDimensionalExponents",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "UnitType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcObject": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcObjectDefinition"
			      ],
			      "fields": {
			        "ObjectType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "IsDeclaredBy": {
			          "type": "IfcRelDefinesByObject",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Declares": {
			          "type": "IfcRelDefinesByObject",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "IsTypedBy": {
			          "type": "IfcRelDefinesByType",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "IsDefinedBy": {
			          "type": "IfcRelDefinesByProperties",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcObjectDefinition": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRoot",
			        "IfcDefinitionSelect"
			      ],
			      "fields": {
			        "HasAssignments": {
			          "type": "IfcRelAssigns",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Nests": {
			          "type": "IfcRelNests",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "IsNestedBy": {
			          "type": "IfcRelNests",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasContext": {
			          "type": "IfcRelDeclares",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "IsDecomposedBy": {
			          "type": "IfcRelAggregates",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Decomposes": {
			          "type": "IfcRelAggregates",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasAssociations": {
			          "type": "IfcRelAssociates",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcObjectPlacement": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [],
			      "fields": {
			        "PlacesObject": {
			          "type": "IfcProduct",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "ReferencedByPlacements": {
			          "type": "IfcLocalPlacement",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcObjective": {
			      "domain": "ifcconstraintresource",
			      "superclasses": [
			        "IfcConstraint"
			      ],
			      "fields": {
			        "BenchmarkValues": {
			          "type": "IfcConstraint",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "LogicalAggregator": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ObjectiveQualifier": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedQualifier": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcOccupant": {
			      "domain": "ifcsharedfacilitieselements",
			      "superclasses": [
			        "IfcActor"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcOffsetCurve2D": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCurve"
			      ],
			      "fields": {
			        "BasisCurve": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Distance": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DistanceAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SelfIntersect": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcOffsetCurve3D": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCurve"
			      ],
			      "fields": {
			        "BasisCurve": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Distance": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DistanceAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SelfIntersect": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RefDirection": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcOpenShell": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcConnectedFaceSet",
			        "IfcShell"
			      ],
			      "fields": {}
			    },
			    "IfcOpeningElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcFeatureElementSubtraction"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HasFillings": {
			          "type": "IfcRelFillsElement",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcOpeningStandardCase": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcOpeningElement"
			      ],
			      "fields": {}
			    },
			    "IfcOrganization": {
			      "domain": "ifcactorresource",
			      "superclasses": [
			        "IfcActorSelect",
			        "IfcObjectReferenceSelect",
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "Identification": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Roles": {
			          "type": "IfcActorRole",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Addresses": {
			          "type": "IfcAddress",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "IsRelatedBy": {
			          "type": "IfcOrganizationRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Relates": {
			          "type": "IfcOrganizationRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Engages": {
			          "type": "IfcPersonAndOrganization",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcOrganizationRelationship": {
			      "domain": "ifcactorresource",
			      "superclasses": [
			        "IfcResourceLevelRelationship"
			      ],
			      "fields": {
			        "RelatingOrganization": {
			          "type": "IfcOrganization",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedOrganizations": {
			          "type": "IfcOrganization",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcOrientedEdge": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcEdge"
			      ],
			      "fields": {
			        "EdgeElement": {
			          "type": "IfcEdge",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Orientation": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcOuterBoundaryCurve": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBoundaryCurve"
			      ],
			      "fields": {}
			    },
			    "IfcOutlet": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowTerminal"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcOutletType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowTerminalType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcOwnerHistory": {
			      "domain": "ifcutilityresource",
			      "superclasses": [],
			      "fields": {
			        "OwningUser": {
			          "type": "IfcPersonAndOrganization",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "OwningApplication": {
			          "type": "IfcApplication",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "State": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ChangeAction": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LastModifiedDate": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LastModifyingUser": {
			          "type": "IfcPersonAndOrganization",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "LastModifyingApplication": {
			          "type": "IfcApplication",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "CreationDate": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcParameterizedProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcProfileDef"
			      ],
			      "fields": {
			        "Position": {
			          "type": "IfcAxis2Placement2D",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPath": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcTopologicalRepresentationItem"
			      ],
			      "fields": {
			        "EdgeList": {
			          "type": "IfcOrientedEdge",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPcurve": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCurve",
			        "IfcCurveOnSurface"
			      ],
			      "fields": {
			        "BasisSurface": {
			          "type": "IfcSurface",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ReferenceCurve": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPerformanceHistory": {
			      "domain": "ifccontrolextension",
			      "superclasses": [
			        "IfcControl"
			      ],
			      "fields": {
			        "LifeCyclePhase": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPermeableCoveringProperties": {
			      "domain": "ifcarchitecturedomain",
			      "superclasses": [
			        "IfcPreDefinedPropertySet"
			      ],
			      "fields": {
			        "OperationType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PanelPosition": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FrameDepth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FrameDepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FrameThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FrameThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ShapeAspectStyle": {
			          "type": "IfcShapeAspect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPermit": {
			      "domain": "ifcsharedmgmtelements",
			      "superclasses": [
			        "IfcControl"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Status": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongDescription": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPerson": {
			      "domain": "ifcactorresource",
			      "superclasses": [
			        "IfcActorSelect",
			        "IfcObjectReferenceSelect",
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "Identification": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FamilyName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "GivenName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MiddleNames": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "PrefixTitles": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "SuffixTitles": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "Roles": {
			          "type": "IfcActorRole",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Addresses": {
			          "type": "IfcAddress",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "EngagedIn": {
			          "type": "IfcPersonAndOrganization",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcPersonAndOrganization": {
			      "domain": "ifcactorresource",
			      "superclasses": [
			        "IfcActorSelect",
			        "IfcObjectReferenceSelect",
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "ThePerson": {
			          "type": "IfcPerson",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "TheOrganization": {
			          "type": "IfcOrganization",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "Roles": {
			          "type": "IfcActorRole",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPhysicalComplexQuantity": {
			      "domain": "ifcquantityresource",
			      "superclasses": [
			        "IfcPhysicalQuantity"
			      ],
			      "fields": {
			        "HasQuantities": {
			          "type": "IfcPhysicalQuantity",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Discrimination": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Quality": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Usage": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPhysicalQuantity": {
			      "domain": "ifcquantityresource",
			      "superclasses": [
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HasExternalReferences": {
			          "type": "IfcExternalReferenceRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "PartOfComplex": {
			          "type": "IfcPhysicalComplexQuantity",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcPhysicalSimpleQuantity": {
			      "domain": "ifcquantityresource",
			      "superclasses": [
			        "IfcPhysicalQuantity"
			      ],
			      "fields": {
			        "Unit": {
			          "type": "IfcNamedUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPile": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ConstructionType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPileType": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPipeFitting": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowFitting"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPipeFittingType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowFittingType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPipeSegment": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowSegment"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPipeSegmentType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowSegmentType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPixelTexture": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcSurfaceTexture"
			      ],
			      "fields": {
			        "Width": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Height": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ColourComponents": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Pixel": {
			          "type": "bytearray",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPlacement": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem"
			      ],
			      "fields": {
			        "Location": {
			          "type": "IfcCartesianPoint",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPlanarBox": {
			      "domain": "ifcpresentationdefinitionresource",
			      "superclasses": [
			        "IfcPlanarExtent"
			      ],
			      "fields": {
			        "Placement": {
			          "type": "IfcAxis2Placement",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPlanarExtent": {
			      "domain": "ifcpresentationdefinitionresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem"
			      ],
			      "fields": {
			        "SizeInX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SizeInXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SizeInY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SizeInYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPlane": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcElementarySurface"
			      ],
			      "fields": {}
			    },
			    "IfcPlate": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPlateStandardCase": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcPlate"
			      ],
			      "fields": {}
			    },
			    "IfcPlateType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPoint": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem",
			        "IfcGeometricSetSelect",
			        "IfcPointOrVertexPoint"
			      ],
			      "fields": {}
			    },
			    "IfcPointOnCurve": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcPoint"
			      ],
			      "fields": {
			        "BasisCurve": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "PointParameter": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PointParameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPointOnSurface": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcPoint"
			      ],
			      "fields": {
			        "BasisSurface": {
			          "type": "IfcSurface",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "PointParameterU": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PointParameterUAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PointParameterV": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PointParameterVAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPolyLoop": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcLoop"
			      ],
			      "fields": {
			        "Polygon": {
			          "type": "IfcCartesianPoint",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPolygonalBoundedHalfSpace": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcHalfSpaceSolid"
			      ],
			      "fields": {
			        "Position": {
			          "type": "IfcAxis2Placement3D",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "PolygonalBoundary": {
			          "type": "IfcBoundedCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPolygonalFaceSet": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcTessellatedFaceSet"
			      ],
			      "fields": {
			        "Closed": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Faces": {
			          "type": "IfcIndexedPolygonalFace",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "PnIndex": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPolyline": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBoundedCurve"
			      ],
			      "fields": {
			        "Points": {
			          "type": "IfcCartesianPoint",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPort": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcProduct"
			      ],
			      "fields": {
			        "ContainedIn": {
			          "type": "IfcRelConnectsPortToElement",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "ConnectedFrom": {
			          "type": "IfcRelConnectsPorts",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "ConnectedTo": {
			          "type": "IfcRelConnectsPorts",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcPostalAddress": {
			      "domain": "ifcactorresource",
			      "superclasses": [
			        "IfcAddress"
			      ],
			      "fields": {
			        "InternalLocation": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "AddressLines": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "PostalBox": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Town": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Region": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PostalCode": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Country": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPreDefinedColour": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPreDefinedItem",
			        "IfcColour"
			      ],
			      "fields": {}
			    },
			    "IfcPreDefinedCurveFont": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPreDefinedItem",
			        "IfcCurveStyleFontSelect"
			      ],
			      "fields": {}
			    },
			    "IfcPreDefinedItem": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPreDefinedProperties": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcPropertyAbstraction"
			      ],
			      "fields": {}
			    },
			    "IfcPreDefinedPropertySet": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcPropertySetDefinition"
			      ],
			      "fields": {}
			    },
			    "IfcPreDefinedTextFont": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPreDefinedItem",
			        "IfcTextFontSelect"
			      ],
			      "fields": {}
			    },
			    "IfcPresentationItem": {
			      "domain": "ifcpresentationdefinitionresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcPresentationLayerAssignment": {
			      "domain": "ifcpresentationorganizationresource",
			      "superclasses": [],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "AssignedItems": {
			          "type": "IfcLayeredItem",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Identifier": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPresentationLayerWithStyle": {
			      "domain": "ifcpresentationorganizationresource",
			      "superclasses": [
			        "IfcPresentationLayerAssignment"
			      ],
			      "fields": {
			        "LayerOn": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LayerFrozen": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LayerBlocked": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LayerStyles": {
			          "type": "IfcPresentationStyle",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPresentationStyle": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcStyleAssignmentSelect"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPresentationStyleAssignment": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcStyleAssignmentSelect"
			      ],
			      "fields": {
			        "Styles": {
			          "type": "IfcPresentationStyleSelect",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcProcedure": {
			      "domain": "ifcprocessextension",
			      "superclasses": [
			        "IfcProcess"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcProcedureType": {
			      "domain": "ifcprocessextension",
			      "superclasses": [
			        "IfcTypeProcess"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcProcess": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcObject",
			        "IfcProcessSelect"
			      ],
			      "fields": {
			        "Identification": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongDescription": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "IsPredecessorTo": {
			          "type": "IfcRelSequence",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "IsSuccessorFrom": {
			          "type": "IfcRelSequence",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "OperatesOn": {
			          "type": "IfcRelAssignsToProcess",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcProduct": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcObject",
			        "IfcProductSelect"
			      ],
			      "fields": {
			        "ObjectPlacement": {
			          "type": "IfcObjectPlacement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "Representation": {
			          "type": "IfcProductRepresentation",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "ReferencedBy": {
			          "type": "IfcRelAssignsToProduct",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "geometry": {
			          "type": "GeometryInfo",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcProductDefinitionShape": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [
			        "IfcProductRepresentation",
			        "IfcProductRepresentationSelect"
			      ],
			      "fields": {
			        "ShapeOfProduct": {
			          "type": "IfcProduct",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasShapeAspects": {
			          "type": "IfcShapeAspect",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcProductRepresentation": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Representations": {
			          "type": "IfcRepresentation",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "ProfileType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ProfileName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HasExternalReference": {
			          "type": "IfcExternalReferenceRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasProperties": {
			          "type": "IfcProfileProperties",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcProfileProperties": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcExtendedProperties"
			      ],
			      "fields": {
			        "ProfileDefinition": {
			          "type": "IfcProfileDef",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcProject": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcContext"
			      ],
			      "fields": {}
			    },
			    "IfcProjectLibrary": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcContext"
			      ],
			      "fields": {}
			    },
			    "IfcProjectOrder": {
			      "domain": "ifcsharedmgmtelements",
			      "superclasses": [
			        "IfcControl"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Status": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongDescription": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcProjectedCRS": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [
			        "IfcCoordinateReferenceSystem"
			      ],
			      "fields": {
			        "MapProjection": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MapZone": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MapUnit": {
			          "type": "IfcNamedUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcProjectionElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcFeatureElementAddition"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcProperty": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcPropertyAbstraction"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PartOfPset": {
			          "type": "IfcPropertySet",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "PropertyForDependance": {
			          "type": "IfcPropertyDependencyRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "PropertyDependsOn": {
			          "type": "IfcPropertyDependencyRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "PartOfComplex": {
			          "type": "IfcComplexProperty",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasConstraints": {
			          "type": "IfcResourceConstraintRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasApprovals": {
			          "type": "IfcResourceApprovalRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcPropertyAbstraction": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "HasExternalReferences": {
			          "type": "IfcExternalReferenceRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcPropertyBoundedValue": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcSimpleProperty"
			      ],
			      "fields": {
			        "UpperBoundValue": {
			          "type": "IfcValue",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "LowerBoundValue": {
			          "type": "IfcValue",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Unit": {
			          "type": "IfcUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "SetPointValue": {
			          "type": "IfcValue",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPropertyDefinition": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRoot",
			        "IfcDefinitionSelect"
			      ],
			      "fields": {
			        "HasContext": {
			          "type": "IfcRelDeclares",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasAssociations": {
			          "type": "IfcRelAssociates",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcPropertyDependencyRelationship": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcResourceLevelRelationship"
			      ],
			      "fields": {
			        "DependingProperty": {
			          "type": "IfcProperty",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "DependantProperty": {
			          "type": "IfcProperty",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "Expression": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPropertyEnumeratedValue": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcSimpleProperty"
			      ],
			      "fields": {
			        "EnumerationValues": {
			          "type": "IfcValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "EnumerationReference": {
			          "type": "IfcPropertyEnumeration",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPropertyEnumeration": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcPropertyAbstraction"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EnumerationValues": {
			          "type": "IfcValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Unit": {
			          "type": "IfcUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPropertyListValue": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcSimpleProperty"
			      ],
			      "fields": {
			        "ListValues": {
			          "type": "IfcValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Unit": {
			          "type": "IfcUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPropertyReferenceValue": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcSimpleProperty"
			      ],
			      "fields": {
			        "UsageName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PropertyReference": {
			          "type": "IfcObjectReferenceSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPropertySet": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcPropertySetDefinition"
			      ],
			      "fields": {
			        "HasProperties": {
			          "type": "IfcProperty",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcPropertySetDefinition": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcPropertyDefinition",
			        "IfcPropertySetDefinitionSelect"
			      ],
			      "fields": {
			        "DefinesType": {
			          "type": "IfcTypeObject",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "IsDefinedBy": {
			          "type": "IfcRelDefinesByTemplate",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "DefinesOccurrence": {
			          "type": "IfcRelDefinesByProperties",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcPropertySetTemplate": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcPropertyTemplateDefinition"
			      ],
			      "fields": {
			        "TemplateType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ApplicableEntity": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HasPropertyTemplates": {
			          "type": "IfcPropertyTemplate",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Defines": {
			          "type": "IfcRelDefinesByTemplate",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcPropertySingleValue": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcSimpleProperty"
			      ],
			      "fields": {
			        "NominalValue": {
			          "type": "IfcValue",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Unit": {
			          "type": "IfcUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPropertyTableValue": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcSimpleProperty"
			      ],
			      "fields": {
			        "DefiningValues": {
			          "type": "IfcValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "DefinedValues": {
			          "type": "IfcValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Expression": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DefiningUnit": {
			          "type": "IfcUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "DefinedUnit": {
			          "type": "IfcUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "CurveInterpolation": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPropertyTemplate": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcPropertyTemplateDefinition"
			      ],
			      "fields": {
			        "PartOfComplexTemplate": {
			          "type": "IfcComplexPropertyTemplate",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "PartOfPsetTemplate": {
			          "type": "IfcPropertySetTemplate",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcPropertyTemplateDefinition": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcPropertyDefinition"
			      ],
			      "fields": {}
			    },
			    "IfcProtectiveDevice": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowController"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcProtectiveDeviceTrippingUnit": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcDistributionControlElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcProtectiveDeviceTrippingUnitType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcDistributionControlElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcProtectiveDeviceType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowControllerType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcProxy": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcProduct"
			      ],
			      "fields": {
			        "ProxyType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Tag": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPump": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowMovingDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPumpType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowMovingDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcQuantityArea": {
			      "domain": "ifcquantityresource",
			      "superclasses": [
			        "IfcPhysicalSimpleQuantity"
			      ],
			      "fields": {
			        "AreaValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "AreaValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Formula": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcQuantityCount": {
			      "domain": "ifcquantityresource",
			      "superclasses": [
			        "IfcPhysicalSimpleQuantity"
			      ],
			      "fields": {
			        "CountValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CountValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Formula": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcQuantityLength": {
			      "domain": "ifcquantityresource",
			      "superclasses": [
			        "IfcPhysicalSimpleQuantity"
			      ],
			      "fields": {
			        "LengthValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LengthValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Formula": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcQuantitySet": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcPropertySetDefinition"
			      ],
			      "fields": {}
			    },
			    "IfcQuantityTime": {
			      "domain": "ifcquantityresource",
			      "superclasses": [
			        "IfcPhysicalSimpleQuantity"
			      ],
			      "fields": {
			        "TimeValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TimeValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Formula": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcQuantityVolume": {
			      "domain": "ifcquantityresource",
			      "superclasses": [
			        "IfcPhysicalSimpleQuantity"
			      ],
			      "fields": {
			        "VolumeValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "VolumeValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Formula": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcQuantityWeight": {
			      "domain": "ifcquantityresource",
			      "superclasses": [
			        "IfcPhysicalSimpleQuantity"
			      ],
			      "fields": {
			        "WeightValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WeightValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Formula": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRailing": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRailingType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRamp": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRampFlight": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRampFlightType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRampType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRationalBSplineCurveWithKnots": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBSplineCurveWithKnots"
			      ],
			      "fields": {
			        "WeightsData": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "WeightsDataAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "Weights": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WeightsAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRationalBSplineSurfaceWithKnots": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBSplineSurfaceWithKnots"
			      ],
			      "fields": {
			        "WeightsData": {
			          "type": "ListOfEDouble",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Weights": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WeightsAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRectangleHollowProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcRectangleProfileDef"
			      ],
			      "fields": {
			        "WallThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WallThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "InnerFilletRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "InnerFilletRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OuterFilletRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OuterFilletRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRectangleProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcParameterizedProfileDef"
			      ],
			      "fields": {
			        "XDim": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "XDimAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "YDim": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "YDimAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRectangularPyramid": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcCsgPrimitive3D"
			      ],
			      "fields": {
			        "XLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "XLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "YLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "YLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Height": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HeightAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRectangularTrimmedSurface": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBoundedSurface"
			      ],
			      "fields": {
			        "BasisSurface": {
			          "type": "IfcSurface",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "U1": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "U1AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "V1": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "V1AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "U2": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "U2AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "V2": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "V2AsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Usense": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Vsense": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRecurrencePattern": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [],
			      "fields": {
			        "RecurrenceType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DayComponent": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "WeekdayComponent": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "MonthComponent": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "Position": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Interval": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Occurrences": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TimePeriods": {
			          "type": "IfcTimePeriod",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcReference": {
			      "domain": "ifcconstraintresource",
			      "superclasses": [
			        "IfcAppliedValueSelect",
			        "IfcMetricValueSelect"
			      ],
			      "fields": {
			        "TypeIdentifier": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "AttributeIdentifier": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "InstanceName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ListPositions": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "InnerReference": {
			          "type": "IfcReference",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRegularTimeSeries": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcTimeSeries"
			      ],
			      "fields": {
			        "TimeStep": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TimeStepAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Values": {
			          "type": "IfcTimeSeriesValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcReinforcementBarProperties": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcPreDefinedProperties"
			      ],
			      "fields": {
			        "TotalCrossSectionArea": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TotalCrossSectionAreaAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SteelGrade": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BarSurface": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EffectiveDepth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EffectiveDepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalBarDiameter": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalBarDiameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BarCount": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BarCountAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcReinforcementDefinitionProperties": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcPreDefinedPropertySet"
			      ],
			      "fields": {
			        "DefinitionType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ReinforcementSectionDefinitions": {
			          "type": "IfcSectionReinforcementProperties",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcReinforcingBar": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcReinforcingElement"
			      ],
			      "fields": {
			        "NominalDiameter": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalDiameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CrossSectionArea": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CrossSectionAreaAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BarLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BarLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BarSurface": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcReinforcingBarType": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcReinforcingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalDiameter": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalDiameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CrossSectionArea": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CrossSectionAreaAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BarLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BarLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BarSurface": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BendingShapeCode": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BendingParameters": {
			          "type": "IfcBendingParameterSelect",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcReinforcingElement": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcElementComponent"
			      ],
			      "fields": {
			        "SteelGrade": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcReinforcingElementType": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcElementComponentType"
			      ],
			      "fields": {}
			    },
			    "IfcReinforcingMesh": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcReinforcingElement"
			      ],
			      "fields": {
			        "MeshLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MeshLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MeshWidth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MeshWidthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalBarNominalDiameter": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalBarNominalDiameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransverseBarNominalDiameter": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransverseBarNominalDiameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalBarCrossSectionArea": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalBarCrossSectionAreaAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransverseBarCrossSectionArea": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransverseBarCrossSectionAreaAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalBarSpacing": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalBarSpacingAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransverseBarSpacing": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransverseBarSpacingAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcReinforcingMeshType": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcReinforcingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MeshLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MeshLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MeshWidth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MeshWidthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalBarNominalDiameter": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalBarNominalDiameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransverseBarNominalDiameter": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransverseBarNominalDiameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalBarCrossSectionArea": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalBarCrossSectionAreaAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransverseBarCrossSectionArea": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransverseBarCrossSectionAreaAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalBarSpacing": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalBarSpacingAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransverseBarSpacing": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransverseBarSpacingAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BendingShapeCode": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BendingParameters": {
			          "type": "IfcBendingParameterSelect",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelAggregates": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelDecomposes"
			      ],
			      "fields": {
			        "RelatingObject": {
			          "type": "IfcObjectDefinition",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedObjects": {
			          "type": "IfcObjectDefinition",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelAssigns": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelationship"
			      ],
			      "fields": {
			        "RelatedObjects": {
			          "type": "IfcObjectDefinition",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "RelatedObjectsType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelAssignsToActor": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelAssigns"
			      ],
			      "fields": {
			        "RelatingActor": {
			          "type": "IfcActor",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "ActingRole": {
			          "type": "IfcActorRole",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelAssignsToControl": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelAssigns"
			      ],
			      "fields": {
			        "RelatingControl": {
			          "type": "IfcControl",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelAssignsToGroup": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelAssigns"
			      ],
			      "fields": {
			        "RelatingGroup": {
			          "type": "IfcGroup",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelAssignsToGroupByFactor": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelAssignsToGroup"
			      ],
			      "fields": {
			        "Factor": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FactorAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelAssignsToProcess": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelAssigns"
			      ],
			      "fields": {
			        "RelatingProcess": {
			          "type": "IfcProcessSelect",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "QuantityInProcess": {
			          "type": "IfcMeasureWithUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelAssignsToProduct": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelAssigns"
			      ],
			      "fields": {
			        "RelatingProduct": {
			          "type": "IfcProductSelect",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelAssignsToResource": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelAssigns"
			      ],
			      "fields": {
			        "RelatingResource": {
			          "type": "IfcResourceSelect",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelAssociates": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelationship"
			      ],
			      "fields": {
			        "RelatedObjects": {
			          "type": "IfcDefinitionSelect",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelAssociatesApproval": {
			      "domain": "ifccontrolextension",
			      "superclasses": [
			        "IfcRelAssociates"
			      ],
			      "fields": {
			        "RelatingApproval": {
			          "type": "IfcApproval",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelAssociatesClassification": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelAssociates"
			      ],
			      "fields": {
			        "RelatingClassification": {
			          "type": "IfcClassificationSelect",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelAssociatesConstraint": {
			      "domain": "ifccontrolextension",
			      "superclasses": [
			        "IfcRelAssociates"
			      ],
			      "fields": {
			        "Intent": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RelatingConstraint": {
			          "type": "IfcConstraint",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelAssociatesDocument": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelAssociates"
			      ],
			      "fields": {
			        "RelatingDocument": {
			          "type": "IfcDocumentSelect",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelAssociatesLibrary": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelAssociates"
			      ],
			      "fields": {
			        "RelatingLibrary": {
			          "type": "IfcLibrarySelect",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelAssociatesMaterial": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelAssociates"
			      ],
			      "fields": {
			        "RelatingMaterial": {
			          "type": "IfcMaterialSelect",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelConnects": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelationship"
			      ],
			      "fields": {}
			    },
			    "IfcRelConnectsElements": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "ConnectionGeometry": {
			          "type": "IfcConnectionGeometry",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "RelatingElement": {
			          "type": "IfcElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedElement": {
			          "type": "IfcElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelConnectsPathElements": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcRelConnectsElements"
			      ],
			      "fields": {
			        "RelatingPriorities": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "RelatedPriorities": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "RelatedConnectionType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RelatingConnectionType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelConnectsPortToElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatingPort": {
			          "type": "IfcPort",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedElement": {
			          "type": "IfcDistributionElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelConnectsPorts": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatingPort": {
			          "type": "IfcPort",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedPort": {
			          "type": "IfcPort",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RealizingElement": {
			          "type": "IfcElement",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelConnectsStructuralActivity": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatingElement": {
			          "type": "IfcStructuralActivityAssignmentSelect",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedStructuralActivity": {
			          "type": "IfcStructuralActivity",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelConnectsStructuralMember": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatingStructuralMember": {
			          "type": "IfcStructuralMember",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedStructuralConnection": {
			          "type": "IfcStructuralConnection",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "AppliedCondition": {
			          "type": "IfcBoundaryCondition",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "AdditionalConditions": {
			          "type": "IfcStructuralConnectionCondition",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "SupportedLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SupportedLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ConditionCoordinateSystem": {
			          "type": "IfcAxis2Placement3D",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelConnectsWithEccentricity": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcRelConnectsStructuralMember"
			      ],
			      "fields": {
			        "ConnectionConstraint": {
			          "type": "IfcConnectionGeometry",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelConnectsWithRealizingElements": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelConnectsElements"
			      ],
			      "fields": {
			        "RealizingElements": {
			          "type": "IfcElement",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "ConnectionType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelContainedInSpatialStructure": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatedElements": {
			          "type": "IfcProduct",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "RelatingStructure": {
			          "type": "IfcSpatialElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelCoversBldgElements": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatingBuildingElement": {
			          "type": "IfcElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedCoverings": {
			          "type": "IfcCovering",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelCoversSpaces": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatingSpace": {
			          "type": "IfcSpace",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedCoverings": {
			          "type": "IfcCovering",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelDeclares": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelationship"
			      ],
			      "fields": {
			        "RelatingContext": {
			          "type": "IfcContext",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedDefinitions": {
			          "type": "IfcDefinitionSelect",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelDecomposes": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelationship"
			      ],
			      "fields": {}
			    },
			    "IfcRelDefines": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelationship"
			      ],
			      "fields": {}
			    },
			    "IfcRelDefinesByObject": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelDefines"
			      ],
			      "fields": {
			        "RelatedObjects": {
			          "type": "IfcObject",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "RelatingObject": {
			          "type": "IfcObject",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelDefinesByProperties": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelDefines"
			      ],
			      "fields": {
			        "RelatedObjects": {
			          "type": "IfcObjectDefinition",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "RelatingPropertyDefinition": {
			          "type": "IfcPropertySetDefinitionSelect",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelDefinesByTemplate": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelDefines"
			      ],
			      "fields": {
			        "RelatedPropertySets": {
			          "type": "IfcPropertySetDefinition",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "RelatingTemplate": {
			          "type": "IfcPropertySetTemplate",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelDefinesByType": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelDefines"
			      ],
			      "fields": {
			        "RelatedObjects": {
			          "type": "IfcObject",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "RelatingType": {
			          "type": "IfcTypeObject",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelFillsElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatingOpeningElement": {
			          "type": "IfcOpeningElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedBuildingElement": {
			          "type": "IfcElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelFlowControlElements": {
			      "domain": "ifcsharedbldgserviceelements",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatedControlElements": {
			          "type": "IfcDistributionControlElement",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "RelatingFlowElement": {
			          "type": "IfcDistributionFlowElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelInterferesElements": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatingElement": {
			          "type": "IfcElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedElement": {
			          "type": "IfcElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "InterferenceGeometry": {
			          "type": "IfcConnectionGeometry",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "InterferenceType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ImpliedOrder": {
			          "type": "boolean",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelNests": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRelDecomposes"
			      ],
			      "fields": {
			        "RelatingObject": {
			          "type": "IfcObjectDefinition",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedObjects": {
			          "type": "IfcObjectDefinition",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelProjectsElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelDecomposes"
			      ],
			      "fields": {
			        "RelatingElement": {
			          "type": "IfcElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedFeatureElement": {
			          "type": "IfcFeatureElementAddition",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelReferencedInSpatialStructure": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatedElements": {
			          "type": "IfcProduct",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "RelatingStructure": {
			          "type": "IfcSpatialElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelSequence": {
			      "domain": "ifcprocessextension",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatingProcess": {
			          "type": "IfcProcess",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedProcess": {
			          "type": "IfcProcess",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "TimeLag": {
			          "type": "IfcLagTime",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "SequenceType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedSequenceType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelServicesBuildings": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatingSystem": {
			          "type": "IfcSystem",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedBuildings": {
			          "type": "IfcSpatialElement",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelSpaceBoundary": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelConnects"
			      ],
			      "fields": {
			        "RelatingSpace": {
			          "type": "IfcSpaceBoundarySelect",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedBuildingElement": {
			          "type": "IfcElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "ConnectionGeometry": {
			          "type": "IfcConnectionGeometry",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "PhysicalOrVirtualBoundary": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "InternalOrExternalBoundary": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRelSpaceBoundary1stLevel": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelSpaceBoundary"
			      ],
			      "fields": {
			        "ParentBoundary": {
			          "type": "IfcRelSpaceBoundary1stLevel",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "InnerBoundaries": {
			          "type": "IfcRelSpaceBoundary1stLevel",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelSpaceBoundary2ndLevel": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelSpaceBoundary1stLevel"
			      ],
			      "fields": {
			        "CorrespondingBoundary": {
			          "type": "IfcRelSpaceBoundary2ndLevel",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "Corresponds": {
			          "type": "IfcRelSpaceBoundary2ndLevel",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelVoidsElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcRelDecomposes"
			      ],
			      "fields": {
			        "RelatingBuildingElement": {
			          "type": "IfcElement",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedOpeningElement": {
			          "type": "IfcFeatureElementSubtraction",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRelationship": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcRoot"
			      ],
			      "fields": {}
			    },
			    "IfcReparametrisedCompositeCurveSegment": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCompositeCurveSegment"
			      ],
			      "fields": {
			        "ParamLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ParamLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRepresentation": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [
			        "IfcLayeredItem"
			      ],
			      "fields": {
			        "ContextOfItems": {
			          "type": "IfcRepresentationContext",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RepresentationIdentifier": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RepresentationType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Items": {
			          "type": "IfcRepresentationItem",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "RepresentationMap": {
			          "type": "IfcRepresentationMap",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "LayerAssignments": {
			          "type": "IfcPresentationLayerAssignment",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "OfProductRepresentation": {
			          "type": "IfcProductRepresentation",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRepresentationContext": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [],
			      "fields": {
			        "ContextIdentifier": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ContextType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RepresentationsInContext": {
			          "type": "IfcRepresentation",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRepresentationItem": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcLayeredItem"
			      ],
			      "fields": {
			        "LayerAssignment": {
			          "type": "IfcPresentationLayerAssignment",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "StyledByItem": {
			          "type": "IfcStyledItem",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcRepresentationMap": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcProductRepresentationSelect"
			      ],
			      "fields": {
			        "MappingOrigin": {
			          "type": "IfcAxis2Placement",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "MappedRepresentation": {
			          "type": "IfcRepresentation",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "HasShapeAspects": {
			          "type": "IfcShapeAspect",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "MapUsage": {
			          "type": "IfcMappedItem",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcResource": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcObject",
			        "IfcResourceSelect"
			      ],
			      "fields": {
			        "Identification": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongDescription": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ResourceOf": {
			          "type": "IfcRelAssignsToResource",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcResourceApprovalRelationship": {
			      "domain": "ifcapprovalresource",
			      "superclasses": [
			        "IfcResourceLevelRelationship"
			      ],
			      "fields": {
			        "RelatedResourceObjects": {
			          "type": "IfcResourceObjectSelect",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "RelatingApproval": {
			          "type": "IfcApproval",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcResourceConstraintRelationship": {
			      "domain": "ifcconstraintresource",
			      "superclasses": [
			        "IfcResourceLevelRelationship"
			      ],
			      "fields": {
			        "RelatingConstraint": {
			          "type": "IfcConstraint",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "RelatedResourceObjects": {
			          "type": "IfcResourceObjectSelect",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcResourceLevelRelationship": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcResourceTime": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcSchedulingTime"
			      ],
			      "fields": {
			        "ScheduleWork": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ScheduleUsage": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ScheduleUsageAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ScheduleStart": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ScheduleFinish": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ScheduleContour": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LevelingDelay": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "IsOverAllocated": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "StatusTime": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ActualWork": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ActualUsage": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ActualUsageAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ActualStart": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ActualFinish": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RemainingWork": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RemainingUsage": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RemainingUsageAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Completion": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CompletionAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRevolvedAreaSolid": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcSweptAreaSolid"
			      ],
			      "fields": {
			        "Axis": {
			          "type": "IfcAxis1Placement",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Angle": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "AngleAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRevolvedAreaSolidTapered": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcRevolvedAreaSolid"
			      ],
			      "fields": {
			        "EndSweptArea": {
			          "type": "IfcProfileDef",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRightCircularCone": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcCsgPrimitive3D"
			      ],
			      "fields": {
			        "Height": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HeightAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BottomRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BottomRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRightCircularCylinder": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcCsgPrimitive3D"
			      ],
			      "fields": {
			        "Height": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HeightAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Radius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRoof": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRoofType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRoot": {
			      "domain": "ifckernel",
			      "superclasses": [],
			      "fields": {
			        "GlobalId": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OwnerHistory": {
			          "type": "IfcOwnerHistory",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRoundedRectangleProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcRectangleProfileDef"
			      ],
			      "fields": {
			        "RoundingRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RoundingRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSIUnit": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcNamedUnit"
			      ],
			      "fields": {
			        "Prefix": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Name": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSanitaryTerminal": {
			      "domain": "ifcplumbingfireprotectiondomain",
			      "superclasses": [
			        "IfcFlowTerminal"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSanitaryTerminalType": {
			      "domain": "ifcplumbingfireprotectiondomain",
			      "superclasses": [
			        "IfcFlowTerminalType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSchedulingTime": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DataOrigin": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedDataOrigin": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSeamCurve": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcSurfaceCurve"
			      ],
			      "fields": {}
			    },
			    "IfcSectionProperties": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcPreDefinedProperties"
			      ],
			      "fields": {
			        "SectionType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "StartProfile": {
			          "type": "IfcProfileDef",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "EndProfile": {
			          "type": "IfcProfileDef",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSectionReinforcementProperties": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcPreDefinedProperties"
			      ],
			      "fields": {
			        "LongitudinalStartPosition": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalStartPositionAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalEndPosition": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongitudinalEndPositionAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransversePosition": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransversePositionAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ReinforcementRole": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SectionDefinition": {
			          "type": "IfcSectionProperties",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "CrossSectionReinforcementDefinitions": {
			          "type": "IfcReinforcementBarProperties",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSectionedSpine": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem"
			      ],
			      "fields": {
			        "SpineCurve": {
			          "type": "IfcCompositeCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "CrossSections": {
			          "type": "IfcProfileDef",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "CrossSectionPositions": {
			          "type": "IfcAxis2Placement3D",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSensor": {
			      "domain": "ifcbuildingcontrolsdomain",
			      "superclasses": [
			        "IfcDistributionControlElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSensorType": {
			      "domain": "ifcbuildingcontrolsdomain",
			      "superclasses": [
			        "IfcDistributionControlElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcShadingDevice": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcShadingDeviceType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcShapeAspect": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [],
			      "fields": {
			        "ShapeRepresentations": {
			          "type": "IfcShapeModel",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ProductDefinitional": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PartOfProductDefinitionShape": {
			          "type": "IfcProductRepresentationSelect",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcShapeModel": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [
			        "IfcRepresentation"
			      ],
			      "fields": {
			        "OfShapeAspect": {
			          "type": "IfcShapeAspect",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcShapeRepresentation": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [
			        "IfcShapeModel"
			      ],
			      "fields": {}
			    },
			    "IfcShellBasedSurfaceModel": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem"
			      ],
			      "fields": {
			        "SbsmBoundary": {
			          "type": "IfcShell",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSimpleProperty": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [
			        "IfcProperty"
			      ],
			      "fields": {}
			    },
			    "IfcSimplePropertyTemplate": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcPropertyTemplate"
			      ],
			      "fields": {
			        "TemplateType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PrimaryMeasureType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SecondaryMeasureType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Enumerators": {
			          "type": "IfcPropertyEnumeration",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "PrimaryUnit": {
			          "type": "IfcUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "SecondaryUnit": {
			          "type": "IfcUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Expression": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "AccessState": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSite": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcSpatialStructureElement"
			      ],
			      "fields": {
			        "RefLatitude": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "RefLongitude": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "RefElevation": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RefElevationAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LandTitleNumber": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SiteAddress": {
			          "type": "IfcPostalAddress",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSlab": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSlabElementedCase": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcSlab"
			      ],
			      "fields": {}
			    },
			    "IfcSlabStandardCase": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcSlab"
			      ],
			      "fields": {}
			    },
			    "IfcSlabType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSlippageConnectionCondition": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcStructuralConnectionCondition"
			      ],
			      "fields": {
			        "SlippageX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SlippageXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SlippageY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SlippageYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SlippageZ": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SlippageZAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSolarDevice": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSolarDeviceType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSolidModel": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem",
			        "IfcBooleanOperand",
			        "IfcSolidOrShell"
			      ],
			      "fields": {
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSpace": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcSpatialStructureElement",
			        "IfcSpaceBoundarySelect"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ElevationWithFlooring": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ElevationWithFlooringAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HasCoverings": {
			          "type": "IfcRelCoversSpaces",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "BoundedBy": {
			          "type": "IfcRelSpaceBoundary",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcSpaceHeater": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowTerminal"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSpaceHeaterType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowTerminalType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSpaceType": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcSpatialStructureElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSpatialElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcProduct"
			      ],
			      "fields": {
			        "LongName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ContainsElements": {
			          "type": "IfcRelContainedInSpatialStructure",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "ServicedBySystems": {
			          "type": "IfcRelServicesBuildings",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "ReferencesElements": {
			          "type": "IfcRelReferencedInSpatialStructure",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcSpatialElementType": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcTypeProduct"
			      ],
			      "fields": {
			        "ElementType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSpatialStructureElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcSpatialElement"
			      ],
			      "fields": {
			        "CompositionType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSpatialStructureElementType": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcSpatialElementType"
			      ],
			      "fields": {}
			    },
			    "IfcSpatialZone": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcSpatialElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSpatialZoneType": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcSpatialElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSphere": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcCsgPrimitive3D"
			      ],
			      "fields": {
			        "Radius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSphericalSurface": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcElementarySurface"
			      ],
			      "fields": {
			        "Radius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStackTerminal": {
			      "domain": "ifcplumbingfireprotectiondomain",
			      "superclasses": [
			        "IfcFlowTerminal"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStackTerminalType": {
			      "domain": "ifcplumbingfireprotectiondomain",
			      "superclasses": [
			        "IfcFlowTerminalType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStair": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStairFlight": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "NumberOfRisers": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NumberOfTreads": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RiserHeight": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RiserHeightAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TreadLength": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TreadLengthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStairFlightType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStairType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralAction": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralActivity"
			      ],
			      "fields": {
			        "DestabilizingLoad": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralActivity": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcProduct"
			      ],
			      "fields": {
			        "AppliedLoad": {
			          "type": "IfcStructuralLoad",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "GlobalOrLocal": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "AssignedToStructuralItem": {
			          "type": "IfcRelConnectsStructuralActivity",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcStructuralAnalysisModel": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcSystem"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OrientationOf2DPlane": {
			          "type": "IfcAxis2Placement3D",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "LoadedBy": {
			          "type": "IfcStructuralLoadGroup",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasResults": {
			          "type": "IfcStructuralResultGroup",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "SharedPlacement": {
			          "type": "IfcObjectPlacement",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralConnection": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralItem"
			      ],
			      "fields": {
			        "AppliedCondition": {
			          "type": "IfcBoundaryCondition",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ConnectsStructuralMembers": {
			          "type": "IfcRelConnectsStructuralMember",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcStructuralConnectionCondition": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralCurveAction": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralAction"
			      ],
			      "fields": {
			        "ProjectedOrTrue": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralCurveConnection": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralConnection"
			      ],
			      "fields": {
			        "Axis": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralCurveMember": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralMember"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Axis": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralCurveMemberVarying": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralCurveMember"
			      ],
			      "fields": {}
			    },
			    "IfcStructuralCurveReaction": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralReaction"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralItem": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcProduct",
			        "IfcStructuralActivityAssignmentSelect"
			      ],
			      "fields": {
			        "AssignedStructuralActivity": {
			          "type": "IfcRelConnectsStructuralActivity",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcStructuralLinearAction": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralCurveAction"
			      ],
			      "fields": {}
			    },
			    "IfcStructuralLoad": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralLoadCase": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralLoadGroup"
			      ],
			      "fields": {
			        "SelfWeightCoefficients": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "SelfWeightCoefficientsAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralLoadConfiguration": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcStructuralLoad"
			      ],
			      "fields": {
			        "Values": {
			          "type": "IfcStructuralLoadOrResult",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Locations": {
			          "type": "ListOfIfcLengthMeasure",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralLoadGroup": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcGroup"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ActionType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ActionSource": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Coefficient": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CoefficientAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Purpose": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SourceOfResultGroup": {
			          "type": "IfcStructuralResultGroup",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "LoadGroupFor": {
			          "type": "IfcStructuralAnalysisModel",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcStructuralLoadLinearForce": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcStructuralLoadStatic"
			      ],
			      "fields": {
			        "LinearForceX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LinearForceXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LinearForceY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LinearForceYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LinearForceZ": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LinearForceZAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LinearMomentX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LinearMomentXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LinearMomentY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LinearMomentYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LinearMomentZ": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LinearMomentZAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralLoadOrResult": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcStructuralLoad"
			      ],
			      "fields": {}
			    },
			    "IfcStructuralLoadPlanarForce": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcStructuralLoadStatic"
			      ],
			      "fields": {
			        "PlanarForceX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PlanarForceXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PlanarForceY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PlanarForceYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PlanarForceZ": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PlanarForceZAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralLoadSingleDisplacement": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcStructuralLoadStatic"
			      ],
			      "fields": {
			        "DisplacementX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DisplacementXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DisplacementY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DisplacementYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DisplacementZ": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DisplacementZAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RotationalDisplacementRX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RotationalDisplacementRXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RotationalDisplacementRY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RotationalDisplacementRYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RotationalDisplacementRZ": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RotationalDisplacementRZAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralLoadSingleDisplacementDistortion": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcStructuralLoadSingleDisplacement"
			      ],
			      "fields": {
			        "Distortion": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DistortionAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralLoadSingleForce": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcStructuralLoadStatic"
			      ],
			      "fields": {
			        "ForceX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ForceXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ForceY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ForceYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ForceZ": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ForceZAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MomentX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MomentXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MomentY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MomentYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MomentZ": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MomentZAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralLoadSingleForceWarping": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcStructuralLoadSingleForce"
			      ],
			      "fields": {
			        "WarpingMoment": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WarpingMomentAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralLoadStatic": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcStructuralLoadOrResult"
			      ],
			      "fields": {}
			    },
			    "IfcStructuralLoadTemperature": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcStructuralLoadStatic"
			      ],
			      "fields": {
			        "DeltaTConstant": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DeltaTConstantAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DeltaTY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DeltaTYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DeltaTZ": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DeltaTZAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralMember": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralItem"
			      ],
			      "fields": {
			        "ConnectedBy": {
			          "type": "IfcRelConnectsStructuralMember",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcStructuralPlanarAction": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralSurfaceAction"
			      ],
			      "fields": {}
			    },
			    "IfcStructuralPointAction": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralAction"
			      ],
			      "fields": {}
			    },
			    "IfcStructuralPointConnection": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralConnection"
			      ],
			      "fields": {
			        "ConditionCoordinateSystem": {
			          "type": "IfcAxis2Placement3D",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralPointReaction": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralReaction"
			      ],
			      "fields": {}
			    },
			    "IfcStructuralReaction": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralActivity"
			      ],
			      "fields": {}
			    },
			    "IfcStructuralResultGroup": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcGroup"
			      ],
			      "fields": {
			        "TheoryType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ResultForLoadGroup": {
			          "type": "IfcStructuralLoadGroup",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "IsLinear": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ResultGroupFor": {
			          "type": "IfcStructuralAnalysisModel",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcStructuralSurfaceAction": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralAction"
			      ],
			      "fields": {
			        "ProjectedOrTrue": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralSurfaceConnection": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralConnection"
			      ],
			      "fields": {}
			    },
			    "IfcStructuralSurfaceMember": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralMember"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Thickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStructuralSurfaceMemberVarying": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralSurfaceMember"
			      ],
			      "fields": {}
			    },
			    "IfcStructuralSurfaceReaction": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [
			        "IfcStructuralReaction"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStyleModel": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [
			        "IfcRepresentation"
			      ],
			      "fields": {}
			    },
			    "IfcStyledItem": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcRepresentationItem"
			      ],
			      "fields": {
			        "Item": {
			          "type": "IfcRepresentationItem",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        },
			        "Styles": {
			          "type": "IfcStyleAssignmentSelect",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStyledRepresentation": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [
			        "IfcStyleModel"
			      ],
			      "fields": {}
			    },
			    "IfcSubContractResource": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcConstructionResource"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSubContractResourceType": {
			      "domain": "ifcconstructionmgmtdomain",
			      "superclasses": [
			        "IfcConstructionResourceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSubedge": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcEdge"
			      ],
			      "fields": {
			        "ParentEdge": {
			          "type": "IfcEdge",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSurface": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem",
			        "IfcGeometricSetSelect",
			        "IfcSurfaceOrFaceSurface"
			      ],
			      "fields": {
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSurfaceCurve": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcCurve",
			        "IfcCurveOnSurface"
			      ],
			      "fields": {
			        "Curve3D": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "AssociatedGeometry": {
			          "type": "IfcPcurve",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "MasterRepresentation": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSurfaceCurveSweptAreaSolid": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcSweptAreaSolid"
			      ],
			      "fields": {
			        "Directrix": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "StartParam": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "StartParamAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EndParam": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EndParamAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ReferenceSurface": {
			          "type": "IfcSurface",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSurfaceFeature": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcFeatureElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSurfaceOfLinearExtrusion": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcSweptSurface"
			      ],
			      "fields": {
			        "ExtrudedDirection": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Depth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSurfaceOfRevolution": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcSweptSurface"
			      ],
			      "fields": {
			        "AxisPosition": {
			          "type": "IfcAxis1Placement",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSurfaceReinforcementArea": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [
			        "IfcStructuralLoadOrResult"
			      ],
			      "fields": {
			        "SurfaceReinforcement1": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "SurfaceReinforcement1AsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "SurfaceReinforcement2": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "SurfaceReinforcement2AsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "ShearReinforcement": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ShearReinforcementAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSurfaceStyle": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationStyle",
			        "IfcPresentationStyleSelect"
			      ],
			      "fields": {
			        "Side": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Styles": {
			          "type": "IfcSurfaceStyleElementSelect",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSurfaceStyleLighting": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem",
			        "IfcSurfaceStyleElementSelect"
			      ],
			      "fields": {
			        "DiffuseTransmissionColour": {
			          "type": "IfcColourRgb",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "DiffuseReflectionColour": {
			          "type": "IfcColourRgb",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TransmissionColour": {
			          "type": "IfcColourRgb",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ReflectanceColour": {
			          "type": "IfcColourRgb",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSurfaceStyleRefraction": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem",
			        "IfcSurfaceStyleElementSelect"
			      ],
			      "fields": {
			        "RefractionIndex": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RefractionIndexAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DispersionFactor": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DispersionFactorAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSurfaceStyleRendering": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcSurfaceStyleShading"
			      ],
			      "fields": {
			        "DiffuseColour": {
			          "type": "IfcColourOrFactor",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TransmissionColour": {
			          "type": "IfcColourOrFactor",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "DiffuseTransmissionColour": {
			          "type": "IfcColourOrFactor",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ReflectionColour": {
			          "type": "IfcColourOrFactor",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "SpecularColour": {
			          "type": "IfcColourOrFactor",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "SpecularHighlight": {
			          "type": "IfcSpecularHighlightSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ReflectanceMethod": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSurfaceStyleShading": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem",
			        "IfcSurfaceStyleElementSelect"
			      ],
			      "fields": {
			        "SurfaceColour": {
			          "type": "IfcColourRgb",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Transparency": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransparencyAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSurfaceStyleWithTextures": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem",
			        "IfcSurfaceStyleElementSelect"
			      ],
			      "fields": {
			        "Textures": {
			          "type": "IfcSurfaceTexture",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcSurfaceTexture": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem"
			      ],
			      "fields": {
			        "RepeatS": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RepeatT": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Mode": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TextureTransform": {
			          "type": "IfcCartesianTransformationOperator2D",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Parameter": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "IsMappedBy": {
			          "type": "IfcTextureCoordinate",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "UsedInStyles": {
			          "type": "IfcSurfaceStyleWithTextures",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcSweptAreaSolid": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcSolidModel"
			      ],
			      "fields": {
			        "SweptArea": {
			          "type": "IfcProfileDef",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Position": {
			          "type": "IfcAxis2Placement3D",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSweptDiskSolid": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcSolidModel"
			      ],
			      "fields": {
			        "Directrix": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Radius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "InnerRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "InnerRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "StartParam": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "StartParamAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EndParam": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EndParamAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSweptDiskSolidPolygonal": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcSweptDiskSolid"
			      ],
			      "fields": {
			        "FilletRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FilletRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSweptSurface": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcSurface"
			      ],
			      "fields": {
			        "SweptCurve": {
			          "type": "IfcProfileDef",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Position": {
			          "type": "IfcAxis2Placement3D",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSwitchingDevice": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowController"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSwitchingDeviceType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcFlowControllerType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSystem": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcGroup"
			      ],
			      "fields": {
			        "ServicesBuildings": {
			          "type": "IfcRelServicesBuildings",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcSystemFurnitureElement": {
			      "domain": "ifcsharedfacilitieselements",
			      "superclasses": [
			        "IfcFurnishingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSystemFurnitureElementType": {
			      "domain": "ifcsharedfacilitieselements",
			      "superclasses": [
			        "IfcFurnishingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTShapeProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcParameterizedProfileDef"
			      ],
			      "fields": {
			        "Depth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeWidth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeWidthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FilletRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FilletRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeEdgeRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeEdgeRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebEdgeRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebEdgeRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebSlope": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebSlopeAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeSlope": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeSlopeAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTable": {
			      "domain": "ifcutilityresource",
			      "superclasses": [
			        "IfcMetricValueSelect",
			        "IfcObjectReferenceSelect"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Rows": {
			          "type": "IfcTableRow",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Columns": {
			          "type": "IfcTableColumn",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "NumberOfCellsInRow": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NumberOfDataRows": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NumberOfHeadings": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTableColumn": {
			      "domain": "ifcutilityresource",
			      "superclasses": [],
			      "fields": {
			        "Identifier": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Unit": {
			          "type": "IfcUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ReferencePath": {
			          "type": "IfcReference",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTableRow": {
			      "domain": "ifcutilityresource",
			      "superclasses": [],
			      "fields": {
			        "RowCells": {
			          "type": "IfcValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "IsHeading": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTank": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowStorageDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTankType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowStorageDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTask": {
			      "domain": "ifcprocessextension",
			      "superclasses": [
			        "IfcProcess"
			      ],
			      "fields": {
			        "Status": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WorkMethod": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "IsMilestone": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Priority": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TaskTime": {
			          "type": "IfcTaskTime",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTaskTime": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcSchedulingTime"
			      ],
			      "fields": {
			        "DurationType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ScheduleDuration": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ScheduleStart": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ScheduleFinish": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EarlyStart": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EarlyFinish": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LateStart": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LateFinish": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FreeFloat": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TotalFloat": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "IsCritical": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "StatusTime": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ActualDuration": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ActualStart": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ActualFinish": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "RemainingTime": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Completion": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CompletionAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTaskTimeRecurring": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcTaskTime"
			      ],
			      "fields": {
			        "Recurrence": {
			          "type": "IfcRecurrencePattern",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTaskType": {
			      "domain": "ifcprocessextension",
			      "superclasses": [
			        "IfcTypeProcess"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WorkMethod": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTelecomAddress": {
			      "domain": "ifcactorresource",
			      "superclasses": [
			        "IfcAddress"
			      ],
			      "fields": {
			        "TelephoneNumbers": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "FacsimileNumbers": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "PagerNumber": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ElectronicMailAddresses": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "WWWHomePageURL": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MessagingIDs": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTendon": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcReinforcingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalDiameter": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalDiameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CrossSectionArea": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CrossSectionAreaAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TensionForce": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TensionForceAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PreStress": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PreStressAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FrictionCoefficient": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FrictionCoefficientAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "AnchorageSlip": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "AnchorageSlipAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MinCurvatureRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MinCurvatureRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTendonAnchor": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcReinforcingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTendonAnchorType": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcReinforcingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTendonType": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcReinforcingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalDiameter": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "NominalDiameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CrossSectionArea": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CrossSectionAreaAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SheathDiameter": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SheathDiameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTessellatedFaceSet": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcTessellatedItem",
			        "IfcBooleanOperand"
			      ],
			      "fields": {
			        "Coordinates": {
			          "type": "IfcCartesianPointList3D",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "HasColours": {
			          "type": "IfcIndexedColourMap",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "HasTextures": {
			          "type": "IfcIndexedTextureMap",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTessellatedItem": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem"
			      ],
			      "fields": {}
			    },
			    "IfcTextLiteral": {
			      "domain": "ifcpresentationdefinitionresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem"
			      ],
			      "fields": {
			        "Literal": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Placement": {
			          "type": "IfcAxis2Placement",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Path": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTextLiteralWithExtent": {
			      "domain": "ifcpresentationdefinitionresource",
			      "superclasses": [
			        "IfcTextLiteral"
			      ],
			      "fields": {
			        "Extent": {
			          "type": "IfcPlanarExtent",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "BoxAlignment": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTextStyle": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationStyle",
			        "IfcPresentationStyleSelect"
			      ],
			      "fields": {
			        "TextCharacterAppearance": {
			          "type": "IfcTextStyleForDefinedFont",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TextStyle": {
			          "type": "IfcTextStyleTextModel",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TextFontStyle": {
			          "type": "IfcTextFontSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "ModelOrDraughting": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTextStyleFontModel": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPreDefinedTextFont"
			      ],
			      "fields": {
			        "FontFamily": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "FontStyle": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FontVariant": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FontWeight": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FontSize": {
			          "type": "IfcSizeSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTextStyleForDefinedFont": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem"
			      ],
			      "fields": {
			        "Colour": {
			          "type": "IfcColour",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "BackgroundColour": {
			          "type": "IfcColour",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTextStyleTextModel": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem"
			      ],
			      "fields": {
			        "TextIndent": {
			          "type": "IfcSizeSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TextAlign": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TextDecoration": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LetterSpacing": {
			          "type": "IfcSizeSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "WordSpacing": {
			          "type": "IfcSizeSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "TextTransform": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LineHeight": {
			          "type": "IfcSizeSelect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTextureCoordinate": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem"
			      ],
			      "fields": {
			        "Maps": {
			          "type": "IfcSurfaceTexture",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcTextureCoordinateGenerator": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcTextureCoordinate"
			      ],
			      "fields": {
			        "Mode": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Parameter": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "ParameterAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTextureMap": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcTextureCoordinate"
			      ],
			      "fields": {
			        "Vertices": {
			          "type": "IfcTextureVertex",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "MappedTo": {
			          "type": "IfcFace",
			          "reference": true,
			          "many": false,
			          "inverse": true
			        }
			      }
			    },
			    "IfcTextureVertex": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem"
			      ],
			      "fields": {
			        "Coordinates": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "CoordinatesAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTextureVertexList": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationItem"
			      ],
			      "fields": {
			        "TexCoordsList": {
			          "type": "ListOfIfcParameterValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTimePeriod": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [],
			      "fields": {
			        "StartTime": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EndTime": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTimeSeries": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcMetricValueSelect",
			        "IfcObjectReferenceSelect",
			        "IfcResourceObjectSelect"
			      ],
			      "fields": {
			        "Name": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Description": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "StartTime": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EndTime": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TimeSeriesDataType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DataOrigin": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedDataOrigin": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Unit": {
			          "type": "IfcUnit",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "HasExternalReference": {
			          "type": "IfcExternalReferenceRelationship",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcTimeSeriesValue": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [],
			      "fields": {
			        "ListValues": {
			          "type": "IfcValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTopologicalRepresentationItem": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcRepresentationItem"
			      ],
			      "fields": {}
			    },
			    "IfcTopologyRepresentation": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [
			        "IfcShapeModel"
			      ],
			      "fields": {}
			    },
			    "IfcToroidalSurface": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcElementarySurface"
			      ],
			      "fields": {
			        "MajorRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MajorRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MinorRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MinorRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTransformer": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTransformerType": {
			      "domain": "ifcelectricaldomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTransportElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTransportElementType": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTrapeziumProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcParameterizedProfileDef"
			      ],
			      "fields": {
			        "BottomXDim": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "BottomXDimAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopXDim": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopXDimAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "YDim": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "YDimAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopXOffset": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TopXOffsetAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTriangulatedFaceSet": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [
			        "IfcTessellatedFaceSet"
			      ],
			      "fields": {
			        "Normals": {
			          "type": "ListOfIfcParameterValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Closed": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "CoordIndex": {
			          "type": "ListOfELong",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "PnIndex": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "NumberOfTriangles": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTrimmedCurve": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcBoundedCurve"
			      ],
			      "fields": {
			        "BasisCurve": {
			          "type": "IfcCurve",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Trim1": {
			          "type": "IfcTrimmingSelect",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Trim2": {
			          "type": "IfcTrimmingSelect",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "SenseAgreement": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MasterRepresentation": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTubeBundle": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTubeBundleType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTypeObject": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcObjectDefinition"
			      ],
			      "fields": {
			        "ApplicableOccurrence": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "HasPropertySets": {
			          "type": "IfcPropertySetDefinition",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "Types": {
			          "type": "IfcRelDefinesByType",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcTypeProcess": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcTypeObject",
			        "IfcProcessSelect"
			      ],
			      "fields": {
			        "Identification": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongDescription": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ProcessType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OperatesOn": {
			          "type": "IfcRelAssignsToProcess",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcTypeProduct": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcTypeObject",
			        "IfcProductSelect"
			      ],
			      "fields": {
			        "RepresentationMaps": {
			          "type": "IfcRepresentationMap",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Tag": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ReferencedBy": {
			          "type": "IfcRelAssignsToProduct",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcTypeResource": {
			      "domain": "ifckernel",
			      "superclasses": [
			        "IfcTypeObject",
			        "IfcResourceSelect"
			      ],
			      "fields": {
			        "Identification": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LongDescription": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ResourceType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ResourceOf": {
			          "type": "IfcRelAssignsToResource",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        }
			      }
			    },
			    "IfcUShapeProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcParameterizedProfileDef"
			      ],
			      "fields": {
			        "Depth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeWidth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeWidthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FilletRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FilletRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EdgeRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EdgeRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeSlope": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeSlopeAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcUnitAssignment": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [],
			      "fields": {
			        "Units": {
			          "type": "IfcUnit",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcUnitaryControlElement": {
			      "domain": "ifcbuildingcontrolsdomain",
			      "superclasses": [
			        "IfcDistributionControlElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcUnitaryControlElementType": {
			      "domain": "ifcbuildingcontrolsdomain",
			      "superclasses": [
			        "IfcDistributionControlElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcUnitaryEquipment": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDevice"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcUnitaryEquipmentType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcEnergyConversionDeviceType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcValve": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowController"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcValveType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcFlowControllerType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcVector": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [
			        "IfcGeometricRepresentationItem",
			        "IfcHatchLineDistanceSelect",
			        "IfcVectorOrDirection"
			      ],
			      "fields": {
			        "Orientation": {
			          "type": "IfcDirection",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Magnitude": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MagnitudeAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Dim": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcVertex": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcTopologicalRepresentationItem"
			      ],
			      "fields": {}
			    },
			    "IfcVertexLoop": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcLoop"
			      ],
			      "fields": {
			        "LoopVertex": {
			          "type": "IfcVertex",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcVertexPoint": {
			      "domain": "ifctopologyresource",
			      "superclasses": [
			        "IfcVertex",
			        "IfcPointOrVertexPoint"
			      ],
			      "fields": {
			        "VertexGeometry": {
			          "type": "IfcPoint",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcVibrationIsolator": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcElementComponent"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcVibrationIsolatorType": {
			      "domain": "ifchvacdomain",
			      "superclasses": [
			        "IfcElementComponentType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcVirtualElement": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcElement"
			      ],
			      "fields": {}
			    },
			    "IfcVirtualGridIntersection": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [
			        "IfcGridPlacementDirectionSelect"
			      ],
			      "fields": {
			        "IntersectingAxes": {
			          "type": "IfcGridAxis",
			          "reference": true,
			          "many": true,
			          "inverse": true
			        },
			        "OffsetDistances": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "OffsetDistancesAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcVoidingFeature": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [
			        "IfcFeatureElementSubtraction"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWall": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWallElementedCase": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcWall"
			      ],
			      "fields": {}
			    },
			    "IfcWallStandardCase": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcWall"
			      ],
			      "fields": {}
			    },
			    "IfcWallType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWasteTerminal": {
			      "domain": "ifcplumbingfireprotectiondomain",
			      "superclasses": [
			        "IfcFlowTerminal"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWasteTerminalType": {
			      "domain": "ifcplumbingfireprotectiondomain",
			      "superclasses": [
			        "IfcFlowTerminalType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWindow": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElement"
			      ],
			      "fields": {
			        "OverallHeight": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OverallHeightAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OverallWidth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OverallWidthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PartitioningType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedPartitioningType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWindowLiningProperties": {
			      "domain": "ifcarchitecturedomain",
			      "superclasses": [
			        "IfcPreDefinedPropertySet"
			      ],
			      "fields": {
			        "LiningDepth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningDepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransomThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TransomThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MullionThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "MullionThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FirstTransomOffset": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FirstTransomOffsetAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SecondTransomOffset": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SecondTransomOffsetAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FirstMullionOffset": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FirstMullionOffsetAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SecondMullionOffset": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "SecondMullionOffsetAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ShapeAspectStyle": {
			          "type": "IfcShapeAspect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "LiningOffset": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningOffsetAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningToPanelOffsetX": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningToPanelOffsetXAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningToPanelOffsetY": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "LiningToPanelOffsetYAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWindowPanelProperties": {
			      "domain": "ifcarchitecturedomain",
			      "superclasses": [
			        "IfcPreDefinedPropertySet"
			      ],
			      "fields": {
			        "OperationType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PanelPosition": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FrameDepth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FrameDepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FrameThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FrameThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ShapeAspectStyle": {
			          "type": "IfcShapeAspect",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWindowStandardCase": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcWindow"
			      ],
			      "fields": {}
			    },
			    "IfcWindowStyle": {
			      "domain": "ifcarchitecturedomain",
			      "superclasses": [
			        "IfcTypeProduct"
			      ],
			      "fields": {
			        "ConstructionType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "OperationType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ParameterTakesPrecedence": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Sizeable": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWindowType": {
			      "domain": "ifcsharedbldgelements",
			      "superclasses": [
			        "IfcBuildingElementType"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "PartitioningType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "ParameterTakesPrecedence": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "UserDefinedPartitioningType": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWorkCalendar": {
			      "domain": "ifcprocessextension",
			      "superclasses": [
			        "IfcControl"
			      ],
			      "fields": {
			        "WorkingTimes": {
			          "type": "IfcWorkTime",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "ExceptionTimes": {
			          "type": "IfcWorkTime",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWorkControl": {
			      "domain": "ifcprocessextension",
			      "superclasses": [
			        "IfcControl"
			      ],
			      "fields": {
			        "CreationDate": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Creators": {
			          "type": "IfcPerson",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        },
			        "Purpose": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Duration": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "TotalFloat": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "StartTime": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FinishTime": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWorkPlan": {
			      "domain": "ifcprocessextension",
			      "superclasses": [
			        "IfcWorkControl"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWorkSchedule": {
			      "domain": "ifcprocessextension",
			      "superclasses": [
			        "IfcWorkControl"
			      ],
			      "fields": {
			        "PredefinedType": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWorkTime": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcSchedulingTime"
			      ],
			      "fields": {
			        "RecurrencePattern": {
			          "type": "IfcRecurrencePattern",
			          "reference": true,
			          "many": false,
			          "inverse": false
			        },
			        "Start": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "Finish": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcZShapeProfileDef": {
			      "domain": "ifcprofileresource",
			      "superclasses": [
			        "IfcParameterizedProfileDef"
			      ],
			      "fields": {
			        "Depth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "DepthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeWidth": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeWidthAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "WebThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeThickness": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FlangeThicknessAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FilletRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "FilletRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EdgeRadius": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "EdgeRadiusAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcZone": {
			      "domain": "ifcproductextension",
			      "superclasses": [
			        "IfcSystem"
			      ],
			      "fields": {
			        "LongName": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcStrippedOptional": {
			      "domain": null,
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAbsorbedDoseMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAccelerationMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAmountOfSubstanceMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAngularVelocityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAreaDensityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcAreaMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBinary": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "bytearray",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBoolean": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcModulusOfRotationalSubgradeReactionSelect",
			        "IfcModulusOfSubgradeReactionSelect",
			        "IfcModulusOfTranslationalSubgradeReactionSelect",
			        "IfcRotationalStiffnessSelect",
			        "IfcSimpleValue",
			        "IfcTranslationalStiffnessSelect",
			        "IfcWarpingStiffnessSelect",
			        "IfcValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCardinalPointReference": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcContextDependentMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCountMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcCurvatureMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDate": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcSimpleValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDateTime": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcSimpleValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDayInMonthNumber": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDayInWeekNumber": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDescriptiveMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue",
			        "IfcSizeSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDimensionCount": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDoseEquivalentMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDuration": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcSimpleValue",
			        "IfcTimeOrRatioSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcDynamicViscosityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricCapacitanceMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricChargeMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricConductanceMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricCurrentMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricResistanceMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcElectricVoltageMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcEnergyMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFontStyle": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFontVariant": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFontWeight": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcForceMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcFrequencyMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcGloballyUniqueId": {
			      "domain": "ifcutilityresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcHeatFluxDensityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcHeatingValueMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIdentifier": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcSimpleValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIlluminanceMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcInductanceMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcInteger": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcSimpleValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIntegerCountRateMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIonConcentrationMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcIsothermalMoistureCapacityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcKinematicViscosityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLabel": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcSimpleValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLengthMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcBendingParameterSelect",
			        "IfcMeasureValue",
			        "IfcSizeSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLinearForceMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLinearMomentMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLinearStiffnessMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue",
			        "IfcTranslationalStiffnessSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLinearVelocityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLogical": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcSimpleValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLuminousFluxMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLuminousIntensityDistributionMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLuminousIntensityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMagneticFluxDensityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMagneticFluxMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMassDensityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMassFlowRateMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMassMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMassPerLengthMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcModulusOfElasticityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcModulusOfLinearSubgradeReactionMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue",
			        "IfcModulusOfTranslationalSubgradeReactionSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcModulusOfRotationalSubgradeReactionMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue",
			        "IfcModulusOfRotationalSubgradeReactionSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcModulusOfSubgradeReactionMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue",
			        "IfcModulusOfSubgradeReactionSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMoistureDiffusivityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMolecularWeightMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMomentOfInertiaMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMonetaryMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcMonthInYearNumber": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcNumericMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPHMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcParameterValue": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue",
			        "IfcTrimmingSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPlanarForceMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPlaneAngleMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcBendingParameterSelect",
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPowerMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPresentableText": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcPressureMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRadioActivityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRatioMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue",
			        "IfcSizeSelect",
			        "IfcTimeOrRatioSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcReal": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcSimpleValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRotationalFrequencyMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRotationalMassMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcRotationalStiffnessMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue",
			        "IfcRotationalStiffnessSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSectionModulusMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSectionalAreaIntegralMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcShearModulusMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSolidAngleMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSoundPowerLevelMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSoundPowerMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSoundPressureLevelMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSoundPressureMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSpecificHeatCapacityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSpecularExponent": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcSpecularHighlightSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcSpecularRoughness": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcSpecularHighlightSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTemperatureGradientMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTemperatureRateOfChangeMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcText": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcSimpleValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTextAlignment": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTextDecoration": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTextFontName": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTextTransformation": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcThermalAdmittanceMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcThermalConductivityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcThermalExpansionCoefficientMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcThermalResistanceMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcThermalTransmittanceMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcThermodynamicTemperatureMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTime": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcSimpleValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTimeMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTimeStamp": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [
			        "IfcSimpleValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcTorqueMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcURIReference": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [],
			      "fields": {
			        "wrappedValue": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcVaporPermeabilityMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcVolumeMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcVolumetricFlowRateMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWarpingConstantMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcWarpingMomentMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue",
			        "IfcWarpingStiffnessSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcBoxAlignment": {
			      "domain": "ifcpresentationdefinitionresource",
			      "superclasses": [
			        "IfcLabel"
			      ],
			      "fields": {}
			    },
			    "IfcCompoundPlaneAngleMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcDerivedMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "long",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcLanguageId": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [
			        "IfcIdentifier"
			      ],
			      "fields": {}
			    },
			    "IfcNonNegativeLengthMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcLengthMeasure",
			        "IfcMeasureValue"
			      ],
			      "fields": {}
			    },
			    "IfcNormalisedRatioMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcRatioMeasure",
			        "IfcColourOrFactor",
			        "IfcMeasureValue",
			        "IfcSizeSelect"
			      ],
			      "fields": {}
			    },
			    "IfcPositiveInteger": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcInteger"
			      ],
			      "fields": {}
			    },
			    "IfcPositiveLengthMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcLengthMeasure",
			        "IfcHatchLineDistanceSelect",
			        "IfcMeasureValue",
			        "IfcSizeSelect"
			      ],
			      "fields": {}
			    },
			    "IfcPositivePlaneAngleMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcPlaneAngleMeasure",
			        "IfcMeasureValue"
			      ],
			      "fields": {}
			    },
			    "IfcPositiveRatioMeasure": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcRatioMeasure",
			        "IfcMeasureValue",
			        "IfcSizeSelect"
			      ],
			      "fields": {}
			    },
			    "IfcActionRequestTypeEnum": {},
			    "IfcActionSourceTypeEnum": {},
			    "IfcActionTypeEnum": {},
			    "IfcActuatorTypeEnum": {},
			    "IfcAddressTypeEnum": {},
			    "IfcAirTerminalBoxTypeEnum": {},
			    "IfcAirTerminalTypeEnum": {},
			    "IfcAirToAirHeatRecoveryTypeEnum": {},
			    "IfcAlarmTypeEnum": {},
			    "IfcAnalysisModelTypeEnum": {},
			    "IfcAnalysisTheoryTypeEnum": {},
			    "IfcArithmeticOperatorEnum": {},
			    "IfcAssemblyPlaceEnum": {},
			    "IfcAudioVisualApplianceTypeEnum": {},
			    "IfcBSplineCurveForm": {},
			    "IfcBSplineSurfaceForm": {},
			    "IfcBeamTypeEnum": {},
			    "IfcBenchmarkEnum": {},
			    "IfcBoilerTypeEnum": {},
			    "IfcBooleanOperator": {},
			    "IfcBuildingElementPartTypeEnum": {},
			    "IfcBuildingElementProxyTypeEnum": {},
			    "IfcBuildingSystemTypeEnum": {},
			    "IfcBurnerTypeEnum": {},
			    "IfcCableCarrierFittingTypeEnum": {},
			    "IfcCableCarrierSegmentTypeEnum": {},
			    "IfcCableFittingTypeEnum": {},
			    "IfcCableSegmentTypeEnum": {},
			    "IfcChangeActionEnum": {},
			    "IfcChillerTypeEnum": {},
			    "IfcChimneyTypeEnum": {},
			    "IfcCoilTypeEnum": {},
			    "IfcColumnTypeEnum": {},
			    "IfcCommunicationsApplianceTypeEnum": {},
			    "IfcComplexPropertyTemplateTypeEnum": {},
			    "IfcCompressorTypeEnum": {},
			    "IfcCondenserTypeEnum": {},
			    "IfcConnectionTypeEnum": {},
			    "IfcConstraintEnum": {},
			    "IfcConstructionEquipmentResourceTypeEnum": {},
			    "IfcConstructionMaterialResourceTypeEnum": {},
			    "IfcConstructionProductResourceTypeEnum": {},
			    "IfcControllerTypeEnum": {},
			    "IfcCooledBeamTypeEnum": {},
			    "IfcCoolingTowerTypeEnum": {},
			    "IfcCostItemTypeEnum": {},
			    "IfcCostScheduleTypeEnum": {},
			    "IfcCoveringTypeEnum": {},
			    "IfcCrewResourceTypeEnum": {},
			    "IfcCurtainWallTypeEnum": {},
			    "IfcCurveInterpolationEnum": {},
			    "IfcDamperTypeEnum": {},
			    "IfcDataOriginEnum": {},
			    "IfcDerivedUnitEnum": {},
			    "IfcDirectionSenseEnum": {},
			    "IfcDiscreteAccessoryTypeEnum": {},
			    "IfcDistributionChamberElementTypeEnum": {},
			    "IfcDistributionPortTypeEnum": {},
			    "IfcDistributionSystemEnum": {},
			    "IfcDocumentConfidentialityEnum": {},
			    "IfcDocumentStatusEnum": {},
			    "IfcDoorPanelOperationEnum": {},
			    "IfcDoorPanelPositionEnum": {},
			    "IfcDoorStyleConstructionEnum": {},
			    "IfcDoorStyleOperationEnum": {},
			    "IfcDoorTypeEnum": {},
			    "IfcDoorTypeOperationEnum": {},
			    "IfcDuctFittingTypeEnum": {},
			    "IfcDuctSegmentTypeEnum": {},
			    "IfcDuctSilencerTypeEnum": {},
			    "IfcElectricApplianceTypeEnum": {},
			    "IfcElectricDistributionBoardTypeEnum": {},
			    "IfcElectricFlowStorageDeviceTypeEnum": {},
			    "IfcElectricGeneratorTypeEnum": {},
			    "IfcElectricMotorTypeEnum": {},
			    "IfcElectricTimeControlTypeEnum": {},
			    "IfcElementAssemblyTypeEnum": {},
			    "IfcElementCompositionEnum": {},
			    "IfcEngineTypeEnum": {},
			    "IfcEvaporativeCoolerTypeEnum": {},
			    "IfcEvaporatorTypeEnum": {},
			    "IfcEventTriggerTypeEnum": {},
			    "IfcEventTypeEnum": {},
			    "IfcExternalSpatialElementTypeEnum": {},
			    "IfcFanTypeEnum": {},
			    "IfcFastenerTypeEnum": {},
			    "IfcFilterTypeEnum": {},
			    "IfcFireSuppressionTerminalTypeEnum": {},
			    "IfcFlowDirectionEnum": {},
			    "IfcFlowInstrumentTypeEnum": {},
			    "IfcFlowMeterTypeEnum": {},
			    "IfcFootingTypeEnum": {},
			    "IfcFurnitureTypeEnum": {},
			    "IfcGeographicElementTypeEnum": {},
			    "IfcGeometricProjectionEnum": {},
			    "IfcGlobalOrLocalEnum": {},
			    "IfcGridTypeEnum": {},
			    "IfcHeatExchangerTypeEnum": {},
			    "IfcHumidifierTypeEnum": {},
			    "IfcInterceptorTypeEnum": {},
			    "IfcInternalOrExternalEnum": {},
			    "IfcInventoryTypeEnum": {},
			    "IfcJunctionBoxTypeEnum": {},
			    "IfcKnotType": {},
			    "IfcLaborResourceTypeEnum": {},
			    "IfcLampTypeEnum": {},
			    "IfcLayerSetDirectionEnum": {},
			    "IfcLightDistributionCurveEnum": {},
			    "IfcLightEmissionSourceEnum": {},
			    "IfcLightFixtureTypeEnum": {},
			    "IfcLoadGroupTypeEnum": {},
			    "IfcLogicalOperatorEnum": {},
			    "IfcMechanicalFastenerTypeEnum": {},
			    "IfcMedicalDeviceTypeEnum": {},
			    "IfcMemberTypeEnum": {},
			    "IfcMotorConnectionTypeEnum": {},
			    "IfcNullStyleEnum": {},
			    "IfcObjectTypeEnum": {},
			    "IfcObjectiveEnum": {},
			    "IfcOccupantTypeEnum": {},
			    "IfcOpeningElementTypeEnum": {},
			    "IfcOutletTypeEnum": {},
			    "IfcPerformanceHistoryTypeEnum": {},
			    "IfcPermeableCoveringOperationEnum": {},
			    "IfcPermitTypeEnum": {},
			    "IfcPhysicalOrVirtualEnum": {},
			    "IfcPileConstructionEnum": {},
			    "IfcPileTypeEnum": {},
			    "IfcPipeFittingTypeEnum": {},
			    "IfcPipeSegmentTypeEnum": {},
			    "IfcPlateTypeEnum": {},
			    "IfcPreferredSurfaceCurveRepresentation": {},
			    "IfcProcedureTypeEnum": {},
			    "IfcProfileTypeEnum": {},
			    "IfcProjectOrderTypeEnum": {},
			    "IfcProjectedOrTrueLengthEnum": {},
			    "IfcProjectionElementTypeEnum": {},
			    "IfcPropertySetTemplateTypeEnum": {},
			    "IfcProtectiveDeviceTrippingUnitTypeEnum": {},
			    "IfcProtectiveDeviceTypeEnum": {},
			    "IfcPumpTypeEnum": {},
			    "IfcRailingTypeEnum": {},
			    "IfcRampFlightTypeEnum": {},
			    "IfcRampTypeEnum": {},
			    "IfcRecurrenceTypeEnum": {},
			    "IfcReflectanceMethodEnum": {},
			    "IfcReinforcingBarRoleEnum": {},
			    "IfcReinforcingBarSurfaceEnum": {},
			    "IfcReinforcingBarTypeEnum": {},
			    "IfcReinforcingMeshTypeEnum": {},
			    "IfcRoleEnum": {},
			    "IfcRoofTypeEnum": {},
			    "IfcSIPrefix": {},
			    "IfcSIUnitName": {},
			    "IfcSanitaryTerminalTypeEnum": {},
			    "IfcSectionTypeEnum": {},
			    "IfcSensorTypeEnum": {},
			    "IfcSequenceEnum": {},
			    "IfcShadingDeviceTypeEnum": {},
			    "IfcSimplePropertyTemplateTypeEnum": {},
			    "IfcSlabTypeEnum": {},
			    "IfcSolarDeviceTypeEnum": {},
			    "IfcSpaceHeaterTypeEnum": {},
			    "IfcSpaceTypeEnum": {},
			    "IfcSpatialZoneTypeEnum": {},
			    "IfcStackTerminalTypeEnum": {},
			    "IfcStairFlightTypeEnum": {},
			    "IfcStairTypeEnum": {},
			    "IfcStateEnum": {},
			    "IfcStructuralCurveActivityTypeEnum": {},
			    "IfcStructuralCurveMemberTypeEnum": {},
			    "IfcStructuralSurfaceActivityTypeEnum": {},
			    "IfcStructuralSurfaceMemberTypeEnum": {},
			    "IfcSubContractResourceTypeEnum": {},
			    "IfcSurfaceFeatureTypeEnum": {},
			    "IfcSurfaceSide": {},
			    "IfcSwitchingDeviceTypeEnum": {},
			    "IfcSystemFurnitureElementTypeEnum": {},
			    "IfcTankTypeEnum": {},
			    "IfcTaskDurationEnum": {},
			    "IfcTaskTypeEnum": {},
			    "IfcTendonAnchorTypeEnum": {},
			    "IfcTendonTypeEnum": {},
			    "IfcTextPath": {},
			    "IfcTimeSeriesDataTypeEnum": {},
			    "IfcTransformerTypeEnum": {},
			    "IfcTransitionCode": {},
			    "IfcTransportElementTypeEnum": {},
			    "IfcTrimmingPreference": {},
			    "IfcTubeBundleTypeEnum": {},
			    "IfcUnitEnum": {},
			    "IfcUnitaryControlElementTypeEnum": {},
			    "IfcUnitaryEquipmentTypeEnum": {},
			    "IfcValveTypeEnum": {},
			    "IfcVibrationIsolatorTypeEnum": {},
			    "IfcVoidingFeatureTypeEnum": {},
			    "IfcWallTypeEnum": {},
			    "IfcWasteTerminalTypeEnum": {},
			    "IfcWindowPanelOperationEnum": {},
			    "IfcWindowPanelPositionEnum": {},
			    "IfcWindowStyleConstructionEnum": {},
			    "IfcWindowStyleOperationEnum": {},
			    "IfcWindowTypeEnum": {},
			    "IfcWindowTypePartitioningEnum": {},
			    "IfcWorkCalendarTypeEnum": {},
			    "IfcWorkPlanTypeEnum": {},
			    "IfcWorkScheduleTypeEnum": {},
			    "IfcComplexNumber": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcMeasureValue"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        },
			        "wrappedValueAsString": {
			          "type": "string",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "IfcNullStyle": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcPresentationStyleSelect"
			      ],
			      "fields": {
			        "wrappedValue": {
			          "type": "enum",
			          "reference": false,
			          "many": false,
			          "inverse": false
			        }
			      }
			    },
			    "IfcActorSelect": {
			      "domain": "ifcactorresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcAppliedValueSelect": {
			      "domain": "ifccostresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcAxis2Placement": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcBendingParameterSelect": {
			      "domain": "ifcstructuralelementsdomain",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcBooleanOperand": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcClassificationReferenceSelect": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcClassificationSelect": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcColour": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcFillStyleSelect"
			      ],
			      "fields": {}
			    },
			    "IfcColourOrFactor": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcCoordinateReferenceSystemSelect": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcCsgSelect": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcCurveFontOrScaledCurveFontSelect": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcCurveOnSurface": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcCurveOrEdgeCurve": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcCurveStyleFontSelect": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [
			        "IfcCurveFontOrScaledCurveFontSelect"
			      ],
			      "fields": {}
			    },
			    "IfcDefinitionSelect": {
			      "domain": "ifckernel",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcDerivedMeasureValue": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcValue"
			      ],
			      "fields": {}
			    },
			    "IfcDocumentSelect": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcFillStyleSelect": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcGeometricSetSelect": {
			      "domain": "ifcgeometricmodelresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcGridPlacementDirectionSelect": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcHatchLineDistanceSelect": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcLayeredItem": {
			      "domain": "ifcpresentationorganizationresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcLibrarySelect": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcLightDistributionDataSourceSelect": {
			      "domain": "ifcpresentationorganizationresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcMaterialSelect": {
			      "domain": "ifcmaterialresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcMeasureValue": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcValue"
			      ],
			      "fields": {}
			    },
			    "IfcMetricValueSelect": {
			      "domain": "ifcconstraintresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcModulusOfRotationalSubgradeReactionSelect": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcModulusOfSubgradeReactionSelect": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcModulusOfTranslationalSubgradeReactionSelect": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcObjectReferenceSelect": {
			      "domain": "ifcpropertyresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcPointOrVertexPoint": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcPresentationStyleSelect": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcProcessSelect": {
			      "domain": "ifckernel",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcProductRepresentationSelect": {
			      "domain": "ifcrepresentationresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcProductSelect": {
			      "domain": "ifckernel",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcPropertySetDefinitionSelect": {
			      "domain": "ifckernel",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcResourceObjectSelect": {
			      "domain": "ifcexternalreferenceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcResourceSelect": {
			      "domain": "ifckernel",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcRotationalStiffnessSelect": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcSegmentIndexSelect": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcShell": {
			      "domain": "ifctopologyresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcSimpleValue": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcValue"
			      ],
			      "fields": {}
			    },
			    "IfcSizeSelect": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcSolidOrShell": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcSpaceBoundarySelect": {
			      "domain": "ifcproductextension",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcSpecularHighlightSelect": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcStructuralActivityAssignmentSelect": {
			      "domain": "ifcstructuralanalysisdomain",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcStyleAssignmentSelect": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcSurfaceOrFaceSurface": {
			      "domain": "ifcgeometricconstraintresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcSurfaceStyleElementSelect": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcTextFontSelect": {
			      "domain": "ifcpresentationappearanceresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcTimeOrRatioSelect": {
			      "domain": "ifcdatetimeresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcTranslationalStiffnessSelect": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcTrimmingSelect": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcUnit": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcValue": {
			      "domain": "ifcmeasureresource",
			      "superclasses": [
			        "IfcAppliedValueSelect",
			        "IfcMetricValueSelect"
			      ],
			      "fields": {}
			    },
			    "IfcVectorOrDirection": {
			      "domain": "ifcgeometryresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "IfcWarpingStiffnessSelect": {
			      "domain": "ifcstructuralloadresource",
			      "superclasses": [],
			      "fields": {}
			    },
			    "ListOfIfcCartesianPoint": {
			      "domain": null,
			      "superclasses": [],
			      "fields": {
			        "List": {
			          "type": "IfcCartesianPoint",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "ListOfIfcLengthMeasure": {
			      "domain": null,
			      "superclasses": [],
			      "fields": {
			        "List": {
			          "type": "IfcLengthMeasure",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "ListOfIfcNormalisedRatioMeasure": {
			      "domain": null,
			      "superclasses": [],
			      "fields": {
			        "List": {
			          "type": "IfcNormalisedRatioMeasure",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "ListOfELong": {
			      "domain": null,
			      "superclasses": [],
			      "fields": {
			        "List": {
			          "type": "long",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "ListOfEDouble": {
			      "domain": null,
			      "superclasses": [],
			      "fields": {
			        "List": {
			          "type": "double",
			          "reference": false,
			          "many": true,
			          "inverse": false
			        }
			      }
			    },
			    "ListOfIfcParameterValue": {
			      "domain": null,
			      "superclasses": [],
			      "fields": {
			        "List": {
			          "type": "IfcParameterValue",
			          "reference": true,
			          "many": true,
			          "inverse": false
			        }
			      }
			    }
			  }
			};