Panel

class compas_timber.elements.Panel[source]

Bases: Element

Represents a timber panel element (wall, floor, roof, etc.).

Serves as container for beams, plates, and other related elements and groups them together to form a panel. A panel is often a single unit of prefabricated timber element. It is often referred to as an enveloping body.

Parameters:
frameFrame

The coordinate system (frame) of this panel.

lengthfloat

Length of the panel.

widthfloat

Width of the panel.

thicknessfloat

Thickness of the panel.

local_outline_a: :class:`~compas.geometry.Polyline`, optional

A polyline representing the principal outline of this panel.

local_outline_b: :class:`~compas.geometry.Polyline`, optional

A polyline representing the associated outline of this panel.

openingslist[Polyline], optional

A list of Polyline objects representing openings in this panel.

namestr, optional

Name of the panel. Defaults to “Panel”.

**kwargsdict, optional

Additional keyword arguments.

Attributes:
frameFrame

The coordinate system (frame) of this panel.

lengthfloat

Length of the panel.

widthfloat

Width of the panel.

heightfloat

Height (thickness) of the panel.

thicknessfloat

Thickness of the panel.

planestuple (Plane, Plane)

The two main planes of the panel (bottom and top).

normalVector

The normal vector of the panel.

edge_planesdict[int, Plane]

The edge planes of the panel by edge index.

namestr

Name of the panel.

interfaceslist

list[PanelConnectionInterface]: The interfaces associated with this panel.

attributesdict

Dictionary of additional attributes.

is_group_elementbool

Always True for panels as they can contain other elements.

Methods

apply_edge_extensions

adjusts segments of the outlines to lay on the edge planes created by plate joints.

compute_aabb

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

compute_collision_mesh

Computes the collision geometry of the element.

compute_elementgeometry

Compute the geometry of the element.

compute_modelgeometry

Same as parent but handles standalone elements.

compute_modeltransformation

Same as parent but handles standalone elements.

compute_obb

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

from_brep

Creates a plate from a brep.

from_outline_thickness

Constructs a Plate from a polyline outline and a thickness.

from_outlines

Constructs a Panel from two polyline outlines.

remove_blank_extension

Removes any extension plane for the given edge index.

remove_features

Removes interfaces from the element.

reset

Resets the element to its initial state by removing all features, extensions, and debug_info.

set_extension_plane

Sets an extension plane for a specific edge of the plate.

transformation_to_local

Compute the transformation from model space to local element space.

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_contacts

Compute the contacts between this element and another 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.

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.