Element

class compas_model.elements.Element(geometry=None, transformation=None, features=None, material=None, name=None, **kwargs)

Bases: Data

Base class for all elements in the model.

Parameters:
geometrycompas.geometry.Brep | compas.datastructures.Mesh, optional

The complete geometry of the element.

transformationcompas.geometry.Transformation, optional

The transformation of the element defining its location in the model. This transformation is relative to the combined transformation of the ancestors of the element up to the model root. If no transformation is provided (default), the geometry of the element is taken as-is.

featureslist[Feature], optional

A list of features that define the detailed geometry of the element. Features are defined in the local coordinate system of the element.

materialMaterial, optional

The material of the element.

nameNone

The name of the element.

Attributes:
modelModel

Reference to the parent model.

graphnodeint

The identifier of the corresponding node in the interaction graph of the parent model.

treenodecompas.datastructures.TreeNode

The node in the hierarchical element tree of the parent model.

transformationTransformation

The transformation of the element wrt its parent.

featureslist[Feature]

A list of features that define the detailed geometry of the element.

modeltransformationTransformation, readonly

The resolved transformation of the element wrt the model root.

framecompas.geometry.Frame, readonly

The coordinate frame corresponding to the model transformation of the element: Frame.from_transformation(self.modeltransformation)

elementgeometrycompas.datastructures.Mesh | compas.geometry.Brep, readonly

The geometry of the element in element coordinates.

modelgeometrycompas.datastructures.Mesh | compas.geometry.Brep, readonly

The geometry of the element in model coordinates: self.elementgeometry.transformed(self.modeltransformation).

aabbcompas.geometry.Box, readonly

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

obbcompas.geometry.Box, readonly

The Oriented Bounding Box (OBB) of the model geometry of the element.

collision_meshcompas.datastructures.Mesh, readonly

The collision mesh of the model geometry of the element.

pointcompas.geometry.Point, readonly

The reference location of the element. This is, for example, the centroid of the model geometry.

surface_meshMesh, readonly

A triangle mesh representing the surface boundary of the model geometry of the element, for example for FEA.

volumetric_meshVolMesh, readonly

A tetrahedral mesh representing the internal volume of the model geometry of the element, for example for FEA.

Methods

add_feature

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

apply_features

Apply the features to the (base) geometry.

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_contacts

Compute the contacts between this element and another element.

compute_elementgeometry

Compute the geometry of the element in local coordinates.

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.

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.

transform

Transforms the element.

transformed

Creates a transformed copy of the element.

Inherited Methods

ToString

Converts the instance to a string.

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.

validate_data

Validate the data against the object's data schema.