mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-03-14 02:59:42 +01:00
add hollow_out_starburst
This commit is contained in:
parent
1329b45c74
commit
3b14f473c8
35
examples/hollow_out_starburst.scad
Normal file
35
examples/hollow_out_starburst.scad
Normal file
@ -0,0 +1,35 @@
|
||||
use <shape_starburst.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <experimental/tri_bisectors.scad>;
|
||||
|
||||
r1 = 30;
|
||||
r2 = 12;
|
||||
h = 10;
|
||||
n = 5;
|
||||
thickness = 1.75;
|
||||
half = true;
|
||||
|
||||
module hollow_out_starburst(r1, r2, h, n, thickness, half = false) {
|
||||
star = [for(p = shape_starburst(r1, r2, n)) [p[0], p[1], 0]];
|
||||
leng = len(star);
|
||||
tris = concat(
|
||||
[for(i = [0:leng - 2]) [[0, 0, h], star[i], star[i + 1]]],
|
||||
[[[0, 0, h], star[leng - 1], star[0]]]
|
||||
);
|
||||
|
||||
module half_star() {
|
||||
for(tri = tris) {
|
||||
hull_polyline3d(concat(tri, [tri[0]]), thickness = thickness);
|
||||
for(line = tri_bisectors(tri)) {
|
||||
hull_polyline3d(concat(line, [line[0]]), thickness = thickness);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
half_star();
|
||||
if(!half) {
|
||||
mirror([0, 0, 1]) half_star();
|
||||
}
|
||||
}
|
||||
|
||||
hollow_out_starburst(r1, r2, h, n, thickness, half);
|
Loading…
x
Reference in New Issue
Block a user