From 2d3573398060de9edad849396a4da991fa41a7be Mon Sep 17 00:00:00 2001 From: Adrian Mariano Date: Mon, 6 Feb 2023 18:31:01 -0500 Subject: [PATCH] doc fixes, allow threads=true with screw specs --- distributors.scad | 2 +- screws.scad | 12 +++++++----- skin.scad | 8 ++++---- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/distributors.scad b/distributors.scad index 7215ab5..f8084ac 100644 --- a/distributors.scad +++ b/distributors.scad @@ -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 diff --git a/screws.scad b/screws.scad index 6038692..3d82e73 100644 --- a/screws.scad +++ b/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) = diff --git a/skin.scad b/skin.scad index 8947841..2e495e0 100644 --- a/skin.scad +++ b/skin.scad @@ -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,