-
Notifications
You must be signed in to change notification settings - Fork 64
joiners.scad
Snap-together joiners. To use, add the following lines to the beginning of your file:
include <BOSL/constants.scad>
use <BOSL/joiners.scad>
Usage:
- half_joiner_clear(h, w, [a], [clearance], [overlap], [orient], [align])
Description: Creates a mask to clear an area so that a half_joiner can be placed there.
Argument | What it does |
---|---|
h |
Height of the joiner to clear space for. |
w |
Width of the joiner to clear space for. |
a |
Overhang angle of the joiner. |
clearance |
Extra width to clear. |
overlap |
Extra depth to clear. |
orient |
Orientation of the shape. Use the ORIENT_ constants from constants.scad . Default: ORIENT_Y . |
align |
Alignment of the shape by the axis-negative (size1) end. Use the V_ constants from constants.scad . Default: V_CENTER . |
Example:
half_joiner_clear(orient=ORIENT_X);
Usage:
- half_joiner(h, w, l, [a], [screwsize], [guides], [slop], [orient], [align])
Description: Creates a half_joiner object that can be attached to half_joiner2 object.
Argument | What it does |
---|---|
h |
Height of the half_joiner. |
w |
Width of the half_joiner. |
l |
Length of the backing to the half_joiner. |
a |
Overhang angle of the half_joiner. |
screwsize |
Diameter of screwhole. |
guides |
If true, create sliding alignment guides. |
slop |
Printer specific slop value to make parts fit more closely. |
orient |
Orientation of the shape. Use the ORIENT_ constants from constants.scad . Default: ORIENT_Y . |
align |
Alignment of the shape by the axis-negative (size1) end. Use the V_ constants from constants.scad . Default: V_CENTER . |
Example:
half_joiner(screwsize=3, orient=ORIENT_X);
Usage:
- half_joiner2(h, w, l, [a], [screwsize], [guides], [orient], [align])
Description: Creates a half_joiner2 object that can be attached to half_joiner object.
Argument | What it does |
---|---|
h |
Height of the half_joiner. |
w |
Width of the half_joiner. |
l |
Length of the backing to the half_joiner. |
a |
Overhang angle of the half_joiner. |
screwsize |
Diameter of screwhole. |
guides |
If true, create sliding alignment guides. |
orient |
Orientation of the shape. Use the ORIENT_ constants from constants.scad . Default: ORIENT_Y . |
align |
Alignment of the shape by the axis-negative (size1) end. Use the V_ constants from constants.scad . Default: V_CENTER . |
Example:
half_joiner2(screwsize=3, orient=ORIENT_X);
Usage:
- joiner_clear(h, w, [a], [clearance], [overlap], [orient], [align])
Description: Creates a mask to clear an area so that a joiner can be placed there.
Argument | What it does |
---|---|
h |
Height of the joiner to clear space for. |
w |
Width of the joiner to clear space for. |
a |
Overhang angle of the joiner. |
clearance |
Extra width to clear. |
overlap |
Extra depth to clear. |
orient |
Orientation of the shape. Use the ORIENT_ constants from constants.scad . Default: ORIENT_Y . |
align |
Alignment of the shape by the axis-negative (size1) end. Use the V_ constants from constants.scad . Default: V_CENTER . |
Example:
joiner_clear(orient=ORIENT_X);
Usage:
- joiner(h, w, l, [a], [screwsize], [guides], [slop], [orient], [align])
Description: Creates a joiner object that can be attached to another joiner object.
Argument | What it does |
---|---|
h |
Height of the joiner. |
w |
Width of the joiner. |
l |
Length of the backing to the joiner. |
a |
Overhang angle of the joiner. |
screwsize |
Diameter of screwhole. |
guides |
If true, create sliding alignment guides. |
slop |
Printer specific slop value to make parts fit more closely. |
orient |
Orientation of the shape. Use the ORIENT_ constants from constants.scad . Default: ORIENT_Y . |
align |
Alignment of the shape by the axis-negative (size1) end. Use the V_ constants from constants.scad . Default: V_CENTER . |
Example 1:
joiner(screwsize=3, orient=ORIENT_X);
Example 2:
joiner(w=10, l=10, h=40, orient=ORIENT_X) cuboid([10, 10*2, 40], align=V_LEFT);
Usage:
- joiner_pair_clear(spacing, [n], [h], [w], [a], [clearance], [overlap], [orient], [align])
Description: Creates a mask to clear an area so that a pair of joiners can be placed there.
Argument | What it does |
---|---|
spacing |
Spacing between joiner centers. |
h |
Height of the joiner to clear space for. |
w |
Width of the joiner to clear space for. |
a |
Overhang angle of the joiner. |
n |
Number of joiners (2 by default) to clear for. |
clearance |
Extra width to clear. |
overlap |
Extra depth to clear. |
orient |
Orientation of the shape. Use the ORIENT_ constants from constants.scad . Default: ORIENT_Y . |
align |
Alignment of the shape by the axis-negative (size1) end. Use the V_ constants from constants.scad . Default: V_CENTER . |
Example 1:
joiner_pair_clear(spacing=50, n=2);
Example 2:
joiner_pair_clear(spacing=50, n=3);
Usage:
- joiner_pair(h, w, l, [a], [screwsize], [guides], [slop], [orient], [align])
Description: Creates a joiner_pair object that can be attached to other joiner_pairs .
Argument | What it does |
---|---|
spacing |
Spacing between joiner centers. |
h |
Height of the joiners. |
w |
Width of the joiners. |
l |
Length of the backing to the joiners. |
a |
Overhang angle of the joiners. |
n |
Number of joiners in a row. Default: 2 |
alternate |
If true (default), each joiner alternates it's orientation. If alternate is "alt", do opposite alternating orientations. |
screwsize |
Diameter of screwhole. |
guides |
If true, create sliding alignment guides. |
slop |
Printer specific slop value to make parts fit more closely. |
orient |
Orientation of the shape. Use the ORIENT_ constants from constants.scad . Default: ORIENT_Y . |
align |
Alignment of the shape by the axis-negative (size1) end. Use the V_ constants from constants.scad . Default: V_CENTER . |
Example 1:
joiner_pair(spacing=50, l=10, orient=ORIENT_X) cuboid([10, 50+10-0.1, 40], align=V_LEFT);
Example 2:
joiner_pair(spacing=50, l=10, n=2, orient=ORIENT_X);
Example 3:
joiner_pair(spacing=50, l=10, n=3, alternate=false, orient=ORIENT_X);
Example 4:
joiner_pair(spacing=50, l=10, n=3, alternate=true, orient=ORIENT_X);
Example 5:
joiner_pair(spacing=50, l=10, n=3, alternate="alt", orient=ORIENT_X);
Usage:
- joiner_quad_clear(spacing, [n], [h], [w], [a], [clearance], [overlap], [orient], [align])
Description: Creates a mask to clear an area so that a pair of joiners can be placed there.
Argument | What it does |
---|---|
spacing1 |
Spacing between joiner centers. |
spacing2 |
Spacing between back-to-back pairs/sets of joiners. |
h |
Height of the joiner to clear space for. |
w |
Width of the joiner to clear space for. |
a |
Overhang angle of the joiner. |
n |
Number of joiners in a row. Default: 2 |
clearance |
Extra width to clear. |
overlap |
Extra depth to clear. |
orient |
Orientation of the shape. Use the ORIENT_ constants from constants.scad . Default: ORIENT_Y . |
align |
Alignment of the shape by the axis-negative (size1) end. Use the V_ constants from constants.scad . Default: V_CENTER . |
Example 1:
joiner_quad_clear(spacing1=50, spacing2=50, n=2);
Example 2:
joiner_quad_clear(spacing1=50, spacing2=50, n=3);
Usage:
- joiner_quad(h, w, l, [a], [screwsize], [guides], [slop], [orient], [align])
Description: Creates a joiner_quad object that can be attached to other joiner_pairs .
Argument | What it does |
---|---|
spacing |
Spacing between joiner centers. |
h |
Height of the joiners. |
w |
Width of the joiners. |
l |
Length of the backing to the joiners. |
a |
Overhang angle of the joiners. |
n |
Number of joiners in a row. Default: 2 |
alternate |
If true (default), each joiner alternates it's orientation. If alternate is "alt", do opposite alternating orientations. |
screwsize |
Diameter of screwhole. |
guides |
If true, create sliding alignment guides. |
slop |
Printer specific slop value to make parts fit more closely. |
orient |
Orientation of the shape. Use the ORIENT_ constants from constants.scad . Default: ORIENT_Y . |
align |
Alignment of the shape by the axis-negative (size1) end. Use the V_ constants from constants.scad . Default: V_CENTER . |
Example 1:
joiner_quad(spacing1=50, spacing2=50, l=10, orient=ORIENT_X) cuboid([50, 50+10-0.1, 40]);
Example 2:
joiner_quad(spacing1=50, spacing2=50, l=10, n=2, orient=ORIENT_X);
Example 3:
joiner_quad(spacing1=50, spacing2=50, l=10, n=3, alternate=false, orient=ORIENT_X);
Example 4:
joiner_quad(spacing1=50, spacing2=50, l=10, n=3, alternate=true, orient=ORIENT_X);
Example 5:
joiner_quad(spacing1=50, spacing2=50, l=10, n=3, alternate="alt", orient=ORIENT_X);