module round_with() { if ($preview) { children([1:1:$children-1]); } else { minkowski() { difference() { children([1:1:$children-1]); minkowski() { difference() { minkowski() { children([1:1:$children-1]); children(0); } children([1:1:$children-1]); } children(0); } } children(0); } } } module round_edges(r) { round_with() { sphere(r, $fn = 8); children(); } } // deprecated module tx(l) { translate([l, 0, 0]) children(); } module ty(l) { translate([0, l, 0]) children(); } module tz(l) { translate([0, 0, l]) children(); } module rx(a) { rotate([a, 0, 0]) children(); } module ry(a) { rotate([0, a, 0]) children(); } module rz(a) { rotate([0, 0, a]) children(); } module sx(a) { scale([a, 1, 1]) children(); } module sy(a) { scale([1, a, 1]) children(); } module sz(a) { scale([1, 1, a]) children(); } // capital letters are ugly, but more visible in short identifiers module Tx(l) { translate([l, 0, 0]) children(); } module Ty(l) { translate([0, l, 0]) children(); } module Tz(l) { translate([0, 0, l]) children(); } module Rx(a) { rotate([a, 0, 0]) children(); } module Ry(a) { rotate([0, a, 0]) children(); } module Rz(a) { rotate([0, 0, a]) children(); } module Sx(a) { scale([a, 1, 1]) children(); } module Sy(a) { scale([1, a, 1]) children(); } module Sz(a) { scale([1, 1, a]) children(); } module Mx() { for (s = [-1, 1]) Sx(s) children(); } module My() { for (s = [-1, 1]) Sy(s) children(); } module Mz() { for (s = [-1, 1]) Sz(s) children(); } eps = 0.01; infty = 100;