Namespace: BIM

BIM

Provides basic building information modelling (BIM) capabilities.

The BIM namespace establishes a basic hierarchy of classes for defining buildings and structures.

                              BIM.Project
                                   |
           +-----------------------+-----------------------+
           |                       |                       |
     BIM.Structure            BIM.Building             BIM.Site
           |                       |                       |
     +-----+-----+           +-----+-----+           +-----+-----+
     |           |           |           |           |           |
 BIM.Level   BIM.Level   BIM.Level   BIM.Level   BIM.Level   BIM.Level
     :           :           |           :           :           :
                             |
               +-------------+-------------+
               |             |             |
          BIM.Element    BIM.Space      BIM.Wall
               :             |             :
                             |
               +-------------+-------------+
               |             |             |
          BIM.Element    BIM.Space      BIM.Wall
               :             |             :
                             |
               +-------------+-------------+
               |                           |
          BIM.Element                   BIM.Wall
               :                           |
                            +--------------+--------------+
                            |              |              |
                        BIM.Path     BIM.Component    PD.Shell
                            |                             |
                    +-------+-------+              +------+------+
                    |               |              |             |
              BIM.Junction    BIM.Junction    PD.Polygon    PD.Polygon
                    :               |
                                    |
                            +-------+-------+
                            |               |
                      BIM.Aperture    BIM.Component

PROJECT
The overarching entity class is the BIM.Project that stores information about the site such as location and weather data. It is also the container for organising structures, buildings and sites within the model.

STRUCTURE/BUILDING/SITE
A project can contain any number of BIM.Structure, BIM.Building and BIM.Site instances. Building and Site classes derive directly from the Structure class and have very similar behaviour, but add some additional data points.

LEVEL
Structures, Buildings and Sites can each contain any number of BIM.Level instances. Levels are a grouping entity that is equivalent to a storey or floor when part of a Building or Structure, and a toggleable layer when part of a Site. A level has a specific floor height above the ground and is the container for organising building and drawing elements.

ELEMENT
A level can contain any number of BIM.Element instances. Elements are the basic entity of each model. Building elements define the physical geometry of the model and include spaces, walls, roofs, furnishing, fixtures, etc. Drawing elements provide visual information based on the current view and include display grids, analysis grids, construction lines, section markers, dimensions, etc.

Thus, BIM.Space, BIM.Wall, BIM.Furnishing, BIM.Stair, BIM.Sensor, BIM.Mass and many other classes derive directly from the Element class.

SPACE
A BIM.Space defines a room or thermal zone within a building or structure, and can contain any number of other elements, including other spaces (but only one level deep). In this BIM hierarchy, Space objects are very important as they define the core spatial relationships within each building and structure.

In other BIM tools, spaces are typically added last, defined as a by-product of the spatial arrangement of other building geometry. This tool is somewhat unique in that spaces are added first and the majority of other building geometry is defined as a by-product of the arrangement of spaces on each level.

This allows spaces to be selected and an entire entity and moved around with all of their own geometry, apertures and internal elements moving with them. This greatly assists and simplifies the earliest stages of design where the basic layout and inter-relationships between spaces are still being investigated and analysed.

PATH
All elements follow a BIM.Path. This includes spaces, walls, floor slabs, ceilings, roofs, cabinets, etc. Even BIM.Sensor objects follow a path comprised of just a single point.

Paths greatly simplify the alignment of elements and the interactive snapping of points within the model. They also facilitate easier determination of adjacency and the sharing of material and property information between adjacent elements and junctions.

JUNCTION
A path is formed by a series of segments that connect junctions. BIM.Junction objects determine the direction of the path and how the element travels to the next junction. They are added to mark a change in material, direction or any other significant property that may occur along the path of an element.

COMPONENT
Both elements and junctions can contain any number of BIM.Component instances. A component is something that is a distinct part of an element, but would never typically occur within a building on its own without a direct association with that element. For example, a door handle as a component of a door, a sink as a component of a cabinet, a faucet as a component of a bath, a frame as a component of an aperture, an aperture as a component of a wall, etc.

APERTURE
An BIM.Aperture derives from the BIM.Component class and can be added to the junctions of walls and spaces to define openings. BIM.Window, BIM.Door and BIM.Void classes derive directly from the aperture class and provide additional visual representation and behaviour.

Author:
  • drajmarsh

Classes

Address
Analysis
Annotation
Annotations
Aperture
Apertures
Appliance
Appliances
Beam
Bed
Beds
Building
Cabinet
Cabinets
Ceiling
Chair
Chairs
Colonnade
Colonnades
Column
Component
Construction
Covering
Coverings
DataGrid
DataGrids
DataPoint
DaySchedule
Dimension
Dimensions
Door
Doors
DrawingView
Element
Entity
ExtendedConstruction
Feature
Features
Fence
Fences
Fixture
Fixtures
Footing
Furnishing
Ground
Grounds
Handles
IFCPanel
IsoVist
IsoVists
Junction
Level
Library
Line
Mass
Masses
Material
MaterialLayer
Member
Meshes
Panel
Panels
Path
PathExtensions
Pile
Plant
Plants
Plate
Pot
Pots
Primitive
Profiles
Project
ProjectData
Railing
Railings
Ramp
Ramps
Relation
Renderable
RevisionCloud
Rock
Rocks
Roof
Roofs
Schedule
Sensor
Sensors
Shade
Shades
Shelves
Shrub
Sink
Sinks
Site
Slab
Space
Spaces
Stair
StairRules
Stairs
Structure
SubSurface
SunPath
SunPath2D
SunPath3D
SunPathHUD
Supplier
SurfaceDragUtils
SurfaceDrawing
Table
Tables
Taps
Terrain
Terrains
TraceImage
Tree
UserModeHandler
Wall
Walls
Window
Windows

Members


ADDRESS <static>

The different types of address.

Properties:
Name Type Description
NOT_KNOWN number

No address.

DISTRIBUTION_POINT number

A postal distribution point address.

HOME number

A home address.

OFFICE number

An office or administrative address.

SITE number

A site or lot number address.

OTHER number

A user defined address.

Author:
  • drajmarsh

ANNOTATION <static>

Enumerates the different types of drawing annotation.

Properties:
Name Type Description
INDICATOR number

An indicator line with simple text.

Author:
  • drajmarsh

APERTURE_FLAGS <static, readonly>

Enumerates the various flags used in windows and doors.

Properties:
Name Type Default Description
INSERTED number 1

Whether or not an adjacent face was found and a valid outer profile created.

VERTICAL number 2

Whether or not the aperture is in a simple vertically extruded wall.

Simple vertical apertures are much easier to handle dynamically than non-vertical or non-rectangular apertures.

EXTERNAL number 4

Whether or not the aperture is within an external face of the building.

CURVED number 8

Whether or not the aperture sits within a curved wall or surface.

GLAZED number 16

Whether or not the opening is glazed.

This is pretty obvious for a window and skylight, however when set for a door, the door itself is assumed to be glazed so will be shown as a frame-within-a-frame.

SHOW_IN_PLAN number 32

Whether or not to always cut through this window in plan view.

When set, this window will always be shown within a plan-section view even if it does not cross the horizontal cutting plane.

SWAP_DIRECTION number 64

Whether or not to flip the forward/backwards direction.

SWAP_SIDES number 128

Whether or not to flip the inside/outside direction.

TRANSPARENT number 256

Whether or not the aperture allows light to pass through.

This is obvious for windows and skylights, however doors and panels may or may not include glazed areas, and voids may be open but not glazed.

FOLLOW_CURVE number 512

Whether or not a curved aperture should sync its own segments with the host curve's segmentation.

When set, the doors, panels and window panes will be facetted to match the segmentation of the host curve rather than their own mullions or sub-panelling.

Author:
  • drajmarsh

APPLIANCE <static>

Enumerates different types of electrical appliances.

This enumeration includes the IfcElectricApplianceTypeEnum in the IFC model format.

Properties:
Name Type Description
BASE number

A custom appliance.

COMPUTER number

A desktop computer that can be moved from one place to another and connected to an electrical supply via a plugged outlet.

LAPTOP number

A laptop, PDA or other type of portable computer that can be moved from one place to another and connected to an electrical supply via a plugged outlet.

DISHWASHER number

An appliance that has the primary function of washing dishes.

ELECTRIC_COOKER number

An electrical appliance that has the primary function of cooking food (including oven, hob, grill)

ELECTRIC_HEATER number

