}
}
+module rectfromto(a,b) {
+ ab = b - a;
+ translate([min(a[0], b[0]), min(a[1], b[1])])
+ square([abs(ab[0]), abs(ab[1])]);
+}
+module circleat(c,r) { translate(c) circle(r); }
+module linextr(z0,z1) {
+ translate([0,0,z0])
+ linear_extrude(height=z1-z0)
+ children();
+}