{
    "IfcActionRequest": {
        "attributes": {
            "LongDescription": "Detailed description of the permit.",
            "Status": "The status currently assigned to the request.  Possible values include: Hold: wait to see if further requests are received before deciding on action NoAction: no action is required on this request Schedule: plan action to take place as part of maintenance or other task planning/scheduling Urgent: take action immediately"
        },
        "description": "A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work.",
        "predefined_types": {
            "EMAIL": "Request was made through email.",
            "FAX": "Request was made through facsimile.",
            "NOTDEFINED": "Undefined type.",
            "PHONE": "Request was made verbally over a telephone.",
            "POST": "Request was made through postal mail.",
            "USERDEFINED": "User-defined type.",
            "VERBAL": "Request was made verbally in person."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcActionRequest.htm"
    },
    "IfcActor": {
        "attributes": {
            "IsActingUpon": "Reference to the relationship that associates the actor to an object.",
            "TheActor": "Information about the actor."
        },
        "description": "The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcActor.htm"
    },
    "IfcActorRole": {
        "attributes": {
            "Description": "A textual description relating the nature of the role played by an actor.",
            "HasExternalReference": "Reference to external information, e.g. library, classification, or document information, which is associated with the actor role.",
            "Role": "The name of the role played by an actor. If the Role has value USERDEFINED, then the user defined role shall be provided as a value of the attribute UserDefinedRole.",
            "UserDefinedRole": "Allows for specification of user defined roles beyond the enumeration values provided by Role attribute of type IfcRoleEnum. When a value is provided for attribute UserDefinedRole in parallel the attribute Role shall have enumeration value USERDEFINED."
        },
        "description": "This entity indicates a role which is performed by an actor, either a person, an organization or a person related to an organization.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcActorRole.htm"
    },
    "IfcActuator": {
        "description": "An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion.",
        "predefined_types": {
            "ELECTRICACTUATOR": "A device that electrically actuates a control element.",
            "HANDOPERATEDACTUATOR": "A device that manually actuates a control element.",
            "HYDRAULICACTUATOR": "A device that hydraulically actuates a control element.",
            "NOTDEFINED": "Undefined type.",
            "PNEUMATICACTUATOR": "A device that pneumatically actuates a control element.",
            "THERMOSTATICACTUATOR": "A device that thermostatically actuates a control element.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcActuator.htm"
    },
    "IfcActuatorType": {
        "description": "The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include:",
        "predefined_types": {
            "ELECTRICACTUATOR": "A device that electrically actuates a control element.",
            "HANDOPERATEDACTUATOR": "A device that manually actuates a control element.",
            "HYDRAULICACTUATOR": "A device that hydraulically actuates a control element.",
            "NOTDEFINED": "Undefined type.",
            "PNEUMATICACTUATOR": "A device that pneumatically actuates a control element.",
            "THERMOSTATICACTUATOR": "A device that thermostatically actuates a control element.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcActuatorType.htm"
    },
    "IfcAddress": {
        "attributes": {
            "Description": "Text that relates the nature of the address.",
            "OfOrganization": "The inverse relationship to Organization to whom address is associated.",
            "OfPerson": "The inverse relationship to Person to whom address is associated.",
            "Purpose": "Identifies the logical location of the address.",
            "UserDefinedPurpose": "Allows for specification of user specific purpose of the address beyond the enumeration values provided by Purpose attribute of type IfcAddressTypeEnum. When a value is provided for attribute UserDefinedPurpose, in parallel the attribute Purpose shall have enumeration value USERDEFINED."
        },
        "description": "This abstract entity represents various kinds of postal and telecom addresses.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAddress.htm"
    },
    "IfcAdvancedBrep": {
        "description": "An advanced B-rep is a boundary representation model in which all faces, edges and vertices are explicitly represented. It is a solid with explicit topology and elementary or free-form geometry. The faces of the B-rep are of type IfcAdvancedFace. An advanced B-rep has to meet the same topological constraints as the manifold solid B-rep.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAdvancedBrep.htm"
    },
    "IfcAdvancedBrepWithVoids": {
        "attributes": {
            "Voids": ""
        },
        "description": "The IfcAdvancedBrepWithVoids is a specialization of an advanced B-rep which contains one or more voids in its interior. The voids are represented as closed shells which are defined so that the shell normal point into the void.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAdvancedBrepWithVoids.htm"
    },
    "IfcAdvancedFace": {
        "description": "An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAdvancedFace.htm"
    },
    "IfcAirTerminal": {
        "description": "An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces.",
        "predefined_types": {
            "DIFFUSER": "An outlet discharging supply air in various directions and planes.",
            "GRILLE": "A covering for any area through which air passes.",
            "LOUVRE": "A rectilinear louvre.",
            "NOTDEFINED": "Undefined air terminal type.",
            "REGISTER": "A grille typically equipped with a damper or control valve.",
            "USERDEFINED": "User-defined air terminal type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAirTerminal.htm"
    },
    "IfcAirTerminalBox": {
        "description": "An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an \"air flow regulator\".",
        "predefined_types": {
            "CONSTANTFLOW": "Terminal box does not include a means to reset the volume automatically to an outside signal such as thermostat.",
            "NOTDEFINED": "Undefined terminal box.",
            "USERDEFINED": "User-defined terminal box.",
            "VARIABLEFLOWPRESSUREDEPENDANT": "Terminal box includes a means to reset the volume automatically to a different control point in response to an outside signal such as thermostat: air-flow rate depends on supply pressure.",
            "VARIABLEFLOWPRESSUREINDEPENDANT": "Terminal box includes a means to reset the volume automatically to a different control point in response to an outside signal such as thermostat: air-flow rate is independent of supply pressure."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAirTerminalBox.htm"
    },
    "IfcAirTerminalBoxType": {
        "description": "The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air terminal boxes. The set of shared information may include:",
        "predefined_types": {
            "CONSTANTFLOW": "Terminal box does not include a means to reset the volume automatically to an outside signal such as thermostat.",
            "NOTDEFINED": "Undefined terminal box.",
            "USERDEFINED": "User-defined terminal box.",
            "VARIABLEFLOWPRESSUREDEPENDANT": "Terminal box includes a means to reset the volume automatically to a different control point in response to an outside signal such as thermostat: air-flow rate depends on supply pressure.",
            "VARIABLEFLOWPRESSUREINDEPENDANT": "Terminal box includes a means to reset the volume automatically to a different control point in response to an outside signal such as thermostat: air-flow rate is independent of supply pressure."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAirTerminalBoxType.htm"
    },
    "IfcAirTerminalType": {
        "description": "The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include:",
        "predefined_types": {
            "DIFFUSER": "An outlet discharging supply air in various directions and planes.",
            "GRILLE": "A covering for any area through which air passes.",
            "LOUVRE": "A rectilinear louvre.",
            "NOTDEFINED": "Undefined air terminal type.",
            "REGISTER": "A grille typically equipped with a damper or control valve.",
            "USERDEFINED": "User-defined air terminal type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAirTerminalType.htm"
    },
    "IfcAirToAirHeatRecovery": {
        "description": "An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements.",
        "predefined_types": {
            "FIXEDPLATECOUNTERFLOWEXCHANGER": "Heat exchanger with moving parts and alternate layers of plates, separated and sealed from the exhaust and supply air stream passages with primary air entering at secondary air outlet location and exiting at secondary air inlet location.",
            "FIXEDPLATECROSSFLOWEXCHANGER": "Heat exchanger with moving parts and alternate layers of plates, separated and sealed from the exhaust and supply air stream passages with secondary air flow in the direction perpendicular to primary air flow.",
            "FIXEDPLATEPARALLELFLOWEXCHANGER": "Heat exchanger with moving parts and alternate layers of plates, separated and sealed from the exhaust and supply air stream passages with primary air entering at secondary air inlet location and exiting at secondary air outlet location.",
            "HEATPIPE": "A passive energy recovery device with a heat pipe divided into evaporator and condenser sections.",
            "NOTDEFINED": "Undefined air to air heat recovery type.",
            "ROTARYWHEEL": "A heat wheel with a revolving cylinder filled with an air-permeable medium having a large internal surface area.",
            "RUNAROUNDCOILLOOP": "A typical coil energy recovery loop places extended surface, finned tube water coils in the supply and exhaust airstreams of a building.",
            "THERMOSIPHONCOILTYPEHEATEXCHANGERS": "Sealed systems that consist of an evaporator, a condenser, interconnecting piping, and an intermediate working fluid that is present in both liquid and vapor phases where the evaporator and condensor coils are installed independently in the ducts and are interconnected by the working fluid piping.",
            "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS": "Sealed systems that consist of an evaporator, a condenser, interconnecting piping, and an intermediate working fluid that is present in both liquid and vapor phases where the evaporator and the condenser are usually at opposite ends of a bundle of straight, individual thermosiphon tubes and the exhaust and supply ducts are adjacent to each other.",
            "TWINTOWERENTHALPYRECOVERYLOOPS": "An air-to-liquid, liquid-to-air enthalpy recovery system with a sorbent liquid circulates continuously between supply and exhaust airstreams, alternately contacting both airstreams directly in contactor towers.",
            "USERDEFINED": "User-defined air to air heat recovery type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAirToAirHeatRecovery.htm"
    },
    "IfcAirToAirHeatRecoveryType": {
        "description": "The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air to air heat recoverys. The set of shared information may include:",
        "predefined_types": {
            "FIXEDPLATECOUNTERFLOWEXCHANGER": "Heat exchanger with moving parts and alternate layers of plates, separated and sealed from the exhaust and supply air stream passages with primary air entering at secondary air outlet location and exiting at secondary air inlet location.",
            "FIXEDPLATECROSSFLOWEXCHANGER": "Heat exchanger with moving parts and alternate layers of plates, separated and sealed from the exhaust and supply air stream passages with secondary air flow in the direction perpendicular to primary air flow.",
            "FIXEDPLATEPARALLELFLOWEXCHANGER": "Heat exchanger with moving parts and alternate layers of plates, separated and sealed from the exhaust and supply air stream passages with primary air entering at secondary air inlet location and exiting at secondary air outlet location.",
            "HEATPIPE": "A passive energy recovery device with a heat pipe divided into evaporator and condenser sections.",
            "NOTDEFINED": "Undefined air to air heat recovery type.",
            "ROTARYWHEEL": "A heat wheel with a revolving cylinder filled with an air-permeable medium having a large internal surface area.",
            "RUNAROUNDCOILLOOP": "A typical coil energy recovery loop places extended surface, finned tube water coils in the supply and exhaust airstreams of a building.",
            "THERMOSIPHONCOILTYPEHEATEXCHANGERS": "Sealed systems that consist of an evaporator, a condenser, interconnecting piping, and an intermediate working fluid that is present in both liquid and vapor phases where the evaporator and condensor coils are installed independently in the ducts and are interconnected by the working fluid piping.",
            "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS": "Sealed systems that consist of an evaporator, a condenser, interconnecting piping, and an intermediate working fluid that is present in both liquid and vapor phases where the evaporator and the condenser are usually at opposite ends of a bundle of straight, individual thermosiphon tubes and the exhaust and supply ducts are adjacent to each other.",
            "TWINTOWERENTHALPYRECOVERYLOOPS": "An air-to-liquid, liquid-to-air enthalpy recovery system with a sorbent liquid circulates continuously between supply and exhaust airstreams, alternately contacting both airstreams directly in contactor towers.",
            "USERDEFINED": "User-defined air to air heat recovery type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAirToAirHeatRecoveryType.htm"
    },
    "IfcAlarm": {
        "description": "An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device.",
        "predefined_types": {
            "BELL": "An audible alarm.",
            "BREAKGLASSBUTTON": "An alarm activation mechanism in which a protective glass has to be broken to enable a button to be pressed.",
            "LIGHT": "A visual alarm.",
            "MANUALPULLBOX": "An alarm activation mechanism in which activation is achieved by a pulling action.",
            "NOTDEFINED": "Undefined type.",
            "RAILWAYCROCODILE": "An electrical contact placed between the rails (in the four-foot way) to provide warnings in the locomotive cab.",
            "RAILWAYDETONATOR": "A coin-sized device that is used as a loud warning signal to train drivers. It is usually placed on the top of the rail, usually secured with two lead straps, one on each side.",
            "SIREN": "An audible alarm.",
            "USERDEFINED": "User-defined type.",
            "WHISTLE": "An audible alarm."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAlarm.htm"
    },
    "IfcAlarmType": {
        "description": "The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include:",
        "predefined_types": {
            "BELL": "An audible alarm.",
            "BREAKGLASSBUTTON": "An alarm activation mechanism in which a protective glass has to be broken to enable a button to be pressed.",
            "LIGHT": "A visual alarm.",
            "MANUALPULLBOX": "An alarm activation mechanism in which activation is achieved by a pulling action.",
            "NOTDEFINED": "Undefined type.",
            "RAILWAYCROCODILE": "An electrical contact placed between the rails (in the four-foot way) to provide warnings in the locomotive cab.",
            "RAILWAYDETONATOR": "A coin-sized device that is used as a loud warning signal to train drivers. It is usually placed on the top of the rail, usually secured with two lead straps, one on each side.",
            "SIREN": "An audible alarm.",
            "USERDEFINED": "User-defined type.",
            "WHISTLE": "An audible alarm."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAlarmType.htm"
    },
    "IfcAlignment": {
        "description": "For the purposes of IFC the English term \"alignment\" defines three essentially separate but closely interconnected concepts.",
        "predefined_types": {
            "NOTDEFINED": "",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAlignment.htm"
    },
    "IfcAlignmentCant": {
        "attributes": {
            "RailHeadDistance": "Length measured as distance between the nominal centre points of the two contact patches of a wheelset and rails."
        },
        "description": "An IfcAlignmentCant is a lateral inclination profile defined along the horizontal alignment. All points defined in this profile have two coordinate values. The first value is the distance along the horizontal alignment, and the second value is the height relative to the projection of the point along vertical alignment.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAlignmentCant.htm"
    },
    "IfcAlignmentCantSegment": {
        "attributes": {
            "EndCantLeft": "Length measured for the left cant at the end of the segment.",
            "EndCantRight": "Length measured for the right cant at the end of the segment.",
            "HorizontalLength": "Length measured as distance along the horizontal alignment of the segment.",
            "StartCantLeft": "Length measured for the left cant at the beginning of the segment.",
            "StartCantRight": "Length measured for the right cant at the beginning of the segment.",
            "StartDistAlong": "Distance along the horizontal alignment, measured along the IfcAlignment2DHorizontal given in the length unit of the global IfcUnitAssignment."
        },
        "description": "An IfcAlignmentCantSegment is an individual segment along IfcAlignmentCant.\nThe cant alignment is defined by ordered segments that connect end-to-start. The points defined in a cant alignment segment are defined in a plane with x = distance along horizontal alignment and y = height relative to projected points in vertical alignment.\nThe following cant segment types are defined:",
        "predefined_types": {
            "BLOSSCURVE": "Non linear cant variation according to Bloss curve base formula.",
            "CONSTANTCANT": "For horizontal straight lines, compensation of lateral acceleration is not required and should be avoided. Therefore the applied cant value is constant 0.",
            "COSINECURVE": "Non linear cant variation according to Cosine curve base formula.",
            "HELMERTCURVE": "Non linear cant variation according to Helmert curve base formula.",
            "LINEARTRANSITION": "Linear cant variation. This is the \"natural\" formula for horizontal clothoids.",
            "SINECURVE": "Non linear cant variation according to Sine curve base formula.",
            "VIENNESEBEND": "Non linear cant variation according to Viennese bend base formula. The determining influence of the cant variation for the curve in the horizontal Cartesian 2D coordinate space is unique within all other transition curves."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAlignmentCantSegment.htm"
    },
    "IfcAlignmentHorizontal": {
        "description": "An IfcAlignmentHorizontal is a linear reference projected onto the horizontal x/y plane. Points along a horizontal alignment have two coordinate values, x and y in the local Cartesian engineering system.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAlignmentHorizontal.htm"
    },
    "IfcAlignmentHorizontalSegment": {
        "attributes": {
            "EndRadiusOfCurvature": "For a NONLINEAR horizontal segment type the radius of the curve at the end point. If the radius is 0 it shall be interpreted as INFINITE. Positive values imply a CCW direction whereas negative CW.",
            "GravityCenterLineHeight": "Optional attribute require for the exchange of Vienna bend transition segment.",
            "SegmentLength": "The length along the curve.",
            "StartDirection": "The direction of the tangent at the start point. Direction value 0. indicates a curve with a start tangent along the positive x-axis. Values increases counter-clockwise, and decreases clockwise. Depending on the plane angle unit, either degree or radians, the sensible range is -360\u00b0 \u2264 n \u2264 360\u00b0 (or -2\u03c0 \u2264 n \u2264 2\u03c0). Values larger then a full circle (>|360\u00b0| or >|2 \u03c0| shall not be used.",
            "StartPoint": "The start point of the segment defined by a Cartesian point.",
            "StartRadiusOfCurvature": "For a NONLINEAR horizontal segment type the radius of the curve at the start point (Placement of the segment). For CIRCULAR type it is constant i.e. StartRadiusOfCurvature and EndRadiusOfCurvature are always the same. For LINE type, both StartRadiusOfCurvature and EndRadiusOfCurvature is 0. If the radius is 0 it shall be interpreted as INFINITE. Positive values imply a CCW direction whereas negative CW."
        },
        "description": "Individual segment along the IfcAlignmentHorizontal, being defined in the x/y coordinate space. Each single horizontal alignment segment has an optional associated segment definition. The placement of IfcAlignmentHorizontalSegment and the IfcCurveSegment StartPlacement correspond to each other.",
        "predefined_types": {
            "BLOSSCURVE": "The Bloss transition is a more recent form of a high performance transition bend. Proposed in 1936. it is now in use in several railway networks. There is no established rough geometric approximation.",
            "CIRCULARARC": "In the geometric perspective, it denotes a connection between two points that follows a circular path. In the dynamic perspective, it denotes a segment with constant lateral acceleration on the moving vehicle, i.e. constant curvature.",
            "CLOTHOID": "In the geometric perspective, a clothoid denotes a connection between two points where the radius of curvature changes along the segment at a constant rate. The clothoid was an early achievement of geometry, also known as Euler's spiral or Cornu's spiral. It became very popular in road and rail design even before the widespread availability of computers because of the availability of tabulations of the normalized clothoid. Proper application of the so called clothoid constant provided fast solutions for all relevant parameters necessary to integrate clothoid segments between two consecutive segments with constant curvature. In most cases the clothoid smooths the curvature between a straight line and a circular arc.",
            "COSINECURVE": "Cosine transition. The cosine transition was already discussed in 1868. Width the advent of high-speed rail it was applied  in production designs. It is e.g. installed on Japanese high speed lines",
            "CUBIC": "In IFC CUBIC denotes a transition segment where x and y coordinates obey a cubic formula.",
            "HELMERTCURVE": "The Helmert curve or Helmert transition is an early example of a high performance transition bend. It is now widely accepted in relevant science and engineering that the linear change of the clothoid induces unwanted kinematic influences to a running train at speeds higher than 125 km/h.",
            "LINE": "In the geometry perspective it denotes a straight connection between two points. In the dynamic perspective, it denotes a segment with a curvature with a value of 0. This means that no lateral acceleration acts on the moving vehicle.",
            "SINECURVE": "Sine transition or sinusoidal transition was suggested 1937. The curvature function is built up of one period of a sine function. The sine curve is characterised by particularly advantageous smoothing properties at the end points. Compared to the clothoid, it is twice as long.",
            "VIENNESEBEND": "The Viennese Bend (R) is an innovative track geometry transition element. Instead of analyzing the vehicle movement at the track plane the optimization efforts target a gravity center line at a defined height above the rails."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAlignmentHorizontalSegment.htm"
    },
    "IfcAlignmentParameterSegment": {
        "attributes": {
            "EndTag": "Tag to annotate the end point of the alignment segment.",
            "StartTag": "Tag to annotate the start point of the alignment segment."
        },
        "description": "An abstract entity defining common information about horizontal, vertical and cant alignment segments.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAlignmentParameterSegment.htm"
    },
    "IfcAlignmentSegment": {
        "attributes": {
            "DesignParameters": "The design parameters of the alignmnent segment."
        },
        "description": "An IfcAlignmentSegment is a segment of an IfcAlignment where either the vertical or horizontal direction or cant (in the case of trackdesign) obey a unique mathematical description as a function of the horizontal projection segment length of the alignment.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAlignmentSegment.htm"
    },
    "IfcAlignmentVertical": {
        "description": "An IfcAlignmentVertical is a height profile along the horizontal alignment. Points along a vertical alignment have two coordinate values. The first value is the distance along the horizontal alignment, the second value is the height according to the project engineering coordinate system. Based on the context of the project, they are georeferenced and the height value is convertible into orthogonal height above/below the vertical datum.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAlignmentVertical.htm"
    },
    "IfcAlignmentVerticalSegment": {
        "attributes": {
            "EndGradient": "End gradient of the segment. In the case of a PredefinedType='.CONSTANTGRADIENT.' the value is the same as StartGradient.",
            "HorizontalLength": "Length measured as distance along the horizontal alignment of the segment.",
            "RadiusOfCurvature": "Radius of parabola or arc. Positive values imply a CCW direction whereas negative CW.",
            "StartDistAlong": "Distance along the horizontal alignment as measured along the corresponding IfcAlignmentHorizontal.",
            "StartGradient": "Start gradient of the segment.",
            "StartHeight": "Elevation in Z of the start point relative to the IfcAlignment coordinate system."
        },
        "description": "Individual segment along the IfcAlignmentVertical, being defined in the distance-along/z coordinate space.",
        "predefined_types": {
            "CIRCULARARC": "Vertical alignment segment where the derivative of vertical angle with respect to sloping length along the track (3D length) is constant.",
            "CLOTHOID": "Vertical alignment segment where the derivative of vertical angle with respect to sloping length along the track (3D length) obeys a linear change.",
            "CONSTANTGRADIENT": "Vertical alignment segment with constant gradient.",
            "PARABOLICARC": "Vertical alignment segment where the derivative of gradient with respect to distance along is constant."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAlignmentVerticalSegment.htm"
    },
    "IfcAnnotation": {
        "description": "An annotation is an information element within the geometric (and spatial) context of a project, that adds a note or meaning to the objects which constitutes the project model. Annotations include additional points, curves, text, dimensioning, hatching and other forms of graphical notes. It also includes virtual or symbolic representations of additional model components, not representing products or spatial structures, such as event elements, survey points, contour lines or similar.",
        "predefined_types": {
            "ASBUILTAREA": "A set of as-built survey points on a surface.",
            "ASBUILTLINE": "A set of as-built survey points on a line (e.g. breakline).",
            "ASBUILTPOINT": "A single as-built survey point.",
            "ASSUMEDAREA": "A set of extra points on a surface as an assumption or interpretation, used to complement survey data in initial state modelling.",
            "ASSUMEDLINE": "A set of extra points on a line (breakline) as an assumption or interpretation, used to complement survey data in initial state modelling.",
            "ASSUMEDPOINT": "A single extra point (assumption or interpretation), used to complement survey data in initial state modelling.",
            "NON_PHYSICAL_SIGNAL": "A virtual or fictitious signal. As opposed to the physical signal, the non-physical signal does not need to send information to the train. E.g. a fictitious signal on the signalman's display needed to define the route exit towards open line where there's no real signal. A virtual ERTMS L2 signal is also a non-physical signal but can have a physical presence, i.e. a stop marker board along the track.",
            "NOTDEFINED": "Undefined type.",
            "SUPERELEVATIONEVENT": "A kind of event that specifies the superelevation (cross slope) at a specific location along a road alignment, and the type of transition from the previous location. The locations are specified using an IfcLinearPlacement measured along the alignment axis curve.",
            "USERDEFINED": "User-defined type",
            "WIDTHEVENT": "A kind of event that specifies the width at a specific location along a road alignment, and the type of transition from the previous location. The locations are specified using an IfcLinearPlacement measured along the alignment axis curve. The element(s) that are affected by the width event is currently proposed to be specified by containing the event in a specific lateral breakdown element of the road spatial structure (e.g. a Lane or the entire carriageway)."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAnnotation.htm"
    },
    "IfcAnnotationFillArea": {
        "attributes": {
            "InnerBoundaries": "A set of inner curves that define the inner boundaries of the fill area. The areas defined by the inner boundaries are excluded from applying the fill area style.",
            "OuterBoundary": "A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style."
        },
        "description": "The IfcAnnotationFillArea defines an area by a definite OuterBoundary, that might include InnerBoundaries. The areas defined by the InnerBoundaries are excluded from applying the fill area style. The InnerBoundaries shall not intersect with the OuterBoundary nor being outside of the OuterBoundary.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAnnotationFillArea.htm"
    },
    "IfcApplication": {
        "attributes": {
            "ApplicationDeveloper": "Name of the application developer.",
            "ApplicationFullName": "The full name of the application as specified by the application developer.",
            "ApplicationIdentifier": "Short identifying name for the application.",
            "Version": "The version number of this software as specified by the developer of the application."
        },
        "description": "IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcApplication.htm"
    },
    "IfcAppliedValue": {
        "attributes": {
            "ApplicableDate": "The date on or from which an applied value is applicable.",
            "AppliedValue": "The extent or quantity or amount of an applied value.",
            "ArithmeticOperator": "The arithmetic operator applied to component values.",
            "Category": "Specification of the type of cost used.",
            "Components": "Optional component values from which AppliedValue is calculated.",
            "Condition": "The condition under which a cost value applies.",
            "Description": "The description that may apply additional information about a cost value.",
            "FixedUntilDate": "The date until which applied value is applicable.",
            "HasExternalReference": "Reference to an external reference, e.g. library, classification, or document information, that is associated to the IfcAppliedValue.",
            "Name": "A name or additional clarification given to a cost value.",
            "UnitBasis": "The number and unit of measure on which the unit cost is based."
        },
        "description": "This entity captures a value driven by a formula, with additional qualifications including unit basis, valid date range, and categorization.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAppliedValue.htm"
    },
    "IfcApproval": {
        "attributes": {
            "ApprovedObjects": "Reference to the IfcRelAssociatesApproval instances associating this approval to objects (subtypes of IfcRoot",
            "ApprovedResources": "The set of relationships by which resource objects that are are approved by this approval are known.",
            "Description": "A general textual description of a design, work task, plan, etc. that is being approved for.",
            "GivingApproval": "The actor that is acting in the role specified at IfcOrganization or individually at IfcPerson and giving an approval.",
            "HasExternalReferences": "Reference to external references, e.g. library, classification, or document information, that are associated to the Approval.",
            "Identifier": "A computer interpretable identifier by which the approval is known.",
            "IsRelatedWith": "The set of relationships by which this approval is related to others.",
            "Level": "Level of the approval e.g. Draft v.s. Completed design.",
            "Name": "A human readable name given to an approval.",
            "Qualifier": "Textual description of special constraints or conditions for the approval.",
            "Relates": "The set of relationships by which other approvals are related to this one.",
            "RequestingApproval": "The actor that is acting in the role specified at IfcOrganization or individually at IfcPerson and requesting an approval.",
            "Status": "The result or current status of the approval, e.g. Requested, Processed, Approved, Not Approved.",
            "TimeOfApproval": "Date and time when the result of the approval process is produced."
        },
        "description": "An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcApproval.htm"
    },
    "IfcApprovalRelationship": {
        "attributes": {
            "RelatedApprovals": "The approvals that are related to another (relating) approval.",
            "RelatingApproval": "The approval that other approval is related to."
        },
        "description": "An IfcApprovalRelationship associates approvals (one relating approval and one or more related approvals), each having different status or level as the approval process or the approved objects evolve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcApprovalRelationship.htm"
    },
    "IfcArbitraryClosedProfileDef": {
        "attributes": {
            "OuterCurve": "Bounded curve, defining the outer boundaries of the arbitrary profile."
        },
        "description": "The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcArbitraryClosedProfileDef.htm"
    },
    "IfcArbitraryOpenProfileDef": {
        "attributes": {
            "Curve": "Open bounded curve defining the profile."
        },
        "description": "The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from which the surface can be constructed.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcArbitraryOpenProfileDef.htm"
    },
    "IfcArbitraryProfileDefWithVoids": {
        "attributes": {
            "InnerCurves": "Set of bounded curves, defining the inner boundaries of the arbitrary profile."
        },
        "description": "The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes. It is given by an outer boundary and inner boundaries. A common usage of IfcArbitraryProfileDefWithVoids is as the cross section for the creation of swept surfaces or swept solids.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcArbitraryProfileDefWithVoids.htm"
    },
    "IfcAsset": {
        "attributes": {
            "CurrentValue": "The current cost value of the asset.",
            "DepreciatedValue": "The current value of an asset within the accounting rules and procedures of an organization.",
            "Identification": "A unique identification assigned to an asset that enables its differentiation from other assets.",
            "IncorporationDate": "The date on which an asset was incorporated into the works, installed, constructed, erected or completed.",
            "OriginalValue": "The cost value of the asset at the time of purchase.",
            "Owner": "The name of the person or organization that 'owns' the asset.",
            "ResponsiblePerson": "The person designated to be responsible for the asset.",
            "TotalReplacementCost": "The total cost of replacement of the asset.",
            "User": "The name of the person or organization that 'uses' the asset."
        },
        "description": "An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAsset.htm"
    },
    "IfcAsymmetricIShapeProfileDef": {
        "attributes": {
            "BottomFlangeEdgeRadius": "Radius of the upper edges of the bottom flange.  0 if sharp-edged, omitted if unknown.",
            "BottomFlangeFilletRadius": "The fillet between the web and the bottom flange.  0 if sharp-edged, omitted if unknown.",
            "BottomFlangeSlope": "Slope of the upper faces of the bottom flange.  Non-zero in case of of tapered bottom flange, 0 in case of parallel bottom flange, omitted if unknown.",
            "BottomFlangeThickness": "Flange thickness of the bottom flange.",
            "BottomFlangeWidth": "Extent of the bottom flange, defined parallel to the x axis of the position coordinate system.",
            "OverallDepth": "Total extent of the depth, defined parallel to the y axis of the position coordinate system.",
            "TopFlangeEdgeRadius": "Radius of the lower edges of the top flange.  0 if sharp-edged, omitted if unknown.",
            "TopFlangeFilletRadius": "The fillet between the web and the top flange.  0 if sharp-edged, omitted if unknown.",
            "TopFlangeSlope": "Slope of the lower faces of the top flange.  Non-zero in case of of tapered top flange, 0 in case of parallel top flange, omitted if unknown.",
            "TopFlangeThickness": "Flange thickness of the top flange. This attribute is formally optional for historic reasons only. Whenever the flange thickness is known, it shall be provided by value.",
            "TopFlangeWidth": "Extent of the top flange, defined parallel to the x axis of the position coordinate system.",
            "WebThickness": "Thickness of the web of the I-shape. The web is centred on the x-axis and the y-axis of the position coordinate system."
        },
        "description": "IfcAsymmetricIShapeProfileDef defines a section profile that provides the defining parameters of a singly symmetric I-shaped section. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The centre of the position coordinate system is in the profile's centre of the bounding box.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAsymmetricIShapeProfileDef.htm"
    },
    "IfcAudioVisualAppliance": {
        "description": "An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video.",
        "predefined_types": {
            "AMPLIFIER": "A device that receives an audio signal and amplifies it to play through speakers.",
            "CAMERA": "A device that records images, either as a still photograph or as moving images known as videos or movies.  Note that a camera may operate with light from the visible spectrum or from other parts of the electromagnetic spectrum such as infrared or ultraviolet.",
            "COMMUNICATIONTERMINAL": "A communication terminal is an audio communication device that is usually installed along transportation infrastructure (railways, roads, tunnels etc.) in order to be used by the general public or operation agents for communication. It may specifically be used to make calls to emergency services in tunnels.",
            "DISPLAY": "An electronic device that represents information in visual form such as a flat-panel display or television.",
            "MICROPHONE": "An acoustic-to-electric transducer or sensor that converts sound into an electrical signal.  Microphones types in use include electromagnetic induction (dynamic microphones), capacitance change (condenser microphones) or piezoelectric generation to produce the signal from mechanical vibration.",
            "NOTDEFINED": "Undefined type.",
            "PLAYER": "A device that plays audio and/or video content directly or to another device, having fixed or removable storage media.",
            "PROJECTOR": "An apparatus for projecting a picture on a screen. Whether the device is an overhead, slide projector, or a film projector, it is usually referred to as simply a projector.",
            "RECEIVER": "A device that receives audio and/or video signals, switches sources, and amplifies signals to play through speakers.",
            "RECORDINGEQUIPMENT": "A recording equipment is a device that records telephone calls or other types of audio data. It also provides the function of archiving and immediate replay.",
            "SPEAKER": "A loudspeaker, speaker, or speaker system is an electroacoustical transducer that converts an electrical signal to sound.",
            "SWITCHER": "A device that receives audio and/or video signals, switches sources, and transmits signals to downstream devices.",
            "TELEPHONE": "A telecommunications device that is used to transmit and receive sound, and optionally video.",
            "TUNER": "An electronic receiver that detects, demodulates, and amplifies transmitted signals.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAudioVisualAppliance.htm"
    },
    "IfcAudioVisualApplianceType": {
        "description": "The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio visual appliances. The set of shared information may include:",
        "predefined_types": {
            "AMPLIFIER": "A device that receives an audio signal and amplifies it to play through speakers.",
            "CAMERA": "A device that records images, either as a still photograph or as moving images known as videos or movies.  Note that a camera may operate with light from the visible spectrum or from other parts of the electromagnetic spectrum such as infrared or ultraviolet.",
            "COMMUNICATIONTERMINAL": "A communication terminal is an audio communication device that is usually installed along transportation infrastructure (railways, roads, tunnels etc.) in order to be used by the general public or operation agents for communication. It may specifically be used to make calls to emergency services in tunnels.",
            "DISPLAY": "An electronic device that represents information in visual form such as a flat-panel display or television.",
            "MICROPHONE": "An acoustic-to-electric transducer or sensor that converts sound into an electrical signal.  Microphones types in use include electromagnetic induction (dynamic microphones), capacitance change (condenser microphones) or piezoelectric generation to produce the signal from mechanical vibration.",
            "NOTDEFINED": "Undefined type.",
            "PLAYER": "A device that plays audio and/or video content directly or to another device, having fixed or removable storage media.",
            "PROJECTOR": "An apparatus for projecting a picture on a screen. Whether the device is an overhead, slide projector, or a film projector, it is usually referred to as simply a projector.",
            "RECEIVER": "A device that receives audio and/or video signals, switches sources, and amplifies signals to play through speakers.",
            "RECORDINGEQUIPMENT": "A recording equipment is a device that records telephone calls or other types of audio data. It also provides the function of archiving and immediate replay.",
            "SPEAKER": "A loudspeaker, speaker, or speaker system is an electroacoustical transducer that converts an electrical signal to sound.",
            "SWITCHER": "A device that receives audio and/or video signals, switches sources, and transmits signals to downstream devices.",
            "TELEPHONE": "A telecommunications device that is used to transmit and receive sound, and optionally video.",
            "TUNER": "An electronic receiver that detects, demodulates, and amplifies transmitted signals.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAudioVisualApplianceType.htm"
    },
    "IfcAxis1Placement": {
        "attributes": {
            "Axis": "The direction of the local Z axis."
        },
        "description": "The IfcAxis1Placement provides location and direction of a single axis.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAxis1Placement.htm"
    },
    "IfcAxis2Placement2D": {
        "attributes": {
            "RefDirection": "The direction used to determine the direction of the local X axis. If a value is omitted that it defaults to [1.0, 0.0.]."
        },
        "description": "The IfcAxis2Placement2D provides location and orientation to place items in a two-dimensional space. The attribute RefDirection defines the x axis, the y axis is derived. If the attribute RefDirection is not given, the placement defaults to P[1] (x-axis) as [1.,0.] and P[2] (y-axis) as [0.,1.].",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAxis2Placement2D.htm"
    },
    "IfcAxis2Placement3D": {
        "attributes": {
            "Axis": "The exact direction of the local Z Axis.",
            "RefDirection": "The direction used to determine the direction of the local X Axis. If necessary an adjustment is made to maintain orthogonality to the Axis direction. If Axis and/or RefDirection is omitted, these directions are taken from the geometric coordinate system."
        },
        "description": "The IfcAxis2Placement3D provides location and orientations to place items in a three-dimensional space. The attribute Axis defines the Z direction, RefDirection the X direction. The Y direction is derived.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAxis2Placement3D.htm"
    },
    "IfcAxis2PlacementLinear": {
        "attributes": {
            "Axis": "The exact direction of the local Z Axis.",
            "RefDirection": "The direction used to determine the direction of the local X Axis. In case both Axis and RefDirection are set and not perpendicular an adjustment is necessary to maintain orthogonality to the Axis direction. If RefDirection is omitted, the direction is taken from the curve tangent at Location."
        },
        "description": "The IfcAxis2PlacementLinear provides location and orientation to place items in a three-dimensional space confined to the context of a curve. Relative placement axes (Axis and RefDirection) are relative to the curve used for linear referencing provided in IfcPlacement Location (IfcPointByDistanceExpression BasisCurve), maintaining the relationship to the tangent of the curve.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcAxis2PlacementLinear.htm"
    },
    "IfcBSplineCurve": {
        "attributes": {
            "ClosedCurve": "Indication of whether the curve is closed; it is for information only.",
            "ControlPointsList": "The list of control points for the curve.",
            "CurveForm": "Used to identify particular types of curve; it is for information only.",
            "Degree": "The algebraic degree of the basis functions.",
            "SelfIntersect": "Indication whether the curve self-intersects or not; it is for information only."
        },
        "description": "The IfcBSplineCurve is a spline curve parameterized by spline functions.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBSplineCurve.htm"
    },
    "IfcBSplineCurveWithKnots": {
        "attributes": {
            "KnotMultiplicities": "The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array.",
            "KnotSpec": "The description of the knot type. This is for information only.",
            "Knots": "The list of distinct knots used to define the B-spline basis functions."
        },
        "description": "The IfcBSplineCurveWithKnots is a spline curve parameterized by spline functions for which the knot values are explicitly given.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBSplineCurveWithKnots.htm"
    },
    "IfcBSplineSurface": {
        "attributes": {
            "ControlPointsList": "This is a list of lists of control points.",
            "SelfIntersect": "Flag to indicate whether, or not, surface is self-intersecting; this is for information only.",
            "SurfaceForm": "Indicator of special surface types.",
            "UClosed": "Indication of whether the surface is closed in the u direction; this is for information only.",
            "UDegree": "Algebraic degree of basis functions in u.",
            "VClosed": "Indication of whether the surface is closed in the v direction; this is for information only.",
            "VDegree": "Algebraic degree of basis functions in v."
        },
        "description": "The IfcBSplineSurface is a general form of rational or polynomial parametric surface.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBSplineSurface.htm"
    },
    "IfcBSplineSurfaceWithKnots": {
        "attributes": {
            "KnotSpec": "The description of the knot type.",
            "UKnots": "The list of the distinct knots in the u parameter direction.",
            "UMultiplicities": "The multiplicities of the knots in the u parameter direction.",
            "VKnots": "The list of the distinct knots in the v parameter direction.",
            "VMultiplicities": "The multiplicities of the knots in the v parameter direction."
        },
        "description": "The IfcBSplineSurfaceWithKnots is a general form of rational or polynomial parametric surface in which the knot values are explicitly given.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBSplineSurfaceWithKnots.htm"
    },
    "IfcBeam": {
        "description": "An IfcBeam is typically a horizontal, or nearly horizontal, structural member that is capable of withstanding load primarily by resisting bending. It may also represent such a member from an architectural point of view. It is not required to be load bearing.",
        "predefined_types": {
            "BEAM": "A standard beam usually used horizontally.",
            "CORNICE": "A non-loadbearing beam on the longitudinal edge of bridge slab, usually encasing installations.",
            "DIAPHRAGM": "End portion of a girder transmitting loads to supports and providing moment resistance to adjoining segment.",
            "EDGEBEAM": "A beam on the longitudinal edge of bridge slab, usually concrete, providing additional stiffening and protection from the elements.",
            "GIRDER_SEGMENT": "A segment of a girder (e.g. each span of a continuous girder).",
            "HATSTONE": "A beam on top of a retaining wall or a wing wall, preventing earth movement.",
            "HOLLOWCORE": "A wide often prestressed beam with a hollow-core profile that usually serves as a slab component.",
            "JOIST": "A beam used to support a floor or ceiling.",
            "LINTEL": "A beam or horizontal piece of material over an opening (e.g. door, window).",
            "NOTDEFINED": "Undefined linear beam element.",
            "PIERCAP": "A transversal beam on top of a pier (on a single column or extending from one column of a pier to another column of the same pier).",
            "SPANDREL": "A tall beam placed on the facade of a building. One tall side is usually finished to provide the exterior of the building. Can be used to support joists or slab elements on its interior side.",
            "T_BEAM": "A beam that forms part of a slab construction and acts together with the slab which its carries. Such beams are often of T-shape (therefore the English name), but may have other shapes as well, e.g. an L-Shape or an Inverted-T-Shape.",
            "USERDEFINED": "User-defined linear beam element."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBeam.htm"
    },
    "IfcBeamType": {
        "description": "The element type IfcBeamType defines commonly shared information for occurrences of beams. The set of shared information may include:",
        "predefined_types": {
            "BEAM": "A standard beam usually used horizontally.",
            "CORNICE": "A non-loadbearing beam on the longitudinal edge of bridge slab, usually encasing installations.",
            "DIAPHRAGM": "End portion of a girder transmitting loads to supports and providing moment resistance to adjoining segment.",
            "EDGEBEAM": "A beam on the longitudinal edge of bridge slab, usually concrete, providing additional stiffening and protection from the elements.",
            "GIRDER_SEGMENT": "A segment of a girder (e.g. each span of a continuous girder).",
            "HATSTONE": "A beam on top of a retaining wall or a wing wall, preventing earth movement.",
            "HOLLOWCORE": "A wide often prestressed beam with a hollow-core profile that usually serves as a slab component.",
            "JOIST": "A beam used to support a floor or ceiling.",
            "LINTEL": "A beam or horizontal piece of material over an opening (e.g. door, window).",
            "NOTDEFINED": "Undefined linear beam element.",
            "PIERCAP": "A transversal beam on top of a pier (on a single column or extending from one column of a pier to another column of the same pier).",
            "SPANDREL": "A tall beam placed on the facade of a building. One tall side is usually finished to provide the exterior of the building. Can be used to support joists or slab elements on its interior side.",
            "T_BEAM": "A beam that forms part of a slab construction and acts together with the slab which its carries. Such beams are often of T-shape (therefore the English name), but may have other shapes as well, e.g. an L-Shape or an Inverted-T-Shape.",
            "USERDEFINED": "User-defined linear beam element."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBeamType.htm"
    },
    "IfcBearing": {
        "description": "Type of building element that is usually used to transmit loads from superstructure to substructure, and usually allowing movement (displacement or rotation) in one or more degrees of freedom. It is typically a mechanical component procured as a whole and installed on site, but in simple cases it may be built on site (composed of other building elements, element components, etc.).",
        "predefined_types": {
            "CYLINDRICAL": "The bearing functionality is provided by cylinder in a concave cylinder.",
            "DISK": "A disk bearing consist of an elastomeric disc between two metal plates.",
            "ELASTOMERIC": "A pad bearing which carries vertical load by contact stresses between a sheet of sliding material and a mating surface that permits movements by sliding and accommodates rotation by deformation of the elastomer.",
            "GUIDE": "A bearing that ensures that the structure maintains the correct location or expansion/contraction path and takes no vertical load. Includes also restraint bearings.",
            "NOTDEFINED": "Undefined bearing element.",
            "POT": "A bearing which carries vertical load by compression of an (elastomeric) disc confined in a (steel) cylinder and which accommodates rotations by deformations of the disc.",
            "ROCKER": "The bearing functionality is provided by a rocker construction. Includes line rocker and point rocker bearings.",
            "ROLLER": "The bearing functionality is provided by one or more rollers that are placed between two plates.",
            "SPHERICAL": "The bearing functionality is provided by convex dome in a concave basin.",
            "USERDEFINED": "User-defined bearing element."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBearing.htm"
    },
    "IfcBearingType": {
        "description": "Types of building elements that are usually used to transmit loads from superstructure to substructure, and usually allowing movement (displacement or rotation) in one or more degrees of freedom.\n",
        "predefined_types": {
            "CYLINDRICAL": "The bearing functionality is provided by cylinder in a concave cylinder.",
            "DISK": "A disk bearing consist of an elastomeric disc between two metal plates.",
            "ELASTOMERIC": "A pad bearing which carries vertical load by contact stresses between a sheet of sliding material and a mating surface that permits movements by sliding and accommodates rotation by deformation of the elastomer.",
            "GUIDE": "A bearing that ensures that the structure maintains the correct location or expansion/contraction path and takes no vertical load. Includes also restraint bearings.",
            "NOTDEFINED": "Undefined bearing element.",
            "POT": "A bearing which carries vertical load by compression of an (elastomeric) disc confined in a (steel) cylinder and which accommodates rotations by deformations of the disc.",
            "ROCKER": "The bearing functionality is provided by a rocker construction. Includes line rocker and point rocker bearings.",
            "ROLLER": "The bearing functionality is provided by one or more rollers that are placed between two plates.",
            "SPHERICAL": "The bearing functionality is provided by convex dome in a concave basin.",
            "USERDEFINED": "User-defined bearing element."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBearingType.htm"
    },
    "IfcBlobTexture": {
        "attributes": {
            "RasterCode": "Blob, given as a single binary, to capture the texture within one popular file (compression) format. The file format is provided by the RasterFormat attribute.",
            "RasterFormat": "The format of the RasterCode often using a compression."
        },
        "description": "An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBlobTexture.htm"
    },
    "IfcBlock": {
        "attributes": {
            "XLength": "The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\\IfcCsgPrimitive3D.Position.P[1].",
            "YLength": "The size of the block along the placement Y axis. It is provided by the inherited axis placement through SELF\\IfcCsgPrimitive3D.Position.P[2].",
            "ZLength": "The size of the block along the placement Z axis. It is provided by the inherited axis placement through SELF\\IfcCsgPrimitive3D.Position.P[3]."
        },
        "description": "The IfcBlock is a Construction Solid Geometry (CSG) 3D primitive. It is defined by a position and a positive distance along the three orthogonal axes. The inherited Position attribute has the IfcAxisPlacement3D type and provides:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBlock.htm"
    },
    "IfcBoiler": {
        "description": "A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications.",
        "predefined_types": {
            "NOTDEFINED": "Undefined Boiler type.",
            "STEAM": "Steam boiler.",
            "USERDEFINED": "User-defined Boiler type.",
            "WATER": "Water boiler."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBoiler.htm"
    },
    "IfcBoilerType": {
        "description": "The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include:",
        "predefined_types": {
            "NOTDEFINED": "Undefined Boiler type.",
            "STEAM": "Steam boiler.",
            "USERDEFINED": "User-defined Boiler type.",
            "WATER": "Water boiler."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBoilerType.htm"
    },
    "IfcBooleanClippingResult": {
        "description": "A clipping result is defined as a special subtype of the general IfcBooleanResult. It constrains the operands and the operator of the Boolean result.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBooleanClippingResult.htm"
    },
    "IfcBooleanResult": {
        "attributes": {
            "FirstOperand": "The first operand to be operated upon by the Boolean operation.",
            "Operator": "The Boolean operator used in the operation to create the result.",
            "SecondOperand": "The second operand specified for the operation."
        },
        "description": "The IfcBooleanResult is the result of applying a Boolean operation to two operands being solids.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBooleanResult.htm"
    },
    "IfcBorehole": {
        "description": "Representation of the concept of a linear geological and geotechnical model, usually an interpretation but sometimes created direct from ground penetrating measurement\nThe assembly may contain one of more strata and other elements such as capping and lining. The contained subtypes of IfcGeotechnicalStratum will have shape representations made from straight or bent tubes reflecting the bore diameter, or discs if a 'Yabuki' top surface model is being used.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBorehole.htm"
    },
    "IfcBoundaryCondition": {
        "attributes": {
            "Name": "Optionally defines a name for this boundary condition."
        },
        "description": "The abstract entity IfcBoundaryCondition is the supertype of all boundary conditions that can be applied to structural connection definitions, either directly for the connection (e.g. the joint) or for the relation between a structural member and the connection.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBoundaryCondition.htm"
    },
    "IfcBoundaryCurve": {
        "description": "An IfcBoundaryCurve defines a curve acting as the boundary of a surface.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBoundaryCurve.htm"
    },
    "IfcBoundaryEdgeCondition": {
        "attributes": {
            "RotationalStiffnessByLengthX": "Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object.",
            "RotationalStiffnessByLengthY": "Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object.",
            "RotationalStiffnessByLengthZ": "Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object.",
            "TranslationalStiffnessByLengthX": "Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object.",
            "TranslationalStiffnessByLengthY": "Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object.",
            "TranslationalStiffnessByLengthZ": "Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object."
        },
        "description": "Describes linearly elastic support conditions or connection conditions.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBoundaryEdgeCondition.htm"
    },
    "IfcBoundaryFaceCondition": {
        "attributes": {
            "TranslationalStiffnessByAreaX": "Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object.",
            "TranslationalStiffnessByAreaY": "Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object.",
            "TranslationalStiffnessByAreaZ": "Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object."
        },
        "description": "Describes linearly elastic support conditions or connection conditions.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBoundaryFaceCondition.htm"
    },
    "IfcBoundaryNodeCondition": {
        "attributes": {
            "RotationalStiffnessX": "Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object.",
            "RotationalStiffnessY": "Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object.",
            "RotationalStiffnessZ": "Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object.",
            "TranslationalStiffnessX": "Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object.",
            "TranslationalStiffnessY": "Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object.",
            "TranslationalStiffnessZ": "Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object."
        },
        "description": "Describes linearly elastic support conditions or connection conditions.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBoundaryNodeCondition.htm"
    },
    "IfcBoundaryNodeConditionWarping": {
        "attributes": {
            "WarpingStiffness": "Defines the warping stiffness value."
        },
        "description": "Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBoundaryNodeConditionWarping.htm"
    },
    "IfcBoundedCurve": {
        "description": "An IfcBoundedCurve is a curve of finite length.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBoundedCurve.htm"
    },
    "IfcBoundedSurface": {
        "description": "An IfcBoundedSurface is a surface of finite area.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBoundedSurface.htm"
    },
    "IfcBoundingBox": {
        "attributes": {
            "Corner": "Location of the bottom left corner (having the minimum values).",
            "XDim": "Length attribute (measured along the edge parallel to the X Axis)",
            "YDim": "Width attribute (measured along the edge parallel to the Y Axis)",
            "ZDim": "Height attribute (measured along the edge parallel to the Z Axis)."
        },
        "description": "The IfcBoundingBox defines an orthogonal box oriented parallel to the axes of the object coordinate system in which it is defined. It is defined by a Corner being a three-dimensional Cartesian point and three length measures defining the X, Y and Z parameters of the box in the direction of the positive axes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBoundingBox.htm"
    },
    "IfcBoxedHalfSpace": {
        "attributes": {
            "Enclosure": "The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only."
        },
        "description": "The IfcBoxedHalfSpace is used (as its supertype IfcHalfSpaceSolid) only within Boolean operations. It divides the domain into exactly two subsets, where the domain in question is that of the attribute Enclosure.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBoxedHalfSpace.htm"
    },
    "IfcBridge": {
        "description": "A Bridge is civil engineering works that affords passage to pedestrians, animals, vehicles, and services above obstacles or between two points at a height above ground.",
        "predefined_types": {
            "ARCHED": "Arched bridge.",
            "CABLE_STAYED": "Cable Stayed bridge.",
            "CANTILEVER": "Cantilever bridge.",
            "CULVERT": "Culvert bridge.",
            "FRAMEWORK": "Framework bridge.",
            "GIRDER": "Girder bridge.",
            "NOTDEFINED": "Undefined bridge.",
            "SUSPENSION": "Suspension bridge.",
            "TRUSS": "Truss bridge.",
            "USERDEFINED": "User defined bridge."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBridge.htm"
    },
    "IfcBridgePart": {
        "description": "Part of a bridge.\n",
        "predefined_types": {
            "ABUTMENT": "Abutment",
            "DECK": "Deck",
            "DECK_SEGMENT": "Deck Segment",
            "FOUNDATION": "Foundation",
            "NOTDEFINED": "Not defined",
            "PIER": "Pier",
            "PIER_SEGMENT": "Pier segment",
            "PYLON": "Pylon",
            "SUBSTRUCTURE": "Substructure",
            "SUPERSTRUCTURE": "Superstructure",
            "SURFACESTRUCTURE": "Surfacestructure",
            "USERDEFINED": "User defined"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBridgePart.htm"
    },
    "IfcBuilding": {
        "attributes": {
            "BuildingAddress": "IFC4.3.0.0 DEPRECATION This attribute is deprecated and shall no longer be used. Use Pset_Address instead.",
            "ElevationOfRefHeight": "Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level.",
            "ElevationOfTerrain": "Elevation above the minimal terrain level around the foot print of the building, given in elevation above sea level."
        },
        "description": "A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBuilding.htm"
    },
    "IfcBuildingElementPart": {
        "description": "IfcBuildingElementPart represents major components as subordinate parts of a building element. Typical usage examples include precast concrete sandwich walls, where the layers may have different geometry representations. In this case the layered material representation does not sufficiently describe the element. Each layer is represented by an own instance of the IfcBuildingElementPart with its own geometry description.",
        "predefined_types": {
            "APRON": "A form of scour protection consisting of timber, concrete, riprap, paving, or other construction placed adjacent to abutments and piers to prevent undermining.",
            "ARMOURUNIT": "A large quarry stone or concrete shaped unit used as erosion prevention on slopes such as revetments and breakwaters. These units are grouped together into a Course layer.",
            "INSULATION": "The part provides thermal insulation, for example as insulation layer between wall panels in sandwich walls or as infill in stud walls.",
            "NOTDEFINED": "Undefined accessory.",
            "PRECASTPANEL": "The part is a precast panel, usually as an internal or external layer in a sandwich wall panel.",
            "SAFETYCAGE": "Safety cages are an assembly of circular and vertical bars that are fastened to the stiles of fixed ladders and are arranged to enclose the path of a worker when climbing the ladder. Ladders so enclosed are also known as caged or hooped ladders.",
            "USERDEFINED": "User-defined accessory."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBuildingElementPart.htm"
    },
    "IfcBuildingElementPartType": {
        "description": "The building element part type defines lists of commonly shared property set definitions and representation maps of parts of a building element.",
        "predefined_types": {
            "APRON": "A form of scour protection consisting of timber, concrete, riprap, paving, or other construction placed adjacent to abutments and piers to prevent undermining.",
            "ARMOURUNIT": "A large quarry stone or concrete shaped unit used as erosion prevention on slopes such as revetments and breakwaters. These units are grouped together into a Course layer.",
            "INSULATION": "The part provides thermal insulation, for example as insulation layer between wall panels in sandwich walls or as infill in stud walls.",
            "NOTDEFINED": "Undefined accessory.",
            "PRECASTPANEL": "The part is a precast panel, usually as an internal or external layer in a sandwich wall panel.",
            "SAFETYCAGE": "Safety cages are an assembly of circular and vertical bars that are fastened to the stiles of fixed ladders and are arranged to enclose the path of a worker when climbing the ladder. Ladders so enclosed are also known as caged or hooped ladders.",
            "USERDEFINED": "User-defined accessory."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBuildingElementPartType.htm"
    },
    "IfcBuildingElementProxy": {
        "description": "The IfcBuildingElementProxy is a proxy definition that provides the same functionality as subtypes of IfcBuildingElement, but without having a predefined meaning of the special type of building element it represents.",
        "predefined_types": {
            "COMPLEX": "Not used - kept for upward compatibility.",
            "ELEMENT": "Not used - kept for upward compatibility.",
            "NOTDEFINED": "Undefined building element proxy.",
            "PARTIAL": "Not used - kept for upward compatibility.",
            "USERDEFINED": "User-defined building element proxy."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBuildingElementProxy.htm"
    },
    "IfcBuildingElementProxyType": {
        "description": "IfcBuildingElementProxyType defines a list of commonly shared property set definitions of a building element proxy and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type).",
        "predefined_types": {
            "COMPLEX": "Not used - kept for upward compatibility.",
            "ELEMENT": "Not used - kept for upward compatibility.",
            "NOTDEFINED": "Undefined building element proxy.",
            "PARTIAL": "Not used - kept for upward compatibility.",
            "USERDEFINED": "User-defined building element proxy."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBuildingElementProxyType.htm"
    },
    "IfcBuildingStorey": {
        "attributes": {
            "Elevation": "Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding."
        },
        "description": "The building storey has an elevation and typically represents a (nearly) horizontal aggregation of spaces that are vertically bound.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBuildingStorey.htm"
    },
    "IfcBuildingSystem": {
        "attributes": {
            "LongName": "Long name for a building system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute."
        },
        "description": "A building system is a group by which building elements are grouped according to a common function within the facility.",
        "predefined_types": {
            "EROSIONPREVENTION": "",
            "FENESTRATION": "System of doors, windows, and other fillings in openings in a built envelope that are designed to permit the passage of air or light.",
            "FOUNDATION": "System of shallow and deep foundation element that transmit forces to the supporting ground.",
            "LOADBEARING": "System of built elements that transmit forces and stiffen the construction.",
            "NOTDEFINED": "",
            "OUTERSHELL": "System of built elements that provide the outer skin to protect the construction (such as the facade).",
            "PRESTRESSING": "",
            "REINFORCING": "",
            "SHADING": "System of shading elements (external or internal) that permits the limitation or control of impact of natural sun light.",
            "TRANSPORT": "System of all transport elements in a building that enables the transport of people or goods.",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBuildingSystem.htm"
    },
    "IfcBuiltElement": {
        "description": "The built element comprises all elements that are primarily part of the construction of a built facility, i.e., its structural and space separating system. Built elements are all physically existent and tangible things.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBuiltElement.htm"
    },
    "IfcBuiltElementType": {
        "description": "The IfcBuiltElementType provides the type information for IfcBuiltElement occurrences.\n> NOTE  The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the _IfcShapeRepresentation.Item[1]_ being an IfcMappedItem.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBuiltElementType.htm"
    },
    "IfcBuiltSystem": {
        "attributes": {
            "LongName": "Long name for a built system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. NOTE  In many scenarios the Name attribute refers to the short name or number of a built system, and the LongName refers to a descriptive name."
        },
        "description": "A built system is a group by which built elements are grouped according to a common function within the facility.",
        "predefined_types": {
            "EROSIONPREVENTION": "A grouping of elements into a built system for preventing unwanted relocation of material particles in earthworks slopes or rock faces. Typical types of erosion prevention include:",
            "FENESTRATION": "System of doors, windows, and other fillings in openings in a built envelope that are designed to permit the passage of air or light.",
            "FOUNDATION": "System of shallow and deep foundation elements that transmit forces to the supporting ground.",
            "LOADBEARING": "System of built elements that transmit forces and stiffen the construction.",
            "MOORING": "System of components and elements responsible for keeping or holding an element (a vessel, platform or set of catenary lines) in a desired position.",
            "NOTDEFINED": "Undefined type.",
            "OUTERSHELL": "System of built elements that provide the outer skin to protect the construction (such as the facade).",
            "PRESTRESSING": "System of elements providing pre-stressing to the structure, including typically manufactured products such as tendons, anchorages (active, dead, coupling), ducts, vents and deviators, and in-situ concrete segments, tendon spacers, blisters and additional reinforcements.",
            "RAILWAYLINE": "A set of functional tracks with explicit terminals. It is usually composed of a set of tracks with continuous track parts and alignments.",
            "RAILWAYTRACK": "Railway track system. It is usually composed of continuous sequences of track parts and alignments.",
            "REINFORCING": "System of elements providing reinforcing to the structure.",
            "SHADING": "System of shading elements (external or internal) that permits the limitation or control of impact of natural sun light.",
            "TRACKCIRCUIT": "A track circuit is an electric circuit of which the rails of a track section form a part, with usually a source of current connected at one end and a detection device at the other end for detecting whether this track section is clear or occupied by a vehicle. In a continuous signalling system, the track circuit can be used to transmit information between the ground and the train. Note: definition from IEC 60050-82.",
            "TRANSPORT": "System of all transport elements in a facility that enable the transport of people or goods.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBuiltSystem.htm"
    },
    "IfcBurner": {
        "description": "A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners.",
        "predefined_types": {
            "NOTDEFINED": "Undefined burner type.",
            "USERDEFINED": "User-defined burner type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBurner.htm"
    },
    "IfcBurnerType": {
        "description": "The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include:",
        "predefined_types": {
            "NOTDEFINED": "Undefined burner type.",
            "USERDEFINED": "User-defined burner type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBurnerType.htm"
    },
    "IfcCShapeProfileDef": {
        "attributes": {
            "Depth": "Profile depth, see illustration above (= h).",
            "Girth": "Lengths of girth, see illustration above (= c).",
            "InternalFilletRadius": "Internal fillet radius according the above illustration (= r1).",
            "WallThickness": "Constant wall thickness of profile (= ts).",
            "Width": "Profile width, see illustration above (= b)."
        },
        "description": "IfcCShapeProfileDef defines a section profile that provides the defining parameters of a C-shaped section to be used by the swept area solid. This section is typically produced by cold forming steel. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The centre of the position coordinate system is in the profile's centre of the bounding box.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCShapeProfileDef.htm"
    },
    "IfcCableCarrierFitting": {
        "description": "A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system.",
        "predefined_types": {
            "BEND": "A fitting that changes the route of the cable carrier.",
            "CONNECTOR": "Connector fitting, typically used to join two ports together within a flow distribution system (e.g., a coupling used to join two duct segments).",
            "CROSS": "A fitting at which two branches are taken from the main route of the cable carrier simultaneously.",
            "JUNCTION": "A fitting with typically more than two ports used to redistribute flow among the ports and/or to change the direction of flow between connected elements (e.g, tee, cross, wye, etc.).",
            "NOTDEFINED": "Undefined type.",
            "TEE": "A fitting at which a branch is taken from the main route of the cable carrier.",
            "TRANSITION": "A fitting with typically two ports having different shapes or sizes. Can also be used to change the direction of flow between connected elements.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCableCarrierFitting.htm"
    },
    "IfcCableCarrierFittingType": {
        "description": "The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include:",
        "predefined_types": {
            "BEND": "A fitting that changes the route of the cable carrier.",
            "CONNECTOR": "Connector fitting, typically used to join two ports together within a flow distribution system (e.g., a coupling used to join two duct segments).",
            "CROSS": "A fitting at which two branches are taken from the main route of the cable carrier simultaneously.",
            "JUNCTION": "A fitting with typically more than two ports used to redistribute flow among the ports and/or to change the direction of flow between connected elements (e.g, tee, cross, wye, etc.).",
            "NOTDEFINED": "Undefined type.",
            "TEE": "A fitting at which a branch is taken from the main route of the cable carrier.",
            "TRANSITION": "A fitting with typically two ports having different shapes or sizes. Can also be used to change the direction of flow between connected elements.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCableCarrierFittingType.htm"
    },
    "IfcCableCarrierSegment": {
        "description": "A cable carrier segment is a flow segment that is specifically used to carry and support cabling.",
        "predefined_types": {
            "CABLEBRACKET": "A cable bracket is a horizontal cable support fixed at one end only, spaced at intervals, on which cables rest.",
            "CABLELADDERSEGMENT": "An open carrier segment on which cables are carried on a ladder structure.",
            "CABLETRAYSEGMENT": "A (typically) open carrier segment onto which cables are laid.",
            "CABLETRUNKINGSEGMENT": "An enclosed carrier segment with one or more compartments into which cables are placed.",
            "CATENARYWIRE": "A catenary wire is a longitudinal wire supporting the grooved contact wires either directly or indirectly. Note: definition from UIC 719-1.",
            "CONDUITSEGMENT": "An enclosed tubular carrier segment through which cables are pulled.",
            "DROPPER": "A dropper is a cable carrier used to suspend cable from another cable. It could also conduct electricity.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCableCarrierSegment.htm"
    },
    "IfcCableCarrierSegmentType": {
        "description": "The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include:",
        "predefined_types": {
            "CABLEBRACKET": "A cable bracket is a horizontal cable support fixed at one end only, spaced at intervals, on which cables rest.",
            "CABLELADDERSEGMENT": "An open carrier segment on which cables are carried on a ladder structure.",
            "CABLETRAYSEGMENT": "A (typically) open carrier segment onto which cables are laid.",
            "CABLETRUNKINGSEGMENT": "An enclosed carrier segment with one or more compartments into which cables are placed.",
            "CATENARYWIRE": "A catenary wire is a longitudinal wire supporting the grooved contact wires either directly or indirectly. Note: definition from UIC 719-1.",
            "CONDUITSEGMENT": "An enclosed tubular carrier segment through which cables are pulled.",
            "DROPPER": "A dropper is a cable carrier used to suspend cable from another cable. It could also conduct electricity.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCableCarrierSegmentType.htm"
    },
    "IfcCableFitting": {
        "description": "A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system.",
        "predefined_types": {
            "CONNECTOR": "A fitting that joins two cable segments of the same connector type (though potentially different gender).",
            "ENTRY": "A fitting that begins a cable segment at a non-electrical element such as a grounding clamp attached to a pipe.",
            "EXIT": "A fitting that ends a cable segment at a non-electrical element such as a grounding clamp attached to a pipe or to the ground.",
            "FANOUT": "A fan out is a special cable fitting that provides a safe transition from multi-fiber cable units to individual fibers.",
            "JUNCTION": "A fitting that joins three or more segments of arbitrary connector types for signal splitting or multiplexing.",
            "NOTDEFINED": "Undefined type.",
            "TRANSITION": "A fitting that joins two cable segments of different connector types.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCableFitting.htm"
    },
    "IfcCableFittingType": {
        "description": "The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include:",
        "predefined_types": {
            "CONNECTOR": "A fitting that joins two cable segments of the same connector type (though potentially different gender).",
            "ENTRY": "A fitting that begins a cable segment at a non-electrical element such as a grounding clamp attached to a pipe.",
            "EXIT": "A fitting that ends a cable segment at a non-electrical element such as a grounding clamp attached to a pipe or to the ground.",
            "FANOUT": "A fan out is a special cable fitting that provides a safe transition from multi-fiber cable units to individual fibers.",
            "JUNCTION": "A fitting that joins three or more segments of arbitrary connector types for signal splitting or multiplexing.",
            "NOTDEFINED": "Undefined type.",
            "TRANSITION": "A fitting that joins two cable segments of different connector types.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCableFittingType.htm"
    },
    "IfcCableSegment": {
        "description": "A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals.",
        "predefined_types": {
            "BUSBARSEGMENT": "Electrical conductor that makes a common connection between several electrical circuits. Properties of a busbar are the same as those of a cable segment and are captured by the cable segment property set.",
            "CABLESEGMENT": "Cable with a specific purpose to lead electric current within a circuit or any other electric construction. Includes all types of electric cables, mainly several core segments or conductor segments wrapped together.",
            "CONDUCTORSEGMENT": "A single linear element within a cable or an exposed wire (such as for grounding) with the specific purpose to lead electric current, data, or a telecommunications signal.",
            "CONTACTWIRESEGMENT": "An electric conductor of an overhead contact line with which the current collectors make contact. Note: definition from IEC60050 811-33-15.",
            "CORESEGMENT": "A self contained element of a  cable that comprises one or more conductors and sheathing.The core of one lead is normally single wired or multiwired which are intertwined.",
            "FIBERSEGMENT": "A fiber segment is an individual optical fiber used in telecommunication systems to transmit data by means of optical signals.",
            "FIBERTUBE": "A fiber tube is semi-rigid hollow plastic tube with a very small radius that houses and protects a certain number of optical fiber segments. An optical cable segment may contain many fiber tubes.",
            "NOTDEFINED": "Undefined type.",
            "OPTICALCABLESEGMENT": "An optical cable segment is a cable segment that contains a variable number of optical fiber segments.",
            "STITCHWIRE": "A stitch wire consists of auxiliary wires and different components (clamp) used in stitched suspension.",
            "USERDEFINED": "User-defined type.",
            "WIREPAIRSEGMENT": "A pair of conductors contained in a copper cable. The pair is always used together to form a circuit to transmit data by means of electric signals."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCableSegment.htm"
    },
    "IfcCableSegmentType": {
        "description": "The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include:",
        "predefined_types": {
            "BUSBARSEGMENT": "Electrical conductor that makes a common connection between several electrical circuits. Properties of a busbar are the same as those of a cable segment and are captured by the cable segment property set.",
            "CABLESEGMENT": "Cable with a specific purpose to lead electric current within a circuit or any other electric construction. Includes all types of electric cables, mainly several core segments or conductor segments wrapped together.",
            "CONDUCTORSEGMENT": "A single linear element within a cable or an exposed wire (such as for grounding) with the specific purpose to lead electric current, data, or a telecommunications signal.",
            "CONTACTWIRESEGMENT": "An electric conductor of an overhead contact line with which the current collectors make contact. Note: definition from IEC60050 811-33-15.",
            "CORESEGMENT": "A self contained element of a  cable that comprises one or more conductors and sheathing.The core of one lead is normally single wired or multiwired which are intertwined.",
            "FIBERSEGMENT": "A fiber segment is an individual optical fiber used in telecommunication systems to transmit data by means of optical signals.",
            "FIBERTUBE": "A fiber tube is semi-rigid hollow plastic tube with a very small radius that houses and protects a certain number of optical fiber segments. An optical cable segment may contain many fiber tubes.",
            "NOTDEFINED": "Undefined type.",
            "OPTICALCABLESEGMENT": "An optical cable segment is a cable segment that contains a variable number of optical fiber segments.",
            "STITCHWIRE": "A stitch wire consists of auxiliary wires and different components (clamp) used in stitched suspension.",
            "USERDEFINED": "User-defined type.",
            "WIREPAIRSEGMENT": "A pair of conductors contained in a copper cable. The pair is always used together to form a circuit to transmit data by means of electric signals."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCableSegmentType.htm"
    },
    "IfcCaissonFoundation": {
        "description": "CaissonFoundation essentially is a hollow box that can be either open or closed.",
        "predefined_types": {
            "CAISSON": "Closed box.",
            "NOTDEFINED": "Undefined caisson element.",
            "USERDEFINED": "User-defined caisson foundation element.",
            "WELL": "Open box."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCaissonFoundation.htm"
    },
    "IfcCaissonFoundationType": {
        "description": "Enumeration defining the Caisson Foundation Types.\n",
        "predefined_types": {
            "CAISSON": "Closed box.",
            "NOTDEFINED": "Undefined caisson element.",
            "USERDEFINED": "User-defined caisson foundation element.",
            "WELL": "Open box."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCaissonFoundationType.htm"
    },
    "IfcCartesianPoint": {
        "attributes": {
            "Coordinates": "The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate."
        },
        "description": "An IfcCartesianPoint defines a point by coordinates in an orthogonal, right-handed Cartesian coordinate system. For the purpose of this specification only two and three dimensional Cartesian points are used.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCartesianPoint.htm"
    },
    "IfcCartesianPointList": {
        "description": "The IfcCartesianPointList is the abstract supertype of list of points.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCartesianPointList.htm"
    },
    "IfcCartesianPointList2D": {
        "attributes": {
            "CoordList": "Two-dimensional list of Cartesian points provided by two coordinates.",
            "TagList": "List of tags corresponding to each point that may be used to identify a basis curve according to the Tag attribute at IfcOffsetCurveByDistances.  Also used to identify  IfcSectionedSolidHorizontal or IfcSectionedSurface shape string lines (\"guide curves\") when used within an IfcProfileDef curve of type IfcIndexedPolyCurve."
        },
        "description": "The IfcCartesianPointList2D defines an ordered collection of two-dimentional Cartesian points. Each Cartesian point is provided as an two-dimensional point by a fixed list of two coordinates. The attribute CoordList is a two-dimensional list, where",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCartesianPointList2D.htm"
    },
    "IfcCartesianPointList3D": {
        "attributes": {
            "CoordList": "Two-dimensional list of Cartesian points provided by three coordinates.",
            "TagList": "List of tags corresponding to each point that may be used to identify a basis curve according to the Tag attribute at IfcOffsetCurveByDistances."
        },
        "description": "The IfcCartesianPointList3D defines an ordered collection of three-dimentional Cartesian points. Each Cartesian point is provided as an three-dimensional point by a fixed list of three coordinates. The attribute CoordList is a two-dimensional list, where",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCartesianPointList3D.htm"
    },
    "IfcCartesianTransformationOperator": {
        "attributes": {
            "Axis1": "The direction used to determine U[1], the derived X axis direction.",
            "Axis2": "The direction used to determine U[2], the derived Y axis direction.",
            "LocalOrigin": "The required translation, specified as a cartesian point. The actual translation included in the transformation is from the geometric origin to the local origin.",
            "Scale": "The scaling value specified for the transformation."
        },
        "description": "An IfcCartesianTransformationOperator defines an abstract supertype of different kinds of geometric transformations.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCartesianTransformationOperator.htm"
    },
    "IfcCartesianTransformationOperator2D": {
        "description": "An IfcCartesianTransformationOperator2D defines a geometric transformation in two-dimensional space.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCartesianTransformationOperator2D.htm"
    },
    "IfcCartesianTransformationOperator2DnonUniform": {
        "attributes": {
            "Scale2": "The scaling value specified for the transformation along the axis 2. This is normally the y scale factor."
        },
        "description": "A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCartesianTransformationOperator2DnonUniform.htm"
    },
    "IfcCartesianTransformationOperator3D": {
        "attributes": {
            "Axis3": "The exact direction of U[3], the derived Z axis direction."
        },
        "description": "An IfcCartesianTransformationOperator defines a geometric transformation in three-dimensional space.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCartesianTransformationOperator3D.htm"
    },
    "IfcCartesianTransformationOperator3DnonUniform": {
        "attributes": {
            "Scale2": "The scaling value specified for the transformation along the axis 2. This is normally the y scale factor.",
            "Scale3": "The scaling value specified for the transformation along the axis 3. This is normally the z scale factor."
        },
        "description": "A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCartesianTransformationOperator3DnonUniform.htm"
    },
    "IfcCenterLineProfileDef": {
        "attributes": {
            "Thickness": "Constant thickness applied along the center line."
        },
        "description": "The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCenterLineProfileDef.htm"
    },
    "IfcChiller": {
        "description": "A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building.",
        "predefined_types": {
            "AIRCOOLED": "Air cooled chiller.",
            "HEATRECOVERY": "Heat recovery chiller.",
            "NOTDEFINED": "Undefined chiller type.",
            "USERDEFINED": "User-defined chiller type.",
            "WATERCOOLED": "Water cooled chiller."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcChiller.htm"
    },
    "IfcChillerType": {
        "description": "The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include:",
        "predefined_types": {
            "AIRCOOLED": "Air cooled chiller.",
            "HEATRECOVERY": "Heat recovery chiller.",
            "NOTDEFINED": "Undefined chiller type.",
            "USERDEFINED": "User-defined chiller type.",
            "WATERCOOLED": "Water cooled chiller."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcChillerType.htm"
    },
    "IfcChimney": {
        "description": "Chimneys are typically vertical, or as near as vertical, parts of the construction of a building and part of the building fabric. Often constructed by pre-cast or insitu concrete, today seldom by bricks.",
        "predefined_types": {
            "NOTDEFINED": "",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcChimney.htm"
    },
    "IfcChimneyType": {
        "description": "The building element type IfcChimneyType defines commonly shared information for occurrences of chimneys. The set of shared information may include:",
        "predefined_types": {
            "NOTDEFINED": "",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcChimneyType.htm"
    },
    "IfcCircle": {
        "attributes": {
            "Radius": "The radius of the circle, which shall be greater than zero."
        },
        "description": "An IfcCircle is a curve consisting of a set of points having equal distance from the center.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCircle.htm"
    },
    "IfcCircleHollowProfileDef": {
        "attributes": {
            "WallThickness": "Thickness of the material, it is the difference between the outer and inner radius."
        },
        "description": "IfcCircleHollowProfileDef defines a section profile that provides the defining parameters of a circular hollow section (tube) to be used by the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration.The centre of the position coordinate system is in the profile's centre of the bounding box (for symmetric profiles identical with the centre of gravity).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCircleHollowProfileDef.htm"
    },
    "IfcCircleProfileDef": {
        "attributes": {
            "Radius": "The radius of the circle."
        },
        "description": "IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCircleProfileDef.htm"
    },
    "IfcCivilElement": {
        "description": "An IfcCivilElement is a generalization of all elements within a civil engineering works that cannot be represented as BuildingElements, DistributionElements or GeographicElements. Depending on the context of the construction project, included building work, such as buildings or factories, are represented as a collection of IfcBuildingElement's, distribution systems, such as piping or drainage, are represented as a collection of IfcDistributionElement's, and other geographic elements, such as trees, light posts, traffic signs etc. are represented as IfcGeographicElement's.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCivilElement.htm"
    },
    "IfcCivilElementType": {
        "description": "An IfcCivilElementType is used to define an element specification of an element used within civil engineering works. Civil element types include for different types of element that may be used to represent information for construction works external to a building. IfcCivilElementType's may include:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCivilElementType.htm"
    },
    "IfcClassification": {
        "attributes": {
            "ClassificationForObjects": "The classification with which objects are associated.",
            "Description": "Additional description provided for the classification.",
            "Edition": "The edition or version of the classification system from which the classification notation is derived.",
            "EditionDate": "The date on which the edition of the classification used became valid.",
            "HasReferences": "The classification references to which the classification applies. It can either be the final classification notation, or an intermediate classification item.",
            "Name": "The name or label by which the classification used is normally known.",
            "ReferenceTokens": "The delimiter tokens that are used to mark the boundaries of individual facets (substrings) in a classification reference.",
            "Source": "Source (or publisher) for this classification.",
            "Specification": "Resource identifier or locator, provided as URI, URN or URL, of the classification."
        },
        "description": "An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an classification are organized in a tree structure.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcClassification.htm"
    },
    "IfcClassificationReference": {
        "attributes": {
            "ClassificationRefForObjects": "The classification reference with which objects are associated.",
            "Description": "Description of the classification reference for informational purposes.",
            "HasReferences": "The parent classification references to which this child classification reference applies. It can either be the final classification item leaf node, or an intermediate classification item.",
            "ReferencedSource": "The classification system or source that is referenced.",
            "Sort": "Optional identifier to sort the set of classification references within the referenced source (either a classification facet of higher level, or the classification system itself)."
        },
        "description": "An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcClassificationReference.htm"
    },
    "IfcClosedShell": {
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> A closed shell is a shell of the dimensionality 2 which typically serves as a bound for a region in R3. A closed shell has no boundary, and has non-zero finite extent. If the shell has a domain with coordinate space R3, it divides that space into two connected regions, one finite and the other infinite. In this case, the topological normal of the shell is defined as being directed from the finite to the infinite region.\n>\n> The shell is represented by a collection of faces. The domain of the shell, if present, contains all those faces, together with their bounds. Associated with each face in the shell is a logical value which indicates whether the face normal agrees with (TRUE) or is opposed to (FALSE) the shell normal. The logical value can be applied directly as a BOOLEAN attribute of an oriented face, or be defaulted to TRUE if the shell boundary attribute member is a face without the orientation attribute.\n>\n> The combinatorial restrictions on closed shells and geometrical restrictions on their domains are designed to ensure that any domain associated with a closed shell is a closed, orientable manifold. The domain of a closed shell, if present, is a connected, closed, oriented 2-manifold. It is always topologically equivalent to an H-fold torus for some H &ge; 0. The number H is referred to as the surface genus of the shell. If a shell of genus H has a domain within coordinate space _R^3^_, then the finite region of space inside it is topologically equivalent to a solid ball with H tunnels drilled through it.\n>\n> The Euler equation applies with B=0, because in this case there are no holes. As in the case of open shells, the surface genus H may not be known a priori, but shall be an integer &ge; 0. Thus a necessary, but not sufficient, condition for a well-formed closed shell is the following:\n>> ![Image](../../../../figures/ifcopenshell-math1.gif)",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcClosedShell.htm"
    },
    "IfcClothoid": {
        "attributes": {
            "ClothoidConstant": "The constant which defines the relationship between curvature and arc length for the curve."
        },
        "description": "A clothoid is a planar curve in the form of a spiral. This curve has the property that the curvature varies linearly with the arc length.\n{ .extDef}\n> NOTE Definition according to ISO 10303-42:2003",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcClothoid.htm"
    },
    "IfcCoil": {
        "description": "A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface.",
        "predefined_types": {
            "DXCOOLINGCOIL": "Cooling coil using a refrigerant to cool the air stream directly.",
            "ELECTRICHEATINGCOIL": "Heating coil using electricity as a heating source.",
            "GASHEATINGCOIL": "Heating coil using gas as a heating source.",
            "HYDRONICCOIL": "Cooling or Heating coil that uses a hydronic fluid as a cooling or heating source.",
            "NOTDEFINED": "Undefined coil type.",
            "STEAMHEATINGCOIL": "Heating coil using steam as heating source.",
            "USERDEFINED": "User-defined coil type.",
            "WATERCOOLINGCOIL": "Cooling coil using chilled water. HYDRONICCOIL supercedes this enumerator.",
            "WATERHEATINGCOIL": "Heating coil using hot water as a heating source. HYDRONICCOIL supercedes this enumerator."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCoil.htm"
    },
    "IfcCoilType": {
        "description": "The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include:",
        "predefined_types": {
            "DXCOOLINGCOIL": "Cooling coil using a refrigerant to cool the air stream directly.",
            "ELECTRICHEATINGCOIL": "Heating coil using electricity as a heating source.",
            "GASHEATINGCOIL": "Heating coil using gas as a heating source.",
            "HYDRONICCOIL": "Cooling or Heating coil that uses a hydronic fluid as a cooling or heating source.",
            "NOTDEFINED": "Undefined coil type.",
            "STEAMHEATINGCOIL": "Heating coil using steam as heating source.",
            "USERDEFINED": "User-defined coil type.",
            "WATERCOOLINGCOIL": "Cooling coil using chilled water. HYDRONICCOIL supercedes this enumerator.",
            "WATERHEATINGCOIL": "Heating coil using hot water as a heating source. HYDRONICCOIL supercedes this enumerator."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCoilType.htm"
    },
    "IfcColourRgb": {
        "attributes": {
            "Blue": "The intensity of the blue colour component.",
            "Green": "The intensity of the green colour component.",
            "Red": "The intensity of the red colour component."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-46:1992\n> A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcColourRgb.htm"
    },
    "IfcColourRgbList": {
        "attributes": {
            "ColourList": "List of colours defined by the red, green, blue components. All values are provided as a ratio of 0.0 \u2264 value \u2264 1.0. When using 8bit for each colour channel, a value of 0.0 equals 0, a value of 1.0 equals 255, and values in between are interpolated."
        },
        "description": "The IfcColourRgbList defines an ordered collection of RGB colour values. Each colour value is a fixed list of three colour components (red, green, blue). The attribute ColourList is a two-dimensional list, where:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcColourRgbList.htm"
    },
    "IfcColourSpecification": {
        "attributes": {
            "Name": "Optional name given to a particular colour specification in addition to the colour components (like the RGB values)."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-46:1992\n> The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcColourSpecification.htm"
    },
    "IfcColumn": {
        "description": "An IfcColumn is a vertical structural or architectural member which often is aligned with a structural grid intersection. In most cases it represents a vertical, or nearly vertical, structural member that transmits, through compression, the weight of the structure above to other structural elements below. It may also represent such a member from an architectural point of view in which case it may represent a non load bearing element. Whether it is a structural load bearing element or a non-load bearing element is determined by the _Pset\\_ColumnCommon.LoadBearing_ property.",
        "predefined_types": {
            "COLUMN": "A usually vertical member that may be load bearing and requiring resistance to vertical forces by compression but also sometimes to lateral forces.",
            "NOTDEFINED": "Undefined linear element.",
            "PIERSTEM": "An individual vertical part of a pier, may be a simple column, i.e. no breakdown into segments or separate structural parts such as flanges and web(s), or may be an aggregation of segments and/or parts.",
            "PIERSTEM_SEGMENT": "A vertical segment of a pier column.",
            "PILASTER": "A column element embedded within a wall that can be required to be load bearing but may also only be used for decorative purposes.",
            "STANDCOLUMN": "A column transmitting vertical loads from superstructure to an arch below it.",
            "USERDEFINED": "User-defined linear element."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcColumn.htm"
    },
    "IfcColumnType": {
        "description": "The element type IfcColumnType defines commonly shared information for occurrences of columns. The set of shared information may include:",
        "predefined_types": {
            "COLUMN": "A usually vertical member that may be load bearing and requiring resistance to vertical forces by compression but also sometimes to lateral forces.",
            "NOTDEFINED": "Undefined linear element.",
            "PIERSTEM": "An individual vertical part of a pier, may be a simple column, i.e. no breakdown into segments or separate structural parts such as flanges and web(s), or may be an aggregation of segments and/or parts.",
            "PIERSTEM_SEGMENT": "A vertical segment of a pier column.",
            "PILASTER": "A column element embedded within a wall that can be required to be load bearing but may also only be used for decorative purposes.",
            "STANDCOLUMN": "A column transmitting vertical loads from superstructure to an arch below it.",
            "USERDEFINED": "User-defined linear element."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcColumnType.htm"
    },
    "IfcCommunicationsAppliance": {
        "description": "A communications appliance transmits and receives electronic or digital information as data or sound.",
        "predefined_types": {
            "ANTENNA": "A transducer designed to transmit or receive electromagnetic waves.",
            "AUTOMATON": "A self-acting artificial device, the behaviour of which is governed either in a stepwise manner by given decision rules or continuously in time by defined relationships, while the output variables of which are created from its input and state variables. Note: definition from IEC 60050-351-42-32.",
            "COMPUTER": "A desktop, laptop, tablet, or other type of computer that can be moved from one place to another and connected to an electrical supply via a plugged outlet.",
            "FAX": "A machine that has the primary function of transmitting a facsimile copy of printed matter using a telephone line.",
            "GATEWAY": "A gateway connects multiple network segments with different protocols at all layers (layers 1-7) of the Open Systems Interconnection (OSI) model.",
            "INTELLIGENTPERIPHERAL": "An intelligent peripheral is a device that offers a variety of specialized resources according to the corresponding service logical program under the control of SCP. These resources contain the receiver of DTMF (Dual-Tone Multi-Frequency, signal generator, record notice, etc.). An intelligent peripheral provides dedicated resource functions in the intelligent network, allocates, controls and manages various dedicated resources, communicates with other entities in the network, and completes SRF resource functions as well as the maintenance, management and statistics functions of resources.",
            "IPNETWORKEQUIPMENT": "An IP network equipment is a device that provides IP data transmission channel for telecom subsystems or other subsystems e.g., routers, network switches or firewalls.",
            "LINESIDEELECTRONICUNIT": "The lineside electronic unit (LEU) is the interface between the balise and interlocking in railway. The LEU acquires the information from the interlocking, and sends the appropriate information to the balises in concordance with the lineside signalling (if available).",
            "MODEM": "A modem (from modulator-demodulator) is a device that modulates an analog carrier signal to encode digital information, and also demodulates such a carrier signal to decode the transmitted information.",
            "NETWORKAPPLIANCE": "A network appliance performs a dedicated function such as firewall protection, content filtering, load balancing, or equipment management.",
            "NETWORKBRIDGE": "A network bridge connects multiple network segments at the data link layer (layer 2) of the OSI model, and the term layer 2 switch is very often used interchangeably with bridge.",
            "NETWORKHUB": "A network hub connects multiple network segments at the physical layer (layer 1) of the OSI model.",
            "NOTDEFINED": "Undefined type.",
            "OPTICALLINETERMINAL": "An optical line terminal is a service provider endpoint of a passive or active optical network. It is the terminal equipment for connecting fiber optic trunks.",
            "OPTICALNETWORKUNIT": "An optical network unit is a kind of optical transmission network connection equipment which is installed at user side.",
            "PRINTER": "A machine that has the primary function of printing text and/or graphics onto paper or other media.",
            "RADIOBLOCKCENTER": "A radio block center is a specialised computing device in railway with specification for generating Movement Authorities (MA) and transmitting it to trains. It gets information from signalling control and from the trains in its section.",
            "REPEATER": "A repeater is an electronic device that receives a signal and retransmits it at a higher level and/or higher power, or onto the other side of an obstruction, so that the signal can cover longer distances without degradation.",
            "ROUTER": "A router is a networking device whose software and hardware are usually tailored to the tasks of routing and forwarding information. For example, on the Internet, information is directed to various paths by routers.",
            "SCANNER": "A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer.",
            "TELECOMMAND": "A system sending command to control and monitor the switches and circuit breakers or systems directly or not connected (e.g. via wires) within the traction power system remotely.",
            "TELEPHONYEXCHANGE": "A telephony exchange is a device that ensures the routing of telephone calls and communications.",
            "TRANSITIONCOMPONENT": "A transition component is a minor active device that converts electric signals to optical signals at the sender, and converts optical signals to electric signals at the receiver.",
            "TRANSPONDER": "A transponder is a communication, monitoring, or control device that, upon receiving a signal, emits a different signal in response. Transponders can be either passive or active (e.g., electronic beacon, balise).",
            "TRANSPORTEQUIPMENT": "A transport equipment is a network element responsible for providing functionality of transport, multiplexing, switching, management and supervision of transmission channels between different hosts. The data transport service uses three specific metrics: the bandwidth, the jitter, and the packet loss rate.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCommunicationsAppliance.htm"
    },
    "IfcCommunicationsApplianceType": {
        "description": "The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include:",
        "predefined_types": {
            "ANTENNA": "A transducer designed to transmit or receive electromagnetic waves.",
            "AUTOMATON": "A self-acting artificial device, the behaviour of which is governed either in a stepwise manner by given decision rules or continuously in time by defined relationships, while the output variables of which are created from its input and state variables. Note: definition from IEC 60050-351-42-32.",
            "COMPUTER": "A desktop, laptop, tablet, or other type of computer that can be moved from one place to another and connected to an electrical supply via a plugged outlet.",
            "FAX": "A machine that has the primary function of transmitting a facsimile copy of printed matter using a telephone line.",
            "GATEWAY": "A gateway connects multiple network segments with different protocols at all layers (layers 1-7) of the Open Systems Interconnection (OSI) model.",
            "INTELLIGENTPERIPHERAL": "An intelligent peripheral is a device that offers a variety of specialized resources according to the corresponding service logical program under the control of SCP. These resources contain the receiver of DTMF (Dual-Tone Multi-Frequency, signal generator, record notice, etc.). An intelligent peripheral provides dedicated resource functions in the intelligent network, allocates, controls and manages various dedicated resources, communicates with other entities in the network, and completes SRF resource functions as well as the maintenance, management and statistics functions of resources.",
            "IPNETWORKEQUIPMENT": "An IP network equipment is a device that provides IP data transmission channel for telecom subsystems or other subsystems e.g., routers, network switches or firewalls.",
            "LINESIDEELECTRONICUNIT": "The lineside electronic unit (LEU) is the interface between the balise and interlocking in railway. The LEU acquires the information from the interlocking, and sends the appropriate information to the balises in concordance with the lineside signalling (if available).",
            "MODEM": "A modem (from modulator-demodulator) is a device that modulates an analog carrier signal to encode digital information, and also demodulates such a carrier signal to decode the transmitted information.",
            "NETWORKAPPLIANCE": "A network appliance performs a dedicated function such as firewall protection, content filtering, load balancing, or equipment management.",
            "NETWORKBRIDGE": "A network bridge connects multiple network segments at the data link layer (layer 2) of the OSI model, and the term layer 2 switch is very often used interchangeably with bridge.",
            "NETWORKHUB": "A network hub connects multiple network segments at the physical layer (layer 1) of the OSI model.",
            "NOTDEFINED": "Undefined type.",
            "OPTICALLINETERMINAL": "An optical line terminal is a service provider endpoint of a passive or active optical network. It is the terminal equipment for connecting fiber optic trunks.",
            "OPTICALNETWORKUNIT": "An optical network unit is a kind of optical transmission network connection equipment which is installed at user side.",
            "PRINTER": "A machine that has the primary function of printing text and/or graphics onto paper or other media.",
            "RADIOBLOCKCENTER": "A radio block center is a specialised computing device in railway with specification for generating Movement Authorities (MA) and transmitting it to trains. It gets information from signalling control and from the trains in its section.",
            "REPEATER": "A repeater is an electronic device that receives a signal and retransmits it at a higher level and/or higher power, or onto the other side of an obstruction, so that the signal can cover longer distances without degradation.",
            "ROUTER": "A router is a networking device whose software and hardware are usually tailored to the tasks of routing and forwarding information. For example, on the Internet, information is directed to various paths by routers.",
            "SCANNER": "A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer.",
            "TELECOMMAND": "A system sending command to control and monitor the switches and circuit breakers or systems directly or not connected (e.g. via wires) within the traction power system remotely.",
            "TELEPHONYEXCHANGE": "A telephony exchange is a device that ensures the routing of telephone calls and communications.",
            "TRANSITIONCOMPONENT": "A transition component is a minor active device that converts electric signals to optical signals at the sender, and converts optical signals to electric signals at the receiver.",
            "TRANSPONDER": "A transponder is a communication, monitoring, or control device that, upon receiving a signal, emits a different signal in response. Transponders can be either passive or active (e.g., electronic beacon, balise).",
            "TRANSPORTEQUIPMENT": "A transport equipment is a network element responsible for providing functionality of transport, multiplexing, switching, management and supervision of transmission channels between different hosts. The data transport service uses three specific metrics: the bandwidth, the jitter, and the packet loss rate.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCommunicationsApplianceType.htm"
    },
    "IfcComplexProperty": {
        "attributes": {
            "HasProperties": "Set of properties that can be used within this complex property (may include other complex properties).",
            "UsageName": "Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty."
        },
        "description": "IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcComplexProperty.htm"
    },
    "IfcComplexPropertyTemplate": {
        "attributes": {
            "HasPropertyTemplates": "Reference to a set of property templates. It should only be provided, if the PropertyType is set to COMPLEX.",
            "TemplateType": "",
            "UsageName": ""
        },
        "description": "The IfcComplexPropertyTemplate defines the template for all complex properties, either the IfcComplexProperty's, or the IfcPhysicalComplexQuantity's. The individual complex property templates are interpreted according to their Name attribute and and optional UsageName attribute.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcComplexPropertyTemplate.htm"
    },
    "IfcCompositeCurve": {
        "attributes": {
            "Segments": "The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve.",
            "SelfIntersect": "Indication of whether the curve intersects itself or not; this is for information only."
        },
        "description": "An IfcCompositeCurve is a continuous curve composed of curve segments.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCompositeCurve.htm"
    },
    "IfcCompositeCurveOnSurface": {
        "description": "The IfcCompositeCurveOnSurface is a collection of segments, based on p-curves. i.e. a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The p-curve segment is a special type of a composite curve segment and shall only be used to bound a surface.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCompositeCurveOnSurface.htm"
    },
    "IfcCompositeCurveSegment": {
        "attributes": {
            "ParentCurve": "The bounded curve which defines the geometry of the segment.",
            "SameSense": "An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment."
        },
        "description": "An IfcCompositeCurveSegment is a bounded curve constructed for the sole purpose to be a segment within an IfcCompositeCurve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCompositeCurveSegment.htm"
    },
    "IfcCompositeProfileDef": {
        "attributes": {
            "Label": "The name by which the composition may be referred to. The actual meaning of the name has to be defined in the context of applications.",
            "Profiles": "The profiles which are used to define the composite profile."
        },
        "description": "The IfcCompositeProfileDef defines the profile by composition of other profiles. The composition is given by a set of at least two other profile definitions. Any profile definition (except for another composite profile) can be used to construct the composite.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCompositeProfileDef.htm"
    },
    "IfcCompressor": {
        "description": "A compressor is a device that compresses a fluid typically used in a refrigeration circuit.",
        "predefined_types": {
            "BOOSTER": "Positive-displacement reciprocating compressor where pressure is increased by a booster.",
            "DYNAMIC": "The pressure of refrigerant vapor is increased by a continuous transfer of angular momentum from a rotating member to the vapor followed by conversion of this momentum into static pressure.",
            "HERMETIC": "Positive-displacement reciprocating compressor where the motor and compressor are contained within the same housing, with the motor shaft integral with the compressor crankshaft and the motor in contact with refrigerant.",
            "NOTDEFINED": "Undefined compressor type.",
            "OPENTYPE": "Positive-displacement reciprocating compressor where the shaft extends through a seal in the crankcase for an external drive.",
            "RECIPROCATING": "Positive-displacement compressor using a piston driven by a connecting rod from a crankshaft.",
            "ROLLINGPISTON": "Positive-displacement rotary compressor using a roller mounted on the eccentric of a shaft with a single vane in the nonrotating cylindrical housing.",
            "ROTARY": "Positive-displacement compressor using a roller or rotor device.",
            "ROTARYVANE": "Positive-displacement rotary compressor using a roller mounted on the eccentric of a shaft with multiple vanes in the nontotating cylindrical housing.",
            "SCROLL": "Positive-displacement compressor using two inter-fitting, spiral-shaped scroll members.",
            "SEMIHERMETIC": "Positive-displacement reciprocating compressor where the hermetic compressors use bolted construction amenable to field repair.",
            "SINGLESCREW": "Positive-displacement rotary compressor using a single cylindrical main rotor that works with a pair of gate rotors.",
            "SINGLESTAGE": "Positive-displacement reciprocating compressor where vapor is compressed in a single stage.",
            "TROCHOIDAL": "Positive-displacement compressor using a rolling motion of one circle outside or inside the circumference of a basic circle and produce either epitrochoids or hypotrochoids.",
            "TWINSCREW": "Positive-displacement rotary compressor using two mating helically grooved rotors, male (lobes) and female (flutes) in a stationary housing with inlet and outlet gas ports.",
            "USERDEFINED": "User-defined compressor type.",
            "WELDEDSHELLHERMETIC": "Positive-displacement reciprocating compressor where the motor compressor is mounted inside a steel shell, which, in turn is sealed by welding."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCompressor.htm"
    },
    "IfcCompressorType": {
        "description": "The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include:",
        "predefined_types": {
            "BOOSTER": "Positive-displacement reciprocating compressor where pressure is increased by a booster.",
            "DYNAMIC": "The pressure of refrigerant vapor is increased by a continuous transfer of angular momentum from a rotating member to the vapor followed by conversion of this momentum into static pressure.",
            "HERMETIC": "Positive-displacement reciprocating compressor where the motor and compressor are contained within the same housing, with the motor shaft integral with the compressor crankshaft and the motor in contact with refrigerant.",
            "NOTDEFINED": "Undefined compressor type.",
            "OPENTYPE": "Positive-displacement reciprocating compressor where the shaft extends through a seal in the crankcase for an external drive.",
            "RECIPROCATING": "Positive-displacement compressor using a piston driven by a connecting rod from a crankshaft.",
            "ROLLINGPISTON": "Positive-displacement rotary compressor using a roller mounted on the eccentric of a shaft with a single vane in the nonrotating cylindrical housing.",
            "ROTARY": "Positive-displacement compressor using a roller or rotor device.",
            "ROTARYVANE": "Positive-displacement rotary compressor using a roller mounted on the eccentric of a shaft with multiple vanes in the nontotating cylindrical housing.",
            "SCROLL": "Positive-displacement compressor using two inter-fitting, spiral-shaped scroll members.",
            "SEMIHERMETIC": "Positive-displacement reciprocating compressor where the hermetic compressors use bolted construction amenable to field repair.",
            "SINGLESCREW": "Positive-displacement rotary compressor using a single cylindrical main rotor that works with a pair of gate rotors.",
            "SINGLESTAGE": "Positive-displacement reciprocating compressor where vapor is compressed in a single stage.",
            "TROCHOIDAL": "Positive-displacement compressor using a rolling motion of one circle outside or inside the circumference of a basic circle and produce either epitrochoids or hypotrochoids.",
            "TWINSCREW": "Positive-displacement rotary compressor using two mating helically grooved rotors, male (lobes) and female (flutes) in a stationary housing with inlet and outlet gas ports.",
            "USERDEFINED": "User-defined compressor type.",
            "WELDEDSHELLHERMETIC": "Positive-displacement reciprocating compressor where the motor compressor is mounted inside a steel shell, which, in turn is sealed by welding."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCompressorType.htm"
    },
    "IfcCondenser": {
        "description": "A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state.",
        "predefined_types": {
            "AIRCOOLED": "A condenser in which heat is transferred to an air-stream.",
            "EVAPORATIVECOOLED": "A condenser that is cooled evaporatively.",
            "NOTDEFINED": "Undefined condenser type.",
            "USERDEFINED": "User-defined condenser type.",
            "WATERCOOLED": "Water-cooled condenser with unspecified operation.",
            "WATERCOOLEDBRAZEDPLATE": "Water-cooled condenser with plates brazed together to form an assembly of separate channels.",
            "WATERCOOLEDSHELLCOIL": "Water-cooled condenser with cooling water circulated through one or more continuous or assembled coils contained within the shell.",
            "WATERCOOLEDSHELLTUBE": "Water-cooled condenser with cooling water circulated through one or more tubes contained within the shell.",
            "WATERCOOLEDTUBEINTUBE": "Water-cooled condenser consisting of one or more assemblies of two tubes, one within the other."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCondenser.htm"
    },
    "IfcCondenserType": {
        "description": "The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include:",
        "predefined_types": {
            "AIRCOOLED": "A condenser in which heat is transferred to an air-stream.",
            "EVAPORATIVECOOLED": "A condenser that is cooled evaporatively.",
            "NOTDEFINED": "Undefined condenser type.",
            "USERDEFINED": "User-defined condenser type.",
            "WATERCOOLED": "Water-cooled condenser with unspecified operation.",
            "WATERCOOLEDBRAZEDPLATE": "Water-cooled condenser with plates brazed together to form an assembly of separate channels.",
            "WATERCOOLEDSHELLCOIL": "Water-cooled condenser with cooling water circulated through one or more continuous or assembled coils contained within the shell.",
            "WATERCOOLEDSHELLTUBE": "Water-cooled condenser with cooling water circulated through one or more tubes contained within the shell.",
            "WATERCOOLEDTUBEINTUBE": "Water-cooled condenser consisting of one or more assemblies of two tubes, one within the other."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCondenserType.htm"
    },
    "IfcConic": {
        "attributes": {
            "Position": "The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes.\""
        },
        "description": "An IfcConic is a parameterized planar curve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConic.htm"
    },
    "IfcConnectedFaceSet": {
        "attributes": {
            "CfsFaces": "The set of faces arcwise connected along common edges or vertices."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConnectedFaceSet.htm"
    },
    "IfcConnectionCurveGeometry": {
        "attributes": {
            "CurveOnRelatedElement": "The bounded curve at which the connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used.",
            "CurveOnRelatingElement": "The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element."
        },
        "description": "IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConnectionCurveGeometry.htm"
    },
    "IfcConnectionGeometry": {
        "description": "IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConnectionGeometry.htm"
    },
    "IfcConnectionPointEccentricity": {
        "attributes": {
            "EccentricityInX": "Distance in x direction between the two points (or vertex points) engaged in the point connection.",
            "EccentricityInY": "Distance in y direction between the two points (or vertex points) engaged in the point connection.",
            "EccentricityInZ": "Distance in z direction between the two points (or vertex points) engaged in the point connection."
        },
        "description": "IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConnectionPointEccentricity.htm"
    },
    "IfcConnectionPointGeometry": {
        "attributes": {
            "PointOnRelatedElement": "Point at which connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used.",
            "PointOnRelatingElement": "Point at which the connected object is aligned at the relating element, given in the LCS of the relating element."
        },
        "description": "IfcConnectionPointGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a point (here IfcCartesianPoint) or at an vertex with point coordinates associated. It is envisioned as a control that applies to the element connection relationships.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConnectionPointGeometry.htm"
    },
    "IfcConnectionSurfaceGeometry": {
        "attributes": {
            "SurfaceOnRelatedElement": "Surface at which the relating element is aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used.",
            "SurfaceOnRelatingElement": "Surface at which related object is aligned at the relating element, given in the LCS of the relating element."
        },
        "description": "IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConnectionSurfaceGeometry.htm"
    },
    "IfcConnectionVolumeGeometry": {
        "attributes": {
            "VolumeOnRelatedElement": "Volume at which related object overlaps with the relating element, given in the LCS of the related element.",
            "VolumeOnRelatingElement": "Volume at which related object overlaps with the relating element, given in the LCS of the relating element."
        },
        "description": "IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConnectionVolumeGeometry.htm"
    },
    "IfcConstraint": {
        "attributes": {
            "ConstraintGrade": "Enumeration that qualifies the type of constraint.",
            "ConstraintSource": "Any source material, such as a code or standard, from which the constraint originated.",
            "CreatingActor": "Person and/or organization that has created the constraint.",
            "CreationTime": "Time when information specifying the constraint instance was created.",
            "Description": "A human-readable description that may apply additional information about a constraint.",
            "HasExternalReferences": "Reference to an external references, e.g. library, classification, or document information, that are associated to the constraint.",
            "Name": "A human-readable name to be used for the constraint.",
            "PropertiesForConstraint": "Reference to the properties to which the constraint is applied.",
            "UserDefinedGrade": "Allows for specification of user defined grade of the constraint  beyond the enumeration values (hard, soft, advisory) provided by ConstraintGrade attribute of type IfcConstraintEnum. When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall have enumeration value USERDEFINED."
        },
        "description": "An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConstraint.htm"
    },
    "IfcConstructionEquipmentResource": {
        "description": "IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction.",
        "predefined_types": {
            "DEMOLISHING": "Removal or destruction of building elements.",
            "EARTHMOVING": "Excavating, filling, or contouring earth.",
            "ERECTING": "Lifting, positioning, and placing elements.",
            "HEATING": "Temporary heat to support construction.",
            "LIGHTING": "Temporary lighting to support construction.",
            "NOTDEFINED": "Undefined resource.",
            "PAVING": "Roads or walkways such as asphalt or concrete.",
            "PUMPING": "Installing materials through pumps.",
            "TRANSPORTING": "Transporting products or materials.",
            "USERDEFINED": "User-defined resource."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConstructionEquipmentResource.htm"
    },
    "IfcConstructionEquipmentResourceType": {
        "description": "The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include:",
        "predefined_types": {
            "DEMOLISHING": "Removal or destruction of building elements.",
            "EARTHMOVING": "Excavating, filling, or contouring earth.",
            "ERECTING": "Lifting, positioning, and placing elements.",
            "HEATING": "Temporary heat to support construction.",
            "LIGHTING": "Temporary lighting to support construction.",
            "NOTDEFINED": "Undefined resource.",
            "PAVING": "Roads or walkways such as asphalt or concrete.",
            "PUMPING": "Installing materials through pumps.",
            "TRANSPORTING": "Transporting products or materials.",
            "USERDEFINED": "User-defined resource."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConstructionEquipmentResourceType.htm"
    },
    "IfcConstructionMaterialResource": {
        "description": "IfcConstructionMaterialResource identifies a material resource type in a construction project.",
        "predefined_types": {
            "AGGREGATES": "Construction aggregate including sand, gravel, and crushed stone.",
            "CONCRETE": "Cast-in-place concrete.",
            "DRYWALL": "Wall board, including gypsum board.",
            "FUEL": "Fuel for running equipment.",
            "GYPSUM": "Any gypsum material.",
            "MASONRY": "Masonry including brick, stone, concrete block, glass block, and tile.",
            "METAL": "Any metallic material.",
            "NOTDEFINED": "Undefined resource.",
            "PLASTIC": "Any plastic material.",
            "USERDEFINED": "User-defined resource.",
            "WOOD": "Any wood material."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConstructionMaterialResource.htm"
    },
    "IfcConstructionMaterialResourceType": {
        "description": "The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include:",
        "predefined_types": {
            "AGGREGATES": "Construction aggregate including sand, gravel, and crushed stone.",
            "CONCRETE": "Cast-in-place concrete.",
            "DRYWALL": "Wall board, including gypsum board.",
            "FUEL": "Fuel for running equipment.",
            "GYPSUM": "Any gypsum material.",
            "MASONRY": "Masonry including brick, stone, concrete block, glass block, and tile.",
            "METAL": "Any metallic material.",
            "NOTDEFINED": "Undefined resource.",
            "PLASTIC": "Any plastic material.",
            "USERDEFINED": "User-defined resource.",
            "WOOD": "Any wood material."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConstructionMaterialResourceType.htm"
    },
    "IfcConstructionProductResource": {
        "description": "IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction.",
        "predefined_types": {
            "ASSEMBLY": "Construction of assemblies for use as input to the building model or other assemblies.",
            "FORMWORK": "Construction or placement of forms for placing materials such as concrete.",
            "NOTDEFINED": "Undefined resource.",
            "USERDEFINED": "User-defined resource."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConstructionProductResource.htm"
    },
    "IfcConstructionProductResourceType": {
        "description": "The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include:",
        "predefined_types": {
            "ASSEMBLY": "Construction of assemblies for use as input to the building model or other assemblies.",
            "FORMWORK": "Construction or placement of forms for placing materials such as concrete.",
            "NOTDEFINED": "Undefined resource.",
            "USERDEFINED": "User-defined resource."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConstructionProductResourceType.htm"
    },
    "IfcConstructionResource": {
        "attributes": {
            "BaseCosts": "Indicates the unit costs for which accrued amounts should be calculated.  Such unit costs may be split into Name designations (for example, 'Standard', 'Overtime'), and may contain a hierarchy of cost values that apply at different dates (using IfcCostValue.ApplicableDate and IfcCostValue.FixedUntilDate).",
            "BaseQuantity": "Identifies the base quantity consumed of the resource relative to assignments.",
            "Usage": "Indicates the work, usage, and times scheduled and completed.  Some attributes on this object may have associated constraints or time series; see documentation of IfcResourceTime for specific usage.  If the resource is nested, then certain values may be calculated based on the component resources as indicated at IfcResourceTime."
        },
        "description": "IfcConstructionResource is an abstract generalization of the different resources used in construction projects, mainly labour, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConstructionResource.htm"
    },
    "IfcConstructionResourceType": {
        "attributes": {
            "BaseCosts": "Indicates the unit costs and environmental impacts for which accrued amounts should be calculated.  Such unit costs may be split into Name designations (e.g. 'Standard', 'Overtime'), and may contain a hierarchy of cost values that apply at different dates (using IfcCostValue.ApplicableDate and IfcCostValue.FixedUntilDate).",
            "BaseQuantity": "Identifies the quantity for which the BaseQuantityProduced applies.  The Name of the IfcPhysicalQuantity identifies the quantity definition being measured, e.g. \"GrossVolume\".  For production-based resources (e.g. carpentry labor), this value refers to quantities on IfcProduct(s) to which the assigned IfcTask is assigned.  For duration-based resources (e.g. safety inspector, fuel for equipment), this value refers to quantities that may be assigned to occurrences of the assigned IfcTaskType."
        },
        "description": "IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConstructionResourceType.htm"
    },
    "IfcContext": {
        "attributes": {
            "Declares": "Reference to the IfcRelDeclares relationship that assigns the uppermost entities of includes hierarchies to this context instance.",
            "LongName": "Long name for the context as used for reference purposes.",
            "ObjectType": "The object type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes.",
            "Phase": "Current project phase, or life-cycle phase of this project. Applicable values have to be agreed upon by view definitions or implementer agreements.",
            "RepresentationContexts": "Context of the representations used within the context. When the context is a project and it includes shape representations for its components, one or several geometric representation contexts need to be included that define e.g. the world coordinate system, the coordinate space dimensions, and/or the precision factor.",
            "UnitsInContext": "Units globally assigned to measure types used within the context."
        },
        "description": "IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary's as subtype of IfcContext to register the included libraries for the project. A library of products that is referenced is declared within the IfcProjectLibrary as the context of that library.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcContext.htm"
    },
    "IfcContextDependentUnit": {
        "attributes": {
            "HasExternalReference": "Reference to external information, e.g. library, classification, or document information, which is associated with the context dependent unit.",
            "Name": "The word, or group of words, by which the context dependent unit is referred to."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-41:1992\n> A context dependent unit is a unit which is not related to the SI system.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcContextDependentUnit.htm"
    },
    "IfcControl": {
        "attributes": {
            "Controls": "Reference to the relationship that associates the control to the object(s) being controlled.",
            "Identification": "An identifying designation given to a control     It is the identifier at the occurrence level."
        },
        "description": "IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcControl.htm"
    },
    "IfcController": {
        "description": "A controller is a device that monitors inputs and controls outputs within a building automation system.",
        "predefined_types": {
            "FLOATING": "Output increases or decreases at a constant or accelerating rate.",
            "MULTIPOSITION": "Output is discrete value, can be one of three or more values.",
            "NOTDEFINED": "Undefined type.",
            "PROGRAMMABLE": "Output is programmable such as Discrete Digital Control (DDC).",
            "PROPORTIONAL": "Output is proportional to the control error and optionally time integral and derivative.",
            "TWOPOSITION": "Output can be either on or off.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcController.htm"
    },
    "IfcControllerType": {
        "description": "The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include:",
        "predefined_types": {
            "FLOATING": "Output increases or decreases at a constant or accelerating rate.",
            "MULTIPOSITION": "Output is discrete value, can be one of three or more values.",
            "NOTDEFINED": "Undefined type.",
            "PROGRAMMABLE": "Output is programmable such as Discrete Digital Control (DDC).",
            "PROPORTIONAL": "Output is proportional to the control error and optionally time integral and derivative.",
            "TWOPOSITION": "Output can be either on or off.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcControllerType.htm"
    },
    "IfcConversionBasedUnit": {
        "attributes": {
            "ConversionFactor": "The physical quantity from which the converted unit is derived.",
            "HasExternalReference": "Reference to external information, e.g. library, classification, or document information, which is associated with the conversion-based unit.",
            "Name": "The word, or group of words, by which the conversion based unit is referred to."
        },
        "description": "An IfcConversionBasedUnit is used to define a unit that has a conversion rate to a base unit. To identify some commonly used conversion based units, the standard designations (case insensitive) for the Name attribute are indicated in Table 1.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConversionBasedUnit.htm"
    },
    "IfcConversionBasedUnitWithOffset": {
        "attributes": {
            "ConversionOffset": "A positive or negative offset to add after the inherited ConversionFactor was applied."
        },
        "description": "IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConversionBasedUnitWithOffset.htm"
    },
    "IfcConveyorSegment": {
        "description": "A conveyor segment defines an occurrence of a flow segment/ continuous run within a conveyor system that joins two sections of the system. these can utilise different carrying methods such as belt, rope, chain, screw etc.\n> NOTE  Definition according to ISO6707-1: machine that continuously transports material or objects along a gentle slope using an endless belt, rope or chain, or rollers.\n",
        "predefined_types": {
            "BELTCONVEYOR": "An endless belt for carrying material without stretching.",
            "BUCKETCONVEYOR": "A conveyor in the form of connected buckets or segments that move in a continuous loop",
            "CHUTECONVEYOR": "Gravity-operated conveyor where media descends through a trough or chute.",
            "NOTDEFINED": "Undefined type.",
            "SCREWCONVEYOR": "composed of a longitudinal screw in a trough or pipe that rotates to force media through the segment",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConveyorSegment.htm"
    },
    "IfcConveyorSegmentType": {
        "description": "The IfcConveyorSegmentType provides the type information for IfcConveyorSegment occurrences.\nA conveyor segment defines an occurrence of a flow segment/ continuous run within a conveyor system that joins two sections of the system. these can utilise different carrying methods such as belt, rope, chain, screw etc.\n",
        "predefined_types": {
            "BELTCONVEYOR": "An endless belt for carrying material without stretching.",
            "BUCKETCONVEYOR": "A conveyor in the form of connected buckets or segments that move in a continuous loop",
            "CHUTECONVEYOR": "Gravity-operated conveyor where media descends through a trough or chute.",
            "NOTDEFINED": "Undefined type.",
            "SCREWCONVEYOR": "composed of a longitudinal screw in a trough or pipe that rotates to force media through the segment",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConveyorSegmentType.htm"
    },
    "IfcCooledBeam": {
        "description": "A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again.",
        "predefined_types": {
            "ACTIVE": "An active or ventilated cooled beam provides cooling (and heating) but can also function as an air terminal in a ventilation system.",
            "NOTDEFINED": "Undefined cooled beam type.",
            "PASSIVE": "A passive or static cooled beam provides cooling (and heating) to a room or zone.",
            "USERDEFINED": "User-defined cooled beam type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCooledBeam.htm"
    },
    "IfcCooledBeamType": {
        "description": "The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include:",
        "predefined_types": {
            "ACTIVE": "An active or ventilated cooled beam provides cooling (and heating) but can also function as an air terminal in a ventilation system.",
            "NOTDEFINED": "Undefined cooled beam type.",
            "PASSIVE": "A passive or static cooled beam provides cooling (and heating) to a room or zone.",
            "USERDEFINED": "User-defined cooled beam type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCooledBeamType.htm"
    },
    "IfcCoolingTower": {
        "description": "A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation.",
        "predefined_types": {
            "MECHANICALFORCEDDRAFT": "Air flow is produced by a mechanical device, typically one or more fans, located on the inlet air side of the cooling tower.",
            "MECHANICALINDUCEDDRAFT": "Air flow is produced by a mechanical device, typically one or more fans, located on the air outlet side of the cooling tower.",
            "NATURALDRAFT": "Air flow is produced naturally.",
            "NOTDEFINED": "Undefined cooling tower type.",
            "USERDEFINED": "User-defined cooling tower type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCoolingTower.htm"
    },
    "IfcCoolingTowerType": {
        "description": "The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include:",
        "predefined_types": {
            "MECHANICALFORCEDDRAFT": "Air flow is produced by a mechanical device, typically one or more fans, located on the inlet air side of the cooling tower.",
            "MECHANICALINDUCEDDRAFT": "Air flow is produced by a mechanical device, typically one or more fans, located on the air outlet side of the cooling tower.",
            "NATURALDRAFT": "Air flow is produced naturally.",
            "NOTDEFINED": "Undefined cooling tower type.",
            "USERDEFINED": "User-defined cooling tower type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCoolingTowerType.htm"
    },
    "IfcCoordinateOperation": {
        "attributes": {
            "SourceCRS": "Source coordinate reference system for the operation.",
            "TargetCRS": "Target coordinate reference system for the operation."
        },
        "description": "The coordinate operation is an abstract supertype to handle any operation (transformation or conversion) between two coordinate reference systems. It is meant to provide expandability for future versions, since currently only the conversion of a local engineering coordinate system into a map coordinate reference system is dealt with by the subtype IfcMapConversion.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCoordinateOperation.htm"
    },
    "IfcCoordinateReferenceSystem": {
        "attributes": {
            "Description": "Informal description of this coordinate reference system",
            "GeodeticDatum": "",
            "HasCoordinateOperation": "Indicates conversion between coordinate systems. In particular it refers to an IfcCoordinateOperation between this coordinate reference system, and another Geographic coordinate reference system.",
            "Name": "Name by which the coordinate reference system is identified.",
            "VerticalDatum": ""
        },
        "description": "The IfcCoordinateReferenceSystem is a definition of a coordinate reference system by means of qualified identifiers only. The interpretation of the identifier is expected to be well-known to the receiving software.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCoordinateReferenceSystem.htm"
    },
    "IfcCosineSpiral": {
        "attributes": {
            "ConstantTerm": "",
            "CosineTerm": ""
        },
        "description": "A type of spiral curve for which the curvature change is dependent on the cosine function.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCosineSpiral.htm"
    },
    "IfcCostItem": {
        "attributes": {
            "CostQuantities": "Component quantities of the same type for which the total quantity for the cost item is calculated as the sum.",
            "CostValues": "Component costs for which the total cost for the cost item is calculated, and then multiplied by the total CostQuantities if provided."
        },
        "description": "An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more.",
        "predefined_types": {
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCostItem.htm"
    },
    "IfcCostSchedule": {
        "attributes": {
            "Status": "The current status of a cost schedule. Examples of status values that might be used for a cost schedule status include: *  PLANNED *  APPROVED *  AGREED *  ISSUED *  STARTED",
            "SubmittedOn": "The date and time on which the cost schedule was submitted.",
            "UpdateDate": "The date and time that this cost schedule is updated; this allows tracking the schedule history."
        },
        "description": "An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order.",
        "predefined_types": {
            "BUDGET": "An allocation of money for a particular purpose.",
            "COSTPLAN": "An assessment of the amount of money needing to be expended for a defined purpose based on incomplete information about the goods and services required for a construction or installation.",
            "ESTIMATE": "An assessment of the amount of money needing to be expended for a defined purpose based on actual information about the goods and services required for a construction or installation.",
            "NOTDEFINED": "Undefined type.",
            "PRICEDBILLOFQUANTITIES": "A complete listing of all work items forming construction or installation works in which costs have been allocated to work items.",
            "SCHEDULEOFRATES": "A listing of each type of goods forming construction or installation works with the cost of purchase, construction/installation, overheads and profit assigned so that additional items of that type can be costed.",
            "TENDER": "An offer to provide goods and services.",
            "UNPRICEDBILLOFQUANTITIES": "A complete listing of all work items forming construction or installation works in which costs have not yet been allocated to work items.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCostSchedule.htm"
    },
    "IfcCostValue": {
        "description": "IfcCostValue is an amount of money or a value that affects an amount of money.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCostValue.htm"
    },
    "IfcCourse": {
        "description": "A built element whose length greatly exceeds its thickness and often also its width, usually of a single material laid on site on top of another horizontal or nearly horizontal built element. A course is distinctive from a earthworks element in that a course is a graded granular (which can be bound or unbound) material that is generally processed in some fashion, where as earthworks elements are soil earthen based structure that can be formed by removal and transport of general ground material.\nStructurally a course does not have capacity to carry loads over open span, or to be removed or replaced as a single unit. examples of courses include:\n* Graded aggregate layers\n* Graded sand layers\n* Cement bounded material (CBM)\n* Asphalt layers\n",
        "predefined_types": {
            "ARMOUR": "An Aggregate layer whose primary function is to protect against erosion of the underlying material by water e.g. riprap.",
            "BALLASTBED": "Layer composed of broken stones under the sleepers.",
            "CORE": "A core course is the bulk internal structure of aggregate structures.",
            "FILTER": "An Intermediate layer whose primary function is to prevent the washing through of fine materials.",
            "NOTDEFINED": "Undefined type.",
            "PAVEMENT": "A layer within a pavement structure that forms a paved area or road.",
            "PROTECTION": "Layer with the primary task to provide protection against erosion and scour.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCourse.htm"
    },
    "IfcCourseType": {
        "description": "The IfcCourseType provides the type information for IfcCourse occurrences.\nA course is a built element whose length greatly exceeds its thickness and often also its width, usually of a single material laid on site on top of another horizontal or nearly horizontal built element. A course is distinctive from a earthworks element in that a course is a graded granular (which can be bound or unbound) material that is generally processed in some fashion, where as earthworks elements are soil earthen based structure that can be formed by removal and transport of general ground material.\nStructurally a course does not have capacity to carry loads over open span, or to be removed or replaced as a single unit.\n",
        "predefined_types": {
            "ARMOUR": "An Aggregate layer whose primary function is to protect against erosion of the underlying material by water e.g. riprap.",
            "BALLASTBED": "Layer composed of broken stones under the sleepers.",
            "CORE": "A core course is the bulk internal structure of aggregate structures.",
            "FILTER": "An Intermediate layer whose primary function is to prevent the washing through of fine materials.",
            "NOTDEFINED": "Undefined type.",
            "PAVEMENT": "A layer within a pavement structure that forms a paved area or road.",
            "PROTECTION": "Layer with the primary task to provide protection against erosion and scour.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCourseType.htm"
    },
    "IfcCovering": {
        "attributes": {
            "CoversElements": "Reference to the objectified relationship that handles the relationship of the covering to the covered element.",
            "CoversSpaces": "Reference to the objectified relationship that handles the relationship of the covering to the covered space."
        },
        "description": "A covering is an element which covers some part of another element and is fully dependent on that other element. The IfcCovering defines the occurrence of a covering type, that (if given) is expressed by the IfcCoveringType.",
        "predefined_types": {
            "CEILING": "The covering is used to represent a ceiling.",
            "CLADDING": "The covering is used to represent a cladding.",
            "COPING": "A protective capping or covering of a wall or a parapet.",
            "FLOORING": "The covering is used to represent a flooring.",
            "INSULATION": "The covering is used to insulate an element for thermal or acoustic purposes.",
            "MEMBRANE": "An impervious layer that could be used for e.g. roof covering (below tiling - that may be known as sarking etc.) or as a damp proof course membrane; also, waterproofing material on a bridge structure (typically on top of bridge slab).",
            "MOLDING": "The covering is used to represent a molding being a strip of material to cover the transition of surfaces (often between wall cladding and ceiling).",
            "NOTDEFINED": "Undefined type of covering.",
            "ROOFING": "The covering is used to represent a roof covering.",
            "SKIRTINGBOARD": "The covering is used to represent a skirting board being a strip of material to cover the transition between the wall cladding and the flooring.",
            "SLEEVING": "The covering is used to isolate a distribution element from a space in which it is contained.",
            "TOPPING": "A layer of material used for leveling or flattening a surface.",
            "USERDEFINED": "User defined type of covering.",
            "WRAPPING": "The covering is used for wrapping particularly of distribution elements using tape."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCovering.htm"
    },
    "IfcCoveringType": {
        "description": "The element type IfcCoveringType defines commonly shared information for occurrences of coverings. The set of shared information may include:",
        "predefined_types": {
            "CEILING": "The covering is used to represent a ceiling.",
            "CLADDING": "The covering is used to represent a cladding.",
            "COPING": "A protective capping or covering of a wall or a parapet.",
            "FLOORING": "The covering is used to represent a flooring.",
            "INSULATION": "The covering is used to insulate an element for thermal or acoustic purposes.",
            "MEMBRANE": "An impervious layer that could be used for e.g. roof covering (below tiling - that may be known as sarking etc.) or as a damp proof course membrane; also, waterproofing material on a bridge structure (typically on top of bridge slab).",
            "MOLDING": "The covering is used to represent a molding being a strip of material to cover the transition of surfaces (often between wall cladding and ceiling).",
            "NOTDEFINED": "Undefined type of covering.",
            "ROOFING": "The covering is used to represent a roof covering.",
            "SKIRTINGBOARD": "The covering is used to represent a skirting board being a strip of material to cover the transition between the wall cladding and the flooring.",
            "SLEEVING": "The covering is used to isolate a distribution element from a space in which it is contained.",
            "TOPPING": "A layer of material used for leveling or flattening a surface.",
            "USERDEFINED": "User defined type of covering.",
            "WRAPPING": "The covering is used for wrapping particularly of distribution elements using tape."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCoveringType.htm"
    },
    "IfcCrewResource": {
        "description": "IfcCrewResource represents a collection of internal resources used in construction processes.",
        "predefined_types": {
            "NOTDEFINED": "Undefined resource.",
            "OFFICE": "A composition of resources performing administration work in an office.",
            "SITE": "A composition of resources performing production work on a construction site.",
            "USERDEFINED": "User-defined resource."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCrewResource.htm"
    },
    "IfcCrewResourceType": {
        "description": "The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include:",
        "predefined_types": {
            "NOTDEFINED": "Undefined resource.",
            "OFFICE": "A composition of resources performing administration work in an office.",
            "SITE": "A composition of resources performing production work on a construction site.",
            "USERDEFINED": "User-defined resource."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCrewResourceType.htm"
    },
    "IfcCsgPrimitive3D": {
        "attributes": {
            "Position": "The placement coordinate system to which the parameters of each individual CSG primitive apply."
        },
        "description": "IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCsgPrimitive3D.htm"
    },
    "IfcCsgSolid": {
        "attributes": {
            "TreeRootExpression": "Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entity or as a primitive (subtypes of IfcCsgPrimitive3D)."
        },
        "description": "An IfcCsgSolid is the representation of a 3D shape using constructive solid geometry model. It is represented by a single 3D CSG primitive, or as a result of a Boolean operation. The operants of a Boolean operation can be Boolean operations themselves forming a CSG tree. The following volumes can be parts of the CSG tree:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCsgSolid.htm"
    },
    "IfcCurrencyRelationship": {
        "attributes": {
            "ExchangeRate": "The currently agreed ratio of the amount of a related monetary unit that is equivalent to a unit amount of the relating monetary unit in a currency relationship. For instance, in the case of a conversion from GBP to USD, the value of the exchange rate may be 1.486 (USD) : 1 (GBP).",
            "RateDateTime": "The date and time at which an exchange rate applies.",
            "RateSource": "The source from which an exchange rate is obtained.",
            "RelatedMonetaryUnit": "The monetary unit to which an exchange results. For instance, in the case of a conversion from GBP to USD, the related monetary unit is USD.",
            "RelatingMonetaryUnit": "The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP."
        },
        "description": "IfcCurrencyRelationship defines the rate of exchange that applies between two designated currencies at a particular time and as published by a particular source.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCurrencyRelationship.htm"
    },
    "IfcCurtainWall": {
        "description": "A curtain wall is a wall of a building which is an assembly of components, hung from the edge of the floor/roof structure rather than bearing on a floor. Curtain wall is represented as a building element assembly and implemented as a subtype of IfcBuildingElement that uses an IfcRelAggregates relationship. A curtain wall is often external, but using Pset_CurtainWallCommon.IsExternal can be used to define interior curtain walls.",
        "predefined_types": {
            "NOTDEFINED": "",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCurtainWall.htm"
    },
    "IfcCurtainWallType": {
        "description": "The building element type IfcCurtainWallType defines commonly shared information for occurrences of curtain walls. The set of shared information may include:",
        "predefined_types": {
            "NOTDEFINED": "",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCurtainWallType.htm"
    },
    "IfcCurve": {
        "description": "An IfcCurve is a curve in two-dimensional or three-dimensional space. It includes definitions for bounded and unbounded curves.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCurve.htm"
    },
    "IfcCurveBoundedPlane": {
        "attributes": {
            "BasisSurface": "The surface to be bound.",
            "InnerBoundaries": "An optional set of inner boundaries. They shall not intersect each other or the outer boundary.",
            "OuterBoundary": "The outer boundary of the surface."
        },
        "description": "The IfcCurveBoundedPlane is a parametric planar surface with curved boundaries defined by one or more boundary curves. The bounded plane is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCurveBoundedPlane.htm"
    },
    "IfcCurveBoundedSurface": {
        "attributes": {
            "BasisSurface": "The surface to be bounded.",
            "Boundaries": "The outer boundary of the surface.",
            "ImplicitOuter": ""
        },
        "description": "The IfcCurveBoundedSurface is a parametric surface with boundaries defined by p-curves, that is, a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The p-curve is a special type of a composite curve segment and shall only be used to bound a surface.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCurveBoundedSurface.htm"
    },
    "IfcCurveSegment": {
        "attributes": {
            "ParentCurve": "Curve to be used as base for the segment definition.",
            "Placement": "Placement in the context of the curve using this segment. As insertion point SegmentStart is the reference point of Placement. RefDirection of Placement also specifies the sense of the trimmed segment of ParentCurve. RefDirection is bound to the paramettrization sense of the segment.",
            "SegmentLength": "Length of segment measured as length or parameter value from SegmentStart. The sign of this value defines the sense agreement.",
            "SegmentStart": "First trimming point of the curve segment on the ParentCurve. This point is used as the insertion point into the segmented, gradient or composite curve using this segment."
        },
        "description": "A type of segment positioned along a curve cutting a segment from the parent curve. If the segment is placed through IfcAxis2PlacementLinear, the positioning curve (Placement.Location.BasisCurve) does not necessarily correspond with the ParentCurve.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCurveSegment.htm"
    },
    "IfcCurveStyle": {
        "attributes": {
            "CurveColour": "The colour of the visible part of the curve. If not given, then the colour should be taken from the layer assignment with style, if that is not given either, then the default colour applies.",
            "CurveFont": "A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies.",
            "CurveWidth": "A positive length measure in units of the presentation area for the width of a presented curve. If not given, then the style should be taken from the layer assignment with style, if that is not given either, then the default style applies.",
            "ModelOrDraughting": "Indication whether the length measures provided for the presentation style are model based, or draughting based."
        },
        "description": "An IfcCurveStyle provides the style table for presentation information assigned to geometric curves. The style is defined by a color, a font and a width. The IfcCurveStyle defines curve patterns as model patterns, that is, the distance between visible and invisible segments of curve patterns are given in model space dimensions (that have to be scaled using the target plot scale).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCurveStyle.htm"
    },
    "IfcCurveStyleFont": {
        "attributes": {
            "Name": "Name that may be assigned with the curve font.",
            "PatternList": "A list of curve font pattern entities, that contains the simple patterns used for drawing curves. The patterns are applied in the order they occur in the list."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-46:1992\n> A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCurveStyleFont.htm"
    },
    "IfcCurveStyleFontAndScaling": {
        "attributes": {
            "CurveFontScaling": "The scale factor.",
            "CurveStyleFont": "",
            "Name": "Name that may be assigned with the scaling of a curve font."
        },
        "description": "The IfcCurveStyleFontAndScaling allows for the reuse of the same curve style definition in several sizes. The definition of the CurveFontScale is the scaling of a base curve style pattern to be used as a new or derived curve style pattern.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCurveStyleFontAndScaling.htm"
    },
    "IfcCurveStyleFontPattern": {
        "attributes": {
            "InvisibleSegmentLength": "The length of the invisible segment in the pattern definition.",
            "VisibleSegmentLength": "The length of the visible segment in the pattern definition."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-46:1992\n> A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCurveStyleFontPattern.htm"
    },
    "IfcCylindricalSurface": {
        "attributes": {
            "Radius": "The radius of the cylindrical surface."
        },
        "description": "The cylindrical surface is a surface unbounded in the direction of z. Bounded cylindrical surfaces are defined by using a subtype of IfcBoundedSurface with BasisSurface being a cylindrical surface.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCylindricalSurface.htm"
    },
    "IfcDamper": {
        "description": "A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air.",
        "predefined_types": {
            "BACKDRAFTDAMPER": "Damper used for purposes of manually balancing pressure differences.  Commonly operated by mechanical adjustment.",
            "BALANCINGDAMPER": "Backdraft damper used to restrict the movement of air in one direction.  Commonly operated by mechanical spring.",
            "BLASTDAMPER": "Blast damper used to prevent protect occupants and equipment against overpressures resultant of an explosion.  Commonly operated by mechanical spring.",
            "CONTROLDAMPER": "Control damper used to modulate the flow of air by adjusting the position of the blades.  Commonly operated by an actuator of a building automation system.",
            "FIREDAMPER": "Fire damper used to prevent the spread of fire for a specified duration.  Commonly operated by fusable link that melts above a certain temperature.",
            "FIRESMOKEDAMPER": "Combination fire and smoke damper used to prevent the spread of fire and smoke.  Commonly operated by a fusable link and a smoke detector.",
            "FUMEHOODEXHAUST": "Fume hood exhaust damper.  Commonly operated by actuator.",
            "GRAVITYDAMPER": "Gravity damper closes from the force of gravity.  Commonly operated by gravitational weight.",
            "GRAVITYRELIEFDAMPER": "Gravity-relief damper used to allow air to move upon a buildup of enough pressure to overcome the gravitational force exerted upon the damper blades.  Commonly operated by gravitational weight.",
            "NOTDEFINED": "Undefined damper.",
            "RELIEFDAMPER": "Relief damper used to allow air to move upon a buildup of a specified pressure differential.  Commonly operated by mechanical spring.",
            "SMOKEDAMPER": "Smoke damper used to prevent the spread of smoke.  Commonly operated by a smoke detector of a building automation system.",
            "USERDEFINED": "User-defined damper."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDamper.htm"
    },
    "IfcDamperType": {
        "description": "The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include:",
        "predefined_types": {
            "BACKDRAFTDAMPER": "Damper used for purposes of manually balancing pressure differences.  Commonly operated by mechanical adjustment.",
            "BALANCINGDAMPER": "Backdraft damper used to restrict the movement of air in one direction.  Commonly operated by mechanical spring.",
            "BLASTDAMPER": "Blast damper used to prevent protect occupants and equipment against overpressures resultant of an explosion.  Commonly operated by mechanical spring.",
            "CONTROLDAMPER": "Control damper used to modulate the flow of air by adjusting the position of the blades.  Commonly operated by an actuator of a building automation system.",
            "FIREDAMPER": "Fire damper used to prevent the spread of fire for a specified duration.  Commonly operated by fusable link that melts above a certain temperature.",
            "FIRESMOKEDAMPER": "Combination fire and smoke damper used to prevent the spread of fire and smoke.  Commonly operated by a fusable link and a smoke detector.",
            "FUMEHOODEXHAUST": "Fume hood exhaust damper.  Commonly operated by actuator.",
            "GRAVITYDAMPER": "Gravity damper closes from the force of gravity.  Commonly operated by gravitational weight.",
            "GRAVITYRELIEFDAMPER": "Gravity-relief damper used to allow air to move upon a buildup of enough pressure to overcome the gravitational force exerted upon the damper blades.  Commonly operated by gravitational weight.",
            "NOTDEFINED": "Undefined damper.",
            "RELIEFDAMPER": "Relief damper used to allow air to move upon a buildup of a specified pressure differential.  Commonly operated by mechanical spring.",
            "SMOKEDAMPER": "Smoke damper used to prevent the spread of smoke.  Commonly operated by a smoke detector of a building automation system.",
            "USERDEFINED": "User-defined damper."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDamperType.htm"
    },
    "IfcDeepFoundation": {
        "description": "Deep foundation is a type of foundation that transfers loads deeper than shallow foundation below the soft soils not capable of bearing the above structure. Depending on the soil strength it might have to reach down to the rock layer.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDeepFoundation.htm"
    },
    "IfcDeepFoundationType": {
        "description": "Types of Deep Foundation.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDeepFoundationType.htm"
    },
    "IfcDerivedProfileDef": {
        "attributes": {
            "Label": "The name by which the transformation may be referred to. The actual meaning of the name has to be defined in the context of applications.",
            "Operator": "Transformation operator applied to the parent profile.",
            "ParentProfile": "The parent profile provides the origin of the transformation."
        },
        "description": "IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDerivedProfileDef.htm"
    },
    "IfcDerivedUnit": {
        "attributes": {
            "Elements": "The group of units and their exponents that define the derived unit.",
            "Name": "Name of the unit in addition to the unit type, particularly when the derived unit elements refer to conversion or context based units.",
            "UnitType": "Type of the derived unit chosen from an enumeration of derived unit types for use in IFC models.",
            "UserDefinedType": "Type of the derived unit if the UnitType attribute is set to USERDEFINED."
        },
        "description": "A derived unit is a unit that is formed from an expression of other units.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDerivedUnit.htm"
    },
    "IfcDerivedUnitElement": {
        "attributes": {
            "Exponent": "The power that is applied to the unit attribute.",
            "Unit": "The fixed quantity which is used as the mathematical factor."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-41:1992\n> A derived unit element is one of the unit quantities which makes up a derived unit.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDerivedUnitElement.htm"
    },
    "IfcDimensionalExponents": {
        "attributes": {
            "AmountOfSubstanceExponent": "The power of the amount of substance base quantity.",
            "ElectricCurrentExponent": "The power of the electric current base quantity.",
            "LengthExponent": "The power of the length base quantity.",
            "LuminousIntensityExponent": "The power of the luminous intensity base quantity.",
            "MassExponent": "The power of the mass base quantity.",
            "ThermodynamicTemperatureExponent": "The power of the thermodynamic temperature base quantity.",
            "TimeExponent": "The power of the time base quantity."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-41:1992\n> The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical quantities are founded on seven base quantities (ISO 31 (clause 2)).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDimensionalExponents.htm"
    },
    "IfcDirection": {
        "attributes": {
            "DirectionRatios": "The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3])"
        },
        "description": "The IfcDirection provides a direction in two or three dimensional space depending on the number of DirectionRatio's provided. The IfcDirection does not imply a vector length, and the direction ratios does not have to be normalized.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDirection.htm"
    },
    "IfcDirectrixCurveSweptAreaSolid": {
        "attributes": {
            "Directrix": "The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\\IfcSweptAreaSolid.SweptArea along the Directrix.",
            "EndParam": "The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.",
            "StartParam": "The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix."
        },
        "description": "An abstract entity defining common information about a type of swept area solid which is the result of sweeping an area along a Directrix. The swept area is provided by a subtype of IfcProfileDef. The profile is placed by an implicit cartesian transformation operator at the start point of the sweep, where the profile normal agrees to the tangent of the directrix at this point. The direction of profile\ufffds x-axis is specialized by the subtypes of IfcDirextrixCurveSweptAreaSolid.\nThe start of the sweeping operation is at the StartParam, the parameter value is provided based on the curve parameterization. If no StartParam is provided the start defaults to the begin of the directrix. The end of the sweeping operation is at the EndParam, the parameter value is provided based on the curve parameterization. If no EndParam is provided the end defaults to the end of the directrix.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDirectrixCurveSweptAreaSolid.htm"
    },
    "IfcDirectrixDerivedReferenceSweptAreaSolid": {
        "description": "In most cases the case the IfcDirectrixDerivedReferenceSweptAreaSolid has exactly the same behavior as IfcFixedReferenceSweptAreaSolid, except when the Directrix not only defines a tangent direction but a tangent plane for each point on the curve. Like for example in the case of a IfcSegmentReferenceCurve, the change in y directioin of the tangent plane is added to the fixed reference. The change in y direction at the start of the directrix is defined to be 0 independent from StartParam value, this means the change can be non-zero at the start of the resulting Swept Area Solid.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDirectrixDerivedReferenceSweptAreaSolid.htm"
    },
    "IfcDiscreteAccessory": {
        "description": "A discrete accessory is a representation of different kinds of accessories included in or added to elements.",
        "predefined_types": {
            "ANCHORPLATE": "An accessory consisting of a steel plate, shear stud connectors or welded-on rebar which is embedded into the surface of a concrete element so that other elements can be welded or bolted onto it later.",
            "BIRDPROTECTION": "A device that prevents a sitting down of birds at electrically critical points and thus birds are protected against electrical shocks and disturbances by short circuit are avoided.",
            "BRACKET": "An L-shaped or similarly shaped accessory attached in a corner between elements to hold them together or to carry a secondary element.",
            "CABLEARRANGER": "A cable arranger is a flexible accessory or a part of a component placed around cables to arrange and minimize flexing of them at the point where it is placed.",
            "ELASTIC_CUSHION": "A track elastic cushion is a kind of layer set on grooved sides of a concrete base, which is used for mitigating the impact of longitudinal and lateral load on track structures. A track elastic cushion shall only appear in ballastless track structures.",
            "EXPANSION_JOINT_DEVICE": "Assembly connection element between construction elements to allow for thermic differential expansions.",
            "FILLER": "Sealant, gap filler rod, packing material or other used to close a gap.",
            "FLASHING": "Construction material used to manage the passage of water around objects.",
            "INSULATOR": "A device designed to support and insulate a conductive element. Note: definition from IEC 151-15-39.",
            "LOCK": "A lock is a mechanical or electronic fastening device that is released either by a physical object (e.g., key, fingerprint, RFID card, security token etc.), by supplying secret information (e.g., number permutation, password), or by a combination thereof.",
            "NOTDEFINED": "Undefined accessory.",
            "PANEL_STRENGTHENING": "A component that minimizes pump effects of the substructure.",
            "POINTMACHINEMOUNTINGDEVICE": "Point machine mounting device.",
            "POINT_MACHINE_LOCKING_DEVICE": "Point machine locking device.",
            "RAILBRACE": "A rail component that prevents rails from tipping and twisting.",
            "RAILPAD": "A non-metallic pad placed between rail and baseplate or rail and sleeper, bearer or slab. Note: definition from EN 13481-1.",
            "RAIL_LUBRICATION": "A device that prevents wearing of the rails throughout the flange of wheel to reduce noise emissions. It is often located at inner side of the outer rail in a curve or near turnouts (depends on function wearing or noise reduction).",
            "RAIL_MECHANICAL_EQUIPMENT": "A rail mechanical equipment is a mechnical equipment installed at railside, like blocking device, speed regulator, bias loaded inspector, track scale or controllable retarder.",
            "SHOE": "A column shoe or a beam shoe (beam hanger) used to support or secure an element.",
            "SLIDINGCHAIR": "A component which supports and retains the stock rail and a flat surface upon which the foot of the switch rail slides.",
            "SOUNDABSORPTION": "A component in the track for sound absorption and may also absorb vibrations. It is often used in combination with slab tracks.",
            "TENSIONINGEQUIPMENT": "An equipment used to maintain the tension of conductors or cables.",
            "USERDEFINED": "User-defined accessory."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDiscreteAccessory.htm"
    },
    "IfcDiscreteAccessoryType": {
        "description": "The element component type IfcDiscreteAccessoryType defines commonly shared information for occurrences of discrete accessories. The set of shared information may include:",
        "predefined_types": {
            "ANCHORPLATE": "An accessory consisting of a steel plate, shear stud connectors or welded-on rebar which is embedded into the surface of a concrete element so that other elements can be welded or bolted onto it later.",
            "BIRDPROTECTION": "A device that prevents a sitting down of birds at electrically critical points and thus birds are protected against electrical shocks and disturbances by short circuit are avoided.",
            "BRACKET": "An L-shaped or similarly shaped accessory attached in a corner between elements to hold them together or to carry a secondary element.",
            "CABLEARRANGER": "A cable arranger is a flexible accessory or a part of a component placed around cables to arrange and minimize flexing of them at the point where it is placed.",
            "ELASTIC_CUSHION": "A track elastic cushion is a kind of layer set on grooved sides of a concrete base, which is used for mitigating the impact of longitudinal and lateral load on track structures. A track elastic cushion shall only appear in ballastless track structures.",
            "EXPANSION_JOINT_DEVICE": "Assembly connection element between construction elements to allow for thermic differential expansions.",
            "FILLER": "Sealant, gap filler rod, packing material or other used to close a gap.",
            "FLASHING": "Construction material used to manage the passage of water around objects.",
            "INSULATOR": "A device designed to support and insulate a conductive element. Note: definition from IEC 151-15-39.",
            "LOCK": "A lock is a mechanical or electronic fastening device that is released either by a physical object (e.g., key, fingerprint, RFID card, security token etc.), by supplying secret information (e.g., number permutation, password), or by a combination thereof.",
            "NOTDEFINED": "Undefined accessory.",
            "PANEL_STRENGTHENING": "A component that minimizes pump effects of the substructure.",
            "POINTMACHINEMOUNTINGDEVICE": "Point machine mounting device.",
            "POINT_MACHINE_LOCKING_DEVICE": "Point machine locking device.",
            "RAILBRACE": "A rail component that prevents rails from tipping and twisting.",
            "RAILPAD": "A non-metallic pad placed between rail and baseplate or rail and sleeper, bearer or slab. Note: definition from EN 13481-1.",
            "RAIL_LUBRICATION": "A device that prevents wearing of the rails throughout the flange of wheel to reduce noise emissions. It is often located at inner side of the outer rail in a curve or near turnouts (depends on function wearing or noise reduction).",
            "RAIL_MECHANICAL_EQUIPMENT": "A rail mechanical equipment is a mechnical equipment installed at railside, like blocking device, speed regulator, bias loaded inspector, track scale or controllable retarder.",
            "SHOE": "A column shoe or a beam shoe (beam hanger) used to support or secure an element.",
            "SLIDINGCHAIR": "A component which supports and retains the stock rail and a flat surface upon which the foot of the switch rail slides.",
            "SOUNDABSORPTION": "A component in the track for sound absorption and may also absorb vibrations. It is often used in combination with slab tracks.",
            "TENSIONINGEQUIPMENT": "An equipment used to maintain the tension of conductors or cables.",
            "USERDEFINED": "User-defined accessory."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDiscreteAccessoryType.htm"
    },
    "IfcDistributionBoard": {
        "description": "A distribution board is a flow controller in which instances of electrical or communication devices are brought together at a single place for a particular purpose.",
        "predefined_types": {
            "CONSUMERUNIT": "A distribution point on the incoming electrical supply, typically in domestic premises, at which protective devices are located.",
            "DISPATCHINGBOARD": "A distribution point at which voice and data communication signals are managed between communication devices.",
            "DISTRIBUTIONBOARD": "A distribution point at which connections are made for distribution of electrical circuits usually through protective devices.",
            "DISTRIBUTIONFRAME": "A distribution frame is used to interconnect and manage wiring between active equipment and subscriber. It might be composed of multiple distribution boards and other components.",
            "MOTORCONTROLCENTRE": "A distribution point at which starting and control devices for major plant items are located.",
            "NOTDEFINED": "Undefined type.",
            "SWITCHBOARD": "A distribution point at which switching devices are located.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDistributionBoard.htm"
    },
    "IfcDistributionBoardType": {
        "description": "The flow controller type IfcDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include:",
        "predefined_types": {
            "CONSUMERUNIT": "A distribution point on the incoming electrical supply, typically in domestic premises, at which protective devices are located.",
            "DISPATCHINGBOARD": "A distribution point at which voice and data communication signals are managed between communication devices.",
            "DISTRIBUTIONBOARD": "A distribution point at which connections are made for distribution of electrical circuits usually through protective devices.",
            "DISTRIBUTIONFRAME": "A distribution frame is used to interconnect and manage wiring between active equipment and subscriber. It might be composed of multiple distribution boards and other components.",
            "MOTORCONTROLCENTRE": "A distribution point at which starting and control devices for major plant items are located.",
            "NOTDEFINED": "Undefined type.",
            "SWITCHBOARD": "A distribution point at which switching devices are located.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDistributionBoardType.htm"
    },
    "IfcDistributionChamberElement": {
        "description": "A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel.",
        "predefined_types": {
            "FORMEDDUCT": "Space formed in the ground for the passage of pipes, cables, ducts.",
            "INSPECTIONCHAMBER": "Chamber constructed on a drain, sewer or pipeline with a removable cover that permits visible inspection.",
            "INSPECTIONPIT": "Recess or chamber formed to permit access for inspection of substructure and services.",
            "MANHOLE": "Chamber constructed on a drain, sewer or pipeline with a removable cover that permits the entry of a person.",
            "METERCHAMBER": "Chamber that houses a meter(s).",
            "NOTDEFINED": "Undefined chamber type.",
            "SUMP": "Recessed or small chamber into which liquid is drained to facilitate its collection for removal.",
            "TRENCH": "Excavated chamber, the length of which typically exceeds the width.",
            "USERDEFINED": "User-defined chamber type.",
            "VALVECHAMBER": "Chamber that houses a valve(s)."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDistributionChamberElement.htm"
    },
    "IfcDistributionChamberElementType": {
        "description": "The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include:",
        "predefined_types": {
            "FORMEDDUCT": "Space formed in the ground for the passage of pipes, cables, ducts.",
            "INSPECTIONCHAMBER": "Chamber constructed on a drain, sewer or pipeline with a removable cover that permits visible inspection.",
            "INSPECTIONPIT": "Recess or chamber formed to permit access for inspection of substructure and services.",
            "MANHOLE": "Chamber constructed on a drain, sewer or pipeline with a removable cover that permits the entry of a person.",
            "METERCHAMBER": "Chamber that houses a meter(s).",
            "NOTDEFINED": "Undefined chamber type.",
            "SUMP": "Recessed or small chamber into which liquid is drained to facilitate its collection for removal.",
            "TRENCH": "Excavated chamber, the length of which typically exceeds the width.",
            "USERDEFINED": "User-defined chamber type.",
            "VALVECHAMBER": "Chamber that houses a valve(s)."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDistributionChamberElementType.htm"
    },
    "IfcDistributionCircuit": {
        "description": "A distribution circuit is a partition of a distribution system that is conditionally switched such as an electrical circuit.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDistributionCircuit.htm"
    },
    "IfcDistributionControlElement": {
        "attributes": {
            "AssignedToFlowElement": "Reference through the relationship object to related distribution flow elements."
        },
        "description": "The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDistributionControlElement.htm"
    },
    "IfcDistributionControlElementType": {
        "description": "The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDistributionControlElementType.htm"
    },
    "IfcDistributionElement": {
        "attributes": {
            "HasPorts": "Reference to the element to port connection relationship. The relationship then refers to the port which is contained in this element."
        },
        "description": "This IfcDistributionElement is a generalization of all elements that participate in a distribution system. Typical examples of IfcDistributionElement's are (among others):",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDistributionElement.htm"
    },
    "IfcDistributionElementType": {
        "description": "The IfcDistributionElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDistributionElementType.htm"
    },
    "IfcDistributionFlowElement": {
        "attributes": {
            "HasControlElements": "Reference to the relationship object that relates control elements."
        },
        "description": "The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDistributionFlowElement.htm"
    },
    "IfcDistributionFlowElementType": {
        "description": "The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDistributionFlowElementType.htm"
    },
    "IfcDistributionPort": {
        "attributes": {
            "FlowDirection": "Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource.",
            "SystemType": "Enumeration that identifies the system type.  If a system type is defined, the port may only be connected to other ports having the same system type."
        },
        "description": "A distribution port is an inlet or outlet of a product through which a particular substance may flow.",
        "predefined_types": {
            "CABLE": "Connection to cable segment or fitting for distribution of electricity.",
            "CABLECARRIER": "Connection to cable carrier segment or fitting for enclosing cables.",
            "DUCT": "Connection to duct segment or fitting for distribution of air.",
            "NOTDEFINED": "Undefined port type.",
            "PIPE": "Connection to pipe segment or fitting for distribution of solid, liquid, or gas.",
            "USERDEFINED": "User-defined port type.",
            "WIRELESS": "Wireless connection to communication appliances for distribution of data or communication."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDistributionPort.htm"
    },
    "IfcDistributionSystem": {
        "attributes": {
            "LongName": "Long name for a distribution system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute."
        },
        "description": "A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals.",
        "predefined_types": {
            "AIRCONDITIONING": "Conditioned air distribution system for purposes of maintaining a temperature range within one or more spaces.",
            "AUDIOVISUAL": "A transport of a single media source, having audio and/or video streams.",
            "CATENARY_SYSTEM": "A longitudinal distribution system that supports contact wires, including catenary wire droppers and stich wires.",
            "CHEMICAL": "Arbitrary chemical further qualified by property set, such as for medical or industrial use.",
            "CHILLEDWATER": "Nonpotable chilled water, such as circulated through an evaporator.",
            "COMMUNICATION": "Communication",
            "COMPRESSEDAIR": "Compressed air system.",
            "CONDENSERWATER": "Nonpotable water, such as circulated through a condenser.",
            "CONTROL": "A transport or network dedicated to control system usage.",
            "CONVEYING": "Arbitrary supply of substances.",
            "DATA": "A network having general-purpose usage.",
            "DISPOSAL": "Arbitrary disposal of substances.",
            "DOMESTICCOLDWATER": "Unheated potable water distribution system.",
            "DOMESTICHOTWATER": "Heated potable water distribution system.",
            "DRAINAGE": "Drainage collection system.",
            "EARTHING": "A path for equipotential bonding, conducting current to the ground.",
            "ELECTRICAL": "A circuit for delivering electrical power.",
            "ELECTROACOUSTIC": "An amplified audio signal such as for loudspeakers.",
            "EXHAUST": "Exhaust air collection system for removing stale or noxious air from one or more spaces.",
            "FIREPROTECTION": "Fire protection sprinkler system.",
            "FIXEDTRANSMISSIONNETWORK": "Represents all wired networks that provide a data transmission channel using optical fiber cables, copper cables or both. It aggregates many technologies that are based on the multiplexing method.",
            "FUEL": "Arbitrary supply of fuel.",
            "GAS": "Gas-phase materials such as methane or natural gas.",
            "HAZARDOUS": "Hazardous material or fluid collection system.",
            "HEATING": "Water or steam heated from a boiler and circulated through radiators.",
            "LIGHTING": "A circuit dedicated for lighting, such as a fixture having sockets for lamps.",
            "LIGHTNINGPROTECTION": "A path for conducting lightning current to the ground.",
            "MOBILENETWORK": "Mobile network insures wireless communication by providing a secure platform for voice and data communication between infrastructure operators, including drivers, dispatchers, shunting team members and station controllers.",
            "MONITORINGSYSTEM": "Sensor-based system for building and infastructure environmental monitoring and control.",
            "MUNICIPALSOLIDWASTE": "Items consumed and discarded, commonly known as trash or garbage.",
            "NOTDEFINED": "",
            "OIL": "Oil distribution system.",
            "OPERATIONAL": "Operating supplies system.",
            "OPERATIONALTELEPHONYSYSTEM": "A system that allows communications between operators (e.g. switchtender, traffic regulator, operational agents, etc.) in operational centers and on the infrastructure site (e.g. railway, tunnel or road).",
            "OVERHEAD_CONTACTLINE_SYSTEM": "An overhead contact line system above the upper limit of the train using an overhead contact line and a catenary system to supply current to traction units.",
            "POWERGENERATION": "A path for power generation.",
            "RAINWATER": "Rainwater resulting from precipitation which directly falls on a parcel.",
            "REFRIGERATION": "Refrigerant distribution system for purposes of fulfilling all or parts of a refrigeration cycle.",
            "RETURN_CIRCUIT": "A distribution system which forms the intended path for the traction return current and the current under fault conditions.",
            "SECURITY": "A transport or network dedicated to security system usage.",
            "SEWAGE": "Sewage collection system.",
            "SIGNAL": "A raw analog signal, such as modulated data or measurements from sensors.",
            "STORMWATER": "Stormwater resulting from precipitation which runs off or travels over the ground surface.",
            "TELEPHONE": "A transport or network dedicated to telephone system usage.",
            "TV": "A transport of multiple media sources such as analog cable TV, satellite TV, or over-the-air TV.",
            "USERDEFINED": "",
            "VACUUM": "Vacuum distribution system.",
            "VENT": "Vent system for wastewater piping systems.",
            "VENTILATION": "Ventilation air distribution system involved in either the exchange of air to the outside as well as circulation of air within a building.",
            "WASTEWATER": "Water adversely affected in quality by anthropogenic influence, possibly originating from sewage, drainage, or other source.",
            "WATERSUPPLY": "Arbitrary water supply."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDistributionSystem.htm"
    },
    "IfcDocumentInformation": {
        "attributes": {
            "Confidentiality": "The level of confidentiality of the document.",
            "CreationTime": "Date and time stamp when the document was originally created.",
            "Description": "Description of document and its content.",
            "DocumentInfoForObjects": "The document information with which objects are associated.",
            "DocumentOwner": "Information about the person and/or organization acknowledged as the 'owner' of this document. In some contexts, the document owner determines who has access to or editing right to the document.",
            "Editors": "The persons and/or organizations who have created this document or contributed to it.",
            "ElectronicFormat": "Describes the media type used in various internet protocols, also referred to as \"Content-type\", or \"MIME-type (Multipurpose Internet Mail Extension), of the document being referenced. It is composed of (at least) two parts, a type and a subtype.",
            "HasDocumentReferences": "The document references to which the document applies",
            "Identification": "Identifier that uniquely identifies a document.",
            "IntendedUse": "Intended use for this document.",
            "IsPointedTo": "An inverse relationship from the IfcDocumentInformationRelationship to the related documents.",
            "IsPointer": "An inverse relationship from the IfcDocumentInformationRelationship to the relating document.",
            "LastRevisionTime": "Date and time stamp when this document version was created.",
            "Location": "Resource identifier or locator, provided as URI, URN or URL, of the document information for online references.",
            "Name": "File name or document name assigned by owner.",
            "Purpose": "Purpose for this document.",
            "Revision": "Document revision designation.",
            "Scope": "Scope for this document.",
            "Status": "The current status of the document. Examples of status values that might be used for a document information status include: - DRAFT - FINAL DRAFT - FINAL - REVISION",
            "ValidFrom": "Date when the document becomes valid.",
            "ValidUntil": "Date until which the document remains valid."
        },
        "description": "IfcDocumentInformation captures \"metadata\" of an external document. The actual content of the document is not defined in this specification; instead, it can be found following the Location attribute.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDocumentInformation.htm"
    },
    "IfcDocumentInformationRelationship": {
        "attributes": {
            "RelatedDocuments": "The document that acts as the child, referenced or replacing document in a relationship.",
            "RelatingDocument": "The document that acts as the parent, referencing or original document in a relationship.",
            "RelationshipType": "Describes the type of relationship between documents. This could be sub-document, replacement etc. The interpretation has to be established in an application context."
        },
        "description": "An IfcDocumentInformationRelationship is a relationship entity that enables a document to have the ability to reference other documents. It is used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDocumentInformationRelationship.htm"
    },
    "IfcDocumentReference": {
        "attributes": {
            "Description": "Description of the document reference for informational purposes.",
            "DocumentRefForObjects": "The document reference with which objects are associated.",
            "ReferencedDocument": "The document that is referenced."
        },
        "description": "An IfcDocumentReference is a reference to the location of a document. The reference is given by a system interpretable Location attribute (a URL string) where the document can be found, and an optional inherited internal reference Identification, which refers to a system interpretable position within the document. The optional inherited Name attribute is meant to have meaning for human readers. Optional document metadata can also be captured through reference to IfcDocumentInformation.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDocumentReference.htm"
    },
    "IfcDoor": {
        "attributes": {
            "OperationType": "Type defining the general layout and operation of the door type in terms of the partitioning of panels and panel operations.",
            "OverallHeight": "Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted.",
            "OverallWidth": "Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of theE door opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the door is inserted.",
            "UserDefinedOperationType": "Designator for the user defined operation type, shall only be provided, if the value of OperationType is set to USERDEFINED."
        },
        "description": "The door is a built element that is predominately used to provide controlled access for people, goods, animals and vehicles. It includes constructions with hinged, pivoted, sliding, and additionally revolving and folding operations. A door can:",
        "predefined_types": {
            "BOOM_BARRIER": "A boom barrier (also known as a boom gate) is a bar, or pole pivoted to allow the boom to block vehicular or pedestrian access through a controlled point.",
            "DOOR": "A standard door usually within a wall opening, as a door panel in a curtain wall, or as a \"free standing\" door.",
            "GATE": "A gate is a point of entry into a space usually within an opening in a fence. Or as a \"free standing\" gate.",
            "NOTDEFINED": "Undefined door element.",
            "TRAPDOOR": "A special door that lies horizonally in a slab opening. Often used for accessing cellar or attic.",
            "TURNSTILE": "A mechanical gate consisting of revolving arms, allowing only one person at a time to pass through.",
            "USERDEFINED": "User-defined door element."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDoor.htm"
    },
    "IfcDoorLiningProperties": {
        "attributes": {
            "CasingDepth": "Depth of the casing (dimension in plane perpendicular to door leaf). If given it is applied equally to all four sides of the adjacent wall.",
            "CasingThickness": "Thickness of the casing (dimension in plane of the door leaf). If given it is applied equally to all four sides of the adjacent wall.",
            "LiningDepth": "Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted).",
            "LiningOffset": "Offset (dimension in plane perpendicular to door leaf) of the door lining. The offset is given as distance to the x axis of the local placement.",
            "LiningThickness": "Thickness of the door lining as explained in the figure above. If LiningThickness value is 0. (zero) it denotes a door without a lining (all other lining parameters shall be set to NIL in this case). If the LiningThickness is NIL it denotes that the value is not available.",
            "LiningToPanelOffsetX": "Offset between the lining and the window panel measured along the x-axis of the local placement.",
            "LiningToPanelOffsetY": "Offset between the lining and the door panel measured along the y-axis of the local placement.",
            "ShapeAspectStyle": "Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door lining.",
            "ThresholdDepth": "Depth (dimension in plane perpendicular to door leaf) of the door threshold. Only given if the door lining includes a threshold. If omitted (and with a given value to threshold thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted).",
            "ThresholdOffset": "Offset (dimension in plane perpendicular to door leaf) of the door threshold. The offset is given as distance to the x axis of the local placement. Only given if the door lining includes a threshold and the parameter is known.",
            "ThresholdThickness": "Thickness of the door threshold as explained in the figure above. If ThresholdThickness value is 0. (zero) it denotes a door without a threshold (ThresholdDepth shall be set to NIL in this case). If the ThresholdThickness is NIL it denotes that the information about a threshold is not available.",
            "TransomOffset": "Offset of the transom (if given) which divides the door leaf from a glazing (or window) above. The offset is given from the bottom of the door opening.",
            "TransomThickness": "Thickness (width in plane parallel to door leaf) of the transom (if provided - that is, if the TransomOffset attribute is set), which divides the door leaf from a glazing (or window) above. If the TransomThickness is set to zero (and the TransomOffset set to a positive length), then the door is divided vertically into a leaf and transom window area without a physical frame."
        },
        "description": "The door lining is the frame which enables the door leaf to be fixed in position. The door lining is used to hang the door leaf. The parameters of the door lining define the geometrically relevant parameter of the lining.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDoorLiningProperties.htm"
    },
    "IfcDoorPanelProperties": {
        "attributes": {
            "PanelDepth": "Depth of the door panel, measured perpendicular to the plane of the door leaf.",
            "PanelOperation": "The PanelOperation defines the way of operation of that panel. The PanelOperation of the door panel has to correspond with the OperationType of the IfcDoorType by which it is referenced.",
            "PanelPosition": "Position of this panel within the door. The PanelPosition of the door panel has to correspond with the OperationType of the IfcDoorType by which it is referenced.",
            "PanelWidth": "Width of this panel, given as ratio relative to the total clear opening width of the door. If omitted, it defaults to 1. A value has to be provided for all doors with OperationType's at IfcDoorType defining a door with more then one panel.",
            "ShapeAspectStyle": "Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door panel."
        },
        "description": "A door panel is normally a door leaf that opens to allow people or goods to pass. The parameters of the door panel define the geometrically relevant parameter of the panel,",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDoorPanelProperties.htm"
    },
    "IfcDoorType": {
        "attributes": {
            "OperationType": "Type defining the general layout and operation of the door type in terms of the partitioning of panels and panel operations.",
            "ParameterTakesPrecedence": "The Boolean value reflects, whether the parameter given in the attached lining and panel properties exactly define the geometry (TRUE), or whether the attached style shape take precedence (FALSE). In the last case the parameter have only informative value. If not provided, no such information can be inferred.",
            "UserDefinedOperationType": "Designator for the user defined operation type, shall only be provided, if the value of OperationType is set to USERDEFINED."
        },
        "description": "The element type IfcDoorType defines commonly shared information for occurrences of doors. The set of shared information may include:",
        "predefined_types": {
            "BOOM_BARRIER": "A boom barrier (also known as a boom gate) is a bar, or pole pivoted to allow the boom to block vehicular or pedestrian access through a controlled point.",
            "DOOR": "A standard door usually within a wall opening, as a door panel in a curtain wall, or as a \"free standing\" door.",
            "GATE": "A gate is a point of entry into a space usually within an opening in a fence. Or as a \"free standing\" gate.",
            "NOTDEFINED": "Undefined door element.",
            "TRAPDOOR": "A special door that lies horizonally in a slab opening. Often used for accessing cellar or attic.",
            "TURNSTILE": "A mechanical gate consisting of revolving arms, allowing only one person at a time to pass through.",
            "USERDEFINED": "User-defined door element."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDoorType.htm"
    },
    "IfcDraughtingPreDefinedColour": {
        "description": "The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDraughtingPreDefinedColour.htm"
    },
    "IfcDraughtingPreDefinedCurveFont": {
        "description": "The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDraughtingPreDefinedCurveFont.htm"
    },
    "IfcDuctFitting": {
        "description": "A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting in changes in flow characteristics to the fluid such as direction and flow rate.",
        "predefined_types": {
            "BEND": "A fitting with typically two ports used to change the direction of flow between connected elements.",
            "CONNECTOR": "Connector fitting, typically used to join two ports together within a flow distribution system (e.g., a coupling used to join two duct segments).",
            "ENTRY": "Entry fitting, typically unconnected at one port and connected to a flow distribution system at the other (e.g., an outside air duct system intake opening).",
            "EXIT": "Exit fitting, typically unconnected at one port and connected to a flow distribution system at the other (e.g., an exhaust air discharge opening).",
            "JUNCTION": "A fitting with typically more than two ports used to redistribute flow among the ports and/or to change the direction of flow between connected elements (e.g, tee, cross, wye, etc.).",
            "NOTDEFINED": "Undefined fitting.",
            "OBSTRUCTION": "A fitting with typically two ports used to obstruct or restrict flow between the connected elements (e.g., screen, perforated plate, etc.).",
            "TRANSITION": "A fitting with typically two ports having different shapes or sizes. Can also be used to change the direction of flow between connected elements.",
            "USERDEFINED": "User-defined fitting."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDuctFitting.htm"
    },
    "IfcDuctFittingType": {
        "description": "The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include:",
        "predefined_types": {
            "BEND": "A fitting with typically two ports used to change the direction of flow between connected elements.",
            "CONNECTOR": "Connector fitting, typically used to join two ports together within a flow distribution system (e.g., a coupling used to join two duct segments).",
            "ENTRY": "Entry fitting, typically unconnected at one port and connected to a flow distribution system at the other (e.g., an outside air duct system intake opening).",
            "EXIT": "Exit fitting, typically unconnected at one port and connected to a flow distribution system at the other (e.g., an exhaust air discharge opening).",
            "JUNCTION": "A fitting with typically more than two ports used to redistribute flow among the ports and/or to change the direction of flow between connected elements (e.g, tee, cross, wye, etc.).",
            "NOTDEFINED": "Undefined fitting.",
            "OBSTRUCTION": "A fitting with typically two ports used to obstruct or restrict flow between the connected elements (e.g., screen, perforated plate, etc.).",
            "TRANSITION": "A fitting with typically two ports having different shapes or sizes. Can also be used to change the direction of flow between connected elements.",
            "USERDEFINED": "User-defined fitting."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDuctFittingType.htm"
    },
    "IfcDuctSegment": {
        "description": "A duct segment is used to typically join two sections of duct network.",
        "predefined_types": {
            "FLEXIBLESEGMENT": "A flexible segment is a continuous non-linear segment of duct that can be deformed and change the direction of flow.",
            "NOTDEFINED": "Undefined segment.",
            "RIGIDSEGMENT": "A rigid segment is a continuous linear segment of duct that cannot be deformed.",
            "USERDEFINED": "User-defined segment."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDuctSegment.htm"
    },
    "IfcDuctSegmentType": {
        "description": "The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include:",
        "predefined_types": {
            "FLEXIBLESEGMENT": "A flexible segment is a continuous non-linear segment of duct that can be deformed and change the direction of flow.",
            "NOTDEFINED": "Undefined segment.",
            "RIGIDSEGMENT": "A rigid segment is a continuous linear segment of duct that cannot be deformed.",
            "USERDEFINED": "User-defined segment."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDuctSegmentType.htm"
    },
    "IfcDuctSilencer": {
        "description": "A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device.",
        "predefined_types": {
            "FLATOVAL": "Flat-oval shaped duct silencer type.",
            "NOTDEFINED": "Undefined duct silencer type.",
            "RECTANGULAR": "Rectangular shaped duct silencer type.",
            "ROUND": "Round duct silencer type.",
            "USERDEFINED": "User-defined duct silencer type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDuctSilencer.htm"
    },
    "IfcDuctSilencerType": {
        "description": "The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include:",
        "predefined_types": {
            "FLATOVAL": "Flat-oval shaped duct silencer type.",
            "NOTDEFINED": "Undefined duct silencer type.",
            "RECTANGULAR": "Rectangular shaped duct silencer type.",
            "ROUND": "Round duct silencer type.",
            "USERDEFINED": "User-defined duct silencer type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDuctSilencerType.htm"
    },
    "IfcEarthworksCut": {
        "description": "The resulting void from modification of existing terrain or road structure by excavation or by other means of removing material.\nNOTE Definition from ISO 6707-1: void that results from bulk excavation of material.\nNOTE The material excavated and either used as fill or discarded as waste is not modelled as Cut, but may be handled as a different concept (Resource) in the future.\n",
        "predefined_types": {
            "BASE_EXCAVATION": "Excavation for basements of buildings, abutments of bridges or similar structures either partially or completely below ground level.",
            "CUT": "Excavation where soil or rock below topsoil is cut to the depth required for the construction of facilities such as roads and railways. The removed material can be used as fill (IfcEarthworksElement) for embankments or to form a level surface on which to build.",
            "DREDGING": "Underwater excavation to recover material or to create a greater depth of water.",
            "EXCAVATION": "General type of excavation when more accurate type is not specified.",
            "NOTDEFINED": "Undefined type.",
            "OVEREXCAVATION": "Excavation that goes beyond the depth required for construction, in order to replace unsuitable material.",
            "PAVEMENTMILLING": "Removal of expired material from top of pavement to be replaced by new material.",
            "STEPEXCAVATION": "Removal of the soft part of the existing road slope, where it is dug into steps, when widening a road.",
            "TOPSOILREMOVAL": "Excavation where the topmost layer of soil containing organic material is cut or stripped. The removed topsoil can be used as fill (EarthworksElement) e.g. where planting is planned.",
            "TRENCH": "Excavation whose length greatly exceeds the depth and width. Trench is typically excavated for strip foundations or for buried services such as drainage or cabling.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEarthworksCut.htm"
    },
    "IfcEarthworksElement": {
        "description": "A type of built element created by earthwork activities to build subgrade, to raise the level of the ground in general or reinforce or stabilize soil by some mechanical or chemical method.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEarthworksElement.htm"
    },
    "IfcEarthworksFill": {
        "description": "A type of earthworks element created by earthwork activities to build subgrade or to raise the level of the ground in general.\n",
        "predefined_types": {
            "BACKFILL": "Fill behind retaining walls or other structures such as quays, behind abutments and bridges.",
            "COUNTERWEIGHT": "Embankment built on the side of the main road structure to reduce the settlement of the road.",
            "EMBANKMENT": "Predominantly longitudinal type of earthworks element with no other particular assigned type according to its role in Pavement or Subgrade. NOTE Definition from ISO6707-1: section of earthworks, often formed by cut or fill, where the finished ground level is above or below original ground level and whose length usually greatly exceeds its width.",
            "NOTDEFINED": "Undefined type.",
            "SLOPEFILL": "Side slope (batter) fill abutting the road structure or back slope fill.",
            "SUBGRADE": "Type of earthworks element forming the structure below pavement and above natural soil. NOTE Definition from ISO 6707-1: upper part of the soil, natural or constructed, that supports the loads transmitted by the overlying structure of a road, runway, or similar hard surface. NOTE Definition from PIARC: Upper layer of the natural ground upon which the pavement is constructed.",
            "SUBGRADEBED": "Upper part of the soil, natural or constructed, that supports the loads transmitted by the overlying structure of a road, runway, or similar hard surface.",
            "TRANSITIONSECTION": "Section of subgrade to ensure the consistency of stiffness and prevent uneven settlement. Transition section may appear e.g. between: embankment and bridge abutment; embankment and transverse structure; cutting and tunnel; embankment and cutting.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEarthworksFill.htm"
    },
    "IfcEdge": {
        "attributes": {
            "EdgeEnd": "End point (vertex) of the edge. The same vertex can be used for both EdgeStart and EdgeEnd.",
            "EdgeStart": "Start point (vertex) of the edge."
        },
        "description": "An IfcEdge defines two vertices being connected topologically. The geometric representation of the connection between the two vertices defaults to a straight line if no curve geometry is assigned using the subtype IfcEdgeCurve. The IfcEdge can therefore be used to exchange straight edges without an associated geometry provided by IfcLine or IfcPolyline thought _IfcEdgeCurve.EdgeGeometry_.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEdge.htm"
    },
    "IfcEdgeCurve": {
        "attributes": {
            "EdgeGeometry": "The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve.",
            "SameSense": "This logical flag indicates whether (TRUE), or not (FALSE) the senses of the edge and the curve defining the edge geometry are the same. The sense of an edge is from the edge start vertex to the edge end vertex; the sense of a curve is in the direction of increasing parameter."
        },
        "description": "An IfcEdgeCurve defines two vertices being connected topologically including the geometric representation of the connection.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEdgeCurve.htm"
    },
    "IfcEdgeLoop": {
        "attributes": {
            "EdgeList": "A list of oriented edge entities which are concatenated together to form this path."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEdgeLoop.htm"
    },
    "IfcElectricAppliance": {
        "description": "An electric appliance is a device intended for consumer usage that is powered by electricity.",
        "predefined_types": {
            "DISHWASHER": "An appliance that has the primary function of washing dishes.",
            "ELECTRICCOOKER": "An electrical appliance that has the primary function of cooking food (including oven, hob, grill).",
            "FREESTANDINGELECTRICHEATER": "An electrical appliance that is used occasionally to provide heat. A freestanding electric heater is a 'plugged' appliance whose load may be removed from an electric circuit.",
            "FREESTANDINGFAN": "An electrical appliance that is used occasionally to provide ventilation. A freestanding fan is a 'plugged' appliance whose load may be removed from an electric circuit.",
            "FREESTANDINGWATERCOOLER": "A small, local electrical appliance for cooling water. A freestanding water cooler is a 'plugged' appliance whose load may be removed from an electric circuit.",
            "FREESTANDINGWATERHEATER": "A small, local electrical appliance for heating water. A freestanding water heater is a 'plugged' appliance whose load may be removed from an electric circuit.",
            "FREEZER": "An electrical appliance that has the primary function of storing food at temperatures below the freezing point of water.",
            "FRIDGE_FREEZER": "An electrical appliance that combines the functions of a freezer and a refrigerator through the provision of separate compartments.",
            "HANDDRYER": "An electrical appliance that has the primary function of drying hands.",
            "KITCHENMACHINE": "A specialized appliance used in commercial kitchens such as a mixer.",
            "MICROWAVE": "An electrical appliance that has the primary function of cooking food using microwaves.",
            "NOTDEFINED": "Undefined type.",
            "PHOTOCOPIER": "A machine that has the primary function of reproduction of printed matter.",
            "REFRIGERATOR": "An electrical appliance that has the primary function of storing food at low temperature but above the freezing point of water.",
            "TUMBLEDRYER": "An electrical appliance that has the primary function of drying clothes.",
            "USERDEFINED": "User-defined type.",
            "VENDINGMACHINE": "An appliance that stores and vends goods including food, drink, tickets, and goods of various types.",
            "WASHINGMACHINE": "An appliance that has the primary function of washing clothes."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricAppliance.htm"
    },
    "IfcElectricApplianceType": {
        "description": "The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include:",
        "predefined_types": {
            "DISHWASHER": "An appliance that has the primary function of washing dishes.",
            "ELECTRICCOOKER": "An electrical appliance that has the primary function of cooking food (including oven, hob, grill).",
            "FREESTANDINGELECTRICHEATER": "An electrical appliance that is used occasionally to provide heat. A freestanding electric heater is a 'plugged' appliance whose load may be removed from an electric circuit.",
            "FREESTANDINGFAN": "An electrical appliance that is used occasionally to provide ventilation. A freestanding fan is a 'plugged' appliance whose load may be removed from an electric circuit.",
            "FREESTANDINGWATERCOOLER": "A small, local electrical appliance for cooling water. A freestanding water cooler is a 'plugged' appliance whose load may be removed from an electric circuit.",
            "FREESTANDINGWATERHEATER": "A small, local electrical appliance for heating water. A freestanding water heater is a 'plugged' appliance whose load may be removed from an electric circuit.",
            "FREEZER": "An electrical appliance that has the primary function of storing food at temperatures below the freezing point of water.",
            "FRIDGE_FREEZER": "An electrical appliance that combines the functions of a freezer and a refrigerator through the provision of separate compartments.",
            "HANDDRYER": "An electrical appliance that has the primary function of drying hands.",
            "KITCHENMACHINE": "A specialized appliance used in commercial kitchens such as a mixer.",
            "MICROWAVE": "An electrical appliance that has the primary function of cooking food using microwaves.",
            "NOTDEFINED": "Undefined type.",
            "PHOTOCOPIER": "A machine that has the primary function of reproduction of printed matter.",
            "REFRIGERATOR": "An electrical appliance that has the primary function of storing food at low temperature but above the freezing point of water.",
            "TUMBLEDRYER": "An electrical appliance that has the primary function of drying clothes.",
            "USERDEFINED": "User-defined type.",
            "VENDINGMACHINE": "An appliance that stores and vends goods including food, drink, tickets, and goods of various types.",
            "WASHINGMACHINE": "An appliance that has the primary function of washing clothes."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricApplianceType.htm"
    },
    "IfcElectricDistributionBoard": {
        "description": "A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose.",
        "predefined_types": {
            "CONSUMERUNIT": "A distribution point on the incoming electrical supply, typically in domestic premises, at which protective devices are located.",
            "DISTRIBUTIONBOARD": "A distribution point at which connections are made for distribution of electrical circuits usually through protective devices.",
            "MOTORCONTROLCENTRE": "A distribution point at which starting and control devices for major plant items are located.",
            "NOTDEFINED": "Undefined type.",
            "SWITCHBOARD": "A distribution point at which switching devices are located.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricDistributionBoard.htm"
    },
    "IfcElectricDistributionBoardType": {
        "description": "The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of electric distribution boards. The set of shared information may include:",
        "predefined_types": {
            "CONSUMERUNIT": "A distribution point on the incoming electrical supply, typically in domestic premises, at which protective devices are located.",
            "DISTRIBUTIONBOARD": "A distribution point at which connections are made for distribution of electrical circuits usually through protective devices.",
            "MOTORCONTROLCENTRE": "A distribution point at which starting and control devices for major plant items are located.",
            "NOTDEFINED": "Undefined type.",
            "SWITCHBOARD": "A distribution point at which switching devices are located.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricDistributionBoardType.htm"
    },
    "IfcElectricFlowStorageDevice": {
        "description": "An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released.",
        "predefined_types": {
            "BATTERY": "A device for storing energy in chemical form so that it can be released as electrical energy.",
            "CAPACITOR": "A device that stores electric charge when an external power supply is present using the electrical property of capacitance. Two-terminal device characterized essentially by its capacitance. Note: definition from IEC 60050 151-13-28.",
            "CAPACITORBANK": "A device that stores electrical energy when an external power supply is present using the electrical property of capacitance.",
            "COMPENSATOR": "A device that is used to fix or adjust the parameter of electric energy, such as voltage loss, power factor and so on.",
            "HARMONICFILTER": "A device that constantly injects currents that precisely correspond to the harmonic components drawn by the load.",
            "INDUCTOR": "A device used in circuits or power systems due to their inductance, acting as a component of electric storage device.",
            "INDUCTORBANK": "A device that stores electrical energy in a magnetic field using electrical property of inductance.",
            "NOTDEFINED": "Undefined type.",
            "RECHARGER": "A recharger or battery charger is a device used to put energy into a secondary cell or rechargeable battery by forcing an electric current through it.",
            "UPS": "A device that provides a time limited alternative source of power supply in the event of failure of the main supply.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricFlowStorageDevice.htm"
    },
    "IfcElectricFlowStorageDeviceType": {
        "description": "The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include:",
        "predefined_types": {
            "BATTERY": "A device for storing energy in chemical form so that it can be released as electrical energy.",
            "CAPACITOR": "A device that stores electric charge when an external power supply is present using the electrical property of capacitance. Two-terminal device characterized essentially by its capacitance. Note: definition from IEC 60050 151-13-28.",
            "CAPACITORBANK": "A device that stores electrical energy when an external power supply is present using the electrical property of capacitance.",
            "COMPENSATOR": "A device that is used to fix or adjust the parameter of electric energy, such as voltage loss, power factor and so on.",
            "HARMONICFILTER": "A device that constantly injects currents that precisely correspond to the harmonic components drawn by the load.",
            "INDUCTOR": "A device used in circuits or power systems due to their inductance, acting as a component of electric storage device.",
            "INDUCTORBANK": "A device that stores electrical energy in a magnetic field using electrical property of inductance.",
            "NOTDEFINED": "Undefined type.",
            "RECHARGER": "A recharger or battery charger is a device used to put energy into a secondary cell or rechargeable battery by forcing an electric current through it.",
            "UPS": "A device that provides a time limited alternative source of power supply in the event of failure of the main supply.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricFlowStorageDeviceType.htm"
    },
    "IfcElectricFlowTreatmentDevice": {
        "description": "An electric flow treatment device is used to remove unwanted matter from an electric or electronic signal in a flow distribution system.\n",
        "predefined_types": {
            "ELECTRONICFILTER": "Linear two-port device designed to transmit spectral components of the input quantity according to a specified law, generally in order to pass the components in certain frequency bands and to attenuate those in other bands",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricFlowTreatmentDevice.htm"
    },
    "IfcElectricFlowTreatmentDeviceType": {
        "description": "The flow treatment device type IfcElectricFlowTreatmentDeviceType defines commonly shared information for occurrences of mobile telecommunications appliances. The set of shared information may include:",
        "predefined_types": {
            "ELECTRONICFILTER": "Linear two-port device designed to transmit spectral components of the input quantity according to a specified law, generally in order to pass the components in certain frequency bands and to attenuate those in other bands",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricFlowTreatmentDeviceType.htm"
    },
    "IfcElectricGenerator": {
        "description": "An electric generator is an engine that is a machine for converting mechanical energy into electrical energy.",
        "predefined_types": {
            "CHP": "Combined heat and power supply, used not only as a source of electric energy but also as a heating source for the building. It may therefore be not only part of an electrical system but also of a heating system.",
            "ENGINEGENERATOR": "Electrical generator with a fuel-driven engine, for example a diesel-driven emergency power supply.",
            "NOTDEFINED": "Undefined type.",
            "STANDALONE": "Electrical generator which does not include its source of kinetic energy, that is, a motor, engine, or turbine are all modeled separately.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricGenerator.htm"
    },
    "IfcElectricGeneratorType": {
        "description": "The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include:",
        "predefined_types": {
            "CHP": "Combined heat and power supply, used not only as a source of electric energy but also as a heating source for the building. It may therefore be not only part of an electrical system but also of a heating system.",
            "ENGINEGENERATOR": "Electrical generator with a fuel-driven engine, for example a diesel-driven emergency power supply.",
            "NOTDEFINED": "Undefined type.",
            "STANDALONE": "Electrical generator which does not include its source of kinetic energy, that is, a motor, engine, or turbine are all modeled separately.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricGeneratorType.htm"
    },
    "IfcElectricMotor": {
        "description": "An electric motor is an engine that is a machine for converting electrical energy into mechanical energy.",
        "predefined_types": {
            "DC": "A motor using either generated or rectified Direct Current (DC) power.",
            "INDUCTION": "An alternating current motor in which the primary winding on one member (usually the stator) is connected to the power source and a secondary winding or a squirrel-cage secondary winding on the other member (usually the rotor) carries the induced current. There is no physical electrical connection to the secondary winding, its current is induced.",
            "NOTDEFINED": "Undefined type.",
            "POLYPHASE": "A two or three-phase induction motor in which the windings, one for each phase, are evenly divided by the same number of electrical degrees.",
            "RELUCTANCESYNCHRONOUS": "A synchronous motor with a special rotor design which directly lines the rotor up with the rotating magnetic field of the stator, allowing for no slip under load.",
            "SYNCHRONOUS": "A motor that operates at a constant speed up to full load. The rotor speed is equal to the speed of the rotating magnetic field of the stator; there is no slip.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricMotor.htm"
    },
    "IfcElectricMotorType": {
        "description": "The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include:",
        "predefined_types": {
            "DC": "A motor using either generated or rectified Direct Current (DC) power.",
            "INDUCTION": "An alternating current motor in which the primary winding on one member (usually the stator) is connected to the power source and a secondary winding or a squirrel-cage secondary winding on the other member (usually the rotor) carries the induced current. There is no physical electrical connection to the secondary winding, its current is induced.",
            "NOTDEFINED": "Undefined type.",
            "POLYPHASE": "A two or three-phase induction motor in which the windings, one for each phase, are evenly divided by the same number of electrical degrees.",
            "RELUCTANCESYNCHRONOUS": "A synchronous motor with a special rotor design which directly lines the rotor up with the rotating magnetic field of the stator, allowing for no slip under load.",
            "SYNCHRONOUS": "A motor that operates at a constant speed up to full load. The rotor speed is equal to the speed of the rotating magnetic field of the stator; there is no slip.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricMotorType.htm"
    },
    "IfcElectricTimeControl": {
        "description": "An electric time control is a device that applies control to the provision or flow of electrical energy over time.",
        "predefined_types": {
            "NOTDEFINED": "Undefined type.",
            "RELAY": "Electromagnetically operated contactor for making or breaking a control circuit.",
            "TIMECLOCK": "A control that causes action to occur at set times.",
            "TIMEDELAY": "A control that causes action to occur following a set duration.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricTimeControl.htm"
    },
    "IfcElectricTimeControlType": {
        "description": "The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include:",
        "predefined_types": {
            "NOTDEFINED": "Undefined type.",
            "RELAY": "Electromagnetically operated contactor for making or breaking a control circuit.",
            "TIMECLOCK": "A control that causes action to occur at set times.",
            "TIMEDELAY": "A control that causes action to occur following a set duration.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElectricTimeControlType.htm"
    },
    "IfcElement": {
        "attributes": {
            "ConnectedFrom": "Reference to the element connection relationship. The relationship then refers to the other element that is connected to this element.",
            "ConnectedTo": "Reference to the element connection relationship. The relationship then refers to the other element to which this element is connected to.",
            "FillsVoids": "Reference to the IfcRelFillsElement Relationship that puts the element as a filling into the opening created within another element.",
            "HasCoverings": "Reference to IfcCovering by virtue of the objectified relationship IfcRelCoversBldgElement. It defines the concept of an element having coverings associated.",
            "HasOpenings": "Reference to the IfcRelVoidsElement relationship that creates an opening in an element. An element can incorporate zero-to-many openings. For each opening, that voids the element, a new relationship IfcRelVoidsElement is generated.",
            "HasProjections": "Projection relationship that adds a feature (using a Boolean union) to the IfcBuildingElement.",
            "HasSurfaceFeatures": "Reference to the IfcRelAdheresToElement relationship that adheres a IfcSurfaceFeature to an element. An element can incorporate zero-to-many surface features in one relationship.",
            "InterferesElements": "Reference to the interference relationship to indicate the element that interferes. The relationship, if provided, indicates that this element has an interference with one or many other elements.",
            "IsConnectionRealization": "Reference to the connection relationship with realizing element. The relationship, if provided, assigns this element as the realizing element to the connection, which provides the physical manifestation of the connection relationship.",
            "IsInterferedByElements": "Reference to the interference relationship to indicate the element that is interfered. The relationship, if provided, indicates that this element has an interference with one or many other elements.",
            "ProvidesBoundaries": "Reference to space boundaries by virtue of the objectified relationship IfcRelSpaceBoundary. It defines the concept of an element bounding spaces.",
            "Tag": "The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level."
        },
        "description": "An element is a generalization of all components that make up an AEC product.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElement.htm"
    },
    "IfcElementAssembly": {
        "attributes": {
            "AssemblyPlace": "A designation of where the assembly is intended to take place defined by an Enum."
        },
        "description": "The IfcElementAssembly represents complex element assemblies aggregated from several elements, such as discrete elements, building elements, or other elements.",
        "predefined_types": {
            "ABUTMENT": "A bridge abutment built up of walls, beams, slabs etc.",
            "ACCESSORY_ASSEMBLY": "Assembled accessories or components.",
            "ARCH": "A curved structure.",
            "BEAM_GRID": "Interconnected beams, located in one (typically horizontal) plane.",
            "BRACED_FRAME": "A rigid frame with additional bracing members.",
            "CROSS_BRACING": "A Structural linear member or assembly of members inside a box girder or between girders, typically on a pier, to resist lateral forces and transfer them to the support.",
            "DECK": "A platform (such as floor or bridge deck) built up of beams, slabs.",
            "DILATATIONPANEL": "Device which permits longitudinal relative rail movement of two adjacent rails, while maintaining correct guidance and support. Note: definition from NF EN 13232-1-2004.",
            "ENTRANCEWORKS": "An assembly forming the support structure of a chamber (lock, dock) gate and associated elements, plus the containment of operational equipment.",
            "GIRDER": "A beam-like superstructure, such as bridge main girder extending between abutments and piers built up of beams, braces (as Members) etc. - may also be an aggregation of girder segments.",
            "GRID": "A framework of spaced cables or bars that are parallel to or cross each other.",
            "MAST": "An assembly of plates, members, cables or fasteners that form a vertical structure for the support or mounting of other equipment such as lights, sonar or wireless transmitters.",
            "NOTDEFINED": "Undefined element assembly.",
            "PIER": "An intermediate support e.g. in a bridge, built up of walls, columns, beams etc.",
            "PYLON": "A vertical structure supporting cables in suspended or stayed structure.",
            "RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY": "A complex assembly made up of several components like blocking device, speed regulator, bias loaded inspector, track scale or controllable retarder.",
            "REINFORCEMENT_UNIT": "Assembled reinforcement elements.",
            "RIGID_FRAME": "A structure built up of beams, columns, etc. with moment-resisting joints, such as gantry",
            "SHELTER": "A structure, fairly quick to setup, move or dismantle, used to give protection, especially from the weather or intrusion.",
            "SIGNALASSEMBLY": "An assembly to physically aggregate together one or more signal instances (and also sign instances) including any supporting structural elements such as a simple pole or a rigid frame gantry.",
            "SLAB_FIELD": "Slabs, laid out in one plane.",
            "SUMPBUSTER": "An obstacle (with oil catchment basin) installed typically in a bus lane to prevent other traffic with lower ground clearance from using it. Also Sump breaker or Sump trap.",
            "SUPPORTINGASSEMBLY": "An assembly intends to support Overhead Contact Line System. It includes foundation, supporting elements and suspension assembly.",
            "SUSPENSIONASSEMBLY": "A complex assembly of components used to suspend elements or cable segments.",
            "TRACKPANEL": "Trackwork ensuring the support and guidance of a vehicle along a route. It consists of assembly of rail, sleepers and fastenings.",
            "TRACTION_SWITCHING_ASSEMBLY": "A common assembly used to insure the switching function. It is composed of switches, control instruments and other components.",
            "TRAFFIC_CALMING_DEVICE": "A structure on the carriageway to control the speed of vehicles.",
            "TRUSS": "A structure built up of members with (quasi) pinned joint.",
            "TURNOUTPANEL": "Trackwork ensuring the support and guidance of a vehicle along any given route among various diverging or intersecting tracks. Note: definition from NF EN 13232-1-2004.",
            "USERDEFINED": "User-defined element assembly."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElementAssembly.htm"
    },
    "IfcElementAssemblyType": {
        "description": "The IfcElementAssemblyType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type).",
        "predefined_types": {
            "ABUTMENT": "A bridge abutment built up of walls, beams, slabs etc.",
            "ACCESSORY_ASSEMBLY": "Assembled accessories or components.",
            "ARCH": "A curved structure.",
            "BEAM_GRID": "Interconnected beams, located in one (typically horizontal) plane.",
            "BRACED_FRAME": "A rigid frame with additional bracing members.",
            "CROSS_BRACING": "A Structural linear member or assembly of members inside a box girder or between girders, typically on a pier, to resist lateral forces and transfer them to the support.",
            "DECK": "A platform (such as floor or bridge deck) built up of beams, slabs.",
            "DILATATIONPANEL": "Device which permits longitudinal relative rail movement of two adjacent rails, while maintaining correct guidance and support. Note: definition from NF EN 13232-1-2004.",
            "ENTRANCEWORKS": "An assembly forming the support structure of a chamber (lock, dock) gate and associated elements, plus the containment of operational equipment.",
            "GIRDER": "A beam-like superstructure, such as bridge main girder extending between abutments and piers built up of beams, braces (as Members) etc. - may also be an aggregation of girder segments.",
            "GRID": "A framework of spaced cables or bars that are parallel to or cross each other.",
            "MAST": "An assembly of plates, members, cables or fasteners that form a vertical structure for the support or mounting of other equipment such as lights, sonar or wireless transmitters.",
            "NOTDEFINED": "Undefined element assembly.",
            "PIER": "An intermediate support e.g. in a bridge, built up of walls, columns, beams etc.",
            "PYLON": "A vertical structure supporting cables in suspended or stayed structure.",
            "RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY": "A complex assembly made up of several components like blocking device, speed regulator, bias loaded inspector, track scale or controllable retarder.",
            "REINFORCEMENT_UNIT": "Assembled reinforcement elements.",
            "RIGID_FRAME": "A structure built up of beams, columns, etc. with moment-resisting joints, such as gantry",
            "SHELTER": "A structure, fairly quick to setup, move or dismantle, used to give protection, especially from the weather or intrusion.",
            "SIGNALASSEMBLY": "An assembly to physically aggregate together one or more signal instances (and also sign instances) including any supporting structural elements such as a simple pole or a rigid frame gantry.",
            "SLAB_FIELD": "Slabs, laid out in one plane.",
            "SUMPBUSTER": "An obstacle (with oil catchment basin) installed typically in a bus lane to prevent other traffic with lower ground clearance from using it. Also Sump breaker or Sump trap.",
            "SUPPORTINGASSEMBLY": "An assembly intends to support Overhead Contact Line System. It includes foundation, supporting elements and suspension assembly.",
            "SUSPENSIONASSEMBLY": "A complex assembly of components used to suspend elements or cable segments.",
            "TRACKPANEL": "Trackwork ensuring the support and guidance of a vehicle along a route. It consists of assembly of rail, sleepers and fastenings.",
            "TRACTION_SWITCHING_ASSEMBLY": "A common assembly used to insure the switching function. It is composed of switches, control instruments and other components.",
            "TRAFFIC_CALMING_DEVICE": "A structure on the carriageway to control the speed of vehicles.",
            "TRUSS": "A structure built up of members with (quasi) pinned joint.",
            "TURNOUTPANEL": "Trackwork ensuring the support and guidance of a vehicle along any given route among various diverging or intersecting tracks. Note: definition from NF EN 13232-1-2004.",
            "USERDEFINED": "User-defined element assembly."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElementAssemblyType.htm"
    },
    "IfcElementComponent": {
        "description": "An element component is a representation for minor items included in, added to or connecting to or between elements, which usually are not of interest from the overall building structure viewpoint. However, these small parts may have vital and load carrying functions within the construction. These items do not provide any actual space boundaries. Typical examples of _IfcElementComponent_s include different kinds of fasteners and various accessories.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElementComponent.htm"
    },
    "IfcElementComponentType": {
        "description": "The element type IfcElementComponentType defines commonly shared information for occurrences of element components. The set of shared information may include:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElementComponentType.htm"
    },
    "IfcElementQuantity": {
        "attributes": {
            "MethodOfMeasurement": "Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements.",
            "Quantities": "The individual quantities for the element, can be a set of length, area, volume, weight or count based quantities."
        },
        "description": "An IfcElementQuantity defines a set of derived measures of an element's physical property. Elements could be spatial structure elements (like buildings, storeys, or spaces) or building elements (like walls, slabs, finishes). The IfcElementQuantity gets assigned to the element by using the IfcRelDefinesByProperties relationship.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElementQuantity.htm"
    },
    "IfcElementType": {
        "attributes": {
            "ElementType": "The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED."
        },
        "description": "IfcElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElementType.htm"
    },
    "IfcElementarySurface": {
        "attributes": {
            "Position": "The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface."
        },
        "description": "An IfcElementarySurface in the common supertype of analytical surfaces.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElementarySurface.htm"
    },
    "IfcEllipse": {
        "attributes": {
            "SemiAxis1": "The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1.",
            "SemiAxis2": "The second radius of the ellipse which shall be positive."
        },
        "description": "An IfcEllipse is a curve consisting of a set of points whose distances to two fixed points add to the same constant.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEllipse.htm"
    },
    "IfcEllipseProfileDef": {
        "attributes": {
            "SemiAxis1": "The first radius of the ellipse. It is measured along the direction of Position.P[1].",
            "SemiAxis2": "The second radius of the ellipse. It is measured along the direction of Position.P[2]."
        },
        "description": "IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEllipseProfileDef.htm"
    },
    "IfcEnergyConversionDevice": {
        "description": "The distribution flow element IfcEnergyConversionDevice defines the occurrence of a device used to perform energy conversion or heat transfer and typically participates in a flow distribution system. Its type is defined by IfcEnergyConversionDeviceType or its subtypes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEnergyConversionDevice.htm"
    },
    "IfcEnergyConversionDeviceType": {
        "description": "The element type IfcEnergyConversionType defines a list of commonly shared property set definitions of an energy conversion device and an optional set of product representations. It is used to define an energy conversion device specification (the specific product information, that is common to all occurrences of that product type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEnergyConversionDeviceType.htm"
    },
    "IfcEngine": {
        "description": "An engine is a device that converts fuel into mechanical energy through combustion.",
        "predefined_types": {
            "EXTERNALCOMBUSTION": "Combustion is external.",
            "INTERNALCOMBUSTION": "Combustion is internal.",
            "NOTDEFINED": "Undefined engine type.",
            "USERDEFINED": "User-defined engine type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEngine.htm"
    },
    "IfcEngineType": {
        "description": "The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include:",
        "predefined_types": {
            "EXTERNALCOMBUSTION": "Combustion is external.",
            "INTERNALCOMBUSTION": "Combustion is internal.",
            "NOTDEFINED": "Undefined engine type.",
            "USERDEFINED": "User-defined engine type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEngineType.htm"
    },
    "IfcEvaporativeCooler": {
        "description": "An evaporative cooler is a device that cools air by saturating it with water vapor.",
        "predefined_types": {
            "DIRECTEVAPORATIVEAIRWASHER": "Direct evaporative air washer: Cools the air stream by evaporating water dircectly into the air stream using coolers with spray-type air washer consist of a chamber or casing containing spray nozzles, and tank for collecting spray water, and an eliminator section for removing entrained drops of water from the air.",
            "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER": "Direct evaporative packaged rotary air cooler: Cools the air stream by evaporating water dircectly into the air stream using coolers that wet and wash the evaporative pad by rotating it through a water bath.",
            "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER": "Direct evaporative random media air cooler: Cools the air stream by evaporating water dircectly into the air stream using coolers with evaporative pads, usually of aspen wood or plastic fiber/foam.",
            "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER": "Direct evaporative rigid media air cooler: Cools the air stream by evaporating water dircectly into the air stream using coolers with sheets of rigid, corrugated material as the wetted surface.",
            "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER": "Direct evaporative slingers packaged air cooler: Cools the air stream by evaporating water dircectly into the air stream using coolers with a water slinger in an evaporative cooling section and a fan section.",
            "INDIRECTDIRECTCOMBINATION": "Indirect/Direct combination: Cools the air stream by evaporating water indirectly and without adding moisture into the air stream using a two-stage cooler with a first-stage indirect evaporative cooler and second-stage direct evaporative cooler.",
            "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER": "Indirect evaporative cooling tower or coil cooler: Cools the air stream by evaporating water indirectly and without adding moisture into the air stream using a combination of a cooling tower or other evaporative water cooler with a water-to-air heat exchanger coil and water circulating pump.",
            "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER": "Indirect evaporative package air cooler: Cools the air stream by evaporating water indirectly and without adding moisture into the air stream. On one side of the heat exchanger, the secondary air stream is cooled by evaporation, while on the other side of heat exchanger, the primary air stream (conditioned air to be supplied to the room) is sensibly cooled by the heat exchanger surfaces.",
            "INDIRECTEVAPORATIVEWETCOIL": "Indirect evaporative wet coil: Cools the air stream by evaporating water indirectly and without adding moisture into the air stream. Water is sprayed directly on the tubes of the heat exchanger where latent cooling takes place and the vaporization of the water on the outside of the heat exchanger tubes allows the simultaneous heat and mass transfer which removes heat from the supply air on the tube side.",
            "NOTDEFINED": "Undefined evaporative cooler type.",
            "USERDEFINED": "User-defined evaporative cooler type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEvaporativeCooler.htm"
    },
    "IfcEvaporativeCoolerType": {
        "description": "The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include:",
        "predefined_types": {
            "DIRECTEVAPORATIVEAIRWASHER": "Direct evaporative air washer: Cools the air stream by evaporating water dircectly into the air stream using coolers with spray-type air washer consist of a chamber or casing containing spray nozzles, and tank for collecting spray water, and an eliminator section for removing entrained drops of water from the air.",
            "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER": "Direct evaporative packaged rotary air cooler: Cools the air stream by evaporating water dircectly into the air stream using coolers that wet and wash the evaporative pad by rotating it through a water bath.",
            "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER": "Direct evaporative random media air cooler: Cools the air stream by evaporating water dircectly into the air stream using coolers with evaporative pads, usually of aspen wood or plastic fiber/foam.",
            "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER": "Direct evaporative rigid media air cooler: Cools the air stream by evaporating water dircectly into the air stream using coolers with sheets of rigid, corrugated material as the wetted surface.",
            "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER": "Direct evaporative slingers packaged air cooler: Cools the air stream by evaporating water dircectly into the air stream using coolers with a water slinger in an evaporative cooling section and a fan section.",
            "INDIRECTDIRECTCOMBINATION": "Indirect/Direct combination: Cools the air stream by evaporating water indirectly and without adding moisture into the air stream using a two-stage cooler with a first-stage indirect evaporative cooler and second-stage direct evaporative cooler.",
            "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER": "Indirect evaporative cooling tower or coil cooler: Cools the air stream by evaporating water indirectly and without adding moisture into the air stream using a combination of a cooling tower or other evaporative water cooler with a water-to-air heat exchanger coil and water circulating pump.",
            "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER": "Indirect evaporative package air cooler: Cools the air stream by evaporating water indirectly and without adding moisture into the air stream. On one side of the heat exchanger, the secondary air stream is cooled by evaporation, while on the other side of heat exchanger, the primary air stream (conditioned air to be supplied to the room) is sensibly cooled by the heat exchanger surfaces.",
            "INDIRECTEVAPORATIVEWETCOIL": "Indirect evaporative wet coil: Cools the air stream by evaporating water indirectly and without adding moisture into the air stream. Water is sprayed directly on the tubes of the heat exchanger where latent cooling takes place and the vaporization of the water on the outside of the heat exchanger tubes allows the simultaneous heat and mass transfer which removes heat from the supply air on the tube side.",
            "NOTDEFINED": "Undefined evaporative cooler type.",
            "USERDEFINED": "User-defined evaporative cooler type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEvaporativeCoolerType.htm"
    },
    "IfcEvaporator": {
        "description": "An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid.",
        "predefined_types": {
            "DIRECTEXPANSION": "Direct-expansion evaporator.",
            "DIRECTEXPANSIONBRAZEDPLATE": "Direct-expansion evaporator where a refrigerant evaporates inside plates brazed or welded together to make up an assembly of separate channels.",
            "DIRECTEXPANSIONSHELLANDTUBE": "Direct-expansion evaporator where a refrigerant evaporates inside a series of baffles that channel the fluid throughout the shell side.",
            "DIRECTEXPANSIONTUBEINTUBE": "Direct-expansion evaporator where a refrigerant evaporates inside one or more pairs of coaxial tubes.",
            "FLOODEDSHELLANDTUBE": "Evaporator in which refrigerant evaporates outside tubes.",
            "NOTDEFINED": "Undefined evaporator type.",
            "SHELLANDCOIL": "Evaporator in which refrigerant evaporates inside a simple coiled tube immersed in the fluid to be cooled.",
            "USERDEFINED": "User-defined evaporator type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEvaporator.htm"
    },
    "IfcEvaporatorType": {
        "description": "The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include:",
        "predefined_types": {
            "DIRECTEXPANSION": "Direct-expansion evaporator.",
            "DIRECTEXPANSIONBRAZEDPLATE": "Direct-expansion evaporator where a refrigerant evaporates inside plates brazed or welded together to make up an assembly of separate channels.",
            "DIRECTEXPANSIONSHELLANDTUBE": "Direct-expansion evaporator where a refrigerant evaporates inside a series of baffles that channel the fluid throughout the shell side.",
            "DIRECTEXPANSIONTUBEINTUBE": "Direct-expansion evaporator where a refrigerant evaporates inside one or more pairs of coaxial tubes.",
            "FLOODEDSHELLANDTUBE": "Evaporator in which refrigerant evaporates outside tubes.",
            "NOTDEFINED": "Undefined evaporator type.",
            "SHELLANDCOIL": "Evaporator in which refrigerant evaporates inside a simple coiled tube immersed in the fluid to be cooled.",
            "USERDEFINED": "User-defined evaporator type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEvaporatorType.htm"
    },
    "IfcEvent": {
        "attributes": {
            "EventOccurenceTime": "The date and/or time at which an event occurs.",
            "EventTriggerType": "Identifies the predefined types of event trigger from which     the type required may be set.",
            "UserDefinedEventTriggerType": "A user defined event trigger type, the value of which is     asserted when the value of an event trigger type is declared     as USERDEFINED."
        },
        "description": "An IfcEvent is something that happens that triggers an action or response.",
        "predefined_types": {
            "ENDEVENT": "A terminating event of a process.",
            "INTERMEDIATEEVENT": "An event that occurs at an intermediate stage of a process.",
            "NOTDEFINED": "Not defined.",
            "STARTEVENT": "An initiating event of a process.",
            "USERDEFINED": "User defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEvent.htm"
    },
    "IfcEventTime": {
        "attributes": {
            "ActualDate": "The date on which an event actually occurs. It is a measured value.",
            "EarlyDate": "The earliest date on which an event can occur. It is a calculated value.",
            "LateDate": "The latest date on which an event can occur. It is a calculated value.",
            "ScheduleDate": "The date on which an event is scheduled to occur.     The value might be measured or somehow calculated, which is defined by     ScheduleDataOrigin."
        },
        "description": "IfcEventTime captures the time-related information about an event including the different types of event dates (i.e. actual, scheduled, early, and late).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEventTime.htm"
    },
    "IfcEventType": {
        "attributes": {
            "EventTriggerType": "Identifies the predefined types of event trigger from which     the type required may be set.",
            "UserDefinedEventTriggerType": "A user defined event trigger type, the value of which     is asserted when the value of an event trigger type is     declared as USERDEFINED."
        },
        "description": "An IfcEventType defines a particular type of event that may be specified.",
        "predefined_types": {
            "ENDEVENT": "A terminating event of a process.",
            "INTERMEDIATEEVENT": "An event that occurs at an intermediate stage of a process.",
            "NOTDEFINED": "Not defined.",
            "STARTEVENT": "An initiating event of a process.",
            "USERDEFINED": "User defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEventType.htm"
    },
    "IfcExtendedProperties": {
        "attributes": {
            "Description": "Description for the set of properties.",
            "Name": "The name given to the set of properties.",
            "Properties": "The set of properties provided for this extended property collection."
        },
        "description": "The IfcExtendedProperties is an abstract supertype of all extensible property collections that are applicable to certain characterized entities. Instantiable subtypes of IfcExtendedProperties assign the property collection to a particular characterized entity.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcExtendedProperties.htm"
    },
    "IfcExternalInformation": {
        "description": "An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcExternalInformation.htm"
    },
    "IfcExternalReference": {
        "attributes": {
            "ExternalReferenceForResources": "Reference to all associations between this external reference and objects within the IfcResourceObjectSelect that are tagged by the external reference.",
            "Identification": "The Identification provides a unique identifier of the referenced item within the external source (classification, document or library). It may be provided as * a key, e.g. a classification notation, like NF2.3 * a handle * a uuid or guid",
            "Location": "Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string.",
            "Name": "Optional name to further specify the reference. It can provide a human readable identifier (which does not necessarily need to have a counterpart in the internal structure of the document)."
        },
        "description": "An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a dictionary entry, a classification notation, or a document reference within the external source.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcExternalReference.htm"
    },
    "IfcExternalReferenceRelationship": {
        "attributes": {
            "RelatedResourceObjects": "Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation.",
            "RelatingReference": "An external reference that can be used to tag an object within the range of IfcResourceObjectSelect."
        },
        "description": "IfcExternalReferenceRelationship is a relationship entity that enables objects from the IfcResourceObjectSelect to have the ability to be tagged by external references.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcExternalReferenceRelationship.htm"
    },
    "IfcExternalSpatialElement": {
        "attributes": {
            "BoundedBy": "Reference to a set of IfcRelSpaceBoundary's that defines the physical or virtual delimitation of that external spacial element against physical or virtual boundaries."
        },
        "description": "The external spatial element defines external regions at the building site. Those regions can be defined:",
        "predefined_types": {
            "EXTERNAL": "External air space around the building.",
            "EXTERNAL_EARTH": "External volume covered by earth around the building.",
            "EXTERNAL_FIRE": "Space occupied by a neighboring building.",
            "EXTERNAL_WATER": "External volume covered with water around the building.",
            "NOTDEFINED": "",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcExternalSpatialElement.htm"
    },
    "IfcExternalSpatialStructureElement": {
        "description": "The external spatial structure element is an abstract entity provided for different kind of external spaces, regions, and volumes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcExternalSpatialStructureElement.htm"
    },
    "IfcExternallyDefinedHatchStyle": {
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-46:1992\n> The externally defined hatch style is an entity which makes an external reference to a hatching style.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcExternallyDefinedHatchStyle.htm"
    },
    "IfcExternallyDefinedSurfaceStyle": {
        "description": "IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcExternallyDefinedSurfaceStyle.htm"
    },
    "IfcExternallyDefinedTextFont": {
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-46:1992\n> The externally defined text font is an external reference to a text font",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcExternallyDefinedTextFont.htm"
    },
    "IfcExtrudedAreaSolid": {
        "attributes": {
            "Depth": "The distance the surface is to be swept along the ExtrudedDirection.",
            "ExtrudedDirection": "The direction in which the surface, provided by SweptArea is to be swept."
        },
        "description": "The IfcExtrudedAreaSolid is defined by sweeping a cross section provided by a profile definition. The direction of the extrusion is given by the ExtrudedDirection attribute and the length of the extrusion is given by the Depth attribute. If the planar area has inner boundaries (holes defined), then those holes shall be swept into holes of the solid.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcExtrudedAreaSolid.htm"
    },
    "IfcExtrudedAreaSolidTapered": {
        "attributes": {
            "EndSweptArea": "The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\\IfcSweptAreaSolid.Position along the SELF\\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\\IfcExtrudedAreaSolid.Depth."
        },
        "description": "IfcExtrudedAreaSolidTapered is defined by sweeping a cross section along a linear spine. The cross section may change along the sweep from the shape of the start cross section into the shape of the end cross section. The resulting solid is bounded by three or more faces: A start face, an end face (each defined by start and end planes and sections), and one or more lateral faces. Each lateral face is a ruled surface defined by a pair of corresponding edges of the start and end section.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcExtrudedAreaSolidTapered.htm"
    },
    "IfcFace": {
        "attributes": {
            "Bounds": "Boundaries of the face.",
            "HasTextureMaps": ""
        },
        "description": "An IfcFace is topological entity used to define surface, bounded by loops, of a shell.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFace.htm"
    },
    "IfcFaceBasedSurfaceModel": {
        "attributes": {
            "FbsmFaces": "The set of connected face sets comprising the face based surface model."
        },
        "description": "The IfcFaceBasedSurfaceModel represents the a shape by connected face sets. The connected faces have a dimensionality 2 and are placed in a coordinate space of dimensionality 3.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFaceBasedSurfaceModel.htm"
    },
    "IfcFaceBound": {
        "attributes": {
            "Bound": "The loop which will be used as a face boundary.",
            "Orientation": "This indicated whether (TRUE) or not (FALSE) the loop has the same sense when used to bound the face as when first defined. If sense is FALSE the senses of all its component oriented edges are implicitly reversed when used in the face."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> A face bound is a loop which is intended to be used for bounding a face.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFaceBound.htm"
    },
    "IfcFaceOuterBound": {
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFaceOuterBound.htm"
    },
    "IfcFaceSurface": {
        "attributes": {
            "FaceSurface": "The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\\FaceBounds.",
            "SameSense": "This flag indicates whether the sense of the surface normal agrees with (TRUE), or opposes (FALSE), the sense of the topological normal to the face."
        },
        "description": "The IfcFaceSurface defines the underlying geometry of the associated surface to the face.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFaceSurface.htm"
    },
    "IfcFacetedBrep": {
        "description": "The IfcFacetedBrep is a manifold solid brep with the restriction that all faces are planar and bounded polygons.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFacetedBrep.htm"
    },
    "IfcFacetedBrepWithVoids": {
        "attributes": {
            "Voids": "Set of closed shells defining voids within the solid."
        },
        "description": "The IfcFacetedBrepWithVoids is a specialization of a faceted B-rep which contains one or more voids in its interior. The voids are represented as closed shells which are defined so that the shell normal point into the void.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFacetedBrepWithVoids.htm"
    },
    "IfcFacility": {
        "description": "A Facility (derived from IfcSpatialStructureElement) may be an IfcBuilding, an IfcBridge, an IfcRailway, an IfcRoad, an IfcMarineFacility (or any other type of built facility defined in the future, such as IfcTunnel).\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFacility.htm"
    },
    "IfcFacilityPart": {
        "attributes": {
            "UsageType": ""
        },
        "description": "IfcFacilityPart provides for spatial breakdown of built facilities. It may be further specialised according to the type of facility being broken down.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFacilityPart.htm"
    },
    "IfcFacilityPartCommon": {
        "description": "A part of a facility.\n",
        "predefined_types": {
            "ABOVEGROUND": "A vertical facility part for elements belonging to the space above the finished ground.",
            "BELOWGROUND": "A vertical facility part for the containment of elements below the finished ground. This may include for example earthworks elements and elements in a pavement structure.",
            "JUNCTION": "A longitudinal facility part providing an at grade junction between two or more segments of longitudinal facilities usually of the same type.",
            "LEVELCROSSING": "A longitudinal facility part providing an at grade crossing between two or more different modes of transport e.g. road and railway or road and pedestrian.",
            "NOTDEFINED": "Undefined type.",
            "SEGMENT": "A longitudinal facility part encompassing a linear portion of the facility defined by some uniform characteristics, or a transition between segments of uniform characteristics.",
            "SUBSTRUCTURE": "A vertical facility part comprising of an underlying or supporting structure. this can be above or below finished ground level.",
            "SUPERSTRUCTURE": "A vertical facility part comprising of the upper volume of a structure, usually forming the volume of operation or the receiving of live loading.",
            "TERMINAL": "A longitudinal facility part that represents a termination segment of a longitudinal facility such as the end of a breakwater, road or rail section.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFacilityPartCommon.htm"
    },
    "IfcFailureConnectionCondition": {
        "attributes": {
            "CompressionFailureX": "Compression force in x-direction leading to failure of the connection.",
            "CompressionFailureY": "Compression force in y-direction leading to failure of the connection.",
            "CompressionFailureZ": "Compression force in z-direction leading to failure of the connection.",
            "TensionFailureX": "Tension force in x-direction leading to failure of the connection.",
            "TensionFailureY": "Tension force in y-direction leading to failure of the connection.",
            "TensionFailureZ": "Tension force in z-direction leading to failure of the connection."
        },
        "description": "Defines forces at which a support or connection fails.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFailureConnectionCondition.htm"
    },
    "IfcFan": {
        "description": "A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system.",
        "predefined_types": {
            "CENTRIFUGALAIRFOIL": "Air flows through the impeller radially using blades that are airfoil shaped.",
            "CENTRIFUGALBACKWARDINCLINEDCURVED": "Air flows through the impeller radially using blades that are backward curved.",
            "CENTRIFUGALFORWARDCURVED": "Air flows through the impeller radially using blades that are forward curved.",
            "CENTRIFUGALRADIAL": "Air flows through the impeller radially using blades that are uncurved or slightly forward curved.",
            "NOTDEFINED": "Undefined fan type.",
            "PROPELLORAXIAL": "Air flows through the impeller axially and small hub-to-tip ratio impeller mounted in an orifice plate or inlet ring.",
            "TUBEAXIAL": "Air flows through the impeller axially with reduced tip clearance and operating at higher tip speeds.",
            "USERDEFINED": "User-defined fan type.",
            "VANEAXIAL": "Air flows through the impeller axially with guide vanes and reduced running blade tip clearance."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFan.htm"
    },
    "IfcFanType": {
        "description": "The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include:",
        "predefined_types": {
            "CENTRIFUGALAIRFOIL": "Air flows through the impeller radially using blades that are airfoil shaped.",
            "CENTRIFUGALBACKWARDINCLINEDCURVED": "Air flows through the impeller radially using blades that are backward curved.",
            "CENTRIFUGALFORWARDCURVED": "Air flows through the impeller radially using blades that are forward curved.",
            "CENTRIFUGALRADIAL": "Air flows through the impeller radially using blades that are uncurved or slightly forward curved.",
            "NOTDEFINED": "Undefined fan type.",
            "PROPELLORAXIAL": "Air flows through the impeller axially and small hub-to-tip ratio impeller mounted in an orifice plate or inlet ring.",
            "TUBEAXIAL": "Air flows through the impeller axially with reduced tip clearance and operating at higher tip speeds.",
            "USERDEFINED": "User-defined fan type.",
            "VANEAXIAL": "Air flows through the impeller axially with guide vanes and reduced running blade tip clearance."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFanType.htm"
    },
    "IfcFastener": {
        "description": "Representations of fixing parts which are used as fasteners to connect or join elements with other elements. Excluded are mechanical fasteners which are modeled by a separate entity (IfcMechanicalFastener).",
        "predefined_types": {
            "GLUE": "A fastening connection where glue is used to join together elements.",
            "MORTAR": "A composition of mineralic or other materials used to fill jointing gaps and possibly fulfilling a load carrying role.",
            "NOTDEFINED": "Undefined fastener.",
            "USERDEFINED": "User-defined fastener.",
            "WELD": "A weld seam between parts of metallic material or other suitable materials."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFastener.htm"
    },
    "IfcFastenerType": {
        "description": "The element component type IfcFastenerType defines commonly shared information for occurrences of fasteners. The set of shared information may include:",
        "predefined_types": {
            "GLUE": "A fastening connection where glue is used to join together elements.",
            "MORTAR": "A composition of mineralic or other materials used to fill jointing gaps and possibly fulfilling a load carrying role.",
            "NOTDEFINED": "Undefined fastener.",
            "USERDEFINED": "User-defined fastener.",
            "WELD": "A weld seam between parts of metallic material or other suitable materials."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFastenerType.htm"
    },
    "IfcFeatureElement": {
        "description": "A feature element is a generalization of all existence dependent elements which modify the shape and appearance of the associated master element. The IfcFeatureElement offers the ability to handle shape modifiers as semantic objects within the IFC object model.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFeatureElement.htm"
    },
    "IfcFeatureElementAddition": {
        "attributes": {
            "ProjectsElements": "Reference to the IfcRelProjectsElement relationship that uses this IfcFeatureElementAddition to create a volume addition at an element. The IfcFeatureElementAddition can only be used to create a single addition at a single element using Boolean addition operation."
        },
        "description": "A feature element addition is a specialization of the general feature element, that represents an existence dependent element which modifies the shape and appearance of the associated master element. The IfcFeatureElementAddition offers the ability to handle shape modifiers as semantic objects within the IFC object model that add to the shape of the master element.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFeatureElementAddition.htm"
    },
    "IfcFeatureElementSubtraction": {
        "attributes": {
            "VoidsElements": "Reference to the Voids Relationship that uses this Opening Element to create a void within an Element. The Opening Element can only be used to create a single void within a single Element."
        },
        "description": "The IfcFeatureElementSubtraction is specialization of the general feature element, that represents an existence dependent elements which modifies the shape and appearance of the associated master element. The IfcFeatureElementSubtraction offers the ability to handle shape modifiers as semantic objects within the IFC object model that subtract from the shape of the master element.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFeatureElementSubtraction.htm"
    },
    "IfcFillAreaStyle": {
        "attributes": {
            "FillStyles": "The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces.",
            "ModelOrDraughting": "Indication whether the length measures provided for the presentation style are model based, or draughting based."
        },
        "description": "An IfcFillAreaStyle provides the style table for presentation information assigned to annotation fill areas or surfaces for hatching and tiling. The _IfcFillAreaStyle_defines hatches as model hatches, that is, the distance between hatch lines, or the curve patterns of hatch lines are given in model space dimensions (that have to be scaled using the target plot scale). The IfcFillAreaStyle allows for the following combinations of defining the style of hatching and tiling:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFillAreaStyle.htm"
    },
    "IfcFillAreaStyleHatching": {
        "attributes": {
            "HatchLineAngle": "A plane angle measure determining the direction of the parallel hatching lines.",
            "HatchLineAppearance": "The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line.",
            "PatternStart": "A distance along the reference hatch line which is the start point for the curve style font pattern of the reference hatch line. If not given, the start point of the curve style font pattern is at the (virtual) hatching coordinate system.",
            "PointOfReferenceHatchLine": "A Cartesian point which defines the offset of the reference hatch line from the origin of the (virtual) hatching coordinate system. The origin is used for mapping the fill area style hatching onto an annotation fill area or surface. The reference hatch line would then appear with this offset from the fill style target point. If not given the reference hatch lines goes through the origin of the (virtual) hatching coordinate system.",
            "StartOfNextHatchLine": "A repetition factor that determines the distance between adjacent hatch lines. The factor can either be defined by a parallel offset, or by a repeat factor provided by IfcVector."
        },
        "description": "The IfcFillAreaStyleHatching is used to define simple, vector-based hatching patterns, based on styled straight lines. The curve font, color and thickness is given by the HatchLineAppearance, the angle by the HatchLineAngle and the distance to the next hatch line by StartOfNextHatchLine, being either an offset distance or a vector.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFillAreaStyleHatching.htm"
    },
    "IfcFillAreaStyleTiles": {
        "attributes": {
            "Tiles": "A set of constituents of the tile being a styled item that is used as the annotation symbol for tiling the filled area.",
            "TilingPattern": "A two direction repeat factor defining the shape and relative positioning of the tiles.",
            "TilingScale": "The scale factor applied to each tile as it is placed in the annotation fill area."
        },
        "description": "The IfcFillAreaStyleTiles defines the filling of an IfcAnnotationFillArea by recurring patterns of styled two dimensional geometry, called a tile. The recurrence pattern is determined by two vectors, that multiply the tile in regular form.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFillAreaStyleTiles.htm"
    },
    "IfcFilter": {
        "description": "A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases.",
        "predefined_types": {
            "AIRPARTICLEFILTER": "A filter used to remove particulates from air.",
            "COMPRESSEDAIRFILTER": "A filter used to remove particulates from compressed air.",
            "NOTDEFINED": "Undefined filter type.",
            "ODORFILTER": "A filter used to remove odors from air.",
            "OILFILTER": "A filter used to remove particulates from oil.",
            "STRAINER": "A filter used to remove particulates from a fluid.",
            "USERDEFINED": "User-defined filter type.",
            "WATERFILTER": "A filter used to remove particulates from water."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFilter.htm"
    },
    "IfcFilterType": {
        "description": "The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include:",
        "predefined_types": {
            "AIRPARTICLEFILTER": "A filter used to remove particulates from air.",
            "COMPRESSEDAIRFILTER": "A filter used to remove particulates from compressed air.",
            "NOTDEFINED": "Undefined filter type.",
            "ODORFILTER": "A filter used to remove odors from air.",
            "OILFILTER": "A filter used to remove particulates from oil.",
            "STRAINER": "A filter used to remove particulates from a fluid.",
            "USERDEFINED": "User-defined filter type.",
            "WATERFILTER": "A filter used to remove particulates from water."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFilterType.htm"
    },
    "IfcFireSuppressionTerminal": {
        "description": "A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire.",
        "predefined_types": {
            "BREECHINGINLET": "Symmetrical pipe fitting that unites two or more inlets into a single pipe. A breeching inlet may be used on either a wet or dry riser. Used by fire services personnel for fast connection of fire appliance hose reels. May also be used for foam.",
            "FIREHYDRANT": "Device, fitted to a pipe, through which a temporary supply of water may be provided.  May also be termed a stand pipe.",
            "FIREMONITOR": "Fire monitor.",
            "HOSEREEL": "A supporting framework on which a hose may be wound.",
            "NOTDEFINED": "Undefined type.",
            "SPRINKLER": "Device for sprinkling water from a pipe under pressure over an area.",
            "SPRINKLERDEFLECTOR": "Device attached to a sprinkler to deflect the water flow into a spread pattern to cover the required area.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFireSuppressionTerminal.htm"
    },
    "IfcFireSuppressionTerminalType": {
        "description": "The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include:",
        "predefined_types": {
            "BREECHINGINLET": "Symmetrical pipe fitting that unites two or more inlets into a single pipe. A breeching inlet may be used on either a wet or dry riser. Used by fire services personnel for fast connection of fire appliance hose reels. May also be used for foam.",
            "FIREHYDRANT": "Device, fitted to a pipe, through which a temporary supply of water may be provided.  May also be termed a stand pipe.",
            "FIREMONITOR": "Fire monitor.",
            "HOSEREEL": "A supporting framework on which a hose may be wound.",
            "NOTDEFINED": "Undefined type.",
            "SPRINKLER": "Device for sprinkling water from a pipe under pressure over an area.",
            "SPRINKLERDEFLECTOR": "Device attached to a sprinkler to deflect the water flow into a spread pattern to cover the required area.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFireSuppressionTerminalType.htm"
    },
    "IfcFixedReferenceSweptAreaSolid": {
        "attributes": {
            "FixedReference": ""
        },
        "description": "An IfcFixedReferenceSweptAreaSolid is a type of swept area solid which is the result of sweeping an area along a Directrix. The swept area is provided by a subtype of IfcProfileDef. The profile is placed by an implicit cartesian transformation operator at the start point of the sweep, where the profile normal agrees to the start tangent of the directrix at this point, and the profile's x-axis agrees to the orthogonal projection of the FixedReference direction within the plane of start tangent and _Fixed_Reference_. The orientation of the curve during the sweeping operation is controlled by the FixedReference direction.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFixedReferenceSweptAreaSolid.htm"
    },
    "IfcFlowController": {
        "description": "The distribution flow element IfcFlowController defines the occurrence of elements of a distribution system that are used to regulate flow through a distribution system. Examples include dampers, valves, switches, and relays. Its type is defined by IfcFlowControllerType or subtypes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowController.htm"
    },
    "IfcFlowControllerType": {
        "description": "The element type IfcFlowControllerType defines a list of commonly shared property set definitions of a flow controller and an optional set of product representations. It is used to define a flow controller specification (i.e. the specific product information, that is common to all occurrences of that product type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowControllerType.htm"
    },
    "IfcFlowFitting": {
        "description": "The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowFitting.htm"
    },
    "IfcFlowFittingType": {
        "description": "The element type IfcFlowFittingType defines a list of commonly shared property set definitions of a flow fitting and an optional set of product representations. It is used to define a flow fitting specification (i.e. the specific product information, that is common to all occurrences of that product type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowFittingType.htm"
    },
    "IfcFlowInstrument": {
        "description": "A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points.",
        "predefined_types": {
            "AMMETER": "A device that reads and displays the current flow in a circuit.",
            "COMBINED": "A device that reads and displays the value of multiple properties of a system at a point, or displays the difference in the value of a property between two points.",
            "FREQUENCYMETER": "A device that reads and displays the electrical frequency of an alternating current circuit.",
            "NOTDEFINED": "Undefined type.",
            "PHASEANGLEMETER": "A device that reads and displays the phase angle of a phase in a polyphase electrical circuit.",
            "POWERFACTORMETER": "A device that reads and displays the power factor of an electrical circuit.",
            "PRESSUREGAUGE": "A device that reads and displays a pressure value at a point or the pressure difference between two points.",
            "THERMOMETER": "A device that reads and displays a temperature value at a point.",
            "USERDEFINED": "User-defined type.",
            "VOLTMETER": "A device that measures and displays the voltage in a circuit.",
            "VOLTMETER_PEAK": "A device that reads and displays the peak voltage in an electrical circuit.",
            "VOLTMETER_RMS": "A device that reads and displays the RMS (mean) voltage in an electrical circuit."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowInstrument.htm"
    },
    "IfcFlowInstrumentType": {
        "description": "The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include:",
        "predefined_types": {
            "AMMETER": "A device that reads and displays the current flow in a circuit.",
            "COMBINED": "A device that reads and displays the value of multiple properties of a system at a point, or displays the difference in the value of a property between two points.",
            "FREQUENCYMETER": "A device that reads and displays the electrical frequency of an alternating current circuit.",
            "NOTDEFINED": "Undefined type.",
            "PHASEANGLEMETER": "A device that reads and displays the phase angle of a phase in a polyphase electrical circuit.",
            "POWERFACTORMETER": "A device that reads and displays the power factor of an electrical circuit.",
            "PRESSUREGAUGE": "A device that reads and displays a pressure value at a point or the pressure difference between two points.",
            "THERMOMETER": "A device that reads and displays a temperature value at a point.",
            "USERDEFINED": "User-defined type.",
            "VOLTMETER": "A device that measures and displays the voltage in a circuit.",
            "VOLTMETER_PEAK": "A device that reads and displays the peak voltage in an electrical circuit.",
            "VOLTMETER_RMS": "A device that reads and displays the RMS (mean) voltage in an electrical circuit."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowInstrumentType.htm"
    },
    "IfcFlowMeter": {
        "description": "A flow meter is a device that is used to measure the flow rate in a system.",
        "predefined_types": {
            "ENERGYMETER": "An electric meter or energy meter is a device that measures the amount of electrical energy supplied to or produced by a residence, business or machine.",
            "GASMETER": "A device that measures the quantity of a gas or fuel.",
            "NOTDEFINED": "Undefined meter type",
            "OILMETER": "A device that measures the quantity of oil.",
            "USERDEFINED": "User-defined meter type",
            "WATERMETER": "A device that measures the quantity of water."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowMeter.htm"
    },
    "IfcFlowMeterType": {
        "description": "The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include:",
        "predefined_types": {
            "ENERGYMETER": "An electric meter or energy meter is a device that measures the amount of electrical energy supplied to or produced by a residence, business or machine.",
            "GASMETER": "A device that measures the quantity of a gas or fuel.",
            "NOTDEFINED": "Undefined meter type",
            "OILMETER": "A device that measures the quantity of oil.",
            "USERDEFINED": "User-defined meter type",
            "WATERMETER": "A device that measures the quantity of water."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowMeterType.htm"
    },
    "IfcFlowMovingDevice": {
        "description": "The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowMovingDevice.htm"
    },
    "IfcFlowMovingDeviceType": {
        "description": "The element type IfcFlowMovingDeviceType defines a list of commonly shared property set definitions of a flow moving device and an optional set of product representations. It is used to define a flow moving device specification (i.e. the specific product information, that is common to all occurrences of that product type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowMovingDeviceType.htm"
    },
    "IfcFlowSegment": {
        "description": "The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowSegment.htm"
    },
    "IfcFlowSegmentType": {
        "description": "The element type IfcFlowSegmentType defines a list of commonly shared property set definitions of a flow segment and an optional set of product representations. It is used to define a flow segment specification (the specific product information, that is common to all occurrences of that product type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowSegmentType.htm"
    },
    "IfcFlowStorageDevice": {
        "description": "The distribution flow element IfcFlowStorageDevice defines the occurrence of a device that participates in a distribution system and is used for temporary storage (such as a tank). Its type is defined by IfcFlowStorageDeviceType or its subtypes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowStorageDevice.htm"
    },
    "IfcFlowStorageDeviceType": {
        "description": "The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowStorageDeviceType.htm"
    },
    "IfcFlowTerminal": {
        "description": "The distribution flow element IfcFlowTerminal defines the occurrence of a permanently attached element that acts as a terminus or beginning of a distribution system (such as an air outlet, drain, water closet, or sink). A terminal is typically a point at which a system interfaces with an external environment. Its type is defined by IfcFlowTerminalType or its subtypes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowTerminal.htm"
    },
    "IfcFlowTerminalType": {
        "description": "The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowTerminalType.htm"
    },
    "IfcFlowTreatmentDevice": {
        "description": "The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowTreatmentDevice.htm"
    },
    "IfcFlowTreatmentDeviceType": {
        "description": "The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFlowTreatmentDeviceType.htm"
    },
    "IfcFooting": {
        "description": "A footing is a part of the foundation of a structure that spreads and transmits the load to the soil. A footing is also characterized as shallow foundation, where the loads are transferred to the ground near the surface.",
        "predefined_types": {
            "CAISSON_FOUNDATION": "A foundation construction type used in underwater construction.",
            "FOOTING_BEAM": "Footing elements that are in bending and are supported clear of the ground. They will normally span between piers, piles or pile caps. They are distinguished from beams in the building superstructure since they will normally require a lower grade of finish. They are distinguished from STRIP_FOOTING since they are clear of the ground surface and hence require support to the lower face while the concrete is curing.",
            "NOTDEFINED": "The type of footing is not defined.",
            "PAD_FOOTING": "An element that transfers the load of a single column (possibly two) to the ground.",
            "PILE_CAP": "An element that transfers the load from a column or group of columns to a pier or pile or group of piers or piles.",
            "STRIP_FOOTING": "A linear element that transfers loads into the ground from either a continuous element, such as a wall, or from a series of elements, such as columns.",
            "USERDEFINED": "Special types of footings which meet specific local requirements."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFooting.htm"
    },
    "IfcFootingType": {
        "description": "The building element type IfcFootingType defines commonly shared information for occurrences of footings. The set of shared information may include:",
        "predefined_types": {
            "CAISSON_FOUNDATION": "A foundation construction type used in underwater construction.",
            "FOOTING_BEAM": "Footing elements that are in bending and are supported clear of the ground. They will normally span between piers, piles or pile caps. They are distinguished from beams in the building superstructure since they will normally require a lower grade of finish. They are distinguished from STRIP_FOOTING since they are clear of the ground surface and hence require support to the lower face while the concrete is curing.",
            "NOTDEFINED": "The type of footing is not defined.",
            "PAD_FOOTING": "An element that transfers the load of a single column (possibly two) to the ground.",
            "PILE_CAP": "An element that transfers the load from a column or group of columns to a pier or pile or group of piers or piles.",
            "STRIP_FOOTING": "A linear element that transfers loads into the ground from either a continuous element, such as a wall, or from a series of elements, such as columns.",
            "USERDEFINED": "Special types of footings which meet specific local requirements."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFootingType.htm"
    },
    "IfcFurnishingElement": {
        "description": "A furnishing element is a generalization of all furniture related objects. Furnishing objects are characterized as being",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFurnishingElement.htm"
    },
    "IfcFurnishingElementType": {
        "description": "IfcFurnishingElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information, that is common to all occurrences of that product type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFurnishingElementType.htm"
    },
    "IfcFurniture": {
        "description": "Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure.",
        "predefined_types": {
            "BED": "Furniture for sleeping.",
            "CHAIR": "Furniture for seating a single person.",
            "DESK": "Furniture with a countertop and optional drawers for a single person.",
            "FILECABINET": "Furniture with sliding drawers for storing files.",
            "NOTDEFINED": "Undefined type.",
            "SHELF": "Furniture for storing books or other items.",
            "SOFA": "Furniture for seating multiple people.",
            "TABLE": "Furniture with a countertop for multiple people.",
            "TECHNICALCABINET": "A technical cabinet is a piece of furniture for holding, displaying and protecting technical appliances, usually organized in shelves, drawers or racks.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFurniture.htm"
    },
    "IfcFurnitureType": {
        "attributes": {
            "AssemblyPlace": "A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list."
        },
        "description": "The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include:",
        "predefined_types": {
            "BED": "Furniture for sleeping.",
            "CHAIR": "Furniture for seating a single person.",
            "DESK": "Furniture with a countertop and optional drawers for a single person.",
            "FILECABINET": "Furniture with sliding drawers for storing files.",
            "NOTDEFINED": "Undefined type.",
            "SHELF": "Furniture for storing books or other items.",
            "SOFA": "Furniture for seating multiple people.",
            "TABLE": "Furniture with a countertop for multiple people.",
            "TECHNICALCABINET": "A technical cabinet is a piece of furniture for holding, displaying and protecting technical appliances, usually organized in shelves, drawers or racks.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcFurnitureType.htm"
    },
    "IfcGeographicElement": {
        "description": "An IfcGeographicElement is a generalization of all elements within a geographical landscape. It includes occurrences of typical geographical elements, often referred to as features, such as trees or terrain. Common type information behind several occurrences of IfcGeographicElement is provided by the IfcGeographicElementType.",
        "predefined_types": {
            "NOTDEFINED": "Not defined",
            "SOIL_BORING_POINT": "Soil boring point",
            "TERRAIN": "Terrain",
            "USERDEFINED": "User defined",
            "VEGETATION": "Plant life or plant cover (as of an area). For example trees, shrubs, herbs, grasses, ferns, and mosses."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeographicElement.htm"
    },
    "IfcGeographicElementType": {
        "description": "An IfcGeographicElementType is used to define an element specification of a geographic element (i.e. the specific product information, that is common to all occurrences of that product type). Geographic element types include for different types of element that may be used to represent information within a geographical landscape external to a building. Within the world of geographic information they are referred to generally as 'features'. IfcGeographicElementType's include:",
        "predefined_types": {
            "NOTDEFINED": "Not defined",
            "SOIL_BORING_POINT": "Soil boring point",
            "TERRAIN": "Terrain",
            "USERDEFINED": "User defined",
            "VEGETATION": "Plant life or plant cover (as of an area). For example trees, shrubs, herbs, grasses, ferns, and mosses."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeographicElementType.htm"
    },
    "IfcGeometricCurveSet": {
        "description": "The IfcGeometricCurveSet is used for the exchange of shape representation consisting of an collection of (2D or 3D) points and curves only.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeometricCurveSet.htm"
    },
    "IfcGeometricRepresentationContext": {
        "attributes": {
            "CoordinateSpaceDimension": "The integer dimension count of the coordinate space modeled in a geometric representation context.",
            "HasCoordinateOperation": "Indicates conversion between coordinate systems. In particular it refers to an IfcCoordinateOperation between a Geographic map coordinate reference system, and the engineering coordinate system of this construction project. If there is more then one IfcGeometricRepresentationContext provided to the IfcProject then all contexts shall have an identical instance of IfcCoordinateOperation as HasCoordinateOperation referring to the same instance of IfcCoordinateReferenceSystem.",
            "HasSubContexts": "The set of IfcGeometricRepresentationSubContexts that refer to this IfcGeometricRepresentationContext.",
            "Precision": "Value of the model precision for geometric models. It is a double value (REAL), typically in 1E-5 to 1E-8 range, that indicates the tolerance under which two given points are still assumed to be identical. The value can be used e.g. to sets the maximum distance from an edge curve to the underlying face surface in brep models.",
            "TrueNorth": "Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not present, it defaults to 0. 1., meaning that the positive Y axis of the project coordinate system equals the geographic northing direction.",
            "WorldCoordinateSystem": "Establishment of the engineering coordinate system (often referred to as the world coordinate system in CAD) for all representation contexts used by the project."
        },
        "description": "The IfcGeometricRepresentationContext defines the context that applies to several shape representations of products within a project. It defines the type of the context in which the shape representation is defined, and the numeric precision applicable to the geometric representation items defined in this context. In addition it can be used to offset the project coordinate system from a global point of origin, using the WorldCoordinateSystem attribute. The main representation context may also provide the true north direction, see Figure 1.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeometricRepresentationContext.htm"
    },
    "IfcGeometricRepresentationItem": {
        "description": "An IfcGeometricRepresentationItem is the common supertype of all geometric items used within a representation. It is positioned within a geometric coordinate system, directly or indirectly through intervening items.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeometricRepresentationItem.htm"
    },
    "IfcGeometricRepresentationSubContext": {
        "attributes": {
            "ParentContext": "Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north.",
            "TargetScale": "The target plot scale of the representation to which this representation context applies.",
            "TargetView": "Target view of the representation to which this representation context applies.",
            "UserDefinedTargetView": "User defined target view, this attribute value shall be given, if the TargetView attribute is set to USERDEFINED."
        },
        "description": "IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeometricRepresentationSubContext.htm"
    },
    "IfcGeometricSet": {
        "attributes": {
            "Elements": "The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality."
        },
        "description": "The IfcGeometricSet is used for the exchange of shape representation consisting of (2D or 3D) points, curves, and surfaces, which do not have a topological structure (such as connected face sets or shells), are not tessellated and are not solid models (such as swept solids, CSG or Brep).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeometricSet.htm"
    },
    "IfcGeomodel": {
        "description": "Representation of the concept of a volumetric geological and geotechnical model, usually an interpretation but sometimes created direct from ground penetrating measurement.\nThe assembly may contain one of more strata and other anthropic elements. The contained subtypes of IfcGeotechnicalStratum will have shape representations made from polyhedra or surfaces if a 'Yabuki' top surface model is being used.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeomodel.htm"
    },
    "IfcGeoslice": {
        "description": "Representation of the concept of a sectional planar geological and geotechnical model, usually an interpretation but sometimes created direct from ground penetrating measurement. The assembly may contain one of more strata and anthropic elements. The contained subtypes of IfcGeotechnicalStratum will have shape representations made from polygons reflecting the visible section or poly lines if a 'Yabuki' top surface model is being used.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeoslice.htm"
    },
    "IfcGeotechnicalAssembly": {
        "description": "Representation of the abstract concept of a geological and geotechnical model, usually an interpretation but sometimes created direct from ground penetrating measurement.\nUse of an assembly is optional but can carry the methodology and uncertainty information.\nSuch assemblies will include IfcGeotechnicalStratum entity types and may include other entity types such as IfcPile, IfcSlab or IfcSensor to represent the capping, lining or logging equipment present.\nIfcBorehole or IfcGeoSlice  can have a physical reality as a construction hazard alongside being the carrier for the interpreted results. Geological hazards may be associated to any IfcGeotechnicalAssembly or IfcGeotechnicalStratum.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeotechnicalAssembly.htm"
    },
    "IfcGeotechnicalElement": {
        "description": "Abstract supertype for geotechnical entities.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeotechnicalElement.htm"
    },
    "IfcGeotechnicalStratum": {
        "description": "Representation of the concept of an identified discrete almost homogeneous geological feature with either an irregular solid or 'Yabuki' top surface shape or a regular voxel cubic shape. A stratum is represented as a discrete entity, specialised (sub typed) from IfcElement. A stratum may be broken down into smaller entities if properties vary across the stratum or alternatively properties may be described with bounded numeric ranges. A stratum may carry information about the physical form and its interpretation as a Geological Item (GML).\nThe shape representations used should correspond to the sub-type of IfcGeotechnicalAssembly in which it occurs\n",
        "predefined_types": {
            "NOTDEFINED": "",
            "SOLID": "Representation of the concept of an identified discrete almost homogenous solid geological or surface feature, including discontinuities such as faults, fractures, boundaries and interfaces that are not explicitly modelled.",
            "USERDEFINED": "",
            "VOID": "Representation of the concept of an identified discrete air filled geological feature, including caves and other voids.",
            "WATER": "Representation of the concept of an identified discrete water filled geological or surface feature including lakes, rivers and seas."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeotechnicalStratum.htm"
    },
    "IfcGradientCurve": {
        "attributes": {
            "BaseCurve": "Base curve also the 2D projection of gradient curve.",
            "EndPoint": "End point of gradient curve."
        },
        "description": "Gradient curve is a type of curve 3D curve representation that is based on its 2D projection (BaseCurve) and a height deifned by its gradient segments which can be derived from a function that retrieves it from the segment start height, its placement and the ParentCurve instance and the type of the ParentCurve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGradientCurve.htm"
    },
    "IfcGrid": {
        "attributes": {
            "UAxes": "List of grid axes defining the first row of grid lines.",
            "VAxes": "List of grid axes defining the second row of grid lines.",
            "WAxes": "List of grid axes defining the third row of grid lines. It may be given in the case of a triangular grid."
        },
        "description": "IfcGrid ia a planar design grid defined in 3D space used as an aid in locating structural and design elements. The position of the grid (ObjectPlacement) is defined by a 3D coordinate system (and thereby the design grid can be used in plan, section or in any position relative to the world coordinate system). The position can be relative to the object placement of other products or grids. The XY plane of the 3D coordinate system is used to place the grid axes, which are 2D curves (for example, line, circle, arc, polyline).",
        "predefined_types": {
            "IRREGULAR": "An IfcGrid with u-axes, v-axes, and optionally w-axes that cannot be described by the patterns.",
            "NOTDEFINED": "Not known whether grid conforms to any standard type.",
            "RADIAL": "An IfcGrid with straight u-axes and curved v-axes. All grid axes being part of V-axes have the same center point and are concentric circular arcs. All grid axes being part of u-axes intersect at the same center point and rotate counter clockwise.",
            "RECTANGULAR": "An IfcGrid with straight u-axes and straight v-axes being perpendicular to each other. All grid axes being part of u-axes can be described by one axis line and all other axes being 2D offsets from this axis line. The same applies to all grid axes being part of V-axes.",
            "TRIANGULAR": "An IfcGrid with u-axes, v-axes, and w-axes all being co-linear axis lines with a 2D offset. The v-axes are at 60 degree rotated counter clockwise from the u-axes, and the w-axes are at 120 degree rotated counter clockwise from the u-axes.",
            "USERDEFINED": "Any other grid not conforming to any of the above restrictions."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGrid.htm"
    },
    "IfcGridAxis": {
        "attributes": {
            "AxisCurve": "Underlying curve which provides the geometry for this grid axis.",
            "AxisTag": "The tag or name for this grid axis.",
            "HasIntersections": "The reference to a set of <IfcVirtualGridIntersection's, that connect other grid axes to this grid axis.",
            "PartOfU": "If provided, the IfcGridAxis is part of the UAxes of IfcGrid.",
            "PartOfV": "If provided, the IfcGridAxis is part of the VAxes of IfcGrid.",
            "PartOfW": "If provided, the IfcGridAxis is part of the WAxes of IfcGrid.",
            "SameSense": "Defines whether the original sense of curve is used or whether it is reversed in the context of the grid axis."
        },
        "description": "An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcGrid.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGridAxis.htm"
    },
    "IfcGridPlacement": {
        "attributes": {
            "PlacementLocation": "Placement of the object coordinate system defined by the intersection of two grid axes.",
            "PlacementRefDirection": "Reference to either an explicit direction, or a second grid axis intersection, which defines the orientation of the grid placement."
        },
        "description": "> IFC4.3.0.0 CHANGE In IFC 4.3 the PlacementRelTo attribute has been moved from IfcLocalPlacement to its supertype IfcObjectPlacement, also a supertype of this entity. That means that for correct global positioning, the IfcGridPlacement will reference (a) the ObjectPlacement of the IfcGrid by means of IfcObjectPlacement.PlacementRelTo and (b) the pair of IfcGridAxis contained in that same grid by means of the IfcVirtualGridIntersection.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGridPlacement.htm"
    },
    "IfcGroup": {
        "attributes": {
            "IsGroupedBy": "Reference to the relationship IfcRelAssignsToGroup that assigns the one to many group members to the IfcGroup object.",
            "ReferencedInStructures": "Reference to the relationship IfcRelReferencedInSpatialStructure that relates the group to a spatial element."
        },
        "description": "IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGroup.htm"
    },
    "IfcHalfSpaceSolid": {
        "attributes": {
            "AgreementFlag": "The agreement flag is TRUE if the normal to the BaseSurface points away from the material of the IfcHalfSpaceSolid. Otherwise it is FALSE.",
            "BaseSurface": "Surface defining side of half space."
        },
        "description": "A half space solid divides the domain into two by a base surface. Normally, the base surface is a plane and divides the infinitive space into two and indicates the side of the half-space by agreeing or disagreeing to the normal of the plane.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcHalfSpaceSolid.htm"
    },
    "IfcHeatExchanger": {
        "description": "A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers.",
        "predefined_types": {
            "NOTDEFINED": "Undefined heat exchanger type.",
            "PLATE": "Plate heat exchanger.",
            "SHELLANDTUBE": "Shell and Tube heat exchanger.",
            "TURNOUTHEATING": "A device used to remove snow from railways. E.g. electric heating device, gas heater",
            "USERDEFINED": "User-defined heat exchanger type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcHeatExchanger.htm"
    },
    "IfcHeatExchangerType": {
        "description": "The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include:",
        "predefined_types": {
            "NOTDEFINED": "Undefined heat exchanger type.",
            "PLATE": "Plate heat exchanger.",
            "SHELLANDTUBE": "Shell and Tube heat exchanger.",
            "TURNOUTHEATING": "A device used to remove snow from railways. E.g. electric heating device, gas heater",
            "USERDEFINED": "User-defined heat exchanger type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcHeatExchangerType.htm"
    },
    "IfcHumidifier": {
        "description": "A humidifier is a device that adds moisture into the air.",
        "predefined_types": {
            "ADIABATICAIRWASHER": "Water vapor is added into the airstream through adiabatic evaporation using an air washing element.",
            "ADIABATICATOMIZING": "Water vapor is added into the airstream through adiabatic evaporation using an atomizing element.",
            "ADIABATICCOMPRESSEDAIRNOZZLE": "Water vapor is added into the airstream through adiabatic evaporation using a compressed air nozzle.",
            "ADIABATICPAN": "Water vapor is added into the airstream through adiabatic evaporation using a pan.",
            "ADIABATICRIGIDMEDIA": "Water vapor is added into the airstream through adiabatic evaporation using a rigid media.",
            "ADIABATICULTRASONIC": "Water vapor is added into the airstream through adiabatic evaporation using an ultrasonic element.",
            "ADIABATICWETTEDELEMENT": "Water vapor is added into the airstream through adiabatic evaporation using a wetted element.",
            "ASSISTEDBUTANE": "Water vapor is added into the airstream through water heated evaporation using a butane heater.",
            "ASSISTEDELECTRIC": "Water vapor is added into the airstream through water heated evaporation using an electric heater.",
            "ASSISTEDNATURALGAS": "Water vapor is added into the airstream through water heated evaporation using a natural gas heater.",
            "ASSISTEDPROPANE": "Water vapor is added into the airstream through water heated evaporation using a propane heater.",
            "ASSISTEDSTEAM": "Water vapor is added into the airstream through water heated evaporation using a steam heater.",
            "NOTDEFINED": "Undefined humidifier type.",
            "STEAMINJECTION": "Water vapor is added into the airstream through direct steam injection.",
            "USERDEFINED": "User-defined humidifier type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcHumidifier.htm"
    },
    "IfcHumidifierType": {
        "description": "The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include:",
        "predefined_types": {
            "ADIABATICAIRWASHER": "Water vapor is added into the airstream through adiabatic evaporation using an air washing element.",
            "ADIABATICATOMIZING": "Water vapor is added into the airstream through adiabatic evaporation using an atomizing element.",
            "ADIABATICCOMPRESSEDAIRNOZZLE": "Water vapor is added into the airstream through adiabatic evaporation using a compressed air nozzle.",
            "ADIABATICPAN": "Water vapor is added into the airstream through adiabatic evaporation using a pan.",
            "ADIABATICRIGIDMEDIA": "Water vapor is added into the airstream through adiabatic evaporation using a rigid media.",
            "ADIABATICULTRASONIC": "Water vapor is added into the airstream through adiabatic evaporation using an ultrasonic element.",
            "ADIABATICWETTEDELEMENT": "Water vapor is added into the airstream through adiabatic evaporation using a wetted element.",
            "ASSISTEDBUTANE": "Water vapor is added into the airstream through water heated evaporation using a butane heater.",
            "ASSISTEDELECTRIC": "Water vapor is added into the airstream through water heated evaporation using an electric heater.",
            "ASSISTEDNATURALGAS": "Water vapor is added into the airstream through water heated evaporation using a natural gas heater.",
            "ASSISTEDPROPANE": "Water vapor is added into the airstream through water heated evaporation using a propane heater.",
            "ASSISTEDSTEAM": "Water vapor is added into the airstream through water heated evaporation using a steam heater.",
            "NOTDEFINED": "Undefined humidifier type.",
            "STEAMINJECTION": "Water vapor is added into the airstream through direct steam injection.",
            "USERDEFINED": "User-defined humidifier type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcHumidifierType.htm"
    },
    "IfcIShapeProfileDef": {
        "attributes": {
            "FilletRadius": "The fillet between the web and the flange.  0 if sharp-edged, omitted if unknown.",
            "FlangeEdgeRadius": "Radius of the lower edges of the top flange and the upper edges of the bottom flange.  0 if sharp-edged, omitted if unknown.",
            "FlangeSlope": "Slope of the lower faces of the top flange and of the upper faces of the bottom flange.  Non-zero in case of tapered flanges, 0 in case of parallel flanges, omitted if unknown.",
            "FlangeThickness": "Flange thickness of the I-shape. Both, the upper and the lower flanges have the same thickness and they are centred on the y-axis of the position coordinate system.",
            "OverallDepth": "Total extent of the depth, defined parallel to the y axis of the position coordinate system.",
            "OverallWidth": "Total extent of the width, defined parallel to the x axis of the position coordinate system.",
            "WebThickness": "Thickness of the web of the I-shape. The web is centred on the x-axis and the y-axis of the position coordinate system."
        },
        "description": "IfcIShapeProfileDef defines a section profile that provides the defining parameters of an 'I' or 'H' section. The I-shape profile has values for its overall depth, width and its web and flange thicknesses. Additionally a fillet radius, flange edge radius, and flange slope may be given. This profile definition represents an I-section which is symmetrical about its major and minor axes; top and bottom flanges are equal and centred on the web.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcIShapeProfileDef.htm"
    },
    "IfcImageTexture": {
        "attributes": {
            "URLReference": "Location, provided as an URI, at which the image texture is electronically published."
        },
        "description": "An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcImageTexture.htm"
    },
    "IfcImpactProtectionDevice": {
        "description": "A impact protection device is a component used to protect other built elements from kinetic damage. impact protection devices currently come in different varieties:\n- A vibration damper used to minimize the effects of vibration in a structure by dissipating kinetic energy. The damper may be passive (elastic, frictional, inertia) or active (in a system using sensors and actuators).\n- A vibration isolator is a device used to minimize the effects of vibration transmissibility in a structure.\n- Impact devices that dissipate kinetic energy from impacting elements (such as vehicles) by deformation or elastic mechanics.\n",
        "predefined_types": {
            "BUMPER": "A bumper is a buffer object at end of track that prevents driving over. It can be fixed on rails or the track panel, or can also be a natural element (e.g. rock, sand).",
            "CRASHCUSHION": "NOTE Definition from EN1317-1:2010: road vehicle energy absorption device installed in front of one or more hazards to reduce the severity of impact",
            "DAMPINGSYSTEM": "An elastic element inserted between the superstructure (track and plate on slab track or ballast bed with ballast inserted in) and the tunnel structure (tunnel floor). Some of the elastic elements have a partial decoupling effect between the superstructure and underground due to vibrations. Both helical springs and elastomer blocks or elastomer strips can be used as suspension systems.",
            "FENDER": "A passive or active device formed of a damper and impact panel that is mounted on the quayside to protect against vessel impact.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcImpactProtectionDevice.htm"
    },
    "IfcImpactProtectionDeviceType": {
        "description": "The IfcImpactProtectionDeviceType provides the type information for IfcImpactProtectionDevice occurrences.\nA impact protection device is a component used to protect other built elements from kinetic damage.\n",
        "predefined_types": {
            "BUMPER": "A bumper is a buffer object at end of track that prevents driving over. It can be fixed on rails or the track panel, or can also be a natural element (e.g. rock, sand).",
            "CRASHCUSHION": "NOTE Definition from EN1317-1:2010: road vehicle energy absorption device installed in front of one or more hazards to reduce the severity of impact",
            "DAMPINGSYSTEM": "An elastic element inserted between the superstructure (track and plate on slab track or ballast bed with ballast inserted in) and the tunnel structure (tunnel floor). Some of the elastic elements have a partial decoupling effect between the superstructure and underground due to vibrations. Both helical springs and elastomer blocks or elastomer strips can be used as suspension systems.",
            "FENDER": "A passive or active device formed of a damper and impact panel that is mounted on the quayside to protect against vessel impact.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcImpactProtectionDeviceType.htm"
    },
    "IfcIndexedColourMap": {
        "attributes": {
            "ColourIndex": "Indices into the IfcColourRgbList for each face of the IfcTriangulatedFaceSet. The colour is applied uniformly to the indexed face.",
            "Colours": "Indexable list of lists of triples, representing RGB colours.",
            "MappedTo": "Reference to the IfcTessellatedFaceSet to which it applies the colours and alpha channel.",
            "Opacity": "The opacity value that applies equally to all faces of the tessellated face set. 1.0 means opaque, and 0.0 completely transparent. If not provided, 1.0 is assumed (all colours are opaque)."
        },
        "description": "The IfcIndexedColourMap provides the assignment of colour information to individual faces. It is used for colouring faces of tessellated face sets. The IfcIndexedColourMap defines an index into an indexed list of colour information. The Colours are a two-dimensional list of colours provided by three RGB values. The ColourIndex attribute corresponds to the CoordIndex of the IfcTessellatedFaceSet defining the corresponding index list of faces. The Opacity attribute provides the alpha channel for all faces of the tessellated face set.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcIndexedColourMap.htm"
    },
    "IfcIndexedPolyCurve": {
        "attributes": {
            "Points": "A list of points, provided by a point list of either two, or three dimensions, that is used to define the poly curve. If the attribute Segments is not provided, the poly curve is generated as a poly line by connecting the points in the order of their appearance in the point list. If the attribute Segments is provided, the segments determine, how the points are to be used to create straight and circular arc segments.",
            "Segments": "List of straight line and circular arc segments, each providing a list of indices into the Cartesian point list. Indices should preserve consecutive connectivity between the segments, the start index of the next segment shall be identical with the end index of the previous segment.",
            "SelfIntersect": "Indication of whether the curve intersects itself or not; this is for information only."
        },
        "description": "The IfcIndexedPolyCurve is a bounded curve with only linear and circular arc segments defined by a Cartesian point list and an optional list of segments, providing indices into the Cartesian point list. In the case that the list of Segments is not provided, all points in the IfcCartesianPointList are connected by straight line segments in the order they appear in the IfcCartesianPointList.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcIndexedPolyCurve.htm"
    },
    "IfcIndexedPolygonalFace": {
        "attributes": {
            "CoordIndex": "One-dimensional list with the indices for the three or more points, that define the vertices of the outer loop. If the tessellated face set is closed, indicated by SELF\\IfcTessellatedFaceSet.Closed, then the points, defining the outer loop, shall connect counter clockwise, as seen from the outside of the body, so that the resulting normal will point outwards.",
            "HasTexCoords": "Optional reference to the IfcTextureCoordinateIndices that provide the texture coordinates for applying textures to this face.",
            "ToFaceSet": "Reference to the IfcPolygonalFaceSet for which this face is associated."
        },
        "description": "The IfcIndexedPolygonalFace is a compact representation of a planar face being part of a face set. The vertices of the polygonal planar face are provided by 3 or more Cartesian points, defined by indices that point into an IfcCartesianPointList3D, either directly, or via the PnIndex, if provided at IfcPolygonalFaceSet.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcIndexedPolygonalFace.htm"
    },
    "IfcIndexedPolygonalFaceWithVoids": {
        "attributes": {
            "InnerCoordIndices": "Two-dimensional list, where the first dimension represents each inner loop (from 1 to N) and the second dimension the indices to three or more points that define the vertices of each inner loop. If the tessellated face set is closed, indicated by SELF\\IfcTessellatedFaceSet.Closed, then the points, defining the inner loops, shall connect clockwise, as seen from the outside of the body."
        },
        "description": "The IfcIndexedPolygonalFaceWithVoids is a compact representation of a planar face with inner loops, being part of a face set.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcIndexedPolygonalFaceWithVoids.htm"
    },
    "IfcIndexedPolygonalTextureMap": {
        "attributes": {
            "TexCoordIndices": "Set of texture coordinate indices for polygonal faces with and without inner loops."
        },
        "description": "The IfcIndexedPolygonalTextureMap provides the mapping of the 2-dimensional texture coordinates to a set of polygonal bounded faces onto which it is mapped. It is used for mapping the texture to faces of an IfcPolygonalFaceSet. Such faces may have inner loops.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcIndexedPolygonalTextureMap.htm"
    },
    "IfcIndexedTextureMap": {
        "attributes": {
            "MappedTo": "Reference to the IfcTessellatedFaceSet to which it applies the texture map.",
            "TexCoords": "Indexable list of texture vertices."
        },
        "description": "The IfcIndexedTextureMap provides the mapping of the 2-dimensional texture coordinates to the surface onto which it is mapped. It is used for mapping the texture to faces of tessellated face sets.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcIndexedTextureMap.htm"
    },
    "IfcIndexedTriangleTextureMap": {
        "attributes": {
            "TexCoordIndex": "Index into the IfcTextureVertexList for each vertex of the triangles representing the IfcTriangulatedFaceSet."
        },
        "description": "The IfcIndexedTriangleTextureMap provides the mapping of the 2-dimensional texture coordinates to the surface onto which it is mapped. It is used for mapping the texture to triangles of the IfcTriangulatedFaceSet.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcIndexedTriangleTextureMap.htm"
    },
    "IfcInterceptor": {
        "description": "An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity.",
        "predefined_types": {
            "CYCLONIC": "Removes larger liquid drops or larger solid particles.",
            "GREASE": "Chamber, on the line of a drain or discharge pipe, that prevents grease passing into a drainage system.",
            "NOTDEFINED": "Undefined type.",
            "OIL": "One or more chambers arranged to prevent the ingress of oil to a drain or sewer that retains the oil for later removal.",
            "PETROL": "Two or more chambers with inlet and outlet pipes arranged to allow petrol/gasoline collected on the surface of water drained into them to evaporate through ventilating pipes.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcInterceptor.htm"
    },
    "IfcInterceptorType": {
        "description": "The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include:",
        "predefined_types": {
            "CYCLONIC": "Removes larger liquid drops or larger solid particles.",
            "GREASE": "Chamber, on the line of a drain or discharge pipe, that prevents grease passing into a drainage system.",
            "NOTDEFINED": "Undefined type.",
            "OIL": "One or more chambers arranged to prevent the ingress of oil to a drain or sewer that retains the oil for later removal.",
            "PETROL": "Two or more chambers with inlet and outlet pipes arranged to allow petrol/gasoline collected on the surface of water drained into them to evaporate through ventilating pipes.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcInterceptorType.htm"
    },
    "IfcIntersectionCurve": {
        "description": "An IfcIntersectionCurve is a 3-dimensional curve that has two additional representations provided by two pcurves defined within two distinct and intersecting surfaces.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcIntersectionCurve.htm"
    },
    "IfcInventory": {
        "attributes": {
            "CurrentValue": "An estimate of the current cost value of the inventory.",
            "Jurisdiction": "The organizational unit to which the inventory is applicable.",
            "LastUpdateDate": "The date on which the last update of the inventory was carried out.",
            "OriginalValue": "An estimate of the original cost value of the inventory.",
            "ResponsiblePersons": "Persons who are responsible for the inventory."
        },
        "description": "An inventory is a list of items within an enterprise.",
        "predefined_types": {
            "ASSETINVENTORY": "A collection of asset instances of type IfcAsset.",
            "FURNITUREINVENTORY": "A collection of furniture instances of type IfcFurnishingElement.",
            "NOTDEFINED": "Undefined type.",
            "SPACEINVENTORY": "A collection of space instances of type IfcSpace.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcInventory.htm"
    },
    "IfcIrregularTimeSeries": {
        "attributes": {
            "Values": "The collection of time series values."
        },
        "description": "In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcIrregularTimeSeries.htm"
    },
    "IfcIrregularTimeSeriesValue": {
        "attributes": {
            "ListValues": "A list of time-series values. At least one value is required.",
            "TimeStamp": "The specification of the time point."
        },
        "description": "The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcIrregularTimeSeriesValue.htm"
    },
    "IfcJunctionBox": {
        "description": "A junction box is an enclosure within which cables are connected.",
        "predefined_types": {
            "DATA": "Contains cables, outlets, and/or switches for communications use.",
            "NOTDEFINED": "Undefined type.",
            "POWER": "Contains cables, outlets, and/or switches for electrical power.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcJunctionBox.htm"
    },
    "IfcJunctionBoxType": {
        "description": "The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxes. The set of shared information may include:",
        "predefined_types": {
            "DATA": "Contains cables, outlets, and/or switches for communications use.",
            "NOTDEFINED": "Undefined type.",
            "POWER": "Contains cables, outlets, and/or switches for electrical power.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcJunctionBoxType.htm"
    },
    "IfcKerb": {
        "attributes": {
            "Mountable": ""
        },
        "description": "A border of stone, concrete or other rigid material formed at the edge of the carriageway or footway.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcKerb.htm"
    },
    "IfcKerbType": {
        "attributes": {
            "Mountable": ""
        },
        "description": "The IfcKerbType provides the type information for the IfcKerb element.\nAn IfcKerb is a border of stone, concrete or other rigid material formed at the edge of the carriageway or footway.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcKerbType.htm"
    },
    "IfcLShapeProfileDef": {
        "attributes": {
            "Depth": "Leg length, see illustration above (= h). Same as the overall depth.",
            "EdgeRadius": "Edge radius according the above illustration (= r2).",
            "FilletRadius": "Fillet radius according the above illustration (= r1).",
            "LegSlope": "Slope of the inner face of each leg of the profile.",
            "Thickness": "Constant wall thickness of profile, see illustration above (= ts).",
            "Width": "Leg length, see illustration above (= b). Same as the overall width. This attribute is formally optional for historic reasons only. Whenever the width is known, it shall be provided by value."
        },
        "description": "IfcLShapeProfileDef defines a section profile that provides the defining parameters of an L-shaped section (equilateral L profiles are also covered by this entity) to be used by the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The shorter leg has the same direction as the positive _Position.P[1]_-axis, the longer or equal leg the same as the positive _Position.P[2]_-axis. The centre of the position coordinate system is in the profiles centre of the bounding box.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLShapeProfileDef.htm"
    },
    "IfcLaborResource": {
        "description": "An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work.",
        "predefined_types": {
            "ADMINISTRATION": "Coordination of work.",
            "CARPENTRY": "Rough carpentry including framing.",
            "CLEANING": "Removal of dust and debris.",
            "CONCRETE": "Concrete.",
            "DRYWALL": "Gypsum wallboard placement and taping.",
            "ELECTRIC": "Electrical fixtures, equipment, and cables.",
            "FINISHING": "Finish carpentry including custom cabinetry.",
            "FLOORING": "Flooring.",
            "GENERAL": "General labour not requiring specific skill.",
            "HVAC": "Heating and ventilation fixtures, equipment, and ducts.",
            "LANDSCAPING": "Grass, plants, trees, or irrigation.",
            "MASONRY": "Laying bricks or blocks with mortar.",
            "NOTDEFINED": "Undefined resource.",
            "PAINTING": "Applying decorative coatings or coverings.",
            "PAVING": "Asphalt or concrete roads and walkways.",
            "PLUMBING": "Plumbing fixtures, equipment, and pipes.",
            "ROOFING": "Membranes, shingles, tile, or other roofing.",
            "SITEGRADING": "Excavating, filling, or contouring earth.",
            "STEELWORK": "Erecting and attaching steel elements.",
            "SURVEYING": "Determining positions, distances, and angles.",
            "USERDEFINED": "User-defined resource."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLaborResource.htm"
    },
    "IfcLaborResourceType": {
        "description": "The resource type IfcLaborResourceType defines commonly shared information for occurrences of labour resources. The set of shared information may include:",
        "predefined_types": {
            "ADMINISTRATION": "Coordination of work.",
            "CARPENTRY": "Rough carpentry including framing.",
            "CLEANING": "Removal of dust and debris.",
            "CONCRETE": "Concrete.",
            "DRYWALL": "Gypsum wallboard placement and taping.",
            "ELECTRIC": "Electrical fixtures, equipment, and cables.",
            "FINISHING": "Finish carpentry including custom cabinetry.",
            "FLOORING": "Flooring.",
            "GENERAL": "General labour not requiring specific skill.",
            "HVAC": "Heating and ventilation fixtures, equipment, and ducts.",
            "LANDSCAPING": "Grass, plants, trees, or irrigation.",
            "MASONRY": "Laying bricks or blocks with mortar.",
            "NOTDEFINED": "Undefined resource.",
            "PAINTING": "Applying decorative coatings or coverings.",
            "PAVING": "Asphalt or concrete roads and walkways.",
            "PLUMBING": "Plumbing fixtures, equipment, and pipes.",
            "ROOFING": "Membranes, shingles, tile, or other roofing.",
            "SITEGRADING": "Excavating, filling, or contouring earth.",
            "STEELWORK": "Erecting and attaching steel elements.",
            "SURVEYING": "Determining positions, distances, and angles.",
            "USERDEFINED": "User-defined resource."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLaborResourceType.htm"
    },
    "IfcLagTime": {
        "attributes": {
            "DurationType": "The allowed types of task duration that specify the lag time     measurement (work time or elapsed time).",
            "LagValue": "Value of the time lag selected as being either a ratio or a     time measure."
        },
        "description": "IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLagTime.htm"
    },
    "IfcLamp": {
        "description": "A lamp is an artificial light source such as a light bulb or tube.",
        "predefined_types": {
            "COMPACTFLUORESCENT": "A fluorescent lamp having a compact form factor produced by shaping the tube.",
            "FLUORESCENT": "A typically tubular discharge lamp in which most of the light is emitted by one or several layers of phosphors excited by ultraviolet radiation from the discharge.",
            "HALOGEN": "An incandescent lamp in which a tungsten filament is sealed into a compact transport envelope filled with an inert gas and a small amount of halogen such as iodine or bromine.",
            "HIGHPRESSUREMERCURY": "A discharge lamp in which most of the light is emitted by exciting mercury at high pressure.",
            "HIGHPRESSURESODIUM": "A discharge lamp in which most of the light is emitted by exciting sodium at high pressure.",
            "LED": "A solid state lamp that uses light-emitting diodes as the source of light.",
            "METALHALIDE": "A discharge lamp in which most of the light is emitted by exciting a metal halide.",
            "NOTDEFINED": "Undefined type.",
            "OLED": "A solid state lamp that uses light-emitting diodes as the source of light whose emissive electroluminescent layer is composed of a film of organic compounds.",
            "TUNGSTENFILAMENT": "A lamp that emits light by passing an electrical current through a tungsten wire filament in a near vacuum.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLamp.htm"
    },
    "IfcLampType": {
        "description": "The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include:",
        "predefined_types": {
            "COMPACTFLUORESCENT": "A fluorescent lamp having a compact form factor produced by shaping the tube.",
            "FLUORESCENT": "A typically tubular discharge lamp in which most of the light is emitted by one or several layers of phosphors excited by ultraviolet radiation from the discharge.",
            "HALOGEN": "An incandescent lamp in which a tungsten filament is sealed into a compact transport envelope filled with an inert gas and a small amount of halogen such as iodine or bromine.",
            "HIGHPRESSUREMERCURY": "A discharge lamp in which most of the light is emitted by exciting mercury at high pressure.",
            "HIGHPRESSURESODIUM": "A discharge lamp in which most of the light is emitted by exciting sodium at high pressure.",
            "LED": "A solid state lamp that uses light-emitting diodes as the source of light.",
            "METALHALIDE": "A discharge lamp in which most of the light is emitted by exciting a metal halide.",
            "NOTDEFINED": "Undefined type.",
            "OLED": "A solid state lamp that uses light-emitting diodes as the source of light whose emissive electroluminescent layer is composed of a film of organic compounds.",
            "TUNGSTENFILAMENT": "A lamp that emits light by passing an electrical current through a tungsten wire filament in a near vacuum.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLampType.htm"
    },
    "IfcLibraryInformation": {
        "attributes": {
            "Description": "Additional description provided for the library revision information.",
            "HasLibraryReferences": "The library references to which the library information applies.",
            "LibraryInfoForObjects": "The library information with which objects are associated.",
            "Location": "Resource identifier or locator, provided as URI, URN or URL, of the library information for online references.",
            "Name": "The name which is used to identify the library.",
            "Publisher": "Information of the organization that acts as the library publisher.",
            "Version": "Identifier for the library version used for reference.",
            "VersionDate": "Date of the referenced version of the library."
        },
        "description": "An IfcLibraryInformation describes an external structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Description, Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLibraryInformation.htm"
    },
    "IfcLibraryReference": {
        "attributes": {
            "Description": "Additional description provided for the library reference.",
            "Language": "The language in which a library reference is expressed.",
            "LibraryRefForObjects": "The library reference with which objects are associated.",
            "ReferencedLibrary": "The library information that is being referenced."
        },
        "description": "An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLibraryReference.htm"
    },
    "IfcLightDistributionData": {
        "attributes": {
            "LuminousIntensity": "The luminous intensity distribution measure for this pair of main and secondary plane angles according to the light distribution curve chosen.",
            "MainPlaneAngle": "The main plane angle (A, B or C angles, according to the light distribution curve chosen).",
            "SecondaryPlaneAngle": "The list of secondary plane angles (the \u03b1, \u03b2 or \u03b3 angles) according to the light distribution curve chosen."
        },
        "description": "IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLightDistributionData.htm"
    },
    "IfcLightFixture": {
        "description": "A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission.",
        "predefined_types": {
            "DIRECTIONSOURCE": "A light fixture that is considered to have a length or surface area from which it emits light in a direction. A light fixture containing one or more fluorescent lamps is an example of a direction source.",
            "NOTDEFINED": "Undefined type.",
            "POINTSOURCE": "A light fixture that is considered to have negligible area and that emit light with approximately equal intensity in all directions.  A light fixture containing a tungsten, halogen or similar bulb is an example of a point source.",
            "SECURITYLIGHTING": "A light fixture having specific purpose of directing occupants in an emergency, such as an illuminated exit sign or emergency flood light.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLightFixture.htm"
    },
    "IfcLightFixtureType": {
        "description": "The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include:",
        "predefined_types": {
            "DIRECTIONSOURCE": "A light fixture that is considered to have a length or surface area from which it emits light in a direction. A light fixture containing one or more fluorescent lamps is an example of a direction source.",
            "NOTDEFINED": "Undefined type.",
            "POINTSOURCE": "A light fixture that is considered to have negligible area and that emit light with approximately equal intensity in all directions.  A light fixture containing a tungsten, halogen or similar bulb is an example of a point source.",
            "SECURITYLIGHTING": "A light fixture having specific purpose of directing occupants in an emergency, such as an illuminated exit sign or emergency flood light.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLightFixtureType.htm"
    },
    "IfcLightIntensityDistribution": {
        "attributes": {
            "DistributionData": "Light distribution data applied to the light source. It is defined by a list of main plane angles (B or C according to the light distribution curve chosen) that includes (for each B or C angle) a second list of secondary plane angles (the \u03b2 or \u03b3 angles) and the according luminous intensity distribution measures.",
            "LightDistributionCurve": "Standardized  light distribution curve used to define the luminous intensity of the light in all directions."
        },
        "description": "IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLightIntensityDistribution.htm"
    },
    "IfcLightSource": {
        "attributes": {
            "AmbientIntensity": "Definition from VRML97 - ISO/IEC 14772-1:1997: The ambientIntensity specifies the intensity of the ambient emission from the light. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity).",
            "Intensity": "Definition from VRML97 - ISO/IEC 14772-1:1997: The intensity field specifies the brightness of the direct emission from the light. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity).",
            "LightColour": "Definition from ISO/CD 10303-46:1992: Based on the current lighting model, the colour of the light to be used for shading. Definition from VRML97 - ISO/IEC 14772-1:1997: The color field specifies the spectral color properties of both the direct and ambient light emission as an RGB value.",
            "Name": "The name given to the light source in presentation."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO 10303-46:\n> The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLightSource.htm"
    },
    "IfcLightSourceAmbient": {
        "description": "{ .extDef}\n> NOTE  Definition according to ISO 10303-46:\n> The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLightSourceAmbient.htm"
    },
    "IfcLightSourceDirectional": {
        "attributes": {
            "Orientation": "Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO 10303-46:\n> The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLightSourceDirectional.htm"
    },
    "IfcLightSourceGoniometric": {
        "attributes": {
            "ColourAppearance": "Artificial light sources are classified in terms of their color appearance. To the human eye they all appear to be white; the difference can only be detected by direct comparison. Visual performance is not directly affected by differences in color appearance.",
            "ColourTemperature": "The color temperature of any source of radiation is defined as the temperature (in Kelvin) of a black-body or Planckian radiator whose radiation has the same chromaticity as the source of radiation. Often the values are only approximate color temperatures as the black-body radiator cannot emit radiation of every chromaticity value. The color temperatures of the commonest artificial light sources range from less than 3000K (warm white) to 4000K (intermediate) and over 5000K (daylight).",
            "LightDistributionDataSource": "The data source from which light distribution data is obtained.",
            "LightEmissionSource": "Identifies the types of light emitter from which the type required may be set.",
            "LuminousFlux": "Luminous flux is a photometric measure of radiant flux, i.e. the volume of light emitted from a light source. Luminous flux is measured either for the interior as a whole or for a part of the interior (partial luminous flux for a solid angle). All other photometric parameters are derivatives of luminous flux. Luminous flux is measured in lumens (lm). The luminous flux is given as a nominal value for each lamp.",
            "Position": "The position of the light source. It is used to orientate the light distribution curves."
        },
        "description": "IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLightSourceGoniometric.htm"
    },
    "IfcLightSourcePositional": {
        "attributes": {
            "ConstantAttenuation": "Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that is constant.",
            "DistanceAttenuation": "Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that proportional to the distance from the light source.",
            "Position": "Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location.",
            "QuadricAttenuation": "This real indicates the value of the attenuation in the lighting equation that proportional to the square value of the distance from the light source.",
            "Radius": "The maximum distance from the light source for a surface still to be illuminated. Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO 10303-46:\n> The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLightSourcePositional.htm"
    },
    "IfcLightSourceSpot": {
        "attributes": {
            "BeamWidthAngle": "Definition from VRML97 - ISO/IEC 14772-1:1997: The beamWidth field specifies an inner solid angle in which the light source emits light at uniform full intensity. The light source's emission intensity drops off from the inner solid angle (beamWidthAngle) to the outer solid angle (spreadAngle).",
            "ConcentrationExponent": "Definition from ISO/CD 10303-46:1992: This real is the exponent on the cosine of the angle between the line that starts at the position of the spot light source and is in the direction of the orientation of the spot light source and a line that starts at the position of the spot light source and goes through a point on the surface being shaded.",
            "Orientation": "Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system.",
            "SpreadAngle": "Definition from ISO/CD 10303-46:1992: This planar angle measure is the angle between the line that starts at the position of the spot light source and is in the direction of the spot light source and any line on the boundary of the cone of influence. Definition from VRML97 - ISO/IEC 14772-1:1997: The cutOffAngle (name of spread angle in VRML) field specifies the outer bound of the solid angle. The light source does not emit light outside of this solid angle."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO 10303-46:\n> The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLightSourceSpot.htm"
    },
    "IfcLine": {
        "attributes": {
            "Dir": "The direction of the IfcLine, the magnitude and units of Dir affect the parameterization of the line.",
            "Pnt": "The location of the IfcLine."
        },
        "description": "The IfcLine is an unbounded line parameterized by an IfcCartesianPoint and an IfcVector. The magnitude of the IfcVector affects the parameterization of the line, but it does not bound the line.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLine.htm"
    },
    "IfcLinearElement": {
        "description": "A generalization of all linear elements that are parts of an alignment.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLinearElement.htm"
    },
    "IfcLinearPlacement": {
        "attributes": {
            "CartesianPosition": "",
            "RelativePlacement": ""
        },
        "description": "IfcLinearPlacement provides a specialization of IfcObjectPlacement in which the placement and axis direction of the object coordinate system is defined by a reference to a curve. RelativePlacement is therefore restricted to IfcAxis2PlacementLinear.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLinearPlacement.htm"
    },
    "IfcLinearPositioningElement": {
        "description": "An IfcLinearPositioningElement is an abstract entity describing positioning according to a curve.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLinearPositioningElement.htm"
    },
    "IfcLiquidTerminal": {
        "description": "A liquid terminal is a terminating or origination point for the transfer of liquid between distribution system(s). this is the point where the liquid distribution system interacts with the external environment. An example of this is a loading arm for the transfer of liquid from a docked vessel.\n",
        "predefined_types": {
            "HOSEREEL": "A Supporting framework on which a hose may be wound whose primary purpose is to connect and interact with the external environment.",
            "LOADINGARM": "A loading arm permits the transfer of liquid or liquefied gas from one system to another, through the use of an articulated arm that accounts for the movement of docked vessels.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLiquidTerminal.htm"
    },
    "IfcLiquidTerminalType": {
        "description": "The LiquidTerminalType provides the type information for LiquidTerminal occurrences.\nA liquid terminal is a terminating or origination point for the transfer of liquid between distribution system(s). this is the point where the liquid distribution system interacts with the external environment. An example of this is a loading arm for the transfer of liquid from a docked vessel.\n",
        "predefined_types": {
            "HOSEREEL": "A Supporting framework on which a hose may be wound whose primary purpose is to connect and interact with the external environment.",
            "LOADINGARM": "A loading arm permits the transfer of liquid or liquefied gas from one system to another, through the use of an articulated arm that accounts for the movement of docked vessels.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLiquidTerminalType.htm"
    },
    "IfcLocalPlacement": {
        "attributes": {
            "RelativePlacement": "Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system."
        },
        "description": "An IfcLocalPlacement defines the relative placement of a product in relation to the placement of another product or the absolute placement of a product within the geometric representation context of the project.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLocalPlacement.htm"
    },
    "IfcLoop": {
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> A loop is a topological entity constructed from a single vertex, or by stringing together connected (oriented) edges, or linear segments beginning and ending at the same vertex. It is typically used to bound a face lying on a surface. A loop has dimensionality of 0 or 1. The domain of a 0-dimensional loop is a single point. The domain of a 1-dimensional loop is a connected, oriented curve, but need not to be manifold. As the loop is a circle, the location of its beginning/ending point is arbitrary. The domain of the loop includes its bounds, an 0 &le; &Xi; < &infin;. A loop is represented by a single vertex, or by an ordered collection of oriented edges, or by an ordered collection of points. A loop is a graph, so M and the graph genus _G^l^_ may be determined by the graph traversal algorithm. Since M = 1, the Euler equation (1) reduces in this case to\n>> ![Image](../../../../figures/ifcloop-math1.gif)\n>  where V and _E~l~_ are the number of unique vertices and oriented edges in the loop and _G^l^_ is the genus of the loop.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLoop.htm"
    },
    "IfcManifoldSolidBrep": {
        "attributes": {
            "Outer": "A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid."
        },
        "description": "The IfcManifoldSolidBrep is a solid represented as a collection of connected surfaces that delimit the solid from the surrounding non-solid.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcManifoldSolidBrep.htm"
    },
    "IfcMapConversion": {
        "attributes": {
            "Eastings": "Specifies the location along the easting of the coordinate system of the target map coordinate reference system.",
            "Northings": "Specifies the location along the northing of the coordinate system of the target map coordinate reference system.",
            "OrthogonalHeight": "Orthogonal height relative to the vertical datum specified.",
            "Scale": "Scale to be used, when the units of the CRS are not identical to the units of the engineering coordinate system. If omitted, the value of 1.0 is assumed.",
            "ScaleY": "",
            "ScaleZ": "",
            "XAxisAbscissa": "Specifies the value along the easting axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system.",
            "XAxisOrdinate": "Specifies the value along the northing axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system."
        },
        "description": "The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMapConversion.htm"
    },
    "IfcMappedItem": {
        "attributes": {
            "MappingSource": "A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition.",
            "MappingTarget": "A representation item that is the target onto which the mapping source is mapped. It is constraint to be a Cartesian transformation operator."
        },
        "description": "The IfcMappedItem is the inserted instance of a source definition (to be compared with a block / shared cell / macro definition). The instance is inserted by applying a Cartesian transformation operator as the MappingTarget.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMappedItem.htm"
    },
    "IfcMarineFacility": {
        "description": "A marine facility represents any major structure or entity that is specific to the ports and waterways domain. examples of this include quays, jetties, shipyards, breakwaters etc.\n",
        "predefined_types": {
            "BARRIERBEACH": "a sand ridge that rises slightly above the surface of the sea and runs roughly parallel to the shore, from which it is separated by a lagoon.",
            "BREAKWATER": "A longitudinal structure that protects a shore area, harbour, basin or estuary from waves.  NOTE Definition in ISO 21650: structure protecting a shore area, harbour, anchorage and/or basin from waves  NOTE Definition in ISO 6707: long structure  in a body of water designed to protect a basin or the shore from waves",
            "CANAL": "A man-made watercourse constructed usually, to join rivers, lakes or seas and often of a size suitable for navigation.  NOTE definition in ISO 6707: channel constructed to carry water, usually for navigation, but which can also be used for water power, irrigation, collecting rainwater run-off , or drainage  of surface water.",
            "DRYDOCK": "a Dry dock is an enclosed chamber (by gate) that allows the draining of water for the construction or repair of marine vessels.  NOTE definition in ISO 6707: dock with gates from which water can be drained or pumped, leaving it dry to enable a vessel to be built or repaired",
            "FLOATINGDOCK": "A spatial element that encompasses a floating dry dock and supporting quay side ancillaries.",
            "HYDROLIFT": "A type of vessel launch & recovery facility, also known as a hydraulic lift dock, where ships are lifted vertically by water impounding systems, then floated laterally across the land to berths which subsequently become dry.",
            "JETTY": "A berthing structure, that extends out into the sea usually perpendicular to the coastline, primarily for the transfer of liquid bulk materials.  NOTE definition in ISO 21650: deck structure supported by vertical and possibly inclined piles extending into the sea, frequently in a direction normal to the coastline.  NOTE definition in ISO 28640: facility consisting of a trestle or similar structure, berthing facilities including fendering and topside equipment to enable the transfer of LNG between ship and shore.",
            "LAUNCHRECOVERY": "Subset of facilities for the function of launching or recovering vessels.",
            "MARINEDEFENCE": "A subset of facilities with the primary function of protection or defence of a coastal or flood area.",
            "NAVIGATIONALCHANNEL": "A natural navigable watercourse (such as a river) that needs to be managed or have improvements applied. This includes defined navigational areas in open seas and bays.  NOTE definition in ISO 6707: open passage for conveying or containing water",
            "NOTDEFINED": "Undefined type.",
            "PORT": "A complex/facility for shipping and marine activities, this includes cargo, people and storage of vessels (marinas & harbours).",
            "QUAY": "a facility for the mooring of vessels accompanied with the loading and unloading of cargo or passengers or the maintenance of vessels.",
            "REVETMENT": "A marine defensive structure made from earthworks, masonry or activities, built in such a way as to absorb the energy of incoming water.",
            "SHIPLIFT": "A type of vessel launch & recovery facility, where ships are lifted vertically out of the water on platforms connected to winches, then transferred horizontally to land based berths on rail, wheel or track systems.",
            "SHIPLOCK": "A facility used for raising and lowering boats, ships and other watercraft between stretches of water of different levels on rivers and canal waterways or between impounded basins. This is achieved via an impounded chamber of water which is filled and emptied.",
            "SHIPYARD": "A coastal/waterside facility where ships are built and repaired.",
            "SLIPWAY": "A facility for the dynamic launch or recovery of a vessel utilizing an inclined ramp and gravitational or mechanical hauling systems.",
            "USERDEFINED": "User-defined type",
            "WATERWAY": "A subset of facilities that have the primary function of providing a navigable area of water.",
            "WATERWAYSHIPLIFT": "A facility used for raising and lowering boats, ships and other watercraft between stretches of water of different levels on river and canal waterways or between impounded basins. This is achieved via an impounded trough of water which is mechanically lifted up and down."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMarineFacility.htm"
    },
    "IfcMarinePart": {
        "description": "Part of a marine facility.\n",
        "predefined_types": {
            "ABOVEWATERLINE": "A vertical spatial part that represents the part above the mean waterline defined within the site area.",
            "ANCHORAGE": "A region spatial part that represents a managed area for the anchorage of vessels awaiting space and conditions to enter a port.",
            "APPROACHCHANNEL": "A longitudinal spatial part of a waterway or port facility that covers the approach of the primary facility.",
            "BELOWWATERLINE": "A vertical spatial part that represents the part below the mean waterline defined within the site area.",
            "BERTHINGSTRUCTURE": "A longitudinal spatial part of a waterway or port facility that provides facilities for the berthing of vessels while waiting for the waterway facility to become available. For example waiting for a lock cycle to complete and the lock gates to open.",
            "CHAMBER": "A longitudinal spatial part of a waterway or port facility that forms the impounded chamber of a facility, such as a ship lock, dry dock or hydrolift",
            "CILL_LEVEL": "A vertical spatial part that represents the elevation of the cill and floor level of an impounded facility such as a ship lock or dry lock.",
            "COPELEVEL": "A vertical spatial part that represents the elevation working surface of the quay for the placement of quay furniture and plant.",
            "CORE": "A lateral spatial part that sub divides the core structure of a facility such as a breakwater or embankment",
            "CREST": "A lateral spatial part that forms the crest area of breakwater or embankment where additional structures are placed such as access items or roads.",
            "GATEHEAD": "A longitudinal spatial part of a waterway or port facility that forms the gate, supporting structure & plant of an impounded facility such as a ship lock, dry dock or hydrolift.",
            "GUDINGSTRUCTURE": "A longitudinal spatial part of a waterway or port facility that forms the guiding and assistive structures at the entrance to an impounded facility.",
            "HIGHWATERLINE": "A vertical spatial part that represents the elevation of the high waterline, multiple high waterlines can be used to represent the different high tide types.",
            "LANDFIELD": "A region or lateral facility part that covers the land field of a waterside facility such as a quay.",
            "LEEWARDSIDE": "A lateral spatial part that covers the side of protective structures that do not experience weather or wave effects.",
            "LOWWATERLINE": "A vertical spatial part that represents the elevation of the low waterline, multiple low waterlines can be used to represent the different low tide types.",
            "MANUFACTURING": "A region spatial part that forms a sub division of a facility for the purpose of manufacturing. This covers areas that are open air and do not constitute a building or the building is only a small part of the entire area (in this case a child of type building can be used).",
            "NAVIGATIONALAREA": "A region spatial part that covers a managed navigational area that is maintained for an operational reason, this could be a dredged turning circle or waiting area.",
            "NOTDEFINED": "Undefined type.",
            "PROTECTION": "A lateral or region spatial part that forms the area which contains protective measures for scour and erosion of a facility.",
            "SHIPTRANSFER": "A region spatial part that represents a clear area used for the transfer and movement of vessels this area could include complex rail tracks and additional loading requirements.",
            "STORAGEAREA": "A region spatial part that forms a sub division of a facility for the purpose of storing cargo. For example container stacks, dry bulk storage yards, material storage yards.",
            "USERDEFINED": "User-defined type",
            "VEHICLESERVICING": "A region spatial part that represents a functional division designed for the maintenance and/or storage of vehicles used for facility operations.",
            "WATERFIELD": "A region or lateral facility part that covers the water field of a waterside facility such as a quay.",
            "WEATHERSIDE": "A lateral spatial part that covers the side of protective structures that is designed to protect and be impacted by weather or wave effects. such as the outer side of breakwaters or the riverside of flood embankments."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMarinePart.htm"
    },
    "IfcMaterial": {
        "attributes": {
            "Category": "Definition of the category (group or type) of material, in more general terms than given by attribute Name.",
            "Description": "Definition of the material in more descriptive terms than given by attributes Name or Category.",
            "HasRepresentation": "Reference to the IfcMaterialDefinitionRepresentation that provides presentation information to a representation common to this material in style definitions.",
            "IsRelatedWith": "Reference to a material relationship indicating that this material is a part (or constituent) in a material composite.",
            "Name": "Name of the material.",
            "RelatesTo": "Reference to a material relationship indicating that this material composite has parts (or constituents)."
        },
        "description": "IfcMaterial is a homogeneous or inhomogeneous substance that can be used to form elements (physical products or their components).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterial.htm"
    },
    "IfcMaterialClassificationRelationship": {
        "attributes": {
            "ClassifiedMaterial": "Material being classified.",
            "MaterialClassifications": "The material classifications identifying the type of material."
        },
        "description": "IfcMaterialClassificationRelationship is a relationship assigning classifications to materials.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialClassificationRelationship.htm"
    },
    "IfcMaterialConstituent": {
        "attributes": {
            "Category": "Category of the material constituent, e.g. the role it has in the constituent set it belongs to.",
            "Description": "Definition of the material constituent in descriptive terms.",
            "Fraction": "Optional provision of a fraction of the total amount (volume or weight) that applies to the IfcMaterialConstituentSet that is contributed by this IfcMaterialConstituent.",
            "Material": "Reference to the material from which the constituent is constructed.",
            "Name": "The name by which the material constituent is known.",
            "ToMaterialConstituentSet": "Material constituent set in which this material constituent is included."
        },
        "description": "IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. In order to identify and distinguish the part of the shape representation to which the material constituent applies the IfcProductDefinitionShape of the element has to include instances of IfcShapeAspect, using the same keyword for their Name attribute.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialConstituent.htm"
    },
    "IfcMaterialConstituentSet": {
        "attributes": {
            "Description": "Definition of the material constituent set in descriptive terms.",
            "MaterialConstituents": "Identification of the constituents from which the material constituent set is composed.",
            "Name": "The name by which the constituent set is known."
        },
        "description": "IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialConstituentSet.htm"
    },
    "IfcMaterialDefinition": {
        "attributes": {
            "AssociatedTo": "Use of the IfcMaterialDefinition subtypes within the material association of an element occurrence or element type. The association is established by the IfcRelAssociatesMaterial relationship.",
            "HasExternalReferences": "Reference to external references, e.g. library, classification, or document information, that are associated to the material.",
            "HasProperties": "Material properties assigned to instances of subtypes of IfcMaterialDefinition."
        },
        "description": "IfcMaterialDefinition is a general supertype for all material related information items in IFC that have common material related properties that may include association of material with some shape parameters or assignments to identified parts of a component.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialDefinition.htm"
    },
    "IfcMaterialDefinitionRepresentation": {
        "attributes": {
            "RepresentedMaterial": "Reference to the material to which the representation applies."
        },
        "description": "IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialDefinitionRepresentation.htm"
    },
    "IfcMaterialLayer": {
        "attributes": {
            "Category": "Category of the material layer, e.g. the role it has in the layer set it belongs to (such as 'load bearing', 'thermal insulation' etc.). The list of keywords might be extended by model view definitions, however the following keywords shall apply in general: * 'LoadBearing' \u2014 for all material layers having a load bearing function. * 'Insulation' \u2014 for all material layers having an insolating function. * 'Inner finish' \u2014 for the material layer being the inner finish. * 'Outer finish' \u2014 for the material layer being the outer finish.",
            "Description": "Definition of the material layer in more descriptive terms than given by attributes Name or Category.",
            "IsVentilated": "Indication of whether the material layer represents an air layer (or cavity). * set to TRUE if the material layer is an air gap and provides air exchange from the layer to the outside air. * set to UNKNOWN if the material layer is an air gap and does not provide air exchange (or when this information about air exchange of the air gap is not available). * set to FALSE if the material layer is a solid material layer (the default).",
            "LayerThickness": "The thickness of the material layer. The meaning of \"thickness\" depends on its usage. In case of building elements elements utilizing IfcMaterialLayerSetUsage, the dimension is measured along the positive LayerSetDirection as specified in IfcMaterialLayerSetUsage.",
            "Material": "Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point.",
            "Name": "The name by which the material layer is known.",
            "Priority": "The relative priority of the layer, expressed as normalised integer range [0..100]. Controls how layers intersect in connections and corners of building elements: a layer from one element protrudes into (i.e. displaces) a layer from another element in a joint of these elements if the former element's layer has higher priority than the latter. The priority value for a material layer in an element has to be set and maintained by software applications in relation to the material layers in connected elements.",
            "ToMaterialLayerSet": "Reference to the IfcMaterialLayerSet in which the material layer is included."
        },
        "description": "IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the material layer set base (MlsBase).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialLayer.htm"
    },
    "IfcMaterialLayerSet": {
        "attributes": {
            "Description": "Definition of the IfcMaterialLayerSet in descriptive terms.",
            "LayerSetName": "The name by which the IfcMaterialLayerSet is known.",
            "MaterialLayers": "Identification of the IfcMaterialLayer\u2019s from which the IfcMaterialLayerSet is composed."
        },
        "description": "The IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialLayerSet.htm"
    },
    "IfcMaterialLayerSetUsage": {
        "attributes": {
            "DirectionSense": "Denotes whether the material layer set is oriented in positive or negative sense along the specified axis (defined by LayerSetDirection). \"Positive\" means that the consecutive layers (the IfcMaterialLayer instances in the list of IfcMaterialLayerSet.MaterialLayers) are placed face-by-face in the direction of the positive axis as established by LayerSetDirection: for AXIS2 it would be in +y, for AXIS3 it would be +z. \"Negative\" means that the layers are placed face-by-face in the direction of the negative LayerSetDirection. In both cases,  starting at the material layer set base line.",
            "ForLayerSet": "The IfcMaterialLayerSet set to which the usage is applied.",
            "LayerSetDirection": "Orientation of the material layer set relative to element reference geometry. The meaning of the value of this attribute shall be specified in the geometry use section for each element. For extruded shape representation, direction can be given along the extrusion path (e.g. for slabs) or perpendicular to it (e.g. for walls).",
            "OffsetFromReferenceLine": "Offset of the material layer set base line (MlsBase) from reference geometry (line or plane) of element. The offset can be positive or negative, unless restricted for a particular building element type in its use definition or by implementer agreement. A positive value means, that the MlsBase is placed on the positive side of the reference line or plane, on the axis established by LayerSetDirection (in case of AXIS2 into the direction of +y, or in case of AXIS2 into the direction of +z). A negative value means that the MlsBase is placed on the negative side, as established by LayerSetDirection (in case of AXIS2 into the direction of -y).",
            "ReferenceExtent": "Extent of the extrusion of the elements body shape representation to which the IfcMaterialLayerSetUsage applies. It is used as the reference value for the upper OffsetValues[2] provided by the IfcMaterialLayerSetWithOffsets subtype for included material layers."
        },
        "description": "The IfcMaterialLayerSetUsage determines the usage of IfcMaterialLayerSet in terms of its location and orientation relative to the associated element geometry. The location of material layer set shall be compatible with the building element geometry (that is, material layers shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialLayerSetUsage.htm"
    },
    "IfcMaterialLayerWithOffsets": {
        "attributes": {
            "OffsetDirection": "Orientation of the offset; shall be perpendicular to the parent layer set direction.",
            "OffsetValues": "The numerical value of layer offset, in the direction of the axis assigned by the attribute OffsetDirection. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the layer extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the layer extrusion)."
        },
        "description": "IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition of offset values along edges (within the material layer set usage in parent layer set).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialLayerWithOffsets.htm"
    },
    "IfcMaterialList": {
        "attributes": {
            "Materials": "Materials used in a composition of substances."
        },
        "description": "IfcMaterialList is a list of the different materials that are used in an element.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialList.htm"
    },
    "IfcMaterialProfile": {
        "attributes": {
            "Category": "Category of the material profile, e.g. the role it has in the profile set it belongs to. The list of keywords might be extended by model view definitions, however the following keywords shall apply in general: * 'LoadBearing' \u2014 the material profile having a load bearing function. * 'Insulation' \u2014 the material profile having an insolating function. * 'Finish' \u2014 the material profile being the finish.",
            "Description": "Definition of the material profile in descriptive terms.",
            "Material": "Optional reference to the material from which the profile is constructed.",
            "Name": "The name by which the material profile is known.",
            "Priority": "The relative priority of the profile, expressed as normalised integer range [0..100]. Controls how profiles intersect in connections and corners of building elements: A profile from one element protrudes into (i.e. displaces) a profile from another element in a joint of these elements if the former element's profile has higher priority than the latter. The priority value for a material profile in an element has to be set and maintained by software applications in relation to the material profiles in connected elements.",
            "Profile": "Identification of the profile for which this material profile is associating material.",
            "ToMaterialProfileSet": "Material profile set in which this material profile is included."
        },
        "description": "IfcMaterialProfile is a single and identifiable cross section of an element which is constructed of a number of profiles (one or more).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialProfile.htm"
    },
    "IfcMaterialProfileSet": {
        "attributes": {
            "CompositeProfile": "Reference to the composite profile definition for which this material profile set associates material to each of its individual profiles. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted.",
            "Description": "Definition of the material profile set in descriptive terms.",
            "MaterialProfiles": "Identification of the profiles from which the material profile set is composed.",
            "Name": "The name by which the material profile set is known."
        },
        "description": "The IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialProfileSet.htm"
    },
    "IfcMaterialProfileSetUsage": {
        "attributes": {
            "CardinalPoint": "Index reference to a significant point in the section profile. Describes how the section is aligned relative to the (longitudinal) axis of the member it is associated with. This parametric specification of profile alignment can be provided redundantly to the explicit alignment defined by ForProfileSet.MaterialProfiles[*].Profile.",
            "ForProfileSet": "The IfcMaterialProfileSet set to which the usage is applied.",
            "ReferenceExtent": "Extent of the extrusion of the elements body shape representation to which the IfcMaterialProfileSetUsage applies. It is used as the reference value for the upper OffsetValues[2] provided by the IfcMaterialProfileSetWithOffsets subtype for included material profiles."
        },
        "description": "IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialProfileSetUsage.htm"
    },
    "IfcMaterialProfileSetUsageTapering": {
        "attributes": {
            "CardinalEndPoint": "Index reference to a significant point in the second section profile. Describes how this section is aligned relative to the axis of the member it is associated with. This parametric specification of profile alignment can be provided redundantly to the explicit alignment defined by ForProfileSet.MaterialProfiles[*].Profile.",
            "ForProfileEndSet": "The second IfcMaterialProfileSet set to which the usage is applied."
        },
        "description": "IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialProfileSetUsageTapering.htm"
    },
    "IfcMaterialProfileWithOffsets": {
        "attributes": {
            "OffsetValues": "The numerical value of profile offset, in the direction of the axis direction - always AXIS1 that is, the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion)."
        },
        "description": "IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile with additional longitudinal offsets .",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialProfileWithOffsets.htm"
    },
    "IfcMaterialProperties": {
        "attributes": {
            "Material": "Reference to the material definition to which the set of properties is assigned."
        },
        "description": "The IfcMaterialProperties assigns a set of material properties to associated material definitions. The set may be identified by a Name and a Description. The IfcProperty (instantiable subtypes) is used to express the individual material properties by name, description, value and unit.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialProperties.htm"
    },
    "IfcMaterialRelationship": {
        "attributes": {
            "MaterialExpression": "",
            "RelatedMaterials": "Reference to related materials (as constituents of composite material).",
            "RelatingMaterial": "Reference to the relating material (the composite)."
        },
        "description": "IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialRelationship.htm"
    },
    "IfcMaterialUsageDefinition": {
        "attributes": {
            "AssociatedTo": "Use of the IfcMaterialUsageDefinition subtypes within the material association of an element occurrence. The association is established by the IfcRelAssociatesMaterial relationship."
        },
        "description": "IfcMaterialUsageDefinition is a general supertype for all material related information items in IFC that have occurrence specific assignment parameters to assign a set of materials with shape parameters to a reference geometry item of that component.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialUsageDefinition.htm"
    },
    "IfcMeasureWithUnit": {
        "attributes": {
            "UnitComponent": "The unit in which the physical quantity is expressed.",
            "ValueComponent": "The value of the physical quantity when expressed in the specified units."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-41:1992\n> A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMeasureWithUnit.htm"
    },
    "IfcMechanicalFastener": {
        "attributes": {
            "NominalDiameter": "The nominal diameter describing the cross-section size of the fastener type.",
            "NominalLength": "The nominal length describing the longitudinal dimensions of the fastener type."
        },
        "description": "A mechanical fasteners connecting building elements or parts mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails.",
        "predefined_types": {
            "ANCHORBOLT": "A special bolt which is anchored into concrete, stone, or brickwork.",
            "BOLT": "A threaded cylindrical rod that engages with a similarly threaded hole in a nut or any other part to form a fastener. The mechanical fastener often also includes one or more washers and one or more nuts.",
            "CHAIN": "a series of linked metal rings used for fastening or securing something, or for pulling loads.",
            "COUPLER": "A part connecting two rod or bars, such as reinforcement bars.",
            "DOWEL": "A cylindrical rod that is driven into holes of the connected pieces.",
            "NAIL": "A thin pointed piece of metal that is hammered into materials as a fastener.",
            "NAILPLATE": "A piece of sheet metal with punched points that overlaps the connected pieces and is pressed into their material.",
            "NOTDEFINED": "Undefined mechanical fastener.",
            "RAILFASTENING": "An assembly of components which secures a rail to the supporting structure and retains it in the required position whilst permitting any necessary vertical, lateral and longitudinal movement. Note: definition from EN 13481-1.",
            "RAILJOINT": "A mechanical assembly with e.g. fishplates to join two rail ends with optional functions (insulation or expansion capacity).",
            "RIVET": "A fastening part having a head at one end and the other end being hammered flat after being passed through holes in the pieces that are fastened together.",
            "ROPE": "a length of thick strong cord made by twisting together strands of hemp, sisal, nylon, or similar material. used primarily for mooring vessels",
            "SCREW": "A fastener with a tapered threaded shank and a slotted head.",
            "SHEARCONNECTOR": "A ring connector that is accepted by ring keyways in the connected pieces; or a toothed circular or square connector that is pressed into the connected pieces.",
            "STAPLE": "A doubly pointed piece of metal that is hammered into materials as a fastener.",
            "STUDSHEARCONNECTOR": "Stud shear connectors are cylindrical fastening parts with a head on one side. On the other side they are welded on steel members for the use in composite steel and concrete structures.",
            "USERDEFINED": "User-defined mechanical fastener."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMechanicalFastener.htm"
    },
    "IfcMechanicalFastenerType": {
        "attributes": {
            "NominalDiameter": "The nominal diameter describing the cross-section size of the fastener type.",
            "NominalLength": "The nominal length describing the longitudinal dimensions of the fastener type."
        },
        "description": "The element component type IfcMechanicalFastenerType defines commonly shared information for occurrences of mechanical fasteners. The set of shared information may include:",
        "predefined_types": {
            "ANCHORBOLT": "A special bolt which is anchored into concrete, stone, or brickwork.",
            "BOLT": "A threaded cylindrical rod that engages with a similarly threaded hole in a nut or any other part to form a fastener. The mechanical fastener often also includes one or more washers and one or more nuts.",
            "CHAIN": "a series of linked metal rings used for fastening or securing something, or for pulling loads.",
            "COUPLER": "A part connecting two rod or bars, such as reinforcement bars.",
            "DOWEL": "A cylindrical rod that is driven into holes of the connected pieces.",
            "NAIL": "A thin pointed piece of metal that is hammered into materials as a fastener.",
            "NAILPLATE": "A piece of sheet metal with punched points that overlaps the connected pieces and is pressed into their material.",
            "NOTDEFINED": "Undefined mechanical fastener.",
            "RAILFASTENING": "An assembly of components which secures a rail to the supporting structure and retains it in the required position whilst permitting any necessary vertical, lateral and longitudinal movement. Note: definition from EN 13481-1.",
            "RAILJOINT": "A mechanical assembly with e.g. fishplates to join two rail ends with optional functions (insulation or expansion capacity).",
            "RIVET": "A fastening part having a head at one end and the other end being hammered flat after being passed through holes in the pieces that are fastened together.",
            "ROPE": "a length of thick strong cord made by twisting together strands of hemp, sisal, nylon, or similar material. used primarily for mooring vessels",
            "SCREW": "A fastener with a tapered threaded shank and a slotted head.",
            "SHEARCONNECTOR": "A ring connector that is accepted by ring keyways in the connected pieces; or a toothed circular or square connector that is pressed into the connected pieces.",
            "STAPLE": "A doubly pointed piece of metal that is hammered into materials as a fastener.",
            "STUDSHEARCONNECTOR": "Stud shear connectors are cylindrical fastening parts with a head on one side. On the other side they are welded on steel members for the use in composite steel and concrete structures.",
            "USERDEFINED": "User-defined mechanical fastener."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMechanicalFastenerType.htm"
    },
    "IfcMedicalDevice": {
        "description": "A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide.",
        "predefined_types": {
            "AIRSTATION": "Device that provides purified medical air, composed of an air compressor and air treatment line.",
            "FEEDAIRUNIT": "Device that feeds air to an oxygen generator, composed of an air compressor, air treatment line, and an air receiver.",
            "NOTDEFINED": "Undefined medical device type.",
            "OXYGENGENERATOR": "Device that generates oxygen from air.",
            "OXYGENPLANT": "Device that combines a feed air unit, oxygen generator, and backup oxygen cylinders.",
            "USERDEFINED": "User-defined medical device type.",
            "VACUUMSTATION": "Device that provides suction, composed of a vacuum pump and bacterial filtration line."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMedicalDevice.htm"
    },
    "IfcMedicalDeviceType": {
        "description": "The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include:",
        "predefined_types": {
            "AIRSTATION": "Device that provides purified medical air, composed of an air compressor and air treatment line.",
            "FEEDAIRUNIT": "Device that feeds air to an oxygen generator, composed of an air compressor, air treatment line, and an air receiver.",
            "NOTDEFINED": "Undefined medical device type.",
            "OXYGENGENERATOR": "Device that generates oxygen from air.",
            "OXYGENPLANT": "Device that combines a feed air unit, oxygen generator, and backup oxygen cylinders.",
            "USERDEFINED": "User-defined medical device type.",
            "VACUUMSTATION": "Device that provides suction, composed of a vacuum pump and bacterial filtration line."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMedicalDeviceType.htm"
    },
    "IfcMember": {
        "description": "An IfcMember is a structural member designed to carry loads between or beyond points of support. It is not required to be load bearing. The orientation of the member (being horizontal, vertical or sloped) is not relevant to its definition (in contrary to IfcBeam and IfcColumn). An IfcMember represents a linear structural element from an architectural or structural modeling point of view and shall be used if it cannot be expressed more specifically as either an IfcBeam or an IfcColumn.",
        "predefined_types": {
            "ARCH_SEGMENT": "Individual segment of an arch structure.",
            "BRACE": "A linear element (usually sloped) often used for bracing of a girder or truss.",
            "CHORD": "Upper or lower longitudinal member of a truss, used horizontally or sloped.",
            "COLLAR": "A linear element (usually used horizontally) within a roof structure to connect rafters and posts.",
            "MEMBER": "A linear element within a girder or truss with no further meaning.",
            "MULLION": "A linear element within a curtain wall system to connect two (or more) panels.",
            "NOTDEFINED": "Undefined linear element.",
            "PLATE": "A linear continuous horizontal element in wall framing, such as a head piece or a sole plate.",
            "POST": "A linear (usually vertical) member used to support something or to mark a point.",
            "PURLIN": "A linear element (usually used horizontally) within a roof structure to support rafters.",
            "RAFTER": "A linear elements used to support roof slabs or roof covering, usually used with slope.",
            "STAY_CABLE": "A sloped element suspending a structure (such as bridge deck) from a pylon.",
            "STIFFENING_RIB": "A linear element added to a flange or a web plate of a girder for local stiffening.",
            "STRINGER": "A linear element used to support stair or ramp flights, usually used with slope.",
            "STRUCTURALCABLE": "A linear cable element used to secure or stabilise a structure by resisting lateral and longitudinal loading  through tension only, but cannot resist compression. usually formed of a flexible cable or wire.",
            "STRUT": "A linear element often used within a girder or truss.",
            "STUD": "Vertical element in wall framing.",
            "SUSPENDER": "A vertical element suspending a structure (such as bridge deck) from a suspension cable or an arch.",
            "SUSPENSION_CABLE": "A suspended element, typically comprising steel wire, sheath, etc.",
            "TIEBAR": "A linear bar element used to secure or stabilise a structure by resisting lateral and longitudinal loading through tension and or compression. usually formed by a solid bar.",
            "USERDEFINED": "User-defined linear element."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMember.htm"
    },
    "IfcMemberType": {
        "description": "The element type IfcMemberType defines commonly shared information for occurrences of members. Members are predominately linear building elements, often forming part of a structural system. The orientation of the member (being horizontal, vertical or sloped) is not relevant to its definition (in contrary to beam and column). The set of shared information may include:",
        "predefined_types": {
            "ARCH_SEGMENT": "Individual segment of an arch structure.",
            "BRACE": "A linear element (usually sloped) often used for bracing of a girder or truss.",
            "CHORD": "Upper or lower longitudinal member of a truss, used horizontally or sloped.",
            "COLLAR": "A linear element (usually used horizontally) within a roof structure to connect rafters and posts.",
            "MEMBER": "A linear element within a girder or truss with no further meaning.",
            "MULLION": "A linear element within a curtain wall system to connect two (or more) panels.",
            "NOTDEFINED": "Undefined linear element.",
            "PLATE": "A linear continuous horizontal element in wall framing, such as a head piece or a sole plate.",
            "POST": "A linear (usually vertical) member used to support something or to mark a point.",
            "PURLIN": "A linear element (usually used horizontally) within a roof structure to support rafters.",
            "RAFTER": "A linear elements used to support roof slabs or roof covering, usually used with slope.",
            "STAY_CABLE": "A sloped element suspending a structure (such as bridge deck) from a pylon.",
            "STIFFENING_RIB": "A linear element added to a flange or a web plate of a girder for local stiffening.",
            "STRINGER": "A linear element used to support stair or ramp flights, usually used with slope.",
            "STRUCTURALCABLE": "A linear cable element used to secure or stabilise a structure by resisting lateral and longitudinal loading  through tension only, but cannot resist compression. usually formed of a flexible cable or wire.",
            "STRUT": "A linear element often used within a girder or truss.",
            "STUD": "Vertical element in wall framing.",
            "SUSPENDER": "A vertical element suspending a structure (such as bridge deck) from a suspension cable or an arch.",
            "SUSPENSION_CABLE": "A suspended element, typically comprising steel wire, sheath, etc.",
            "TIEBAR": "A linear bar element used to secure or stabilise a structure by resisting lateral and longitudinal loading through tension and or compression. usually formed by a solid bar.",
            "USERDEFINED": "User-defined linear element."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMemberType.htm"
    },
    "IfcMetric": {
        "attributes": {
            "Benchmark": "Enumeration that identifies the type of benchmark data.",
            "DataValue": "The value to be compared on associated objects. A null value indicates comparison to null.",
            "ReferencePath": "Optional path to an attribute to be constrained on associated objects. If provided, the metric may be validated by resolving the path to the current value on associated object(s), and comparing such value with DataValue according to the Benchmark.",
            "ValueSource": "Reference source for data values."
        },
        "description": "An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMetric.htm"
    },
    "IfcMirroredProfileDef": {
        "description": "The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMirroredProfileDef.htm"
    },
    "IfcMobileTelecommunicationsAppliance": {
        "description": "A mobile telecommunications appliance is a device that transmits, converts, amplifies or receives signals used in mobile networks.\nNote: This entity is used to define specific appliances used in mobile telecommunication networks. General communications appliances and those used in fixed transmission networks should be instantiated using IfcCommunicationsAppliance.\n",
        "predefined_types": {
            "ACCESSPOINT": "An access point is a device that allows wireless devices to connect to a wired network.",
            "BASEBANDUNIT": "A baseband unit is a component of a distributed base transceiver station for implementing baseband processing functions.",
            "BASETRANSCEIVERSTATION": "A base transceiver station (BTS) is a network component which serves one cell. It completes the conversion between base station controller and wireless channel, and realizes the wireless transmission and related control functions between base station controller and mobile switching through the air interface.",
            "E_UTRAN_NODE_B": "An E-utran nodel B is a logical network component which serves one or more E-utran cells. It is the hardware connected to the evolved packet core (EPC), more specifically to the mobility management entity (MME) , which communicates directly with user equipment in wireless way.",
            "GATEWAY_GPRS_SUPPORT_NODE": "The gateway GPRS support node is a component of the GPRS core network that extends the GSM to allow packet switching functionalities. This component is responsible for the internetworking between the GPRS network and external packet switched networks (e.g. the internet).",
            "MASTERUNIT": "A master unit is a component of a repeater for coupling base station signals.",
            "MOBILESWITCHINGCENTER": "The mobile switching centre (MSC) constitutes the interface between the radio system and the fixed networks. It is an exchange which performs all the switching and signalling functions for mobile station located in a geographical area designated as the MSC area. It consists of a MSC server and a media gateway.",
            "MSCSERVER": "The MSC server mainly comprises the call control (CC) and mobility control parts of a mobile switching center (MSC). An MSC server and a media gateway make up the full functionality of an MSC.",
            "NOTDEFINED": "Undefined type.",
            "PACKETCONTROLUNIT": "A packet control unit performs some of the processing tasks of the base station controller for packet data. It is responsible for data packet, wireless channel management, error sending detection and automatic retransmission.",
            "REMOTERADIOUNIT": "A remote radio unit is a component of a distributed base transceiver station that converts digital baseband signals into high-frequency (rf) signals and sends high-frequency (rf) signals to the antenna for radiation.",
            "REMOTEUNIT": "A remote unit is a device used to amplify a base station signal.",
            "SERVICE_GPRS_SUPPORT_NODE": "The service GPRS support node (SGSN) is a component of the GPRS core network. It is the GPRS support node of mobile station service, and it can achieve mobility management and packet routing and transfer.",
            "SUBSCRIBERSERVER": "It is a database in charge of the management of mobile subscribers. It can be an authentication center (AuC)  or a home location register (HLR).",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMobileTelecommunicationsAppliance.htm"
    },
    "IfcMobileTelecommunicationsApplianceType": {
        "description": "The flow terminal type IfcMobileTelecommunicationsApplianceType defines commonly shared information for occurrences of mobile telecommunications appliances. The set of shared information may include:",
        "predefined_types": {
            "ACCESSPOINT": "An access point is a device that allows wireless devices to connect to a wired network.",
            "BASEBANDUNIT": "A baseband unit is a component of a distributed base transceiver station for implementing baseband processing functions.",
            "BASETRANSCEIVERSTATION": "A base transceiver station (BTS) is a network component which serves one cell. It completes the conversion between base station controller and wireless channel, and realizes the wireless transmission and related control functions between base station controller and mobile switching through the air interface.",
            "E_UTRAN_NODE_B": "An E-utran nodel B is a logical network component which serves one or more E-utran cells. It is the hardware connected to the evolved packet core (EPC), more specifically to the mobility management entity (MME) , which communicates directly with user equipment in wireless way.",
            "GATEWAY_GPRS_SUPPORT_NODE": "The gateway GPRS support node is a component of the GPRS core network that extends the GSM to allow packet switching functionalities. This component is responsible for the internetworking between the GPRS network and external packet switched networks (e.g. the internet).",
            "MASTERUNIT": "A master unit is a component of a repeater for coupling base station signals.",
            "MOBILESWITCHINGCENTER": "The mobile switching centre (MSC) constitutes the interface between the radio system and the fixed networks. It is an exchange which performs all the switching and signalling functions for mobile station located in a geographical area designated as the MSC area. It consists of a MSC server and a media gateway.",
            "MSCSERVER": "The MSC server mainly comprises the call control (CC) and mobility control parts of a mobile switching center (MSC). An MSC server and a media gateway make up the full functionality of an MSC.",
            "NOTDEFINED": "Undefined type.",
            "PACKETCONTROLUNIT": "A packet control unit performs some of the processing tasks of the base station controller for packet data. It is responsible for data packet, wireless channel management, error sending detection and automatic retransmission.",
            "REMOTERADIOUNIT": "A remote radio unit is a component of a distributed base transceiver station that converts digital baseband signals into high-frequency (rf) signals and sends high-frequency (rf) signals to the antenna for radiation.",
            "REMOTEUNIT": "A remote unit is a device used to amplify a base station signal.",
            "SERVICE_GPRS_SUPPORT_NODE": "The service GPRS support node (SGSN) is a component of the GPRS core network. It is the GPRS support node of mobile station service, and it can achieve mobility management and packet routing and transfer.",
            "SUBSCRIBERSERVER": "It is a database in charge of the management of mobile subscribers. It can be an authentication center (AuC)  or a home location register (HLR).",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMobileTelecommunicationsApplianceType.htm"
    },
    "IfcMonetaryUnit": {
        "attributes": {
            "Currency": "Code or name of the currency.  Permissible values are the three-letter alphabetic currency codes as per ISO 4217{ target=\"_top\"}, for example CNY, EUR, GBP, JPY, USD."
        },
        "description": "IfcMonetaryUnit is a unit to define currency for money.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMonetaryUnit.htm"
    },
    "IfcMooringDevice": {
        "description": "A mooring device is an active or passive built element who's primary function is to participate in the mooring of a vessel, this could be in the form of a bollard used as an attachment point for lines or active equipment such as quick release hooks.\n",
        "predefined_types": {
            "BOLLARD": "a short, thick post on the deck of a ship or a quay side, to which ship's rope may be secured. not to be confused with traffic bollards.",
            "LINETENSIONER": "A mechanical device used to apply a tensioning load to mooring lines to improve vessel stability for port operations.",
            "MAGNETICDEVICE": "Mooring device that uses magnets as the primary method of securing the vessel.",
            "MOORINGHOOKS": "Quick release mooring hooks - an active device used to secure a vessel and provide automated release of vessels.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type",
            "VACUUMDEVICE": "Mooring device that uses vacuum suction as the primary method of securing the vessel."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMooringDevice.htm"
    },
    "IfcMooringDeviceType": {
        "description": "The _IfcMooringDeviceType__ _  provides the type information for IfcMooringDevice  occurrences.\nA mooring device is an active or passive built element who's primary function is to participate in the mooring of a vessel, this could be in the form of a bollard used as an attachment point for lines or active equipment such as quick release hooks.\n",
        "predefined_types": {
            "BOLLARD": "a short, thick post on the deck of a ship or a quay side, to which ship's rope may be secured. not to be confused with traffic bollards.",
            "LINETENSIONER": "A mechanical device used to apply a tensioning load to mooring lines to improve vessel stability for port operations.",
            "MAGNETICDEVICE": "Mooring device that uses magnets as the primary method of securing the vessel.",
            "MOORINGHOOKS": "Quick release mooring hooks - an active device used to secure a vessel and provide automated release of vessels.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type",
            "VACUUMDEVICE": "Mooring device that uses vacuum suction as the primary method of securing the vessel."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMooringDeviceType.htm"
    },
    "IfcMotorConnection": {
        "description": "A motor connection provides the means for connecting a motor as the driving device to the driven device.",
        "predefined_types": {
            "BELTDRIVE": "An indirect connection made through the medium of a shaped, flexible continuous loop.",
            "COUPLING": "An indirect connection made through the medium of the viscosity of a fluid.",
            "DIRECTDRIVE": "A direct, physical connection made between the motor and the driven device.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMotorConnection.htm"
    },
    "IfcMotorConnectionType": {
        "description": "The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include:",
        "predefined_types": {
            "BELTDRIVE": "An indirect connection made through the medium of a shaped, flexible continuous loop.",
            "COUPLING": "An indirect connection made through the medium of the viscosity of a fluid.",
            "DIRECTDRIVE": "A direct, physical connection made between the motor and the driven device.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMotorConnectionType.htm"
    },
    "IfcNamedUnit": {
        "attributes": {
            "Dimensions": "The dimensional exponents of the SI base units by which the named unit is defined.",
            "UnitType": "The type of the unit."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-41:1992\n> A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcNamedUnit.htm"
    },
    "IfcNavigationElement": {
        "description": "A navigation element is an active or passive built element who's primary function is to provide navigational instructions and warnings to vessels, this could be in the form of a floating buoy, a fixed beacon.\nNavigation elements can aggregate other components and elements to form the entire structure. this might include a frame structure to form the body, instances of IfcSign for signage or instances of IfcSignal for supplementary lights an/or sound signals.\n",
        "predefined_types": {
            "BEACON": "a fixed vertical structure serving as a navigation mark, to show reefs or other hazards, or provide navigational directions.",
            "BUOY": "an anchored floating structure serving as a navigation mark, to show reefs or other hazards, or provide navigational directions.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcNavigationElement.htm"
    },
    "IfcNavigationElementType": {
        "description": "The IfcNavigationElementType  provides the type information for IfcNavigationElement  occurrences.\nA navigation element is an active or passive built element who's primary function is to provide navigational instructions and warnings to vessels, this could be in the form of a floating buoy, a fixed beacon or sound signal.\n",
        "predefined_types": {
            "BEACON": "a fixed vertical structure serving as a navigation mark, to show reefs or other hazards, or provide navigational directions.",
            "BUOY": "an anchored floating structure serving as a navigation mark, to show reefs or other hazards, or provide navigational directions.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcNavigationElementType.htm"
    },
    "IfcObject": {
        "attributes": {
            "Declares": "Link to the relationship object pointing to the reflected object(s) that receives the object definitions. The reflected object has to be part of an object occurrence decomposition. The associated IfcObject, or its subtypes, provides the specific information (as part of a type, or style, definition), that is common to all reflected instances of the declaring IfcObject, or its subtypes.",
            "IsDeclaredBy": "Link to the relationship object pointing to the declaring object that provides the object definitions for this object occurrence. The declaring object has to be part of an object type decomposition. The associated IfcObject, or its subtypes, contains the specific information (as part of a type, or style, definition), that is common to all reflected instances of the declaring IfcObject, or its subtypes.",
            "IsTypedBy": "Set of relationships to the object type that provides the type definitions for this object occurrence. The then associated IfcTypeObject, or its subtypes, contains the specific information (or type, or style), that is common to all instances of IfcObject, or its subtypes, referring to the same type.",
            "ObjectType": "The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED or when the concrete entity instantiated does not have a PredefinedType attribute. The latter is the case in some exceptional leaf classes and when instantiating IfcBuiltElement directly."
        },
        "description": "An IfcObject is the generalization of any semantically treated thing or process. Objects are things as they appear - i.e. occurrences.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcObject.htm"
    },
    "IfcObjectDefinition": {
        "attributes": {
            "Decomposes": "References to the decomposition relationship being an aggregation. It determines that this object definition is a part within an unordered whole/part decomposition relationship. An object definitions can only be part of a single decomposition (to allow hierarchical strutures only).",
            "HasAssignments": "Reference to the relationship objects, that assign (by an association relationship) other subtypes of IfcObject to this object instance. Examples are the association to products, processes, controls, resources or groups.",
            "HasAssociations": "Reference to the relationship objects, that associates external references or other resource definitions to the object.. Examples are the association to library, documentation or classification.",
            "HasContext": "References to the context providing context information such as project unit or representation context. It should only be asserted for the uppermost non-spatial object.",
            "IsDecomposedBy": "References to the decomposition relationship being an aggregation. It determines that this object definition is whole within an unordered whole/part decomposition relationship. An object definitions can be aggregated by several other objects (occurrences or parts).",
            "IsNestedBy": "References to the decomposition relationship being a nesting. It determines that this object definition is the whole within an ordered whole/part decomposition relationship. An object or object type can be nested by several other objects (occurrences or types).",
            "Nests": "References to the decomposition relationship being a nesting. It determines that this object definition is a part within an ordered whole/part decomposition relationship. An object occurrence or type can only be part of a single decomposition (to allow hierarchical strutures only)."
        },
        "description": "An IfcObjectDefinition is the generalization of any semantically treated thing or process, either being a type or an occurrences. Object definitions can be named, using the inherited Name attribute, which should be a user recognizable label for the object occurrence. Further explanations to the object can be given using the inherited Description attribute. A context is a specific kind of object definition as it provides the project or library context in which object types and object occurrences are defined.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcObjectDefinition.htm"
    },
    "IfcObjectPlacement": {
        "attributes": {
            "PlacementRelTo": "Reference to object placement that provides the relative placement with its placement in a grid, local coordinate system or linear referenced placement. If it is omitted, then in the case of linear placement it is established by the origin of horizontal alignment of the referenced IfcAlignment Axis. In the case of local placement it is established by the geometric representation context.",
            "PlacesObject": "The IfcObjectPlacement shall be used to provide a placement and an object coordinate system for instances of IfcProduct.",
            "ReferencedByPlacements": ""
        },
        "description": "IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The IfcObjectPlacement has to be provided for each product that has a shape representation.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcObjectPlacement.htm"
    },
    "IfcObjective": {
        "attributes": {
            "BenchmarkValues": "A list of nested constraints.",
            "LogicalAggregator": "Enumeration that identifies the logical type of aggregation for the benchmark metrics.",
            "ObjectiveQualifier": "Enumeration that qualifies the type of objective constraint.",
            "UserDefinedQualifier": "A user defined value that qualifies the type of objective constraint when ObjectiveQualifier attribute of type IfcObjectiveEnum has value USERDEFINED."
        },
        "description": "An IfcObjective captures qualitative information for an objective-based constraint.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcObjective.htm"
    },
    "IfcOccupant": {
        "description": "An occupant is a type of actor that defines the form of occupancy of a property.",
        "predefined_types": {
            "ASSIGNEE": "Actor receiving the assignment of a property agreement from an assignor.",
            "ASSIGNOR": "Actor assigning a property agreement to an assignor.",
            "LESSEE": "Actor receiving the lease of a property from a lessor.",
            "LESSOR": "Actor leasing a property to a lessee.",
            "LETTINGAGENT": "Actor participating in a property agreement on behalf of an owner, lessor or assignor.",
            "NOTDEFINED": "Undefined type.",
            "OWNER": "Actor that owns a property.",
            "TENANT": "Actor renting the use of a property fro a period of time.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOccupant.htm"
    },
    "IfcOffsetCurve": {
        "attributes": {
            "BasisCurve": "The curve that is being offset."
        },
        "description": "An IfcOffsetCurve is an abstract entity describing a curve that is defined relative to another curve according to an offset that may be constant or variable along the referenced curve.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOffsetCurve.htm"
    },
    "IfcOffsetCurve2D": {
        "attributes": {
            "Distance": "The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).)",
            "SelfIntersect": "An indication of whether the offset curve self-intersects; this is for information only."
        },
        "description": "An IfcOffsetCurve2D is a curve defined by an offset in 2D space from its BasisCurve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOffsetCurve2D.htm"
    },
    "IfcOffsetCurve3D": {
        "attributes": {
            "Distance": "The distance of the offset curve from the basis curve. The distance may be positive, negative or zero.",
            "RefDirection": "The direction used to define the direction of the offset curve 3d from the basis curve.",
            "SelfIntersect": "An indication of whether the offset curve self-intersects, this is for information only."
        },
        "description": "An IfcOffsetCurve3D is a curve defined by an offset in 3D space from its BasisCurve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOffsetCurve3D.htm"
    },
    "IfcOffsetCurveByDistances": {
        "attributes": {
            "OffsetValues": "List of sequential points described relative to the basis curve. If the offsets do not span the full extent of the basis curve (e.g. if the list contains only one item), then the lateral and vertical offsets implicitly continue with the same value towards the head and tail of the basis curve.",
            "Tag": "Optional identifier of the curve, which may be used to correlate points from a variable cross-section."
        },
        "description": "An IfcOffsetCurveByDistances is a curve defined by a list of offsets along its BasisCurve. If only one offset is provided, it indicates a constant offset along the extents of the basis curve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOffsetCurveByDistances.htm"
    },
    "IfcOpenCrossProfileDef": {
        "attributes": {
            "HorizontalWidths": "Indicates if the widths shall be measured horizontally or along the slopes.",
            "OffsetPoint": "Optional Cartesian point to nominate the profile curve start. The provided slopes and widths emerge from this point. If no value is given, the profile initiates at the alignment intersection with the profile plane.",
            "Slopes": "The slope measure.",
            "Tags": "",
            "Widths": "The horizontal widths (when HorizontalWidths=.T.) or distances along the Slope (when HorizontalWidths=.F.)  for the segments in the profile. And if Horizontal=.T. the Slopes shall not be = +/- 90 deg."
        },
        "description": "A two-dimensional open profile defined by widths and slopes for the use within the swept surface geometry, in SectionedSurface in particular. The underlying coordinate system is defined by the swept surface that uses the profile definition; when used in SectionedSurface it is the XY plane of each list member of SectionedSurface.CrossSectionPositions where the profile X axis is oriented perpendicularly to the left of the Directrix (same direction as positive LateralOffset at IfcPointByDistanceExpression) as facing forward along the directrix, and the profile Y axis is oriented upwards or vertically perpendicular to the Directrix depending on the usage in the SectionedSurface.\nThe behaviour of OpenCrossProfileDef in sweeping operation can be controlled by attribute Tags. Tags allow two consecutive cross sections to have different number of break points: points with the same tag value are connected either by assuming linear longitudinal breakline between them, or by a guide curve identified by the same Tag value as the cross section points.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOpenCrossProfileDef.htm"
    },
    "IfcOpenShell": {
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> An open shell is a shell of the dimensionality 2. Its domain, if present, is a finite, connected, oriented, 2-manifold with boundary, but is not a closed surface. It can be thought of as a closed shell with one or more holes punched in it. The domain of an open shell satisfies 0 < &Xi; < 1. An open shell is functionally more general than a face because its domain can have handles.\n>\n> The shell is defined by a collection of faces, which may be oriented faces. The sense of each face, after taking account of the orientation, shall agree with the shell normal as defined below. The orientation can be supplied directly as a BOOLEAN attribute of an oriented face, or be defaulted to TRUE if the shell member is a face without the orientation attribute.\n>\n> The following combinatorial restrictions on open shells and geometrical restrictions on their domains are designed, together with the informal propositions, to ensure that any domain associated with an open shell is an orientable manifold. > * Each face reference shall be unique.\n> * An open shell shall have at least one face.\n> * A given face may exist in more than one open shell.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOpenShell.htm"
    },
    "IfcOpeningElement": {
        "attributes": {
            "HasFillings": "Reference to the Filling Relationship that is used to assign Elements as Fillings for this Opening Element. The Opening Element can be filled with zero-to-many Elements."
        },
        "description": "The opening element stands for opening, recess or chase, all reflecting voids. It represents a void within any element that has physical manifestation. Openings can be inserted into walls, slabs, beams, columns, or other elements.",
        "predefined_types": {
            "NOTDEFINED": "Undefined opening element.",
            "OPENING": "An opening as subtraction feature that cuts through the element it voids. It thereby creates a hole. An opening in addiion have a particular meaning for either providing a void for doors or windows, or an opening to permit flow of air and passing of light.",
            "RECESS": "An opening as subtraction feature that does not cut through the element it voids. It creates a niche or similar voiding pattern.",
            "USERDEFINED": "User-defined opening element."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOpeningElement.htm"
    },
    "IfcOrganization": {
        "attributes": {
            "Addresses": "Postal and telecom addresses of an organization.",
            "Description": "Text that relates the nature of the organization.",
            "Engages": "Inverse relationship to IfcPersonAndOrganization relationships in which IfcOrganization is engaged.",
            "Identification": "Identification of the organization.",
            "IsRelatedBy": "The inverse relationship for relationship RelatedOrganizations of IfcOrganizationRelationship.",
            "Name": "The word, or group of words, by which the organization is referred to.",
            "Relates": "The inverse relationship for relationship RelatingOrganization of IfcOrganizationRelationship.",
            "Roles": "Roles played by the organization."
        },
        "description": "A named and structured grouping with a corporate identity.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOrganization.htm"
    },
    "IfcOrganizationRelationship": {
        "attributes": {
            "RelatedOrganizations": "The other, possibly dependent, organizations which are the related parts of the relationship between organizations.",
            "RelatingOrganization": "Organization which is the relating part of the relationship between organizations."
        },
        "description": "The IfcOrganizationRelationship establishes an association between one relating organization and one or more related organizations.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOrganizationRelationship.htm"
    },
    "IfcOrientedEdge": {
        "attributes": {
            "EdgeElement": "Edge entity used to construct this oriented edge.",
            "Orientation": "BOOLEAN, If TRUE the topological orientation as used coincides with the orientation from start vertex to end vertex of the edge element. If FALSE otherwise."
        },
        "description": "The IfcOrientedEdge represents an IfcEdge with an Orientation flag applied. It allows to reuse the same IfcEdge when traversed exactly twice, once forwards and once backwards.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOrientedEdge.htm"
    },
    "IfcOuterBoundaryCurve": {
        "description": "The IfcOuterBoundaryCurve defines the outer boundary of a bounded surface.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOuterBoundaryCurve.htm"
    },
    "IfcOutlet": {
        "description": "An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications.",
        "predefined_types": {
            "AUDIOVISUALOUTLET": "An outlet used for an audio or visual device.",
            "COMMUNICATIONSOUTLET": "An outlet used for connecting communications equipment.",
            "DATAOUTLET": "An outlet used for connecting data communications equipment.",
            "NOTDEFINED": "Undefined type.<",
            "POWEROUTLET": "An outlet used for connecting electrical devices requiring power.",
            "TELEPHONEOUTLET": "An outlet used for connecting telephone communications equipment.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOutlet.htm"
    },
    "IfcOutletType": {
        "description": "The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include:",
        "predefined_types": {
            "AUDIOVISUALOUTLET": "An outlet used for an audio or visual device.",
            "COMMUNICATIONSOUTLET": "An outlet used for connecting communications equipment.",
            "DATAOUTLET": "An outlet used for connecting data communications equipment.",
            "NOTDEFINED": "Undefined type.<",
            "POWEROUTLET": "An outlet used for connecting electrical devices requiring power.",
            "TELEPHONEOUTLET": "An outlet used for connecting telephone communications equipment.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOutletType.htm"
    },
    "IfcOwnerHistory": {
        "attributes": {
            "ChangeAction": "Enumeration that defines the actions associated with changes made to the object.",
            "CreationDate": "The date and time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) when first created by the original OwningApplication. Once defined this value remains unchanged through the lifetime of the entity.",
            "LastModifiedDate": "Date and Time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) at which the last modification was made by LastModifyingUser and LastModifyingApplication.",
            "LastModifyingApplication": "Application used to make the last modification.",
            "LastModifyingUser": "User who carried out the last modification using LastModifyingApplication.",
            "OwningApplication": "Direct reference to the application which currently \"owns\" this object on behalf of the owning user of the application. Note that IFC includes the concept of ownership transfer from one application to another and therefore distinguishes between the Owning Application and Creating Application.",
            "OwningUser": "Direct reference to the end user who currently \"owns\" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User.",
            "State": "Enumeration that defines the current access state of the object."
        },
        "description": "IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcOwnerHistory.htm"
    },
    "IfcParameterizedProfileDef": {
        "attributes": {
            "Position": "Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied."
        },
        "description": "The parameterized profile definition defines a 2D position coordinate system to which the parameters of the different profiles relate to. All profiles are defined centric to the origin of the position coordinate system, or more specific, the origin [0.,0.] shall be in the center of the bounding box of the profile.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcParameterizedProfileDef.htm"
    },
    "IfcPath": {
        "attributes": {
            "EdgeList": "The list of oriented edges which are concatenated together to form this path."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE).\n>\n> An individual edge can only be referenced once by an individual path. An edge can be referenced by multiple paths. An edge can exist independently of a path.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPath.htm"
    },
    "IfcPavement": {
        "description": "Type of built element in a road or other paved area to provide an even surface sustaining loads from vehicles or pedestrians, usually comprising several courses.\nNOTE Definition from ISO 6707-1: road, runway, or similar construction above the subgrade.\n",
        "predefined_types": {
            "FLEXIBLE": "Flexible pavements, including less rigid pavements like rubber.",
            "NOTDEFINED": "Undefined type.",
            "RIGID": "Pavement substantially constructed of cement concrete.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPavement.htm"
    },
    "IfcPavementType": {
        "description": "The IfcPavementType provides the type information for IfcPavement occurrences.\nA pavement is a type of built element in a road or other paved area to provide an even surface sustaining loads from vehicles or pedestrians, usually comprising several courses.\n",
        "predefined_types": {
            "FLEXIBLE": "Flexible pavements, including less rigid pavements like rubber.",
            "NOTDEFINED": "Undefined type.",
            "RIGID": "Pavement substantially constructed of cement concrete.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPavementType.htm"
    },
    "IfcPcurve": {
        "attributes": {
            "BasisSurface": "",
            "ReferenceCurve": ""
        },
        "description": "The IfcPcurve is a curve defined within the parameter space of its reference surface.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPcurve.htm"
    },
    "IfcPerformanceHistory": {
        "attributes": {
            "LifeCyclePhase": "Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc."
        },
        "description": "IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. It includes machine-measured data from building automation systems and human-specified data such as task and resource usage. The data may represent actual conditions, predictions, or simulations.",
        "predefined_types": {
            "NOTDEFINED": "Undefined.",
            "USERDEFINED": "User defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPerformanceHistory.htm"
    },
    "IfcPermeableCoveringProperties": {
        "attributes": {
            "FrameDepth": "Depth of panel frame (used to include the permeable covering), measured from front face to back face horizontally (i.e. perpendicular to the window or door (elevation) plane.",
            "FrameThickness": "Width of panel frame (used to include the permeable covering), measured from inside of panel (at permeable covering) to outside of panel (at lining), i.e. parallel to the window or door (elevation) plane.",
            "OperationType": "Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards.",
            "PanelPosition": "Position of this permeable covering panel within the overall window or door type.",
            "ShapeAspectStyle": "Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the permeable covering."
        },
        "description": "This entity is a description of a panel within a door or window (as fillers for opening) which allows for air flow. It is given by its properties (IfcPermeableCoveringProperties). A permeable covering is a casement, such as a component, fixed or opening, consisting essentially of a frame and the infilling. The infilling is normally a grill, a louver or a screen. The way of operation is defined in the operation type.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPermeableCoveringProperties.htm"
    },
    "IfcPermit": {
        "attributes": {
            "LongDescription": "Detailed description of the request.",
            "Status": "The status currently assigned to the permit."
        },
        "description": "A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply.",
        "predefined_types": {
            "ACCESS": "Enables access to an identified area.",
            "BUILDING": "Enables work to proceed by getting regulatory permissions.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type.",
            "WORK": "Enables work to be carried out in an identified area."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPermit.htm"
    },
    "IfcPerson": {
        "attributes": {
            "Addresses": "Postal and telecommunication addresses of a person.",
            "EngagedIn": "The inverse relationship to IfcPersonAndOrganization relationships in which IfcPerson is engaged.",
            "FamilyName": "The name by which the family identity of the person may be recognized.",
            "GivenName": "The name by which a person is known within a family and by which he or she may be familiarly recognized.",
            "Identification": "Identification of the person.",
            "MiddleNames": "Additional names given to a person that enable their identification apart from others who may have the same or similar family and given names.",
            "PrefixTitles": "The word, or group of words, which specify the person's social and/or professional standing and appear before his/her names.",
            "Roles": "Roles played by the person.",
            "SuffixTitles": "The word, or group of words, which specify the person's social and/or professional standing and appear after his/her names."
        },
        "description": "This entity represents an individual human being.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPerson.htm"
    },
    "IfcPersonAndOrganization": {
        "attributes": {
            "Roles": "Roles played by the person within the context of an organization.  These may differ from the roles in ThePerson.Roles which may be asserted without organizational context.",
            "TheOrganization": "The organization to which the person is related.",
            "ThePerson": "The person who is related to the organization."
        },
        "description": "This entity represents a person acting on behalf of an organization.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPersonAndOrganization.htm"
    },
    "IfcPhysicalComplexQuantity": {
        "attributes": {
            "Discrimination": "Identification of the discrimination by which this physical complex property is distinguished. Examples of discriminations are 'layer', 'steel bar diameter', etc.",
            "HasQuantities": "Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination.",
            "Quality": "Additional indication of a quality of the quantities that are grouped under this physical complex quantity.",
            "Usage": "Additional indication of a usage type of the quantities that are grouped under this physical complex quantity."
        },
        "description": "The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPhysicalComplexQuantity.htm"
    },
    "IfcPhysicalQuantity": {
        "attributes": {
            "Description": "Further explanation that might be given to the quantity.",
            "HasExternalReferences": "Reference to an external reference, e.g. library, classification, or document information, that is associated to the quantity.",
            "Name": "Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements.",
            "PartOfComplex": "Reference to a physical complex quantity in which the physical quantity may be contained."
        },
        "description": "The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPhysicalQuantity.htm"
    },
    "IfcPhysicalSimpleQuantity": {
        "attributes": {
            "Unit": "Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures."
        },
        "description": "The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPhysicalSimpleQuantity.htm"
    },
    "IfcPile": {
        "attributes": {
            "ConstructionType": "Deprecated."
        },
        "description": "A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. A pile is also characterized as deep foundation, where the loads are transferred to deeper subsurface layers.",
        "predefined_types": {
            "BORED": "A bore pile.",
            "COHESION": "A cohesion pile.",
            "DRIVEN": "A rammed, vibrated, or otherwise driven pile.",
            "FRICTION": "A friction pile.",
            "JETGROUTING": "An injected pile-like construction.",
            "NOTDEFINED": "The type of pile function is not defined.",
            "SUPPORT": "A support pile.",
            "USERDEFINED": "The type of pile function is user defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPile.htm"
    },
    "IfcPileType": {
        "description": "The building element type IfcPileType defines commonly shared information for occurrences of piles. The set of shared information may include:",
        "predefined_types": {
            "BORED": "A bore pile.",
            "COHESION": "A cohesion pile.",
            "DRIVEN": "A rammed, vibrated, or otherwise driven pile.",
            "FRICTION": "A friction pile.",
            "JETGROUTING": "An injected pile-like construction.",
            "NOTDEFINED": "The type of pile function is not defined.",
            "SUPPORT": "A support pile.",
            "USERDEFINED": "The type of pile function is user defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPileType.htm"
    },
    "IfcPipeFitting": {
        "description": "A pipe fitting is a junction or transition in a piping flow distribution system used to connect pipe segments, resulting in changes in flow characteristics to the fluid such as direction or flow rate.",
        "predefined_types": {
            "BEND": "A fitting with typically two ports used to change the direction of flow between connected elements.",
            "CONNECTOR": "Connector fitting, typically used to join two ports together within a flow distribution system (e.g., a coupling used to join two pipe segments).",
            "ENTRY": "Entry fitting, typically unconnected at one port and connected to a flow distribution system at the other (e.g., a breeching inlet).",
            "EXIT": "Exit fitting, typically unconnected at one port and connected to a flow distribution system at the other (e.g., a hose bibb).",
            "JUNCTION": "A fitting with typically more than two ports used to redistribute flow among the ports and/or to change the direction of flow between connected elements (e.g, tee, cross, wye, etc.).",
            "NOTDEFINED": "Undefined fitting.",
            "OBSTRUCTION": "A fitting with typically two ports used to obstruct or restrict flow between the connected elements (e.g., screen, perforated plate, etc.).",
            "TRANSITION": "A fitting with typically two ports having different shapes or sizes. Can also be used to change the direction of flow between connected elements.",
            "USERDEFINED": "User-defined fitting."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPipeFitting.htm"
    },
    "IfcPipeFittingType": {
        "description": "The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include:",
        "predefined_types": {
            "BEND": "A fitting with typically two ports used to change the direction of flow between connected elements.",
            "CONNECTOR": "Connector fitting, typically used to join two ports together within a flow distribution system (e.g., a coupling used to join two pipe segments).",
            "ENTRY": "Entry fitting, typically unconnected at one port and connected to a flow distribution system at the other (e.g., a breeching inlet).",
            "EXIT": "Exit fitting, typically unconnected at one port and connected to a flow distribution system at the other (e.g., a hose bibb).",
            "JUNCTION": "A fitting with typically more than two ports used to redistribute flow among the ports and/or to change the direction of flow between connected elements (e.g, tee, cross, wye, etc.).",
            "NOTDEFINED": "Undefined fitting.",
            "OBSTRUCTION": "A fitting with typically two ports used to obstruct or restrict flow between the connected elements (e.g., screen, perforated plate, etc.).",
            "TRANSITION": "A fitting with typically two ports having different shapes or sizes. Can also be used to change the direction of flow between connected elements.",
            "USERDEFINED": "User-defined fitting."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPipeFittingType.htm"
    },
    "IfcPipeSegment": {
        "description": "A pipe segment is used to typically join two sections of a piping network.",
        "predefined_types": {
            "CULVERT": "A covered channel or large pipe that forms a watercourse below ground level, usually under a road or railway.",
            "FLEXIBLESEGMENT": "A flexible segment is a continuous non-linear segment of pipe that can be deformed and change the direction of flow.",
            "GUTTER": "A gutter segment is a continuous open-channel segment of pipe.",
            "NOTDEFINED": "Undefined segment.",
            "RIGIDSEGMENT": "A rigid segment is continuous linear segment of pipe that cannot be deformed.",
            "SPOOL": "A type of rigid segment that is typically shorter and used for providing connectivity within a piping network.",
            "USERDEFINED": "User-defined segment."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPipeSegment.htm"
    },
    "IfcPipeSegmentType": {
        "description": "The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include:",
        "predefined_types": {
            "CULVERT": "A covered channel or large pipe that forms a watercourse below ground level, usually under a road or railway.",
            "FLEXIBLESEGMENT": "A flexible segment is a continuous non-linear segment of pipe that can be deformed and change the direction of flow.",
            "GUTTER": "A gutter segment is a continuous open-channel segment of pipe.",
            "NOTDEFINED": "Undefined segment.",
            "RIGIDSEGMENT": "A rigid segment is continuous linear segment of pipe that cannot be deformed.",
            "SPOOL": "A type of rigid segment that is typically shorter and used for providing connectivity within a piping network.",
            "USERDEFINED": "User-defined segment."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPipeSegmentType.htm"
    },
    "IfcPixelTexture": {
        "attributes": {
            "ColourComponents": "Indication whether the pixel values contain a 1, 2, 3, or 4 colour component.",
            "Height": "The number of pixels in height (T) direction.",
            "Pixel": "Flat list of hexadecimal values, each describing one pixel by 1, 2, 3, or 4 components.",
            "Width": "The number of pixels in width (S) direction."
        },
        "description": "An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color (and opacity) directly, instead of referencing to an URL.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPixelTexture.htm"
    },
    "IfcPlacement": {
        "attributes": {
            "Location": "The geometric position of a reference point, such as the center of a circle, of the item to be located."
        },
        "description": "An IfcPlacement is an abstract supertype of placement subtypes that define the location of an item, or an entire shape representation, and provide its orientation. All placement subtypes define right-handed Cartesian coordinate systems and do not allow mirroring.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPlacement.htm"
    },
    "IfcPlanarBox": {
        "attributes": {
            "Placement": "The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box."
        },
        "description": "A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. If the planar box is used within a three-dimensional coordinate system, it defines the rectangular box within the XY plane.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPlanarBox.htm"
    },
    "IfcPlanarExtent": {
        "attributes": {
            "SizeInX": "The extent in the direction of the x-axis.",
            "SizeInY": "The extent in the direction of the y-axis."
        },
        "description": "The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. If the planar extent is used within a three-dimensional coordinate system, it defines the extent along the x and y axes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPlanarExtent.htm"
    },
    "IfcPlane": {
        "description": "The planar surface is an unbounded surface in the direction of x and y. Bounded planar surfaces are defined by using a subtype of IfcBoundedSurface with BasisSurface being a plane.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPlane.htm"
    },
    "IfcPlate": {
        "description": "An IfcPlate is a planar and often flat part with constant thickness. A plate may carry loads between or beyond points of support, or provide stiffening. The location of the plate (being horizontal, vertical or sloped) is not relevant to its definition.",
        "predefined_types": {
            "BASE_PLATE": "A plate used to spread load over a surface, such as underneath a bearing or column.",
            "COVER_PLATE": "A plate (underneath or above) a flange to provide additional load capacity.",
            "CURTAIN_PANEL": "A planar element within a curtain wall, often consisting of a frame with fixed glazing.",
            "FLANGE_PLATE": "A flange plate in linear members having box or I-profile (e.g. top or bottom flange plate in box-girder).",
            "GUSSET_PLATE": "a plate or bracket for strengthening an angle in framework (as in a building or bridge).",
            "NOTDEFINED": "Undefined linear element.",
            "SHEET": "A planar, flat and thin element, comes usually as metal sheet, and is often used as an additional part within an assembly.",
            "SPLICE_PLATE": "A plate connecting two members joined at ends.",
            "STIFFENER_PLATE": "A transversal plate added to a flange or a web plate for local stiffening.",
            "USERDEFINED": "User-defined linear element.",
            "WEB_PLATE": "A plate connecting flange plates in linear members having box or I-profile."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPlate.htm"
    },
    "IfcPlateType": {
        "description": "The element type IfcPlateType defines commonly shared information for occurrences of plates. The set of shared information may include:",
        "predefined_types": {
            "BASE_PLATE": "A plate used to spread load over a surface, such as underneath a bearing or column.",
            "COVER_PLATE": "A plate (underneath or above) a flange to provide additional load capacity.",
            "CURTAIN_PANEL": "A planar element within a curtain wall, often consisting of a frame with fixed glazing.",
            "FLANGE_PLATE": "A flange plate in linear members having box or I-profile (e.g. top or bottom flange plate in box-girder).",
            "GUSSET_PLATE": "a plate or bracket for strengthening an angle in framework (as in a building or bridge).",
            "NOTDEFINED": "Undefined linear element.",
            "SHEET": "A planar, flat and thin element, comes usually as metal sheet, and is often used as an additional part within an assembly.",
            "SPLICE_PLATE": "A plate connecting two members joined at ends.",
            "STIFFENER_PLATE": "A transversal plate added to a flange or a web plate for local stiffening.",
            "USERDEFINED": "User-defined linear element.",
            "WEB_PLATE": "A plate connecting flange plates in linear members having box or I-profile."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPlateType.htm"
    },
    "IfcPoint": {
        "description": "The IfcPoint is the abstract generalisation of all point representations within a Cartesian coordinate system.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPoint.htm"
    },
    "IfcPointByDistanceExpression": {
        "attributes": {
            "BasisCurve": "",
            "DistanceAlong": "The distance along the basis curve measured as either a IfcLengthMeasure or IfcParameterValue.",
            "OffsetLateral": "Default offset horizontally is measured perpendicular to the basis curve, where positive values indicate to the left of the basis curve as facing in the positive parametrization direction of the basis curve, and negative values indicate to the right. If DistanceAlong coincides with a point of tangential discontinuity (within precision limits), then the tangent of the previous segment governs.",
            "OffsetLongitudinal": "Offset parallel to the basis curve after applying DistanceAlong, OffsetLateral, and OffsetVertical to reach locations for the case of a tangentially discontinuous basis curve.",
            "OffsetVertical": "Default offset vertical to the basis curve where positive values indicate perpendicular to the tangent at DistanceAlong in the plane of the tangent perpendicular to the global XY plane."
        },
        "description": "An IfcPointByDistanceExpression describes a point relative to a basis curve according to distance along the basis curve. The offsets default  to the initial context of the curve relative to it's tangent either specified in _IfcProduct.Placement_ or in the case of a segmented curve to the IfcCurveSegment StartPlacement where the values correspond to the following:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPointByDistanceExpression.htm"
    },
    "IfcPointOnCurve": {
        "attributes": {
            "BasisCurve": "The curve to which point parameter relates.",
            "PointParameter": "The parameter value of the point location."
        },
        "description": "The IfcPointOnCurve is a point defined by a parameter value of its defining curve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPointOnCurve.htm"
    },
    "IfcPointOnSurface": {
        "attributes": {
            "BasisSurface": "The surface to which the parameter values relate.",
            "PointParameterU": "The first parameter value of the point location.",
            "PointParameterV": "The second parameter value of the point location."
        },
        "description": "The IfcPointOnSurface is a point defined by two parameter value of its defining surface.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPointOnSurface.htm"
    },
    "IfcPolyLoop": {
        "attributes": {
            "Polygon": "List of points defining the loop. There are no repeated points in the list."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> A poly loop is a loop with straight edges bounding a planar region in space. A poly loop is a loop of genus 1 where the loop is represented by an ordered coplanar collection of points forming the vertices of the loop. The loop is composed of straight line segments joining a point in the collection to the succeeding point in the collection. The closing segment is from the last to the first point in the collection. The direction of the loop is in the direction of the line segments.\n>\n> A poly loop shall conform to the following topological constraints: > * the loop has the genus of one.\n> * the following equation shall be satisfied   ![Image](../../../../figures/ifcpolyloop-math1.gif)",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPolyLoop.htm"
    },
    "IfcPolygonalBoundedHalfSpace": {
        "attributes": {
            "PolygonalBoundary": "Two-dimensional bounded curve, defined in the xy plane of the position coordinate system.",
            "Position": "Definition of the position coordinate system for the two-dimensional boundary."
        },
        "description": "The polygonal bounded half space is a special subtype of a half space solid, where the material of the half space used in Boolean expressions is bounded by a two-dimensional boundary. The base surface of the half space is positioned by its normal relative to the object coordinate system (as defined at the supertype IfcHalfSpaceSolid), and its boundary (with straight and arc segments) is defined in the XY plane of the position coordinate system established by the Position attribute, the subtraction body is extruded perpendicular to the XY plane of the position coordinate system, that is, into the direction of the positive Z axis defined by the Position attribute.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPolygonalBoundedHalfSpace.htm"
    },
    "IfcPolygonalFaceSet": {
        "attributes": {
            "Faces": "The list of polygonal faces, with or without inner loops, that bound the faceted face set.",
            "PnIndex": "The list of integers defining the locations in the IfcCartesianPointList3D to obtain the point coordinates for the indices at the indexed polygonal faces. If the PnIndex is not provided the indices at the indexed polygonal faces point directly into the  IfcCartesianPointList3D."
        },
        "description": "The IfcPolygonalFaceSet is a tessellated face set with all faces being bound by polygons. The planar faces are constructed by implicit polylines defined by three or more Cartesian points. Each planar face is defined by an instance of IfcIndexedPolygonalFace, or in case of faces with inner loops by IfcIndexedPolygonalFaceWithVoids.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPolygonalFaceSet.htm"
    },
    "IfcPolyline": {
        "attributes": {
            "Points": "The points defining the polyline."
        },
        "description": "The IfcPolyline is a bounded curve with only linear segments defined by a list of Cartesian points. If the first and the last Cartesian point in the list are identical, then the polyline is a closed curve, otherwise it is an open curve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPolyline.htm"
    },
    "IfcPolynomialCurve": {
        "attributes": {
            "CoefficientsX": "",
            "CoefficientsY": "",
            "CoefficientsZ": "",
            "Position": ""
        },
        "description": "Polynomial Curve.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPolynomialCurve.htm"
    },
    "IfcPort": {
        "attributes": {
            "ConnectedFrom": "Reference to a port that is connected by the objectified relationship.",
            "ConnectedTo": "Reference to the port connection relationship. The relationship then refers to the other port to which this port is connected.",
            "ContainedIn": "Reference to the element to port connection relationship. The relationship then refers to the element in which this port is contained."
        },
        "description": "A port provides the means for an element to connect to other elements.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPort.htm"
    },
    "IfcPositioningElement": {
        "attributes": {
            "Positions": ""
        },
        "description": "New and abstract entity definition for positioning and annotating elements that are used to position other elements relatively.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPositioningElement.htm"
    },
    "IfcPostalAddress": {
        "attributes": {
            "AddressLines": "The postal address.",
            "Country": "An ISO 3166 2-digit country code.",
            "InternalLocation": "An organization defined address for internal mail delivery.",
            "PostalBox": "An address that is implied by an identifiable mail drop.",
            "PostalCode": "The code that is used by the country's postal service.",
            "Region": "The name of a region.",
            "Town": "The name of a town."
        },
        "description": "This entity represents an address for delivery of paper based mail and other postal deliveries.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPostalAddress.htm"
    },
    "IfcPreDefinedColour": {
        "description": "The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPreDefinedColour.htm"
    },
    "IfcPreDefinedCurveFont": {
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-46:1992\n> The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPreDefinedCurveFont.htm"
    },
    "IfcPreDefinedItem": {
        "attributes": {
            "Name": "The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes."
        },
        "description": "A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPreDefinedItem.htm"
    },
    "IfcPreDefinedProperties": {
        "description": "The IfcPreDefinedProperties is an abstract supertype of all predefined property collections that have explicit attributes, each representing a property. Instantiable subtypes are assigned to specific characterised entities.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPreDefinedProperties.htm"
    },
    "IfcPreDefinedPropertySet": {
        "description": "IfcPreDefinedPropertySet is a generalization of all statically defined property sets that are assigned to an object or type object. The statically or pre-defined property sets are entities with a fixed list of attributes having particular defined data types.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPreDefinedPropertySet.htm"
    },
    "IfcPreDefinedTextFont": {
        "description": "The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPreDefinedTextFont.htm"
    },
    "IfcPresentationItem": {
        "description": "The IfcPresentationItem is the abstract supertype of all entities used for presentation appearance definitions.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPresentationItem.htm"
    },
    "IfcPresentationLayerAssignment": {
        "attributes": {
            "AssignedItems": "The set of layered items, which are assigned to this layer.",
            "Description": "Additional description of the layer.",
            "Identifier": "An (internal) identifier assigned to the layer.",
            "Name": "Name of the layer."
        },
        "description": "The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term \"CAD Layer\" and is used mainly for grouping and visibility control.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPresentationLayerAssignment.htm"
    },
    "IfcPresentationLayerWithStyle": {
        "attributes": {
            "LayerBlocked": "A logical setting, TRUE indicates that the layer is set to 'Blocked', FALSE that the layer is set to 'Not blocked', UNKNOWN that such information is not available.",
            "LayerFrozen": "A logical setting, TRUE indicates that the layer is set to 'Frozen', FALSE that the layer is set to 'Not frozen', UNKNOWN that such information is not available.",
            "LayerOn": "A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available.",
            "LayerStyles": "Assignment of presentation styles to the layer to provide a default style for representation items."
        },
        "description": "An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPresentationLayerWithStyle.htm"
    },
    "IfcPresentationStyle": {
        "attributes": {
            "Name": "Name of the presentation style."
        },
        "description": "The IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, and text. Style information may include colour, hatching, rendering, and text fonts.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPresentationStyle.htm"
    },
    "IfcProcedure": {
        "description": "An IfcProcedure is a logical set of actions to be taken in response to an event or to cause an event to occur.",
        "predefined_types": {
            "ADVICE_CAUTION": "A caution that should be taken note of as a procedure or when carrying out a procedure.",
            "ADVICE_NOTE": "Additional information or advice that should be taken note of as a procedure or when carrying out a procedure.",
            "ADVICE_WARNING": "A warning of potential danger that should be taken note of as a procedure or when carrying out a procedure.",
            "CALIBRATION": "A procedure undertaken to calibrate an artifact.",
            "DIAGNOSTIC": "Diagnostic",
            "NOTDEFINED": "Undefined.",
            "SHUTDOWN": "A procedure undertaken to shutdown the operation an artifact.",
            "STARTUP": "A procedure undertaken to start up the operation an artifact.",
            "USERDEFINED": "User defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProcedure.htm"
    },
    "IfcProcedureType": {
        "description": "An IfcProcedureType defines a particular type of procedure that may be specified.",
        "predefined_types": {
            "ADVICE_CAUTION": "A caution that should be taken note of as a procedure or when carrying out a procedure.",
            "ADVICE_NOTE": "Additional information or advice that should be taken note of as a procedure or when carrying out a procedure.",
            "ADVICE_WARNING": "A warning of potential danger that should be taken note of as a procedure or when carrying out a procedure.",
            "CALIBRATION": "A procedure undertaken to calibrate an artifact.",
            "DIAGNOSTIC": "Diagnostic",
            "NOTDEFINED": "Undefined.",
            "SHUTDOWN": "A procedure undertaken to shutdown the operation an artifact.",
            "STARTUP": "A procedure undertaken to start up the operation an artifact.",
            "USERDEFINED": "User defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProcedureType.htm"
    },
    "IfcProcess": {
        "attributes": {
            "Identification": "An identifying designation given to a process or activity.     It is the identifier at the occurrence level.",
            "IsPredecessorTo": "Dependency between two activities, it refers to the subsequent activity for which this activity is the predecessor. The link between two activities can include a link type and a lag time.",
            "IsSuccessorFrom": "Dependency between two activities, it refers to the previous activity for which this activity is the successor. The link between two activities can include a link type and a lag time.",
            "LongDescription": "An extended description or narrative that may be provided.",
            "OperatesOn": "Set of relationships to other objects, e.g. products, processes, controls, resources or actors, that are operated on by the process."
        },
        "description": "IfcProcess is defined as one individual activity or event, that is ordered in time, that has sequence relationships with other processes, which transforms input in output, and may connect to other other processes through input output relationships. An IfcProcess can be an activity (or task), or an event. It takes usually place in building construction with the intent of designing, costing, acquiring, constructing, or maintaining products or other and similar tasks or procedures. Figure 1 illustrates process relationships.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProcess.htm"
    },
    "IfcProduct": {
        "attributes": {
            "ObjectPlacement": "This establishes the object coordinate system and placement of the product in space. The placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constrained (e.g. relative to grid axes, or to a linear positioning element). The type of placement is determined by the various subtypes of IfcObjectPlacement. An object placement must be provided if a representation is present.",
            "PositionedRelativeTo": "",
            "ReferencedBy": "Reference to the IfcRelAssignsToProduct relationship, by which other products, processes, controls, resources or actors (as subtypes of IfcObjectDefinition) can be related to this product.",
            "ReferencedInStructures": "",
            "Representation": "Reference to the representations of the product, being either a representation (IfcProductRepresentation) or as a special case a shape representations (IfcProductDefinitionShape). The product definition shape provides for multiple geometric representations of the shape property of the object within the same object coordinate system, defined by the object placement."
        },
        "description": "The IfcProduct is an abstract representation of any object that relates to a geometric or spatial context. An IfcProduct occurs at a specific location in space if it has a geometric representation assigned. It can be placed relatively to other products, but ultimately relative to the project coordinate system. The ObjectPlacement attribute establishes the coordinate system in which all points and directions used by the geometric representation items under Representation are founded. The Representation is provided by an IfcProductDefinitionShape being either a geometric shape representation, or a topology representation (with or without underlying geometry of the topological items).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProduct.htm"
    },
    "IfcProductDefinitionShape": {
        "attributes": {
            "HasShapeAspects": "Reference to the shape aspect that represents part of the shape or its feature distinctively."
        },
        "description": "The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProductDefinitionShape.htm"
    },
    "IfcProductRepresentation": {
        "attributes": {
            "Description": "The word or group of words that characterize the product representation. It can be used to add additional meaning to the name of the product representation.",
            "Name": "The word or group of words by which the product representation is known.",
            "Representations": "Contained list of representations (including shape representations). Each member defines a valid representation of a particular type within a particular representation context."
        },
        "description": "IfcProductRepresentation defines a representation of a product, including its (geometric or topological) representation. A product can have zero, one or many geometric representations, and a single geometric representation can be shared among various products using mapped representations.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProductRepresentation.htm"
    },
    "IfcProfileDef": {
        "attributes": {
            "HasExternalReference": "Reference to external information, e.g. library, classification, or document information, which is associated with the profile.",
            "HasProperties": "Additional properties of the profile, for example mechanical properties.",
            "ProfileName": "Human-readable name of the profile, for example according to a standard profile table. As noted above, machine-readable standardized profile designations should be provided in IfcExternalReference.ItemReference.",
            "ProfileType": "Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid."
        },
        "description": "IfcProfileDef is the supertype of all definitions of standard and arbitrary profiles within IFC. It is used to define a standard set of commonly used section profiles by their parameters or by their explicit curve geometry.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProfileDef.htm"
    },
    "IfcProfileProperties": {
        "attributes": {
            "ProfileDefinition": "Profile definition which is qualified by these properties."
        },
        "description": "This is a collection of properties applicable to section profile definitions.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProfileProperties.htm"
    },
    "IfcProject": {
        "description": "IfcProject indicates the undertaking of some design, engineering, construction, or maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProject.htm"
    },
    "IfcProjectLibrary": {
        "description": "An IfcProjectLibrary collects all library elements that are included within a referenced project data set.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProjectLibrary.htm"
    },
    "IfcProjectOrder": {
        "attributes": {
            "LongDescription": "A detailed description of the project order describing the work to be completed.",
            "Status": "The current status of a project order.Examples of status values that might be used for a project order status include: * PLANNED * REQUESTED * APPROVED * ISSUED * STARTED * DELAYED * DONE"
        },
        "description": "A project order is a directive to purchase products and/or perform work, such as for construction or facilities management.",
        "predefined_types": {
            "CHANGEORDER": "An instruction to make a change to a product or work being undertaken and a description of the work that is to be performed.",
            "MAINTENANCEWORKORDER": "An instruction to carry out maintenance work and a description of the work that is to be performed.",
            "MOVEORDER": "An instruction to move persons and artefacts and a description of the move locations, objects to be moved, etc.",
            "NOTDEFINED": "Undefined type.",
            "PURCHASEORDER": "An instruction to purchase goods and/or services and a description of the goods and/or services to be purchased that is to be performed.",
            "USERDEFINED": "User-defined type.",
            "WORKORDER": "A general instruction to carry out work and a description of the work to be done. Note the difference between a work order generally and a maintenance work order."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProjectOrder.htm"
    },
    "IfcProjectedCRS": {
        "attributes": {
            "MapProjection": "Name by which the map projection is identified.",
            "MapUnit": "Unit of the coordinate axes composing the map coordinate system.",
            "MapZone": "Name by which the map zone, relating to the MapProjection, is identified."
        },
        "description": "IfcProjectedCRS is a coordinate reference system of the map to which the map translation of the local engineering coordinate system of the construction or facility engineering project relates. The MapProjection and MapZone attributes uniquely identify the projection to the underlying geographic coordinate reference system, provided that they are well-known in the receiving application. The projected coordinate reference system is assumed to be a 2D or 3D right-handed Cartesian coordinate system, the optional MapUnit attribute can be used determine the length unit used by the map.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProjectedCRS.htm"
    },
    "IfcProjectionElement": {
        "description": "The projection element is a specialization of the general feature element to represent projections applied to building elements. It represents a solid attached to any element that has physical manifestation.",
        "predefined_types": {
            "BLISTER": "Part of concrete where the anchor for pre-stressing tendon can be embedded.",
            "DEVIATOR": "Part of concrete where re-direction of an external pre-stressed tendon can be embedded.",
            "NOTDEFINED": "Undefined projection element.",
            "USERDEFINED": "User-defined projection element."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProjectionElement.htm"
    },
    "IfcProperty": {
        "attributes": {
            "Name": "Name for this property. This label is the significant name string that defines the semantic meaning for the property.",
            "PartOfComplex": "Reference to the IfcComplexProperty in which the IfcProperty is contained.",
            "PartOfPset": "Reference to the IfcPropertySet by which the IfcProperty is referenced.",
            "PropertyDependsOn": "The relating property on which the value of the property depends.",
            "PropertyForDependance": "The property on whose value that of another property depends.",
            "Specification": "URI reference to a location with semantic definition or informative text to explain the property."
        },
        "description": "IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProperty.htm"
    },
    "IfcPropertyAbstraction": {
        "attributes": {
            "HasExternalReferences": "Reference to an external reference, e.g. library, classification, or document information, that is associated to the property definition."
        },
        "description": "The IfcPropertyAbstraction is an abstract supertype of all property related entities defined as dependent resource entities within the specification. It may have an external reference to a dictionary or library that provides additional information about its definition. Instantiable subtypes have property name, value and other instance information.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertyAbstraction.htm"
    },
    "IfcPropertyBoundedValue": {
        "attributes": {
            "LowerBoundValue": "Lower bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be lower than or equal to UpperBoundValue).",
            "SetPointValue": "Set point value as typically used for operational value setting.",
            "Unit": "Unit for the upper and lower bound values, if not given, the default value for the measure type is used as defined by the global unit assignment at IfcProject.UnitInContext. The applicable unit is then selected by the underlying TYPE of the UpperBoundValue, LowerBoundValue, and SetPointValue)",
            "UpperBoundValue": "Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue)."
        },
        "description": "A property with a bounded value, IfcPropertyBoundedValue, defines a property object which has a maximum of two (numeric or descriptive) values assigned, the first value specifying the upper bound and the second value specifying the lower bound. It defines a property - value bound (min-max) combination for which the property Name, an optional Description,\u00a0the optional UpperBoundValue with measure type, the optional LowerBoundValue with measure type, and the optional Unit is given. A set point value can be provided in addition to the upper and lower bound values for operational value setting.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertyBoundedValue.htm"
    },
    "IfcPropertyDefinition": {
        "attributes": {
            "HasAssociations": "Reference to the relationship IfcRelAssociates and thus to those externally defined concepts, like classifications, documents, or library information, which are associated to the property definition.",
            "HasContext": ""
        },
        "description": "IfcPropertyDefinition defines the generalization of all characteristics (i.e. a grouping of individual properties), that may be assigned to objects. Currently, subtypes of IfcPropertyDefinition include property set occurrences, property set templates, and property templates.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertyDefinition.htm"
    },
    "IfcPropertyDependencyRelationship": {
        "attributes": {
            "DependantProperty": "The dependant property.",
            "DependingProperty": "The property on which the relationship depends.",
            "Expression": "Expression that further describes the nature of the dependency relation."
        },
        "description": "An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertyDependencyRelationship.htm"
    },
    "IfcPropertyEnumeratedValue": {
        "attributes": {
            "EnumerationReference": "Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value.",
            "EnumerationValues": "Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided."
        },
        "description": "A property with an enumerated value, IfcPropertyEnumeratedValue, defines a property object which has a value assigned that is chosen from an enumeration. It defines a property - value combination for which the\u00a0property Name, an optional Description,\u00a0the optional EnumerationValues with measure type and optionally an Unit is given.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertyEnumeratedValue.htm"
    },
    "IfcPropertyEnumeration": {
        "attributes": {
            "EnumerationValues": "List of values that form the enumeration.",
            "Name": "Name of this enumeration.",
            "Unit": "Unit for the enumerator values, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject."
        },
        "description": "IfcPropertyEnumeration is a collection of simple or measure values that define a prescribed set of alternatives from which 'enumeration values' are selected. This enables inclusion of enumeration values in property sets. IfcPropertyEnumeration provides a name for the enumeration as well as a list of unique (numeric or descriptive) values (that may have a measure type assigned). The entity defines the list of potential enumerators to be exchanged together (or separately) with properties of type IfcPropertyEnumeratedValue that selects their actual property values from this enumeration.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertyEnumeration.htm"
    },
    "IfcPropertyListValue": {
        "attributes": {
            "ListValues": "List of property values.",
            "Unit": "Unit for the list values, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject."
        },
        "description": "An IfcPropertyListValue defines a property that has several (numeric or descriptive) values assigned, these values are given by an ordered list.\u00a0It defines a property - list value combination for which the property Name, an optional Description,\u00a0the optional ListValues with measure type and optionally an Unit is given. An IfcPropertyListValue is a list of values. The order in which values appear is significant. All list members shall be of the same type.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertyListValue.htm"
    },
    "IfcPropertyReferenceValue": {
        "attributes": {
            "PropertyReference": "Reference to another property entity through one of the select types in the IfcObjectReferenceSelect.",
            "UsageName": "Description of the use of the referenced value within the property. It is a descriptive text that may hold an expression or other additional information."
        },
        "description": "The IfcPropertyReferenceValue allows a property value to be of type of an resource level entity. The applicable entities that can be used as value references are given by the IfcObjectReferenceSelect.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertyReferenceValue.htm"
    },
    "IfcPropertySet": {
        "attributes": {
            "HasProperties": "Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time."
        },
        "description": "The IfcPropertySet is a container that holds properties within a property tree. These properties are interpreted according to their name attribute. Each individual property has a significant name string. Some property sets are included in the specification of this standard and have a predefined set of properties indicated by assigning a significant name. These property sets are listed under \"property sets\" within this specification. Property sets applicable to certain objects are listed in the object specification. The naming convention \"Pset_Xxx\" applies to all those property sets that are defined as part of this specification and it shall be used as the value of the Name attribute.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertySet.htm"
    },
    "IfcPropertySetDefinition": {
        "attributes": {
            "DefinesOccurrence": "Reference to the relation to one or many object occurrences that are characterized by the property set definition. A single property set can be assigned to multiple object occurrences using the objectified relationship IfcRefDefinesByProperties.",
            "DefinesType": "The type object to which the property set is assigned. The property set acts as a shared property set to all occurrences of the type object.",
            "IsDefinedBy": "Relation to the property set template, via the objectified relationship IfcRelDefinesByTemplate, that, if given, provides the definition template for the property set or quantity set and its properties."
        },
        "description": "IfcPropertySetDefinition is a generalization of all individual property sets that can be assigned to an object or type object. The property set definition can be either:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertySetDefinition.htm"
    },
    "IfcPropertySetTemplate": {
        "attributes": {
            "ApplicableEntity": "The attribute optionally defines the data type of the applicable type or occurrence object, to which the assigned property set template can relate. If not present, no instruction is given to which type or occurrence object the property set template is applicable. The following conventions are used: * The IFC entity name of the applicable entity using the IFC naming convention, CamelCase with IFC prefix * It can be optionally followed by the predefined type after the separator \"/\" (forward slash), using upper case * If a performance history object of a particular distribution object is attributes by the property set template, then the entity name (and potentially amended by the predefined type) is expanded by adding '[PerformanceHistory]' * If one property set template is applicable to many type and/or occurrence objects, then those object names should be separate by comma \",\" forming a comma separated string.",
            "Defines": "Relation to the property sets, via the objectified relationship IfcRelDefinesByTemplate, that, if given, utilize the definition template.",
            "HasPropertyTemplates": "Set of IfcPropertyTemplate's that are defined within the scope of the IfcPropertySetTemplate.",
            "TemplateType": "Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history."
        },
        "description": "IfcPropertySetTemplate defines the template for all dynamically extensible property sets represented by IfcPropertySet. The property set template is a container of property templates within a property tree. The individual property templates are interpreted according to their Name attribute and shall have no values assigned.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertySetTemplate.htm"
    },
    "IfcPropertySingleValue": {
        "attributes": {
            "NominalValue": "Value and measure type of this property.",
            "Unit": "Unit for the nominal value, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject."
        },
        "description": "The property with a single value IfcPropertySingleValue defines a property object which has a single (numeric or descriptive) value assigned. It defines a property - single value combination for which the property Name, an optional Description,\u00a0and an optional NominalValue with measure type is provided. In addition, the default unit as specified within the project unit context can be overridden by assigning an Unit.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertySingleValue.htm"
    },
    "IfcPropertyTableValue": {
        "attributes": {
            "CurveInterpolation": "Interpolation of the curve between two defining and defined values that are provided. if not provided a linear interpolation is assumed.",
            "DefinedUnit": "Unit for the defined values, if not given, the default value for the measure type (given by the TYPE of the defined values) is used as defined by the global unit assignment at IfcProject.",
            "DefinedValues": "Defined values which are applicable for the scope as defined by the defining values.",
            "DefiningUnit": "Unit for the defining values, if not given, the default value for the measure type (given by the TYPE of the defining values) is used as defined by the global unit assignment at IfcProject.",
            "DefiningValues": "List of defining values, which determine the defined values. This list shall have unique values only.",
            "Expression": "Expression for the derivation of defined values from the defining values, the expression is given for information only, i.e. no automatic processing can be expected from the expression."
        },
        "description": "IfcPropertyTableValue is a property with a value range defined by a property object which has two lists of (numeric or descriptive) values assigned. The values specify a table with two columns. The defining values provide the first column and establish the scope for the defined values (the second column). An optional Expression attribute may give the equation used for deriving the range value, which is for information purposes only.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertyTableValue.htm"
    },
    "IfcPropertyTemplate": {
        "attributes": {
            "PartOfComplexTemplate": "Reference to a complex property templates. It should only be provided, if the PropertyType of the referenced complex property template is set to COMPLEX.",
            "PartOfPsetTemplate": "Reference to the IfcPropertySetTemplate that defines the scope for the IfcPropertyTemplate. A single IfcPropertyTemplate can be defined within the scope of zero, one or many IfcPropertySetTemplate'."
        },
        "description": "The IfcPropertyTemplate is an abstract supertype comprising the templates for all dynamically extensible properties, either as an IfcComplexPropertyTemplate, or an IfcSimplePropertyTemplate. These templates determine the structure of:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertyTemplate.htm"
    },
    "IfcPropertyTemplateDefinition": {
        "description": "IfcPropertyTemplateDefinition is a generalization of all property and property set templates. Templates define the collection, types, names, applicable measure types and units of individual properties used in a project. The property template definition can be either:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertyTemplateDefinition.htm"
    },
    "IfcProtectiveDevice": {
        "description": "A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded.",
        "predefined_types": {
            "ANTI_ARCING_DEVICE": "An anti-arcing device is an equipment that prevents electric arc.",
            "CIRCUITBREAKER": "A mechanical switching device capable of making, carrying, and breaking currents under normal circuit conditions and also making, carrying for a specified time and breaking, current under specified abnormal circuit conditions such as those of short circuit.",
            "EARTHINGSWITCH": "A safety device used to open or close a circuit when there is no current. Used to isolate a part of a circuit, a machine, a part of an overhead line or an underground line so that maintenance can be safely conducted.",
            "EARTHLEAKAGECIRCUITBREAKER": "A device that opens, closes, or isolates a circuit and has short circuit protection but no overload protection.  It attempts to break the circuit when there is a leakage of current from phase to earth, by measuring voltage on the earth conductor.",
            "FUSEDISCONNECTOR": "A device that will electrically open the circuit after a period of prolonged, abnormal current flow.",
            "NOTDEFINED": "Undefined type.",
            "RESIDUALCURRENTCIRCUITBREAKER": "A device that opens, closes, or isolates a circuit and has short circuit and overload protection.  It attempts to break the circuit when there is a difference in current between any two phases.  May also be referred to as 'Ground Fault Interupter (GFI)' or 'Ground Fault Circuit Interuptor (GFCI)'",
            "RESIDUALCURRENTSWITCH": "A device that opens, closes or isolates a circuit and has no short circuit or overload protection.  May also be identified as a 'ground fault switch'.",
            "SPARKGAP": "A spark gap is a device used to connect a circuit to earth in the event of a fault in live circuits.",
            "USERDEFINED": "User-defined type.",
            "VARISTOR": "A high voltage surge protection device.",
            "VOLTAGELIMITER": "a voltage limiter is an equipment that prevents the over voltage."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProtectiveDevice.htm"
    },
    "IfcProtectiveDeviceTrippingUnit": {
        "description": "A protective device tripping unit breaks an electrical circuit at a separate breaking unit when a stated electric current that passes through the unit is exceeded.",
        "predefined_types": {
            "ELECTROMAGNETIC": "A tripping unit activated by electromagnetic action.",
            "ELECTRONIC": "A tripping unit activated by electronic action.",
            "NOTDEFINED": "Undefined type.",
            "RESIDUALCURRENT": "A tripping unit activated by residual current detection.",
            "THERMAL": "A tripping unit activated by thermal action.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProtectiveDeviceTrippingUnit.htm"
    },
    "IfcProtectiveDeviceTrippingUnitType": {
        "description": "The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include:",
        "predefined_types": {
            "ELECTROMAGNETIC": "A tripping unit activated by electromagnetic action.",
            "ELECTRONIC": "A tripping unit activated by electronic action.",
            "NOTDEFINED": "Undefined type.",
            "RESIDUALCURRENT": "A tripping unit activated by residual current detection.",
            "THERMAL": "A tripping unit activated by thermal action.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProtectiveDeviceTrippingUnitType.htm"
    },
    "IfcProtectiveDeviceType": {
        "description": "The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include:",
        "predefined_types": {
            "ANTI_ARCING_DEVICE": "An anti-arcing device is an equipment that prevents electric arc.",
            "CIRCUITBREAKER": "A mechanical switching device capable of making, carrying, and breaking currents under normal circuit conditions and also making, carrying for a specified time and breaking, current under specified abnormal circuit conditions such as those of short circuit.",
            "EARTHINGSWITCH": "A safety device used to open or close a circuit when there is no current. Used to isolate a part of a circuit, a machine, a part of an overhead line or an underground line so that maintenance can be safely conducted.",
            "EARTHLEAKAGECIRCUITBREAKER": "A device that opens, closes, or isolates a circuit and has short circuit protection but no overload protection.  It attempts to break the circuit when there is a leakage of current from phase to earth, by measuring voltage on the earth conductor.",
            "FUSEDISCONNECTOR": "A device that will electrically open the circuit after a period of prolonged, abnormal current flow.",
            "NOTDEFINED": "Undefined type.",
            "RESIDUALCURRENTCIRCUITBREAKER": "A device that opens, closes, or isolates a circuit and has short circuit and overload protection.  It attempts to break the circuit when there is a difference in current between any two phases.  May also be referred to as 'Ground Fault Interupter (GFI)' or 'Ground Fault Circuit Interuptor (GFCI)'",
            "RESIDUALCURRENTSWITCH": "A device that opens, closes or isolates a circuit and has no short circuit or overload protection.  May also be identified as a 'ground fault switch'.",
            "SPARKGAP": "A spark gap is a device used to connect a circuit to earth in the event of a fault in live circuits.",
            "USERDEFINED": "User-defined type.",
            "VARISTOR": "A high voltage surge protection device.",
            "VOLTAGELIMITER": "a voltage limiter is an equipment that prevents the over voltage."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProtectiveDeviceType.htm"
    },
    "IfcPump": {
        "description": "A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system.",
        "predefined_types": {
            "CIRCULATOR": "A Circulator pump is a generic low-pressure, low-capacity pump. It may have a wet rotor and may be driven by a flexible-coupled motor.",
            "ENDSUCTION": "An End Suction pump, when mounted horizontally, has a single horizontal inlet on the impeller suction side and a vertical discharge. It may have a direct or close-coupled motor.",
            "NOTDEFINED": "Pump type has not been defined.",
            "SPLITCASE": "A Split Case pump, when mounted horizontally, has an inlet and outlet on each side of the impeller. The impeller can be easily accessed by removing the front of the impeller casing. It may have a direct or close-coupled motor.",
            "SUBMERSIBLEPUMP": "A pump designed to be immersed in a fluid, typically a collection tank.",
            "SUMPPUMP": "A pump designed to sit above a collection tank with a suction inlet extending into the tank.",
            "USERDEFINED": "User-defined pump type.",
            "VERTICALINLINE": "A Vertical Inline pump has the pump and motor close-coupled on the pump casing. The pump depends on the connected, horizontal piping for support, with the suction and discharge along the piping axis.",
            "VERTICALTURBINE": "A Vertical Turbine pump has a motor mounted vertically on the pump casing for either                 wet-pit sump mounting or dry-well mounting."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPump.htm"
    },
    "IfcPumpType": {
        "description": "The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include:",
        "predefined_types": {
            "CIRCULATOR": "A Circulator pump is a generic low-pressure, low-capacity pump. It may have a wet rotor and may be driven by a flexible-coupled motor.",
            "ENDSUCTION": "An End Suction pump, when mounted horizontally, has a single horizontal inlet on the impeller suction side and a vertical discharge. It may have a direct or close-coupled motor.",
            "NOTDEFINED": "Pump type has not been defined.",
            "SPLITCASE": "A Split Case pump, when mounted horizontally, has an inlet and outlet on each side of the impeller. The impeller can be easily accessed by removing the front of the impeller casing. It may have a direct or close-coupled motor.",
            "SUBMERSIBLEPUMP": "A pump designed to be immersed in a fluid, typically a collection tank.",
            "SUMPPUMP": "A pump designed to sit above a collection tank with a suction inlet extending into the tank.",
            "USERDEFINED": "User-defined pump type.",
            "VERTICALINLINE": "A Vertical Inline pump has the pump and motor close-coupled on the pump casing. The pump depends on the connected, horizontal piping for support, with the suction and discharge along the piping axis.",
            "VERTICALTURBINE": "A Vertical Turbine pump has a motor mounted vertically on the pump casing for either                 wet-pit sump mounting or dry-well mounting."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPumpType.htm"
    },
    "IfcQuantityArea": {
        "attributes": {
            "AreaValue": "Area measure value of this quantity.",
            "Formula": "A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only."
        },
        "description": "IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcQuantityArea.htm"
    },
    "IfcQuantityCount": {
        "attributes": {
            "CountValue": "Count measure value of this quantity.",
            "Formula": "A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only."
        },
        "description": "IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcQuantityCount.htm"
    },
    "IfcQuantityLength": {
        "attributes": {
            "Formula": "A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only.",
            "LengthValue": "Length measure value of this quantity."
        },
        "description": "IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcQuantityLength.htm"
    },
    "IfcQuantityNumber": {
        "attributes": {
            "Formula": "A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only.",
            "NumberValue": "Count measure value of this quantity."
        },
        "description": "IfcQuantityNumber is a physical quantity that defines a derived number measure (integer or non-integer) to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcQuantityNumber.htm"
    },
    "IfcQuantitySet": {
        "description": "IfcQuantitySet is the the abstract supertype for all quantity sets attached to objects. The quantity set is a container class that holds the individual quantities within a quantity tree. These quantities are interpreted according to their name attribute and classified according to their measure type. Some quantity sets are included in the IFC specification and have a predefined set of quantities indicated by assigning a significant name. These quantity sets are listed as \"quantity sets\" within this specification. Quantity sets applicable to certain objects are listed in the object specification.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcQuantitySet.htm"
    },
    "IfcQuantityTime": {
        "attributes": {
            "Formula": "A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only.",
            "TimeValue": "Time measure value of this quantity."
        },
        "description": "IfcQuantityTime is an element quantity that defines a time measure to provide a property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcQuantityTime.htm"
    },
    "IfcQuantityVolume": {
        "attributes": {
            "Formula": "A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only.",
            "VolumeValue": "Volume measure value of this quantity."
        },
        "description": "IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcQuantityVolume.htm"
    },
    "IfcQuantityWeight": {
        "attributes": {
            "Formula": "A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only.",
            "WeightValue": "Mass measure value of this quantity."
        },
        "description": "IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcQuantityWeight.htm"
    },
    "IfcRail": {
        "description": "A rail is a predominately linear built element that has a special section profile. Rail is distinctive from built elements with similar geometric shapes (e.g. beam, member) that its major function is to ensure guidance of moving for vehicles or other kinds of machineries.\n",
        "predefined_types": {
            "BLADE": "A blade is a machined rail, often of special section, but fixed and/or joined at the heel end to a rail to provide continuity of wheel support. The two switch rails in a set are the two inside rails. A switch rail is described as right or left hand according to whether it is part of a right hand or left hand half-set of switches. Note: definition from EN 13232-1-2004.",
            "CHECKRAIL": "A check rail is a rail laid close to the gauge face of a running rail which takes part in lateral guidance of the wheel and prevents derailment in small radius curved track and switches and crossings. Note: definition from EN 13481-1.",
            "GUARDRAIL": "A guard rail is a rail that limits risk of train derailment, normally not loaded.",
            "NOTDEFINED": "Undefined type.",
            "RACKRAIL": "A rack rail is a building module for enhancing traction and break performance.",
            "RAIL": "A rail is a special section bar (usually of steel) ensuring the guidance of the wheel of a rolling stock or other heavy machineries. In railway, two rails are combined to form a track.",
            "STOCKRAIL": "A stock rail is a fixed machined rail, ensuring the continuity on the main or diverging track with the switch in the open position. The machined part of the stock rail supports its switch rail in the closed position, giving continuity of line through this switch rail. The two stock rails in a set of switches are the two outside rails. A stock rail is described as right or left hand according to whether it is part of a right hand or left hand half-set of switches. Note: definition from EN 13232-1-2004.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRail.htm"
    },
    "IfcRailType": {
        "description": "The element type IfcRailType defines commonly shared information for occurrences of rails. The set of shared information may include:\n* common properties within shared property sets\n* common material information\n* common profile definitions\n* common shape representations",
        "predefined_types": {
            "BLADE": "A blade is a machined rail, often of special section, but fixed and/or joined at the heel end to a rail to provide continuity of wheel support. The two switch rails in a set are the two inside rails. A switch rail is described as right or left hand according to whether it is part of a right hand or left hand half-set of switches. Note: definition from EN 13232-1-2004.",
            "CHECKRAIL": "A check rail is a rail laid close to the gauge face of a running rail which takes part in lateral guidance of the wheel and prevents derailment in small radius curved track and switches and crossings. Note: definition from EN 13481-1.",
            "GUARDRAIL": "A guard rail is a rail that limits risk of train derailment, normally not loaded.",
            "NOTDEFINED": "Undefined type.",
            "RACKRAIL": "A rack rail is a building module for enhancing traction and break performance.",
            "RAIL": "A rail is a special section bar (usually of steel) ensuring the guidance of the wheel of a rolling stock or other heavy machineries. In railway, two rails are combined to form a track.",
            "STOCKRAIL": "A stock rail is a fixed machined rail, ensuring the continuity on the main or diverging track with the switch in the open position. The machined part of the stock rail supports its switch rail in the closed position, giving continuity of line through this switch rail. The two stock rails in a set of switches are the two outside rails. A stock rail is described as right or left hand according to whether it is part of a right hand or left hand half-set of switches. Note: definition from EN 13232-1-2004.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRailType.htm"
    },
    "IfcRailing": {
        "description": "The railing is a frame assembly adjacent to human or vehicle circulation spaces and at some space boundaries where it is used in lieu of walls or to complement walls. Designed as an optional physical support, or to prevent injury or damage, either by falling or collision.",
        "predefined_types": {
            "BALUSTRADE": "Similar to the definitions of a guardrail except the location is at the edge of a floor, rather then a stair or ramp. Examples are balustrates at roof-tops or balconies, or along a bridge or on top of a retaining wall.",
            "FENCE": "NOTE Definition from ISO6707-1: non-load bearing vertical construction, usually lightweight, which bounds or subdivides an external area.",
            "GUARDRAIL": "A type of railing designed to guard human or vehicle occupants from falling off a stair, ramp or landing where there is a vertical drop at the edge of such floors/landings, or to provide restraint to an errant road vehicle, installed on the central reserve of or alongside a road.",
            "HANDRAIL": "A type of railing designed to serve as an optional structural support for loads applied by human occupants (at hand height). Generally located adjacent to ramps and stairs. Generally floor or wall mounted.",
            "NOTDEFINED": "Undefined railing element, no type information available.",
            "USERDEFINED": "User-defined railing element, a term to identify the user type is given by the attribute IfcRailing.ObjectType."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRailing.htm"
    },
    "IfcRailingType": {
        "description": "The building element type IfcRailingType defines commonly shared information for occurrences of railings. The set of shared information may include:",
        "predefined_types": {
            "BALUSTRADE": "Similar to the definitions of a guardrail except the location is at the edge of a floor, rather then a stair or ramp. Examples are balustrates at roof-tops or balconies, or along a bridge or on top of a retaining wall.",
            "FENCE": "NOTE Definition from ISO6707-1: non-load bearing vertical construction, usually lightweight, which bounds or subdivides an external area.",
            "GUARDRAIL": "A type of railing designed to guard human or vehicle occupants from falling off a stair, ramp or landing where there is a vertical drop at the edge of such floors/landings, or to provide restraint to an errant road vehicle, installed on the central reserve of or alongside a road.",
            "HANDRAIL": "A type of railing designed to serve as an optional structural support for loads applied by human occupants (at hand height). Generally located adjacent to ramps and stairs. Generally floor or wall mounted.",
            "NOTDEFINED": "Undefined railing element, no type information available.",
            "USERDEFINED": "User-defined railing element, a term to identify the user type is given by the attribute IfcRailing.ObjectType."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRailingType.htm"
    },
    "IfcRailway": {
        "description": "An IfcRailway is a spatial structure element as a route from one location to another for guided passage of wheeled vehicles on rails. An IfcRailway acts as a basic spatial structure element that supports to break down a railway project into manageable parts.\nNote: Definition according to ISO 6706: 2017: national or regional transport system for guided passage of wheeled vehicles on rails.\n",
        "predefined_types": {
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRailway.htm"
    },
    "IfcRailwayPart": {
        "description": "Part of a railway.\n",
        "predefined_types": {
            "DILATATIONSUPERSTRUCTURE": "The dilatation superstructure is one specific type of the track structure. It does not contain any plain-track  or turnout panel.",
            "LINESIDESTRUCTURE": "A spatial structure element that contains the elements of the railway that are not in or over the tracks, hence line-side.",
            "LINESIDESTRUCTUREPART": "A railway line side structure part is a longitudinal decomposition of railway lineside structure in more managable volume for engineering purposes.",
            "NOTDEFINED": "Undefined type.",
            "PLAINTRACKSUPERSTRUCTURE": "The plain-track superstructure is one specific type of the track structure. It does not contain any turnout panel or dilatation panel.",
            "SUPERSTRUCTURE": "A spatial structure element that contains elements that are positioned over the tracks, such as catenaries.",
            "TRACKSTRUCTURE": "A spatial structure element that contains track-related elements.",
            "TRACKSTRUCTUREPART": "A track structure part refers to a segment of a track system. It usually has one of the following functions: plain-track, turnout-track, dilatation-track.",
            "TURNOUTSUPERSTRUCTURE": "The turnout superstructure is one specific type of the track structure. It does not contain any plain-track or dilatation panel.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRailwayPart.htm"
    },
    "IfcRamp": {
        "description": "A ramp is a vertical passageway which provides a human or vehicle circulation link between one floor level and another floor level at a different elevation. It may include a landing as an intermediate floor slab. A ramp normally does not include steps.",
        "predefined_types": {
            "HALF_TURN_RAMP": "A ramp making a 180\u00b0 turn, consisting of two straight flights connected by a halfspace landing. The orientation of the turn is determined by the walking line.",
            "NOTDEFINED": "",
            "QUARTER_TURN_RAMP": "A ramp making a 90\u00b0 turn, consisting of two straight flights connected by a quarterspace landing. The direction of the turn is determined by the walking line.",
            "SPIRAL_RAMP": "A ramp constructed around a circular or elliptical well without newels and landings.",
            "STRAIGHT_RUN_RAMP": "A ramp - which is a sloping floor, walk, or roadway - connecting two levels. The straight ramp consists of one straight flight without turns or winders.",
            "TWO_QUARTER_TURN_RAMP": "A ramp making a 180\u00b0 turn, consisting of three straight flights connected by two quarterspace landings. The direction of the turn is determined by the walking line.",
            "TWO_STRAIGHT_RUN_RAMP": "A straight ramp consisting of two straight flights without turns but with one landing.",
            "USERDEFINED": "Free form ramp (user defined operation type)."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRamp.htm"
    },
    "IfcRampFlight": {
        "description": "A ramp comprises a single inclined segment, or several inclined segments that are connected by a horizontal segment, referred to as a landing. A ramp flight is the single inclined segment and part of the ramp construction. In case of single flight ramps, the ramp flight and the ramp are identical.",
        "predefined_types": {
            "NOTDEFINED": "Undefined ramp flight.",
            "SPIRAL": "A ramp flight with a circular or elliptic walking line.",
            "STRAIGHT": "A ramp flight with a straight walking line.",
            "USERDEFINED": "User-defined ramp flight."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRampFlight.htm"
    },
    "IfcRampFlightType": {
        "description": "The building element type IfcRampFlightType defines commonly shared information for occurrences of ramp flights. The set of shared information may include:",
        "predefined_types": {
            "NOTDEFINED": "Undefined ramp flight.",
            "SPIRAL": "A ramp flight with a circular or elliptic walking line.",
            "STRAIGHT": "A ramp flight with a straight walking line.",
            "USERDEFINED": "User-defined ramp flight."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRampFlightType.htm"
    },
    "IfcRampType": {
        "description": "The building element type IfcRampType defines commonly shared information for occurrences of ramps. The set of shared information may include:",
        "predefined_types": {
            "HALF_TURN_RAMP": "A ramp making a 180\u00b0 turn, consisting of two straight flights connected by a halfspace landing. The orientation of the turn is determined by the walking line.",
            "NOTDEFINED": "",
            "QUARTER_TURN_RAMP": "A ramp making a 90\u00b0 turn, consisting of two straight flights connected by a quarterspace landing. The direction of the turn is determined by the walking line.",
            "SPIRAL_RAMP": "A ramp constructed around a circular or elliptical well without newels and landings.",
            "STRAIGHT_RUN_RAMP": "A ramp - which is a sloping floor, walk, or roadway - connecting two levels. The straight ramp consists of one straight flight without turns or winders.",
            "TWO_QUARTER_TURN_RAMP": "A ramp making a 180\u00b0 turn, consisting of three straight flights connected by two quarterspace landings. The direction of the turn is determined by the walking line.",
            "TWO_STRAIGHT_RUN_RAMP": "A straight ramp consisting of two straight flights without turns but with one landing.",
            "USERDEFINED": "Free form ramp (user defined operation type)."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRampType.htm"
    },
    "IfcRationalBSplineCurveWithKnots": {
        "attributes": {
            "WeightsData": "The supplied values of the weights."
        },
        "description": "A rational B-spline curve with knots is a B-spline curve described in terms of control points and basic functions. It describes weights in addition to the control points defined at the supertype IfcBSplineCurve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRationalBSplineCurveWithKnots.htm"
    },
    "IfcRationalBSplineSurfaceWithKnots": {
        "attributes": {
            "WeightsData": "The weights associated with the control points in the rational case."
        },
        "description": "A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRationalBSplineSurfaceWithKnots.htm"
    },
    "IfcRectangleHollowProfileDef": {
        "attributes": {
            "InnerFilletRadius": "Inner corner radius.",
            "OuterFilletRadius": "Outer corner radius.",
            "WallThickness": "Thickness of the material."
        },
        "description": "IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRectangleHollowProfileDef.htm"
    },
    "IfcRectangleProfileDef": {
        "attributes": {
            "XDim": "The extent of the rectangle in the direction of the x-axis.",
            "YDim": "The extent of the rectangle in the direction of the y-axis."
        },
        "description": "IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRectangleProfileDef.htm"
    },
    "IfcRectangularPyramid": {
        "attributes": {
            "Height": "The height of the apex above the plane of the base, measured in the direction of the placement Z axis, the SELF\\IfcCsgPrimitive3D.Position.P[2].",
            "XLength": "The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\\IfcCsgPrimitive3D.Position.P[1].",
            "YLength": "The length of the base measured along the placement Y axis. It is provided by the inherited axis placement through SELF\\IfcCsgPrimitive3D.Position.P[2]."
        },
        "description": "The IfcRectangularPyramid is a Construction Solid Geometry (CSG) 3D primitive. It is a solid with a rectangular base and a point called apex as the top. The tapers from the base to the top. The axis from the center of the base to the apex is perpendicular to the base. The inherited Position attribute defines the IfcAxisPlacement3D and provides the location and orientation of the pyramid:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRectangularPyramid.htm"
    },
    "IfcRectangularTrimmedSurface": {
        "attributes": {
            "BasisSurface": "Surface being trimmed.",
            "U1": "First u parametric value.",
            "U2": "Second u parametric value.",
            "Usense": "Flag to indicate whether the direction of the first parameter of the trimmed surface agrees with or opposes the sense of u in the basis surface.",
            "V1": "First v parametric value.",
            "V2": "Second v parametric value.",
            "Vsense": "Flag to indicate whether the direction of the second parameter of the trimmed surface agrees with or opposes the sense of v in the basis surface."
        },
        "description": "The IfcRectangularTrimmedSurface is a surface created by bounding its BasisSurface along two pairs of parallel curves defined within the parametric space of the referenced surface.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRectangularTrimmedSurface.htm"
    },
    "IfcRecurrencePattern": {
        "attributes": {
            "DayComponent": "The position of the specified day in a month.",
            "Interval": "An interval can be given according to the pattern type. An     interval value of 2 can for instance every two days, weeks,     months, years. An empty interval value is regarded as 1. The     used interval values should be in a reasonable range, e.g.     not 0 or <0.",
            "MonthComponent": "The position of the specified month in a year.",
            "Occurrences": "Defines the number of occurrences of this pattern, e.g. a weekly     event might be defined to occur 5 times before it stops.",
            "Position": "The position of the specified component, e.g. the 3rd     (position=3) Tuesday (weekday component) in a month. A     negative position value is used to define the last position     of the component (-1), the next to last position (-2) etc.",
            "RecurrenceType": "Defines the recurrence type that gives meaning to the used     attributes and decides about possible attribute     combinations, i.e. what attributes are needed to fully     describe the pattern type.",
            "TimePeriods": "List of time periods that are defined by a start and end time     of the recurring element (day). The order of the list should     reflect the sequence of the time periods.",
            "WeekdayComponent": "The weekday name of the specified day in a week."
        },
        "description": "IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRecurrencePattern.htm"
    },
    "IfcReference": {
        "attributes": {
            "AttributeIdentifier": "Optionally identifies a direct or inverse attribute within an entity such as 'MaterialLayers'. If TypeIdentifier is specified and refers to an entity, the attribute must exist within the referenced entity. A null value indicates a reference to the type or entity itself, such as for indicating that the type of a value must match a specified constraint.",
            "InnerReference": "Optional reference to an inner value for ENTITY, SELECT, SET, or LIST attributes. A path may be formed by linking IfcReference instances together.",
            "InstanceName": "Optionally identifies an instance within a collection according to name.  If the instance has an attribute called 'Name', such attribute is used for comparison; otherwise the first STRING-based attribute of the entity is used.",
            "ListPositions": "Optionally identifies an instance within a collection according to position starting at 1.  For referencing single-level collections, this attribute contains a single member; for referencing multi-level collections, then this LIST attribute contains multiple members starting from the outer-most index.",
            "TypeIdentifier": "Optional identifier of the entity or type such as 'IfcMaterialLayerSet'. For entity, type, or select-based references within a collection, this resolves the reference to such type. If omitted, the type is assumed to be the same as the declared referencing attribute."
        },
        "description": "This entity is used to refer to a value of an attribute on an instance. It may refer to the value of a scalar attribute or a value within a collection-based attribute. Referenced attributes may be direct values, object references, collections, inverse object references, and inverse collections. References may be chained to form a path of object-attribute references.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReference.htm"
    },
    "IfcReferent": {
        "description": "IfcReferent defines a position at a particular offset along an alignment curve.",
        "predefined_types": {
            "BOUNDARY": "The referent represents where an administrative or maintenance boundary crosses the linear element being measured. This is typically the first time the boundary crosses the linear element. If the boundary runs along the linear element, it would be the point at which they first become collinear. The LRS should include specific rules about how boundaries are handled if this type of referent is permitted. If the linear element changes at the boundary as for a county route beginning at the county boundary, then the LRM is more correctly categorized as absolute.",
            "INTERSECTION": "The referent is the location of an intersection specified by the referent name. The intersection location is typically taken as the location of the intersection of the reference lines of the streets comprising the intersection and is, therefore, not necessarily precise or deterministic. Physical markers can be installed to remedy this. The LRS should include specific rules about how intersection locations are determined if this type of referent is permitted.",
            "KILOPOINT": "Kilo point",
            "LANDMARK": "The referent is the location of a physical landmark visible in the field.",
            "MILEPOINT": "Mile point",
            "NOTDEFINED": "Undefined.",
            "POSITION": "Used to fully describe a linearly referenced location given by the linear element being measured (the IfcAlignment into which the IfcReferent is nested), the method of measurement (Pset_LinearReferencingMethod) and a measure value specified with a distance expression (Pset_DistanceExpression). If a linear referencing method is specified for the position, it overrides any linear referencing method specified for the alignment.\u201d",
            "REFERENCEMARKER": "The reference marker is a notation referent, typically located in the right of way of the road, rail or other transportation system. Usually reference markers are initially spaced at a uniform distance along the linear element being measured, though subsequent re-alignments can result in uneven spacing between the markers.",
            "STATION": "Station",
            "USERDEFINED": "User defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReferent.htm"
    },
    "IfcRegularTimeSeries": {
        "attributes": {
            "TimeStep": "A duration of time intervals between values.",
            "Values": "The collection of time series values."
        },
        "description": "In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRegularTimeSeries.htm"
    },
    "IfcReinforcedSoil": {
        "description": "Soil reinforced or stabilized by some mechanical or chemical method.\n",
        "predefined_types": {
            "DYNAMICALLYCOMPACTED": "The method of using dynamic tamping machine usually free falling a heavy hammer from the height, compacting the soil and quickly improving the bearing capacity of the foundation.",
            "GROUTED": "A method of injecting curable slurry into cracks or pores of a geotechnical foundation to improve its physical and mechanical properties.",
            "NOTDEFINED": "Undefined type.",
            "REPLACED": "Dig out the soft soil in a certain range below the foundation ground and then backfill the area with high strength, low compressibility and no corrosive materials.",
            "ROLLERCOMPACTED": "A kind of compacting method that adopts rolling machinery, repeated rolling and vibration compacts the foundation soil, increasing strength and descreasing compressibility.",
            "SURCHARGEPRELOADED": "A method that applies load to the foundation to discharge pore water, and the foundation is consolidated to improve the foundation strength. Unloading when the carrying capacity reaches the required level.",
            "USERDEFINED": "User-defined type",
            "VERTICALLYDRAINED": "A method to set vertical drainage measures in the foundation, so that pore water in the soil is discharged and the foundation strength is improved."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReinforcedSoil.htm"
    },
    "IfcReinforcementBarProperties": {
        "attributes": {
            "BarCount": "The number of bars with identical nominal diameter and steel grade included in the specific reinforcement configuration.",
            "BarSurface": "Indicator for whether the bar surface is plain or textured.",
            "EffectiveDepth": "The effective depth, i.e. the distance of the specific reinforcement cross section area or reinforcement configuration in a row, counted from a common specific reference point. Usually the reference point is the upper surface (for beams and slabs) or a similar projection in a plane (for columns).",
            "NominalBarDiameter": "The nominal diameter defining the cross-section size of the reinforcing bar. The bar diameter should be identical for all bars included in the specific reinforcement configuration.",
            "SteelGrade": "The nominal steel grade defined according to local standards.",
            "TotalCrossSectionArea": "The total effective cross-section area of the reinforcement of a specific steel grade."
        },
        "description": "IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReinforcementBarProperties.htm"
    },
    "IfcReinforcementDefinitionProperties": {
        "attributes": {
            "DefinitionType": "Descriptive type name applied to reinforcement definition properties.",
            "ReinforcementSectionDefinitions": "The list of section reinforcement properties attached to the reinforcement definition properties."
        },
        "description": "IfcReinforcementDefinitionProperties defines the cross section properties of reinforcement included in reinforced concrete building elements. The property set definition may be used both in conjunction with insitu and precast structures.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReinforcementDefinitionProperties.htm"
    },
    "IfcReinforcingBar": {
        "attributes": {
            "BarLength": "Deprecated.",
            "BarSurface": "Deprecated.",
            "CrossSectionArea": "The effective cross-section area of the reinforcing bar or group of bars.",
            "NominalDiameter": "Deprecated."
        },
        "description": "A reinforcing bar is usually made of steel with manufactured deformations in the surface, and used in concrete and masonry construction to provide additional strength. A single instance of this class may represent one or many of actual rebars, for example a row of rebars.",
        "predefined_types": {
            "ANCHORING": "Anchoring reinforcement.",
            "EDGE": "Edge reinforcement.",
            "LIGATURE": "The reinforcing bar is a ligature (link, stirrup).",
            "MAIN": "The reinforcing bar is a main bar.",
            "NOTDEFINED": "The type of reinforcement is not defined.",
            "PUNCHING": "Punching reinforcement.",
            "RING": "Ring reinforcement.",
            "SHEAR": "The reinforcing bar is a shear bar.",
            "SPACEBAR": "A stirrup in pre-stressing system to position TendonConduit.",
            "STUD": "The reinforcing bar is a stud.",
            "USERDEFINED": "The type of reinforcement is user defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReinforcingBar.htm"
    },
    "IfcReinforcingBarType": {
        "attributes": {
            "BarLength": "The total length of the reinforcing bar. The total length of bended bars are calculated according to local standards with corrections for the bends.",
            "BarSurface": "Indicator for whether the bar surface is plain or textured.",
            "BendingParameters": "Bending shape parameters.  Their meaning is defined by the bending shape code and the respective standard.",
            "BendingShapeCode": "Shape code per a standard like ACI 315, ISO 3766, or a similar standard.  It is presumed that a single standard for defining the bar bending is used throughout the project and that this standard is referenced from the IfcProject object through the IfcDocumentReference mechanism.",
            "CrossSectionArea": "The effective cross-section area of the reinforcing bar.",
            "NominalDiameter": "The nominal diameter defining the cross-section size of the reinforcing bar."
        },
        "description": "The reinforcing element type IfcReinforcingBarType defines commonly shared information for occurrences of reinforcing bars. The set of shared information may include:",
        "predefined_types": {
            "ANCHORING": "Anchoring reinforcement.",
            "EDGE": "Edge reinforcement.",
            "LIGATURE": "The reinforcing bar is a ligature (link, stirrup).",
            "MAIN": "The reinforcing bar is a main bar.",
            "NOTDEFINED": "The type of reinforcement is not defined.",
            "PUNCHING": "Punching reinforcement.",
            "RING": "Ring reinforcement.",
            "SHEAR": "The reinforcing bar is a shear bar.",
            "SPACEBAR": "A stirrup in pre-stressing system to position TendonConduit.",
            "STUD": "The reinforcing bar is a stud.",
            "USERDEFINED": "The type of reinforcement is user defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReinforcingBarType.htm"
    },
    "IfcReinforcingElement": {
        "attributes": {
            "SteelGrade": "Deprecated."
        },
        "description": "A reinforcing element represents bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReinforcingElement.htm"
    },
    "IfcReinforcingElementType": {
        "description": "The element component type IfcReinforcingElementType defines commonly shared information for occurrences of reinforcing elements. The set of shared information may include:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReinforcingElementType.htm"
    },
    "IfcReinforcingMesh": {
        "attributes": {
            "LongitudinalBarCrossSectionArea": "Deprecated.",
            "LongitudinalBarNominalDiameter": "Deprecated.",
            "LongitudinalBarSpacing": "Deprecated.",
            "MeshLength": "Deprecated.",
            "MeshWidth": "Deprecated.",
            "TransverseBarCrossSectionArea": "Deprecated.",
            "TransverseBarNominalDiameter": "Deprecated.",
            "TransverseBarSpacing": "Deprecated."
        },
        "description": "A reinforcing mesh is a series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. It is also known as welded wire fabric. In scope are plane meshes as well as bent meshes.",
        "predefined_types": {
            "NOTDEFINED": "The type of mesh is not defined.",
            "USERDEFINED": "The type of mesh is user defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReinforcingMesh.htm"
    },
    "IfcReinforcingMeshType": {
        "attributes": {
            "BendingParameters": "If this mesh type is bent rather than planar, this attribute provides bending shape parameters. Their meaning is defined by the bending shape code and the respective standard.",
            "BendingShapeCode": "If this mesh type is bent rather than planar, this attribute provides a shape code per a standard like ACI 315, ISO 3766, or a similar standard.  It is presumed that a single standard for defining the mesh bending is used throughout the project and that this standard is referenced from the IfcProject object through the IfcDocumentReference mechanism.",
            "LongitudinalBarCrossSectionArea": "The effective cross-section area of the longitudinal bars of the mesh.",
            "LongitudinalBarNominalDiameter": "The nominal diameter denoting the cross-section size of the longitudinal bars.",
            "LongitudinalBarSpacing": "The spacing between the longitudinal bars.  Note: an even distribution of bars is presumed; other cases are handled by classification or property sets.",
            "MeshLength": "The overall length of the mesh measured in its longitudinal direction.",
            "MeshWidth": "The overall width of the mesh measured in its transversal direction.",
            "TransverseBarCrossSectionArea": "The effective cross-section area of the transverse bars of the mesh.",
            "TransverseBarNominalDiameter": "The nominal diameter denoting the cross-section size of the transverse bars.",
            "TransverseBarSpacing": "The spacing between the transverse bars.  Note: an even distribution of bars is presumed; other cases are handled by classification or property sets."
        },
        "description": "The reinforcing element type IfcReinforcingMeshType defines commonly shared information for occurrences of reinforcing meshs. The set of shared information may include:",
        "predefined_types": {
            "NOTDEFINED": "The type of mesh is not defined.",
            "USERDEFINED": "The type of mesh is user defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReinforcingMeshType.htm"
    },
    "IfcRelAdheresToElement": {
        "attributes": {
            "RelatedSurfaceFeatures": "The IfcSurfaceFeature(s) that adheres to the surface of the parent element.",
            "RelatingElement": "Element to which the IfcSurfaceFeature is adhered to."
        },
        "description": "The IfcRelAdheresToElement is an objectified relationship between an element and one to many surface feature elements that adhere to the surface of the element. The relationship is defined to be a 1 to many relationship. The IfcRelAdheresToElement establishes an aggregation relationship between the main element and a sub ordinary surface feature.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAdheresToElement.htm"
    },
    "IfcRelAggregates": {
        "attributes": {
            "RelatedObjects": "The object definitions, either object occurrences or object types, that are being aggregated. They are defined as the parts in the whole/part relationship. No order is implied between the parts.",
            "RelatingObject": "The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship."
        },
        "description": "The aggregation relationship IfcRelAggregates is a special type of the general composition/decomposition (or whole/part) relationship IfcRelDecomposes. The aggregation relationship can be applied to all subtypes of IfcObjectDefinition.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAggregates.htm"
    },
    "IfcRelAssigns": {
        "attributes": {
            "RelatedObjects": "Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.",
            "RelatedObjectsType": "Particular type of the assignment relationship. It can constrain the applicable object types, used within the role of RelatedObjects."
        },
        "description": "The assignment relationship, IfcRelAssigns, is a generalization of \"link\" relationships among instances of IfcObject and its various 1^st^ level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssigns.htm"
    },
    "IfcRelAssignsToActor": {
        "attributes": {
            "ActingRole": "Role of the actor played within the context of the assignment to the object(s).",
            "RelatingActor": "Reference to the information about the actor. It comprises the information about the person or organization and its addresses."
        },
        "description": "The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssignsToActor.htm"
    },
    "IfcRelAssignsToControl": {
        "attributes": {
            "RelatingControl": "Reference to the IfcControl that applies a control upon objects."
        },
        "description": "The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssignsToControl.htm"
    },
    "IfcRelAssignsToGroup": {
        "attributes": {
            "RelatingGroup": "Reference to group that contains all assigned group members."
        },
        "description": "The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssignsToGroup.htm"
    },
    "IfcRelAssignsToGroupByFactor": {
        "attributes": {
            "Factor": "Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment."
        },
        "description": "The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssignsToGroupByFactor.htm"
    },
    "IfcRelAssignsToProcess": {
        "attributes": {
            "QuantityInProcess": "Quantity of the object specific for the operation by this process.",
            "RelatingProcess": "Reference to the process to which the objects are assigned to."
        },
        "description": "The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssignsToProcess.htm"
    },
    "IfcRelAssignsToProduct": {
        "attributes": {
            "RelatingProduct": "Reference to the product or product type to which the objects are assigned to."
        },
        "description": "The objectified relationship\u00a0IfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssignsToProduct.htm"
    },
    "IfcRelAssignsToResource": {
        "attributes": {
            "RelatingResource": "Reference to the resource to which the objects are assigned to."
        },
        "description": "The objectified relationship IfcRelAssignsToResource handles the assignment of objects (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssignsToResource.htm"
    },
    "IfcRelAssociates": {
        "attributes": {
            "RelatedObjects": "Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts."
        },
        "description": "The association relationship IfcRelAssociates refers to sources of information (most notably a classification, library, document, approval, constraint, or material). The information associated may reside internally or externally of the project data. There is no dependency implied by the association.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssociates.htm"
    },
    "IfcRelAssociatesApproval": {
        "attributes": {
            "RelatingApproval": "Reference to approval that is being applied using this relationship."
        },
        "description": "The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssociatesApproval.htm"
    },
    "IfcRelAssociatesClassification": {
        "attributes": {
            "RelatingClassification": "Classification applied to the objects."
        },
        "description": "The objectified relationship IfcRelAssociatesClassification handles the assignment of a classification item (items of the select IfcClassificationSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssociatesClassification.htm"
    },
    "IfcRelAssociatesConstraint": {
        "attributes": {
            "Intent": "The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE.",
            "RelatingConstraint": "Reference to constraint that is being applied using this relationship."
        },
        "description": "The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssociatesConstraint.htm"
    },
    "IfcRelAssociatesDocument": {
        "attributes": {
            "RelatingDocument": "Document information or reference which is applied to the objects."
        },
        "description": "The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssociatesDocument.htm"
    },
    "IfcRelAssociatesLibrary": {
        "attributes": {
            "RelatingLibrary": "Reference to a library, from which the definition of the property set is taken."
        },
        "description": "The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssociatesLibrary.htm"
    },
    "IfcRelAssociatesMaterial": {
        "attributes": {
            "RelatingMaterial": "Material definition assigned to the elements or element types."
        },
        "description": "IfcRelAssociatesMaterial is an objectified relationship between a material definition and elements or element types to which this material definition applies.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssociatesMaterial.htm"
    },
    "IfcRelAssociatesProfileDef": {
        "attributes": {
            "RelatingProfileDef": "The relating profile."
        },
        "description": "Associates Objects with a profile. In particular, may be used for indicating which SuperelevationEvent or WidthEvent has been used as basis for dimensioning a particular OpenCrossProfile.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssociatesProfileDef.htm"
    },
    "IfcRelConnects": {
        "description": "IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelConnects.htm"
    },
    "IfcRelConnectsElements": {
        "attributes": {
            "ConnectionGeometry": "The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally).",
            "RelatedElement": "Reference to a subtype of IfcElement that is connected by the connection relationship in the role of RelatedElement.",
            "RelatingElement": "Reference to a subtype of IfcElement that is connected by the connection relationship in the role of RelatingElement."
        },
        "description": "The IfcRelConnectsElements objectified relationship provides the generalization of the connectivity between elements. It is a 1 to 1 relationship. The concept of two elements being physically or logically connected is described independently from the connecting elements. The connectivity may be related to the shape representation of the connected entities by providing a connection geometry.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelConnectsElements.htm"
    },
    "IfcRelConnectsPathElements": {
        "attributes": {
            "RelatedConnectionType": "Indication of the connection type in relation to the path of the RelatedObject.",
            "RelatedPriorities": "Overriding priorities at this connection. It overrides the standard priority given at the wall layer provided by IfcMaterialLayer.Priority. The list of RelatedProperties corresponds to the list of IfcMaterialLayerSet.MaterialLayers of the element referenced by RelatedObject.",
            "RelatingConnectionType": "Indication of the connection type in relation to the path of the RelatingObject.",
            "RelatingPriorities": "Overriding priorities at this connection. It overrides the standard priority given at the wall layer provided by IfcMaterialLayer.Priority. The list of RelatingProperties corresponds to the list of IfcMaterialLayerSet.MaterialLayers of the element referenced by RelatingObject."
        },
        "description": "The IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelConnectsPathElements.htm"
    },
    "IfcRelConnectsPortToElement": {
        "attributes": {
            "RelatedElement": "Reference to an IfcDistributionElement that has ports assigned.",
            "RelatingPort": "Reference to an Port that is connected by the objectified relationship."
        },
        "description": "IfcRelConnectsPortToElement is a relationship between a distribution element and dynamically connected ports where connections are realised to other distribution elements.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelConnectsPortToElement.htm"
    },
    "IfcRelConnectsPorts": {
        "attributes": {
            "RealizingElement": "Defines the element that realizes a port connection relationship.",
            "RelatedPort": "Reference to the second port that is connected by the objectified relationship.",
            "RelatingPort": "Reference to the first port that is connected by the objectified relationship."
        },
        "description": "An IfcRelConnectsPorts relationship defines the relationship that is made between two ports at their point of connection. It may include the connection geometry between two ports.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelConnectsPorts.htm"
    },
    "IfcRelConnectsStructuralActivity": {
        "attributes": {
            "RelatedStructuralActivity": "Reference to a structural activity which is acting upon the specified structural item or element.",
            "RelatingElement": "Reference to a structural item or element to which the specified activity is applied."
        },
        "description": "The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelConnectsStructuralActivity.htm"
    },
    "IfcRelConnectsStructuralMember": {
        "attributes": {
            "AdditionalConditions": "Describes additional connection properties.",
            "AppliedCondition": "Conditions which define the connections properties.  Connection conditions are often called \"release\" but are not only used to define mechanisms like hinges but also rigid, elastic, and other conditions.",
            "ConditionCoordinateSystem": "Defines a coordinate system used for the description of the connection properties in ConnectionCondition relative to the local coordinate system of RelatingStructuralMember.  If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the local member coordinates where the connection is made and the default axes directions being in parallel with the local axes of RelatingStructuralMember.",
            "RelatedStructuralConnection": "Reference to an instance of IfcStructuralConnection (or its subclasses) which is connected to the specified structural member.",
            "RelatingStructuralMember": "Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection.",
            "SupportedLength": "Defines the 'supported length' of this structural connection. See Fig. for more detail."
        },
        "description": "The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelConnectsStructuralMember.htm"
    },
    "IfcRelConnectsWithEccentricity": {
        "attributes": {
            "ConnectionConstraint": "The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face)."
        },
        "description": "The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelConnectsWithEccentricity.htm"
    },
    "IfcRelConnectsWithRealizingElements": {
        "attributes": {
            "ConnectionType": "The type of the connection given for informal purposes, it may include labels, like 'joint', 'rigid joint', 'flexible joint', etc.",
            "RealizingElements": "Defines the elements that realize a connection relationship."
        },
        "description": "IfcRelConnectsWithRealizingElements defines a generic relationship that is made between two elements that require the realization of that relationship by means of further realizing elements.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelConnectsWithRealizingElements.htm"
    },
    "IfcRelContainedInSpatialStructure": {
        "attributes": {
            "RelatedElements": "Set of products, which are contained within this level of the spatial structure hierarchy.",
            "RelatingStructure": "Spatial structure element, within which the element is contained. Any element can only be contained within one element of the project spatial structure."
        },
        "description": "This objectified relationship, IfcRelContainedInSpatialStructure, is used to assign elements to a certain level of the spatial project structure. Any element can only be assigned once to a certain level of the spatial structure. The question, which level is relevant for which type of element, can only be answered within the context of a particular project and might vary within the various regions.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelContainedInSpatialStructure.htm"
    },
    "IfcRelCoversBldgElements": {
        "attributes": {
            "RelatedCoverings": "Relationship to the set of coverings that are assigned to this element.",
            "RelatingBuildingElement": "Relationship to the element that is covered. It includes building elements for coverings such as flooring or cladding, or distribution elements for coverings such as sleeving or wrapping."
        },
        "description": "The IfcRelCoversBldgElements relationship is an objectified relationship between an element and one to many coverings, which cover that element.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelCoversBldgElements.htm"
    },
    "IfcRelCoversSpaces": {
        "attributes": {
            "RelatedCoverings": "Relationship to the set of coverings covering that cover surfaces of this space.",
            "RelatingSpace": "Relationship to the space object that is covered."
        },
        "description": "The objectified relationship, IfcRelCoversSpace, relates a space object to one or many coverings, which faces (or is assigned to) the space.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelCoversSpaces.htm"
    },
    "IfcRelDeclares": {
        "attributes": {
            "RelatedDefinitions": "Set of object or property definitions that are assigned to a context and to which the unit and representation context definitions of that context apply.",
            "RelatingContext": "Reference to the IfcProject to which additional information is assigned."
        },
        "description": "The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelDeclares.htm"
    },
    "IfcRelDecomposes": {
        "description": "The decomposition relationship, IfcRelDecomposes, defines the general concept of elements being composed or decomposed. The decomposition relationship denotes a whole/part hierarchy with the ability to navigate from the whole (the composition) to the parts and vice versa.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelDecomposes.htm"
    },
    "IfcRelDefines": {
        "description": "A generic and abstract relationship which subtypes are used to:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelDefines.htm"
    },
    "IfcRelDefinesByObject": {
        "attributes": {
            "RelatedObjects": "Objects being part of an object occurrence decomposition, acting as the \"reflecting parts\" in the relationship.",
            "RelatingObject": "Object being part of an object type decomposition, acting as the \"declaring part\" in the relationship."
        },
        "description": "The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelDefinesByObject.htm"
    },
    "IfcRelDefinesByProperties": {
        "attributes": {
            "RelatedObjects": "Reference to the objects (or single object) to which the property definition applies.",
            "RelatingPropertyDefinition": "Reference to the property set definition for that object or set of objects."
        },
        "description": "The objectified relationship IfcRelDefinesByProperties defines the relationships between property set definitions and objects. Properties are aggregated in property sets. Property sets can be either directly assigned to occurrence objects using this relationship, or assigned to an object type and assigned via that type to occurrence objects. The assignment of an IfcPropertySet to an IfcTypeObject is not handled via this objectified relationship, but through the direct relationship HasPropertySets at IfcTypeObject.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelDefinesByProperties.htm"
    },
    "IfcRelDefinesByTemplate": {
        "attributes": {
            "RelatedPropertySets": "One or many property sets or quantity sets that obtain their definitions from the single property set template.",
            "RelatingTemplate": "Property set template that provides the common definition of related property sets."
        },
        "description": "The objectified relationship IfcRelDefinesByTemplate defines the relationships between property set template and property sets. Common information about property sets, e.g. the applicable name, description, contained properties, is defined by the property set template and assigned to all property sets.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelDefinesByTemplate.htm"
    },
    "IfcRelDefinesByType": {
        "attributes": {
            "RelatedObjects": "",
            "RelatingType": "Reference to the type (or style) information for that object or set of objects."
        },
        "description": "The objectified relationship IfcRelDefinesByType defines the relationship between an object type and object occurrences. The IfcRelDefinesByType is a 1-to-N relationship, as it allows for the assignment of one type information to a single or to many objects. Those objects then share the same object type, and the property sets and properties assigned to the object type.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelDefinesByType.htm"
    },
    "IfcRelFillsElement": {
        "attributes": {
            "RelatedBuildingElement": "Reference to ~~building~~ element that occupies fully or partially the associated opening.",
            "RelatingOpeningElement": "Opening Element being filled by virtue of this relationship."
        },
        "description": "IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelFillsElement.htm"
    },
    "IfcRelFlowControlElements": {
        "attributes": {
            "RelatedControlElements": "References control elements which may be used to impart control on the Distribution Element.",
            "RelatingFlowElement": "Relationship to a distribution flow element"
        },
        "description": "This objectified relationship between a distribution flow element occurrence and one-to-many control element occurrences indicates that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelFlowControlElements.htm"
    },
    "IfcRelInterferesElements": {
        "attributes": {
            "ImpliedOrder": "Logical value indicating if the RelatingElement is considered a source and the RelatedElement a target (giving a formal orientation to the relation). It shall be provided in regards to InterferenceGeometry usage and InterferenceType declaration.",
            "InterferenceGeometry": "The geometric shape representation of the interference geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally).",
            "InterferenceSpace": "Optional attribute that expresses the interfering space for IfcSpatialElement occurrences.",
            "InterferenceType": "Optional identifier that describes the nature of the interference.",
            "RelatedElement": "Reference to a subtype of IfcElement or IfcSpatialElement that is the RelatedElement in the interference relationship. Depending on the value of ImpliedOrder the RelatedElement may carry the notion to be the element from which the interference geometry should not be subtracted.",
            "RelatingElement": "Reference to a subtype of IfcElement or IfcSpatialElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted."
        },
        "description": "The IfcRelInterferesElements objectified relationship indicates that two elements interfere.\nIt is a 1 to 1 relationship, and the concept of two elements interfering physically or logically is described independently of the elements.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelInterferesElements.htm"
    },
    "IfcRelNests": {
        "attributes": {
            "RelatedObjects": "The object definitions, either non-product object occurrences or non-product object types, that are being nestes. They are defined as the parts in the ordered whole/part relationship -  i.e. there is an implied order among the parts expressed by the position within the list of RelatedObjects.",
            "RelatingObject": "The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship."
        },
        "description": "The nesting relationship IfcRelNests is a special type of the general composition/decomposition (or whole/part) relationship IfcRelDecomposes. The nesting relationship can be applied to all non physical subtypes of object and object types, namely processes, controls (like cost items), and resources. It can also be applied to physical subtypes of object and object types, namely elements having ports. The nesting implies an order among the nested parts.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelNests.htm"
    },
    "IfcRelPositions": {
        "attributes": {
            "RelatedProducts": "Relatively positioned product.",
            "RelatingPositioningElement": "Positioning element defining the source of the relative position."
        },
        "description": "An IfcRelPositions relationship defines the relationship that positions a product related to a positioning element..\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelPositions.htm"
    },
    "IfcRelProjectsElement": {
        "attributes": {
            "RelatedFeatureElement": "Reference to the IfcFeatureElementAddition that defines an addition to the volume of the element, by using a Boolean addition operation. An example is a projection at the associated element.",
            "RelatingElement": "Element at which a projection is created by the associated IfcProjectionElement."
        },
        "description": "The IfcRelProjectsElement is an objectified relationship between an element and one projection element that creates a modifier to the shape of the element. The relationship is defined to be a 1:1 relationship, if an element has more than one projection, several relationship objects have to be used, each pointing to a different projection element. The IfcRelProjectsElement establishes an aggregation relationship between the main element and a sub ordinary addition feature.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelProjectsElement.htm"
    },
    "IfcRelReferencedInSpatialStructure": {
        "attributes": {
            "RelatedElements": "",
            "RelatingStructure": ""
        },
        "description": "The objectified relationship, IfcRelReferencedInSpatialStructure is used to assign elements in addition to those levels of the project spatial structure, in which they are referenced, but not primarily contained. It is also used to connect a system to the relevant spatial element that it serves.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelReferencedInSpatialStructure.htm"
    },
    "IfcRelSequence": {
        "attributes": {
            "RelatedProcess": "Reference to the process, that is the successor.",
            "RelatingProcess": "Reference to the process, that is the predecessor.",
            "SequenceType": "The way in which the time lag applies to the sequence.",
            "TimeLag": "Time duration of the sequence, it is the time lag between the     predecessor and the successor as specified by the     SequenceType.",
            "UserDefinedSequenceType": "Allows for specification of user defined type of the sequence     beyond the enumeration values (START_START, START_FINISH,     FINISH_START, FINISH_FINISH) provided by SequenceType     attribute of type IfcSequenceEnum. When a value is     provided for attribute UserDefinedSequenceType in     parallel the attribute SequenceType shall have     enumeration value USERDEFINED."
        },
        "description": "IfcRelSequence is a sequential relationship between processes where one process must occur before the other in time and where the timing of the relationship may be described as a type of sequence. The relating process (_IfcRelSequence.RelatingProcess_) is considered to be the predecessor in the relationship (has precedence) whilst the related process (_IfcRelSequence.RelatedProcess_) is the successor.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelSequence.htm"
    },
    "IfcRelServicesBuildings": {
        "attributes": {
            "RelatedBuildings": "Spatial structure elements (including site, building, storeys) that are serviced by the system.",
            "RelatingSystem": "System that services the Buildings."
        },
        "description": "The IfcRelServicesBuildings is an objectified relationship that defines the relationship between a system and the sites, buildings, storeys, spaces, or spatial zones, it serves. Examples of systems are:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelServicesBuildings.htm"
    },
    "IfcRelSpaceBoundary": {
        "attributes": {
            "ConnectionGeometry": "Physical representation of the space boundary. Provided as a curve or surface given within the LCS of the space.",
            "InternalOrExternalBoundary": "Defines, whether the Space Boundary is internal (Internal), or external, i.e. adjacent to open space (that can be an partially enclosed space, such as terrace (External).",
            "PhysicalOrVirtualBoundary": "Defines, whether the Space Boundary is physical (Physical) or virtual (Virtual).",
            "RelatedBuildingElement": "Reference to ~~Building~~ Element, that defines the Space Boundaries.",
            "RelatingSpace": "Reference to one spaces that is delimited by this boundary."
        },
        "description": "The space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary to the surrounding elements.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelSpaceBoundary.htm"
    },
    "IfcRelSpaceBoundary1stLevel": {
        "attributes": {
            "InnerBoundaries": "Reference to the inner boundaries of the space boundary. Inner boundaries are defined by the space boundaries of openings, doors and windows.",
            "ParentBoundary": "Reference to the host, or parent, space boundary within which this inner boundary is defined."
        },
        "description": "The 1st level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary1stLevel to the surrounding elements. 1st level space boundaries are characterizeda by:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelSpaceBoundary1stLevel.htm"
    },
    "IfcRelSpaceBoundary2ndLevel": {
        "attributes": {
            "CorrespondingBoundary": "Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element.",
            "Corresponds": "Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element."
        },
        "description": "The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelSpaceBoundary2ndLevel.htm"
    },
    "IfcRelVoidsElement": {
        "attributes": {
            "RelatedOpeningElement": "Reference to the feature subtraction element which defines a void in the associated element.",
            "RelatingBuildingElement": "Reference to element in which a void is created by associated feature subtraction element."
        },
        "description": "IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelVoidsElement.htm"
    },
    "IfcRelationship": {
        "description": "IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelationship.htm"
    },
    "IfcReparametrisedCompositeCurveSegment": {
        "attributes": {
            "ParamLength": ""
        },
        "description": "The IfcReparametrisedCompositeCurveSegment is geometrically identical to a IfcCompositeCurveSegment but with the additional capability of reparametrization.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReparametrisedCompositeCurveSegment.htm"
    },
    "IfcRepresentation": {
        "attributes": {
            "ContextOfItems": "Definition of the representation context for which the different subtypes of representation are valid.",
            "Items": "Set of geometric representation items that are defined for this representation.",
            "LayerAssignments": "Assignment of the whole representation to a single or multiple layer(s). The LayerAssigments can be overridden by LayerAssigments of the IfcRepresentationItem's within the list of Items.",
            "OfProductRepresentation": "Reference to the product representations to which this individual representation applies. In most cases it is the reference to one or many product shapes, to which this shape representation is applicable.",
            "RepresentationIdentifier": "The optional identifier of the representation as used within a project.",
            "RepresentationMap": "Use of the representation within an IfcRepresentationMap. If used, this IfcRepresentation may be assigned to many representations as one of its Items using an IfcMappedItem. Using IfcRepresentationMap is the way to share one representation (often of type IfcShapeRepresentation) by many products.",
            "RepresentationType": "The description of the type of a representation context. The representation type defines the type of geometry or topology used for representing the product representation. More information is given at the subtypes IfcShapeRepresentation and IfcTopologyRepresentation. The supported values for context type are to be specified by implementers agreements."
        },
        "description": "The IfcRepresentation defines the general concept of representing product properties and in particular the product shape.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRepresentation.htm"
    },
    "IfcRepresentationContext": {
        "attributes": {
            "ContextIdentifier": "The optional identifier of the representation context as used within a project.",
            "ContextType": "The description of the type of a representation context. The supported values for context type are to be specified by implementers agreements.",
            "RepresentationsInContext": "All shape representations that are defined in the same representation context."
        },
        "description": "The IfcRepresentationContext defines the context to which the IfcRepresentation of a product is related.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRepresentationContext.htm"
    },
    "IfcRepresentationItem": {
        "attributes": {
            "LayerAssignment": "Assignment of the representation item to a single or multiple layer(s). The LayerAssignments can override a LayerAssignments of the IfcRepresentation it is used  within the list of Items.",
            "StyledByItem": "Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve."
        },
        "description": "The IfcRepresentationItem is used within an IfcRepresentation (directly or indirectly through other IfcRepresentationItem's) to represent an IfcProductRepresentation. Most commonly these IfcRepresentationItem's are geometric or topological representation items, that can (but not need to) have presentation style information assigned.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRepresentationItem.htm"
    },
    "IfcRepresentationMap": {
        "attributes": {
            "HasShapeAspects": "Reference to the shape aspect that represents part of the shape or its feature distinctively.",
            "MapUsage": "",
            "MappedRepresentation": "A representation that is mapped to at least one mapped item.",
            "MappingOrigin": "An axis2 placement that defines the position about which the mapped representation is mapped."
        },
        "description": "An IfcRepresentationMap defines the base definition (also referred to as block, cell or macro) called MappedRepresentation within the MappingOrigin. The MappingOrigin defines the coordinate system in which the MappedRepresentation is defined.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRepresentationMap.htm"
    },
    "IfcResource": {
        "attributes": {
            "Identification": "An identifying designation given to a resource.     It is the identifier at the occurrence level.",
            "LongDescription": "A detailed description of the resource (e.g. the skillset for a labor resource).",
            "ResourceOf": "Set of relationships to other objects, e.g. products, processes, controls, resources or actors, for which this resource object is a resource."
        },
        "description": "IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcResource.htm"
    },
    "IfcResourceApprovalRelationship": {
        "attributes": {
            "RelatedResourceObjects": "Resource objects that are approved.",
            "RelatingApproval": "The approval for the resource objects selected."
        },
        "description": "An IfcResourceApprovalRelationship is used for associating an approval to resource objects. A single approval might be given to one or many items via IfcResourceObjectSelect.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcResourceApprovalRelationship.htm"
    },
    "IfcResourceConstraintRelationship": {
        "attributes": {
            "RelatedResourceObjects": "The properties to which a constraint is to be related.",
            "RelatingConstraint": "The constraint that is to be related."
        },
        "description": "An IfcResourceConstraintRelationship is a relationship entity that enables a constraint to be related to one or more resource level objects.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcResourceConstraintRelationship.htm"
    },
    "IfcResourceLevelRelationship": {
        "attributes": {
            "Description": "A description that may apply additional information about the relationship.",
            "Name": "A name used to identify or qualify the relationship."
        },
        "description": "IfcResourceLevelRelationship is an abstract base entity for relationships between resource-level entities.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcResourceLevelRelationship.htm"
    },
    "IfcResourceTime": {
        "attributes": {
            "ActualFinish": "Indicates the time when the resource actually finished working.",
            "ActualStart": "Indicates the time when the resource actually started working.",
            "ActualUsage": "Indicates the actual amount of the resource used concurrently.",
            "ActualWork": "Indicates the actual work performed by the resource as of the StatusTime.",
            "Completion": "Indicates the percent completion of this resource.  If the resource is assigned to a task, then indicates completion of the task on behalf of the resource; if the resource is partitioned into sub-allocations, then indicates overall completion of sub-allocations.",
            "IsOverAllocated": "Indicates that the resource is scheduled in excess of its capacity.",
            "LevelingDelay": "Indicates a delay in the ScheduleStart caused by leveling.",
            "RemainingUsage": "",
            "RemainingWork": "Indicates the work remaining to be completed by the resource.",
            "ScheduleContour": "Indicates how a resource should be leveled over time by adjusting the resource usage according to a specified curve.  Standard values include: 'Flat', 'BackLoaded', 'FrontLoaded', 'DoublePeak', 'EarlyPeak', 'LatePeak', 'Bell', and 'Turtle'.  Custom values may specify a custom name or formula.",
            "ScheduleFinish": "Indicates the time when the resource is scheduled to finish working.",
            "ScheduleStart": "Indicates the time when the resource is scheduled to start working.",
            "ScheduleUsage": "Indicates the amount of the resource used concurrently. For example, 100% means 1 worker, 300% means 3 workers, 50% means half of 1 worker's time for scenarios where multitasking is feasible. If not provided, then the usage ratio is considered to be 100%.",
            "ScheduleWork": "Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task.",
            "StatusTime": "Indicates the date and time for which status values are applicable; particularly completion, actual, and remaining values.  If values are time-phased (the referencing IfcConstructionResource has associated time series values for attributes), then the status values may be determined from such time-phased data as of the StatusTime."
        },
        "description": "IfcResourceTime captures the time-related information about a construction resource.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcResourceTime.htm"
    },
    "IfcRevolvedAreaSolid": {
        "attributes": {
            "Angle": "The angle through which the sweep will be made. This angle is measured from the plane of the swept area provided by the XY plane of the position coordinate system.",
            "Axis": "Axis about which revolution will take place."
        },
        "description": "An IfcRevolvedAreaSolid is a solid created by revolving a cross section provided by a profile definition about an axis.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRevolvedAreaSolid.htm"
    },
    "IfcRevolvedAreaSolidTapered": {
        "attributes": {
            "EndSweptArea": ""
        },
        "description": "IfcRevolvedAreaSolidTapered is defined by revolving a cross section along a circular arc. The cross section may change along the revolving sweep from the shape of the start cross section into the shape of the end cross section. Corresponding vertices of the start and end cross sections are then connected. The bounded surface may have holes which will sweep into holes in the solid.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRevolvedAreaSolidTapered.htm"
    },
    "IfcRightCircularCone": {
        "attributes": {
            "BottomRadius": "The radius of the cone at the base.",
            "Height": "The distance between the base of the cone and the apex."
        },
        "description": "The IfcRightCircularCone is a Construction Solid Geometry (CSG) 3D primitive. It is a solid with a circular base and a point called apex as the top. The tapers from the base to the top. The axis from the center of the circular base to the apex is perpendicular to the base. The inherited Position attribute defines the IfcAxisPlacement3D and provides the location and orientation of the cone:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRightCircularCone.htm"
    },
    "IfcRightCircularCylinder": {
        "attributes": {
            "Height": "The distance between the planar circular faces of the cylinder.",
            "Radius": "The radius of the cylinder."
        },
        "description": "The IfcRightCircularCylinder is a Construction Solid Geometry (CSG) 3D primitive. It is a solid with a circular base and top. The cylindrical surface between if formed by points at a fixed distance from the axis of the cylinder. The inherited Position attribute defines the IfcAxisPlacement3D and provides:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRightCircularCylinder.htm"
    },
    "IfcRoad": {
        "description": "A route built on land to allow travel from one location to another, including highways, streets, cycle and foot paths, but excluding railways. As a type of Facility, Road provides the basic element in the project structure hierarchy for the components of a road project (i.e. any undertaking such as design, construction or maintenance).",
        "predefined_types": {
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRoad.htm"
    },
    "IfcRoadPart": {
        "description": "Part of a road.\n",
        "predefined_types": {
            "BICYCLECROSSING": "Designated level crossing over a road for cyclists.",
            "BUS_STOP": "Lateral part of Road for stopping buses allowing them to draw out of the traffic lanes and wait for short periods.",
            "CARRIAGEWAY": "Unitary lateral part of Road built for traffic. Carriageway may comprise several kinds of traffic lanes and lay-bys, as well as traffic islands, and in case of dual carriageway road they are separated by central reserve.",
            "CENTRALISLAND": "The center of a roundabout not intended for traffic, can be painted or upraised.",
            "CENTRALRESERVE": "Lateral RoadPart separating two carriageways of the same road or separating traffic lanes and sidewalk.",
            "HARDSHOULDER": "A type of Shoulder that is surfaced, providing for safe use by vehicles in distress.",
            "INTERSECTION": "At-grade junction where two or more roads meet or cross. Intersections may be further classified by number of road segments, traffic controls, and/or lane design.",
            "LAYBY": "A lateral part of Road where vehicles can divert from ordinary stream of traffic.",
            "NOTDEFINED": "Undefined type.",
            "PARKINGBAY": "Lateral part of Road for parking vehicles.",
            "PASSINGBAY": "A lateral part of Road that is a widening of an otherwise single lane road where a vehicle may move over to enable another vehicle to pass.",
            "PEDESTRIAN_CROSSING": "Designated level crossing over a road for pedestrians.",
            "RAILWAYCROSSING": "At-grade crossing between road and railway.",
            "REFUGEISLAND": "A raised platform or a guarded area so sited in the carriageway as to divide the streams of traffic and to provide a safety area for pedestrians.",
            "ROADSEGMENT": "Longitudinal, linear segment of a road, either defined by uniform characteristics, or as a transition segment (e.g. number of lanes changing).",
            "ROADSIDE": "A lateral RoadPart located along the Road adjoining the outer edges of the Shoulders. A general concept comprising the areas outside RoadwayPlateau not intended for vehicles.",
            "ROADSIDEPART": "A general concept for various parts of the Roadside.",
            "ROADWAYPLATEAU": "Lateral part of Road comprising the carriageway(s), shoulders and medians.",
            "ROUNDABOUT": "Type of at-grade junction at which traffic streams are directed around a circle.",
            "SHOULDER": "A lateral part of Road adjacent to, and usually at the same level as the Carriageway; not intended for vehicular traffic but may be used in case of emergency.",
            "SIDEWALK": "A footpath along the side of a road. May accommodate moderate changes in grade (elevation) and is normally separated from the vehicular section by a kerb. There may be a central reserve or road verge between the sidewalk and traffic lanes.",
            "SOFTSHOULDER": "A type of Shoulder that is not surfaced.",
            "TOLLPLAZA": "A part of road facility where tolls are collected for use of  toll road, tunnel or bridge.",
            "TRAFFICISLAND": "A central or subsidiary area raised or marked on the carriageway, generally at a road junction or level crossing, shaped and placed so as to direct traffic movement and/or provide refuge for pedestrians.",
            "TRAFFICLANE": "Lateral part of carriageway designated to vehicular traffic for a particular purpose.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRoadPart.htm"
    },
    "IfcRoof": {
        "description": "A roof is the covering of the top part of a building, it protects the building against the effects of weather.",
        "predefined_types": {
            "BARREL_ROOF": "A roof or ceiling having a semicylindrical form.",
            "BUTTERFLY_ROOF": "A roof having two slopes, each descending inward from the eaves.",
            "DOME_ROOF": "A hemispherical hip roof.",
            "FLAT_ROOF": "A roof having no slope, or one with only a slight pitch so as to drain rainwater.",
            "FREEFORM": "Free form roof.",
            "GABLE_ROOF": "A roof sloping downward in two parts from a central ridge, so as to form a gable at each end.",
            "GAMBREL_ROOF": "A roof sloping downward in two parts from a central ridge, so as to form a gable at each end.",
            "HIPPED_GABLE_ROOF": "A roof having a hipped end truncating a gable.",
            "HIP_ROOF": "A roof having sloping ends and sides meeting at an inclined projecting angle.",
            "MANSARD_ROOF": "A roof having on each side a steeper lower part and a shallower upper part.",
            "NOTDEFINED": "No specification given.",
            "PAVILION_ROOF": "A pyramidal hip roof.",
            "RAINBOW_ROOF": "A gable roof in the form of a broad Gothic arch, with gently sloping convex surfaces.",
            "SHED_ROOF": "A roof having a single slope.",
            "USERDEFINED": "No specification given."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRoof.htm"
    },
    "IfcRoofType": {
        "description": "The building element type IfcRoofType defines commonly shared information for occurrences of roofs. The set of shared information may include:",
        "predefined_types": {
            "BARREL_ROOF": "A roof or ceiling having a semicylindrical form.",
            "BUTTERFLY_ROOF": "A roof having two slopes, each descending inward from the eaves.",
            "DOME_ROOF": "A hemispherical hip roof.",
            "FLAT_ROOF": "A roof having no slope, or one with only a slight pitch so as to drain rainwater.",
            "FREEFORM": "Free form roof.",
            "GABLE_ROOF": "A roof sloping downward in two parts from a central ridge, so as to form a gable at each end.",
            "GAMBREL_ROOF": "A roof sloping downward in two parts from a central ridge, so as to form a gable at each end.",
            "HIPPED_GABLE_ROOF": "A roof having a hipped end truncating a gable.",
            "HIP_ROOF": "A roof having sloping ends and sides meeting at an inclined projecting angle.",
            "MANSARD_ROOF": "A roof having on each side a steeper lower part and a shallower upper part.",
            "NOTDEFINED": "No specification given.",
            "PAVILION_ROOF": "A pyramidal hip roof.",
            "RAINBOW_ROOF": "A gable roof in the form of a broad Gothic arch, with gently sloping convex surfaces.",
            "SHED_ROOF": "A roof having a single slope.",
            "USERDEFINED": "No specification given."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRoofType.htm"
    },
    "IfcRoot": {
        "attributes": {
            "Description": "Optional description, provided for exchanging informative comments.",
            "GlobalId": "Assignment of a globally unique identifier within the entire software world.",
            "Name": "Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule.",
            "OwnerHistory": "Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object,"
        },
        "description": "IfcRoot is the most abstract and root class for all entity definitions that roots in the kernel or in subsequent layers of the IFC specification. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRoot.htm"
    },
    "IfcRoundedRectangleProfileDef": {
        "attributes": {
            "RoundingRadius": "Radius of the circular arcs by which all four corners of the rectangle are equally rounded."
        },
        "description": "IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRoundedRectangleProfileDef.htm"
    },
    "IfcSIUnit": {
        "attributes": {
            "Name": "The word, or group of words, by which the SI unit is referred to.",
            "Prefix": "The SI Prefix for defining decimal multiples and submultiples of the unit."
        },
        "description": "The IfcSIUnit covers both standard base SI units such as meter and second, and derived SI units such as Pascal, square meter and cubic meter.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSIUnit.htm"
    },
    "IfcSanitaryTerminal": {
        "description": "A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal.",
        "predefined_types": {
            "BATH": "Sanitary appliance for immersion of the human body or parts of it.",
            "BIDET": "Waste water appliance for washing the excretory organs while sitting astride the bowl.",
            "CISTERN": "A water storage unit attached to a sanitary terminal that is fitted with a device, operated automatically or by the user, that discharges water to cleanse a water closet (toilet) pan, urinal or slop hopper.",
            "NOTDEFINED": "Undefined type.",
            "SANITARYFOUNTAIN": "A sanitary terminal that provides a low pressure jet of water for a specific purpose.",
            "SHOWER": "Installation or waste water appliance that emits a spray of water to wash the human body.",
            "SINK": "Waste water appliance for receiving, retaining or disposing of domestic, culinary, laboratory or industrial process liquids.",
            "TOILETPAN": "Soil appliance for the disposal of excrement.",
            "URINAL": "Soil appliance that receives urine and directs it to a waste outlet.",
            "USERDEFINED": "User-defined type.",
            "WASHHANDBASIN": "Waste water appliance for washing the upper parts of the body.",
            "WCSEAT": "[Deprecated] Hinged seat that fits on the top of a water closet (WC) pan."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSanitaryTerminal.htm"
    },
    "IfcSanitaryTerminalType": {
        "description": "The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include:",
        "predefined_types": {
            "BATH": "Sanitary appliance for immersion of the human body or parts of it.",
            "BIDET": "Waste water appliance for washing the excretory organs while sitting astride the bowl.",
            "CISTERN": "A water storage unit attached to a sanitary terminal that is fitted with a device, operated automatically or by the user, that discharges water to cleanse a water closet (toilet) pan, urinal or slop hopper.",
            "NOTDEFINED": "Undefined type.",
            "SANITARYFOUNTAIN": "A sanitary terminal that provides a low pressure jet of water for a specific purpose.",
            "SHOWER": "Installation or waste water appliance that emits a spray of water to wash the human body.",
            "SINK": "Waste water appliance for receiving, retaining or disposing of domestic, culinary, laboratory or industrial process liquids.",
            "TOILETPAN": "Soil appliance for the disposal of excrement.",
            "URINAL": "Soil appliance that receives urine and directs it to a waste outlet.",
            "USERDEFINED": "User-defined type.",
            "WASHHANDBASIN": "Waste water appliance for washing the upper parts of the body.",
            "WCSEAT": "[Deprecated] Hinged seat that fits on the top of a water closet (WC) pan."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSanitaryTerminalType.htm"
    },
    "IfcSchedulingTime": {
        "attributes": {
            "DataOrigin": "Specifies the origin of the scheduling time entity. It currently     differentiates between predicted, simulated, measured, and user defined values.",
            "Name": "Optional name for the time definition.",
            "UserDefinedDataOrigin": "Value of the data origin if DataOrigin attribute is USERDEFINED."
        },
        "description": "IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSchedulingTime.htm"
    },
    "IfcSeamCurve": {
        "description": "An IfcSeamCurve is a 3-dimensional curve that has additional representations provided by exactly two distinct pcurves describing the same curve at the two extreme ends of a closed parametric surface.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSeamCurve.htm"
    },
    "IfcSecondOrderPolynomialSpiral": {
        "attributes": {
            "ConstantTerm": "The constant that defines the constant term in the equation which defines the relation between curvature and arc length for the curve.",
            "LinearTerm": "The constant that defines the linear term in the equation which defines the relation between curvature and arc length for the curve.",
            "QuadraticTerm": "The constant that defines the quadratic term in the equation which defines the relation between curvature and arc length for the curve."
        },
        "description": "The IfcSecondOrderPolynomialSpiral is a specialization of IfcSpiral. The curvature _\u03ba_ and radius of the curvature _\u03c1_, at any point of the curve, are related to the arc length s by the second order formulae:\n>>\n>> ![formula](../../../../figures/ifcsecondorderpolynomialspiral_curvature.PNG)\n>>\n> Interpretation of the parameters:\n>>\n>>\n>> C = SELF\\IfcSpiral.Position.Location\n>> x = SELF\\IfcSpiral.Position.P[1]\n>> y = SELF\\IfcSpiral.Position.P[2]\n>> A<sub>2</sub> = QuadraticTerm\n>> A<sub>1</sub> = LinearTerm\n>> A<sub>0</sub> = ContantTerm\n>>\n> and the second order polynomial spiral is parameterized as:\n>>\n>> ![formula](../../../../figures/ifcspiral_parameterization.PNG)\n>>\n> where:\n>>\n>> ![formula](../../../../figures/ifcsecondorderpolynomialspiral_theta.PNG)\n>>\n> and the parametric range is: -&infin; < u < &infin;.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSecondOrderPolynomialSpiral.htm"
    },
    "IfcSectionProperties": {
        "attributes": {
            "EndProfile": "The cross section profile at the end point of the longitudinal section.",
            "SectionType": "An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction.",
            "StartProfile": "The cross section profile at the start point of the longitudinal section."
        },
        "description": "IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSectionProperties.htm"
    },
    "IfcSectionReinforcementProperties": {
        "attributes": {
            "CrossSectionReinforcementDefinitions": "The set of reinforcment properties attached to a section reinforcement properties definition.",
            "LongitudinalEndPosition": "The end position in longitudinal direction for the section reinforcement properties.",
            "LongitudinalStartPosition": "The start position in longitudinal direction for the section reinforcement properties.",
            "ReinforcementRole": "The role, purpose or usage of the reinforcement, i.e. the kind of loads and stresses it is intended to carry, defined for the section reinforcement properties.",
            "SectionDefinition": "Definition of the cross section profile and longitudinal section type.",
            "TransversePosition": "The position for the section reinforcement properties in transverse direction."
        },
        "description": "IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSectionReinforcementProperties.htm"
    },
    "IfcSectionedSolid": {
        "attributes": {
            "CrossSections": "List of cross sections in sequential order along the Directrix.",
            "Directrix": "The curve used to define the sweeping operation."
        },
        "description": "An IfcSectionedSolid is an abstract base type for solids constructed by sweeping potentially variable cross sections along a directrix.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSectionedSolid.htm"
    },
    "IfcSectionedSolidHorizontal": {
        "attributes": {
            "CrossSectionPositions": "Position coordinate systems in sequentially increasing order paired with CrossSections, indicating the position of the corresponding section along the Directrix."
        },
        "description": "An IfcSectionedSolidHorizontal is a solid model constructed by sweeping potentially varying cross sections along a curve horizontally.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSectionedSolidHorizontal.htm"
    },
    "IfcSectionedSpine": {
        "attributes": {
            "CrossSectionPositions": "Position coordinate systems for the cross sections that form the sectioned spine. The profiles defining the cross sections are positioned within the xy plane of the corresponding position coordinate system.",
            "CrossSections": "A list of at least two cross sections, each defined within the xy plane of the position coordinate system of the cross section. The position coordinate system is given by the corresponding list CrossSectionPositions.",
            "SpineCurve": "A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections."
        },
        "description": "An IfcSectionedSpine is a representation of the shape of a three dimensional object composed by a number of planar cross sections, and a spine curve. The shape is defined between the first element of cross sections and the last element of the cross sections. A sectioned spine may be used to represent a surface or a solid but the interpolation of the shape between the cross sections is not defined.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSectionedSpine.htm"
    },
    "IfcSectionedSurface": {
        "attributes": {
            "CrossSectionPositions": "List of positions in sequentially increasing order paired with CrossSections, indicating the position of the corresponding section along the Directrix.",
            "CrossSections": "List of cross sections in sequential order along the Directrix",
            "Directrix": "The curve used to define the sweeping operation"
        },
        "description": "A surface constructed by sweeping potentially varying open cross sections along a curve horizontally (or near horizontally). The surface is generated by sweeping the CrossSections between CrossSectionPositions; linear interpolation is assumed, unless transitions curves between cross section points are indicated by OpenCrossProfileDef.Tags.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSectionedSurface.htm"
    },
    "IfcSegment": {
        "attributes": {
            "Transition": "Connectivity between the continuous segments is not enforced per se to be tangential. Setting \"TangentialContinuity\" to True means that the current segment shall continue with tangential continuity to the previous one.",
            "UsingCurves": "The set of composite curves which use this composite curve segment as a segment. This set shall not be empty."
        },
        "description": "Definition of a curve segment with a trimming mechanism built in with a StartPlacement (first point) and SegmentLength (second point).\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSegment.htm"
    },
    "IfcSegmentedReferenceCurve": {
        "attributes": {
            "BaseCurve": "The basis curve providing a linear reference system for the segmented curve definition.",
            "EndPoint": "An explicit end placement providing a location and orientation of the segmented reference curve termination point."
        },
        "description": "The IfcSegmentedReferenceCurve is a curve defined in the linear parameter space of its base curve that is set in the attribute BaseCurve. The base curve provides a basis for the positioning of the collection of IfcCurveSegment occurrences. A deviating explicit position of a curve segment (IfcCurveSegment.Placement) from the axis of the base curve produces a superelevation i.e. depression or elevation from the axis of the base curve. The superelevation rate of change is directly proportionate to the curve segment parent curve curvature gradient equation (IfcCurveSegment.ParentCurve) in the linear parameter space of the base curve. If no deviation in the position of the curve segment to the base curve axis is specified, the axes (Axis and RefDirection) directions of IfcAxis2Placement are interpolated between the initial curve segment placement and the placement of the subsequent curve segment.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSegmentedReferenceCurve.htm"
    },
    "IfcSensor": {
        "description": "A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument.",
        "predefined_types": {
            "CO2SENSOR": "A device that senses or detects carbon dioxide.",
            "CONDUCTANCESENSOR": "A device that senses or detects electrical conductance.",
            "CONTACTSENSOR": "A device that senses or detects contact, such as for detecting if a door is closed.",
            "COSENSOR": "A device that senses or detects carbon monoxide.",
            "EARTHQUAKESENSOR": "A device that senses or detects the seismic wave and measures the seismic intensity in case of earthquake.",
            "FIRESENSOR": "A device that senses or detects fire",
            "FLOWSENSOR": "A device that senses or detects flow in a fluid.",
            "FOREIGNOBJECTDETECTIONSENSOR": "A device that senses or detects foreign objects that shock or break the power network. It may alarm when such accidents happen.",
            "FROSTSENSOR": "A device that senses or detects frost on a window.",
            "GASSENSOR": "A device that senses or detects gas concentration (other than CO2)",
            "HEATSENSOR": "A device that senses or detects heat.",
            "HUMIDITYSENSOR": "A device that senses or detects humidity.",
            "IDENTIFIERSENSOR": "A device that reads a tag, such as for gaining access to a door or elevator",
            "IONCONCENTRATIONSENSOR": "A device that senses or detects ion concentration, such as for water hardness.",
            "LEVELSENSOR": "A device that senses or detects fill level, such as for a tank.",
            "LIGHTSENSOR": "A device that senses or detects light.",
            "MOISTURESENSOR": "A device that senses or detects moisture.",
            "MOVEMENTSENSOR": "A device that senses or detects movement.",
            "NOTDEFINED": "Undefined type.",
            "OBSTACLESENSOR": "A device that senses or detects any obstacles. Examples are: detectors sensing objects falling from a bridge, rock-fall detectors, etc.",
            "PHSENSOR": "A device that senses or detects acidity.",
            "PRESSURESENSOR": "A device that senses or detects pressure.",
            "RADIATIONSENSOR": "A device that senses or detects pressure.",
            "RADIOACTIVITYSENSOR": "A device that senses or detects atomic decay.",
            "RAINSENSOR": "A device that senses or collects rainfall related information.",
            "SMOKESENSOR": "A device that senses or detects smoke.",
            "SNOWDEPTHSENSOR": "A device that senses or measures the depth of snowfall.",
            "SOUNDSENSOR": "A device that senses or detects sound.",
            "TEMPERATURESENSOR": "A device that senses or detects temperature.",
            "TRAINSENSOR": "A device, usually attached to the rear end of the last vehicle of a train, acting on a fixed equipment to give an indication that the train is complete.",
            "TURNOUTCLOSURESENSOR": "A device that senses or detects the position of a blade of a turnout.",
            "USERDEFINED": "User-defined type.",
            "WHEELSENSOR": "A device that senses or detects the passage of a wheel.",
            "WINDSENSOR": "A device that senses or detects airflow speed and direction."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSensor.htm"
    },
    "IfcSensorType": {
        "description": "The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include:",
        "predefined_types": {
            "CO2SENSOR": "A device that senses or detects carbon dioxide.",
            "CONDUCTANCESENSOR": "A device that senses or detects electrical conductance.",
            "CONTACTSENSOR": "A device that senses or detects contact, such as for detecting if a door is closed.",
            "COSENSOR": "A device that senses or detects carbon monoxide.",
            "EARTHQUAKESENSOR": "A device that senses or detects the seismic wave and measures the seismic intensity in case of earthquake.",
            "FIRESENSOR": "A device that senses or detects fire",
            "FLOWSENSOR": "A device that senses or detects flow in a fluid.",
            "FOREIGNOBJECTDETECTIONSENSOR": "A device that senses or detects foreign objects that shock or break the power network. It may alarm when such accidents happen.",
            "FROSTSENSOR": "A device that senses or detects frost on a window.",
            "GASSENSOR": "A device that senses or detects gas concentration (other than CO2)",
            "HEATSENSOR": "A device that senses or detects heat.",
            "HUMIDITYSENSOR": "A device that senses or detects humidity.",
            "IDENTIFIERSENSOR": "A device that reads a tag, such as for gaining access to a door or elevator",
            "IONCONCENTRATIONSENSOR": "A device that senses or detects ion concentration, such as for water hardness.",
            "LEVELSENSOR": "A device that senses or detects fill level, such as for a tank.",
            "LIGHTSENSOR": "A device that senses or detects light.",
            "MOISTURESENSOR": "A device that senses or detects moisture.",
            "MOVEMENTSENSOR": "A device that senses or detects movement.",
            "NOTDEFINED": "Undefined type.",
            "OBSTACLESENSOR": "A device that senses or detects any obstacles. Examples are: detectors sensing objects falling from a bridge, rock-fall detectors, etc.",
            "PHSENSOR": "A device that senses or detects acidity.",
            "PRESSURESENSOR": "A device that senses or detects pressure.",
            "RADIATIONSENSOR": "A device that senses or detects pressure.",
            "RADIOACTIVITYSENSOR": "A device that senses or detects atomic decay.",
            "RAINSENSOR": "A device that senses or collects rainfall related information.",
            "SMOKESENSOR": "A device that senses or detects smoke.",
            "SNOWDEPTHSENSOR": "A device that senses or measures the depth of snowfall.",
            "SOUNDSENSOR": "A device that senses or detects sound.",
            "TEMPERATURESENSOR": "A device that senses or detects temperature.",
            "TRAINSENSOR": "A device, usually attached to the rear end of the last vehicle of a train, acting on a fixed equipment to give an indication that the train is complete.",
            "TURNOUTCLOSURESENSOR": "A device that senses or detects the position of a blade of a turnout.",
            "USERDEFINED": "User-defined type.",
            "WHEELSENSOR": "A device that senses or detects the passage of a wheel.",
            "WINDSENSOR": "A device that senses or detects airflow speed and direction."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSensorType.htm"
    },
    "IfcSeventhOrderPolynomialSpiral": {
        "attributes": {
            "ConstantTerm": "The constant that defines the constant term in the equation which defines the relation between curvature and arc length for the curve.",
            "CubicTerm": "The constant that defines the cubic term in the equation which defines the relation between curvature and arc length for the curve.",
            "LinearTerm": "The constant that defines the linear term in the equation which defines the relation between curvature and arc length for the curve.",
            "QuadraticTerm": "The constant that defines the quadratic term in the equation which defines the relation between curvature and arc length for the curve.",
            "QuarticTerm": "The constant that defines the quartic term in the equation which defines the relation between curvature and arc length for the curve.",
            "QuinticTerm": "The constant that defines the quintic term in the equation which defines the relation between curvature and arc length for the curve.",
            "SepticTerm": "The constant that defines the septic term in the equation which defines the relation between curvature and arc length for the curve.",
            "SexticTerm": "The constant that defines the sextic term in the equation which defines the relation between curvature and arc length for the curve."
        },
        "description": "The IfcSeventhOrderPolynomialSpiral is a specialization of IfcSpiral. The curvature _\u03ba_ and radius of the curvature _\u03c1_, at any point of the curve, are related to the arc length s by the seventh order formulae:\n>>\n>> ![formula](../../../../figures/ifcseventhorderpolynomialspiral_curvature.PNG)\n>>\n> Interpretation of the parameters:\n>>\n>>\n>> C = SELF\\IfcSpiral.Position.Location\n>> x = SELF\\IfcSpiral.Position.P[1]\n>> y = SELF\\IfcSpiral.Position.P[2]\n>> A<sub>7</sub> = SepticTerm\n>> A<sub>6</sub> = SexticTerm\n>> A<sub>5</sub> = QuinticTerm\n>> A<sub>4</sub> = QuarticTerm\n>> A<sub>3</sub> = CubicTerm\n>> A<sub>2</sub> = QuadraticTerm\n>> A<sub>1</sub> = LinearTerm\n>> A<sub>0</sub> = ContantTerm\n>>\n> and the seventh order polynomial spiral is parameterized as:\n>>\n>> ![formula](../../../../figures/ifcspiral_parameterization.PNG)\n>>\n> where:\n>>\n>> ![formula](../../../../figures/ifcseventhorderpolynomialspiral_theta.PNG)\n>>\n> and the parametric range is: -&infin; < u < &infin;.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSeventhOrderPolynomialSpiral.htm"
    },
    "IfcShadingDevice": {
        "description": "Shading devices are purpose built devices to protect from the sunlight, from natural light, or screening them from view. Shading devices can form part of the facade or can be mounted inside the building, they can be fixed or operable.",
        "predefined_types": {
            "AWNING": "A rooflike shelter of canvas or other material extending over a doorway, from the top of a window, over a deck, or similar, in order to provide protection, as from the sun.",
            "JALOUSIE": "A blind with adjustable horizontal slats for admitting light and air while excluding direct sun and rain.",
            "NOTDEFINED": "",
            "SHUTTER": "A mechanical devices that limits the passage of light. Often used as a a solid or louvered movable cover for a window.",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcShadingDevice.htm"
    },
    "IfcShadingDeviceType": {
        "description": "The building element type IfcShadingDeviceType defines commonly shared information for occurrences of shading devices. The set of shared information may include:",
        "predefined_types": {
            "AWNING": "A rooflike shelter of canvas or other material extending over a doorway, from the top of a window, over a deck, or similar, in order to provide protection, as from the sun.",
            "JALOUSIE": "A blind with adjustable horizontal slats for admitting light and air while excluding direct sun and rain.",
            "NOTDEFINED": "",
            "SHUTTER": "A mechanical devices that limits the passage of light. Often used as a a solid or louvered movable cover for a window.",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcShadingDeviceType.htm"
    },
    "IfcShapeAspect": {
        "attributes": {
            "Description": "The word or group of words that characterize the shape aspect. It can be used to add additional meaning to the name of the aspect.",
            "HasExternalReferences": "",
            "Name": "The word or group of words by which the shape aspect is known. It is a tag to indicate the particular semantic of a component within the product definition shape, used to provide meaning. Example: use the tag \"Glazing\" to define which component of a window shape defines the glazing area.",
            "PartOfProductDefinitionShape": "",
            "ProductDefinitional": "",
            "ShapeRepresentations": "List of ~~shape~~ representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition."
        },
        "description": "IfcShapeAspect allows for grouping of shape representation items that represent aspects (or components) of the shape of a product. Thereby shape representations of components of the product shape represent a distinctive part to a product that can be explicitly addressed.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcShapeAspect.htm"
    },
    "IfcShapeModel": {
        "attributes": {
            "OfShapeAspect": "Reference to the shape aspect, for which it is the shape representation."
        },
        "description": "IfcShapeModel represents the concept of a particular geometric and/or topological representation of a product's shape or a product component's shape within a representation context. This representation context has to be a geometric representation context (with the exception of topology representations without associated geometry). The two subtypes are IfcShapeRepresentation to cover geometric models that represent a shape, and IfcTopologyRepresentation to cover the connectivity of a product or product component. The topology may or may not have geometry associated.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcShapeModel.htm"
    },
    "IfcShapeRepresentation": {
        "description": "The IfcShapeRepresentation represents the concept of a particular geometric representation of a product or a product component within a specific geometric representation context. The inherited attribute RepresentationType is used to define the geometric model used for the shape representation (e.g. 'SweptSolid', or 'Brep'), the inherited attribute RepresentationIdentifier is used to denote the kind of the representation captured by the IfcShapeRepresentation (e.g. 'Axis', 'Body', etc.).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcShapeRepresentation.htm"
    },
    "IfcShellBasedSurfaceModel": {
        "attributes": {
            "SbsmBoundary": ""
        },
        "description": "An IfcShellBasedSurfaceModel represents the shape by a set of open or closed shells. The connected faces within the shell have a dimensionality 2 and are placed in a coordinate space of dimensionality 3.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcShellBasedSurfaceModel.htm"
    },
    "IfcSign": {
        "description": "A sign is a notice on display that gives information or instructions in a written, symbolic or other form. Signs are passive with the most common form of a pictorial panel. An instance of IfcSign refers to the occurrence of an individual panel which can be applied to a surface such as a wall or be aggregated within a Signal Assembly which can include multiple sign occurrences and the associated supporting structural elements (see Signal Assembly for examples).\n",
        "predefined_types": {
            "MARKER": "A Sign type formed of a vertical post (possibly with some lettering or symbols) usually used to delimitate distance or the location of some equipment.",
            "MIRROR": "A sign type that provides information via a reflective mirror surface.",
            "NOTDEFINED": "Undefined type.",
            "PICTORAL": "A sign type formed of a flat plate with some written or symbolic images on it.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSign.htm"
    },
    "IfcSignType": {
        "description": "The IfcSignType provides the type information for IfcSign occurrences.\nA sign is a notice on display that gives information or instructions in a written, symbolic or other form. Signs are passive with the most common form of a pictorial panel.\n",
        "predefined_types": {
            "MARKER": "A Sign type formed of a vertical post (possibly with some lettering or symbols) usually used to delimitate distance or the location of some equipment.",
            "MIRROR": "A sign type that provides information via a reflective mirror surface.",
            "NOTDEFINED": "Undefined type.",
            "PICTORAL": "A sign type formed of a flat plate with some written or symbolic images on it.",
            "USERDEFINED": "User-defined type"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSignType.htm"
    },
    "IfcSignal": {
        "description": "A signal is an active device that conveys information or instructions to users, by means of an audio, visual signal or a combination of both.\nThe primary distinction from an IfcSign is that a signal is active and therefore a subtype of IfcFlowTerminal usually requiring power and data connections for its operation.\nAn instance of IfcSignal represents a singular signalling device in a larger assembled unit or connected system, such as an individual frame within a railway signal, a single light unit in a traffic light system or an audio signal or light mounted on a navigational buoy.\nSignals can be physically aggregated together into an assembly which can include multiple signal instances (and also sign instances) and the associated supporting structural elements such as a simple pole or a rigid frame gantry (see Signal Assembly for examples).\nSignals can be logically (functionally) grouped together into a signalling system (a type of distribution system) to represent a connected  group of signals for example a group of traffic lights controlling an road intersection.\n",
        "predefined_types": {
            "AUDIO": "A signal type formed of an active device conveying information by emitting an audio signal such as a  beep, ring, horn or explosive sound.",
            "MIXED": "A signal type formed of an active device conveying information in both a visual and audio manner.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type",
            "VISUAL": "A signal type formed of an active device conveying information in a visual manner such as a light, cluster of lights, or mechanical moving shapes."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSignal.htm"
    },
    "IfcSignalType": {
        "description": "The IfcSignalType  provides the type information for IfcSignal occurrences.\nA signal is an active device that conveys information or instructions to users, by means of an audio, visual signal or a combination of the 2.\n",
        "predefined_types": {
            "AUDIO": "A signal type formed of an active device conveying information by emitting an audio signal such as a  beep, ring, horn or explosive sound.",
            "MIXED": "A signal type formed of an active device conveying information in both a visual and audio manner.",
            "NOTDEFINED": "Undefined type.",
            "USERDEFINED": "User-defined type",
            "VISUAL": "A signal type formed of an active device conveying information in a visual manner such as a light, cluster of lights, or mechanical moving shapes."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSignalType.htm"
    },
    "IfcSimpleProperty": {
        "description": "IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSimpleProperty.htm"
    },
    "IfcSimplePropertyTemplate": {
        "attributes": {
            "AccessState": "Information about the access state of the property. It determines whether a property be viewed and/or modified by any receiving application without specific knowledge of it.",
            "Enumerators": "Name of the property enumeration, and list of all valid enumerators being selectable values, assigned to the definition of the property. This attribute shall only be provided, if the PropertyType is set to: * P_ENUMERATEDVALUE",
            "Expression": "The expression used to store additional information for the property template depending on the PropertyType. It should the following definitions, if the PropertyType is set to: * P_TABLEVALUE: the expression that could be evaluated to define the correlation between the defining values and the defined values. * Q_LENGTH, Q_AREA, Q_VOLUME, Q_COUNT, Q_WEIGTH, Q_TIME: the formula to be used to calculate the quantity",
            "PrimaryMeasureType": "Primary measure type assigned to the definition of the property. It should be provided, if the PropertyType is set to: * P_SINGLEVALUE: determining the measure type of IfcPropertySingleValue.NominalValue * P_ENUMERATEDVALUE: determining the measure type of IfcPropertyEnumeratedValue.EnumerationValues * P_BOUNDEDVALUE: determining the measure type of IfcPropertyBoundedValue.LowerBoundValue * P_LISTVALUE: determining the measure type of IfcPropertyListValue.ListValues * P_TABLEVALUE: determining the measure type of IfcPropertyTableValue.DefiningValues * P_REFERENCEVALUE: determining the measure type of IfcPropertyTableValue.PropertyReference",
            "PrimaryUnit": "Primary unit assigned to the definition of the property. It should be provided, if the PropertyType is set to: * P_SINGLEVALUE: determining the IfcPropertySingleValue.Unit * P_ENUMERATEDVALUE: determining the IfcPropertyEnumeration.Unit * P_BOUNDEDVALUE: determining the IfcPropertyBoundedValue.Unit * P_LISTVALUE: determining the IfcPropertyListValue.Unit * P_TABLEVALUE: determining the IfcPropertyTableValue.DefiningUnit",
            "SecondaryMeasureType": "Secondary measure type assigned to the definition of the property. It should be provided, if the PropertyType is set to: * P_BOUNDEDVALUE: determining the measure type of IfcPropertyBoundedValue.UpperBoundValue * P_TABLEVALUE: determining the measure type of IfcPropertyTableValue.DefinedValues",
            "SecondaryUnit": "Secondary unit assigned to the definition of the property. It should be provided, if the PropertyType is set to: * P_TABLEVALUE: determining the IfcPropertyTableValue.DefinedUnit",
            "TemplateType": "Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value."
        },
        "description": "The IfcSimplePropertyTemplate defines the template for all dynamically extensible properties, either the subtypes of IfcSimpleProperty, or the subtypes of IfcPhysicalSimpleQuantity. The individual property templates are interpreted according to their Name attribute and may have a predefined template type, property units, and property measure types. The correct interpretation of the attributes:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSimplePropertyTemplate.htm"
    },
    "IfcSineSpiral": {
        "attributes": {
            "ConstantTerm": "",
            "LinearTerm": "",
            "SineTerm": ""
        },
        "description": "A type of spiral curve for which the curvature change is dependent on the sine function. It is also known as the Klein curve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSineSpiral.htm"
    },
    "IfcSite": {
        "attributes": {
            "LandTitleNumber": "The land title number (designation of the site within a regional system).",
            "RefElevation": "Datum elevation relative to sea level.",
            "RefLatitude": "World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84.",
            "RefLongitude": "World Longitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84.",
            "SiteAddress": "Address given to the site for postal purposes."
        },
        "description": "A site is a defined area of land, possibly covered with water, on which the project construction is to be completed. A site may be used to erect, retrofit or turn down building(s), or for other construction related developments.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSite.htm"
    },
    "IfcSlab": {
        "description": "A slab is a component of the construction that may enclose a space vertically. The slab may provide the lower support (floor) or upper construction (roof slab) in any space in a building.",
        "predefined_types": {
            "APPROACH_SLAB": "Iis part of bridge abutment providing transition from embankment to the bridge",
            "BASESLAB": "The slab is used to represent a floor slab against the ground (and thereby being a part of the foundation). Another name is mat foundation.",
            "FLOOR": "The slab is used to represent a floor slab or a bridge deck.",
            "LANDING": "The slab is used to represent a landing within a stair or ramp.",
            "NOTDEFINED": "",
            "PAVING": "Rigid pavement course of a road or other paved area, usually concrete.",
            "ROOF": "The slab is used to represent a roof slab (either flat or sloped).",
            "SIDEWALK": "The slab is used to represent a sidewalk.",
            "TRACKSLAB": "A track slab is a reinforced concrete slab or prestressed reinforced concrete slab, which is a main element of slab track. It can be prefabricated or cast on site and may have sleepers embedded.",
            "USERDEFINED": "",
            "WEARING": "The slab is used to represent a wearing surface."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSlab.htm"
    },
    "IfcSlabType": {
        "description": "The element type IfcSlabType defines commonly shared information for occurrences of slabs. The set of shared information may include:",
        "predefined_types": {
            "APPROACH_SLAB": "Iis part of bridge abutment providing transition from embankment to the bridge",
            "BASESLAB": "The slab is used to represent a floor slab against the ground (and thereby being a part of the foundation). Another name is mat foundation.",
            "FLOOR": "The slab is used to represent a floor slab or a bridge deck.",
            "LANDING": "The slab is used to represent a landing within a stair or ramp.",
            "NOTDEFINED": "",
            "PAVING": "Rigid pavement course of a road or other paved area, usually concrete.",
            "ROOF": "The slab is used to represent a roof slab (either flat or sloped).",
            "SIDEWALK": "The slab is used to represent a sidewalk.",
            "TRACKSLAB": "A track slab is a reinforced concrete slab or prestressed reinforced concrete slab, which is a main element of slab track. It can be prefabricated or cast on site and may have sleepers embedded.",
            "USERDEFINED": "",
            "WEARING": "The slab is used to represent a wearing surface."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSlabType.htm"
    },
    "IfcSlippageConnectionCondition": {
        "attributes": {
            "SlippageX": "Slippage in x-direction of the coordinate system defined by the instance which uses this resource object.",
            "SlippageY": "Slippage in y-direction of the coordinate system defined by the instance which uses this resource object.",
            "SlippageZ": "Slippage in z-direction of the coordinate system defined by the instance which uses this resource object."
        },
        "description": "Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSlippageConnectionCondition.htm"
    },
    "IfcSolarDevice": {
        "description": "A solar device converts solar radiation into other energy such as electric current or thermal energy.",
        "predefined_types": {
            "NOTDEFINED": "Undefined type.",
            "SOLARCOLLECTOR": "A device that converts solar radiation into thermal energy (heating water, etc.).",
            "SOLARPANEL": "A device that converts solar radiation into electric current.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSolarDevice.htm"
    },
    "IfcSolarDeviceType": {
        "description": "The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include:",
        "predefined_types": {
            "NOTDEFINED": "Undefined type.",
            "SOLARCOLLECTOR": "A device that converts solar radiation into thermal energy (heating water, etc.).",
            "SOLARPANEL": "A device that converts solar radiation into electric current.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSolarDeviceType.htm"
    },
    "IfcSolidModel": {
        "description": "An IfcSolidModel represents the 3D shape by different types of solid model representations. It is the common abstract supertype of Boundary representation, CSG representation, Sweeping representation and other suitable solid representation schemes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSolidModel.htm"
    },
    "IfcSpace": {
        "attributes": {
            "BoundedBy": "Reference to a set of IfcRelSpaceBoundary's that defines the physical or virtual delimitation of that space against physical or virtual boundaries.",
            "ElevationWithFlooring": "Level of flooring of this space; the average shall be taken, if the space ground surface is sloping or if there are level differences within this space.",
            "HasCoverings": "Reference to IfcCovering by virtue of the objectified relationship IfcRelCoversSpaces. It defines the concept of a space having coverings assigned. Those coverings may represent different flooring, or tiling areas."
        },
        "description": "A space represents an area or volume bounded actually or theoretically. Spaces are areas or volumes that provide for certain functions within a building.",
        "predefined_types": {
            "BERTH": "A space dedicated to the berthing of vessels within a port or managed area",
            "EXTERNAL": "",
            "GFA": "Gross Floor Area - a specific kind of space for each building story that includes all net area and construction area (also the external envelop). Provision of such a specific space is often required by regulations.",
            "INTERNAL": "",
            "NOTDEFINED": "",
            "PARKING": "A space dedication for use as a parking spot for vehicles, including access, such as a parking aisle.",
            "SPACE": "Any space not falling into another category.",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSpace.htm"
    },
    "IfcSpaceHeater": {
        "description": "Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters.",
        "predefined_types": {
            "CONVECTOR": "A heat-distributing unit that operates with gravity-circulated air.",
            "NOTDEFINED": "Undefined space heater type.",
            "RADIATOR": "A heat-distributing unit that operates with thermal radiation.",
            "USERDEFINED": "User-defined space heater type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSpaceHeater.htm"
    },
    "IfcSpaceHeaterType": {
        "description": "The flow terminal type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include:",
        "predefined_types": {
            "CONVECTOR": "A heat-distributing unit that operates with gravity-circulated air.",
            "NOTDEFINED": "Undefined space heater type.",
            "RADIATOR": "A heat-distributing unit that operates with thermal radiation.",
            "USERDEFINED": "User-defined space heater type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSpaceHeaterType.htm"
    },
    "IfcSpaceType": {
        "attributes": {
            "LongName": "Long name for a space type, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute."
        },
        "description": "A space represents an area or volume bounded actually or theoretically. Spaces are areas or volumes that provide for certain functions within a building.",
        "predefined_types": {
            "BERTH": "A space dedicated to the berthing of vessels within a port or managed area",
            "EXTERNAL": "",
            "GFA": "Gross Floor Area - a specific kind of space for each building story that includes all net area and construction area (also the external envelop). Provision of such a specific space is often required by regulations.",
            "INTERNAL": "",
            "NOTDEFINED": "",
            "PARKING": "A space dedication for use as a parking spot for vehicles, including access, such as a parking aisle.",
            "SPACE": "Any space not falling into another category.",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSpaceType.htm"
    },
    "IfcSpatialElement": {
        "attributes": {
            "ContainsElements": "Set of spatial containment relationships, that holds those elements, which are contained within this element of the project spatial structure.",
            "InterferesElements": "Reference to the interference relationship to indicate the spatial element that interferes. The relationship, if provided, indicates that this spatial element has an interference with one or many other spatial elements.",
            "IsInterferedByElements": "Reference to the interference relationship to indicate the spatial element that is interfered. The relationship, if provided, indicates that this spatial element has an interference with one or many other spatial elements.",
            "LongName": "Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute.",
            "ReferencesElements": "Set of spatial reference relationships, that holds those elements, which are referenced, but not contained, within this element of the project spatial structure.",
            "ServicedBySystems": "Set of relationships to systems, that provides a certain service to the spatial element for which it is defined. The relationship is handled by the objectified relationship IfcRelServicesBuildings."
        },
        "description": "A spatial element is the generalization of all spatial elements that might be used to define a spatial structure or to define spatial zones.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSpatialElement.htm"
    },
    "IfcSpatialElementType": {
        "attributes": {
            "ElementType": "The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED."
        },
        "description": "IfcSpatialElementType defines a list of commonly shared property set definitions of a spatial structure element and an optional set of product representations. It is used to define a spatial element specification (the specific element information, that is common to all occurrences of that element type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSpatialElementType.htm"
    },
    "IfcSpatialStructureElement": {
        "attributes": {
            "CompositionType": "Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the default value ''ELEMENT'' applies.\\X\\0D \\X\\0D"
        },
        "description": "A spatial structure element is the generalization of all spatial elements that might be used to define a spatial structure. That spatial structure is often used to provide a project structure to organize a building project.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSpatialStructureElement.htm"
    },
    "IfcSpatialStructureElementType": {
        "description": "The element type (IfcSpatialStructureElementType) defines a list of commonly shared property set definitions of a spatial structure element and an optional set of product representations. It is used to define an element specification (i.e. the specific element information, that is common to all occurrences of that element type).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSpatialStructureElementType.htm"
    },
    "IfcSpatialZone": {
        "description": "A spatial zone is a non-hierarchical and potentially overlapping decomposition of the project under some functional consideration. A spatial zone might be used to represent a thermal zone, a construction zone, a lighting zone, a usable area zone. A spatial zone might have its independent placement and shape representation.",
        "predefined_types": {
            "CONSTRUCTION": "The spatial zone is used to represent a construction zone for the production process.",
            "FIRESAFETY": "The spatial zone is used to represent a fire safety zone, or fire compartment.",
            "INTERFERENCE": "The spatial zone is used to define an interference between IfcSpatialElement occurrences.",
            "LIGHTING": "The spatial zone is used to represent a lighting zone; a daylight zone, or an artificial lighting zone.",
            "NOTDEFINED": "Undefined type spatial zone.",
            "OCCUPANCY": "The spatial zone is used to represent a zone of particular occupancy.",
            "RESERVATION": "A spatial zone that marks some sort of reservation within the project extent.",
            "SECURITY": "The spatial zone is used to represent a zone for security planning and maintenance work.",
            "THERMAL": "The spatial zone is used to represent a thermal zone.",
            "TRANSPORT": "",
            "USERDEFINED": "User defined type spatial zone.",
            "VENTILATION": "The spatial zone is used to represent a ventilation zone."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSpatialZone.htm"
    },
    "IfcSpatialZoneType": {
        "attributes": {
            "LongName": "Long name for a spatial zone type, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute."
        },
        "description": "The IfcSpatialZoneType defines a list of commonly shared property set definitions of a space and an optional set of product representations. It is used to define a space specification (i.e. the specific space information, that is common to all occurrences of that space type).",
        "predefined_types": {
            "CONSTRUCTION": "The spatial zone is used to represent a construction zone for the production process.",
            "FIRESAFETY": "The spatial zone is used to represent a fire safety zone, or fire compartment.",
            "INTERFERENCE": "The spatial zone is used to define an interference between IfcSpatialElement occurrences.",
            "LIGHTING": "The spatial zone is used to represent a lighting zone; a daylight zone, or an artificial lighting zone.",
            "NOTDEFINED": "Undefined type spatial zone.",
            "OCCUPANCY": "The spatial zone is used to represent a zone of particular occupancy.",
            "RESERVATION": "A spatial zone that marks some sort of reservation within the project extent.",
            "SECURITY": "The spatial zone is used to represent a zone for security planning and maintenance work.",
            "THERMAL": "The spatial zone is used to represent a thermal zone.",
            "TRANSPORT": "",
            "USERDEFINED": "User defined type spatial zone.",
            "VENTILATION": "The spatial zone is used to represent a ventilation zone."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSpatialZoneType.htm"
    },
    "IfcSphere": {
        "attributes": {
            "Radius": "The radius of the sphere."
        },
        "description": "The IfcSphere is a Construction Solid Geometry (CSG) 3D primitive. It is a solid where all points at the surface have the same distance from the center point. The inherited Position attribute defines the IfcAxisPlacement3D and provides:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSphere.htm"
    },
    "IfcSphericalSurface": {
        "attributes": {
            "Radius": "The radius of the sphere."
        },
        "description": "The IfcSphericalSurface is a bounded elementary surface. The inherited Position attribute defines the IfcAxisPlacement3D and provides:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSphericalSurface.htm"
    },
    "IfcSpiral": {
        "attributes": {
            "Position": ""
        },
        "description": "Spirals are curves that revolve around a point while increasing its length. In general, these curves are parameterized in the following way:\nx = r(\u03c6) cos\u03c6\ny = r(\u03c6) sin\u03c6",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSpiral.htm"
    },
    "IfcStackTerminal": {
        "description": "A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering).",
        "predefined_types": {
            "BIRDCAGE": "Guard cage, typically wire mesh, at the top of the stack preventing access by birds.",
            "COWL": "A cowling placed at the top of a stack to eliminate downdraft.",
            "NOTDEFINED": "Undefined type.",
            "RAINWATERHOPPER": "A box placed at the top of a rainwater downpipe to catch rainwater from guttering.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStackTerminal.htm"
    },
    "IfcStackTerminalType": {
        "description": "The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include:",
        "predefined_types": {
            "BIRDCAGE": "Guard cage, typically wire mesh, at the top of the stack preventing access by birds.",
            "COWL": "A cowling placed at the top of a stack to eliminate downdraft.",
            "NOTDEFINED": "Undefined type.",
            "RAINWATERHOPPER": "A box placed at the top of a rainwater downpipe to catch rainwater from guttering.",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStackTerminalType.htm"
    },
    "IfcStair": {
        "description": "A stair is a vertical passageway allowing occupants to walk (step) from one floor level to another floor level at a different elevation. It may include a landing as an intermediate floor slab.",
        "predefined_types": {
            "CURVED_RUN_STAIR": "A stair extending from one level to another without turns or winders. The stair is consisting of one curved flight.",
            "DOUBLE_RETURN_STAIR": "A stair having one straight flight to a wide quarterspace landing, and two side flights from that landing into opposite directions. The stair is making a 90\u00b0 turn. The direction of traffic is determined by the walking line.",
            "HALF_TURN_STAIR": "A stair making a 180\u00b0 turn, consisting of two straight flights connected",
            "HALF_WINDING_STAIR": "A stair consisting of one flight with one half winder, which makes a 180\u00b0 turn. The orientation of the turn is determined by the walking line.",
            "LADDER": "a piece of equipment consisting of a series of bars or steps between two upright elements used for climbing up or down something",
            "NOTDEFINED": "",
            "QUARTER_TURN_STAIR": "A stair making a 90\u00b0 turn, consisting of two straight flights connected by a quarterspace landing. The direction of the turn is determined by the walking line.",
            "QUARTER_WINDING_STAIR": "A stair consisting of one flight with a quarter winder, which is making a 90\u00b0 turn. The direction of the turn is determined by the walking line.",
            "SPIRAL_STAIR": "A stair constructed with winders around a circular newel often without landings. Depending on outer boundary it can be either a circular, elliptical or rectangular spiral stair. The orientation of the winding stairs is determined by the walking line.",
            "STRAIGHT_RUN_STAIR": "A stair extending from one level to another without turns or winders. The stair consists of one straight flight.",
            "THREE_QUARTER_TURN_STAIR": "A stair making a 270\u00b0 turn, consisting of four straight flights connected by three quarterspace landings. The direction of the turns is determined by the walking line.",
            "THREE_QUARTER_WINDING_STAIR": "A stair consisting of one flight with three quarter winders, which make a 90\u00b0 turn. The stair makes a 270\u00b0 turn. The direction of the turns is determined by the walking line.",
            "TWO_CURVED_RUN_STAIR": "A curved stair consisting of two curved flights without turns but with one landing.",
            "TWO_QUARTER_TURN_STAIR": "A stair making a 180\u00b0 turn, consisting of three straight flights connected by two quarterspace landings. The direction of the turns is determined by the walking line.",
            "TWO_QUARTER_WINDING_STAIR": "A stair consisting of one flight with two quarter winders, which make a 90\u00b0 turn. The stair makes a 180\u00b0 turn. The direction of the turns is determined by the walking line.",
            "TWO_STRAIGHT_RUN_STAIR": "A straight stair consisting of two straight flights without turns but with one landing.",
            "USERDEFINED": "Free form stair (user defined operation type)."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStair.htm"
    },
    "IfcStairFlight": {
        "attributes": {
            "NumberOfRisers": "Number of the risers included in the stair flight",
            "NumberOfTreads": "Number of treads included in the stair flight.",
            "RiserHeight": "Vertical distance from tread to tread. The riser height is supposed to be equal for all stairs in a stair flight.",
            "TreadLength": "Horizontal distance from the front to the back of the tread. The tread length is supposed to be equal for all steps of the stair flight."
        },
        "description": "A stair flight is an assembly of building components in a single \"run\" of stair steps (not interrupted by a landing). The stair steps and any stringers are included in the stair flight. A winder is also regarded a part of a stair flight.",
        "predefined_types": {
            "CURVED": "A stair flight with a curved walking line.",
            "FREEFORM": "A stair flight with a free form walking line (and outer boundaries).",
            "NOTDEFINED": "Undefined stair flight.",
            "SPIRAL": "A stair flight with a circular or elliptic walking line.",
            "STRAIGHT": "A stair flight with a straight walking line.",
            "USERDEFINED": "User-defined stair flight.",
            "WINDER": "A stair flight with a walking line including straight and curved sections."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStairFlight.htm"
    },
    "IfcStairFlightType": {
        "description": "The building element type IfcStairFlightType defines commonly shared information for occurrences of stair flights. The set of shared information may include:",
        "predefined_types": {
            "CURVED": "A stair flight with a curved walking line.",
            "FREEFORM": "A stair flight with a free form walking line (and outer boundaries).",
            "NOTDEFINED": "Undefined stair flight.",
            "SPIRAL": "A stair flight with a circular or elliptic walking line.",
            "STRAIGHT": "A stair flight with a straight walking line.",
            "USERDEFINED": "User-defined stair flight.",
            "WINDER": "A stair flight with a walking line including straight and curved sections."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStairFlightType.htm"
    },
    "IfcStairType": {
        "description": "The building element type IfcStairType defines commonly shared information for occurrences of stairs. The set of shared information may include:",
        "predefined_types": {
            "CURVED_RUN_STAIR": "A stair extending from one level to another without turns or winders. The stair is consisting of one curved flight.",
            "DOUBLE_RETURN_STAIR": "A stair having one straight flight to a wide quarterspace landing, and two side flights from that landing into opposite directions. The stair is making a 90\u00b0 turn. The direction of traffic is determined by the walking line.",
            "HALF_TURN_STAIR": "A stair making a 180\u00b0 turn, consisting of two straight flights connected",
            "HALF_WINDING_STAIR": "A stair consisting of one flight with one half winder, which makes a 180\u00b0 turn. The orientation of the turn is determined by the walking line.",
            "LADDER": "a piece of equipment consisting of a series of bars or steps between two upright elements used for climbing up or down something",
            "NOTDEFINED": "",
            "QUARTER_TURN_STAIR": "A stair making a 90\u00b0 turn, consisting of two straight flights connected by a quarterspace landing. The direction of the turn is determined by the walking line.",
            "QUARTER_WINDING_STAIR": "A stair consisting of one flight with a quarter winder, which is making a 90\u00b0 turn. The direction of the turn is determined by the walking line.",
            "SPIRAL_STAIR": "A stair constructed with winders around a circular newel often without landings. Depending on outer boundary it can be either a circular, elliptical or rectangular spiral stair. The orientation of the winding stairs is determined by the walking line.",
            "STRAIGHT_RUN_STAIR": "A stair extending from one level to another without turns or winders. The stair consists of one straight flight.",
            "THREE_QUARTER_TURN_STAIR": "A stair making a 270\u00b0 turn, consisting of four straight flights connected by three quarterspace landings. The direction of the turns is determined by the walking line.",
            "THREE_QUARTER_WINDING_STAIR": "A stair consisting of one flight with three quarter winders, which make a 90\u00b0 turn. The stair makes a 270\u00b0 turn. The direction of the turns is determined by the walking line.",
            "TWO_CURVED_RUN_STAIR": "A curved stair consisting of two curved flights without turns but with one landing.",
            "TWO_QUARTER_TURN_STAIR": "A stair making a 180\u00b0 turn, consisting of three straight flights connected by two quarterspace landings. The direction of the turns is determined by the walking line.",
            "TWO_QUARTER_WINDING_STAIR": "A stair consisting of one flight with two quarter winders, which make a 90\u00b0 turn. The stair makes a 180\u00b0 turn. The direction of the turns is determined by the walking line.",
            "TWO_STRAIGHT_RUN_STAIR": "A straight stair consisting of two straight flights without turns but with one landing.",
            "USERDEFINED": "Free form stair (user defined operation type)."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStairType.htm"
    },
    "IfcStructuralAction": {
        "attributes": {
            "DestabilizingLoad": "Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary."
        },
        "description": "A structural action is a structural activity that acts upon a structural item or building element.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralAction.htm"
    },
    "IfcStructuralActivity": {
        "attributes": {
            "AppliedLoad": "Load or result resource object which defines the load type, direction, and load values.",
            "AssignedToStructuralItem": "Reference to the IfcRelConnectsStructuralActivity relationship by which activities are connected with structural items.",
            "GlobalOrLocal": "Indicates whether the load directions refer to the global coordinate system (global to the analysis model, i.e. as established by IfcStructuralAnalysisModel.SharedPlacement) or to the local coordinate system (local to the activity or connected item, as established by an explicit or implied representation and its parameter space)."
        },
        "description": "The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralActivity.htm"
    },
    "IfcStructuralAnalysisModel": {
        "attributes": {
            "HasResults": "",
            "LoadedBy": "",
            "OrientationOf2DPlane": "",
            "SharedPlacement": ""
        },
        "description": "The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results.",
        "predefined_types": {
            "IN_PLANE_LOADING_2D": "In plan loading 2D",
            "LOADING_3D": "Loading 3D",
            "NOTDEFINED": "Not defined",
            "OUT_PLANE_LOADING_2D": "Out plane loading 2D",
            "USERDEFINED": "User defined"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralAnalysisModel.htm"
    },
    "IfcStructuralConnection": {
        "attributes": {
            "AppliedCondition": "Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object.  If left unspecified, the connection object is assumed to have no supports besides being connected with members.",
            "ConnectsStructuralMembers": "References to the IfcRelConnectsStructuralMembers relationship by which structural members can be associated to structural connections."
        },
        "description": "An IfcStructuralConnection represents a structural connection object (node connection, edge connection, or surface connection) or supports.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralConnection.htm"
    },
    "IfcStructuralConnectionCondition": {
        "attributes": {
            "Name": "Optionally defines a name for this connection condition."
        },
        "description": "Describe more rarely needed connection properties.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralConnectionCondition.htm"
    },
    "IfcStructuralCurveAction": {
        "attributes": {
            "ProjectedOrTrue": "Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction.  The latter is only applicable to loads which act in global coordinate directions."
        },
        "description": "A structural curve action defines an action which is distributed over a curve. A curve action may be connected with a curve member or curve connection, or surface member or surface connection.",
        "predefined_types": {
            "CONST": "The load has a constant value over its entire extent.",
            "DISCRETE": "The load is specified as a series of discrete load points.",
            "EQUIDISTANT": "The load consists of n consecutive sections of same length and is specified by n+1 load samples.  The interpolation type over the segments is not defined by this distribution type but may be qualified in IfcObject.ObjectType based on additional agreements.",
            "LINEAR": "The load value is linearly distributed over the load's extent.",
            "NOTDEFINED": "The load distribution is undefined.",
            "PARABOLA": "The load value is distributed as a half wave described by a symmetric quadratic parabola.",
            "POLYGONAL": "The load consists of several consecutive linear sections.",
            "SINUS": "The load value is distributed as a sinus half wave.",
            "USERDEFINED": "The load distribution is user-defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralCurveAction.htm"
    },
    "IfcStructuralCurveConnection": {
        "attributes": {
            "AxisDirection": ""
        },
        "description": "Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralCurveConnection.htm"
    },
    "IfcStructuralCurveMember": {
        "attributes": {
            "Axis": "Direction which is used in the definition of the local z axis.  Axis is specified relative to the so-called global coordinate system, i.e. the SELF\\IfcProduct.ObjectPlacement."
        },
        "description": "Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved.",
        "predefined_types": {
            "CABLE": "A tension member which is able to carry transverse loads only under large deflection.",
            "COMPRESSION_MEMBER": "A member without tensional stiffness.",
            "NOTDEFINED": "A member without further categorization.",
            "PIN_JOINED_MEMBER": "A member with capacity to carry axial loads only, i.e. a link. Typically used in trusses.",
            "RIGID_JOINED_MEMBER": "A member with capacity to carry transverse and axial loads, i.e. a beam. Its actual joints may be rigid or pinned. Typically used in rigid frames.",
            "TENSION_MEMBER": "A member without compressional stiffness.",
            "USERDEFINED": "A specially defined member."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralCurveMember.htm"
    },
    "IfcStructuralCurveMemberVarying": {
        "description": "This entity describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralCurveMemberVarying.htm"
    },
    "IfcStructuralCurveReaction": {
        "description": "This entity defines a reaction which occurs distributed over a curve. A curve reaction may be connected with a curve member or curve connection, or surface member or surface connection.",
        "predefined_types": {
            "CONST": "The load has a constant value over its entire extent.",
            "DISCRETE": "The load is specified as a series of discrete load points.",
            "EQUIDISTANT": "The load consists of n consecutive sections of same length and is specified by n+1 load samples.  The interpolation type over the segments is not defined by this distribution type but may be qualified in IfcObject.ObjectType based on additional agreements.",
            "LINEAR": "The load value is linearly distributed over the load's extent.",
            "NOTDEFINED": "The load distribution is undefined.",
            "PARABOLA": "The load value is distributed as a half wave described by a symmetric quadratic parabola.",
            "POLYGONAL": "The load consists of several consecutive linear sections.",
            "SINUS": "The load value is distributed as a sinus half wave.",
            "USERDEFINED": "The load distribution is user-defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralCurveReaction.htm"
    },
    "IfcStructuralItem": {
        "attributes": {
            "AssignedStructuralActivity": "Inverse relationship to all structural activities (i.e. to actions or reactions) which are assigned to this structural member."
        },
        "description": "The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, that is, analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralItem.htm"
    },
    "IfcStructuralLinearAction": {
        "description": "This entity defines an action with constant value which is distributed over a curve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLinearAction.htm"
    },
    "IfcStructuralLoad": {
        "attributes": {
            "Name": "Optionally defines a name for this load."
        },
        "description": "This abstract entity is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLoad.htm"
    },
    "IfcStructuralLoadCase": {
        "attributes": {
            "SelfWeightCoefficients": "The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case.  These loads are not explicitly modeled as instances of IfcStructuralAction.  Instead they shall be calculated according to geometry, section, and material of each member."
        },
        "description": "A load case is a load group, commonly used to group loads from the same action source.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLoadCase.htm"
    },
    "IfcStructuralLoadConfiguration": {
        "attributes": {
            "Locations": "Locations of the load samples or result samples, given within the local coordinate system defined by the instance which uses this resource object.  Each item in the list of locations pertains to the values list item at the same list index.  This attribute is optional for configurations in which the locations are implicitly known from higher-level definitions.",
            "Values": "List of load or result values."
        },
        "description": "This class combines one or more load or result values in a 1- or 2-dimensional configuration.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLoadConfiguration.htm"
    },
    "IfcStructuralLoadGroup": {
        "attributes": {
            "ActionSource": "Source of actions in the group. Normally needed if 'PredefinedType' specifies a LOAD_CASE.",
            "ActionType": "Type of actions in the group. Normally needed if 'PredefinedType' specifies a LOAD_CASE.",
            "Coefficient": "Load factor. If omitted, a factor is not yet known or not specified. A load factor of 1.0 shall be explicitly exported as Coefficient = 1.0.",
            "LoadGroupFor": "Analysis models in which this load group is used.",
            "Purpose": "Description of the purpose of this instance. Among else, possible values of the Purpose of load combinations are 'SLS', 'ULS', 'ALS' to indicate serviceability, ultimate, or accidental limit state.",
            "SourceOfResultGroup": "Results which were computed using this load group."
        },
        "description": "The entity IfcStructuralLoadGroup is used to structure the physical impacts. By using the grouping features inherited from IfcGroup, instances of IfcStructuralAction (or its subclasses) and of IfcStructuralLoadGroup can be used to define load groups, load cases and load combinations. (See also IfcLoadGroupTypeEnum.)",
        "predefined_types": {
            "LOAD_CASE": "Groups LOAD_GROUPs and instances of subtypes of IfcStructuralAction.       It should be used as a container for loads with the same origin.",
            "LOAD_COMBINATION": "An intermediate level between LOAD_CASE and LOAD_COMBINATION.  This level is obsolete and deprecated.  Before the introduction of IfcRelAssignsToGroupByFactor, the purpose of this level was to provide a factor with which one or more LOAD_CASEs occur in a LOAD_COMBINATION.",
            "LOAD_GROUP": "Groups instances of subtypes of IfcStructuralAction.  It shall be used as a container for loads grouped together for specific purposes, such as loads which are part of a special load pattern.",
            "NOTDEFINED": "The grouping level is not yet known.",
            "USERDEFINED": "A grouping level which does not follow the standard hierarchy of load group types."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLoadGroup.htm"
    },
    "IfcStructuralLoadLinearForce": {
        "attributes": {
            "LinearForceX": "Linear force value in x-direction.",
            "LinearForceY": "Linear force value in y-direction.",
            "LinearForceZ": "Linear force value in z-direction.",
            "LinearMomentX": "Linear moment about the x-axis.",
            "LinearMomentY": "Linear moment about the y-axis.",
            "LinearMomentZ": "Linear moment about the z-axis."
        },
        "description": "An instance of the entity IfcStructuralLoadLinearForce shall be used to define actions on curves.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLoadLinearForce.htm"
    },
    "IfcStructuralLoadOrResult": {
        "description": "Abstract superclass of simple load or result classes.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLoadOrResult.htm"
    },
    "IfcStructuralLoadPlanarForce": {
        "attributes": {
            "PlanarForceX": "Planar force value in x-direction.",
            "PlanarForceY": "Planar force value in y-direction.",
            "PlanarForceZ": "Planar force value in z-direction."
        },
        "description": "An instance of the entity IfcStructuralLoadPlanarForce shall be used to define actions on faces.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLoadPlanarForce.htm"
    },
    "IfcStructuralLoadSingleDisplacement": {
        "attributes": {
            "DisplacementX": "Displacement in x-direction.",
            "DisplacementY": "Displacement in y-direction.",
            "DisplacementZ": "Displacement in z-direction.",
            "RotationalDisplacementRX": "Rotation about the x-axis.",
            "RotationalDisplacementRY": "Rotation about the y-axis.",
            "RotationalDisplacementRZ": "Rotation about the z-axis."
        },
        "description": "Instances of the entity IfcStructuralLoadSingleDisplacement shall be used to define displacements.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLoadSingleDisplacement.htm"
    },
    "IfcStructuralLoadSingleDisplacementDistortion": {
        "attributes": {
            "Distortion": "The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load."
        },
        "description": "Defines a displacement with warping.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLoadSingleDisplacementDistortion.htm"
    },
    "IfcStructuralLoadSingleForce": {
        "attributes": {
            "ForceX": "Force value in x-direction.",
            "ForceY": "Force value in y-direction.",
            "ForceZ": "Force value in z-direction.",
            "MomentX": "Moment about the x-axis.",
            "MomentY": "Moment about the y-axis.",
            "MomentZ": "Moment about the z-axis."
        },
        "description": "Instances of the entity IfcStructuralLoadSingleForce shall be used to define the forces and moments of an action operating on a single point.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLoadSingleForce.htm"
    },
    "IfcStructuralLoadSingleForceWarping": {
        "attributes": {
            "WarpingMoment": "The warping moment at the point load."
        },
        "description": "Instances of the entity IfcStructuralLoadSingleForceWarping, as a subtype of IfcStructuralLoadSingleForce, shall be used to define an action operation on a single point. In addition to forces and moments defined by its supertype a warping moment can be defined.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLoadSingleForceWarping.htm"
    },
    "IfcStructuralLoadStatic": {
        "description": "The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLoadStatic.htm"
    },
    "IfcStructuralLoadTemperature": {
        "attributes": {
            "DeltaTConstant": "Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change.",
            "DeltaTY": "Non-uniform temperature change, specified as the difference of the temperature change at the outer fibre of the positive y direction minus the temperature change at the outer fibre of the negative y direction of the analysis member.",
            "DeltaTZ": "Non-uniform temperature change, specified as the difference of the temperature change at the outer fibre of the positive z direction minus the temperature change at the outer fibre of the negative z direction of the analysis member."
        },
        "description": "An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 1, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralLoadTemperature.htm"
    },
    "IfcStructuralMember": {
        "attributes": {
            "ConnectedBy": "Inverse relationship to all structural connections (i.e. to supports or connecting elements) which are defined for this structural member."
        },
        "description": "The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralMember.htm"
    },
    "IfcStructuralPlanarAction": {
        "description": "This entity defines an action with constant value which is distributed over a surface.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralPlanarAction.htm"
    },
    "IfcStructuralPointAction": {
        "description": "This entity defines an action which acts on a point. A point action is typically connected with a point connection. It may also be connected with a curve member or curve connection, or surface member or surface connection.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralPointAction.htm"
    },
    "IfcStructuralPointConnection": {
        "attributes": {
            "ConditionCoordinateSystem": "Defines a coordinate system used for the description of the support condition properties in SELF\\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\\IfcProduct.ObjectPlacement.  If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes."
        },
        "description": "Instances of IfcStructuralPointConnection describe structural nodes or point supports.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralPointConnection.htm"
    },
    "IfcStructuralPointReaction": {
        "description": "This entity defines a reaction which occurs at a point. A point reaction is typically connected with a point connection. It may also be connected with a curve member or curve connection, or surface member or surface connection.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralPointReaction.htm"
    },
    "IfcStructuralReaction": {
        "description": "A structural reaction is a structural activity that results from a structural action imposed to a structural item or building element. Examples are support reactions, internal forces, and deflections.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralReaction.htm"
    },
    "IfcStructuralResultGroup": {
        "attributes": {
            "IsLinear": "This value allows to easily recognize whether a linear analysis has been applied (allowing the superposition of analysis results).",
            "ResultForLoadGroup": "Reference to an instance of IfcStructuralLoadGroup for which this instance represents the result.",
            "ResultGroupFor": "Reference to an instance of IfcStructuralAnalysisModel for which this instance captures a result.",
            "TheoryType": "Specifies the analysis theory used to obtain the respective results."
        },
        "description": "Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralResultGroup.htm"
    },
    "IfcStructuralSurfaceAction": {
        "attributes": {
            "ProjectedOrTrue": "Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction.  The latter is only applicable to loads which act in global coordinate directions."
        },
        "description": "This entity defines an action which is distributed over a surface. A surface action may be connected with a surface member or surface connection.",
        "predefined_types": {
            "BILINEAR": "The load value is bilinearly distributed over the load's extent.",
            "CONST": "The load has a constant value over its entire extent.",
            "DISCRETE": "The load is specified as a series of discrete load points.",
            "ISOCONTOUR": "The load is specified by a series of iso-curves (level sets), i.e. curves at which the load value is constant.  These curves run perpendicularly to the load gradient.",
            "NOTDEFINED": "The load distribution is undefined.",
            "USERDEFINED": "The load distribution is user-defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralSurfaceAction.htm"
    },
    "IfcStructuralSurfaceConnection": {
        "description": "Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralSurfaceConnection.htm"
    },
    "IfcStructuralSurfaceMember": {
        "attributes": {
            "Thickness": "Defines the typically understood thickness of the structural surface member, measured normal to its reference surface."
        },
        "description": "Instances of IfcStructuralSurfaceMember describe face members, that is, structural analysis idealizations of slabs, walls, and shells. Surface members may be planar or curved.",
        "predefined_types": {
            "BENDING_ELEMENT": "A member with capacity to carry out-of-plane loads, i.e. a plate.",
            "MEMBRANE_ELEMENT": "A member with capacity to carry in-plane loads, for example a shear wall.",
            "NOTDEFINED": "A member without further categorization.",
            "SHELL": "A member with capacity to carry in-plane and out-of-plane loads, i.e. a combination of bending element and membrane element.",
            "USERDEFINED": "A specially defined member."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralSurfaceMember.htm"
    },
    "IfcStructuralSurfaceMemberVarying": {
        "description": "This entity describes surface members with varying section properties. The properties are provided by means of _Pset_StructuralSurfaceMemberVaryingThickness_ via IfcRelDefinesByProperties, or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralSurfaceMemberVarying.htm"
    },
    "IfcStructuralSurfaceReaction": {
        "description": "This entity defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection.",
        "predefined_types": {
            "BILINEAR": "The load value is bilinearly distributed over the load's extent.",
            "CONST": "The load has a constant value over its entire extent.",
            "DISCRETE": "The load is specified as a series of discrete load points.",
            "ISOCONTOUR": "The load is specified by a series of iso-curves (level sets), i.e. curves at which the load value is constant.  These curves run perpendicularly to the load gradient.",
            "NOTDEFINED": "The load distribution is undefined.",
            "USERDEFINED": "The load distribution is user-defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStructuralSurfaceReaction.htm"
    },
    "IfcStyleModel": {
        "description": "IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStyleModel.htm"
    },
    "IfcStyledItem": {
        "attributes": {
            "Item": "A geometric representation item to which the style is assigned.",
            "Name": "The word, or group of words, by which the styled item is referred to.",
            "Styles": "Representation styles which are assigned, either to an geometric representation item, or to a material definition."
        },
        "description": "The IfcStyledItem holds presentation style information for products, either explicitly for an IfcGeometricRepresentationItem being part of an IfcShapeRepresentation assigned to a product, or by assigning presentation information to IfcMaterial being assigned as other representation for a product.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStyledItem.htm"
    },
    "IfcStyledRepresentation": {
        "description": "The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcStyledRepresentation.htm"
    },
    "IfcSubContractResource": {
        "description": "IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor.",
        "predefined_types": {
            "NOTDEFINED": "Undefined resource.",
            "PURCHASE": "Furnishing or supplying products.",
            "USERDEFINED": "User-defined resource.",
            "WORK": "Performing work onsite."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSubContractResource.htm"
    },
    "IfcSubContractResourceType": {
        "description": "The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include:",
        "predefined_types": {
            "NOTDEFINED": "Undefined resource.",
            "PURCHASE": "Furnishing or supplying products.",
            "USERDEFINED": "User-defined resource.",
            "WORK": "Performing work onsite."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSubContractResourceType.htm"
    },
    "IfcSubedge": {
        "attributes": {
            "ParentEdge": "The Edge, or Subedge, which contains the Subedge."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSubedge.htm"
    },
    "IfcSurface": {
        "description": "An IfcSurface is a 2-dimensional representation item positioned in 3-dimensional space. 2-dimensional means that each point at the surface can be defined by a 2-dimensional coordinate system, usually by u and v coordinates.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurface.htm"
    },
    "IfcSurfaceCurve": {
        "attributes": {
            "AssociatedGeometry": "A list of one or two pcurves which define the surface or surfaces associated with the surface curve. Two elements in this list indicate that the curve has two surface associations which need not be two distinct surfaces. Being a pcurve, it also associates a basis curve in the parameter space of this surface as an alternative representation of the surface curve.",
            "Curve3D": "The curve which is the three-dimensional representation of the surface curve.",
            "MasterRepresentation": "The <em<MasterRepresentation defines the curve used to determine the unique parametrisation of the IfcSurfaceCurve. The master_representation takes one of the values Curve3D, PCurve_S1 or PCurve_S2 to indicate a preference for the 3D curve, or the first or second pcurve, in the associated geometry list, respectively. Multiple representations provide the ability to communicate data in more than one form, even though the data is expected to be geometrically identical."
        },
        "description": "An IfcSurfaceCurve is a 3-dimensional curve that has additional representations provided by one or two pcurves.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurfaceCurve.htm"
    },
    "IfcSurfaceCurveSweptAreaSolid": {
        "attributes": {
            "ReferenceSurface": ""
        },
        "description": "The IfcSurfaceCurveSweptAreaSolid is the result of sweeping an area along a directrix that lies on a reference surface. The swept area is provided by a subtype of IfcProfileDef. The profile is placed by an implicit cartesian transformation operator at the start point of the sweep, where the profile normal agrees to the tangent of the directrix at this point, and the profile''s x-axis agrees to the surface normal. At any point along the directrix, the swept profile origin lies on the directrix, the profile''s normal points towards the tangent of the directrix, and the profile''s x-axis is identical to the surface normal at this point.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurfaceCurveSweptAreaSolid.htm"
    },
    "IfcSurfaceFeature": {
        "attributes": {
            "AdheresToElement": "Reference to the IfcRelAdheresToElement relationship that uses this IfcSurfaceFeature to ahere or treat the surface of the IfcRelAdheresToElement.RelatingElement."
        },
        "description": "A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. However, any increase or decrease of volume is small compared to the total volume of the element.",
        "predefined_types": {
            "DEFECT": "Detected defect on the surface of an element, such as corroded or eroded area.",
            "HATCHMARKING": "surface markings defined by enclosed 2d shape with defined hatch fillings.",
            "LINEMARKING": "2D lines painted on pavement surfaces to form boundaries, centrelines and edge markings.",
            "MARK": "A point, line, cross, or other mark, applied for example for easier adjustment of elements during assembly.",
            "NONSKIDSURFACING": "Paint or surfacing to prevent sliding or skidding.",
            "NOTDEFINED": "An undefined type of surface feature.",
            "PAVEMENTSURFACEMARKING": "Painted or chemical lines or symbols on the surface of pavements (a road or paved area)",
            "RUMBLESTRIP": "Raised and often textured strips on road center line or on shoulder, or across lanes to alert drivers by vibration and noise. Also Jiggle bars.",
            "SYMBOLMARKING": "Surface markings that convey information in the form of symbols and shapes such as arrows, text or pictorial symbols.",
            "TAG": "A name tag, which allows to identify an element during production, delivery and assembly.  May be manufactured in different ways, e.g. by printing or punching the tracking code onto the element or by attaching an actual tag.",
            "TRANSVERSERUMBLESTRIP": "Type of rumble strip running across lane(s).",
            "TREATMENT": "A subtractive surface feature, e.g. grinding, or an additive surface feature, e.g. coating, or an impregnating treatment, or a series of any of these kinds of treatments.",
            "USERDEFINED": "A user-defined type of surface feature."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurfaceFeature.htm"
    },
    "IfcSurfaceOfLinearExtrusion": {
        "attributes": {
            "Depth": "The depth of the extrusion, it determines the parameterization.",
            "ExtrudedDirection": "The direction of the extrusion."
        },
        "description": "The IfcSurfaceOfLinearExtrusion is a surface derived by sweeping a curve along a vector.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurfaceOfLinearExtrusion.htm"
    },
    "IfcSurfaceOfRevolution": {
        "attributes": {
            "AxisPosition": "A point on the axis of revolution and the direction of the axis of revolution."
        },
        "description": "The IfcSurfaceOfRevolution is a surface derived by rotating a curve about an axis.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurfaceOfRevolution.htm"
    },
    "IfcSurfaceReinforcementArea": {
        "attributes": {
            "ShearReinforcement": "Shear reinforcement.  Specified as area per area, e.g. square metre per square metre (hence ratio measure, i.e. unitless).",
            "SurfaceReinforcement1": "Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member.  Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre).  The reinforcement area may be specified for two or three directions of reinforcement bars.",
            "SurfaceReinforcement2": "Reinforcement at the face of the member which is located at the side of the negative local z direction of the surface member.  Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre).  The reinforcement area may be specified for two or three directions of reinforcement bars."
        },
        "description": "Describes required or provided reinforcement area of surface members.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurfaceReinforcementArea.htm"
    },
    "IfcSurfaceStyle": {
        "attributes": {
            "Side": "An indication of which side of the surface to apply the style.",
            "Styles": "A collection of different surface styles."
        },
        "description": "IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurfaceStyle.htm"
    },
    "IfcSurfaceStyleLighting": {
        "attributes": {
            "DiffuseReflectionColour": "The degree of diffusion of the reflected light. In the case of specular surfaces there is no diffusion. The greater the diffusing power of the reflecting surface, the smaller the specular component of the reflected light, up to the point where only diffuse light is produced. A value of 1 means totally diffuse for that colour part of the light.",
            "DiffuseTransmissionColour": "The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced. A value of 1 means totally diffuse for that colour part of the light.",
            "ReflectanceColour": "A coefficient that determines the extent that the light falling onto a surface is fully or partially reflected.",
            "TransmissionColour": "Describes how the light falling on a body is totally or partially transmitted."
        },
        "description": "IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurfaceStyleLighting.htm"
    },
    "IfcSurfaceStyleRefraction": {
        "attributes": {
            "DispersionFactor": "The Abbe constant given as a fixed ratio between the refractive indices of the material at different wavelengths. A low Abbe number means a high dispersive power. In general this translates to a greater angular spread of the emergent spectrum.",
            "RefractionIndex": "The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33"
        },
        "description": "IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldom used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurfaceStyleRefraction.htm"
    },
    "IfcSurfaceStyleRendering": {
        "attributes": {
            "DiffuseColour": "In a PHONG ReflectanceMethod, the DiffuseColour correlates to the diffuseColor attribute in the X3D Phong lighting model. The diffuse colour reflects all X3D light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. In a PHYSICAL ReflectanceMethod, a physical based lighting model is assumed, and so the DiffuseColour correlates to the baseColor attribute used in the X3D physical lighting model. In a FLAT ReflectanceMethod, the DiffuseColour correlates to the emissiveColor attribute used in the X3D unlit lighting model.",
            "DiffuseTransmissionColour": "The diffuse transmission part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials whose Transparency field is greater than zero. The diffuse transmission colour specifies how much diffuse light is reflected at the opposite side of the material surface. The diffuse transmission factor field specifies how much diffuse light from light sources this surface shall reflect on the opposite side of the material surface. The diffuse transmissive colour is then defined by surface colour * diffuse transmissive factor.",
            "ReflectanceMethod": "Identifies the predefined types of reflectance method from which the method required may be set. PHONG correlates to the X3D Phong lighting model. PHYSICAL correlates to the X3D Physical lighting model. FLAT correlates to the X3D Unlit lighting model. The exact behaviour of other reflectance methods may be determined by view definitions or implementer agreements.",
            "ReflectionColour": "The reflection (or mirror) part of the reflectance equation can be given as either a colour or a scalar factor. Applies to \"glass\" and \"mirror\" reflection models. The reflection colour specifies the contribution made by light from the mirror direction, i.e. light being reflected from the surface. The reflection factor specifies the amount of contribution made by light from the mirror direction. The reflection colour is then defined by surface colour * reflection factor.",
            "SpecularColour": "In a PHONG ReflectanceMethod, the SpecularColour correlates to the specularColor attribute in the X3D Phong lighting model. The specular colour determine the colour of the specular highlights ( e.g., the shiny spots on an apple). In a PHYSICAL ReflectanceMethod, a physical based lighting model is assumed, and so the SpecularColour is specified as a IfcNormalisedRatioMeasure, which correlates to the metallic attribute used in the X3D physical lighting model. In a FLAT ReflectanceMethod, the SpecularColour has no effect.",
            "SpecularHighlight": "In a PHONG ReflectanceMethod, the SpecularHighlight is specified as a IfcSpecularRoughness and correlates to the inverse of the shininess attribute in the X3D Phong lighting model. The SpecularHighlight determines the nature of the specular highlights ( e.g., the shiny spots on an apple). Lower shininess values produce soft glows, while higher values result in sharper, smaller highlights. In a PHYSICAL ReflectanceMethod, a physical based lighting model is assumed, and so the SpecularHighlight is specified as a IfcSpecularRoughness, which correlates to the roughness attribute used in the X3D physical lighting model. In a FLAT ReflectanceMethod, the SpecularHighlight has no effect.",
            "TransmissionColour": "The transmissive part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials which Transparency field is greater than zero. The transmissive colour field specifies the colour that passes through a transparent material (like the colour that shines through a glass). The transmissive factor defines the transmissive part, the transmissive colour is then defined by surface colour * transmissive factor."
        },
        "description": "IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface style. Three lighting models are supported:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurfaceStyleRendering.htm"
    },
    "IfcSurfaceStyleShading": {
        "attributes": {
            "SurfaceColour": "The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue.",
            "Transparency": "The transparency field specifies how \"clear\" an object is, with 1.0 being completely transparent, and 0.0 completely opaque. If not given, the value 0.0 (opaque) is assumed."
        },
        "description": "The IfcSurfaceStyleShading allows for colour information and transparency used for shading and simple rendering. The surface colour is used for colouring or simple shading of the assigned surfaces and the transparency for identifying translucency, where 0.0 is completely opaque, and 1.0 is completely transparent.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurfaceStyleShading.htm"
    },
    "IfcSurfaceStyleWithTextures": {
        "attributes": {
            "Textures": "The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture."
        },
        "description": "The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurfaceStyleWithTextures.htm"
    },
    "IfcSurfaceTexture": {
        "attributes": {
            "IsMappedBy": "Texture coordinates, either provided by a corresponding list of texture vertices to vertex-based geometric items or by a texture coordinate generator, that applies the surface texture to the surfaces of the geometric items.",
            "Mode": "Mode shall hold the type of map this corresponds to, chosen from the following list: AMBIENT, NORMAL, EMISSIVE, METALLICROUGHNESS, OCCLUSION, SHININESS, SPECULAR, DIFFUSE.",
            "Parameter": "IFC4.3.0.0 DEPRECATION This attribute is deprecated and shall no longer be used.",
            "RepeatS": "The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range.",
            "RepeatT": "The RepeatT field specifies how the texture wraps in the T direction. If RepeatT is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the T direction so that it fills the shape. If RepeatT is FALSE, the texture coordinates are clamped in the T direction to lie within the [0.0, 1.0] range.",
            "TextureTransform": "The TextureTransform defines a 2D transformation that is applied to the texture coordinates. It affects the way texture coordinates are applied to the surfaces of geometric representation items. The 2D transformation supports changes to the size, orientation, and position of textures on shapes. Mirroring is not allowed to be used in the IfcCartesianTransformationOperator",
            "UsedInStyles": ""
        },
        "description": "An IfcSurfaceTexture provides a 2-dimensional image-based texture map. It can either be given by referencing an external image file through an URL reference (IfcImageTexture), including the image file as a blob (long binary) into the data set (IfcBlobTexture), or by explicitly including an array of pixels (IfcPixelTexture).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSurfaceTexture.htm"
    },
    "IfcSweptAreaSolid": {
        "attributes": {
            "Position": "Position coordinate system for the resulting swept solid of the sweeping operation. The position coordinate system allows for re-positioning of the swept solid. If not provided, the swept solid remains within the position as determined by the cross section or by the directrix used for the sweeping operation.",
            "SweptArea": "The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system."
        },
        "description": "An IfcSweptAreaSolid represents the 3D shape by a sweeping representation scheme allowing a two dimensional planar cross section to sweep through space.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSweptAreaSolid.htm"
    },
    "IfcSweptDiskSolid": {
        "attributes": {
            "Directrix": "The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix.",
            "EndParam": "The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.",
            "InnerRadius": "This attribute is optional, if present it defines the radius of a circular hole in the centre of the disk.",
            "Radius": "The Radius of the circular disk to be swept along the directrix. Denotes the outer radius, if an InnerRadius is applied.",
            "StartParam": "The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix."
        },
        "description": "An IfcSweptDiskSolid represents the 3D shape by a sweeping representation scheme allowing a two dimensional circularly bounded plane to sweep along a three dimensional Directrix through space.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSweptDiskSolid.htm"
    },
    "IfcSweptDiskSolidPolygonal": {
        "attributes": {
            "FilletRadius": "The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omitted, no fillet is applied to the segments."
        },
        "description": "The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an poly line only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the poly line.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSweptDiskSolidPolygonal.htm"
    },
    "IfcSweptSurface": {
        "attributes": {
            "Position": "Position coordinate system for the swept surface, provided by a profile definition within the XY plane of the Position coordinates. If not provided, the position of the profile being swept is determined by the object coordinate system. In this case, the swept surface is not repositioned.",
            "SweptCurve": "The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system."
        },
        "description": "An IfcSweptSurface is a surface defined by sweeping a curve. The swept surface is defined by a open or closed curve, represented by a subtype if IfcProfileDef, that is provided as a two-dimensional curve on an implicit plane, and by the sweeping operation.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSweptSurface.htm"
    },
    "IfcSwitchingDevice": {
        "description": "A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity.",
        "predefined_types": {
            "CONTACTOR": "An electrical device used to control the flow of power in a circuit on or off.",
            "DIMMERSWITCH": "A dimmer switch has variable positions, and may adjust electrical power or other setting (according to the switched port type).",
            "EMERGENCYSTOP": "An emergency stop device acts to remove as quickly as possible any danger that may have arisen unexpectedly.",
            "KEYPAD": "A set of buttons or switches, each potentially applicable to a different device.",
            "MOMENTARYSWITCH": "A momentary switch has no position, and may trigger some action to occur.",
            "NOTDEFINED": "Undefined type.",
            "RELAY": "A device designed to produce sudden predetermined changes in one or more electric output circuits, when certain conditions are fulfilled in the electric input circuits controlling the device. Note: definition from IEC 60050 151-13-31.",
            "SELECTORSWITCH": "A selector switch has multiple positions, and may change the source or level of power or other setting (according to the switched port type).",
            "STARTER": "A starter is a switch which in the closed position controls the application of power to an electrical device.",
            "START_AND_STOP_EQUIPMENT": "A switch for alternatively closing and opening one or more electric circuits.",
            "SWITCHDISCONNECTOR": "A switch disconnector is a switch which in the open position satisfies the isolating requirements specified for a disconnector.",
            "TOGGLESWITCH": "A toggle switch has two positions, and may enable or isolate electrical power or other setting (according to the switched port type).",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSwitchingDevice.htm"
    },
    "IfcSwitchingDeviceType": {
        "description": "The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include:",
        "predefined_types": {
            "CONTACTOR": "An electrical device used to control the flow of power in a circuit on or off.",
            "DIMMERSWITCH": "A dimmer switch has variable positions, and may adjust electrical power or other setting (according to the switched port type).",
            "EMERGENCYSTOP": "An emergency stop device acts to remove as quickly as possible any danger that may have arisen unexpectedly.",
            "KEYPAD": "A set of buttons or switches, each potentially applicable to a different device.",
            "MOMENTARYSWITCH": "A momentary switch has no position, and may trigger some action to occur.",
            "NOTDEFINED": "Undefined type.",
            "RELAY": "A device designed to produce sudden predetermined changes in one or more electric output circuits, when certain conditions are fulfilled in the electric input circuits controlling the device. Note: definition from IEC 60050 151-13-31.",
            "SELECTORSWITCH": "A selector switch has multiple positions, and may change the source or level of power or other setting (according to the switched port type).",
            "STARTER": "A starter is a switch which in the closed position controls the application of power to an electrical device.",
            "START_AND_STOP_EQUIPMENT": "A switch for alternatively closing and opening one or more electric circuits.",
            "SWITCHDISCONNECTOR": "A switch disconnector is a switch which in the open position satisfies the isolating requirements specified for a disconnector.",
            "TOGGLESWITCH": "A toggle switch has two positions, and may enable or isolate electrical power or other setting (according to the switched port type).",
            "USERDEFINED": "User-defined type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSwitchingDeviceType.htm"
    },
    "IfcSystem": {
        "attributes": {
            "ServicesBuildings": "Reference to the ~~building~~ spatial structure via the objectified relationship IfcRelServicesBuildings, which is serviced by the system."
        },
        "description": "A system is an organized combination of related parts within an AEC product, composed for a common purpose or function or to provide a service. A system is essentially a functionally related aggregation of products. The grouping relationship to one or several instances of IfcProduct (the system members) is handled by IfcRelAssignsToGroup.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSystem.htm"
    },
    "IfcSystemFurnitureElement": {
        "description": "A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture.",
        "predefined_types": {
            "NOTDEFINED": "Undefined type.",
            "PANEL": "Vertical panel used to divide work spaces.",
            "SUBRACK": "A subrack is a part of technical cabinet which is used to store and mount pluggable electric subunits.",
            "USERDEFINED": "User-defined type.",
            "WORKSURFACE": "Workstation countertop."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSystemFurnitureElement.htm"
    },
    "IfcSystemFurnitureElementType": {
        "description": "The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of system furniture elements. The set of shared information may include:",
        "predefined_types": {
            "NOTDEFINED": "Undefined type.",
            "PANEL": "Vertical panel used to divide work spaces.",
            "SUBRACK": "A subrack is a part of technical cabinet which is used to store and mount pluggable electric subunits.",
            "USERDEFINED": "User-defined type.",
            "WORKSURFACE": "Workstation countertop."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcSystemFurnitureElementType.htm"
    },
    "IfcTShapeProfileDef": {
        "attributes": {
            "Depth": "Web lengths, see illustration above (= h).",
            "FilletRadius": "Fillet radius according the above illustration (= r1).",
            "FlangeEdgeRadius": "Edge radius according the above illustration (= r2).",
            "FlangeSlope": "Slope of web of the profile.",
            "FlangeThickness": "Constant wall thickness of flange (= tg).",
            "FlangeWidth": "Flange lengths, see illustration above (= b).",
            "WebEdgeRadius": "Edge radius according the above illustration (= r3).",
            "WebSlope": "Slope of flange of the profile.",
            "WebThickness": "Constant wall thickness of web (= ts)."
        },
        "description": "IfcTShapeProfileDef defines a section profile that provides the defining parameters of a T-shaped section to be used by the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The centre of the position coordinate system is in the profile's centre of the bounding box.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTShapeProfileDef.htm"
    },
    "IfcTable": {
        "attributes": {
            "Columns": "The column information associated with this table.",
            "Name": "",
            "Rows": "Reference to information content of rows."
        },
        "description": "An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTable.htm"
    },
    "IfcTableColumn": {
        "attributes": {
            "Description": "The Description provides human-readable text describing the table column.",
            "Identifier": "The Identifier identifies the column within the table. If provided, it must be unique within the table. Columns may be cross-referenced across multiple tables by sharing the same column identifier.",
            "Name": "The Name is a human-readable caption for the table column. It is not necessarily unique.",
            "ReferencePath": "The ReferencePath indicates a relative path to the object and attribute for which data within this column is to be applied.",
            "Unit": "The Unit indicates the unit of measure to be used for this column's data. If not provided, then project default units are assumed. If ReferencePath is provided, the the unit must be of the same measure as the referenced attribute."
        },
        "description": "An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the identifier, name, description, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTableColumn.htm"
    },
    "IfcTableRow": {
        "attributes": {
            "IsHeading": "Flag which identifies if the row is a heading row or a row which contains row values.",
            "RowCells": "The data value of the table cell.."
        },
        "description": "IfcTableRow contains data for a single row within an IfcTable.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTableRow.htm"
    },
    "IfcTank": {
        "description": "A tank is a vessel or container in which a fluid or gas is stored for later use.",
        "predefined_types": {
            "BASIN": "An arbitrary open tank type.",
            "BREAKPRESSURE": "An open container that breaks the hydraulic pressure in a distribution system, typically located between the fluid reservoir and the fluid supply points. A typical break pressure tank allows the flow to discharge into the atmosphere, thereby reducing its hydrostatic pressure to zero.",
            "EXPANSION": "A closed container used in a closed fluid distribution system to mitigate the effects of thermal expansion or water hammer. The tank is typically constructed with a diaphragm dividing the tank into two sections, with fluid on one side of the diaphragm and air on the other. One example application is when connected to the primary circuit of a hot water system to accommodate the increase in volume of the water when it is heated.",
            "FEEDANDEXPANSION": "An open tank that is used for both storage and thermal expansion. A typical example is a tank used to store make-up water at ambient pressure for supply to a hot water system, simultaneously accommodating increases in volume of the water when heated.",
            "NOTDEFINED": "Undefined tank type.",
            "OILRETENTIONTRAY": "An open container for environmental protection and storage of chemical products.",
            "PRESSUREVESSEL": "A closed container used for storing fluids or gases at a pressure different from the ambient pressure. A pressure vessel is typically rated by an authority having jurisdiction for the operational pressure.",
            "STORAGE": "An open or closed container used for storing a fluid at ambient pressure and from which it can be supplied to the fluid distribution system. There are many examples of storage tanks, such as potable water storage tanks, fuel storage tanks, etc.",
            "USERDEFINED": "User-defined tank type.",
            "VESSEL": "An arbitrary closed tank type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTank.htm"
    },
    "IfcTankType": {
        "description": "The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include:",
        "predefined_types": {
            "BASIN": "An arbitrary open tank type.",
            "BREAKPRESSURE": "An open container that breaks the hydraulic pressure in a distribution system, typically located between the fluid reservoir and the fluid supply points. A typical break pressure tank allows the flow to discharge into the atmosphere, thereby reducing its hydrostatic pressure to zero.",
            "EXPANSION": "A closed container used in a closed fluid distribution system to mitigate the effects of thermal expansion or water hammer. The tank is typically constructed with a diaphragm dividing the tank into two sections, with fluid on one side of the diaphragm and air on the other. One example application is when connected to the primary circuit of a hot water system to accommodate the increase in volume of the water when it is heated.",
            "FEEDANDEXPANSION": "An open tank that is used for both storage and thermal expansion. A typical example is a tank used to store make-up water at ambient pressure for supply to a hot water system, simultaneously accommodating increases in volume of the water when heated.",
            "NOTDEFINED": "Undefined tank type.",
            "OILRETENTIONTRAY": "An open container for environmental protection and storage of chemical products.",
            "PRESSUREVESSEL": "A closed container used for storing fluids or gases at a pressure different from the ambient pressure. A pressure vessel is typically rated by an authority having jurisdiction for the operational pressure.",
            "STORAGE": "An open or closed container used for storing a fluid at ambient pressure and from which it can be supplied to the fluid distribution system. There are many examples of storage tanks, such as potable water storage tanks, fuel storage tanks, etc.",
            "USERDEFINED": "User-defined tank type.",
            "VESSEL": "An arbitrary closed tank type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTankType.htm"
    },
    "IfcTask": {
        "attributes": {
            "IsMilestone": "Identifies whether a task is a milestone task (=TRUE) or not     (= FALSE).",
            "Priority": "A value that indicates the relative priority of the task (in     comparison to the priorities of other tasks).",
            "Status": "Current status of the task.",
            "TaskTime": "Time related information for the task.",
            "WorkMethod": "The method of work used in carrying out a task."
        },
        "description": "An IfcTask is an identifiable unit of work to be carried out in a construction project.",
        "predefined_types": {
            "ADJUSTMENT": "Making changes to the physical configuration of something.",
            "ATTENDANCE": "Attendance or waiting on other things happening.",
            "CALIBRATION": "Making changes to the operational configuration of something.",
            "CONSTRUCTION": "Constructing or building something.",
            "DEMOLITION": "Demolishing or breaking down something.",
            "DISMANTLE": "Taking something apart carefully so that it can be recycled or reused.",
            "DISPOSAL": "Disposing or getting rid of something.",
            "EMERGENCY": "Tasks required when responding to, or ensuring the ability to respond to, an emergency situation.",
            "INSPECTION": "Check if something is installed and is operating within expected parameters.",
            "INSTALLATION": "Installing something (equivalent to construction but more commonly used for engineering tasks).",
            "LOGISTIC": "Transportation or delivery of something.",
            "MAINTENANCE": "Tasks required to keep an object in good working order.",
            "MOVE": "Moving things from one place to another.",
            "NOTDEFINED": "Undefined.",
            "OPERATION": "A procedure undertaken to start up the operation an artifact.",
            "REMOVAL": "Removal of an item from use and taking it from its place of use.",
            "RENOVATION": "Bringing something to an 'as-new' state.",
            "SAFETY": "Tasks required to ensure safe use of the object. For example electrical \u2018lock-out' instructions.",
            "SHUTDOWN": "The set of tasks required for an orderly shut down without adverse impacts, typically applied to systems.",
            "STARTUP": "The set of tasks required to begin or restart operation without adverse impacts, typically applied to systems.",
            "TESTING": "The set of tasks required to evaluate the performance of an object, to ensure if something is installed and is operating within expected parameters.",
            "TROUBLESHOOTING": "The set of tasks required to diagnose commonly encountered performance problems, typically applied to element types and systems.",
            "USERDEFINED": "User defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTask.htm"
    },
    "IfcTaskTime": {
        "attributes": {
            "ActualDuration": "The actual duration of the task. It is a measured value. The value is either given as elapsed time or work time, which is defined by DurationType.",
            "ActualFinish": "The date on which a task is actually finished.",
            "ActualStart": "The date on which a task is actually started. It is a measured value.",
            "Completion": "The extent of completion expressed as a ratio or percentage. It is a measured value.",
            "DurationType": "Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either work time or elapsed time.",
            "EarlyFinish": "The earliest date on which a task can be finished. It is a calculated value.",
            "EarlyStart": "The earliest date on which a task can be started. It is a calculated value.",
            "FreeFloat": "The amount of time during which the start or finish of a task may be varied without any effect on the overall programme of work. It is a calculated elapsed time value.",
            "IsCritical": "A flag which identifies whether a scheduled task is a critical item within the programme.",
            "LateFinish": "The latest date on which a task can be finished. It is a calculated value.",
            "LateStart": "The latest date on which a task can be started. It is a calculated value.",
            "RemainingTime": "The amount of time remaining to complete a task. It is a predicted value. The value is either given as elapsed time or work time, which is defined by DurationType.",
            "ScheduleDuration": "The amount of time which is scheduled for completion of a task. The value might be measured or somehow calculated, which is defined by ScheduleDataOrigin. The value is either given as elapsed time or work time, which is defined by DurationType.",
            "ScheduleFinish": "The date on which a task is scheduled to be finished. The value might be measured or somehow calculated, which is defined by ScheduleDataOrigin.",
            "ScheduleStart": "The date on which a task is scheduled to be started. The value might be measured or somehow calculated, which is defined by ScheduleDataOrigin.",
            "StatusTime": "The date or time at which the status of the tasks within the schedule is analyzed.",
            "TotalFloat": "The difference between the duration available to carry out a task and the scheduled duration of the task. It is a calculated elapsed time value."
        },
        "description": "IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTaskTime.htm"
    },
    "IfcTaskTimeRecurring": {
        "attributes": {
            "Recurrence": ""
        },
        "description": "IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTaskTimeRecurring.htm"
    },
    "IfcTaskType": {
        "attributes": {
            "WorkMethod": "The method of work used in carrying out a task."
        },
        "description": "An IfcTaskType defines a particular type of task that may be specified for use within a work control.",
        "predefined_types": {
            "ADJUSTMENT": "Making changes to the physical configuration of something.",
            "ATTENDANCE": "Attendance or waiting on other things happening.",
            "CALIBRATION": "Making changes to the operational configuration of something.",
            "CONSTRUCTION": "Constructing or building something.",
            "DEMOLITION": "Demolishing or breaking down something.",
            "DISMANTLE": "Taking something apart carefully so that it can be recycled or reused.",
            "DISPOSAL": "Disposing or getting rid of something.",
            "EMERGENCY": "Tasks required when responding to, or ensuring the ability to respond to, an emergency situation.",
            "INSPECTION": "Check if something is installed and is operating within expected parameters.",
            "INSTALLATION": "Installing something (equivalent to construction but more commonly used for engineering tasks).",
            "LOGISTIC": "Transportation or delivery of something.",
            "MAINTENANCE": "Tasks required to keep an object in good working order.",
            "MOVE": "Moving things from one place to another.",
            "NOTDEFINED": "Undefined.",
            "OPERATION": "A procedure undertaken to start up the operation an artifact.",
            "REMOVAL": "Removal of an item from use and taking it from its place of use.",
            "RENOVATION": "Bringing something to an 'as-new' state.",
            "SAFETY": "Tasks required to ensure safe use of the object. For example electrical \u2018lock-out' instructions.",
            "SHUTDOWN": "The set of tasks required for an orderly shut down without adverse impacts, typically applied to systems.",
            "STARTUP": "The set of tasks required to begin or restart operation without adverse impacts, typically applied to systems.",
            "TESTING": "The set of tasks required to evaluate the performance of an object, to ensure if something is installed and is operating within expected parameters.",
            "TROUBLESHOOTING": "The set of tasks required to diagnose commonly encountered performance problems, typically applied to element types and systems.",
            "USERDEFINED": "User defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTaskType.htm"
    },
    "IfcTelecomAddress": {
        "attributes": {
            "ElectronicMailAddresses": "The list of Email addresses at which Email messages may be received.",
            "FacsimileNumbers": "The list of fax numbers at which fax messages may be received.",
            "MessagingIDs": "IDs or addresses for any other means of telecommunication, for example instant messaging, voice-over-IP, or file transfer protocols. The communication protocol is indicated by the URI value with scheme designations such as irc:, sip:, or ftp:.",
            "PagerNumber": "The pager number at which paging messages may be received.",
            "TelephoneNumbers": "The list of telephone numbers at which telephone messages may be received.",
            "WWWHomePageURL": "The world wide web address at which the preliminary page of information for the person or organization can be located."
        },
        "description": "This entity represents an address to which telephone, electronic mail and other forms of telecommunications should be addressed.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTelecomAddress.htm"
    },
    "IfcTendon": {
        "attributes": {
            "AnchorageSlip": "The deformation of an anchor or slippage of tendons when the prestressing device is released.",
            "CrossSectionArea": "The effective cross-section area of the tendon.",
            "FrictionCoefficient": "The friction coefficient between tendon and tendon sheet while the tendon is unbonded.",
            "MinCurvatureRadius": "The smallest curvature radius calculated on the whole effective length of the tendon where the tension properties are still valid.",
            "NominalDiameter": "The nominal diameter defining the cross-section size of the tendon.",
            "PreStress": "The prestress to be applied on the tendon.",
            "TensionForce": "The maximum allowed tension force that can be applied on the tendon."
        },
        "description": "A tendon is a steel element such as a wire, cable, bar, rod, or strand used to impart prestress to concrete when the element is tensioned.",
        "predefined_types": {
            "BAR": "The tendon is configured as a bar.",
            "COATED": "The tendon is coated.",
            "NOTDEFINED": "The type of tendon is not defined.",
            "STRAND": "The tendon is a strand.",
            "USERDEFINED": "The type of tendon is user defined.",
            "WIRE": "The tendon is a wire."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTendon.htm"
    },
    "IfcTendonAnchor": {
        "description": "A tendon anchor is the end connection for tendons in prestressed or posttensioned concrete.",
        "predefined_types": {
            "COUPLER": "The anchor is an intermediate device which connects two tendons.",
            "FIXED_END": "The anchor fixes the end of a tendon.",
            "NOTDEFINED": "The type of tendon anchor is not defined.",
            "TENSIONING_END": "The anchor is used or can be used to prestress the tendon.",
            "USERDEFINED": "The type of tendon anchor is user defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTendonAnchor.htm"
    },
    "IfcTendonAnchorType": {
        "description": "The reinforcing element type IfcTendonAnchorType defines commonly shared information for occurrences of tendon anchors. The set of shared information may include:",
        "predefined_types": {
            "COUPLER": "The anchor is an intermediate device which connects two tendons.",
            "FIXED_END": "The anchor fixes the end of a tendon.",
            "NOTDEFINED": "The type of tendon anchor is not defined.",
            "TENSIONING_END": "The anchor is used or can be used to prestress the tendon.",
            "USERDEFINED": "The type of tendon anchor is user defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTendonAnchorType.htm"
    },
    "IfcTendonConduit": {
        "description": "A TendonConduit represents the components of the conduit system for tendons embedded in concrete structure.\n",
        "predefined_types": {
            "COUPLER": "A part to connect the conduits located in two different deck segments and related to the same tendon.",
            "DIABOLO": "A part of tendon conduit associated to deviator.",
            "DUCT": "A Sleeve or duct is related to the thickness of the conduit depending on the conduit, either cast into the concrete structure or placed adjacent to it.",
            "GROUTING_DUCT": "An additional small conduit connected to the main conduit to allow grouting in case of bonded post-tensioning, such as  Grout inlet, Grout outlet and Grout vent.",
            "NOTDEFINED": "The type of tendon conduit is not defined.",
            "TRUMPET": "A specific part of conduit which has to be widened when reaching the tendon anchor because the strands are connected individually on the anchor.",
            "USERDEFINED": "The type of tendon conduit is user defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTendonConduit.htm"
    },
    "IfcTendonConduitType": {
        "description": "Type of Tendon Conduit.\n",
        "predefined_types": {
            "COUPLER": "A part to connect the conduits located in two different deck segments and related to the same tendon.",
            "DIABOLO": "A part of tendon conduit associated to deviator.",
            "DUCT": "A Sleeve or duct is related to the thickness of the conduit depending on the conduit, either cast into the concrete structure or placed adjacent to it.",
            "GROUTING_DUCT": "An additional small conduit connected to the main conduit to allow grouting in case of bonded post-tensioning, such as  Grout inlet, Grout outlet and Grout vent.",
            "NOTDEFINED": "The type of tendon conduit is not defined.",
            "TRUMPET": "A specific part of conduit which has to be widened when reaching the tendon anchor because the strands are connected individually on the anchor.",
            "USERDEFINED": "The type of tendon conduit is user defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTendonConduitType.htm"
    },
    "IfcTendonType": {
        "attributes": {
            "CrossSectionArea": "The effective cross-section area of the prestressed part of the tendon.",
            "NominalDiameter": "The nominal diameter defining the cross-section size of the prestressed part of the tendon.",
            "SheathDiameter": "Diameter of the sheeth (duct) around the tendon, if there is one with this type of tendon."
        },
        "description": "The reinforcing element type IfcTendonType defines commonly shared information for occurrences of tendons. The set of shared information may include:",
        "predefined_types": {
            "BAR": "The tendon is configured as a bar.",
            "COATED": "The tendon is coated.",
            "NOTDEFINED": "The type of tendon is not defined.",
            "STRAND": "The tendon is a strand.",
            "USERDEFINED": "The type of tendon is user defined.",
            "WIRE": "The tendon is a wire."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTendonType.htm"
    },
    "IfcTessellatedFaceSet": {
        "attributes": {
            "Closed": "",
            "Coordinates": "An ordered list of Cartesian points used by the coordinate index defined at the subtypes of IfcTessellatedFaceSet.",
            "HasColours": "Reference to the indexed colour map providing the corresponding colour RGB values to the faces of the subtypes of IfcTessellatedFaceSet.",
            "HasTextures": "Reference to the indexed texture map providing the corresponding texture coordinates to the vertices bounding the faces of the subtypes of IfcTessellatedFaceSet."
        },
        "description": "The IfcTessellatedFaceSet is a boundary representation topological model limited to planar faces and straight edges. It may represent an approximation of an analytical surface or solid that may be provided in addition to its tessellation as a separate shape representation. The IfcTessellatedFaceSet provides a compact data representation of an connected face set using indices into ordered lists of vertices, normals, colours, and texture maps.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTessellatedFaceSet.htm"
    },
    "IfcTessellatedItem": {
        "description": "The IfcTessellatedItem is the abstract supertype of all tessellated geometric models.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTessellatedItem.htm"
    },
    "IfcTextLiteral": {
        "attributes": {
            "Literal": "The text literal to be presented.",
            "Path": "The writing direction of the text literal.",
            "Placement": "An IfcAxis2Placement that determines the placement and orientation of the presented string."
        },
        "description": "The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. The text size and appearance is determined by the IfcTextStyle that is associated to the IfcTextLiteral through an IfcStyledItem.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTextLiteral.htm"
    },
    "IfcTextLiteralWithExtent": {
        "attributes": {
            "BoxAlignment": "The alignment of the text literal relative to its position.",
            "Extent": "The extent in the x and y direction of the text literal."
        },
        "description": "The text literal with extent is a text literal with the additional explicit information of the planar extent. An alignment attribute defines how the text box is aligned to the placement and how it may expand if additional lines of text need to be added.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTextLiteralWithExtent.htm"
    },
    "IfcTextStyle": {
        "attributes": {
            "ModelOrDraughting": "Indication whether the length measures provided for the presentation style are model based, or draughting based.",
            "TextCharacterAppearance": "A character style to be used for presented text.",
            "TextFontStyle": "The style applied to the text font for its visual appearance. It defines the font family, font style, weight and size.",
            "TextStyle": "The style applied to the text block for its visual appearance."
        },
        "description": "The IfcTextStyle is a presentation style for annotations that place a text in model space. The IfcTextStyle provides the text style for presentation information assigned to IfcTextLiteral's. The style is defined by color, text font characteristics, and text box characteristics.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTextStyle.htm"
    },
    "IfcTextStyleFontModel": {
        "attributes": {
            "FontFamily": "The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family.",
            "FontSize": "The font size provides the size or height of the text font.",
            "FontStyle": "The font style property selects between normal (sometimes referred to as \"roman\" or \"upright\"), italic and oblique faces within a font family.",
            "FontVariant": "The font variant property selects between normal and small-caps.",
            "FontWeight": "The font weight property selects the weight of the font."
        },
        "description": "{ .extDef}\n> Definition according to W3C for Cascading Style Sheets:\n> Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTextStyleFontModel.htm"
    },
    "IfcTextStyleForDefinedFont": {
        "attributes": {
            "BackgroundColour": "This property sets the background color of an element.",
            "Colour": "This property describes the text color of an element (often referred to as the foreground color)."
        },
        "description": "The IfcTextStyleForDefinedFont combines the text font color with an optional background color, that fills the text box, defined by the planar extent given to the text literal.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTextStyleForDefinedFont.htm"
    },
    "IfcTextStyleTextModel": {
        "attributes": {
            "LetterSpacing": "The length unit indicates an addition to the default space between characters. Values can be negative, but there may be implementation-specific limits. The importing application is free to select the exact spacing algorithm. The letter spacing may also be influenced by justification (which is a value of the TextAlign attribute).",
            "LineHeight": "The property sets the distance between two adjacent lines' baselines. When a ratio value is specified, the line height is given by the font size of the current element multiplied with the numerical value. A value of 'normal' sets the line height to a reasonable value for the element's font. It is suggested that importing applications set the 'normal' value to be a ratio number in the range of 1.0 to 1.2.",
            "TextAlign": "This property describes how text is aligned horizontally within the element. The actual justification algorithm used is dependent on the rendering algorithm.",
            "TextDecoration": "This property describes decorations that are added to the text of an element.",
            "TextIndent": "The property specifies the indentation that appears before the first formatted line.",
            "TextTransform": "This property describes how text characters may transform to upper case, lower case, or capitalized case, independent of the character case used in the text literal.",
            "WordSpacing": "The length unit indicates an addition to the default space between words. Values can be negative, but there may be implementation-specific limits. The importing application is free to select the exact spacing algorithm. The word spacing may also be influenced by justification (which is a value of the 'text-align' property)."
        },
        "description": "The IfcTextStyleTextModel combines all text style properties, that affect the presentation of a text literal within a given extent. It includes the spacing between characters and words, the horizontal and vertical alignment of the text within the planar box of the extent, decorations (like underline), transformations of the literal (like uppercase), and the height of each text line within a multi-line text block.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTextStyleTextModel.htm"
    },
    "IfcTextureCoordinate": {
        "attributes": {
            "Maps": "Reference to the one (or many in case of multi textures with identity transformation to geometric surfaces) subtype(s) of IfcSurfaceTexture that are mapped to a geometric surface by the texture coordinate transformation."
        },
        "description": "The IfcTextureCoordinate is an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTextureCoordinate.htm"
    },
    "IfcTextureCoordinateGenerator": {
        "attributes": {
            "Mode": "The Mode attribute describes the algorithm used to compute texture coordinates. The following modes are recommended:",
            "Parameter": "The parameters used as arguments by the function as specified by Mode."
        },
        "description": "The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTextureCoordinateGenerator.htm"
    },
    "IfcTextureCoordinateIndices": {
        "attributes": {
            "TexCoordIndex": "List of index pointers into the IfcTextureVertexList referenced by the inherited attribute TexCoords.",
            "TexCoordsOf": "The IndexedPolygonalFace for which the texture coordinates are provided.",
            "ToTexMap": ""
        },
        "description": "The IfcTextureCoordinateIndices provide the texture coordinates for an IfcIndexedPolygonalFace. The TexCoordIndex holds a list of indices pointing into the IfcTextureVertexList for texture coordinates that correspond to the _TexCoordsOf.CoordIndex_ holding a list of indices pointing into the IfcCartesianPointList3D for vertex coordinates.\n> HISTORY  New entity in IFC4.3.0.0\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTextureCoordinateIndices.htm"
    },
    "IfcTextureCoordinateIndicesWithVoids": {
        "attributes": {
            "InnerTexCoordIndices": ""
        },
        "description": "The IfcTextureCoordinateIndicesWithVoids is a subtype of IfcTextureCoordinateIndices to be used to provide texture coordinates to polygonal faces with inner loops. The two dimensional list of TexCoordIndex holds the indices into the IfcTextureVertexList that correspond to the list of CoordIndex at TexCoordsOf where:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTextureCoordinateIndicesWithVoids.htm"
    },
    "IfcTextureMap": {
        "attributes": {
            "MappedTo": "The face that defines the corresponding list of points along the bounding poly loop of the face outer bound.",
            "Vertices": "List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound."
        },
        "description": "An IfcTextureMap provides the mapping of the 2-dimensional texture coordinates to the surface onto which it is mapped. It is used for mapping the texture to surfaces of vertex based geometry models, such as",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTextureMap.htm"
    },
    "IfcTextureVertex": {
        "attributes": {
            "Coordinates": "The first Coordinate[1] is the S, the second Coordinate[2] is the T parameter value."
        },
        "description": "An IfcTextureVertex is a list of 2 (S, T) texture coordinates.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTextureVertex.htm"
    },
    "IfcTextureVertexList": {
        "attributes": {
            "TexCoordsList": "List of texture vertices defined by S-coordinate and T-coordinate."
        },
        "description": "The IfcTextureVertexList defines an ordered collection of texture vertices. Each texture vertex is a two-dimensional vertex provided by a fixed list of two texture coordinates. The attribute TexCoordsList is a two-dimensional list, where",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTextureVertexList.htm"
    },
    "IfcThirdOrderPolynomialSpiral": {
        "attributes": {
            "ConstantTerm": "The constant that defines the constant term in the equation which defines the relation between curvature and arc length for the curve.",
            "CubicTerm": "The constant that defines the cubic term in the equation which defines the relation between curvature and arc length for the curve.",
            "LinearTerm": "The constant that defines the linear term in the equation which defines the relation between curvature and arc length for the curve.",
            "QuadraticTerm": "The constant that defines the quadratic term in the equation which defines the relation between curvature and arc length for the curve."
        },
        "description": "The IfcThirdOrderPolynomialSpiral is a specialization of IfcSpiral. The curvature _\u03ba_ and radius of the curvature _\u03c1_, at any point of the curve, are related to the arc length s by the third order formulae:\n>>\n>> ![formula](../../../../figures/ifcthirdorderpolynomialspiral_curvature.PNG)\n>>\n> Interpretation of the parameters:\n>>\n>>\n>> C = SELF\\IfcSpiral.Position.Location\n>> x = SELF\\IfcSpiral.Position.P[1]\n>> y = SELF\\IfcSpiral.Position.P[2]\n>> A<sub>3</sub> = CubicTerm\n>> A<sub>2</sub> = QuadraticTerm\n>> A<sub>1</sub> = LinearTerm\n>> A<sub>0</sub> = ContantTerm\n>>\n> and the third order polynomial spiral is parameterized as:\n>>\n>> ![formula](../../../../figures/ifcspiral_parameterization.PNG)\n>>\n> where:\n>>\n>> ![formula](../../../../figures/ifcthirdorderpolynomialspiral_theta.PNG)\n>>\n> and the parametric range is: -&infin; < u < &infin;.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcThirdOrderPolynomialSpiral.htm"
    },
    "IfcTimePeriod": {
        "attributes": {
            "EndTime": "End time of the time period.",
            "StartTime": "Start time of the time period."
        },
        "description": "IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTimePeriod.htm"
    },
    "IfcTimeSeries": {
        "attributes": {
            "DataOrigin": "The origin of a time series data.",
            "Description": "A text description of the data that the series represents.",
            "EndTime": "The end time of a time series.",
            "HasExternalReference": "Reference to an external reference, e.g. library, classification, or document information, that is associated to the IfcTimeSeries.",
            "Name": "An unique name for the time series.",
            "StartTime": "The start time of a time series.",
            "TimeSeriesDataType": "The time series data type.",
            "Unit": "The unit to be assigned to all values within the time series. Note that mixing units is not allowed. If the value is not given, the global unit for the type of IfcValue, as defined at IfcProject.UnitsInContext is used.",
            "UserDefinedDataOrigin": "Value of the data origin if DataOrigin attribute is USERDEFINED."
        },
        "description": "A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTimeSeries.htm"
    },
    "IfcTimeSeriesValue": {
        "attributes": {
            "ListValues": "A list of time-series values. At least one value is required."
        },
        "description": "A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTimeSeriesValue.htm"
    },
    "IfcTopologicalRepresentationItem": {
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> The topological representation item is the supertype for all the topological representation items in the geometry resource.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTopologicalRepresentationItem.htm"
    },
    "IfcTopologyRepresentation": {
        "description": "IfcTopologyRepresentation represents the concept of a particular topological representation of a product or a product component within a representation context. This representation context does not need to be (but may be) a geometric representation context. Several representation types for shape representation are included as predefined types:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTopologyRepresentation.htm"
    },
    "IfcToroidalSurface": {
        "attributes": {
            "MajorRadius": "The major radius of the torus.",
            "MinorRadius": "The minor radius of the torus."
        },
        "description": "The IfcToroidalSurface is a bounded elementary surface. It is constructed by completely revolving a circle around an axis line. The inherited Position attribute defines the IfcAxisPlacement3D and provides:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcToroidalSurface.htm"
    },
    "IfcTrackElement": {
        "description": "A track element is a built element used specifically in the track domain in railway.\n",
        "predefined_types": {
            "BLOCKINGDEVICE": "A device composed of pneumatic, mechanic or electric components causing the braking of a train in case of emergency.",
            "DERAILER": "A fixed device which, when placed on the rail, derails the wheels of a vehicle, and serves to protect a converging line. Note: definition from IEC 60050-821.",
            "FROG": "A frog is an arrangement ensuring the intersection of two opposite running edges of turnouts or diamond crossings and having one crossing vee and two wing rails. Note: definition from EN 13232-1-2004.",
            "HALF_SET_OF_BLADES": "A half set of blades consists of one stock rail and its switch rail complete with small fittings. It is right or left hand as seen by an observer in the centre of the track facing the switch heel from the switch toe. Note: definition from EN 13232-1-2004.",
            "NOTDEFINED": "Undefined type.",
            "SLEEPER": "A sleeper is a track element that supports running rails, guard rails and check rails usually at right angles to its axis.",
            "SPEEDREGULATOR": "A device composed of pneumatic, mechanic or electric components causing the breaking of a train in case of emergency.",
            "TRACKENDOFALIGNMENT": "A track end of alignment is a special functional installation such as axle-gauge changeover point or transporter wagon loading point.",
            "USERDEFINED": "User-defined type",
            "VEHICLESTOP": "A fixed installation at the end of the track which stops any vehicle movement (e.g., buffer stop, sand hump, etc.)."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrackElement.htm"
    },
    "IfcTrackElementType": {
        "description": "The element type IfcTrackElementType defines commonly shared information for occurrences of track elements. The set of shared information may include:\n* common properties within shared property sets\n* common material information\n* common profile definitions\n* common shape representations",
        "predefined_types": {
            "BLOCKINGDEVICE": "A device composed of pneumatic, mechanic or electric components causing the braking of a train in case of emergency.",
            "DERAILER": "A fixed device which, when placed on the rail, derails the wheels of a vehicle, and serves to protect a converging line. Note: definition from IEC 60050-821.",
            "FROG": "A frog is an arrangement ensuring the intersection of two opposite running edges of turnouts or diamond crossings and having one crossing vee and two wing rails. Note: definition from EN 13232-1-2004.",
            "HALF_SET_OF_BLADES": "A half set of blades consists of one stock rail and its switch rail complete with small fittings. It is right or left hand as seen by an observer in the centre of the track facing the switch heel from the switch toe. Note: definition from EN 13232-1-2004.",
            "NOTDEFINED": "Undefined type.",
            "SLEEPER": "A sleeper is a track element that supports running rails, guard rails and check rails usually at right angles to its axis.",
            "SPEEDREGULATOR": "A device composed of pneumatic, mechanic or electric components causing the breaking of a train in case of emergency.",
            "TRACKENDOFALIGNMENT": "A track end of alignment is a special functional installation such as axle-gauge changeover point or transporter wagon loading point.",
            "USERDEFINED": "User-defined type",
            "VEHICLESTOP": "A fixed installation at the end of the track which stops any vehicle movement (e.g., buffer stop, sand hump, etc.)."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrackElementType.htm"
    },
    "IfcTransformer": {
        "description": "A transformer is an inductive stationary device that transfers electrical energy from one circuit to another.",
        "predefined_types": {
            "CHOPPER": "A chopper is an electronic power DC convertor without an intermediate AC link giving a variable output voltage by varying the periods of conduction and non-conduction in an adjustable ratio.",
            "COMBINED": "A transformer that changes different quantities between circuits.",
            "CURRENT": "A transformer that changes the current between circuits.",
            "FREQUENCY": "A transformer that changes the frequency between circuits.",
            "INVERTER": "A transformer that converts from direct current (DC) to alternating current (AC).",
            "NOTDEFINED": "Undefined type.",
            "RECTIFIER": "A transformer that converts from alternating current (AC) to direct current (DC).",
            "USERDEFINED": "User-defined type.",
            "VOLTAGE": "A transformer that changes the voltage between circuits."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTransformer.htm"
    },
    "IfcTransformerType": {
        "description": "The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include:",
        "predefined_types": {
            "CHOPPER": "A chopper is an electronic power DC convertor without an intermediate AC link giving a variable output voltage by varying the periods of conduction and non-conduction in an adjustable ratio.",
            "COMBINED": "A transformer that changes different quantities between circuits.",
            "CURRENT": "A transformer that changes the current between circuits.",
            "FREQUENCY": "A transformer that changes the frequency between circuits.",
            "INVERTER": "A transformer that converts from direct current (DC) to alternating current (AC).",
            "NOTDEFINED": "Undefined type.",
            "RECTIFIER": "A transformer that converts from alternating current (AC) to direct current (DC).",
            "USERDEFINED": "User-defined type.",
            "VOLTAGE": "A transformer that changes the voltage between circuits."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTransformerType.htm"
    },
    "IfcTransportElement": {
        "description": "A transport element is a generalization of all transport related objects that move people, animals or goods within a Facility. The IfcTransportElement defines the occurrence of a transport element, that (if given), is expressed by the IfcTransportElementType.",
        "predefined_types": {
            "CRANEWAY": "A crane way system, normally including the crane rails, fasteners and the crane. It is primarily used to move heavy goods in a factory or other industry buildings.",
            "ELEVATOR": "Elevator or lift being a transport device to move people of good vertically.",
            "ESCALATOR": "Escalator being a transport device to move people. It consists of individual linked steps that move up and down on tracks while keeping the threads horizontal.",
            "HAULINGGEAR": "A device used for hauling goods.",
            "LIFTINGGEAR": "A device used for lifting or lowering heavy goods. It may be manually operated or electrically or pneumatically driven.",
            "MOVINGWALKWAY": "Moving walkway being a transport device to move people horizontally or on an incline. It is a slow conveyor belt that transports people.",
            "NOTDEFINED": "",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTransportElement.htm"
    },
    "IfcTransportElementType": {
        "description": "The element type IfcTransportElementType defines commonly shared information for occurrences of transport elements. The set of shared information may include:",
        "predefined_types": {
            "CRANEWAY": "A crane way system, normally including the crane rails, fasteners and the crane. It is primarily used to move heavy goods in a factory or other industry buildings.",
            "ELEVATOR": "Elevator or lift being a transport device to move people of good vertically.",
            "ESCALATOR": "Escalator being a transport device to move people. It consists of individual linked steps that move up and down on tracks while keeping the threads horizontal.",
            "HAULINGGEAR": "A device used for hauling goods.",
            "LIFTINGGEAR": "A device used for lifting or lowering heavy goods. It may be manually operated or electrically or pneumatically driven.",
            "MOVINGWALKWAY": "Moving walkway being a transport device to move people horizontally or on an incline. It is a slow conveyor belt that transports people.",
            "NOTDEFINED": "",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTransportElementType.htm"
    },
    "IfcTransportationDevice": {
        "description": "Abstract intermediate supertype for transportation devices.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTransportationDevice.htm"
    },
    "IfcTransportationDeviceType": {
        "description": "Types of Transportation Devices.\n",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTransportationDeviceType.htm"
    },
    "IfcTrapeziumProfileDef": {
        "attributes": {
            "BottomXDim": "The extent of the bottom line measured along the implicit x-axis.",
            "TopXDim": "The extent of the top line measured along the implicit x-axis.",
            "TopXOffset": "Offset from the beginning of the top line to the bottom line, measured along the implicit x-axis.",
            "YDim": "The extent of the distance between the parallel bottom and top lines measured along the implicit y-axis."
        },
        "description": "IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrapeziumProfileDef.htm"
    },
    "IfcTriangulatedFaceSet": {
        "attributes": {
            "CoordIndex": "Two-dimensional list for the indexed-based triangles, where * The first dimension represents the triangles (from 1 to N) * The second dimension has exactly three values representing the indices to three vertex points (from 1 to 3).",
            "Normals": "An ordered list of three directions for normals. It is a two-dimensional list of directions provided by three parameter values. * The first dimension corresponds to the vertex indices of the Coordindex * The second dimension has exactly three values, [1] the x-direction, [2] the y-direction and [3] the z-directions",
            "PnIndex": "The list of integers defining the locations in the IfcCartesianPointList3D to obtain the point coordinates for the indices withint the CoordIndex. If the PnIndex is not provided the indices point directly into the IfcCartesianPointList3D."
        },
        "description": "The IfcTriangulatedFaceSet is a tessellated face set with all faces being bound by triangles. The faces are constructed by implicit polylines defined by three Cartesian points. Depending on the value of the inherited attribute Closed the instance of IfcTriangulatedFaceSet represents:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTriangulatedFaceSet.htm"
    },
    "IfcTriangulatedIrregularNetwork": {
        "attributes": {
            "Flags": "Indicates attributes of each triangle in a compact form as follows: -2 = invisible void; -1 = invisible hole; 0 = no breaklines; 1 = breakline at edge 1; 2 = breakline at edge 2; 3 = breakline at edges 1 and 2; 4 = breakline at edge 3; 5 = breakline at edges 1 and 3; 6 = breakline at edges 2 and 3; 7 = breakline at edges 1, 2, and 3."
        },
        "description": "The IfcTriangulatedIrregularNetwork is a triangulated face set for representing horizontal surfaces (one unique Z coordinate for all X and Y coordinates within domain) with additional flags for each face indicating breaklines between faces or designation as a hole or void. Triangles shall be defined with vertices in counterclockwise order as viewing from above (following right-hand rule).",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTriangulatedIrregularNetwork.htm"
    },
    "IfcTrimmedCurve": {
        "attributes": {
            "BasisCurve": "The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only.",
            "MasterRepresentation": "Where both parameter and point are present at either end of the curve this indicates the preferred form.",
            "SenseAgreement": "Flag to indicate whether the direction of the trimmed curve agrees with or is opposed to the direction of the basis curve.",
            "Trim1": "The first trimming point which may be specified as a Cartesian point, as a real parameter or both.",
            "Trim2": "The second trimming point which may be specified as a Cartesian point, as a real parameter or both."
        },
        "description": "An IfcTrimmedCurve is a bounded curve that is trimmed at both ends. The trimming points may be provided by a Cartesian point or by a parameter value, based on the parameterization of the BasisCurve. The SenseAgreement attribute indicates whether the direction of the IfcTrimmedCurve agrees with or is opposed to the direction of the BasisCurve.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmedCurve.htm"
    },
    "IfcTubeBundle": {
        "description": "A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil.",
        "predefined_types": {
            "FINNED": "Finned tube bundle type.",
            "NOTDEFINED": "Undefined tube bundle type.",
            "USERDEFINED": "User-defined tube bundle type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTubeBundle.htm"
    },
    "IfcTubeBundleType": {
        "description": "The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include:",
        "predefined_types": {
            "FINNED": "Finned tube bundle type.",
            "NOTDEFINED": "Undefined tube bundle type.",
            "USERDEFINED": "User-defined tube bundle type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTubeBundleType.htm"
    },
    "IfcTypeObject": {
        "attributes": {
            "ApplicableOccurrence": "The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: * The IFC entity name of the applicable occurrence using the IFC naming convention, CamelCase with IFC prefix * It can be optionally followed by the predefined type after the separator \"/\" (forward slash), using uppercase * If one type object is applicable to many occurrence objects, then those occurrence object names should be separate by comma \",\" forming a comma separated string.",
            "HasPropertySets": "Set ~~list~~ of unique property sets, that are associated with the object type and are common to all object occurrences referring to this object type.",
            "Types": "Reference to the relationship IfcRelDefinedByType and thus to those occurrence objects, which are defined by this type."
        },
        "description": "The object type defines the specific information about a type, being common to all occurrences of this type. It refers to the specific level of the well recognized _generic - specific - occurrence_ modeling paradigm. The IfcTypeObject gets assigned to the individual object instances (the occurrences) via the IfcRelDefinesByType relationship.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTypeObject.htm"
    },
    "IfcTypeProcess": {
        "attributes": {
            "Identification": "An identifying designation given to a process type.",
            "LongDescription": "An long description, or text, describing the activity in detail.",
            "OperatesOn": "Set of relationships to other objects, e.g. products, processes, controls, resources or actors that are operated on by the process type.",
            "ProcessType": "The type denotes a particular type that indicates the process further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED."
        },
        "description": "IfcTypeProcess defines a specific (or type) definition of a process or activity without being assigned to a schedule or a time.\u00a0It is used to define a process or activity specification, that is, the specific process or activity information that is common to all occurrences that are defined for that process or activity type.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTypeProcess.htm"
    },
    "IfcTypeProduct": {
        "attributes": {
            "ReferencedBy": "Reference to the IfcRelAssignsToProduct relationship, by which other products, processes, controls, resources or actors (as subtypes of IfcObjectDefinition) can be related to this product type.",
            "RepresentationMaps": "List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given.",
            "Tag": "The tag (or label) identifier at the particular type of a product, e.g. the article number (like the EAN). It is the identifier at the specific level."
        },
        "description": "IfcTypeProduct defines a type definition of a product without being already inserted into a project structure (without having a placement), and not being included in the geometric representation context of the project.\u00a0It is used to define a product specification, that is, the specific product information that is common to all occurrences of that product type.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTypeProduct.htm"
    },
    "IfcTypeResource": {
        "attributes": {
            "Identification": "An identifying designation given to a resource type.",
            "LongDescription": "An long description, or text, describing the resource in detail.",
            "ResourceOf": "Set of relationships to other objects, e.g. products, processes, controls, resources or actors to which this resource type is a resource.",
            "ResourceType": "The type denotes a particular type that indicates the resource further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED."
        },
        "description": "IfcTypeResource defines a specific (or type) definition of a resource.\u00a0It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTypeResource.htm"
    },
    "IfcUShapeProfileDef": {
        "attributes": {
            "Depth": "Web lengths, see illustration above (= h).",
            "EdgeRadius": "Edge radius according the above illustration (= r2).",
            "FilletRadius": "Fillet radius according the above illustration (= r1).",
            "FlangeSlope": "Slope of flange of the profile.",
            "FlangeThickness": "Constant wall thickness of flange (= tg).",
            "FlangeWidth": "Flange lengths, see illustration above (= b).",
            "WebThickness": "Constant wall thickness of web (= ts)."
        },
        "description": "IfcUShapeProfileDef defines a section profile that provides the defining parameters of a U-shape (channel) section to be used by the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The centre of the position coordinate system is in the profile's centre of the bounding box.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcUShapeProfileDef.htm"
    },
    "IfcUnitAssignment": {
        "attributes": {
            "Units": "Units to be included within a unit assignment."
        },
        "description": "IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcUnitAssignment.htm"
    },
    "IfcUnitaryControlElement": {
        "description": "A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat.",
        "predefined_types": {
            "ALARMPANEL": "A control element at which alarms are annunciated.",
            "BASESTATIONCONTROLLER": "A base station controller (BSC) is a network component with the functions for controlling one or more base transceiver stations. BSC is responsible for the management of various interfaces, wireless resources and parameters, the signalling processing of call establishment and the channel allocation in the cell.",
            "COMBINED": "Combination of at least two predefined types of unitary control element.",
            "CONTROLPANEL": "A control element at which devices that control or monitor the operation of a site, building or part of a building are located",
            "GASDETECTIONPANEL": "A control element at which the detection of gas is annunciated.",
            "HUMIDISTAT": "A control element that senses and regulates the humidity of a system or space so that the humidity is maintained near a desired setpoint.",
            "INDICATORPANEL": "A control element at which equipment operational status, condition, safety state or other required parameters are indicated.",
            "MIMICPANEL": "A control element at which information that is available elsewhere is repeated or 'mimicked'.",
            "NOTDEFINED": "Undefined type.",
            "THERMOSTAT": "A control element that senses and regulates the temperature of an element, system or space so that the temperature is maintained near a desired setpoint.",
            "USERDEFINED": "User-defined type.",
            "WEATHERSTATION": "A control element that senses multiple climate properties such as temperature, humidity, pressure, wind, and rain."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcUnitaryControlElement.htm"
    },
    "IfcUnitaryControlElementType": {
        "description": "The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include:",
        "predefined_types": {
            "ALARMPANEL": "A control element at which alarms are annunciated.",
            "BASESTATIONCONTROLLER": "A base station controller (BSC) is a network component with the functions for controlling one or more base transceiver stations. BSC is responsible for the management of various interfaces, wireless resources and parameters, the signalling processing of call establishment and the channel allocation in the cell.",
            "COMBINED": "Combination of at least two predefined types of unitary control element.",
            "CONTROLPANEL": "A control element at which devices that control or monitor the operation of a site, building or part of a building are located",
            "GASDETECTIONPANEL": "A control element at which the detection of gas is annunciated.",
            "HUMIDISTAT": "A control element that senses and regulates the humidity of a system or space so that the humidity is maintained near a desired setpoint.",
            "INDICATORPANEL": "A control element at which equipment operational status, condition, safety state or other required parameters are indicated.",
            "MIMICPANEL": "A control element at which information that is available elsewhere is repeated or 'mimicked'.",
            "NOTDEFINED": "Undefined type.",
            "THERMOSTAT": "A control element that senses and regulates the temperature of an element, system or space so that the temperature is maintained near a desired setpoint.",
            "USERDEFINED": "User-defined type.",
            "WEATHERSTATION": "A control element that senses multiple climate properties such as temperature, humidity, pressure, wind, and rain."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcUnitaryControlElementType.htm"
    },
    "IfcUnitaryEquipment": {
        "description": "Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, heat pumps, and split systems.",
        "predefined_types": {
            "AIRCONDITIONINGUNIT": "A unitary packaged air-conditioning unit typically used in residential or light commercial applications.",
            "AIRHANDLER": "A unitary air handling unit typically containing a fan, economizer, and coils.",
            "DEHUMIDIFIER": "A unitary packaged dehumidification unit.  Note: units supporting multiple modes (dehumidification, cooling, and/or heating) should use AIRCONDITIONINGUNIT.",
            "NOTDEFINED": "Undefined unitary equipment type.",
            "ROOFTOPUNIT": "A packaged assembly that is either field-erected or manufactured atop the roof of a large residential or commercial building and acts as a unitary component.",
            "SPLITSYSTEM": "A system which separates the compressor from the evaporator, but acts as a unitary component typically within residential or light commercial applications.",
            "USERDEFINED": "User-defined unitary equipment type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcUnitaryEquipment.htm"
    },
    "IfcUnitaryEquipmentType": {
        "description": "The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipment. The set of shared information may include:",
        "predefined_types": {
            "AIRCONDITIONINGUNIT": "A unitary packaged air-conditioning unit typically used in residential or light commercial applications.",
            "AIRHANDLER": "A unitary air handling unit typically containing a fan, economizer, and coils.",
            "DEHUMIDIFIER": "A unitary packaged dehumidification unit.  Note: units supporting multiple modes (dehumidification, cooling, and/or heating) should use AIRCONDITIONINGUNIT.",
            "NOTDEFINED": "Undefined unitary equipment type.",
            "ROOFTOPUNIT": "A packaged assembly that is either field-erected or manufactured atop the roof of a large residential or commercial building and acts as a unitary component.",
            "SPLITSYSTEM": "A system which separates the compressor from the evaporator, but acts as a unitary component typically within residential or light commercial applications.",
            "USERDEFINED": "User-defined unitary equipment type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcUnitaryEquipmentType.htm"
    },
    "IfcValve": {
        "description": "A valve is used in a building services piping distribution system to control or modulate the flow of the fluid.",
        "predefined_types": {
            "AIRRELEASE": "Valve used to release air from a pipe or fitting.",
            "ANTIVACUUM": "Valve that opens to admit air if the pressure falls below atmospheric pressure.",
            "CHANGEOVER": "Valve that enables flow to be switched between pipelines (3 or 4 port).",
            "CHECK": "Valve that permits water to flow in one direction only and is enclosed when there is no flow (2 port).",
            "COMMISSIONING": "Valve used to facilitate commissioning of a system (2 port).",
            "DIVERTING": "Valve that enables flow to be diverted from one branch of a pipeline to another (3 port).",
            "DOUBLECHECK": "An assembly that incorporates two valves used to prevent backflow.",
            "DOUBLEREGULATING": "Valve used to facilitate regulation of fluid flow in a system.",
            "DRAWOFFCOCK": "A valve used to remove fluid from a piping system.",
            "FAUCET": "Faucet valve typically used as a flow discharge.",
            "FLUSHING": "Valve that flushes a predetermined quantity of water to cleanse a toilet, urinal, etc.",
            "GASCOCK": "Valve that is used for controlling the flow of gas.",
            "GASTAP": "Gas tap typically used for venting or discharging gas from a system.",
            "ISOLATING": "Valve that closes off flow in a pipeline.",
            "MIXING": "Valve that enables flow from two branches of a pipeline to be mixed together (3 port).",
            "NOTDEFINED": "Undefined valve type.",
            "PRESSUREREDUCING": "Valve that reduces the pressure of a fluid immediately downstream of its position in a pipeline to a preselected value or by a predetermined ratio.",
            "PRESSURERELIEF": "Spring or weight loaded valve that automatically discharges to a safe place fluid that has built up to excessive pressure in pipes or fittings.",
            "REGULATING": "Valve used to facilitate regulation of fluid flow in a system.",
            "SAFETYCUTOFF": "Valve that closes under the action of a safety mechanism such as a drop weight, solenoid etc.",
            "STEAMTRAP": "Valve that restricts flow of steam while allowing condensate to pass through.",
            "STOPCOCK": "An isolating valve used on a domestic water service.",
            "USERDEFINED": "User-defined valve type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcValve.htm"
    },
    "IfcValveType": {
        "description": "The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include:",
        "predefined_types": {
            "AIRRELEASE": "Valve used to release air from a pipe or fitting.",
            "ANTIVACUUM": "Valve that opens to admit air if the pressure falls below atmospheric pressure.",
            "CHANGEOVER": "Valve that enables flow to be switched between pipelines (3 or 4 port).",
            "CHECK": "Valve that permits water to flow in one direction only and is enclosed when there is no flow (2 port).",
            "COMMISSIONING": "Valve used to facilitate commissioning of a system (2 port).",
            "DIVERTING": "Valve that enables flow to be diverted from one branch of a pipeline to another (3 port).",
            "DOUBLECHECK": "An assembly that incorporates two valves used to prevent backflow.",
            "DOUBLEREGULATING": "Valve used to facilitate regulation of fluid flow in a system.",
            "DRAWOFFCOCK": "A valve used to remove fluid from a piping system.",
            "FAUCET": "Faucet valve typically used as a flow discharge.",
            "FLUSHING": "Valve that flushes a predetermined quantity of water to cleanse a toilet, urinal, etc.",
            "GASCOCK": "Valve that is used for controlling the flow of gas.",
            "GASTAP": "Gas tap typically used for venting or discharging gas from a system.",
            "ISOLATING": "Valve that closes off flow in a pipeline.",
            "MIXING": "Valve that enables flow from two branches of a pipeline to be mixed together (3 port).",
            "NOTDEFINED": "Undefined valve type.",
            "PRESSUREREDUCING": "Valve that reduces the pressure of a fluid immediately downstream of its position in a pipeline to a preselected value or by a predetermined ratio.",
            "PRESSURERELIEF": "Spring or weight loaded valve that automatically discharges to a safe place fluid that has built up to excessive pressure in pipes or fittings.",
            "REGULATING": "Valve used to facilitate regulation of fluid flow in a system.",
            "SAFETYCUTOFF": "Valve that closes under the action of a safety mechanism such as a drop weight, solenoid etc.",
            "STEAMTRAP": "Valve that restricts flow of steam while allowing condensate to pass through.",
            "STOPCOCK": "An isolating valve used on a domestic water service.",
            "USERDEFINED": "User-defined valve type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcValveType.htm"
    },
    "IfcVector": {
        "attributes": {
            "Magnitude": "The magnitude of the vector. All vectors of Magnitude 0.0 are regarded as equal in value regardless of the orientation attribute.",
            "Orientation": "The direction of the vector."
        },
        "description": "An IfcVector is a geometric representation item having both a magnitude and direction. The magnitude of the vector is solely defined by the Magnitude attribute and the direction is solely defined by the Orientation attribute.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcVector.htm"
    },
    "IfcVehicle": {
        "description": "A Vehicle.\n",
        "predefined_types": {
            "CARGO": "A mobile transport element that represents a discrete unit of cargo managed by a facility.",
            "NOTDEFINED": "Undefined type.",
            "ROLLINGSTOCK": "Refers to railway vehicles, including both powered and unpowered vehicles, for example locomotives, railroad cars, coaches, private railroad cars and wagons.",
            "USERDEFINED": "User-defined type",
            "VEHICLE": "a generalisation of a vehicle that interacts with a facility (e.g. as a user/customer) or as a specified operational asset within the facility.",
            "VEHICLEAIR": "A specialisation of a vehicle that represents powered and unpowered flying vehicles, such as airplanes, helicopters, gliders etc.",
            "VEHICLEMARINE": "A specialisation of a vehicle that operates on water as a marine vessel.",
            "VEHICLETRACKED": "A specialisation of a vehicle that operates on land tracked (Caterpillar) vehicle.",
            "VEHICLEWHEELED": "A specialisation of a vehicle that operates on land as a multi wheeled vehicle such as a car, lorry, forklift etc."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcVehicle.htm"
    },
    "IfcVehicleType": {
        "description": "Type of Vehicle.\n",
        "predefined_types": {
            "CARGO": "A mobile transport element that represents a discrete unit of cargo managed by a facility.",
            "NOTDEFINED": "Undefined type.",
            "ROLLINGSTOCK": "Refers to railway vehicles, including both powered and unpowered vehicles, for example locomotives, railroad cars, coaches, private railroad cars and wagons.",
            "USERDEFINED": "User-defined type",
            "VEHICLE": "a generalisation of a vehicle that interacts with a facility (e.g. as a user/customer) or as a specified operational asset within the facility.",
            "VEHICLEAIR": "A specialisation of a vehicle that represents powered and unpowered flying vehicles, such as airplanes, helicopters, gliders etc.",
            "VEHICLEMARINE": "A specialisation of a vehicle that operates on water as a marine vessel.",
            "VEHICLETRACKED": "A specialisation of a vehicle that operates on land tracked (Caterpillar) vehicle.",
            "VEHICLEWHEELED": "A specialisation of a vehicle that operates on land as a multi wheeled vehicle such as a car, lorry, forklift etc."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcVehicleType.htm"
    },
    "IfcVertex": {
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space _R^M^_; this is represented by the vertex point subtype.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcVertex.htm"
    },
    "IfcVertexLoop": {
        "attributes": {
            "LoopVertex": "The vertex which defines the entire loop."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> A vertex_loop is a loop of zero genus consisting of a single vertex. A vertex can exist independently of a vertex loop. The topological data shall satisfy the following constraint:\n>> ![Image](../../../../figures/ifcvertexloop-math1.gif)",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcVertexLoop.htm"
    },
    "IfcVertexPoint": {
        "attributes": {
            "VertexGeometry": "The geometric point, which defines the position in geometric space of the vertex."
        },
        "description": "{ .extDef}\n> NOTE  Definition according to ISO/CD 10303-42:1992\n> A vertex point is a vertex which has its geometry defined as a point.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcVertexPoint.htm"
    },
    "IfcVibrationDamper": {
        "description": "A vibration damper is a device used to minimize the effects of vibration in a structure by dissipating kinetic energy. The damper may be passive (elastic, frictional, inertia) or active (in a system using sensors and actuators).\n",
        "predefined_types": {
            "BACKDRAFTDAMPER": "",
            "BALANCINGDAMPER": "",
            "BLASTDAMPER": "",
            "CONTROLDAMPER": "",
            "FIREDAMPER": "",
            "FIRESMOKEDAMPER": "",
            "FUMEHOODEXHAUST": "",
            "GRAVITYDAMPER": "",
            "GRAVITYRELIEFDAMPER": "",
            "NOTDEFINED": "Undefined vibration damper type.",
            "RELIEFDAMPER": "",
            "SMOKEDAMPER": "",
            "USERDEFINED": "User-defined vibration damper type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcVibrationDamper.htm"
    },
    "IfcVibrationDamperType": {
        "description": "The IfcVibrationDamperType provides the type information for IfcVibrationDamper occurrences.\n",
        "predefined_types": {
            "AXIAL_YIELD": "A displacement dependent type damper in which the resistance force generated is determined by the plastic strain amount utilizing the plastic deformation of the steel material. The axial yield type is a damper that yields energy by absorbing the steel material against deformation in the axial direction, that is, in the direction of expansion and contraction.",
            "BENDING_YIELD": "A displacement dependent type damper in which the resistance force generated is determined by the plastic strain amount utilizing the plastic deformation of the steel material. The bending yield type is a damper, which yields steel material by bending.",
            "FRICTION": "The friction type is a damper utilizing friction acting on the contact surface of a material.",
            "NOTDEFINED": "Undefined vibration damper type.",
            "RUBBER": "The rubber mold is a damper that absorbs energy by utilizing deformation of laminated rubber. The difference between the seismic isolation bearing and the rubber type damper is whether or not to support the weight of the upper structures. The rubber damper does not transmit the weight of the upper structures to the sub structure.",
            "SHEAR_YIELD": "A displacement dependent type damper in which the resistance force generated is determined by the plastic strain amount utilizing the plastic deformation of the steel material. The shear yield type is a damper, which causes the steel material to yield for deformation in the direction perpendicular to the member.",
            "USERDEFINED": "User-defined vibration damper type.",
            "VISCOUS": "The viscous type is a damper that absorbs energy by utilizing the resistance of a viscous body."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcVibrationDamperType.htm"
    },
    "IfcVibrationIsolator": {
        "description": "A vibration isolator is a device used to minimize the effects of vibration transmissibility in a structure.",
        "predefined_types": {
            "BASE": "Base isolator preventing transfer of energy from the ground to the structure.",
            "COMPRESSION": "Compression type vibration isolator.",
            "NOTDEFINED": "Undefined vibration isolator type.",
            "SPRING": "Spring type vibration isolator.",
            "USERDEFINED": "User-defined vibration isolator type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcVibrationIsolator.htm"
    },
    "IfcVibrationIsolatorType": {
        "description": "The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include:",
        "predefined_types": {
            "BASE": "Base isolator preventing transfer of energy from the ground to the structure.",
            "COMPRESSION": "Compression type vibration isolator.",
            "NOTDEFINED": "Undefined vibration isolator type.",
            "SPRING": "Spring type vibration isolator.",
            "USERDEFINED": "User-defined vibration isolator type."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcVibrationIsolatorType.htm"
    },
    "IfcVirtualElement": {
        "description": "A virtual element is a special element used to provide imaginary, placeholder, or provisional areas, volumes, and boundaries. Virtual elements are usually not displayed and do not have quantities, associated materials, and other measures.",
        "predefined_types": {
            "BOUNDARY": "An imaginary boundary, such as between two adjacent spaces that are not separated by a physcial boundary.",
            "CLEARANCE": "The virtual element denotes a clearance area or volume",
            "NOTDEFINED": "",
            "PROVISIONFORVOID": "The virtual element denotes a proposed provision for voids (an proposed opening not applied as void yet).",
            "USERDEFINED": ""
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcVirtualElement.htm"
    },
    "IfcVirtualGridIntersection": {
        "attributes": {
            "IntersectingAxes": "Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes.",
            "OffsetDistances": "Offset distances to the grid axes. If given, it defines virtual offset curves to the grid axes. The intersection of the offset curves specify the virtual grid intersection."
        },
        "description": "IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcVirtualGridIntersection.htm"
    },
    "IfcVoidingFeature": {
        "description": "A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete.",
        "predefined_types": {
            "CHAMFER": "A skewed plane end cut, removing material only across a part of the profile of the voided element.",
            "CUTOUT": "An internal cutout (creating an opening) or external cutout (creating a recess) of arbitrary shape.  The edges between cutting planes may be overcut or undercut, i.e. rounded.",
            "EDGE": "A shape modification along an edge of the element with the edge length as the predominant dimension of the feature, and feature profile dimensions which are typically much smaller than the edge length.  Can for example be a chamfer edge (differentiated from a chamfer by its ratio of dimensions and thus usually manufactured differently), rounded edge (a convex edge feature), or fillet edge (a concave edge feature).",
            "HOLE": "A circular or slotted or threaded hole, typically but not necessarily of smaller dimension than what would be considered a cutout.",
            "MITER": "A skewed plane end cut, removing material across the entire profile of the voided element.",
            "NOTCH": "An external cutout of with a mostly rectangular cutting profile.  The edges between cutting planes may be overcut or undercut, i.e. rounded.",
            "NOTDEFINED": "An undefined type of voiding feature.",
            "USERDEFINED": "A user-defined type of voiding feature."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcVoidingFeature.htm"
    },
    "IfcWall": {
        "description": "The wall represents a vertical construction that may bound or subdivide spaces. Wall are usually vertical, or nearly vertical, planar elements, often designed to bear structural loads. A wall is however\u00a0not required to be load bearing.",
        "predefined_types": {
            "ELEMENTEDWALL": "A stud wall framed with studs and faced with sheetings, sidings, wallboard, or plasterwork. { .deprecated}",
            "MOVABLE": "A movable wall that is either movable, such as folding wall or a sliding wall, or can be easily removed as a removable partitioning or mounting wall. Movable walls do normally not define space boundaries and often belong to the furnishing system.",
            "NOTDEFINED": "Undefined wall element.",
            "PARAPET": "A wall-like barrier to protect human or vehicle from falling, or to prevent the spread of fires. Often designed at the edge of balconies, terraces or roofs, or along edges of bridges.",
            "PARTITIONING": "A wall designed to partition spaces that often has a light-weight, sandwich-like construction (e.g. using gypsum board). Partitioning walls are normally non load bearing.",
            "PLUMBINGWALL": "A pier, or enclosure, or encasement, normally used to enclose plumbing in sanitary rooms. Such walls often do not extent to the ceiling.",
            "POLYGONAL": "A polygonal wall, extruded vertically, where the wall thickness varies along the wall path.",
            "RETAININGWALL": "A supporting wall used to protect against soil layers behind. Special types of a retaining wall may be e.g. Gabion wall and Grib wall. Examples of retaining walls are wing wall, headwall, stem wall, pierwall and protecting wall.",
            "SHEAR": "A wall designed to withstand shear loads. Examples of shear wall are diaphragms inside a box girder, typically on a pier, to resist lateral forces and transfer them to the support.",
            "SOLIDWALL": "A massive wall construction for the wall core being the single layer or having multiple layers attached. Such walls are often masonry or concrete walls (both cast in-situ or precast) that are load bearing and fire protecting.",
            "STANDARD": "A standard wall, extruded vertically with a constant thickness along the wall path. { .deprecated}",
            "USERDEFINED": "User-defined wall element.",
            "WAVEWALL": "Protective wall or screen to block overtopping and impact of waves across a breakwater"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWall.htm"
    },
    "IfcWallStandardCase": {
        "description": "The IfcWallStandardCase defines a wall with certain constraints for the provision of parameters and with certain constraints for the geometric representation. The IfcWallStandardCase handles all cases of walls, that are extruded vertically:",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWallStandardCase.htm"
    },
    "IfcWallType": {
        "description": "The element type IfcWallType defines commonly shared information for occurrences of walls. The set of shared information may include:",
        "predefined_types": {
            "ELEMENTEDWALL": "A stud wall framed with studs and faced with sheetings, sidings, wallboard, or plasterwork. { .deprecated}",
            "MOVABLE": "A movable wall that is either movable, such as folding wall or a sliding wall, or can be easily removed as a removable partitioning or mounting wall. Movable walls do normally not define space boundaries and often belong to the furnishing system.",
            "NOTDEFINED": "Undefined wall element.",
            "PARAPET": "A wall-like barrier to protect human or vehicle from falling, or to prevent the spread of fires. Often designed at the edge of balconies, terraces or roofs, or along edges of bridges.",
            "PARTITIONING": "A wall designed to partition spaces that often has a light-weight, sandwich-like construction (e.g. using gypsum board). Partitioning walls are normally non load bearing.",
            "PLUMBINGWALL": "A pier, or enclosure, or encasement, normally used to enclose plumbing in sanitary rooms. Such walls often do not extent to the ceiling.",
            "POLYGONAL": "A polygonal wall, extruded vertically, where the wall thickness varies along the wall path.",
            "RETAININGWALL": "A supporting wall used to protect against soil layers behind. Special types of a retaining wall may be e.g. Gabion wall and Grib wall. Examples of retaining walls are wing wall, headwall, stem wall, pierwall and protecting wall.",
            "SHEAR": "A wall designed to withstand shear loads. Examples of shear wall are diaphragms inside a box girder, typically on a pier, to resist lateral forces and transfer them to the support.",
            "SOLIDWALL": "A massive wall construction for the wall core being the single layer or having multiple layers attached. Such walls are often masonry or concrete walls (both cast in-situ or precast) that are load bearing and fire protecting.",
            "STANDARD": "A standard wall, extruded vertically with a constant thickness along the wall path. { .deprecated}",
            "USERDEFINED": "User-defined wall element.",
            "WAVEWALL": "Protective wall or screen to block overtopping and impact of waves across a breakwater"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWallType.htm"
    },
    "IfcWasteTerminal": {
        "description": "A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system.",
        "predefined_types": {
            "FLOORTRAP": "Pipe fitting, set into the floor, that retains liquid to prevent the passage of foul air",
            "FLOORWASTE": "Pipe fitting, set into the floor, that collects waste water and discharges it to a separate trap.",
            "GULLYSUMP": "Pipe fitting or assembly of fittings to receive surface water or waste water, fitted with a grating or sealed cover.",
            "GULLYTRAP": "Pipe fitting or assembly of fittings that receives surface water or waste water; fitted with a grating or sealed cover that discharges water through a trap.",
            "NOTDEFINED": "Undefined type.",
            "ROOFDRAIN": "Pipe fitting, set into the roof, that collects rainwater for discharge into the rainwater system.",
            "USERDEFINED": "User-defined type.",
            "WASTEDISPOSALUNIT": "Electrically operated device that reduces kitchen or other waste into fragments small enough to be flushed into a drainage system.",
            "WASTETRAP": "Pipe fitting, set adjacent to a sanitary terminal, that retains liquid to prevent the passage of foul air."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWasteTerminal.htm"
    },
    "IfcWasteTerminalType": {
        "description": "The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include:",
        "predefined_types": {
            "FLOORTRAP": "Pipe fitting, set into the floor, that retains liquid to prevent the passage of foul air",
            "FLOORWASTE": "Pipe fitting, set into the floor, that collects waste water and discharges it to a separate trap.",
            "GULLYSUMP": "Pipe fitting or assembly of fittings to receive surface water or waste water, fitted with a grating or sealed cover.",
            "GULLYTRAP": "Pipe fitting or assembly of fittings that receives surface water or waste water; fitted with a grating or sealed cover that discharges water through a trap.",
            "NOTDEFINED": "Undefined type.",
            "ROOFDRAIN": "Pipe fitting, set into the roof, that collects rainwater for discharge into the rainwater system.",
            "USERDEFINED": "User-defined type.",
            "WASTEDISPOSALUNIT": "Electrically operated device that reduces kitchen or other waste into fragments small enough to be flushed into a drainage system.",
            "WASTETRAP": "Pipe fitting, set adjacent to a sanitary terminal, that retains liquid to prevent the passage of foul air."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWasteTerminalType.htm"
    },
    "IfcWindow": {
        "attributes": {
            "OverallHeight": "Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted.",
            "OverallWidth": "Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the window opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the window is inserted.",
            "PartitioningType": "Type defining the general layout of the window in terms of the partitioning of panels.",
            "UserDefinedPartitioningType": "Designator for the user defined partitioning type, shall only be provided, if the value of PartitioningType is set to USERDEFINED."
        },
        "description": "The window is a building element that is predominately used to provide natural light and fresh air. It includes vertical opening but also horizontal opening such as skylights or light domes. It includes constructions with swinging, pivoting, sliding, or revolving panels and fixed panels. A window consists of a lining and one or several panels. A window can:",
        "predefined_types": {
            "LIGHTDOME": "A special window that lies horizonally in a roof slab opening.",
            "NOTDEFINED": "Undefined window element.",
            "SKYLIGHT": "A window within a sloped building element, usually a roof slab.",
            "USERDEFINED": "User-defined window element.",
            "WINDOW": "A standard window usually within a wall opening, as a window panel in a curtain wall, or as a \"free standing\" window."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWindow.htm"
    },
    "IfcWindowLiningProperties": {
        "attributes": {
            "FirstMullionOffset": "Offset of the mullion centerline, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the mullion is positioned in the middle of the window.",
            "FirstTransomOffset": "Offset of the transom centerline, measured along the z-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the transom is positioned in the middle of the window.",
            "LiningDepth": "Depth of the window lining (dimension measured perpendicular to window elevation plane).",
            "LiningOffset": "Offset of the window lining. The offset is given as distance along the y axis of the local placement (perpendicular to the window plane).",
            "LiningThickness": "Thickness of the window lining as explained in the figure above. If LiningThickness value is 0. (zero) it denotes a window without a lining (all other lining parameters shall be set to NIL in this case). If the LiningThickness is NIL it denotes that the value is not available.",
            "LiningToPanelOffsetX": "Offset between the lining and the window panel measured along the x-axis of the local placement. Should be smaller or equal to the LiningThickness.",
            "LiningToPanelOffsetY": "Offset between the lining and the window panel measured along the y-axis of the local placement. Should be smaller or equal to the IfcWindowPanelProperties.PanelThickness.",
            "MullionThickness": "Thickness of the mullion (vertical separator of window panels within a window), measured parallel to the window elevation plane. The mullion is part of the lining and the mullion depth is assumed to be identical to the lining depth. If the MullionThickness is set to zero (and the MullionOffset set to a positive length), then the window is divided horizontally without a physical divider.",
            "SecondMullionOffset": "Offset of the mullion centerline for the second mullion, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second mullion is positioned at two/third of the window.",
            "SecondTransomOffset": "Offset of the transom centerline for the second transom, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second transom is positioned at two/third of the window.",
            "ShapeAspectStyle": "Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the lining.",
            "TransomThickness": "Thickness of the transom (horizontal separator of window panels within a window), measured parallel to the window elevation plane. The transom is part of the lining and the transom depth is assumed to be identical to the lining depth. If the TransomThickness is set to zero (and the TransomOffset set to a positive length), then the window is divided vertically without a physical divider."
        },
        "description": "The window lining is the outer frame which enables the window to be fixed in position. The window lining is used to hold the window panels or other casements. The parameter of the IfcWindowLiningProperties define the geometrically relevant parameter of the lining.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWindowLiningProperties.htm"
    },
    "IfcWindowPanelProperties": {
        "attributes": {
            "FrameDepth": "Depth of panel frame, measured from front face to back face horizontally (i.e. perpendicular to the window (elevation) plane.",
            "FrameThickness": "Width of panel frame, measured from inside of panel (at glazing) to outside of panel (at lining), i.e. parallel to the window (elevation) plane.",
            "OperationType": "Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards.",
            "PanelPosition": "Position of this panel within the overall window style.",
            "ShapeAspectStyle": "Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the panel."
        },
        "description": "A window panel is a casement, that is, a component, fixed or opening, consisting essentially of a frame and the infilling. The infilling of a window panel is normally glazing. The way of operation is defined in the operation type.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWindowPanelProperties.htm"
    },
    "IfcWindowType": {
        "attributes": {
            "ParameterTakesPrecedence": "The Boolean value reflects, whether the parameter given in the attached lining and panel properties exactly define the geometry (TRUE), or whether the attached style shape take precedence (FALSE). In the last case the parameter have only informative value. If not provided, no such information can be inferred.",
            "PartitioningType": "Type defining the general layout of the window type in terms of the partitioning of panels.",
            "UserDefinedPartitioningType": "Designator for the user defined partitioning type, shall only be provided, if the value of PartitioningType is set to USERDEFINED."
        },
        "description": "The element type IfcWindowType defines commonly shared information for occurrences of windows. The set of shared information may include:",
        "predefined_types": {
            "LIGHTDOME": "A special window that lies horizonally in a roof slab opening.",
            "NOTDEFINED": "Undefined window element.",
            "SKYLIGHT": "A window within a sloped building element, usually a roof slab.",
            "USERDEFINED": "User-defined window element.",
            "WINDOW": "A standard window usually within a wall opening, as a window panel in a curtain wall, or as a \"free standing\" window."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWindowType.htm"
    },
    "IfcWorkCalendar": {
        "attributes": {
            "ExceptionTimes": "Set of times periods that define exceptions (non-working     times) for the given working times including the base     calendar, if provided.",
            "WorkingTimes": "Set of times periods that are regarded as an initial set-up     of working times. Exception times can then further restrict     these working times."
        },
        "description": "An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009.",
        "predefined_types": {
            "FIRSTSHIFT": "Belongs to the first shift.",
            "NOTDEFINED": "Undefined.",
            "SECONDSHIFT": "Belongs to the second shift.",
            "THIRDSHIFT": "Belongs to the third shift.",
            "USERDEFINED": "User defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWorkCalendar.htm"
    },
    "IfcWorkControl": {
        "attributes": {
            "CreationDate": "The date that the plan is created.",
            "Creators": "The authors of the work plan.",
            "Duration": "The total duration of the entire work schedule.",
            "FinishTime": "The finish time of the schedule.",
            "Purpose": "A description of the purpose of the work schedule.",
            "StartTime": "The start time of the schedule.",
            "TotalFloat": "The total time float of the entire work schedule."
        },
        "description": "An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWorkControl.htm"
    },
    "IfcWorkPlan": {
        "description": "An IfcWorkPlan represents work plans in a construction or a facilities management project.",
        "predefined_types": {
            "ACTUAL": "A control in which actual items undertaken are indicated.",
            "BASELINE": "A control that is a baseline from which changes that are made later can be recognized.",
            "NOTDEFINED": "Undefined.",
            "PLANNED": "Planned",
            "USERDEFINED": "User defined"
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWorkPlan.htm"
    },
    "IfcWorkSchedule": {
        "description": "An IfcWorkSchedule represents a task schedule of a work plan, which in turn can contain a set of schedules for different purposes.",
        "predefined_types": {
            "ACTUAL": "A control in which actual items undertaken are indicated.",
            "BASELINE": "A control that is a baseline from which changes that are made later can be recognized.",
            "NOTDEFINED": "Undefined.",
            "PLANNED": "A control showing planned items.",
            "USERDEFINED": "User defined."
        },
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWorkSchedule.htm"
    },
    "IfcWorkTime": {
        "attributes": {
            "FinishDate": "",
            "RecurrencePattern": "Recurrence pattern that defines a time period, which, if given, is     valid within the time period defined by     IfcWorkTime.Start and IfcWorkTime.Finish.",
            "StartDate": ""
        },
        "description": "IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcWorkTime.htm"
    },
    "IfcZShapeProfileDef": {
        "attributes": {
            "Depth": "Web length, see illustration above (= h).",
            "EdgeRadius": "Edge radius according the above illustration (= r2).",
            "FilletRadius": "Fillet radius according the above illustration (= r1).",
            "FlangeThickness": "Constant wall thickness of flange, see illustration above (= tg).",
            "FlangeWidth": "Flange length, see illustration above (= b).",
            "WebThickness": "Constant wall thickness of web, see illustration above (= ts)."
        },
        "description": "IfcZShapeProfileDef defines a section profile that provides the defining parameters of a Z-shape section to be used by the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The centre of the position coordinate system is in the profile's centre of the bounding box.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcZShapeProfileDef.htm"
    },
    "IfcZone": {
        "attributes": {
            "LongName": "Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute."
        },
        "description": "A zone is a group of spaces, partial spaces or other zones. These spaces may or may not be adjacent. A zone does not have its own shape representation. Zone structures may not be hierarchical (in contrary to the spatial structure of a project - see IfcSpatialStructureElement), i.e. one individual IfcSpace may be associated with zero, one, or several IfcZone's. IfcSpace's are grouped into an IfcZone by using the objectified relationship IfcRelAssignsToGroup as specified at the supertype IfcGroup. For example, a zone might be used to represent an apartment as a group of spaces.",
        "spec_url": "https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcZone.htm"
    }
}