//P8x8 square "treehouse" for ease of building // using dimensional lumber. // The only thing that changes is the size of the tree // which affects the spacing of the 2x6 floorboards TreeDiameter = 24; //inches TreeClearance = 2; // inches on each side of tree. %cylinder(r=TreeDiameter/2, $fn=30, h=300); //4x4 support pieces translate([-48+1.5,-48+1.5,-2]) cube([3.5,3.5,120] ); translate([48-5,-48+1.5,-2]) cube([3.5,3.5,120] ); translate([-48+1.5,+48-5,-2]) cube([3.5,3.5,120] ); translate([48-5,+48-5,-2]) cube([3.5,3.5,120] ); //2x6x8ft "joists" nearest tree translate([-48+1.5,TreeDiameter/2+TreeClearance,66]) cube([93, 1.5, 6]); translate([-48+1.5,-TreeDiameter/2-TreeClearance-1.5,66]) cube([93, 1.5, 6]); //2x6x8ft Joists at end of plywood translate([-48+1.5,-1.5+48,66]) cube([93, 1.5, 6]); translate([-48+1.5,-48,66]) cube([93, 1.5, 6]); //four 2x6x93" "Mid" Joists translate([-48+1.5,30-0.75,66]) cube([93,1.5,6]); //translate([-48+1.5,22-0.75,66]) //cube([93,1.5,6]); translate([-48+1.5,-30.75,66]) cube([93,1.5,6]); color([1,0,0]) { //Box/cross joist stuff translate([-48+1.5,-0.75,66]) cube([30,1.5,6]); translate([-18+1.5,-14,66]) cube([1.5,28,6]); } //2x8x8ft joist supports "end-caps" translate([-48,-48,66]) cube([1.5,96,8]); translate([48-1.5,-48,66]) cube([1.5,96,8]); //Marine Grade Plywood flooring translate([-48,-48,72]) %cube([96,96,0.75]); //4 handrails //translate([-48,-48,96]) //cube([1.5,96,2.5]); translate([48-1.5,-48,96]) cube([1.5,96,2.5]); translate([-48,-48,96]) cube([95,1.5,2.5]); translate([-48,48-1.5,96]) cube([95,1.5,2.5]);