Skip to content

compas_timber.panel_features ¤

Classes¤

InterfaceRole ¤

Enumeration of the possible interface roles.

Attributes:

  • MAIN (literal(MAIN)) –

    The interface is the main interface.

  • CROSS (literal(CROSS)) –

    The interface is the cross interface.

  • NONE (literal(NONE)) –

    The interface has no specific role. E.g. when a miter joint is used.

Opening ¤

Opening(frame, outline_a, outline_b, opening_type=None, name='Opening', **kwargs)

Methods:¤

apply ¤
apply(panel_geometry, panel)

Applies the opening to the given panel geometry.

Parameters:

  • panel_geometry (:class:`compas.geometry.Brep`) –

    The geometry of the panel to which the opening will be applied.

  • panel (:class:`compas_timber.elements.Panel`) –

    The panel element.

Returns:

  • class:`compas.geometry.Brep`

    The modified panel geometry with the opening applied.

Raises:

  • :class:`compas_timber.errors.FeatureApplicationError`

    If the opening cannot be applied to the panel geometry.

from_outline_panel classmethod ¤
from_outline_panel(
    outline, panel, opening_type=None, project_horizontal=False, name=None
)

Creates an opening from a single outline and a panel.

The outline defined locally relative to the panel frame. The outline is projected onto the outline_a side of the panel.

Parameters:

  • outline (:class:`compas.geometry.Polyline`) –

    The outline of the opening.

  • panel (:class:`compas_timber.elements.Panel`) –

    The panel in which the opening is located.

  • name (str, default: None ) –

    The name of the opening.

Returns:

  • class:`Opening`

    The created opening.

OpeningType ¤

Constants for different types of openings in panels.

Attributes:

  • DOOR (str) –

    Constant for door openings.

  • WINDOW (str) –

    Constant for window openings.

PanelConnectionInterface ¤

PanelConnectionInterface(
    polyline: Polyline,
    frame: Frame,
    edge_index: int | None,
    interface_role: InterfaceRole = NONE,
    name="PanelConnectionInterface",
    **kwargs,
)

Attributes¤

polyline property ¤
polyline: Polyline

Returns the interface polyline in the coordinates of the containing Panel.

width property ¤
width: float

Returns the width of the interface polyline.

Methods:¤

as_plane ¤
as_plane() -> Plane

Returns the interface as a plane.

PanelFeature ¤

PanelFeature(frame: Frame, panel_feature_type: PanelFeatureType | str = NONE, **kwargs)

Attributes¤

geometry property ¤
geometry: Geometry

The geometry of the element in the model's global coordinates.

Methods:¤

apply ¤
apply(geometry: Brep, panel: Panel) -> Brep

Apply the panel feature to the panel geometry.

compute_modelgeometry ¤
compute_modelgeometry() -> Geometry

Same as parent but handles standalone elements.

compute_modeltransformation ¤
compute_modeltransformation() -> Transformation

Same as parent but handles standalone elements.