From 2d3315f9ad91665c0a9204e719189a413a836ffd Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Sun, 1 Aug 2021 15:31:21 +0800 Subject: [PATCH] refactor --- ...on_body_scales.scad => dragon_scales.scad} | 23 ++++++++++++++ examples/dragon/spiral_dragon.scad | 25 ++------------- examples/dragon/torus_knot_dragon.scad | 31 +++---------------- 3 files changed, 30 insertions(+), 49 deletions(-) rename examples/dragon/{dragon_body_scales.scad => dragon_scales.scad} (64%) diff --git a/examples/dragon/dragon_body_scales.scad b/examples/dragon/dragon_scales.scad similarity index 64% rename from examples/dragon/dragon_body_scales.scad rename to examples/dragon/dragon_scales.scad index f528d49f..d4e6806e 100644 --- a/examples/dragon/dragon_body_scales.scad +++ b/examples/dragon/dragon_scales.scad @@ -1,4 +1,5 @@ use ; +use ; use ; use ; use ; @@ -40,4 +41,26 @@ module dragon_body_scales(body_r, body_fn, one_scale_points_faces) { rotate([0, (y % 2) * a]) ring_scales(); } +} + +module tail_scales(ang, leng, radius, height, thickness) { + module one_scale() { + rotate([0, ang, 0]) + shear(sx = [0, -1.5]) + linear_extrude(thickness, center = true) + scale([leng, 1]) + circle(1); + } + + for(a = [0:30:330]) { + hull() { + rotate(a) + translate([radius, 0, height]) + one_scale(); + + rotate(a + 15) + translate([radius, 0, height + 1.75]) + one_scale(); + } + } } \ No newline at end of file diff --git a/examples/dragon/spiral_dragon.scad b/examples/dragon/spiral_dragon.scad index 056e9893..8e530f5d 100644 --- a/examples/dragon/spiral_dragon.scad +++ b/examples/dragon/spiral_dragon.scad @@ -8,35 +8,13 @@ use ; use ; use ; use ; -use ; +use ; r1 = 25; r2 = 15; levels = 3; level_dist = 20; -module tail_scales(ang, leng, radius, height, thickness) { - module one_scale() { - rotate([0, ang, 0]) - shear(sx = [0, -1.5]) - linear_extrude(thickness, center = true) - scale([leng, 1]) - circle(1, $fn = 4); - } - - for(a = [0:30:330]) { - hull() { - rotate(a) - translate([radius, 0, height]) - one_scale(); - - rotate(a + 15) - translate([radius, 0, height + 1.75]) - one_scale(); - } - } -} - module one_segment(body_r, body_fn, one_scale_data) { // scales rotate([-90, 0, 0]) @@ -58,6 +36,7 @@ module one_segment(body_r, body_fn, one_scale_data) { } module tail() { + $fn = 4; scale([1,0.85, 1]) union() { tail_scales(75, 2.5, 4.25, -4, 1.25); tail_scales(100, 1.25, 4.5, -7, 1); diff --git a/examples/dragon/torus_knot_dragon.scad b/examples/dragon/torus_knot_dragon.scad index 56fedbe3..673b99eb 100644 --- a/examples/dragon/torus_knot_dragon.scad +++ b/examples/dragon/torus_knot_dragon.scad @@ -3,7 +3,7 @@ use ; use ; use ; use ; -use ; +use ; torus_knot_dragon(); @@ -41,35 +41,13 @@ module torus_knot_dragon() { t_angy_angz = __angy_angz(d_path[1], d_path[0]); - translate([2.17, 1.53, -.775]) + translate([2.1, 1.55, -.80]) rotate([0, t_angy_angz[0], t_angy_angz[1]]) - rotate([0, -85, -90]) - scale(0.055) + rotate([0, -95, -75]) + scale([0.055, 0.055, 0.065]) tail(); } -module tail_scales(ang, leng, radius, height, thickness) { - module one_scale() { - rotate([0, ang, 0]) - shear(sx = [0, -1.5]) - linear_extrude(thickness, center = true) - scale([leng, 1]) - circle(1, $fn = 8); - } - - for(a = [0:30:330]) { - hull() { - rotate(a) - translate([radius, 0, height]) - one_scale(); - - rotate(a + 15) - translate([radius, 0, height + 1.75]) - one_scale(); - } - } -} - module one_segment(body_r, body_fn, one_scale_data) { // scales rotate([-90, 0, 0]) @@ -91,6 +69,7 @@ module one_segment(body_r, body_fn, one_scale_data) { } module tail() { + $fn = 8; tail_scales(75, 2.5, 5, -4, 1.25); tail_scales(100, 1.25, 4.5, -7, 1); tail_scales(110, 1.25, 3, -9, 1);