An electrical appliance that provides heat.

FACSIMILE number

A machine that has the primary function of transmitting a facsimile copy of printed matter using a telephone line.

FREESTANDING_FAN number

An electrical appliance that provides ventilation.

FREEZER number

An electrical appliance that has the primary function of storing food at temperatures below the freezing point of water.

REFRIGERATOR number

An electrical appliance that has the primary function of storing food at low temperature but above the freezing point of water.

FRIDGE_FREEZER number

An electrical appliance that combines the functions of a freezer and a refrigerator through the provision of separate compartments.

HAND_DRYER number

An electrical appliance that has the primary function of drying hands.

MICROWAVE number

An electrical appliance that has the primary function of cooking food using microwaves.

PHOTOCOPIER number

A machine that has the primary function of reproduction of printed matter.

PRINTER number

A machine that has the primary function of printing a stream of characters onto paper or other media.

SCANNER number

A machine that has the primary function of scanning the content of printed matter and converting it to electronically interpretable characters that can be stored in a computer.

TELEPHONE number

A device for voice communication.

TUMBLE_DRYER number

An electrical appliance that has the primary function of drying clothes.

TELEVISION number

A device for receiving and displaying television signals.

VENDING_MACHINE number

An appliance that stores and vends goods including food, drink and goods of various types.

WASHING_MACHINE number

An appliance that has the primary function of washing clothes.

WATER_COOLER number

A small electrical appliance for cooling water.

WATER_HEATER number

A small electrical appliance for heating water.

FREESTANDING_LAMP number

A freestanding electrical appliance that provides light.

SPEAKER number

A freestanding electrical appliance that generates sound.

Author:
  • drajmarsh

ATTRIB <static, readonly>

Enumerates some standard public/private attribute keys.

Attribute keys are used by the attribute map on entities and points to locate stored data. The aim of using an attribute map instead of properties on the object is to both allow the end user to add arbitrary data to things in the model, and to allow objects to store dynamic data without affecting the low level shape of the object in the code optimiser.

Any attribute key that starts with a '$' sign indicates private or volatile data that is not included when attributes are saved. All other keys save their data.

Properties:
Name Type Default Description
HEIGHT string height

Stores the height of the junction.

ORIENTATION string orientation

Stores an orientation angle around the local junction Z axis.

OUTER_EDGE string $outerEdge

Stores an array of outer edge points for a wall/space/slab junction.

INNER_EDGE string $innerEdge

Stores an array of inner edge points for a wall/space/slab junction.

INNER_FACETS string $innerFacets

Stores an array of internal facets for a wall/space junction.

ADJACENT_APERTURES string $adjApertures

Stores an array of adjacent apertures on a wall/space/slab junction.

EDGE_CONNECT string $edgeConnect

Stores start/end connections between junction posts/landings.

HOST_SPACE string $hostSpace

Retrieves the space that a wall junction is entering.

This attribute is used by wall elements that penetrate more than one space within the model.

LEVEL string $level

Stores the level an element is on.

SPACE string $space

Stores the space an element is on.

PARENT string $parent

Stores the parent an element belongs to.

BOUNDED_SPACES string $boundedSpaces

Stores an array of spaces inside another space.

OFFSET_PATH string $offsetPath

Retrieves a stored path offset from the element path.

This attribute is used by elements that allow large path offset values. Rather than trying to compute and orient offset points, it is much simpler and faster to create an offset path and use that to generate its geometry.

EXTRA_SHELL string $extraShell

Retrieves an additional shell for storing separate geometry on an element.

This is used by elements such as shading, railings and fences where some geometry is part of their normal shell and other geometry is to be rendered separately to the host level's site mesh

TARGET_POS string $displayPos

Stores a level's target position during a dynamic animation.

ANALYSIS_MODEL string $simModel

Stores the analysis model generated for a building or structure.

SURFACES string $simSurfaces

Stores an array of simulation surfaces generated for a building element.

Author:
  • drajmarsh

BEAM <static, readonly>

The different IFC beam types.

This enumeration matches the IfcBeamTypeEnum in the IFC model format.

Properties:
Name Type Description
BEAM number

A standard beam usually used horizontally.

CORNICE number

A non-load-bearing beam on the longitudinal edge of bridge slab, usually encasing installations.

DIAPHRAGM number

End portion of a girder transmitting loads to supports and providing moment resistance to adjoining segment.

EDGE_BEAM number

A beam on the longitudinal edge of bridge slab, usually concrete, providing additional stiffening and protection from the elements.

GIRDER_SEGMENT number

A segment of a girder (e.g. each span of a continuous girder).

HAT_STONE number

A beam on top of a retaining wall or a wing wall, preventing earth movement.

HOLLOW_CORE number

A wide often prestressed beam with a hollow-core profile that usually serves as a slab component.

JOIST number

A beam used to support a floor or ceiling.

LINTEL number

A beam or horizontal piece of material over an opening (e.g. door, window).

PIER_CAP number

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 number

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 number

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 number

A custom beam type as defined by the user.

Author:
  • drajmarsh

BED <static>

Enumerates different types of bed.

Properties:
Name Type Description
ENSEMBLE number

A basic bed.

BUNK number

A bunk bed.

COT number

A child's cot.

Author:
  • drajmarsh

CABINET <static>

Enumerates the different types of cabinet.

Properties:
Name Type Description
BASIC number

Defines a basic cabinet with shelves and front-facing doors.

KITCHEN number

Defines a kitchen cabinet with worktop, shelves and front-facing doors.

DRAWERS number

Defines a chest of drawers.

SHELVING number

Defines a generic open-shelf cabinet.

LOCKER number

A lockable cabinet in which to store possessions and leave them for a period of time.

FILING number

A lockable cabinet with sliding drawers for storing files and paperwork.

TECHNICAL number

A cabinet for holding, displaying and protecting technical appliances, usually organized in shelves, drawers or racks.

RACK number

A rack is a cabinet used to store and mount pluggable electric equipment, usually rack-mounted.

Author:
  • drajmarsh

CHAIR <static>

Enumerates the different types of chair.

Properties:
Name Type Description
BASIC number

Defines a very basic chair.

DINING number

Defines a dining or kitchen chair.

OFFICE number

Defines an office chair with arms.

COUCH number

Defines a lounge chair or sofa.

DECK number

Defines a outside deck chair.

BENCH number

Defines a long bench seat.

STOOL number

Defines a simple stool.

Author:
  • drajmarsh

COLONNADE <static>

The different types of column element.

Properties:
Name Type Description
RECTANGULAR number

Rectangular columns are different in that they are designed to accommodate railings of other infill that runs between the columns, and can optionally attempt to ensure that a full-thickness column face is exposed to each path segment even at quite acute angles.

PROFILED number

Columns extruded from an arbitrary base profile.

Author:
  • drajmarsh

COLUMN <static>

The different IFC column types.

This enumeration matches the IfcColumnTypeEnum in the IFC model format.

Properties:
Name Type Description
COLUMN number

A usually vertical member that may be load bearing and requiring resistance to vertical forces by compression but also sometimes to lateral forces.

PIER_STEM number

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.

PIER_STEM_SEGMENT number

A vertical segment of a pier column.

PILASTER number

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 number

A column transmitting vertical loads from a superstructure to an arch below it.

USERDEFINED number

A custom column type as defined by the user.

Author:
  • drajmarsh

COST <static>

Enumerates the different types of costs for a material, construction or component.

Properties:
Name Type Description
CO2 number

Cost in terms of carbon dioxide (CO2).

SOX number

Cost in terms of sulphur oxides (SOX).

NOX number

Cost in terms of nitrogen oxides (NOX).

EMBODIED_TRANSPORT number

The embodied energy of transportation to site.

EMBODIED_MANUFACTURE number

The embodied energy required for manufacture.

EMBODIED_INSTALL number

The embodied energy of on-site installation.

EMBODIED_TOTAL number

The total embodied energy of the product.

COST_PURCHASE number

The initial purchase cost.

COST_DELIVERY number

The delivery cost to get product to site.

COST_FIRST number

The first cost of the product.

COST_MONTHLY number

The monthly operational and maintenance cost of the product.

COST_ANNUAL number

The annual operational and maintenance cost of the product.

COST_MAINTENANCE number

The maintenance cost of the product.

COST_OVERHAUL number

The cost required to overhaul the product.

COST_INSTALL number

The installation cost of the product.

Author:
  • drajmarsh

COVERING <static>

