1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-17 20:11:50 +02:00

generalize shape

This commit is contained in:
Justin Lin
2021-07-15 10:53:07 +08:00
parent e6639cd01c
commit 0551981b07

View File

@@ -1,26 +1,23 @@
use <ring_extrude.scad>; use <ring_extrude.scad>;
$fn = 96; $fn = 96;
arc_a = 120;
arc_r = 15;
inner_r = 12; inner_r = 12;
number_of_turns = 1; number_of_turns = 1;
cutted_donut(arc_a, arc_r, inner_r, number_of_turns) ;
module cutted_donut(arc_a, arc_r, inner_r, number_of_turns) { arc_a = 120;
arc_r = 15;
shape = [
for(a = [0:360 / $fn:arc_a])
[arc_r * cos(a) , arc_r * sin(a)]
];
arc_step = 360 / $fn; cutted_donut(shape, inner_r, number_of_turns) ;
for(init_a = [0, 180]) {
sh = [ module cutted_donut(shape, inner_r, number_of_turns) {
for(a = [0:arc_step:arc_a]) r = arc_r + inner_r;
[arc_r * cos(a + init_a) , arc_r * sin(a + init_a)] t = 180 + 360 * number_of_turns;
]; for(s = [shape, shape * -1]) {
ring_extrude( ring_extrude(s, radius = r, twist = t, angle = 360);
sh,
radius = arc_r + inner_r,
twist = 180 + 360 * number_of_turns,
angle = 360
);
} }
} }