Synopses, etc docs added for screw_drive.scad, screws.scad, sliders.scad, threading.scad, tripod_mounts.scad, walls.scad

This commit is contained in:
Revar Desmera 2023-03-31 20:08:00 -07:00
parent 902b7d5424
commit 3b88363306
6 changed files with 151 additions and 37 deletions

View file

@ -14,7 +14,11 @@ include <structs.scad>
// Section: Phillips Drive
// Module: phillips_mask()
// Usage: phillips_mask(size) [ATTACHMENTS];
// Synopsis: Creates a mask for a Philips screw drive.
// Topics: Screws, Masks
// See Also: hex_drive_mask(), philips_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.
@ -82,6 +86,9 @@ module phillips_mask(size="#2", $fn=36, anchor=BOTTOM, spin=0, orient=UP) {
// Function: phillips_depth()
// Synopsis: Returns the depth a phillips recess needs to be for a given diameter.
// Topics: Screws, Masks
// See Also: phillips_mask(), hex_drive_mask(), philips_depth(), phillips_diam(), torx_mask()
// Usage:
// depth = phillips_depth(size, d);
// Description:
@ -104,6 +111,9 @@ function phillips_depth(size, d) =
// Function: phillips_diam()
// Synopsis: Returns the diameter of a phillips recess of a given depth.
// Topics: Screws, Masks
// See Also: phillips_mask(), hex_drive_mask(), philips_depth(), phillips_diam(), torx_mask()
// Usage:
// diam = phillips_diam(size, depth);
// Description:
@ -128,6 +138,9 @@ function phillips_diam(size, depth) =
// Section: Hex drive
// Module hex_drive_mask()
// Synopsis: Creates a mask for a hex drive recess.
// Topics: Screws, Masks
// See Also: phillips_mask(), hex_drive_mask(), torx_mask(), philips_depth(), phillips_diam(), robertson_mask()
// Usage:
// hex_drive_mask(size, length, [anchor], [spin], [orient], [$slop]) [ATTACHMENTS];
// Description:
@ -147,6 +160,9 @@ function hex_drive_mask(size,length,l,h,height,anchor,spin,orient) = no_function
// Section: Torx Drive
// Module: torx_mask()
// Synopsis: Creates a mask for a torx drive recess.
// Topics: Screws, Masks
// See Also: phillips_mask(), hex_drive_mask(), torx_mask(), philips_depth(), phillips_diam(), robertson_mask()
// Usage:
// torx_mask(size, l, [center]) [ATTACHMENTS];
// Description: Creates a torx bit tip.
@ -174,6 +190,9 @@ module torx_mask(size, l=5, center, anchor, spin=0, orient=UP) {
// Module: torx_mask2d()
// Synopsis: Creates the 2D cross section for a torx drive recess.
// Topics: Screws, Masks
// See Also: phillips_mask(), hex_drive_mask(), torx_mask(), philips_depth(), phillips_diam(), torx_info(), robertson_mask()
// Usage:
// torx_mask2d(size);
// Description: Creates a torx bit 2D profile.
@ -215,6 +234,9 @@ module torx_mask2d(size) {
// Function: torx_info()
// Synopsis: Returns the dimensions of a torx drive.
// Topics: Screws, Masks
// See Also: phillips_mask(), hex_drive_mask(), torx_mask(), philips_depth(), phillips_diam(), torx_info()
// Usage:
// info = torx_info(size);
// Description:
@ -263,6 +285,9 @@ function torx_info(size) =
// Function: torx_diam()
// Synopsis: Returns the diameter of a torx drive.
// Topics: Screws, Masks
// See Also: phillips_mask(), hex_drive_mask(), torx_mask(), philips_depth(), phillips_diam(), torx_info()
// Usage:
// diam = torx_diam(size);
// Description: Get the typical outer diameter of Torx profile.
@ -272,6 +297,9 @@ function torx_diam(size) = torx_info(size)[0];
// Function: torx_depth()
// Synopsis: Returns the typical depth of a torx drive recess.
// Topics: Screws, Masks
// See Also: phillips_mask(), hex_drive_mask(), torx_mask(), philips_depth(), phillips_diam(), torx_info()
// Usage:
// depth = torx_depth(size);
// Description: Gets typical drive hole depth.
@ -284,6 +312,9 @@ function torx_depth(size) = torx_info(size)[2];
// Section: Robertson/Square Drives
// Module: robertson_mask()
// Synopsis: Creates a mask for a Robertson/Square drive recess.
// Topics: Screws, Masks
// See Also: phillips_mask(), hex_drive_mask(), torx_mask(), philips_depth(), phillips_diam(), torx_info(), robertson_mask()
// Usage:
// robertson_mask(size, [extra], [ang], [$slop=]);
// Description:

View file

@ -188,26 +188,28 @@ Torx values: https://www.stanleyengineeredfastening.com/-/media/web/sef/resourc
// Section: Making Screws
// Module: screw()
// Synopsis: Creates a standard screw with optional tolerances.
// Topics: Threading, Screws
// See Also: screw_hole(), shoulder_screw()
// Usage:
// screw([spec], [head], [drive], [thread=], [drive_size=], [length=|l=], [thread_len=], [undersize=], [shaft_undersize=], [head_undersize=], [tolerance=], [details=], [anchor=], [atype=], [orient=], [spin=]) [ATTACHMENTS];
// Description:
// Create a screw. See [screw and nut parameters](#section-screw-and-nut-parameters) for details on the parameters that define a screw.
// The tolerance determines the dimensions of the screw
// based on ISO and ASME standards. Screws fabricated at those dimensions will mate properly with standard hardware.
// Note that the $slop argument does not affect the size of screws: it only adjusts screw holes. This will work fine
// if you are printing both parts, but if you need to mate printed screws to metal parts you may need to adjust the size
// of the screws, which you can do with the undersize arguments.
// Create a screw. See [screw and nut parameters](#section-screw-and-nut-parameters) for details on
// the parameters that define a screw. The tolerance determines the dimensions of the screw based
// on ISO and ASME standards. Screws fabricated at those dimensions will mate properly with
// standard hardware. Note that the $slop argument does not affect the size of screws: it only
// adjusts screw holes. This will work fine if you are printing both parts, but if you need to mate
// printed screws to metal parts you may need to adjust the size of the screws, which you can do
// with the undersize arguments.
// .
// You can generate a screw specification from {{screw_info()}}, possibly create a modified version using {{struct_set()}}, and pass that in rather than giving the parameters.
// You can generate a screw specification from {{screw_info()}}, possibly create a modified version
// using {{struct_set()}}, and pass that in rather than giving the parameters.
// .
// Various anchor types refer to different parts of the screw, some
// of which are labeled below. The "screw" anchor type (the
// default) is simply the entire screw, so TOP and BOTTOM refer to
// the head end and tip respectively, and CENTER is the midpoint of
// the whole screw, including the head. The "head" anchor refers to
// the head alone. Both of these anchor types refer to the bounding
// cylinder for the specified screw part, except for hex heads,
// which anchor to a hexagonal prism.
// Various anchor types refer to different parts of the screw, some of which are labeled below. The
// "screw" anchor type (the default) is simply the entire screw, so TOP and BOTTOM refer to the head
// end and tip respectively, and CENTER is the midpoint of the whole screw, including the head. The
// "head" anchor refers to the head alone. Both of these anchor types refer to the bounding
// cylinder for the specified screw part, except for hex heads, which anchor to a hexagonal prism.
// Figure(2D,Med,VPD = 140, VPT = [18.4209, 14.9821, -3.59741], VPR = [0, 0, 0],NoAxes):
// rpos=33;
// fsize=2.5;
@ -706,6 +708,9 @@ module screw(spec, head, drive, thread, drive_size,
// Module: screw_hole()
// Synopsis: Creates a screw hole.
// Topics: Threading, Screws
// See Also: screw()
// Usage:
// screw_hole([spec], [head], [thread=], [length=|l=], [oversize=], [hole_oversize=], [teardrop=], [head_oversize], [tolerance=], [$slop=], [anchor=], [atype=], [orient=], [spin=]) [ATTACHMENTS];
// Description:
@ -951,6 +956,9 @@ module screw_hole(spec, head, thread, oversize, hole_oversize, head_oversize,
}
// Module: shoulder_screw()
// Synopsis: Creates a shoulder screw.
// Topics: Threading, Screws
// See Also: screw(), screw_hole()
// Usage:
// shoulder_screw(s, d, length, [head=], [thread_len=], [tolerance=], [head_size=], [drive=], [drive_size=], [thread=], [undersize=], [shaft_undersize=], [head_undersize=], [shoulder_undersize=],[atype=],[anchor=],[orient=],[spin=]) [ATTACHMENTS];
// Description:
@ -1355,6 +1363,9 @@ function _parse_drive(drive=undef, drive_size=undef) =
// Module: screw_head()
// Synopsis: Creates a screw head.
// Topics: Threading, Screws
// See Also: screw(), screw_hole()
// Usage:
// screw_head(screw_info, [details],[counterbore],[flat_height],[teardrop],[internal])
// Description:
@ -1455,9 +1466,11 @@ module screw_head(screw_info,details=false, counterbore=0,flat_height,teardrop=f
// Module: nut()
// Synopsis: Creates a standard nut.
// Topics: Threading, Screws
// See Also: screw(), screw_hole()
// Usage:
// nut([spec], [shape], [thickness], [nutwidth], [thread=], [tolerance=], [hole_oversize=], [bevel=], [$slop=], [anchor=], [spin=], [orient=]) [ATTACHMENTS];
// Description:
// Generates a hexagonal or square nut. See [screw and nut parameters](#section-screw-and-nut-parameters) for details on the parameters that define a nut.
// As with screws, you can give the specification in `spec` and then omit the name. The diameter is the flat-to-flat
@ -1571,6 +1584,9 @@ module nut(spec, shape, thickness, nutwidth, thread, tolerance, hole_oversize,
// Module: nut_trap_side()
// Synopsis: Creates a side nut trap mask.
// Topics: Threading, Screws
// See Also: screw(), screw_hole()
// Usage:
// nut_trap_side(trap_width, [spec], [shape], [thickness], [nutwidth=], [poke_len=], [poke_diam=], [$slop=], [anchor=], [orient=], [spin=]) [ATTACHMENTS];
// Description:
@ -1658,6 +1674,9 @@ module nut_trap_side(trap_width, spec, shape, thickness, nutwidth, anchor=BOT, o
}
// Module: nut_trap_inline()
// Synopsis: Creates an inline nut trap mask.
// Topics: Threading, Screws
// See Also: screw(), screw_hole()
// Usage:
// nut_trap_inline(length|l|heigth|h, [spec], [shape], [$slop=], [anchor=], [orient=], [spin=]) [ATTACHMENTS];
// Description:
@ -1726,6 +1745,9 @@ module nut_trap_inline(length, spec, shape, l, height, h, nutwidth, anchor, orie
// Function: screw_info()
// Synopsis: Returns the dimensions and other info for the given screw.
// Topics: Threading, Screws
// See Also: screw(), screw_hole()
// Usage:
// info = screw_info(name, [head], [drive], [thread=], [drive_size=], [oversize=], [head_oversize=])
// Description:
@ -1816,6 +1838,9 @@ function screw_info(name, head, drive, thread, drive_size, shaft_oversize, head_
// Function: nut_info()
// Synopsis: Returns the dimensions and other info for the given nut.
// Topics: Threading, Screws
// See Also: screw(), screw_hole()
// Usage:
// nut_spec = nut_info(name, [shape], [thickness=], [thread=], [width=], [hole_oversize=]);
// Description:
@ -2873,6 +2898,9 @@ function _validate_screw_spec(spec) =
// Function: thread_specification()
// Synopsis: Returns the thread geometry for a given screw.
// Topics: Threading, Screws
// See Also: screw(), screw_hole()
// Usage:
// thread_specification(screw_spec, [tolerance], [internal])
// Description:
@ -2961,6 +2989,3 @@ http://files.engineering.com/getfile.aspx?folder=76fb0d5e-1fff-4c49-87a5-0597947
// vim: expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap

View file

@ -13,6 +13,9 @@
// Module: slider()
// Synopsis: Creates a V-groove slider.
// Topics: Parts, Sliders
// See Also: rail()
// Description:
// Creates a slider to match a V-groove rail.
// Usage:
@ -63,6 +66,9 @@ module slider(l=30, w=10, h=10, base=10, wall=5, ang=30, anchor=BOTTOM, spin=0,
// Module: rail()
// Synopsis: Creates a V-groove rail.
// Topics: Parts, Sliders
// See Also: slider()
// Description:
// Creates a V-groove rail.
// Usage:

View file

@ -12,6 +12,9 @@
// Section: Standard (UTS/ISO) Threading
// Module: threaded_rod()
// Synopsis: Creates an ISO threaded rod.
// Topics: Threading, Screws
// See Also: threaded_nut()
// Usage:
// threaded_rod(d, l|length, pitch, [internal=], ...) [ATTACHMENTS];
// Description:
@ -129,6 +132,9 @@ module threaded_rod(
// Module: threaded_nut()
// Synopsis: Creates an ISO threaded nut.
// Topics: Threading, Screws
// See Also: threaded_rod()
// Usage:
// threaded_nut(nutwidth, id, h|height|thickness, pitch,...) [ATTACHMENTS];
// Description:
@ -218,6 +224,9 @@ module threaded_nut(
// Module: trapezoidal_threaded_rod()
// Synopsis: Creates a trapezoidal threaded rod.
// Topics: Threading, Screws
// See Also: trapezoidal_threaded_nut()
// Usage:
// trapezoidal_threaded_rod(d, l|length, pitch, [thread_angle], [thread_depth], [internal=], ...) [ATTACHMENTS];
// Description:
@ -339,13 +348,16 @@ module trapezoidal_threaded_rod(
// Module: trapezoidal_threaded_nut()
// Synopsis: Creates a trapezoidal threaded nut.
// Topics: Threading, Screws
// See Also: trapezoidal_threaded_rod()
// Usage:
// trapezoidal_threaded_nut(nutwidth, id, h|height|thickness, pitch, [thread_angle], [thread_depth], ...) [ATTACHMENTS];
// Description:
// Constructs a hex nut or square nut for a symmetric trapzoidal threaded rod.
// By default produces the nominal dimensions
// for metric trapezoidal threads: a thread angle of 30 degrees and a depth set to half the pitch.
// You can also specify your own trapezoid parameters. For ACME threads see acme_threaded_nut().
// Constructs a hex nut or square nut for a symmetric trapzoidal threaded rod. By default produces
// the nominal dimensions for metric trapezoidal threads: a thread angle of 30 degrees and a depth
// set to half the pitch. You can also specify your own trapezoid parameters. For ACME threads see
// acme_threaded_nut().
// Arguments:
// nutwidth = flat to flat width of nut
// id = diameter of threaded rod to screw onto.
@ -433,6 +445,9 @@ module trapezoidal_threaded_nut(
// Module: acme_threaded_rod()
// Synopsis: Creates an ACME threaded rod.
// Topics: Threading, Screws
// See Also: acme_threaded_nut()
// Usage:
// acme_threaded_rod(d, l|length, tpi|pitch=, [internal=], ...) [ATTACHMENTS];
// Description:
@ -501,6 +516,9 @@ module acme_threaded_rod(
// Module: acme_threaded_nut()
// Synopsis: Creates an ACME threaded nut.
// Topics: Threading, Screws
// See Also: acme_threaded_rod()
// Usage:
// acme_threaded_nut(nutwidth, id, h|height|thickness, tpi|pitch=, [shape=], ...) [ATTACHMENTS];
// Description:
@ -578,6 +596,9 @@ module acme_threaded_nut(
// Section: Pipe Threading
// Module: npt_threaded_rod()
// Synopsis: Creates NPT pipe threading.
// Topics: Threading, Screws
// See Also: acme_threaded_rod()
// Usage:
// npt_threaded_rod(size, [internal=], ...) [ATTACHMENTS];
// Description:
@ -697,6 +718,9 @@ module npt_threaded_rod(
// Section: Buttress Threading
// Module: buttress_threaded_rod()
// Synopsis: Creates a buttress-threaded rod.
// Topics: Threading, Screws
// See Also: buttress_threaded_nut()
// Usage:
// buttress_threaded_rod(d, l|length, pitch, [internal=], ...) [ATTACHMENTS];
// Description:
@ -778,6 +802,9 @@ module buttress_threaded_rod(
// Module: buttress_threaded_nut()
// Synopsis: Creates a buttress-threaded nut.
// Topics: Threading, Screws
// See Also: buttress_threaded_rod()
// Usage:
// buttress_threaded_nut(nutwidth, id, h|height|thickness, pitch, ...) [ATTACHMENTS];
// Description:
@ -854,10 +881,14 @@ module buttress_threaded_nut(
// Section: Square Threading
// Module: square_threaded_rod()
// Synopsis: Creates a square-threaded rod.
// Topics: Threading, Screws
// See Also: square_threaded_nut()
// Usage:
// square_threaded_rod(d, l|length, pitch, [internal=], ...) [ATTACHMENTS];
// Description:
// Constructs a square profile threaded screw rod. The greatest advantage of square threads is that they have the least friction and a much higher intrinsic efficiency than trapezoidal threads.
// Constructs a square profile threaded screw rod. The greatest advantage of square threads is
// that they have the least friction and a much higher intrinsic efficiency than trapezoidal threads.
// They produce no radial load on the nut. However, square threads cannot carry as much load as trapezoidal threads.
// Arguments:
// d = Outer diameter of threaded rod.
@ -926,6 +957,9 @@ module square_threaded_rod(
// Module: square_threaded_nut()
// Synopsis: Creates a square-threaded nut.
// Topics: Threading, Screws
// See Also: square_threaded_rod()
// Usage:
// square_threaded_nut(nutwidth, id, h|height|thickness, pitch, ...) [ATTACHMENTS];
// Description:
@ -997,6 +1031,8 @@ module square_threaded_nut(
// Section: Ball Screws
// Module: ball_screw_rod()
// Synopsis: Creates a ball screw rod.
// Topics: Threading, Screws
// Usage:
// ball_screw_rod(d, l|length, pitch, [ball_diam], [ball_arc], [internal=], ...) [ATTACHMENTS];
// Description:
@ -1072,6 +1108,9 @@ module ball_screw_rod(
// Section: Generic Threading
// Module: generic_threaded_rod()
// Synopsis: Creates a generic threaded rod.
// Topics: Threading, Screws
// See Also: generic_threaded_nut()
// Usage:
// generic_threaded_rod(d, l|length, pitch, profile, [internal=], ...) [ATTACHMENTS];
// Description:
@ -1330,6 +1369,9 @@ module generic_threaded_rod(
// Module: generic_threaded_nut()
// Synopsis: Creates a generic threaded nut.
// Topics: Threading, Screws
// See Also: generic_threaded_rod()
// Usage:
// generic_threaded_nut(nutwidth, id, h|height|thickness, pitch, profile, [$slop], ...) [ATTACHMENTS];
// Description:
@ -1451,6 +1493,9 @@ module _nutshape(nutwidth, h, shape, bevel1, bevel2)
// Module: thread_helix()
// Synopsis: Creates a thread helix to add to a cylinder.
// Topics: Threading, Screws
// See Also: generic_threaded_rod()
// Usage:
// thread_helix(d, pitch, [thread_depth], [flank_angle], [turns], [profile=], [left_handed=], [higbee=], [internal=]);
// Description:
@ -1587,10 +1632,10 @@ module thread_helix(
// vim: expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap
// Questions
// Should nut modules take d1/d2 for tapered nuts?
//
// Need explanation of what exactly the diff is between threaded_rod and helix_threads.
// Higbee is different, angle in one and length in another. Need to reconcile
// vim: expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap

View file

@ -10,6 +10,8 @@
// Module: manfrotto_rc2_plate()
// Synopsis: Creates a Manfrotto RC2 tripod quick release mount plate.
// Topics: Parts
// Usage:
// manfrotto_rc2_plate([chamfer],[anchor],[orient],[spin]) [ATTACHMENTS];
// Description:

View file

@ -13,12 +13,13 @@
// Module: sparse_wall()
// Synopsis: Makes an open cross-braced rectangular wall.
// Topics: FDM Optimized, Walls
// See Also: sparse_wall(), corrugated_wall(), thinning_wall(), thinning_triangle(), narrowing_strut()
//
// Usage:
// sparse_wall(h, l, thick, [maxang=], [strut=], [max_bridge=]) [ATTACHMENTS];
//
// Topics: FDM Optimized, Walls
//
// Description:
// Makes an open rectangular strut with X-shaped cross-bracing, designed to reduce
// the need for support material in 3D printing.
@ -86,12 +87,13 @@ module sparse_wall(h=50, l=100, thick=4, maxang=30, strut=5, max_bridge=20, anch
// Module: corrugated_wall()
// Synopsis: Makes a corrugated rectangular wall.
// Topics: FDM Optimized, Walls
// See Also: sparse_wall(), corrugated_wall(), thinning_wall(), thinning_triangle(), narrowing_strut()
//
// Usage:
// corrugated_wall(h, l, thick, [strut=], [wall=]) [ATTACHMENTS];
//
// Topics: FDM Optimized, Walls
//
// Description:
// Makes a corrugated wall which relieves contraction stress while still
// providing support strength. Designed with 3D printing in mind.
@ -144,12 +146,13 @@ module corrugated_wall(h=50, l=100, thick=5, strut=5, wall=2, anchor=CENTER, spi
// Module: thinning_wall()
// Synopsis: Makes a rectangular wall with a thin middle.
// Topics: FDM Optimized, Walls
// See Also: sparse_wall(), corrugated_wall(), thinning_wall(), thinning_triangle(), narrowing_strut()
//
// Usage:
// thinning_wall(h, l, thick, [ang=], [braces=], [strut=], [wall=]) [ATTACHMENTS];
//
// Topics: FDM Optimized, Walls
//
// Description:
// Makes a rectangular wall which thins to a smaller width in the center,
// with angled supports to prevent critical overhangs.
@ -327,12 +330,13 @@ module thinning_wall(h=50, l=100, thick=5, ang=30, braces=false, strut, wall, an
// Module: thinning_triangle()
// Synopsis: Makes a triangular wall with a thin middle.
// Topics: FDM Optimized, Walls
// See Also: sparse_wall(), corrugated_wall(), thinning_wall(), thinning_triangle(), narrowing_strut()
//
// Usage:
// thinning_triangle(h, l, thick, [ang=], [strut=], [wall=], [diagonly=], [center=]) [ATTACHMENTS];
//
// Topics: FDM Optimized, Walls
//
// Description:
// Makes a triangular wall with thick edges, which thins to a smaller width in
// the center, with angled supports to prevent critical overhangs.
@ -394,12 +398,13 @@ module thinning_triangle(h=50, l=100, thick=5, ang=30, strut=5, wall=3, diagonly
// Module: narrowing_strut()
// Synopsis: Makes a strut like an extruded baseball home plate.
// Topics: FDM Optimized
// See Also: sparse_wall(), corrugated_wall(), thinning_wall(), thinning_triangle(), narrowing_strut()
//
// Usage:
// narrowing_strut(w, l, wall, [ang=]) [ATTACHMENTS];
//
// Topics: FDM Optimized
//
// Description:
// Makes a rectangular strut with the top side narrowing in a triangle.
// The shape created may be likened to an extruded home plate from baseball.