Enumerates the different types of surface covering.

Properties:
Name Type Description
BASIC number

A simple tiled surface covering.

Author:
  • drajmarsh

DATAGRID <static>

Enumerates the different types of data grid.

Properties:
Name Type Description
BASIC number

Defines a basic 2D data grid.

Author:
  • drajmarsh

DIMENSION <static>

Enumerates the different types of dimension line.

Properties:
Name Type Description
LINEAR number

A linear dimension between points.

RADIAL number

An angular dimension between vectors.

Author:
  • drajmarsh

DOOR <static>

Enumerates the different types of door.

Properties:
Name Type Description
VOID number

A cased opening with no door panels.

SWINGING number

A door with one or more hinged panels.

FOLDING number

A door with one or more folding panels.

SLIDING number

A door with one or more sliding/stacking panels.

ROLLING number

A door with one or more panels that roll up.

TILTING number

A door with one or more panels that tilt up.

REVOLVING number

A door with with four panels that rotate around its center.

Author:
  • drajmarsh

ELEMENT <static>

The different types of building element.

These values can also be used as bitwise flags to store one or more element types in a single value. The static function hasType() can be used to check for the presence of types within value.

Properties:
Name Type Description
VOID number

Air membrane between two conditioned or unconditioned spaces.

SHADE number

An external shading device.

FLOOR number

A floor surface.

CEILING number

A ceiling surface.

ROOF number

A roof system.

WALL number

A wall system.

SPACE number

An enclosed spatial volume such as a room or zone.

COLUMN number

An element representing one or more columns.

STAIR number

A set of stairs.

RAILING number

A barrier or grabbable rail.

APPLIANCE number

An appliance or piece of equipment.

FURNISHING number

A piece of furnishing.

FIXTURE number

A fixture or fitting.

SENSOR number

An element that senses and records information.

GROUND number

A ground surface.

COVERING number

A covering element that overlays on another element.

STRUCTURAL number

An element that carries and/or distributes structural loads.

DRAWING number

A drawing element that displays model or context information.

ANALYSIS number

A element that participates in or displays analysis data.

UNKNOWN number

An unknown element type.

Author:
  • drajmarsh

ENTITY <static>

Defines different types of BIM entities.

All BIM entities have a entityType property that stores one of the enumerator values in this class to specify its type. This provides a quick method of differentiating, matching and grouping elements and components.

Entities vs Elements

In the building design and construction industries, the term 'element' has a very specific meaning, referring to those parts of a building that contribute to its physical form and the load bearing capacity of its structure. This includes floors, walls, roofs, foundations, footings, beams and columns.

At a conceptual level, a building consists of so much more than just physical elements. For example, floors and walls typically belong to one or more building storeys or levels, levels typically belong to a structure and structures typically belong to a site or project. Levels and structures have no physical geometry of their own as this is generated solely from the building elements they contain. Also, elements such as walls can contain windows and doors, which in turn can contain frames, glazing, hinges and handles.

To accommodate this, the framework differentiates between BIM.ENTITY / BIM.Entity types/objects and BIM.ELEMENT / BIM.Element types/objects. There is a fair bit of crossover, but basically entities form the basis of all the major BIM classes and an element is just a particular type of entity that has a known and well defined function within the building.

There is a bit of complexity still in there. For example, there are both space, floor, wall and appliance entities and elements. However, a slab entity can be a floor, horizontal shade or even a flat roof element. Thus, the framework still needs the capacity to search for all BIM.ENTITY.SLAB entities that have an element type of BIM.ELEMENT.ROOF for example, so some crossover is unavoidable and probably even necessary in order to capture all design possibilities.

Author:
  • drajmarsh

FIXTURE <static>

Enumerates different types of fixtures.

The difference between fixtures and furnishings is not always obvious. However, when an element is physically connected to and/or forms a terminal at the end of a building system, which would generally require a trade to safely remove or replace, then it becomes a definite fixture.

Properties:
Name Type Description
BASIC number

A generic fixture not connected to any system.

BATH number

A sanitary receptacle for the immersion of the human body, or parts of it.

BIDET number

A waste water receptacle for washing the excretory organs while sitting astride the bowl.

BASIN number

A waste water receptacle for washing the upper parts of the human body.

CISTERN number

A separate water storage unit for a sanitary terminal such as a toilet pan, urinal or slop hopper.

FOUNTAIN number

A sanitary terminal that provides a low pressure jet of water for a specific purpose.

SHOWER number

An installation or waste water receptacle that emits a spray of water for washing the human body.

SINK number

A waste water receptacle for receiving, retaining or disposing of domestic, culinary, laboratory or industrial process liquids.

TOILET number

A soil receptacle for the disposal of excrement by directing it to a waste outlet.

URINAL number

A soil receptacle that receives urine and directs it to a waste outlet.

Author:
  • drajmarsh

FOOTING <static>

The different types of footing element.

This enumeration matches the IfcFootingTypeEnum in the IFC model format.

Properties:
Name Type Description
BEAM number

A linear foundation element that is in bending and supported clear of the ground, typically spanning between posts, piers, piles or pile caps.

PAD number

A horizontal foundation element that transfers the load of one or more columns directly to the ground, also known as isolated footing.

PILE_CAP number

A foundation element that transfers the load from a column or group of columns to a pier or pile or group of piers or piles.

STRIP number

A linear foundation element that transfers loads directly onto the ground from either a continuous element such as a wall, or from a series of elements such as columns.

USERDEFINED number

A user-defined footing type.

Author:
  • drajmarsh

FRAME_MATERIAL <static>

Enumerates the different types of primary material for window and door frames.

Properties:
Name Type Description
ALUMINIUM number

The frame material is aluminium.

HIGH_GRADE_STEEL number

The frame material is high grade steel.

STEEL number

The frame material is normal steel.

WOOD number

The frame material is wood or timber.

ALUMINIUM_WOOD number

The frame material is a combination of aluminium and timber.

ALUMINIUM_PLASTIC number

The frame material is a combination of aluminium and plastic/pvc.

PLASTIC number

The frame material is plastic/pvc.

USERDEFINED number

The frame material is something else.

Author:
  • drajmarsh

FURNISHING <static>

Enumerates the different types of furnishing elements.

This enumerator seeks to closely match the the IfcFurnitureTypeEnum and IfcSystemFurnitureElementTypeEnum IFC types.

Properties:
Name Type Description
NOTDEFINED number

An unknown type of furnishing item.

BED number

Furniture for sleeping on.

CHAIR number

Furniture for seating a single person.

DESK number

Furniture with a top or work surface for a single person.

FILE_CABINET number

Furniture with doors and/or drawers for storing files in.

SHELF number

Furniture for storing books or other items.

TABLE number

Furniture with a top or work surface for multiple people.

SOFA number

Furniture for seating or reclining multiple people.

TECHNICAL_CABINET number

Furniture for holding, displaying and protecting technical appliances, usually organized in shelves, drawers or racks.

USERDEFINED number

A type of furnishing item defined by the user.

Author:
  • drajmarsh

GROUND <static>

Enumerates the different types of ground surface.

Properties:
Name Type Description
SOIL number

Ground surface covered with exposed soil.

GRASS number

Ground surface covered with grass.

PAVING number

Ground surface covered with paving slabs or blocks.

TARMAC number

Ground surface covered with tarmac or asphalt.

TURF_NATURAL number

Ground surface covered with natural turf.

TURF_ARTIFICIAL number

Ground surface covered with synthetic turf.

AGGREGATE number

Ground surface covered with gravel or aggregate.

GARDEN number

A garden bed covered with plants, shrubs and/or trees.

WATER number

An area of pooled water such as a pond or fountain.

DECKING number

Ground surface covered by a timber deck.

FOOTPATH number

A footpath covered with paving.

DRIVEWAY number

A driveway surface covered with tarmac.

ROADWAY number

A road surface covered with gravel or tarmac.

Author:
  • drajmarsh

HANDLE <static>

Enumerates the different types of handle style.

Properties:
Name Type Description
NONE number

Defines no handle, or one that is not rendered.

KNOB number

A knob or bar handle.

LEVER number

A horizontal lever handle,

PULL number

A vertical pull handle.

Author:
  • drajmarsh

IFC_COLUMN_TYPE <static>

The different types of column.

This enumeration matches the IfcColumnTypeEnum in the IFC model format.

Properties:
Name Type Description
COLUMN number

A usually vertical member that may be load bearing and requiring resistance to vertical forces by compression but also sometimes to lateral forces.

