mirror of
https://github.com/revarbat/BOSL2.git
synced 2025-08-29 23:19:48 +02:00
Merge pull request #1779 from adrianVmariano/master
path sweep bug fix for closed=true, speed improvement in rounded_prism()
This commit is contained in:
@@ -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),
|
vnf = vnf_join([ each column(top_samples,0),
|
||||||
each column(bot_samples,0),
|
each column(bot_samples,0),
|
||||||
for(pts=edge_points) vnf_vertex_array(pts),
|
for(pts=edge_points) vnf_vertex_array(pts),
|
||||||
debug ? vnf_from_polygons(faces,fast=true)
|
vnf_from_polygons(faces,fast=true)
|
||||||
: vnf_triangulate(vnf_from_polygons(faces))
|
// debug ? vnf_from_polygons(faces,fast=true)
|
||||||
|
// : vnf_triangulate(vnf_from_polygons(faces))
|
||||||
]),
|
]),
|
||||||
|
|
||||||
topnormal = unit(cross(top[0]-top[1],top[2]-top[1])),
|
topnormal = unit(cross(top[0]-top[1],top[2]-top[1])),
|
||||||
|
@@ -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(!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.")
|
assert((is_region(shape) || is_path(shape,2)) || (transforms && !(closed && method=="incremental")),"\nshape must be a 2d path or region.")
|
||||||
let(
|
let(
|
||||||
|
caps = !closed ? caps
|
||||||
|
: assert(is_undef(caps) || caps==false || caps==[false,false], "Cannot specify caps when closed=true")
|
||||||
|
false,
|
||||||
path = path3d(path),
|
path = path3d(path),
|
||||||
normalOK = is_undef(normal) || (method!="natural" && is_vector(normal,3))
|
normalOK = is_undef(normal) || (method!="natural" && is_vector(normal,3))
|
||||||
|| (method=="manual" && same_shape(normal,path)),
|
|| (method=="manual" && same_shape(normal,path)),
|
||||||
|
Reference in New Issue
Block a user