Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
134 lines (129 sloc) 2.98 KB
module skew_cube(a,b) {
multmatrix(m = [
[1, 0, a, 0],
[0, 1, b, 0],
[0, 0, 1, 0]
]) cube(size=1.00001);
}
module span_cube(x1,y1,x2,y2,z) {
translate(v=[x1,y1,z])
skew_cube(x2-x1,y2-y1);
}
union() {
span_cube(-2,-3,-3,-2,0);
span_cube(-2,-3,-1,-2,0);
span_cube(-1,-2,-1,-2,0);
span_cube(-1,-2,-2,-1,0);
span_cube(-1,-2,-1,-1,0);
span_cube(-3,-1,-3,-2,0);
span_cube(-3,-1,-2,-1,0);
span_cube(-3,-1,-2,0,0);
span_cube(-2,-1,-3,-2,0);
span_cube(-2,-1,-1,-2,0);
span_cube(-2,-1,-2,-1,0);
span_cube(-2,-1,-1,-1,0);
span_cube(-2,-1,-2,0,0);
span_cube(-1,-1,-1,-2,0);
span_cube(-1,-1,-2,-1,0);
span_cube(-1,-1,-1,-1,0);
span_cube(-1,-1,-2,0,0);
span_cube(-3,-2,-3,-1,1);
span_cube(-1,-2,-1,-2,1);
span_cube(-1,-2,-1,-1,1);
span_cube(-2,-1,-1,-2,1);
span_cube(-2,-1,-3,-1,1);
span_cube(-2,-1,-1,-1,1);
span_cube(-2,-1,-2,0,1);
span_cube(-2,-1,-1,0,1);
span_cube(-1,-1,-1,-2,1);
span_cube(-1,-1,-1,-1,1);
span_cube(-1,-1,-2,0,1);
span_cube(-1,-1,-1,0,1);
span_cube(-2,0,-3,-1,1);
span_cube(-2,0,-1,-1,1);
span_cube(-2,0,-2,0,1);
span_cube(-2,0,-1,0,1);
span_cube(-1,-2,-2,-2,2);
span_cube(-1,-2,-1,-1,2);
span_cube(-1,-2,0,-1,2);
span_cube(-3,-1,-2,-2,2);
span_cube(-3,-1,-2,0,2);
span_cube(-1,-1,-2,-2,2);
span_cube(-1,-1,-1,-1,2);
span_cube(-1,-1,0,-1,2);
span_cube(-1,-1,-2,0,2);
span_cube(-1,-1,-1,0,2);
span_cube(-2,0,-1,-1,2);
span_cube(-2,0,-2,0,2);
span_cube(-2,0,-1,0,2);
span_cube(-1,0,-1,-1,2);
span_cube(-1,0,0,-1,2);
span_cube(-1,0,-2,0,2);
span_cube(-1,0,-1,0,2);
span_cube(-2,-2,-1,-2,3);
span_cube(-1,-1,-1,-2,3);
span_cube(-1,-1,0,-1,3);
span_cube(-1,-1,-2,0,3);
span_cube(-1,-1,-1,0,3);
span_cube(-1,-1,0,0,3);
span_cube(0,-1,-1,-2,3);
span_cube(0,-1,0,-1,3);
span_cube(0,-1,-1,0,3);
span_cube(0,-1,0,0,3);
span_cube(-2,0,-2,0,3);
span_cube(-2,0,-1,0,3);
span_cube(-1,0,0,-1,3);
span_cube(-1,0,-2,0,3);
span_cube(-1,0,-1,0,3);
span_cube(-1,0,0,0,3);
span_cube(-1,-2,-2,-1,4);
span_cube(-1,-2,0,-1,4);
span_cube(0,-1,0,-1,4);
span_cube(0,-1,-1,0,4);
span_cube(0,-1,0,0,4);
span_cube(-2,0,-2,-1,4);
span_cube(-2,0,-1,0,4);
span_cube(-2,0,-1,1,4);
span_cube(-1,0,-2,-1,4);
span_cube(-1,0,0,-1,4);
span_cube(-1,0,-1,0,4);
span_cube(-1,0,0,0,4);
span_cube(-1,0,-1,1,4);
span_cube(0,0,0,-1,4);
span_cube(0,0,-1,0,4);
span_cube(0,0,0,0,4);
span_cube(0,0,-1,1,4);
span_cube(-2,-1,-2,0,5);
span_cube(0,-1,0,-1,5);
span_cube(0,-1,0,0,5);
span_cube(-1,0,0,-1,5);
span_cube(-1,0,-2,0,5);
span_cube(-1,0,0,0,5);
span_cube(-1,0,-1,1,5);
span_cube(-1,0,0,1,5);
span_cube(0,0,0,-1,5);
span_cube(0,0,0,0,5);
span_cube(0,0,-1,1,5);
span_cube(0,0,0,1,5);
span_cube(-1,1,-2,0,5);
span_cube(-1,1,0,0,5);
span_cube(-1,1,-1,1,5);
span_cube(-1,1,0,1,5);
span_cube(0,-1,-1,-1,6);
span_cube(0,-1,0,0,6);
span_cube(0,-1,1,0,6);
span_cube(-2,0,-1,-1,6);
span_cube(-2,0,-1,1,6);
span_cube(0,0,-1,-1,6);
span_cube(0,0,0,0,6);
span_cube(0,0,1,0,6);
span_cube(0,0,-1,1,6);
span_cube(0,0,0,1,6);
span_cube(-1,1,0,0,6);
span_cube(-1,1,-1,1,6);
span_cube(-1,1,0,1,6);
span_cube(0,1,0,0,6);
span_cube(0,1,1,0,6);
span_cube(0,1,-1,1,6);
span_cube(0,1,0,1,6);
}