-
Notifications
You must be signed in to change notification settings - Fork 115
screw_drive.scad
Masks for Phillips, Torx and square (Robertson) driver holes.
To use, add the following lines to the beginning of your file:
include <BOSL2/std.scad>
include <BOSL2/screw_drive.scad>
-
-
phillips_mask()
– Creates a mask for a Philips screw drive. [Geom] -
phillips_depth()
– Returns the depth a phillips recess needs to be for a given diameter. -
phillips_diam()
– Returns the diameter of a phillips recess of a given depth.
-
-
-
hex_drive_mask()
– Creates a mask for a hex drive recess. [Geom]
-
-
-
torx_mask()
– Creates a mask for a torx drive recess. [Geom] -
torx_mask2d()
– Creates the 2D cross section for a torx drive recess. [Geom] -
torx_info()
– Returns the dimensions of a torx drive. -
torx_diam()
– Returns the diameter of a torx drive. -
torx_depth()
– Returns the typical depth of a torx drive recess.
-
-
Section: Robertson/Square Drives
-
robertson_mask()
– Creates a mask for a Robertson/Square drive recess. [Geom]
-
Synopsis: Creates a mask for a Philips screw drive. [Geom]
See Also: hex_drive_mask(), phillips_depth(), phillips_diam(), torx_mask(), robertson_mask()
Usage:
- phillips_mask(size) [ATTACHMENTS];
Description:
Creates a mask for creating a Phillips drive recess given the Phillips size. Each mask can be lowered to different depths to create different sizes of recess.
Arguments:
By Position | What it does |
---|---|
size |
The size of the bit as an integer or string. "#0", "#1", "#2", "#3", or "#4" |
By Name | What it does |
---|---|
anchor |
Translate so anchor point is at origin (0,0,0). See anchor. Default: CENTER
|
spin |
Rotate this many degrees around the Z axis after anchor. See spin. Default: 0
|
orient |
Vector to rotate top towards, after spin. See orient. Default: UP
|
Example 1:
include <BOSL2/std.scad>
include <BOSL2/screw_drive.scad>
xdistribute(10) {
phillips_mask(size="#1");
phillips_mask(size="#2");
phillips_mask(size=3);
phillips_mask(size=4);
}
Synopsis: Returns the depth a phillips recess needs to be for a given diameter.
See Also: phillips_mask(), hex_drive_mask(), phillips_diam(), torx_mask()
Usage:
- depth = phillips_depth(size, d);
Description:
Returns the depth of the Phillips recess required to produce the specified diameter, or undef if not possible.
Arguments:
By Position | What it does |
---|---|
size |
size as a number or text string like "#2" |
d |
desired diameter |
Synopsis: Returns the diameter of a phillips recess of a given depth.
See Also: phillips_mask(), hex_drive_mask(), phillips_depth(), torx_mask()
Usage:
- diam = phillips_diam(size, depth);
Description:
Returns the diameter at the top of the Phillips recess when constructed at the specified depth, or undef if that depth is not valid.
Arguments:
By Position | What it does |
---|---|
size |
size as number or text string like "#2" |
depth |
depth of recess to find the diameter of |
Synopsis: Creates a mask for a hex drive recess. [Geom]
See Also: phillips_mask(), torx_mask(), phillips_depth(), phillips_diam(), robertson_mask()
Usage:
- hex_drive_mask(size, length, [anchor], [spin], [orient], [$slop]) [ATTACHMENTS];
Description:
Creates a mask for hex drive. Note that the hex recess specs requires
a slightly oversized recess. You can use $slop to increase the size by
2 * $slop
if necessary.
Synopsis: Creates a mask for a torx drive recess. [Geom]
See Also: phillips_mask(), hex_drive_mask(), phillips_depth(), phillips_diam(), robertson_mask()
Usage:
- torx_mask(size, l, [center]) [ATTACHMENTS];
Description:
Creates a torx bit tip. The anchors are located on the circumscribing cylinder. See torx_info()
for allowed sizes.
Arguments:
By Position | What it does |
---|---|
size |
Torx size. |
l |
Length of bit. |
center |
If true, centers mask vertically. |
By Name | What it does |
---|---|
anchor |
Translate so anchor point is at origin (0,0,0). See anchor. Default: CENTER
|
spin |
Rotate this many degrees around the Z axis after anchor. See spin. Default: 0
|
orient |
Vector to rotate top towards, after spin. See orient. Default: UP
|
Example 1:
include <BOSL2/std.scad>
include <BOSL2/screw_drive.scad>
torx_mask(size=30, l=10, $fa=1, $fs=1);
Synopsis: Creates the 2D cross section for a torx drive recess. [Geom]
See Also: phillips_mask(), hex_drive_mask(), torx_mask(), phillips_depth(), phillips_diam(), torx_info(), robertson_mask()
Usage:
- torx_mask2d(size);
Description:
Creates a torx bit 2D profile. The anchors are located on the circumscribing circle. See torx_info()
for allowed sizes.
Arguments:
By Position | What it does |
---|---|
size |
Torx size. |
Example 1:
include <BOSL2/std.scad>
include <BOSL2/screw_drive.scad>
torx_mask2d(size=30, $fa=1, $fs=1);
Synopsis: Returns the dimensions of a torx drive.
See Also: phillips_mask(), hex_drive_mask(), torx_mask(), phillips_depth(), phillips_diam()
Usage:
- info = torx_info(size);
Description:
Get the typical dimensional info for a given Torx size. Returns a list containing, in order:
- Outer Diameter
- Inner Diameter
- Drive Hole Depth
- External Tip Rounding Radius
- Inner Rounding Radius
Arguments:
By Position | What it does |
---|---|
size |
Torx size. |
Synopsis: Returns the diameter of a torx drive.
See Also: phillips_mask(), hex_drive_mask(), torx_mask(), phillips_depth(), phillips_diam(), torx_info()
Usage:
- diam = torx_diam(size);
Description:
Get the typical outer diameter of Torx profile.
Arguments:
By Position | What it does |
---|---|
size |
Torx size. |
Synopsis: Returns the typical depth of a torx drive recess.
See Also: phillips_mask(), hex_drive_mask(), torx_mask(), phillips_depth(), phillips_diam(), torx_info()
Usage:
- depth = torx_depth(size);
Description:
Gets typical drive hole depth.
Arguments:
By Position | What it does |
---|---|
size |
Torx size. |
Synopsis: Creates a mask for a Robertson/Square drive recess. [Geom]
See Also: phillips_mask(), hex_drive_mask(), torx_mask(), phillips_depth(), phillips_diam(), torx_info()
Usage:
- robertson_mask(size, [extra], [ang], [$slop=]);
Description:
Creates a mask for creating a Robertson/Square drive recess given the drive size as an integer.
The width of the recess will be oversized by 2 * $slop
. Note that this model is based
on an incomplete spec. https://www.aspenfasteners.com/content/pdf/square_drive_specification.pdf
We determined the angle by doing print tests on a Prusa MK3S with $slop set to 0.05.
Arguments:
By Position | What it does |
---|---|
size |
The size of the square drive, as an integer from 0 to 4. |
extra |
Extra length of drive mask to create. |
ang |
taper angle of each face. Default: 2.5 |
By Name | What it does |
---|---|
$slop |
enlarge recess by this twice amount. Default: 0 |
anchor |
Translate so anchor point is at origin (0,0,0). See anchor. Default: TOP |
spin |
Rotate this many degrees around the Z axis after anchor. See spin. Default: 0
|
orient |
Vector to rotate top towards, after spin. See orient. Default: UP
|
Side Effects:
- Sets tag to "remove" if no tag is set.
Example 1:
include <BOSL2/std.scad>
include <BOSL2/screw_drive.scad>
robertson_mask(size=2);
Example 2:
include <BOSL2/std.scad>
include <BOSL2/screw_drive.scad>
difference() {
cyl(d1=2, d2=8, h=4, anchor=TOP);
robertson_mask(size=2);
}
Table of Contents
Function Index
Topics Index
Cheat Sheet
Tutorials
Basic Modeling:
- constants.scad STD
- transforms.scad STD
- attachments.scad STD
- shapes2d.scad STD
- shapes3d.scad STD
- drawing.scad STD
- masks2d.scad STD
- masks3d.scad STD
- distributors.scad STD
- color.scad STD
- partitions.scad STD
- miscellaneous.scad STD
Advanced Modeling:
- paths.scad STD
- regions.scad STD
- skin.scad STD
- vnf.scad STD
- beziers.scad
- nurbs.scad
- rounding.scad
- turtle3d.scad
Math:
- math.scad STD
- linalg.scad STD
- vectors.scad STD
- coords.scad STD
- geometry.scad STD
- trigonometry.scad STD
Data Management:
- version.scad STD
- comparisons.scad STD
- lists.scad STD
- utility.scad STD
- strings.scad STD
- structs.scad STD
- fnliterals.scad
Threaded Parts:
Parts:
- ball_bearings.scad
- cubetruss.scad
- gears.scad
- hinges.scad
- joiners.scad
- linear_bearings.scad
- modular_hose.scad
- nema_steppers.scad
- polyhedra.scad
- sliders.scad
- tripod_mounts.scad
- walls.scad
- wiring.scad
STD = Included in std.scad