1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-12 01:34:12 +02:00

supported closed sections

This commit is contained in:
Justin Lin
2017-05-17 10:13:56 +08:00
parent b8c9748043
commit 39d90f8d8b

View File

@@ -49,23 +49,30 @@ module polysections(sections, triangles = "SOLID") {
leng_sects = len(sects); leng_sects = len(sects);
leng_pts_sect = len(sects[0]); leng_pts_sect = len(sects[0]);
first_idxes = [for(i = [0:leng_pts_sect - 1]) leng_pts_sect - 1 - i];
last_idxes = [
for(i = [0:leng_pts_sect - 1])
i + leng_pts_sect * (leng_sects - 1)
];
v_pts = [ v_pts = [
for(sect = sects) for(sect = sects)
for(pt = sect) for(pt = sect)
pt pt
]; ];
polyhedron( if(sects[0] == sects[leng_sects - 1]) {
v_pts, polyhedron(
concat([first_idxes], side_indexes(sects), [last_idxes]) v_pts,
); side_indexes(sects)
);
} else {
first_idxes = [for(i = [0:leng_pts_sect - 1]) leng_pts_sect - 1 - i];
last_idxes = [
for(i = [0:leng_pts_sect - 1])
i + leng_pts_sect * (leng_sects - 1)
];
polyhedron(
v_pts,
concat([first_idxes], side_indexes(sects), [last_idxes])
);
}
} }
module hollow_sections(sects) { module hollow_sections(sects) {