1
0
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:
Justin Lin 2020-02-24 09:22:28 +08:00
parent 1329b45c74
commit 3b14f473c8

View 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);