Merge pull request #1779 from adrianVmariano/master

path sweep bug fix for closed=true, speed improvement in rounded_prism()
This commit is contained in:
adrianVmariano
2025-08-20 22:57:13 -04:00
committed by GitHub
2 changed files with 6 additions and 2 deletions

View File

@@ -2572,8 +2572,9 @@ function rounded_prism(bottom, top, joint_bot=0, joint_top=0, joint_sides=0, k_b
vnf = vnf_join([ each column(top_samples,0),
each column(bot_samples,0),
for(pts=edge_points) vnf_vertex_array(pts),
debug ? vnf_from_polygons(faces,fast=true)
: vnf_triangulate(vnf_from_polygons(faces))
vnf_from_polygons(faces,fast=true)
// debug ? vnf_from_polygons(faces,fast=true)
// : vnf_triangulate(vnf_from_polygons(faces))
]),
topnormal = unit(cross(top[0]-top[1],top[2]-top[1])),

View File

@@ -2276,6 +2276,9 @@ function path_sweep(shape, path, method="incremental", normal, closed, twist=0,
assert(!closed || !approx(path[0],last(path)), "\nClosed path includes start point at the end.")
assert((is_region(shape) || is_path(shape,2)) || (transforms && !(closed && method=="incremental")),"\nshape must be a 2d path or region.")
let(
caps = !closed ? caps
: assert(is_undef(caps) || caps==false || caps==[false,false], "Cannot specify caps when closed=true")
false,
path = path3d(path),
normalOK = is_undef(normal) || (method!="natural" && is_vector(normal,3))
|| (method=="manual" && same_shape(normal,path)),