Building

class compas_ifc.entities.Building(entity, model)

Bases: SpatialElement

Class representing an IFC building.

Notes

The order of spatial structure elements being included in the concept for builing projects are from high to low level: IfcProject, IfcSite, IfcBuilding, IfcBuildingStorey, and IfcSpace with IfcSite, IfcBuildingStorey and IfcSpace being optional levels. Therefore an spatial structure element can only be part of an element at the same or higher level [1].

This means the minimum spatial structure of a project is:

  • IfcProject

    • IfcBuilding

      • IfcBuildingElement

Therefore, all building elements found in a model can be accessed through the Building class.

model = Model(filepath)
for project in model.projects:
    if project.sites:
        for site in project.sites:
            for building in site.buildings:
                for element in building.elements:
                    # ...
    else:
        for building in project.buildings:
            for element in building.elements:
                # ...

References

Attributes:
addressstr

The compiled address of the building.

building_storeysList[BuildingStorey]

The building_storeys contained in the building. If the building_storeys are not properly nested, they can be found at the top level of an IFC model.

spacesList[Space]

The spaces contained in the building.

building_elementsList[BuildingElement]

The building elements contained in the building.

Methods

__init__

Inherited Methods

attribute

Get the value of a named attribute.

classifications

External sources of information associated with this product.

contains_elements

Returen contained elements of a spatial element.

decomposes

Return the relation that decomposes this element.

factory

Factory function for creating an compas_ifc entity object from an Ifc entity, the function finds closest matched class from the bottom of inherentance.

has_attribute

Verify that the entity has a specific attributes.

has_property

Verify that this entity has a specific property.

inheritance

Find the ancestors of the current entity up to the root element.

is_a

is_containment_hierarchical

Return True if the spatial element is hierarchical, which means it can have only one decomposition parent.

is_decomposed_by

Return the relation that this element is decomposed by.

materials

The materials associated with this product.

print_inheritance

Print the entity inheritance as a nested list.

print_spatial_hierarchy

Print the spatial hierarchy of this element.

property

Get the value of the property with the given name.

pset

Get the property set with the given name.

set_attribute

Set the value of a named attribute.

set_attributes

Set the values of multiple attributes.

set_property

Set the value of the property with a given name.

show

traverse

Traverse children of this element.

traverse_ancestor

Traverse ancestors of this element.

traverse_branch

Traverse the spatial branch of this element.