include include module bottom(){ color("green") difference(){ difference(){ difference(){ difference(){ cube(size=[nestwidth, nestwidth, plankthick], center=false); translate([0, drainage, -2]){ rotate([0, 0, 225]){ cube([drainage*2, drainage*2, plankthick +4]); } } } translate([0, nestwidth-drainage, -2]){ rotate([0, 0, 45]){ cube([drainage*2, drainage*2, plankthick +4]); } } } translate([nestwidth-drainage, 0, -2]){ rotate([0, 0, 315]){ cube([drainage*2, drainage*2, plankthick +4]); } } } translate([nestwidth, nestwidth-drainage, -2]){ rotate([0, 0, 45]){ cube([drainage*2, drainage*2, plankthick +4]); } } } echo("#### Bottom: width = ", nestwidth, " depth = ", nestwidth); } module bottomdim(){ bottom(); color("black"){ translate([nestwidth - drainage, nestwidth + 10, 0]) dimensions(length=drainage, loc=DIM_OUTSIDE); translate([nestwidth +10, nestwidth - drainage, 0]) rotate([0, 0, 90]) dimensions(length=drainage, loc=DIM_OUTSIDE); translate([-10, 0, 0]) rotate([0, 0, 90]) dimensions(length=nestwidth); translate([0, -10 , 0]) dimensions(length=nestwidth); translate([0, nestwidth + 15, 0]) drawtext("Bottom"); } } bottomdim();