omdl  v1.0
OpenSCAD Mechanical Design Library
Dovetails

Models for generating dovetailed joints in 2d. More...

+ Collaboration diagram for Dovetails:

Files

file  dovetail.scad
 Models for generating dovetailed joints in 2d.
 

Functions and/or Modules

module joint2d_dovetail (t=1, d=1, w=10, o=0, type=0, trim=false, center=false, align)
 Create 2D edge profiles for dovetail joint construction. More...
 

Usage Details

Models for generating dovetailed joints in 2d.

Requires:
include <omdl-base.scad>;
include <transforms/base_cs.scad>;
include <models/2d/joint/dovetail.scad>;

Function and/or Module Documentation

◆ joint2d_dovetail()

module joint2d_dovetail ( = 1,
= 1,
= 10,
= 0,
type  = 0,
trim  = false,
center  = false,
align   
)

Create 2D edge profiles for dovetail joint construction.

Parameters
t<decimal-list-6 | decimal> tail configuration; a list [m, s, f, g, er, ir] or a single decimal to set m (see below).
d<decimal> joint depth (tail length).
w<decimal> joint total width.
o<decimal> tail initial width offset.
type<integer> construction type {0=male additions, 1=male removals, 2=female removals}.
trim<boolean> limit construction to within the total joint width.
center<boolean> center tails over total joint width.
align<integer-list-2> joint alignment; edge-1, center, and edge-2 for both [x, y].

Use this module to generate a 2D profile for constructing dovetail joints. Set type = 0 to create the male dovetail fingers, and set type = 2 to create the corresponding female slots. Ensure that the same profile parameters are used for both components to achieve proper alignment and fit.

When creating dovetail joints using 3D-printed plastics, it’s important to carefully manage the joint gap due to the rigidity of most plastics. It’s a good idea to test with small sample joints before proceeding with larger parts. Additionally, applying gentle heat to the joint during assembly using a hot air gun (or hair dryer) can help soften the male and female components slightly, improving the fit and ease of assembly.

Multi-value and structured parameters

tail

Data structure fields: t (tail configuration)

e data type default value parameter description
0 decimal required m : male tail width
1 decimal m s : female slot width
2 decimal m/5 f : tail fin width expansion
3 decimal m/25 g : joint gap (male and female)
4 decimal m/20 er : external edge rounding
5 decimal m/20 ir : internal edge rounding (minimum cut radius)

The parameter ir can be used to define an internal corner edge overcut, which helps accommodate the minimum cut radius required for subtractive manufacturing. This overcut is based on the minimum diameter of the cut tool. By clearing the rounded section, it ensures proper clearance for mating joint members during assembly.

Dovetail profile example script

include <omdl-base.scad>;
include <transforms/base_cs.scad>;
include <models/2d/joint/dovetail.scad>;
w = 20;
t = [2, 3.25, 1, 1/20, 1/8, 1/4];
d = 2.75;
c = true;
// male section (lower)
joint2d_dovetail (w=w, t=t, d=d, type=0, center=c );
difference() { translate([0, -d/2]) square([w, d/2]); joint2d_dovetail (w=w, t=t, d=d, type=1, center=c ); }
// female section (upper)
translate([0, d*1.25])
difference() { square([w, d+d/2]); joint2d_dovetail (w=w, t=t, d=d, type=2, center=c ); }
// end_include
module joint2d_dovetail(t=1, d=1, w=10, o=0, type=0, trim=false, center=false, align)
Create 2D edge profiles for dovetail joint construction.
Definition: dovetail.scad:380

Dovetail profile example diagram
top
expand top

Definition at line 379 of file dovetail.scad.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: