mirror of
https://github.com/BelfrySCAD/BOSL2.git
synced 2024-12-29 16:29:40 +00:00
doc fixes
This commit is contained in:
parent
54b920d939
commit
0b9a09fc9b
1 changed files with 36 additions and 27 deletions
63
screws.scad
63
screws.scad
|
@ -180,9 +180,14 @@ Torx values: https://www.stanleyengineeredfastening.com/-/media/web/sef/resourc
|
||||||
// .
|
// .
|
||||||
// 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.
|
||||||
// .
|
// .
|
||||||
// The anchors and anchor types refer to various parts of the screw, which are labeled below. The "screw" anchor type (the default) is simply
|
// Various anchor types refer to different parts of the screw, some
|
||||||
// the whole screw and the "head" anchor is the head. These anchors use the bounding cylinder for the specified screw part, except for hex
|
// of which are labeled below. The "screw" anchor type (the
|
||||||
// heads, which anchor to a hexagonal prism.
|
// 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):
|
// Figure(2D,Med,VPD = 140, VPT = [18.4209, 14.9821, -3.59741], VPR = [0, 0, 0],NoAxes):
|
||||||
// rpos=33;
|
// rpos=33;
|
||||||
// fsize=2.5;
|
// fsize=2.5;
|
||||||
|
@ -659,7 +664,10 @@ module screw(spec, head, drive, thread, drive_size,
|
||||||
// The counterbore parameter adds a cylindrical clearance hole above the screw shaft. For flat heads it extends above the flathead and for other screw types it
|
// The counterbore parameter adds a cylindrical clearance hole above the screw shaft. For flat heads it extends above the flathead and for other screw types it
|
||||||
// replaces the head with a cylinder large enough for the head to fit. For a flat head you must specify the length of the counterbore. For other heads you can
|
// replaces the head with a cylinder large enough for the head to fit. For a flat head you must specify the length of the counterbore. For other heads you can
|
||||||
// set counterbore to true and it will be sized to match the head height. The counterbore will extend 0.01 above the TOP of the hole mask to ensure no
|
// set counterbore to true and it will be sized to match the head height. The counterbore will extend 0.01 above the TOP of the hole mask to ensure no
|
||||||
// problems with differences.
|
// problems with differences.
|
||||||
|
// .
|
||||||
|
// Anchoring for screw_hole() is the same as anchoring for {{screw()}}, with all the same anchor types and named anchors. If you specify a counterbore it is treated as
|
||||||
|
// the "head", or in the case of flat heads, it becomes part of the head.
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// spec = screw specification, e.g. "M5x1" or "#8-32". See [screw naming](#subsection-screw-naming). This can also be a screw specification structure of the form produced by {{screw_info()}}.
|
// spec = screw specification, e.g. "M5x1" or "#8-32". See [screw naming](#subsection-screw-naming). This can also be a screw specification structure of the form produced by {{screw_info()}}.
|
||||||
// head = head type. See [screw heads](#subsection-screw-heads) Default: none
|
// head = head type. See [screw heads](#subsection-screw-heads) Default: none
|
||||||
|
@ -713,9 +721,8 @@ module screw(spec, head, drive, thread, drive_size,
|
||||||
// Example: Threaded hole
|
// Example: Threaded hole
|
||||||
// diff()
|
// diff()
|
||||||
// cuboid(20)
|
// cuboid(20)
|
||||||
// attach(TOP)
|
// attach(FRONT)
|
||||||
// screw_hole("M16,15",anchor=TOP,thread=true);
|
// screw_hole("M16,15",anchor=TOP,thread=true);
|
||||||
|
|
||||||
module screw_hole(spec, head, thread, oversize, hole_oversize, head_oversize,
|
module screw_hole(spec, head, thread, oversize, hole_oversize, head_oversize,
|
||||||
length, l, thread_len, tolerance=undef, counterbore=0,
|
length, l, thread_len, tolerance=undef, counterbore=0,
|
||||||
atype="screw",anchor=BOTTOM,spin=0, orient=UP)
|
atype="screw",anchor=BOTTOM,spin=0, orient=UP)
|
||||||
|
@ -853,7 +860,8 @@ module screw_hole(spec, head, thread, oversize, hole_oversize, head_oversize,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Module: shoulder_screw()
|
// Module: shoulder_screw()
|
||||||
// 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];
|
// 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:
|
// Description:
|
||||||
// Create a shoulder screw. See [screw parameters](#section-screw-parameters) for details on the parameters that define a screw.
|
// Create a shoulder screw. See [screw parameters](#section-screw-parameters) for details on the parameters that define a screw.
|
||||||
// The tolerance determines the dimensions of the screw
|
// The tolerance determines the dimensions of the screw
|
||||||
|
@ -868,16 +876,14 @@ module screw_hole(spec, head, thread, oversize, hole_oversize, head_oversize,
|
||||||
// and length, and shoulder_screw() will supply the other parameters.
|
// and length, and shoulder_screw() will supply the other parameters.
|
||||||
// .
|
// .
|
||||||
// Hardware sources like McMaster sell many screws that don't comply with the standards. If you want to make such a screw then
|
// Hardware sources like McMaster sell many screws that don't comply with the standards. If you want to make such a screw then
|
||||||
// you can specify
|
// you can specify parameters like thread_len, the length of the threaded portion below the shoulder, and you can choose a different head
|
||||||
// with a
|
// type. You will need to specify the size of the head, since it cannot be looked up in tables. You can also
|
||||||
|
// 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.
|
// The anchors and anchor types are the same as for {{screw()}} except that there is an anchor type for the shoulder and an additional set of named anchors
|
||||||
// .
|
// refering to parts of the shoulder.
|
||||||
// The anchors and anchor types refer to various parts of the screw, which are labeled below. The "screw" anchor type (the default) is simply
|
|
||||||
// the whole screw and the "head" anchor is the head. These anchors use the bounding cylinder for the specified screw part, except for hex
|
|
||||||
// heads, which anchor to a hexagonal prism.
|
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// s = screw system to use, case insensitive, either "ISO", "UTS", "english" or "metric", or a screw specification
|
// s = screw system to use, case insensitive, either "ISO", "UTS", "english" or "metric", or a screw name or specification. See [screw naming](#subsection-screw-naming).
|
||||||
// d = nominal shoulder diameter in mm for ISO or inches for UTS
|
// d = nominal shoulder diameter in mm for ISO or inches for UTS
|
||||||
// length = length of the shoulder (in mm)
|
// length = length of the shoulder (in mm)
|
||||||
// ---
|
// ---
|
||||||
|
@ -1363,7 +1369,7 @@ module screw_head(screw_info,details=false, counterbore=0,flat_height) {
|
||||||
// The tolerance determines the actual thread sizing based on the nominal size in accordance with standards.
|
// The tolerance determines the actual thread sizing based on the nominal size in accordance with standards.
|
||||||
// The $slop parameter determines extra gaps left to account for printing overextrusion. It defaults to 0.
|
// The $slop parameter determines extra gaps left to account for printing overextrusion. It defaults to 0.
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// spec = screw specification, e.g. "M5x1" or "#8-32". See [screw naming](#subsection-screw-naming).
|
// spec = nut specification, e.g. "M5x1" or "#8-32". See [screw naming](#subsection-screw-naming). This can also be a nut or screw specification structure of the form produced by {{nut_info()}} or {{screw_info()}}.
|
||||||
// shape = "hex" or "square" to specify nut shape. Default: "hex"
|
// shape = "hex" or "square" to specify nut shape. Default: "hex"
|
||||||
// thickness = "thin", "normal", "thick", or a thickness in mm. Default: "normal"
|
// thickness = "thin", "normal", "thick", or a thickness in mm. Default: "normal"
|
||||||
// ---
|
// ---
|
||||||
|
@ -1378,10 +1384,13 @@ module screw_head(screw_info,details=false, counterbore=0,flat_height) {
|
||||||
// orient = Vector to rotate top towards, after spin. See [orient](attachments.scad#subsection-orient). Default: `UP`
|
// orient = Vector to rotate top towards, after spin. See [orient](attachments.scad#subsection-orient). Default: `UP`
|
||||||
// Side Effects:
|
// Side Effects:
|
||||||
// `$screw_spec` is set to the spec specification structure.
|
// `$screw_spec` is set to the spec specification structure.
|
||||||
// Example: A metric and UTS nut at standard dimensions
|
// Example: All the UTS nuts at one size. Note that square nuts come in only one thickness.
|
||||||
// nut("3/8");
|
// xdistribute(spacing=0.75*INCH){
|
||||||
// //right(25) //////////////////////////////////////////// FIXME
|
// nut("3/8",thickness="thin");
|
||||||
// // nut("M8");
|
// nut("3/8",thickness="normal");
|
||||||
|
// nut("3/8",thickness="thick");
|
||||||
|
// nut("3/8",shape="square");
|
||||||
|
// }
|
||||||
// Example: The three different UTS nut tolerances (thickner than normal nuts)
|
// Example: The three different UTS nut tolerances (thickner than normal nuts)
|
||||||
// module mark(number)
|
// module mark(number)
|
||||||
// {
|
// {
|
||||||
|
@ -1442,7 +1451,7 @@ module nut(spec, shape, thickness, nutwidth, thread, tolerance, hole_oversize,
|
||||||
// The trap will have a default tag of "remove" if no other tag is in force.
|
// The trap will have a default tag of "remove" if no other tag is in force.
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// trap_width = width of nut trap, measured from screw center, must be larger than half the nut width (If spec is omitted this argument must be given by name.)
|
// trap_width = width of nut trap, measured from screw center, must be larger than half the nut width (If spec is omitted this argument must be given by name.)
|
||||||
// spec = screw specification
|
// spec = nut specification, e.g. "M5" or "#8". See [screw naming](#subsection-screw-naming). This can also be a screw or nut specification structure of the form produced by {{nut_info()}} or {{screw_info()}}.
|
||||||
// shape = "hex" or "square" to specify the shape of the nut. Default: "hex"
|
// shape = "hex" or "square" to specify the shape of the nut. Default: "hex"
|
||||||
// ---
|
// ---
|
||||||
// poke_len = length of poke hole. Default: no poke hole
|
// poke_len = length of poke hole. Default: no poke hole
|
||||||
|
@ -1479,11 +1488,11 @@ module nut(spec, shape, thickness, nutwidth, thread, tolerance, hole_oversize,
|
||||||
// position(TOP)screw_hole("#8,1",anchor=TOP)
|
// position(TOP)screw_hole("#8,1",anchor=TOP)
|
||||||
// position(BOT) nut_trap_side(trap_width=16);
|
// position(BOT) nut_trap_side(trap_width=16);
|
||||||
// Example: Hole-trap assembly where we position the trap relative to a feature on the model and then position the screw hole through the trap as a child to the trap.
|
// Example: Hole-trap assembly where we position the trap relative to a feature on the model and then position the screw hole through the trap as a child to the trap.
|
||||||
// diff()
|
// diff()
|
||||||
// cuboid([30,30,20])
|
// cuboid([30,30,20])
|
||||||
// position(RIGHT)cuboid([4,20,3],anchor=LEFT)
|
// position(RIGHT)cuboid([4,20,3],anchor=LEFT)
|
||||||
// right(1)position(TOP+LEFT)nut_trap_side(15, "#8",anchor=BOT+RIGHT)
|
// right(1)position(TOP+LEFT)nut_trap_side(15, "#8",anchor=BOT+RIGHT)
|
||||||
// screw_hole(length=20);
|
// screw_hole(length=20,anchor=BOT);
|
||||||
module nut_trap_side(trap_width, spec, shape, thickness, nutwidth, anchor=BOT, orient, spin, poke_len=0, poke_diam) {
|
module nut_trap_side(trap_width, spec, shape, thickness, nutwidth, anchor=BOT, orient, spin, poke_len=0, poke_diam) {
|
||||||
dummy9=assert(is_num(trap_width), "trap_width is missing or the wrong type");
|
dummy9=assert(is_num(trap_width), "trap_width is missing or the wrong type");
|
||||||
tempspec = _get_spec(spec, "nut_info", "nut_trap", shape=shape, thickness=thickness);
|
tempspec = _get_spec(spec, "nut_info", "nut_trap", shape=shape, thickness=thickness);
|
||||||
|
@ -1525,8 +1534,8 @@ module nut_trap_side(trap_width, spec, shape, thickness, nutwidth, anchor=BOT, o
|
||||||
// do this backwards, to declare a trap at a screw size and make a child screw hole, which will inherit
|
// do this backwards, to declare a trap at a screw size and make a child screw hole, which will inherit
|
||||||
// the screw dimensions.
|
// the screw dimensions.
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// length/l/height/h = length/height of nut trap (must be given by name if spec is omitted)
|
// length/l/height/h = length/height of nut trap
|
||||||
// spec = screw specification
|
// spec = nut specification, e.g. "M5" or "#8". See [screw naming](#subsection-screw-naming). This can also be a screw or nut specification structure of the form produced by {{nut_info()}} or {{screw_info()}}.
|
||||||
// shape = "hex" or "square to determine type of nut. Default: "hex"
|
// shape = "hex" or "square to determine type of nut. Default: "hex"
|
||||||
// ---
|
// ---
|
||||||
// $slop = extra space left to account for printing over-extrusion. Default: 0
|
// $slop = extra space left to account for printing over-extrusion. Default: 0
|
||||||
|
@ -1547,7 +1556,7 @@ module nut_trap_side(trap_width, spec, shape, thickness, nutwidth, anchor=BOT, o
|
||||||
// Example: Nut trap with child screw hole
|
// Example: Nut trap with child screw hole
|
||||||
// nut_trap_inline(10, "#8")
|
// nut_trap_inline(10, "#8")
|
||||||
// position(TOP)screw_hole(length=10,anchor=BOT,head="flat");
|
// position(TOP)screw_hole(length=10,anchor=BOT,head="flat");
|
||||||
// Example: a pipe clamp
|
// Example(Med): a pipe clamp
|
||||||
// bardiam = 32;
|
// bardiam = 32;
|
||||||
// bandwidth = 10;
|
// bandwidth = 10;
|
||||||
// thickness = 3;
|
// thickness = 3;
|
||||||
|
@ -1594,7 +1603,7 @@ module nut_trap_inline(length, spec, shape, l, height, h, nutwidth, anchor, orie
|
||||||
// Note that flat head screws are defined by two different diameters, the theoretical maximum diameter, "head_size_sharp"
|
// Note that flat head screws are defined by two different diameters, the theoretical maximum diameter, "head_size_sharp"
|
||||||
// and the actual diameter, "head_size". The screw form is defined using the theoretical maximum, which gives
|
// and the actual diameter, "head_size". The screw form is defined using the theoretical maximum, which gives
|
||||||
// sharp circular edge at the top of the screw. Real screws have a flat chamfer around the edge.
|
// sharp circular edge at the top of the screw. Real screws have a flat chamfer around the edge.
|
||||||
// Figure(2D,Med,NoAxes,VPD=39,VPT=[0,-4]): Flat head screw geometry
|
// Figure(2D,Med,NoAxes,VPD=39,VPT=[0,-4,0],VPR=[0,0,0]): Flat head screw geometry
|
||||||
// polysharp = [[0, -5.07407], [4.92593, -5.07407], [10, 0], [10, 0.01], [0, 0.01]];
|
// polysharp = [[0, -5.07407], [4.92593, -5.07407], [10, 0], [10, 0.01], [0, 0.01]];
|
||||||
// color("blue"){
|
// color("blue"){
|
||||||
// xflip_copy()polygon(polysharp);
|
// xflip_copy()polygon(polysharp);
|
||||||
|
|
Loading…
Reference in a new issue