(把楼房分层,一层4米,其余都是三米) lot-->
extrude(10 )
comp(f){front:Front|side:Side|top:Top} Front-->
//split(y){~3:FLOOR}*
split(y){4:firstFloor|{~3:secondF}*}
firstFloor-->(然后把第一层分成2米每间) split(x){{~2:secondFsrf}*}
(对整栋楼进行分离,并且加颜色) Lot-->
extrude(16)
comp(f){front:Front|side:Side|top:Top} Front-->
color(0,128,255)
split(y){4:firstF|{~3:secondF}*}
firstF-->
split(x){{~2:firstF1}*} secondF-->
split(x){{~2:firstF2}*}
Side-->
color(60,179,113)
split(y){4:firstF|{~3:secondF}*}
Top--> color(1,4,0)
这个是front和side四周都有门
Lot-->
extrude(19)
comp(f){front:Front|side:Side|top:Top} Front-->
//color(0.8,0.1,0.2)
split(y){4:F1|{~3:F2}*} F1-->
split(x){~3:window|~3:window|3:door|~3:window|~3:window}(这是固定生成5个对象) split(x){{~3:window}*|3:door|{~3:window}*}这个是以3米均分第一层
window-->
split(y){~1:wall|~2:windows|~1:wall} windows-->
split(x){~0.5:wall|~2:windw1|~0.5:wall} windw1--> color(0,1,1) wall--> extrude(0.3)
F2-->
split(x){{~3:window}*}
Side-->
//color(0,0,1)
split(y){4:F|{~3:F2}*} F-->
split(x){{~3:window}*} Top-->
color(0.1,0.5,0)
四中都有门Lot--> extrude(19)
comp(f){front:Front|side:Side|top:Top} Front--> //color(0,0,1)
split(y){4:F1|{~3:F2}*} F1-->
split(x){~3:window|~3:window|3:door|~3:window|~3:window} window-->
split(y){~1:wall|~2:windows|~1:wall} windows-->
split(x){~0.5:wall|~2:windw1|~0.5:wall} windw1--> color(0,1,1) wall--> extrude(0.3) F2-->
split(x){{~3:window}*} Side-->
//color(0,0,1)
split(y){4:F1|{~3:F2}*}(
(把side的第一层重新起个名字,在分离一下即可如下) split(y){4:F|{~3:F2}*} F-->
split(x){{~3:window}*}
有颜色 有屋顶(是错误的,不考虑) Lot-->
extrude(19)
comp(f){front:Front|side:Side|top:Top} Front-->
//color(0.8,0.1,0.2)
split(y){4:F1|{~3:F2}*|~3:F3} F3-->
split(x){{~3:window}*} F1-->
split(x){~3:window|~3:window|3:door|~3:window|~3:window} door--> color(0,1,0)
window-->
split(y){~1:wall|~2:windows|~1:wall} windows-->
split(x){~0.5:wall|~2:windw1|~0.5:wall} windw1-->
//texture(fileRandom(\color(0,1,1) wall--> color(1,0,0)
extrude(0.15)
F2-->
split(x){{~3:window}*}
Side-->
//color(0,0,1)
split(y){4:F|{~3:F2}*} F-->
split(x){{~3:window}*} Top-->
color(0.1,0.5,0)
//@Location(779,359)
//Roof --> roofHip(22.5) Shape
split(y){~0.01:qiang|~15:zhong|~0.01:qiang} zhong-->
split(x){~0.01:qiang|~20:zhong1|~0.01:qiang} qiang--> extrude(1)
comp(f){front:Front1|side:Side1} Front1--> color(1,0,0) extrude(0.15) Side1--> color(1,0,0) extrude(0.15)
只有front有门的情况。 Lot-->
extrude(25)
comp(f){front:Front|side:Side|top:Top} Front-->
split(y){4:firstFloor|{~3:secondFloor}*} firstFloor-->
split(x){{~3:window}*|3:door|{~3:window}*} window-->
split(x){~0.5:walls|~2:windows|~0.5:walls} windows-->
split(y){~1:walls|~2:win|~1:walls} secondFloor-->
split(x){{~3:window1}*} window1-->
split(x){~0.5:walls|~2:windows1|~0.5:walls} windows1-->
split(y){~1:walls|~2:win|~1:walls} Side-->
split(y){4:firstF|{~3:secondFloor}*} firstF-->
split(x){{~3:window1}*} win--> color(1,1,0) door--> color(0,1,1) walls--> color(1,0,0) extrude(0.15) Top-->
color(0,0.5,1)
屋顶的代码
Top-->
offset(-0.3) w w-->
comp(f) { inside: I | border: O1 } O1-->
color(1,1,0) extrude(1)
(正负号有可能不对,可以调一下)
窗户的代码(offset) firstF-->
split(x){{~3:window}*|3:door|{~3:window}*} window--> offset(-0.3) A A-->
comp(f) { inside: I | border: O } I-->
color(0,1,1) O-->
color(1,1,0) extrude(0.3)
可以随机生成房屋的代码
Lot-->