1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-10 00:36:40 +02:00

refactored

This commit is contained in:
Justin Lin
2017-05-10 10:34:36 +08:00
parent c73e7641cb
commit 5d01287e80
2 changed files with 8 additions and 8 deletions

View File

@@ -0,0 +1 @@
function __ra_to_xy(r, a) = [r * cos(a), r * sin(a)];

View File

@@ -14,8 +14,7 @@
include <__private__/__frags.scad>; include <__private__/__frags.scad>;
include <__private__/__triangles_tape.scad>; include <__private__/__triangles_tape.scad>;
include <__private__/__ra_to_xy.scad>;
function _unit_xy(a) = [cos(a), sin(a)];
function _edge_r_begin(orig_r, a, a_step, m) = function _edge_r_begin(orig_r, a, a_step, m) =
let(leng = orig_r * cos(a_step / 2)) let(leng = orig_r * cos(a_step / 2))
@@ -39,21 +38,21 @@ function shape_arc(radius, angles, width, width_mode = "LINE_CROSS") =
r_inner = radius + w_offset[1], r_inner = radius + w_offset[1],
points = concat( points = concat(
// outer arc path // outer arc path
[_edge_r_begin(r_outer, angles[0], a_step, m) * _unit_xy(angles[0])], [_edge_r_begin(r_outer, angles[0], a_step, m) * __ra_to_xy(1, angles[0])],
[ [
for(i = [m:n]) for(i = [m:n])
r_outer * _unit_xy(a_step * i) r_outer * __ra_to_xy(1, a_step * i)
], ],
[_edge_r_end(r_outer, angles[1], a_step, n) * _unit_xy(angles[1])], [_edge_r_end(r_outer, angles[1], a_step, n) * __ra_to_xy(1, angles[1])],
// inner arc path // inner arc path
[_edge_r_end(r_inner, angles[1], a_step, n) * _unit_xy(angles[1])], [_edge_r_end(r_inner, angles[1], a_step, n) * __ra_to_xy(1, angles[1])],
[ [
for(i = [m:n]) for(i = [m:n])
let(idx = (n + (m - i))) let(idx = (n + (m - i)))
r_inner * _unit_xy(a_step * idx) r_inner * __ra_to_xy(1, a_step * idx)
], ],
[_edge_r_begin(r_inner, angles[0], a_step, m) * _unit_xy(angles[0])] [_edge_r_begin(r_inner, angles[0], a_step, m) * __ra_to_xy(1, angles[0])]
), ),
triangles = __triangles_tape(points) triangles = __triangles_tape(points)
) )