TenonMortiseJoint

class compas_timber.connections.TenonMortiseJoint[source]

Bases: Joint

Represents a TenonMortise type joint which joins two beams, one of them at its end (main) and the other one along its centerline (cross) or both of them at their ends. A tenon is added on the main beam, and a corresponding mortise is made on the cross beam to fit the main beam’s tenon.

This joint type is compatible with beams in T and L topology.

Please use TenonMortiseJoint.create() to properly create an instance of this class and associate it with a model.

Parameters:
main_beamBeam

First beam to be joined.

cross_beamBeam

Second beam to be joined.

start_yfloat

Start position of the tenon along the y-axis of the main beam.

start_depthfloat

Depth of the tenon from the surface of the main beam.

rotationfloat

Rotation of the tenon around the main beam’s axis.

lengthfloat

Length of the tenon along the main beam.

widthfloat

Width of the tenon.

heightfloat

Height of the tenon.

shapeint

The shape of the tenon, represented by an integer index: 0: AUTOMATIC, 1: SQUARE, 2: ROUND, 3: ROUNDED, 4: RADIUS.

shape_radiusfloat

The radius used to define the shape of the tenon, if applicable.

Attributes:
main_beamBeam

First beam to be joined.

cross_beamBeam

Second beam to be joined.

main_beam_guidstr

GUID of the main beam.

cross_beam_guidstr

GUID of the cross beam.

start_yfloat

Start position of the tenon along the y-axis of the main beam.

start_depthfloat

Depth of the tenon from the surface of the main beam.

rotationfloat

Rotation of the tenon around the main beam’s axis.

lengthfloat

Length of the tenon along the main beam.

widthfloat

Width of the tenon.

heightfloat

Height of the tenon.

shapeint

The shape of the tenon, represented by an integer index: 0: AUTOMATIC, 1: SQUARE, 2: ROUND, 3: ROUNDED, 4: RADIUS.

shape_radiusfloat

The radius used to define the shape of the tenon, if applicable.

featureslist

List of features or machining processes applied to the elements.

Methods

add_extensions

Calculates and adds the necessary extensions to the beams.

add_features

Adds the required trimming features to both beams.

restore_beams_from_keys

After de-serialization, restores references to the main and cross beams saved in the model.

set_default_values

Sets default values for attributes if they are not provided.

Inherited Methods

ToString

Converts the instance to a string.

check_elements_compatibility

Checks if the beams are compatible for the creation of the joint.

copy

Make an independent copy of the data object.

create

Creates an instance of this joint and creates the new connection in model.

element_count_complies

from_json

Construct an object of this type from a JSON file.

from_jsonstring

Construct an object of this type from a JSON string.

get_face_most_ortho_to_beam

Of all the faces of beam_b, returns the one whose normal is most orthogonal to beam_a.

get_face_most_towards_beam

Of all the faces of beam_b, returns the one whose normal most faces beam_a.

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.