Basic 3D dovetail shape for use in connectors.


Creative Commons Attribution Noncommercial Share Alike

Commercial use is not allowed, you must attribute the creator, you may remix this work and the remixed work should be made available under this license.

Learn more or download attribution tags


3D male and female dovetail shapes for use in connectors. I developed this shape for use in modular system to attach things (like spool holders) to my IKEA IVAR desk.

Update: Changed orientation of basic dovetail. Less printable
by it self, but more logical (in my opinion) for use in connectors that
use the dovetail.

Update: Reduced the default margin to 0.2 gives a better fit.

The dovetail.scad file contains two modules, global parameters and some convenience functions to access the global parameters when 'use' this file in an other scad file.


- DovetailGender = Male; Default gender when modules are called without gender parameter.
- Dovetail
Size = [40, 46, 10]; Default size when modules are called without size parameter.
- DovetailMargin = 0.4; Default margin when modules are called without margin parameter.
- Dovetail
Plate = 5; Default when modules are called without plate parameter.


female(): Returns true; A more readable value for the gender parameter.
male(): Returns false. A more readable value for the gender parameter.
yes(): Returns true; A more readable value for the center parameter.
no(): Returns false. A more readable value for the center parameter.
dovetailGender(): returns the set gender default.
dovetailSize(): returns the set size default.
dovetailMargin(): returns the set margin default.
dovetailPlate(): returns the set plate size default.


dovetail(gender, size, margin, center): Generates the basic dovetail shape.

gender: Boolean. The gender of the dovetail, false is male and true is female.
size: 3 value array. Size of the cube the dove tail is made 'carved' out, or in other words the cube formed by a male and female connector when put together.
margin: Decimal. The margin to keep between the male and female connectors so they make a perfect fit. This parameter might need sone experimenting to get right depending on the type of filament you are using. Defaults to 0.4.
center: Boolean. This determines the positioning of the object. If true, object
is centered at (0,0,0). Otherwise, the cube is placed in the positive
quadrant with one corner at (0,0,0). Defaults to false.

dovetailPlate:(gender, size, margin, plate, center): Generates a dovetail shape centered on top of a plate (cube shape).

Parameters are the same as for basic dovetail shape with the additions of:
plate: Decimal or 3 value array. The size of the cube the dovetail is connected to. When only a decimal value is given it is used as Z value and the X and Y values are the same as those of the dovetail it self.

Materials and methods

- Your favorite filament.



Issues are used to track todos, bugs or requests. To get started, you could create an issue.


Mini imageRflynn added this to the Bobs collection collection ago
F6255ee0dadfb1bb858c901e855bd9d5?default=blank&size=40Zoran Vila added this to the ZV Ideas & Inspirations collection ago
C8630a6ff3d8d08ad00a021a5c4bd00f?default=blank&size=40Ml4824 added this to the OpenSCAD collection ago
3f07db8af071677da6f74f86b02c7dc9?default=blank&size=40arkcle added this to the outils collection ago
Ba18661c0aa1e09f7cccff0cf0d948f1?default=blank&size=40Hosirus added this to the Kid collection ago
Mini avatarDirk Boom published this design ago