From 699385342f8a562346cdf97a19c90e47ea6e30b8 Mon Sep 17 00:00:00 2001 From: Chris Palmer Date: Sat, 22 Aug 2020 14:27:01 +0100 Subject: [PATCH] quadrant can now have different height and width if passed a vector. --- utils/quadrant.scad | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/utils/quadrant.scad b/utils/quadrant.scad index 6725d1f..8242044 100644 --- a/utils/quadrant.scad +++ b/utils/quadrant.scad @@ -23,18 +23,21 @@ include <../utils/core/core.scad> module quadrant(w, r, center = false) { //! Draw a square with one rounded corner, can be centered on the arc centre, when ```center``` is ```true```. - offset = center ? r - w : 0; - translate([offset, offset]) + h = is_list(w) ? w.y : w; + w = is_list(w) ? w.x : w; + offset_w = center ? r - w : 0; + offset_h = center ? r - h : 0; + translate([offset_w, offset_h]) hull() { intersection() { - translate([w - r, w - r]) + translate([w - r, h - r]) circle4n(r); - square(w); + square([w, h]); } square([w, eps]); - square([eps, w]); + square([eps, h]); } }