length = 10; width = 10; a = 0; b = 30; c = 0; d = 10; inside = 5; widthSquare = 10; lengthSquare = 20; module tree(){ translate ([a,0*b,c]) {polygon(points=[[0,0],[-4*length,0],[0,5*width]], paths=[[0,1,2]]);} translate ([a,1*b,c]) {polygon(points=[[0,0],[-3*length,0],[0,5*width]], paths=[[0,1,2]]);} translate ([a,2*b,c]) {polygon(points=[[0,0],[-2*length,0],[0,4*width]], paths=[[0,1,2]]);} translate ([a,0*b,c]) {polygon(points=[[0,0],[4*length,0],[0,5*width]], paths=[[0,1,2]]);} translate ([a,1*b,c]) {polygon(points=[[0,0],[3*length,0],[0,5*width]], paths=[[0,1,2]]);} translate ([a,2*b,c]) {polygon(points=[[0,0],[2*length,0],[0,4*width]], paths=[[0,1,2]]);} translate ([a,-0.5*c,c]) square([widthSquare, lengthSquare], true); } difference(){ tree(); translate ([0, 70,0]) square([1, 70], true); }