2.2 Site Info

This example show how to retrive the site information from an IFC file.

from pprint import pprint
from compas_ifc.model import Model

model = Model("data/wall-with-opening-and-window.ifc")

assert len(model.projects) > 0

project = model.projects[0]
assert len(project.sites) > 0

site = project.sites[0]

# =============================================================================
# Info
# =============================================================================

print("\n" + "*" * 53)
print("Site")
print("*" * 53 + "\n")

site.print_inheritance()

print("\nSpatial Structure")
print("=" * 53 + "\n")

site.print_spatial_hierarchy()

print("\nAttributes")
print("=" * 53 + "\n")

pprint(site.attributes)

print("\nProperties")
print("=" * 53 + "\n")

pprint(site.properties)

print("\nBuildings")
print("=" * 53 + "\n")

print(site.buildings)

Example Output:

*****************************************************
Site
*****************************************************

- IfcRoot
-- IfcObjectDefinition
--- IfcObject
---- IfcProduct
----- IfcSpatialElement
------ IfcSpatialStructureElement
------- IfcSite

Spatial Structure
=====================================================

<Site:IfcSite Name: Default Site, GlobalId: 1cwlDi_hLEvPsClAelBNnz>
---- <Building:IfcBuilding Name: Default Building, GlobalId: 0AqAhXVxvCy9m0OX1nxY1A>
-------- <BuildingStorey:IfcBuildingStorey Name: Default Building Storey, GlobalId: 2GNgSHJ5j9BRUjqT$7tE8w>
------------ <Window:IfcWindow Name: Window for Test Example, GlobalId: 0tA4DSHd50le6Ov9Yu0I9X>
------------ <Wall:IfcWallStandardCase Name: Wall for Test Example, GlobalId: 3ZYW59sxj8lei475l7EhLU>

Attributes
=====================================================

{'CompositionType': 'ELEMENT',
'Description': 'Description of Default Site',
'GlobalId': '1cwlDi_hLEvPsClAelBNnz',
'LandTitleNumber': None,
'LongName': None,
'Name': 'Default Site',
'ObjectPlacement': <Entity:IfcEntity>,
'ObjectType': None,
'OwnerHistory': <Entity:IfcEntity>,
'RefElevation': 10.0,
'RefLatitude': (24, 28, 0),
'RefLongitude': (54, 25, 0),
'Representation': None,
'SiteAddress': None}

Properties
=====================================================

{}

Buildings
=====================================================

[<Building:IfcBuilding Name: Default Building, GlobalId: 0AqAhXVxvCy9m0OX1nxY1A>]