From ab45ff503257edf5848cbf81b28fb4b1c7f4ab25 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Tue, 25 Apr 2017 10:03:57 +0800 Subject: [PATCH] you can get the number of points now. --- src/circle_path.scad | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/circle_path.scad b/src/circle_path.scad index 7e031b9b..6342e077 100644 --- a/src/circle_path.scad +++ b/src/circle_path.scad @@ -12,14 +12,15 @@ * **/ -function circle_path(radius) = +function circle_path(radius, n) = let( _frags = $fn > 0 ? ($fn >= 3 ? $fn : 3) : max(min(360 / $fa, radius * 6.28318 / $fs), 5), - step_a = 360 / _frags + step_a = 360 / _frags, + end_a = 360 - step_a * ((n == undef || n > _frags) ? 1 : _frags - n + 1) ) [ - for(a = [0 : step_a : 360 - step_a]) - [radius * cos(a), radius * sin(a)] + for(a = [0 : step_a : end_a]) + [radius * cos(a), radius * sin(a), 0] ];