Solved! Go to Solution.
Lot --> extrude(10) comp(f) {side : Bevel} Bevel --> roofGable(50,0,0,true) # use the vertical edge = rotate roof // angle must be larger than 45 degs because of following comp(f) split(y){0.005: comp(f) {top : color(1,0,0) X. | all : X.} | ~1 : NIL}
Lot --> extrude(10) comp(f) {side : Bevel} Bevel --> roofGable(50,0,0,true) # use the vertical edge = rotate roof // angle must be larger than 45 degs because of following comp(f) split(y){0.005: comp(f) {top : color(1,0,0) X. | all : X.} | ~1 : NIL}
Lot --> innerRect // ensure the lot is a square, for simplicity alignScopeToAxes(y) // these two lines ensure that s('1,0,'1) // the lot is extruded vertically (world axes, not the local axes) extrude(10) comp(f) {top: Bevel | side : Bevel} // splits out the individual faces Bevel --> roofHip(45) // each face becomes a hip roof, relative to the local axes split(y){.1: comp(f) {bottom: NIL | all : Wall }} // removes the bottom face (for efficiency) Wall --> color(0,5,0) // give it a pretty color :) Done. // finished
Lot --> innerRect // ensure the lot is a square, for simplicity alignScopeToAxes(y) // these two lines ensure that s('1,0,'1) // the lot is extruded vertically (world axes, not the local axes) extrude(10) comp(f) {top: Bevel | side : Bevel} // splits out the individual faces Bevel --> roofHip(45) // each face becomes a hip roof, split(y){.1: comp(f) {bottom: NIL | all : Wall } | ~1:NIL} // removes the bottom face (for efficiency), then removes the excess Wall --> color(0,5,0) // give it a pretty color :) Done. // finished