From 5d17925f9ec8fc04df32552eac1169e10bbeca73 Mon Sep 17 00:00:00 2001 From: mmcwilliams Date: Wed, 27 May 2020 15:10:13 -0400 Subject: [PATCH] Start v3. Render time breakthrough makes it the only viable design to iterate. --- 100ft_v3/gnal_100ft.scad | 4 ++++ 50ft_v3/gnal_50ft.scad | 4 ++++ libraries/gnal_v3.scad | 51 +++++++++++++++------------------------- 3 files changed, 27 insertions(+), 32 deletions(-) create mode 100644 100ft_v3/gnal_100ft.scad create mode 100644 50ft_v3/gnal_50ft.scad diff --git a/100ft_v3/gnal_100ft.scad b/100ft_v3/gnal_100ft.scad new file mode 100644 index 0000000..9356d6e --- /dev/null +++ b/100ft_v3/gnal_100ft.scad @@ -0,0 +1,4 @@ +include <../libraries/gnal_v3.scad>; + +$fn = 200; +spiral(60, 45.55, 2.075, $fn); \ No newline at end of file diff --git a/50ft_v3/gnal_50ft.scad b/50ft_v3/gnal_50ft.scad new file mode 100644 index 0000000..d2332e5 --- /dev/null +++ b/50ft_v3/gnal_50ft.scad @@ -0,0 +1,4 @@ +include <../libraries/gnal_v3.scad>; + +$fn = 200; +spiral(40, 45.55, 2.075, $fn); diff --git a/libraries/gnal_v3.scad b/libraries/gnal_v3.scad index 2a2401d..bc76bea 100644 --- a/libraries/gnal_v3.scad +++ b/libraries/gnal_v3.scad @@ -1,29 +1,4 @@ - - -D=47; // start diameter -N=40; // number of spirals -FN=500; -$fn=FN; - -include <../libraries/path_extrude.scad>; - - - - bottom = -7.1; - w = 1.2; - top_w = .4; - top_offset = (w - top_w); - h = 2.2; - - facetProfile = [ - [w, -bottom], - [0, -bottom], - [0, 0], - [top_offset, -h], - [w, -h], - [w, 0] - ]; - +include <./path_extrude.scad>; function X (start_r, spacing, fn, r, i) = (start_r + (r * spacing) + (i * calcIncrement(spacing, fn))) * cos(i * calcAngle(fn)); function Y (start_r, spacing, fn, r, i) = (start_r + (r * spacing) + (i * calcIncrement(spacing, fn))) * sin(i * calcAngle(fn)); @@ -33,8 +8,8 @@ function calcFacetSize (end_d, fn) = circ( end_d ) / fn; //function calcSteps(rotations, fn) = fn * rotations; function calcAngle (fn) = 360 / fn; function calcFn(start_d, start_fn, end_d, spacing, r) = start_fn + -( ((circ(calcR(start_d, spacing, r) * 2) - circ(start_d) ) - / (circ(end_d) - circ(start_d))) * ($fn - start_fn)); + ( ((circ(calcR(start_d, spacing, r) * 2) - circ(start_d) ) + / (circ(end_d) - circ(start_d))) * ($fn - start_fn)); function calcR(start_d, spacing, r) = (start_d / 2) + (spacing * r); function calcIncrement(spacing, fn) = spacing / fn; @@ -45,6 +20,21 @@ function calcIncrement(spacing, fn) = spacing / fn; **/ module spiral (rotations = 40, start_d = 48, spacing = 2.075, fn) { + bottom = -7.1; + w = 1.2; + top_w = .4; + top_offset = (w - top_w); + h = 2.2; + + facetProfile = [ + [w, -bottom], + [0, -bottom], + [0, 0], + [top_offset, -h], + [w, -h], + [w, 0] + ]; + end_d = start_d + (spacing * 2 * rotations); end_r = end_d / 2; start_r = start_d / 2; @@ -60,7 +50,4 @@ module spiral (rotations = 40, start_d = 48, spacing = 2.075, fn) { 0] ]; path_extrude(exShape=facetProfile, exPath=spiralPath); -} - - -spiral(N, D, 2.075, $fn); \ No newline at end of file +} \ No newline at end of file