![]() |
omdl
v1.0
OpenSCAD Mechanical Design Library
|
Models for constructing 3d dovetail joints with optional screw and nut fastener. More...
Collaboration diagram for Dovetail Screw:Files | |
| file | dovetail_screw.scad |
| Models for constructing 3d dovetail joints with optional screw and nut fastener. | |
Functions and/or Modules | |
| module | joint3d_dovetail_screw (h=1, conf, insts, mode=0, type=0, align) |
| Construct a 3d dovetail joint with optional screw and nut fastener. More... | |
Models for constructing 3d dovetail joints with optional screw and nut fastener.
| Requires: |
|---|
| include <omdl-base.scad>; |
| include <models/3d/fastener/screws.scad>; |
| include <models/3d/joint/dovetail_screw.scad>; |
| module joint3d_dovetail_screw | ( | h | = 1, |
| conf | , | ||
| insts | , | ||
| mode | = 0, |
||
| type | = 0, |
||
| align | |||
| ) |
Construct a 3d dovetail joint with optional screw and nut fastener.
| h | <decimal> joint height. |
| conf | <datastruct> joint length, depth, pin configuration and screw configuration (see below). |
| insts | <datastruct> joint instance list (see below). |
| mode | <integer> global construction mode. |
| type | <integer> construction type {0=male additions, 1=male removals, 2=female removals}. |
| align | <integer-list-3> joint alignment; center, edge-1, and edge-2 for [x, y, z]. |
Use this module to construct 3d dovetail joints with optional screw and locking nut, as illustrated in the example below.
Set type = 0 to construct the male half, and set type = 2 to for the corresponding female half. To ensure proper alignment and fit, both components must be constructed using identical configuration parameters.
When producing interlocking joints with 3D-printed plastics, carefully control the joint clearance. Most printed plastics are relatively rigid, so insufficient gap allowance can lead to poor assembly or excessive friction.
For CNC routers and laser cutters, the interior and exterior corner radii can be adjusted to accommodate tooling limitations. This allows flat internal mating surfaces to be maintained while compensating for the minimum practical radius imposed by the cutter diameter (commonly called dogbone corner relief).
| e | data type | default value | parameter description |
|---|---|---|---|
| 0 | decimal | required | l : joint length |
| 1 | decimal | l/10 | d : joint depth |
| 2 | datastruct | decimal | d | pin default configuration |
| 3 | datastruct | undef | screw bore default configuration |
| e | data type | default value | parameter description |
|---|---|---|---|
| 0 | decimal | d | m : male pin width |
| 1 | decimal | m * 5/2 | screw section width |
| 2 | decimal | 0 | pin tail expansion (dovetail) |
| 3 | decimal | m / 25 | pin gap width |
| 4 | decimal | m / 20 | pin exterior edge rounding |
| 5 | decimal | m / 20 | pin interior edge rounding |
| name | schema |
|---|---|
| screw bore | [ sbo, d, l, h, n, t, s, f ] |
| e | data type | default value | parameter description |
|---|---|---|---|
| 0 | decimal | 0 | sbo : screw bore offset |
| 1 | decimal | d / 6 | d : bore diameter |
| 2 | decimal | d * 3/2 | l : bore length |
| 3 | decimal-list-5 | h : fastener head | |
| 4 | decimal-list-5 | n : fastener nut | |
| 5 | decimal-list-2 | t : bore tolerance | |
| 6 | decimal-list-list-3 | s : nut slot cutout | |
| 7 | decimal-list-2 | decimal | f : bore scale factor |
The screw bore is defined using the data structure described above. This structure includes seven parameters, all of which are documented in screw_bore().
| name | schema |
|---|---|
| insts | [ inst, inst, ..., inst ] |
| e | data type | default value | parameter description |
|---|---|---|---|
| 0 | decimal | 0 | zero reference; [-1, 0, +1] |
| 1 | decimal | 0 | length offset from reference |
| 2 | integer | 7 | form (see below). |
| 3 | integer | mode override (see below). | |
| 4 | datastruct | decimal | pin override (see above). | |
| 5 | datastruct | decimal | screw bore override (see above). |
Integer value is binary encoded.
| b | description |
|---|---|
| 0 | construct left pin at negative side of instance |
| 1 | construct right pin at positive side of instance |
| 2 | construct screw bore for instance |
Integer value is binary encoded.
| b | description |
|---|---|
| 0 | female removal; interior corner over cut placement |
Box screw joint example script
| top | diag |
|---|---|
![]() | ![]() |
Definition at line 444 of file dovetail_screw.scad.
Here is the call graph for this function: