From b21b7b9de0ed337882055aa8d1f0a1b248cd71e5 Mon Sep 17 00:00:00 2001 From: Martin Budden Date: Sun, 20 Dec 2020 08:53:42 +0000 Subject: [PATCH 1/2] Added render_if module. --- utils/core/global.scad | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/utils/core/global.scad b/utils/core/global.scad index c67cbff..79f5283 100644 --- a/utils/core/global.scad +++ b/utils/core/global.scad @@ -52,6 +52,13 @@ function slice(list, start = 0, end = undef) = let( //! Slice a list or string w ) is_string(list) ? slice_str(list, start, end) : [for(i = [start : 1 : end - 1]) list[i]]; +module render_if(render = true, convexity = 2) //! Renders an object if ```render``` is true, otherwise leaves it unrendered + if (render) + render(convexity = convexity) + children(); + else + children(); + module extrude_if(h, center = true) //! Extrudes 2D object to 3D when ```h``` is nonzero, otherwise leaves it 2D if(h) linear_extrude(h, center = center, convexity = 2) // 3D From 44cf9e910b67c51f132d8afb2fdf455997e30f2d Mon Sep 17 00:00:00 2001 From: Chris Palmer Date: Sun, 20 Dec 2020 21:30:05 +0000 Subject: [PATCH 2/2] Updated readme for render_if() --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index c2205c6..53fa5cd 100644 --- a/readme.md +++ b/readme.md @@ -6098,6 +6098,7 @@ Global constants, functions and modules. This file is used directly or indirectl | ```ellipse(xr, yr)``` | Draw an ellipse | | ```extrude_if(h, center = true)``` | Extrudes 2D object to 3D when ```h``` is nonzero, otherwise leaves it 2D | | ```hflip(flip=true)``` | Invert children by doing a 180° flip around the Y axis | +| ```render_if(render = true, convexity = 2)``` | Renders an object if ```render``` is true, otherwise leaves it unrendered | | ```right_triangle(width, height, h, center = true)``` | A right angled triangle with the 90° corner at the origin. 3D when ```h``` is nonzero, otherwise 2D | | ```semi_circle(r, d = undef)``` | A semi circle in the positive Y domain | | ```translate_z(z)``` | Shortcut for Z only translations |