diff --git a/screw_drive.scad b/screw_drive.scad index b570a13..55a50a2 100644 --- a/screw_drive.scad +++ b/screw_drive.scad @@ -14,7 +14,11 @@ include // 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(), 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. @@ -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(), phillips_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(), phillips_depth(), phillips_diam(), torx_mask() // Usage: // diam = phillips_diam(size, depth); // Description: @@ -127,7 +137,10 @@ function phillips_diam(size, depth) = // Section: Hex drive -// Module hex_drive_mask() +// 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(), phillips_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(), phillips_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(), phillips_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(), phillips_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(), phillips_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(), phillips_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(), phillips_depth(), phillips_diam(), torx_info(), robertson_mask() // Usage: // robertson_mask(size, [extra], [ang], [$slop=]); // Description: diff --git a/screws.scad b/screws.scad index 7c40496..50e86be 100644 --- a/screws.scad +++ b/screws.scad @@ -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 - - - diff --git a/sliders.scad b/sliders.scad index 8b2ab89..323d913 100644 --- a/sliders.scad +++ b/sliders.scad @@ -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: diff --git a/threading.scad b/threading.scad index 465af98..744b989 100644 --- a/threading.scad +++ b/threading.scad @@ -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 diff --git a/tripod_mounts.scad b/tripod_mounts.scad index 71f871e..303d932 100644 --- a/tripod_mounts.scad +++ b/tripod_mounts.scad @@ -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: diff --git a/walls.scad b/walls.scad index 04b8b02..725c837 100644 --- a/walls.scad +++ b/walls.scad @@ -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.