diff --git a/gears.scad b/gears.scad index 3e675f8..5bff0fc 100644 --- a/gears.scad +++ b/gears.scad @@ -1287,7 +1287,8 @@ function worm( ) apply(zrot(a)*up(z), path3d(cross_sect)) ], - vnf1 = vnf_vertex_array(profiles, caps=true, col_wrap=true, reverse=true, style="alt"), + rprofiles = [ for (prof=profiles) reverse(prof) ], + vnf1 = vnf_vertex_array(rprofiles, caps=true, col_wrap=true, style="quincunx"), vnf = left_handed? xflip(p=vnf1) : vnf1 ) reorient(anchor,spin,orient, d=d, l=l, p=vnf); diff --git a/vnf.scad b/vnf.scad index 7f57186..362a385 100644 --- a/vnf.scad +++ b/vnf.scad @@ -188,6 +188,15 @@ function vnf_compact(vnf) = ) vnf_add_faces(faces=faces); +// Function: vnf_reverse_faces() +// Usage: +// rvnf = vnf_reverse_faces(vnf); +// Description: +// Reverses the facing of all the faces in the given VNF. +function vnf_reverse_faces(vnf) = + [vnf[0], [for (face=vnf[1]) reverse(face)]]; + + // Function: vnf_triangulate() // Usage: // vnf2 = vnf_triangulate(vnf);