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:
@@ -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) {
|
||||||
|
Reference in New Issue
Block a user