TDovetailJoint

class compas_timber.connections.TDovetailJoint[source]

Bases: Joint

Represents a T-Dovetail type joint which joins two beams, one of them at its end (main) and the other one along its centerline (cross). A dovetail cut is made on the main beam, and a corresponding notch is made on the cross beam to fit the main beam.

This joint type is compatible with beams in T topology.

Please use TDovetailJoint.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 dovetail cut along the y-axis of the main beam.

start_depthfloat

Depth of the dovetail cut from the surface of the main beam.

rotationfloat

Rotation of the dovetail cut around the main beam’s axis.

lengthfloat

Length of the dovetail cut along the main beam.

widthfloat

Width of the dovetail cut.

cone_anglefloat

The angle of the dovetail cut, determining the taper of the joint.

dovetail_shapeint

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

tool_anglefloat

The angle of the tool used to create the dovetail cut.

tool_diameterfloat

The diameter of the tool used to create the dovetail cut.

tool_heightfloat

The height of the tool used to create the dovetail cut.

Attributes:
main_beamBeam

First beam to be joined.

cross_beamBeam

Second beam to be joined.

start_yfloat

Start position of the dovetail cut along the y-axis of the main beam.

start_depthfloat

Depth of the dovetail cut from the surface of the main beam.

rotationfloat

Rotation of the dovetail cut around the main beam’s axis.

lengthfloat

Length of the dovetail cut along the main beam.

widthfloat

Width of the dovetail cut.

cone_anglefloat

The angle of the dovetail cut, determining the taper of the joint.

dovetail_shapeint

The shape of the dovetail cut, represented by an integer index.

tool_anglefloat

The angle of the tool used to create the dovetail cut.

tool_diameterfloat

The diameter of the tool used to create the dovetail cut.

tool_heightfloat

The height of the tool used to create the dovetail cut.

heightfloat, optional

The height of the joint. This is not set during initialization but can be defined later.

flank_anglefloat, optional

The angle of the flanks of the dovetail joint, if applicable.

shape_radiusfloat, optional

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

featureslist

List of features or machining processes applied to the joint.

Methods

add_extensions

Calculates and adds the necessary extensions to the beams.

add_features

Adds the required trimming features to both beams.

define_dovetail_tool

Define the parameters for the dovetail feature based on a defined dovetail cutting tool.

restore_beams_from_keys

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

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.