PIERSTEM number

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 number

A vertical segment of a pier column.

PILASTER number

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 number

A column transmitting vertical loads from a superstructure to an arch below it.

USERDEFINED number

A user-defined column type.

Author:
  • drajmarsh

IFC_WALL_TYPE <static>

The different types of wall.

This enumeration matches the IfcWallTypeEnum in the IFC model format.

Properties:
Name Type Description
STANDARD number

A standard wall, extruded vertically with a constant thickness along each segment of the wall path.

MOVABLE number

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.

PARAPET number

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 number

A wall designed to partition spaces that often has a light-weight, sandwich-like construction. Partitioning walls are normally non load bearing.

PLUMBING number

A pier, enclosure or encasement normally used to enclose plumbing in sanitary rooms. Such walls often do not extend to the ceiling.

RETAINING number

A supporting wall used to protect against soil layers behind. Special types of a retaining wall may be Gabion wall and Grib wall. Examples of retaining walls are wing wall, headwall, stem wall, pier wall and protecting wall.

SHEAR number

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.

SOLID number

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.

WAVE number

Protective wall or screen to block overtopping and impact of waves across a breakwater.

ELEMENTED number

A wall constructed from prefabricated elements, panels or with studs and boardings.

USERDEFINED number

A user-defined wall type.

Author:
  • drajmarsh

INFILL <static>

Defines some different types of railing infill systems.

Properties:
Name Type Description
WIRES_VERTICAL number

Infilled with thin stainless steel wires running vertically.

WIRES_HORIZONTAL number

Infilled with thin stainless steel wires running horizontally.

SLATS_VERTICAL number

Infilled with slats running vertically.

SLATS_HORIZONTAL number

Infilled with slats running horizontally.

GLAZING number

Infilled with glazed panels.

SOLID number

Infilled with solid panels.

PROFILE_SHEET number

Infilled with thin corrugated or profiled sheet panels.

PICKETS number

Infilled with vertical pickets outside railings.

NONE number

No Infill, just junctions and support posts are included.

Author:
  • drajmarsh

ISOVIST <static>

Enumerates the different types of isovist.

There are currently only two types of isovist, one that sprays rays in a 2D horizontal plane, and another that sprays rays in a full 3D spherical pattern.

Properties:
Name Type Description
HORIZONTAL number

Defines a 2D horizontal isovist.

SPHERICAL number

Defines a 3D spherical isovist.

Author:
  • drajmarsh

LINE <static>

Enumerates the different types of drawing line.

Properties:
Name Type Description
CONSTRUCTION number

A construction line linking two or more points.

GRID number

A set of grid lines spanning one or more axis.

Author:
  • drajmarsh

MASS <static>

The different types of mass element shapes.

This enumeration matches the IfcRoofTypeEnum in the IFC model format, and allows for external mass and site massing forms which include a roof shape.

Properties:
Name Type Description
FLAT number

A mass with single-surface roof with no slope or only a slight pitch to drain rainwater.

SHED number

A mass with skillion or lean-to roof having a single sloped surface.

GABLE number

A mass with roof sloping downward in two parts from a central ridge, so as to form a gable at each end.

HIP number

A mass with roof having sloping ends and sides meeting at an inclined projecting angle.

HIPPED_GABLE number

A mass with roof having a hipped end truncating a gable.

GAMBREL number

A mass with ridged roof divided on each side into a shallower slope above a steeper one.

MANSARD number

A mass with roof having on each side a steeper lower part and a shallower upper part.

BARREL number

A mass with roof having a semi-cylindrical form.

RAINBOW number

A mass with gable roof in the form of a broad Gothic arch, with gently sloping convex surfaces.

BUTTERFLY number

A mass with roof having two slopes, each descending inward from the eaves.

PAVILION number

A mass with pyramidal hip roof.

DOME number

A mass with hemispherical hip roof.

FREEFORM number

A mass with free-form roof shape.

USERDEFINED number

A mass with composite roof with a custom shape.

SWEPT number

A mass with roof with an arbitrary profile swept along its path.

Author:
  • drajmarsh

MATERIAL <static>

Enumerates the different types of primary material for structural elements.

This enumerator is used to select values for the IfcMaterial.Category property for elements and components made predominantly from just a single material.

Properties:
Name Type Description
ALUMINIUM number

Primary material is aluminium.

BLOCK number

Primary material is masonry blockwork.

BRICK number

Primary material is masonry brickwork.

CERAMIC number

Primary material is fired clay.

CONCRETE number

Primary material is concrete.

EARTH number

Primary material is rammed earth or soil.

GLASS number

Primary material is glass.

GYPSUM number

Primary material is gypsum.

IRON number

Primary material is cast or forged iron.

ORGANIC number

Primary material is organic material or waste.

PLASTIC number

Primary material is plastic/pvc.

STEEL number

Primary material is graded steel.

STONE number

Primary material is masonry stonework.

TEXTILE number

Primary material is cloth or canvas.

WOOD number

Primary material is timber.

USERDEFINED number

Primary material is something else.

Author:
  • drajmarsh

MEMBER <static>

The different IFC structural member types.

This enumeration matches the IfcMemberTypeEnum in the IFC model format.

Properties:
Name Type Description
ARCH_SEGMENT number

An individual segment of an arch structure.

BRACE number

A linear element (usually sloped) often used for bracing of a girder or truss.

CHORD number

An upper or lower longitudinal member of a truss, used horizontally or sloped.

COLLAR number

A linear element (usually used horizontally) within a roof structure to connect rafters and posts.

MEMBER number

A linear element within a girder or truss with no further meaning.

MULLION number

A linear element within a curtain wall system to connect two (or more) panels.

PLATE number

A linear continuous horizontal element in wall framing, such as a head piece or a sole plate.

POST number

A linear (usually vertical) member used to support something or to mark a point.

PURLIN number

A linear element (usually used horizontally) within a roof structure to support rafters.

RAFTER number

A linear elements used to support roof slabs or roof covering, usually used with slope.

STAY_CABLE number

A sloped element suspending a structure (such as bridge deck) from a pylon.

STIFFENING_RIB number

A linear element added to a flange or a web plate of a girder for local stiffening.

STRINGER number

A linear element used to support stair or ramp flights, usually used with slope.

STRUCTURAL_CABLE number

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 number

A linear element often used within a girder or truss.

STUD number

A vertical element in wall framing.' },

SUSPENDER number

A vertical element suspending a structure (such as bridge deck) from a suspension cable or an arch.

SUSPENSION_CABLE number

A suspended element, typically comprising steel wire, sheath, etc.

TIE_BAR number

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 number

A custom member type as defined by the user.

Author:
  • drajmarsh

OPENING <static, readonly>

The different types of openings in an element.

This enumeration reflects the gbXML:openingTypeEnum values.

  // REF: gbXML 6.0.1
 
    FixedWindow
    OperableWindow
    FixedSkylight
    OperableSkylight
    SlidingDoor
    NonSlidingDoor
    Air

Properties:
Name Type Default Description
VOID number 0

Defines an open void that allows the free flow of air.

WINDOW number 1

Defines a window in a wall with openable glazing pane(s).

WINDOW_FIXED number 2

Defines a window in a wall with fixed glazing pane(s).

SKYLIGHT number 3

Defines a window in a roof or ceiling with openable pane(s).

SKYLIGHT_FIXED number 4

Defines a window in a roof or ceiling with fixed pane(s).

DOOR number 5

Defines a hinged door in a wall that rotates to open.

DOOR_SLIDING number 6

Defines a door in a wall that slides to open.

PANEL number 7

Defines a recessed panel within a surface.

FEATURE number 8

Defines a surface feature rather than a hole.

_MAX number 8

The maximum allowed value.

toString function

Retrieve the textual name associated with an opening type.

fromString function

Converts a type name string to an enumerated type value.

getSimpleName

Retrieve the simple textual name associated with an opening type.

isVoid

Whether or not the opening is a void.

isWindow

Whether or not the opening is a window.

isSkylight

Whether or not the opening is a skylight.

isDoor

Whether or not the opening is a door.

isPanel

Whether or not the opening is a panel.

isFeature

Whether or not this is not an opening but a surface feature.

Author:
  • drajmarsh

OPERABLE <static>

Enumerates different types of operable opening panel.

This enumeration matches the IfcWindowPanelOperationEnum in the IFC4.3 schema.

Properties:
Name Type Description
SIDE_HUNG_LEFT number

