GenericElement

class compas_ifc.element.GenericElement(ifc_type='IfcGenericElementProxy', geometry=None, transformation=None, name=None, **kwargs)

Bases: Generic[T], Element

A unified element representing any building component in an IFC model.

This class extends compas_model.Element to bridge IFC entity data with the compas_model infrastructure. It provides a clean, minimal API for accessing element properties while keeping a reference to the underlying IFC entity for advanced access.

All IFC product subclasses (IfcWall, IfcSlab, IfcBeam, etc.) as well as spatial containers (IfcSite, IfcBuilding, IfcBuildingStorey) are represented uniformly as GenericElement instances with different ifc_type values.

Property setters are bi-directional: setting geometry, name, properties, or transformation on the element also updates the underlying IFC entity.

Parameters:
ifc_typestr, optional

The IFC class name (e.g. “IfcWall”, “IfcSlab”, “IfcBuildingStorey”).

geometryBrep | Mesh, optional

The geometry of the element.

transformationTransformation, optional

The local transformation relative to the parent element.

namestr, optional

The name of the element.

Methods

__init__

compute_aabb

Computes the Axis Aligned Bounding Box (AABB) of the geometry of the element.

compute_collision_mesh

Computes the collision geometry of the geometry of the element.

compute_collisions

Detect volumetric collision between this element and another.

compute_contacts

Compute contacts between this element and another element.

compute_elementgeometry

Compute the geometry of the element in local coordinates.

compute_obb

Computes the Oriented Bounding Box (OBB) of the geometry of the element.

compute_point

Computes a reference point for the element geometry (e.g.

compute_surface_mesh

Computes the triangulated surface mesh of the element's model geometry.

compute_volumetric_mesh

Computes the tetrahedral volumetric mesh of the element's model geometry.

show

Show this element and its children in compas_viewer.

Inherited Methods

ToString

Converts the instance to a string.

add_feature

Add a feature to the list of features of the element.

apply_features

Apply the features to the (base) geometry.

compute_modelgeometry

Compute the geometry of the element in model coordinates and taking into account the effect of interactions with connected elements.

compute_modeltransformation

Compute the transformation to model coordinates of this element based on its position in the spatial hierarchy of the model.

copy

Make an independent copy of the data object.

from_json

Construct an object of this type from a JSON file.

from_jsonstring

Construct an object of this type from a JSON string.

sha256

Compute a hash of the data for comparison during version control using the sha256 algorithm.

to_json

Convert an object to its native data representation and save it to a JSON file.

to_jsonstring

Convert an object to its native data representation and save it to a JSON string.

transform

Transforms the element.

transformed

Creates a transformed copy of the element.

validate_data

Validate the data against the object's data schema.