mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-17 20:11:50 +02:00
generalize shape
This commit is contained in:
@@ -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;
|
||||||
arc_step = 360 / $fn;
|
shape = [
|
||||||
for(init_a = [0, 180]) {
|
for(a = [0:360 / $fn:arc_a])
|
||||||
sh = [
|
[arc_r * cos(a) , arc_r * sin(a)]
|
||||||
for(a = [0:arc_step:arc_a])
|
|
||||||
[arc_r * cos(a + init_a) , arc_r * sin(a + init_a)]
|
|
||||||
];
|
];
|
||||||
ring_extrude(
|
|
||||||
sh,
|
cutted_donut(shape, inner_r, number_of_turns) ;
|
||||||
radius = arc_r + inner_r,
|
|
||||||
twist = 180 + 360 * number_of_turns,
|
module cutted_donut(shape, inner_r, number_of_turns) {
|
||||||
angle = 360
|
r = arc_r + inner_r;
|
||||||
);
|
t = 180 + 360 * number_of_turns;
|
||||||
|
for(s = [shape, shape * -1]) {
|
||||||
|
ring_extrude(s, radius = r, twist = t, angle = 360);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user