mirror of
https://github.com/BelfrySCAD/BOSL2.git
synced 2024-12-29 16:29:40 +00:00
doc fixes, allow threads=true with screw specs
This commit is contained in:
parent
f9b06bf8f6
commit
2d35733980
3 changed files with 12 additions and 10 deletions
|
@ -29,7 +29,7 @@
|
|||
// then the `c` variable is set only in the scope of the `if` and `else` clauses and is not available later on when you actually
|
||||
// try to use it. Instead you must use the ternary operator and write:
|
||||
// ```
|
||||
/// c = condition ? "red" : "green";
|
||||
// c = condition ? "red" : "green";
|
||||
// ```
|
||||
// The second complication is
|
||||
// that in OpenSCAD version 2021.01 and earlier, assignments in children were executed before their parent. This means
|
||||
|
|
12
screws.scad
12
screws.scad
|
@ -470,7 +470,7 @@ function _get_spec(spec, needtype, origin, thread, // common parameters
|
|||
: nut_info(name,_origin=origin, thread=thread, shape=shape, thickness=thickness))
|
||||
:
|
||||
assert(in_list(struct_val(spec,"type"), ["nut_info","screw_info"]), "Screw/nut spec is invalid struct type")
|
||||
assert(is_undef(thread) || thread=="none" || thread==false || is_num(thread),
|
||||
assert(is_undef(thread) || thread=="none" || thread==false || thread==true || is_num(thread),
|
||||
str("Thread type applied to struct specification must be numeric, \"none\" or false but got ",thread))
|
||||
assert(is_undef(thickness) || is_num(thickness), str("thickness applied to struct specification must be numeric but is ",thickness))
|
||||
assert(is_undef(head) || head=="none", str("The only head type allowed with struct specifications is \"none\" but got ",head))
|
||||
|
@ -483,7 +483,7 @@ function _get_spec(spec, needtype, origin, thread, // common parameters
|
|||
if (head=="none") ["head","none"],
|
||||
if (head=="none") ["drive","none"],
|
||||
if (thread==false || thread=="none") ["pitch",0]
|
||||
else ["pitch",thread],
|
||||
else if (thread!=true) ["pitch",thread],
|
||||
["thickness", thickness],
|
||||
], grow=false)
|
||||
)
|
||||
|
@ -738,8 +738,8 @@ module screw(spec, head, drive, thread, drive_size,
|
|||
// thread = thread type or specification for threaded masks, or false to make an unthreaded mask. See [screw pitch](#subsection-standard-screw-pitch). Default: false
|
||||
// teardrop = if true produce teardrop hole. Only compatible with clearance holes, not threaded. Default: false
|
||||
// oversize = amount to increase diameter of all screw parts, a scalar or length 3 vector. Default: 0
|
||||
// oversize_hole = amount to increase diameter of the hole.
|
||||
// oversize_head = amount to increase diameter of head.
|
||||
// hole_oversize = amount to increase diameter of the hole.
|
||||
// head_oversize = amount to increase diameter of head.
|
||||
// length / l= length of screw (in mm)
|
||||
// counterbore = set to length of counterbore, or true to make a counterbore equal to head height. Default: false for flat heads and headless, true otherwise
|
||||
// tolerance = threading or clearance hole tolerance. For internal threads, detrmines actual thread geometry based on nominal sizing. See [tolerance](#subsection-tolerance). Default is "2B" for UTS and 6H for ISO. For clearance holes, determines how much clearance to add. Default is "normal".
|
||||
|
@ -810,6 +810,8 @@ module screw_hole(spec, head, thread, oversize, hole_oversize, head_oversize,
|
|||
if (threaded || is_def(oversize) || is_def(hole_oversize) || tolerance==0 || tolerance=="none") {
|
||||
undersize = is_def(oversize) ? -oversize
|
||||
: -[default(hole_oversize,0), default(head_oversize,0)];
|
||||
echo_struct(spec);
|
||||
fdsa= echo(undersize=undersize);
|
||||
default_tag("remove")
|
||||
screw(spec,head=head,thread=thread,undersize=undersize, higbee=higbee,
|
||||
length=length,l=l,thread_len=thread_len, tolerance=tolerance, _counterbore=counterbore,
|
||||
|
@ -1775,7 +1777,7 @@ module nut_trap_inline(length, spec, shape, l, height, h, nutwidth, anchor, orie
|
|||
// ---
|
||||
// thread = thread type or specification. See [screw pitch](#subsection-standard-screw-pitch). Default: "coarse"
|
||||
// drive_size = size of drive recess to override computed value
|
||||
// oversize = amount to increase screw diameter for clearance holes. Default: 0
|
||||
// threads_oversize = amount to increase screw diameter for clearance holes. Default: 0
|
||||
// head_oversize = amount to increase head diameter for countersink holes. Default: 0
|
||||
|
||||
function screw_info(name, head, drive, thread, drive_size, threads_oversize=0, head_oversize=0, _origin) =
|
||||
|
|
|
@ -2691,13 +2691,13 @@ function associate_vertices(polygons, split, curpoly=0) =
|
|||
// rect(30), texture=tex, h=30,
|
||||
// tex_size=[10,10]
|
||||
// );
|
||||
// Example(3D,VPR=[84.4,0,4.7]): **"checkers"** (VNF) = A pattern of alternating checkerboard squares. Giving `inset=` specifies that the top face of the checker surface is smaller than the bottom by `inset` on each of the four sides. As `inset` approaches 0.5 the tops come to sharp corners. You must set `inset` strictly between 0 and 0.5. Default: 0.05.
|
||||
// Example(3D,VPR=[84.4,0,4.7],VPT=[2.44496,6.53317,14.6135],VPD = 126): **"checkers"** (VNF) = A pattern of alternating checkerboard squares. Giving `inset=` specifies that the top face of the checker surface is smaller than the bottom by `inset` on each of the four sides. As `inset` approaches 0.5 the tops come to sharp corners. You must set `inset` strictly between 0 and 0.5. Default: 0.05.
|
||||
// tex = texture("checkers");
|
||||
// linear_sweep(
|
||||
// rect(30), texture=tex, h=30,
|
||||
// tex_size=[10,10]
|
||||
// );
|
||||
// Example(3D,VPR=[76,0,24]): "checkers" texture with large inset.
|
||||
// Example(3D,VPR=[84.4,0,4.7],VPT=[2.44496,6.53317,14.6135],VPD = 126): "checkers" texture with large inset.
|
||||
// tex = texture("checkers",inset=0.25);
|
||||
// linear_sweep(
|
||||
// rect(30), texture=tex, h=30,
|
||||
|
@ -2709,13 +2709,13 @@ function associate_vertices(polygons, split, curpoly=0) =
|
|||
// rect(30), texture=tex, h=30, tex_scale=3,
|
||||
// tex_size=[10,10]
|
||||
// );
|
||||
// Example(3D): **"cubes"** (VNF) = Corner-cubes texture. Note that this texture needs to be scaled in vertically by sqrt(3) to have its correct aspect
|
||||
// Example(3D): **"cubes"** (VNF) = Corner-cubes texture. This texture needs to be scaled in vertically by sqrt(3) to have its correct aspect
|
||||
// tex = texture("cubes");
|
||||
// linear_sweep(
|
||||
// rect(30), texture=tex, h=30,
|
||||
// tex_size=[10,10]
|
||||
// );
|
||||
// Example(3D): "cubes" texture at approximately the correct scale.
|
||||
// Example(3D): "cubes" texture at the correct scale.
|
||||
// tex = texture("cubes");
|
||||
// linear_sweep(
|
||||
// rect(30), texture=tex, h=20*sqrt(3), tex_scale=3,
|
||||
|
|
Loading…
Reference in a new issue