diff --git a/src/px_polyline.scad b/src/px_polyline.scad new file mode 100644 index 00000000..26e50dd0 --- /dev/null +++ b/src/px_polyline.scad @@ -0,0 +1,11 @@ +include <__private__/__to3d.scad>; +include <__private__/__to2d.scad>; +include <__private__/__lines_from.scad>; + +function px_polyline(points) = + let( + is_2d = len(points[0]) == 2, + pts = is_2d ? [for(pt = points) __to3d(pt)] : points, + polyline = [for(line = __lines_from(pts)) each px_line(line[0], line[1])] + ) + is_2d ? [for(pt = polyline) __to2d(pt)] : polyline; \ No newline at end of file