Panel rotates around hinges on the left edge.

SIDE_HUNG_RIGHT number

Panel rotates around hinges on the right edge.

BOTTOM_HUNG number

Panel rotates down around hinges on the bottom edge.

TOP_HUNG number

Panel rotates upwards around hinges on the top edge.

SLIDE_LEFT number

Panel slides to the left.

SLIDE_RIGHT number

Panel slides to the right.

SLIDE_UP number

Panel slides upwards.

SLIDE_DOWN number

Panel slides downwards.

FIXED_CASEMENT number

Fixed panel that is not operable.

REMOVABLE_CASEMENT number

The panel is fixed but can be removed.

PIVOT_HORIZONTAL number

Panel pivots horizontally around its center line.

PIVOT_VERTICAL number

Panel pivots vertically around its center line.

TILTANDTURN_LEFT number

Panel that opens to the left and is bottom hung.

TILTANDTURN_RIGHT number

Panel that opens to the right and is bottom hung.

NOTDEFINED number

Indicates that the type has not yet been set.

USERDEFINED number

A user-defined operation type.

Author:
  • drajmarsh

ORIENTATION <static, readonly>

Enumerates the various orientations of material layers in a construction.

Vertical layers are used in walls and other vertical surfaces where the flow of heat is predominantly horizontal through the construction. Horizontal layers are used in floor slabs, ceilings and flat roofs where the the flow of heat is predominantly vertical through the construction.

Properties:
Name Type Default Description
VERTICAL number 0

Material layers are oriented vertically for a wall.

HORIZONTAL number 1

Material layers are oriented horizontally for a floor, slab or roof.

ANY number 2

Material layers can run in any direction.

Author:
  • drajmarsh

PANEL <static>

Defines different panel layouts within a window casement or door panel.

The IfcWindowTypePartitioningEnum describes a range of standard internal panelling layouts for a window casement or door panel. This enumeration includes those standard IFC layouts as well as some other common layouts.

The _VERTICAL and _HORIZONTAL suffixes indicate the orientation of the primary division between sub-panels. For example, a DOUBLE_VERTICAL panel has two sub-panels side-by-side, with the primary division between the panels running vertically between them. A DOUBLE_HORIZONTAL panel on the other hand, has two sub-panels stacked one above the other in a single column, with the primary division running horizontally between them. For panels with more than two sub-panels, the primary division is the one that creates the most sub-panels.

In windows and doors, this primary division is often referred to as the major vertical mullion or the major horizontal transom.

Properties:
Name Type Description
NONE number

A layout with no internal panels.

   +--------------------------+
   |                          |
   |                          |
   |                          |
   |                          |
   |                          |
   |                          |
   |                          |
   +--------------------------+
SINGLE number

A layout with a single internal panel.

   +-------------------------+
   |  +-------------------+  |
   |  |                   |  |
   |  |                   |  |
   |  |                   |  |
   |  |                   |  |
   |  |                   |  |
   |  +-------------------+  |
   +-------------------------+
DOUBLE_VERTICAL number

A layout with two panels in one row with two full-height columns.

   +-------------------------+
   |  +--------+ +--------+  |
   |  |        | |        |  |
   |  |        | |        |  |
   |  |        | |        |  |
   |  |        | |        |  |
   |  |        | |        |  |
   |  +--------+ +--------+  |
   +-------------------------+
   | - - - - - >|<
DOUBLE_HORIZONTAL number

A layout with two panels in two full-width rows and one column.

   +-------------------------+
   |  +-------------------+  |
   |  |                   |  |
   |  |                   |  |
   |  +-------------------+  | ___
   |  +-------------------+  |  ^
   |  |                   |  |  :
   |  |                   |  |  :
   |  +-------------------+  |  :
   +-------------------------+ ---
TRIPLE_VERTICAL number

A layout with three panels in one row with three full-height columns.

   +------------------------+
   |  +----+ +----+ +----+  |
   |  |    | |    | |    |  |
   |  |    | |    | |    |  |
   |  |    | |    | |    |  |
   |  |    | |    | |    |  |
   |  |    | |    | |    |  |
   |  +----+ +----+ +----+  |
   +------------------------+
   | - - - >|<
TRIPLE_HORIZONTAL number

A layout with three panels in three full-width rows and one column.

   +--------------------------+
   |  +--------------------+  |
   |  |                    |  |
   |  +--------------------+  |
   |  +--------------------+  |
   |  |                    |  |
   |  +--------------------+  | ___
   |  +--------------------+  |  ^
   |  |                    |  |  :
   |  +--------------------+  |  :
   +--------------------------+ ---
TRIPLE_BOTTOM number

A layout with three panels in two rows, with one full-width panel in the bottom row and two in the top. | - - - - - >|< +-------------------------+ | +--------+ +--------+ | | | | | | | | | | | | | | +--------+ +--------+ | ___ | +-------------------+ | ^ | | | | : | | | | : | +-------------------+ | : +-------------------------+ ---

TRIPLE_TOP number

A layout with three panels, with two panels in the bottom row and one full-width in the top.

   +-------------------------+
   |  +-------------------+  |
   |  |                   |  |
   |  |                   |  |
   |  +-------------------+  | ___
   |  +--------+ +--------+  |  ^
   |  |        | |        |  |  :
   |  |        | |        |  |  :
   |  +--------+ +--------+  |  :
   +-------------------------+ ---
   | - - - - - >|
TRIPLE_LEFT number

A layout with three panels in two columns, with one full-height panel in the left and two rows of panels in the right.

   +-------------------------+
   |  +--------+ +--------+  |
   |  |        | |        |  |
   |  |        | |        |  |
   |  |        | +--------+  | ___
   |  |        | +--------+  |  ^
   |  |        | |        |  |  :
   |  |        | |        |  |  :
   |  +--------+ +--------+  |  :
   +-------------------------+ ---
   | - - - - - >|
TRIPLE_RIGHT number

A layout with three panels in two columns, with two rows of panels in the left and one full-height panel in the right.

   +-------------------------+
   |  +--------+ +--------+  |
   |  |        | |        |  |
   |  |        | |        |  |
   |  +--------+ |        |  | ___
   |  +--------+ |        |  |  ^
   |  |        | |        |  |  :
   |  |        | |        |  |  :
   |  +--------+ +--------+  |  :
   +-------------------------+ ---
   | - - - - - >|
QUAD number

A layout with four panels in two rows with two columns each.

   +-------------------------+
   |  +--------+ +--------+  |
   |  |        | |        |  |
   |  |        | |        |  |
   |  +--------+ +--------+  | ___
   |  +--------+ +--------+  |  ^
   |  |        | |        |  |  :
   |  |        | |        |  |  :
   |  +--------+ +--------+  |  :
   +--------------------------+ ---
   | - - - - - >|
SIX_VERTICAL number

A layout with six panels in two rows of three columns.

   +-------------------------+
   |  +--------+ +--------+  |
   |  |        | |        |  |
   |  +--------+ +--------+  |
   |  +--------+ +--------+  |
   |  |        | |        |  |
   |  +--------+ +--------+  | ___
   |  +--------+ +--------+  |  ^
   |  |        | |        |  |  :
   |  +--------+ +--------+  |  :
   +-------------------------+ ---
   | - - - - - >|
SIX_HORIZONTAL number

A layout with six panels in three rows of two columns.

   +------------------------+
   |  +----+ +----+ +----+  |
   |  |    | |    | |    |  |
   |  |    | |    | |    |  |
   |  +----+ +----+ +----+  | ___
   |  +----+ +----+ +----+  |  ^
   |  |    | |    | |    |  |  :
   |  |    | |    | |    |  |  :
   |  +----+ +----+ +----+  |  :
   +------------------------+ ---
   | - - - >|
EIGHT_HORIZONTAL number

A layout with eight panels in two rows of four columns.

   +-------------------------+
   |  +--+ +---+ +---+ +--+  |
   |  |  | |   | |   | |  |  |
   |  |  | |   | |   | |  |  |
   |  +--+ +---+ +---+ +--+  | ___
   |  +--+ +---+ +---+ +--+  |  ^
   |  |  | |   | |   | |  |  |  :
   |  |  | |   | |   | |  |  |  :
   |  +--+ +---+ +---+ +--+  |  :
   +-------------------------+ ---
   | - - - - - >|
EIGHT_VERTICAL number

