October 18, 2017
Description
#Finger Joint Library
Created by Aaron Ciuffo aaron . ciuffo at gmail.
Find the latest version at github: https://github.com/txoof/fingerjoint
This library calculate the appropriate number of finger joints for joining laser cut parts
given an edge length, material thickness and finger joint length. This is a LIBRARY
to be used in other OpenSCAD projects when a finger join (also known as a box joint or
comb joint) is needed between two faces.
To create a joint between faceA and faceB, faceA must have an insideCut() and faceB must
have an outsideCut() to properly align.
Note: Finger length must be less than 1/3 the length of the edge to work properly.
If you see the warnings below in the OpenSCAD console, check your finger length
values. Setting text=true will also provide useful visual debugging.
***DEPRECATED: Using ranges of the form [begin:end] with begin value greater than the end value is deprecated.
A demonstration is also provided through module 2Dlayout() and 3Dlayout().
The thingiverse customizer will not yield proper STLS in 2D mode. The 3D models are not
proper either.
This is derived from my previous Finger Joint Boxes.
###tl;dr usage:
use </path/to/fingerjoint.scad>
//cuts that fall entirely inside an edge
insideCuts(length = 204, finger = 10, material = 4.4);
//cuts that fall outside an edge
outsideCuts(length = 204, finger = 10, material = 4.4);
//2D layout demo
2Dlayout();
//3D layout demo
3Dlayout();
###Demo modules:
Two Dimensional Layout
Three Dimensional Layout
##module: insideCuts
create a set of cuts that falls entirely inside the edge
###parameters:
length (real) length of edge
finger (real) length of each individual finger
material (real) thickness of material - sets cut depth
text (boolean) add help text to indicate cut type (for debugging)
center (boolean) center the set of fingers with respect to origin
##module: outsideCuts
Create a set of finger-joint cuts that result in two larger cuts taken at the outside
edge
###parameters:
length (real) length of edge
finger (real) length of each individual finger
material (real) thickness of material - sets cut depth
text (boolean) add help text to indicate cut type (for debugging)
center (boolean) center the set of fingers with respect to origin
##module 2Dlayout:
Create a 2D layout of demonstration box
###Parameters:
xDim (real) X dimension pf bpx
yDim (real) Y dimension of box
zDim (real) Z dimension of box
finger (real) length of each individual finger
material (real) thickness of material - sets cut depth
text (boolean) true: turns on help text to help identify cut type (debugging)
##module 3Dlayout:
Create a 3D layout of demonstration box
###Parameters:
xDim (real) X dimension pf bpx
yDim (real) Y dimension of box
zDim (real) Z dimension of box
finger (real) length of each individual finger
material (real) thickness of material - sets cut depth
text (boolean) true: turns on help text to help identify cut type (debugging)
License:
GNU - GPL