mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-26 16:04:46 +02:00
add simple_seashell
This commit is contained in:
31
examples/simple_seashell.scad
Normal file
31
examples/simple_seashell.scad
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
include <circle_path.scad>;
|
||||||
|
include <rotate_p.scad>;
|
||||||
|
include <polysections.scad>;
|
||||||
|
|
||||||
|
r1 = 15;
|
||||||
|
r2 = 50;
|
||||||
|
|
||||||
|
a1 = 1;
|
||||||
|
a2 = 450;
|
||||||
|
|
||||||
|
steps = 40;
|
||||||
|
|
||||||
|
module simple_seashell(r1, r2, a1, a2, steps) {
|
||||||
|
rd = (r2 - r1) / steps;
|
||||||
|
ad = (a2 - a1) / steps;
|
||||||
|
|
||||||
|
sections = [
|
||||||
|
for (i = [0:steps])
|
||||||
|
let(
|
||||||
|
r = r1 + rd * i,
|
||||||
|
a = a1 + i * ad
|
||||||
|
)
|
||||||
|
[for(p = concat(circle_path(r), circle_path(r * 0.9)))
|
||||||
|
rotate_p([p[0], p[1], 0] + [r, 0, 0], [0, a, 0])]
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
rotate([90, 0, 0]) polysections(sections, "HOLLOW");
|
||||||
|
}
|
||||||
|
|
||||||
|
simple_seashell(r1, r2, a1, a2, steps);
|
Reference in New Issue
Block a user