A layout with eight panels in four rows of two columns.

   +-------------------------+
   |  +--------+ +--------+  |
   |  |        | |        |  |
   |  +--------+ +--------+  |
   |  +--------+ +--------+  |
   |  |        | |        |  |
   |  +--------+ +--------+  | ___
   |  +--------+ +--------+  |  ^
   |  |        | |        |  |  :
   |  +--------+ +--------+  |  :
   |  +--------+ +--------+  |  :
   |  |        | |        |  |  :
   |  +--------+ +--------+  |  :
   +-------------------------+ ---
   | - - - - - >|
TEN_VERTICAL number

A layout with ten panels in two rows of five columns.

   +=-------------------------+
   | +--+ +--+ +--+ +--+ +--+ |
   | |  | |  | |  | |  | |  | |
   | |  | |  | |  | |  | |  | |
   | +--+ +--+ +--+ +--+ +--+ | ___
   | +--+ +--+ +--+ +--+ +--+ |  ^
   | |  | |  | |  | |  | |  | |  :
   | |  | |  | |  | |  | |  | |  :
   | +--+ +--+ +--+ +--+ +--+ |  :
   +--------------------------+ ---
   | - - - - >|
TEN_HORIZONTAL number

A layout with ten panels in five rows of two columns.

   +-------------------------+
   |  +--------+ +--------+  |
   |  |        | |        |  |
   |  +--------+ +--------+  |
   |  +--------+ +--------+  |
   |  |        | |        |  |
   |  +--------+ +--------+  |
   |  +--------+ +--------+  |
   |  |        | |        |  |
   |  +--------+ +--------+  | ___
   |  +--------+ +--------+  |  ^
   |  |        | |        |  |  :
   |  +--------+ +--------+  |  :
   |  +--------+ +--------+  |  :
   |  |        | |        |  |  :
   |  +--------+ +--------+  |  :
   +-------------------------+ ---
   | - - - - - >|
Author:
  • drajmarsh

PILE <static>

The different types of pile element.

This enumeration matches the IfcPileTypeEnum in the IFC model format.

Properties:
Name Type Description
BORED number

A deep foundation element that transfers heavy structural loads to deeper, more stable soil or rock layers, constructed by boring a cylindrical hole into the ground, inserting steel reinforcement, and filling it with concrete.

COHESION number

A deep foundation that supports structures primarily through friction and adhesion between its surface and surrounding cohesive soils along its entire length, rather than just resting on a hard layer.

DRIVEN number

A pre-formed slender foundation element for transferring heavy structural loads deep into stable soil, typically made of concrete, steel or timber, that is installed into the ground by hammering, vibrating, or pushing, rather than digging or drilling

FRICTION number

A pile very similar to a cohesion pile, that derives its load-bearing capacity from the friction between the pile surface and the surrounding soil.

JET_GROUTING number

A non-traditional pile forming a strong, cylindrical column of soil mixed with cement grout created in-situ using high-pressure jets to erode and blend soil, resulting in a reinforced mass for ground improvement, underpinning or deep excavation support.

SUPPORT number

A deep foundation element typically installed adjacent to or beneath existing foundations to transfer loads to even deeper, more stable soil or rock layers.

USERDEFINED number

A user-defined pile type.

Author:
  • drajmarsh

PLANT <static>

Enumerates the different types of plant.

Properties:
Name Type Description
PLANT number

A small flax-like plant with leaves sprouting from base.

SHRUB number

A simple shrub/bush with a stem and cuboid shaped canopy.

GEOMETRIC number

A simple plant with a canopy based on geometric primitives.

SPHERICAL number

A simple tree/shrub with a canopy based on spherically distributed points.

METABALLS number

A simple tree/shrub with a canopy based on multiple metaballs.

BRANCHING number

A more complex tree/shrub with branching trunk and canopy.

REALISTIC number

A more realistic tree/shrub with branching trunk and textured canopy.

HEDGE number

Defines a simple rectilinear hedge or hedgerow.

Author:
  • drajmarsh

PLATE <static>

The different IFC plate types.

This enumeration matches the IfcPlateTypeEnum in the IFC model format.

Properties:
Name Type Description
BASE_PLATE number

A plate used to spread load over a surface, such as underneath a bearing or column.

COVER_PLATE number

A plate (underneath or above) a flange to provide additional load capacity.

CURTAIN_PANEL number

A planar element within a curtain wall, often consisting of a frame with fixed glazing.

FLANGE_PLATE number

A flange plate in linear members having box or I-profile (e.g. top or bottom flange plate in box-girder).

GUSSET_PLATE number

A plate or bracket for strengthening an angle in framework (as in a building or bridge).

SHEET number

A planar, flat and thin element, comes usually as metal sheet, and is often used as an additional part within an assembly.

SPLICE_PLATE number

A plate connecting two members joined at ends.

STIFFENER_PLATE number

A transversal plate added to a flange or a web plate for local stiffening.

WEB_PLATE number

A plate connecting flange plates in linear members having box or I-profile.

USERDEFINED number

A custom plate type as defined by the user.

Author:
  • drajmarsh

POT <static>

Enumerates the different types of pot.

Properties:
Name Type Description
BASIC number

A simple pot with variable facets.

Author:
  • drajmarsh

PRIMITIVE <static>

Enumerates the different types of geometric primitive.

Properties:
Name Type Description
CUBOID number

A six-sided rectangular prism.

WEDGE number

A rectangular prism with tapered height and/or width.

PRISM number

A regular polygon linearly extruded in its normal direction.

PYRAMID number

A regular polygon with all sides joined to a single offset apex.

DIAMOND number

A regular polygon with all sides joined to two opposing offset apexes.

SPHERE number

A spherical shape with a single defined center point.

DOME number

A hemispherical shape with a flat surface passing through its center.

ROTUNDA number

A hemisphere created from pentagons and triangles.

CUPOLA number

A shape lofted between two regular polygons with different side counts.

Author:
  • drajmarsh

PROFILE <static>

Defines some standard sectional profile shapes.

Properties:
Name Type Description
RECTANGULAR number

A standard rectangular shaped section.

                      :
   +-------------+  - + -
   |             |    :
   |             |    :
   |             |    : height
   |             |    :
   |             +  - : - - radius
   +-----------+-+  - + - -
   :           : :    :
 - + - - - - - - + -
   :    width  : :
               : : radius
OCTAGONAL number

A rectangular shaped section with chamfered corners.

               : : thickX
               : :   :     :
    _+---------+_  - + - - + - thickX
   +             + - + - - + -
   |             |   :     :
   |             |   : height
   |             |   :     :
   +_           _+ - + - - + -
     +---------+   - + - - + - thickY
   :           : :
 - + - - - - - - + -
   :    width  : :
               : : thickY
POLYGONAL number

A multi-sided polygonal/circular section.

                       :
       . - ' - . - - - + -
    .'           '.    :
   .       |       .   :
   :    ---x---    :   : height
   '       |       '   :
    '             '    :
      '. _   _ .'  - - + -
   :       '       :   :
 - + - - - - - - - + -
   :    width      :
C_CHANNEL number

A standard tapered C shaped section.

                   :
   +-------------+ - + -
   | +----------+    :
   | |               : height
   | |               :
   | |               :     :
   | +----------+  - : - - + - thickness
   +-------------+ - + - - + -
   :             :   :     :
 - + - - - - - - + -
   :    width    :
H_SECTION number

A standard H shaped section.

                     :
   +-------------+ - + -
   +-----+ +-----+   :
         | |         : height
         | |         :
         | |         :     :
   +-----+ +-----+ - : - - + - thickness
   +-------------+ - + - - + -
   :             :   :     :
 - + - - - - - - + -
   :    width    :
I_SECTION number

A standard tapered I shaped section.

                     :
   +-------------+ - + -
    +._       _.+    :
       '-+ +-'       :
         | |         : depth
         | |         :
         | |         :     :
       _-+ +-_ - - - : - - + -
    +-'       '-+    :     | thickness
   +-------------+ - + - - + -
   :             :   :     :
 - + - - - - - - + -
   :    width    :
L_SECTION number

A standard tapered L shaped section.

                     :
   +_  - - - - - - - + -
   | +               :
   | |               : height
   | |               :
   | |               :     :
   | +----------+  - : - - + - thickness
   +-------------+ - + - - + -
   :             :   :     :
 - + - - - - - - + -
   :    width    :
T_SECTION number

A standard tapered T shaped section.

                     :     :
   +-------------+ - + - - + -
    +----+ +----+  - : - - + - thickness
         | |         :     :
         | |         :
         | |         : height
         + +         :
          +        - + -
   :             :   :
 - + - - - - - - + -
   :    width    :
USERDEFINED number

A user-defined section.

Author:
  • drajmarsh

RAILING <static>

Defines some different types of railing systems.

This enumeration matches the IfcRailingTypeEnum in the IFC model format.

Properties:
Name Type Description
HANDRAIL number

A railing designed to serve as structural support for loads applied by human occupants (at hand height). These are generally located adjacent to ramps and stairs, and are typically floor or wall mounted.

GUARDRAIL number

A railing designed to prevent human occupants from falling off a stair, ramp or landing where there is a vertical drop at the edge.

BALUSTRADE number

A railing designed to guard human occupants from falling off the edge of a floor or balcony, rather then a stair or ramp.

FENCE number

A non-load bearing vertical construction which bounds or subdivides an external area.

USERDEFINED number

A user-defined railing type

Author:
  • drajmarsh

RAMP <static>

Enumerates the different types of ramp.

Properties:
Name Type Description
BASIC number

Defines a basic block-based ramp.

Author:
  • drajmarsh

RELATION <static, readonly>

Defines the spatial relationship between two objects.

Properties:
Name Type Default Description
NONE number 0

There is no relationship.

INSIDE number 1

Occurs inside an area or on the opposite side to the surface normal.

OUTSIDE number 2

Occurs outside an area or on the same side as the surface normal.

COINCIDENT number 3

Two junctions share the same position.

INLINE number 4

One junction lies on the path segment of another.

FACE number 5

Lies somewhere on a facet or surface.

Author:
  • drajmarsh

ROCK <static>

Enumerates the different types of rock.

Properties:
Name Type Description
SIMPLE number

A very basic pseudo random rock.

GEOMETRIC number

A basic rock based on deformable geometric primitives.

SPHERICAL number

A simple rock based on spherical distribution.

STONE_WALL number

A simple wet/dry stone wall following the element path.

Author:
  • drajmarsh

ROOF <static>

The different types of roof element.

This enumeration matches the IfcRoofTypeEnum in the IFC model format.

Properties:
Name Type Description
FLAT number

Defines a single-surface roof with no slope or only a slight pitch to drain rainwater.

SHED number

Defines a skillion or lean-to roof having a single sloped surface.

GABLE number

Defines a roof sloping downward in two parts from a central ridge, so as to form a gable at each end.

HIP number

Defines a roof having sloping ends and sides meeting at an inclined projecting angle.

HIPPED_GABLE number

Defines a roof having a hipped end truncating a gable.

GAMBREL number

Defines a ridged roof divided on each side into a shallower slope above a steeper one.

MANSARD number

Defines a roof having on each side a steeper lower part and a shallower upper part.

BARREL number

Defines a roof having a semi-cylindrical form.

RAINBOW number

Defines a gable roof in the form of a broad Gothic arch, with gently sloping convex surfaces.

BUTTERFLY number

Defines a roof having two slopes, each descending inward from the eaves.

PAVILION number

Defines a pyramidal hip roof.

DOME number

Defines a hemispherical hip roof.

FREEFORM number

Defines a free-form roof shape.

USERDEFINED number

Defines a composite roof with a custom shape.

SWEPT number

Defines a roof with an arbitrary profile swept along its path.

Author:
  • drajmarsh

SCHEDULE <static, readonly>

Stores a range of schedule and profile enumerations.

Author:
  • drajmarsh

SENSOR <static>

The different types of physical sensor.

This enumeration approximates the IfcSensorTypeEnum in the IFC model format.

To convert the key to the corresponding IFC name, first remove any underscores and then append the string 'SENSOR'.

Properties:
Name Type Description
UNKNOWN number

Defines an unknown sensor type.

CO2 number

A device that senses or detects carbon dioxide.

CONDUCTANCE number

A device that senses or detects electrical conductance.

CONTACT number

A device that senses or detects contact, such as for detecting if a door is closed.

CO number

A device that senses or detects carbon monoxide.

EARTHQUAKE number

A device that senses or detects the seismic wave and measures the seismic intensity in case of earthquake.

FIRE number

A device that senses or detects fire.

FLOW number

A device that senses or detects flow in a fluid.

FOREIGN_OBJECT_DETECTION number

A device that senses or detects foreign objects that shock or break the power network. It may alarm when such accidents happen.

FROST number

A device that senses or detects frost on a window.

GAS number

A device that senses or detects gas concentration (other than CO2).

HEAT number

A device that senses or detects heat.

HUMIDITY number

A device that senses or detects humidity.

IDENTIFIER number

A device that reads a tag, such as for gaining access to a door or elevator.

ION_CONCENTRATION number

A device that senses or detects ion concentration, such as for water hardness.

LEVEL number

A device that senses or detects fill level, such as for a tank.

LIGHT number

A device that senses or detects light.

MOISTURE number

A device that senses or detects moisture.

MOVEMENT number

A device that senses or detects movement.

OBSTACLE number

A device that senses or detects any obstacles. Examples are: detectors sensing objects falling from a bridge, rock-fall detectors, etc.

PH number

A device that senses or detects acidity.

PRESSURE number

A device that senses or detects pressure.

RADIATION number

A device that senses or detects pressure.

RADIOACTIVITY number

A device that senses or detects atomic decay.

RAIN number

A device that senses or collects rainfall related information.

SMOKE number

A device that senses or detects smoke.

SNOW_DEPTH number

A device that senses or measures the depth of snowfall.

SOUND number

A device that senses or detects sound.

TEMPERATURE number

A device that senses or detects temperature.

TRAIN number

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.

TURNOUT_CLOSURE number

A device that senses or detects the position of a blade of a turnout.

WHEEL number

A device that senses or detects the passage of a wheel.

WIND number

A device that senses or detects airflow speed and direction.

USERDEFINED number

User-defined type.

NOTDEFINED number

Undefined type.

Author:
  • drajmarsh

SHADE <static>

The different shading device types.

Properties:
Name Type Description
SIMPLE number

A roof-like projection extending over a doorway, window, opening, deck or similar to provide protection from the sun.

AWNING number

A fabric or light-weight screen extending out over a doorway, window, opening, deck or similar to provide protection from the sun.

BLINDS number

A fabric panel or slats suspended at the top of an opening to form a screen that is adjustable vertically up and down.

BRISE_SOLEIL number

A system of horizontal or vertical louvre blades angled to control the amount of sunlight passing through.

COWL number

A hood-like projection that has both a top and one or two sides around a doorway, window or opening to provide protection from the sun.

CURTAINS number

A fabric panel suspended at the top of an opening to form a screen that is adjustable sideways along a rail.

LOUVRES number

A series of spaced blades fixed or hung at regular intervals and angled to control the amount of sunlight passing through.

SHUTTERS number

A hinged or movable door-like cover that is either solid of with louvre blades angled to control the amount of sunlight passing through.

Author:
  • drajmarsh

SINK <static>

Enumerates different types of sinks.

Properties:
Name Type Description
BASIC number

A generic rectangular sink or basin with tap.

Author:
  • drajmarsh

SLAB <static>

The different slab types.

This enumeration matches the IfcSlabTypeEnum in the IFC model format.

Properties:
Name Type Description
BASE_SLAB number

A slab used to represent a floor slab against the ground or a mat foundation.

APPROACH_SLAB number

Part of bridge abutment providing transition from embankment to the bridge.

FLOOR number

A slab used to represent a floor slab or a bridge deck.

LANDING number

A slab used to represent a landing within a stair or ramp.

PAVING number

A rigid pavement course of a road or other paved area, usually concrete.

ROOF number

A slab used to represent a roof slab (either flat or sloped).

SIDEWALK number

A slab used to represent a sidewalk.

TRACK_SLAB number

A reinforced concrete slab or prestressed reinforced concrete slab, which is a main element of slab track.

WEARING number

A slab used to represent a wearing surface.

USERDEFINED number

An slab type as defined by the user.

Author:
  • drajmarsh

SPACE <static>

Enumerates the different types of spaces.

Properties:
Name Type Description
DEFAULT number

A simple habitable space in a building.

Author:
  • drajmarsh

STAIR <static>

Enumerates the different types of staircase.

Properties:
Name Type Description
BASIC number

Defines a basic block-based staircase.

TIMBER number

Defines a timber staircase.

SPIRAL number

Defines a spiral staircase.

Author:
  • drajmarsh

STRUCTURE <static>

Enumerates the different types of structure.

This enumeration models the IfcFacility types in the IFC model format.

Properties:
Name Type Description
BUILDING number

A structure that provides shelter for its occupants or contents and stands in one place.

BRIDGE number

A civil engineering works that affords passage to pedestrians, animals, vehicles, and services above obstacles or between two points at a height above ground.

MARINE number

A marine facility such as a quay, jetty, shipyard or breakwater specific to the ports and waterways domain.

RAILWAY number

A structure providing a route from one location to another for the guided passage of wheeled vehicles running on rails.

ROAD number

A route built on land to allow travel from one location to another, including highways, streets, cycle and foot paths, but excluding railways.

Author:
  • drajmarsh

SURFACE <static>

The different types of analysis surface.

Properties:
Name Type Description
VOID number

An unfilled hole or air gap.

SHADE number

An external shading surface.

FLOOR number

A floor surface above the ground or space.

CEILING number

A ceiling surface beneath a floor or roof.

ROOF number

A roof surface exposed to above.

WALL number

A vertical wall surface.

COLUMN number

A freestanding or embedded column.

WINDOW number

A window surface within an element.

DOOR number

A door surface within an element.

PANEL number

A panel surface within an element.

COVERING number

A surface covering over an element.

GROUND number

An external ground surface.

PLENUM number

A boundary of a ceiling plenum.

Author:
  • drajmarsh

SYSTEM <static>

Enumerates the different types of flow systems.

Systems tie a series of elements and/or components together to serve one purpose - to hold the building up, to deliver water, clear waste, conduct electricity or manage operations. They can also be used to differentiate between different domains of interest, professions or trades.

Properties:
Name Type Description
NONE number

Those elements not part of any known system.

DRAWING number

Those elements that add visual information or guidance to the drawing/rendering of a building or structure. The drawing system includes elements such as floor grids, structural grids, dimension lines, text annotations, level indicators, north arrows, analytical data points/grids and other non-physical display components that form part of a drawing or view.

ARCHITECTURAL number

Those elements that define the spatial layout and physical form of a building or structure. The architectural system includes spaces, walls, floors, roofs, ceilings, columns, windows, doors, furniture and fixtures that define both the physical and spatial characteristics of the building as well as the nature of and amenity provided by each room or space within it.

STRUCTURAL number

The core elements that support or distribute loads within a building or structure. The structural system includes many of the core architectural elements in a building, such as walls, floors, roofs and columns, as well as more specific elements such as beams, rafters, trusses, braces and ties. The geometry of structural elements are often much simpler than architectural elements as their purpose is often to create an analytical model rather than a detailed visual representation.

MECHANICAL number

The elements required to safely transport and distribute heating and cooling around a building or structure. The mechanical system includes all the elements that form the heating, ventilation and air-conditioning (HVAC) systems for changing the internal temperature of spaces and enhancing the comfort of occupants. It comprises hydronic loops that use pipes, pumps and controllers to circulate temperature-controlled water from heat pumps, chillers and boilers to heat exchange systems within radiators and air handling units. It also includes the fans, ducts and dampers required to mix and circulate outside air with return air from vents within the building, through those heat exchange systems, and back through the outlet vents into spaces.

ELECTRICAL number

The elements required to safely convert and carry mains electricity around the building or structure. The electrical system includes all the cables, connectors and wiring trays forming the circuits that connect the lights, switches, appliances and plug points in a building back to the main switchboard and its circuit breakers and fuses.

PLUMBING number

The elements required to safely transport and distribute fluids and liquids around the building or structure. The plumbing system includes elements for the collection, transport and delivery of potable water, sanitary waste, storm water and gas. The potable water system brings in pressurised clean water from the water main and distributes it to taps and other outlets for drinking and washing, as well as the hot-water system and dish/clothes washing appliances. The sanitary system removes waste water and excrement to a sewer, septic tank or leech drain. The storm water system transfers rainwater from the building and/or site into soak wells or run-off systems. Where fitted, the gas system transports pressurised gas from the gas main to specialist outlets within building, as well as hot-water systems and gas stoves where applicable.

TRANSPORT number

The elements that transport people and/or goods around a building or structure. The transport system includes those element that form an elevator, escalator, travelator, conveyor, stairways or ladder that is fixed to the structure of a building, whose primary purpose is the transport or people or goods.

MANAGEMENT number

The elements that form the building management system for monitoring and controlling the operations of a building or structure. The management system can include elements from the electrical system, as well as sensors and controllers that may be self-powered or battery operated. The management system includes all the components that detect, sense or record metrics or events within the building and deliver them to a central computer or distributed control panels to be processed by a building management system (BMS) or stored in a database.

LANDSCAPING number

The elements that form the external landscaping around building or structure. The landscaping system can include paved areas, paths, driveways, roads, street furniture, rocks, vegetation, retaining walls, columns, railings, fences, gates, drainage and irrigation systems, and any other site-related element. By way of differentiation, landscaping is typically done around the construction area whereas groundworks as usually done immediately below it. Some crossover between the two systems is usually unavoidable, especially when it comes to retaining walls and surface water drainage, but you can simply assign those elements to both systems.

GROUNDWORK number

The elements that form part of the surface/subsurface preparation prior to construction. The groundwork system typically includes elements on or below ground level that form part of the foundational stage required to stabilise and/or prepare the ground to support the subsequent construction stage. Such element include foundations, footings, retaining walls, piles, piers, soak-wells, run-off drainage systems and trenches for essential services like water, gas, electricity, and telecommunications. Groundworks also typically include site clearance, excavation, backfilling and compaction, but these are not easily represented as distinct BIM elements.

CONTEXT number

The elements that form part of the site context that surrounds the project. It includes things like massing models of surrounding buildings, topography, streetscapes, sun-path diagrams, vegetation, infrastructure etc. Whilst landscaping and groundworks occur on the actual site of the project, context refers to the broader environment outside the site.

Author:
  • drajmarsh

TABLE <static>

Enumerates the different types of table.

Properties:
Name Type Description
BASIC number

A basic table.

DINING number

A kitchen or dining table.

COFFEE number

A low-height coffee table.

SIDE number

A side table beside a bed.

DESK number

A desk or workstation.

CONFERENCE number

A higher quality meeting table.

WORKBENCH number

A solid work bench.

ROUND number

A circular table.

Author:
  • drajmarsh

TAP <static>

Enumerates the different types of simple tap.

Properties:
Name Type Description
NONE number

Defines no tap, or one that is not rendered.

PILLAR number

A pillar tap with two handles and a shared spout.

MIXER number

A mixer tap with a single handle on top.

BRIDGE number

A mixer tap with two handles and a bridged spout between them.

Author:
  • drajmarsh

TERRAIN <static>

Enumerates the different types of terrain.

Properties:
Name Type Description
BASIC number

A simple distance-weighted spatially interpolated surface.

NOISE number

An undulating terrain surface generated using Perlin noise.

NURBS number

An undulating surface generated from a NURBS surface.

BERM number

A raised mound of compacted earth or gravel.

Author:
  • drajmarsh

WALL <static>

The different types of wall element.

Properties:
Name Type Description
STANDARD number

A standard solid wall extruded vertically and with a constant thickness along each segment of its path.

ANGLED number

Angled walls allow customisation of the start and end faces of open-path walls, which can be angled in both orientation and tilt, and/or extended in their path directions.

STANDALONE number

A freestanding wall that is not connected at either end to the building or structure, and is not restrained along the top.

Author:
  • drajmarsh

WALL_FLAGS <static, readonly>

Enumerates the various flags used by walls.

Properties:
Name Type Default Description
STRUCTURAL number 1

Whether or not the wall supports and extends to the level above.

SHOW_IN_PLAN number 2

Whether or not to always cut through this wall in plan-section view.

When set, this wall will always be shown as cut within a sectional plan view even if it does not cross the horizontal cutting plane.

SWAP_SIDES number 4

Whether or not to flip the inside/outside direction.

HAS_FOOTING number 8

Whether or not the wall should have a footing beneath it.

MERGED number 32768

Whether or not the wall was merged with level boundary.

Author:
  • drajmarsh

WINDOW <static>

Enumerates the different types of window.

Properties:
Name Type Description
VOID number

An unglazed framed opening.

FIXED number

A simple window with fixed framed glazing panes.

OPERABLE number

A window with one or more openable panes within a frame.

Author:
  • drajmarsh