MACRO PHOUSE SELSAVE SAVESETTINGS GV FloorH 10 GV FloorH ^DEnter floor height(10.00000): IFZ FloorH MacroDone :Loop GE ELine1 ^DSelect front line IFERR MacroDone GE ELine2 ^DSelect back line IFERR MacroDone GN FloorN 2 GN FloorN ^DEnter number of floors [2]: IFZ FloorN MacroDone IFN FloorN MacroDone GP PA % 0 ELine1 GP PB % 100 ELine1 GETX XA PA GETY YA PA GETX XB PB GETY YB PB IFP XB-XA NoSwap1 GP PBuf PA GP PA PB GP PB PBuf GETX XA PA GETY YA PA GETX XB PB GETY YB PB :NoSwap1 GP PC % 0 ELine2 GP PD % 100 ELine2 GETX XC PC GETY YC PC GETX XD PD GETY YD PD IFP XC-XD NoSwap2 GP PBuf PC GP PC PD GP PD PBuf GETX XC PC GETY YC PC GETX XD PD GETY YD PD :NoSwap2 GBRNG B1 PA PB GBRNG B2 PA PD GDIST AD PA PD GDIST BC PB PC GV MaxD AD IFP MaxD-BC DDone GV MaxD BC :DDone GV XR1 0.5*(XA+XD) GV YR1 0.5*(YA+YD)+MaxD/2 GV XR2 0.5*(XB+XC) GV YR2 0.5*(YB+YC)+MaxD/2 GP R1 XR1,YR1+FloorN*FloorH GP R2 XR2,YR2+FloorN*FloorH GP PA2 XA,YA+FloorN*FloorH GP PB2 XB,YB+FloorN*FloorH GP PC2 XC,YC+FloorN*FloorH GP PD2 XD,YD+FloorN*FloorH LWIDTH 0 GOLAYER Perspective Roofs FSTYLE PROOFS SELBYP POLY PC2 R2 R1 PD2; SHADEPOLY B1+180 45 GOLAYER Perspective Walls FSTYLE PWALLS IFP (XB-XA)*(XD-XA)+(YB-YA)*(YD-YA) RightSide :LeftSide POLY PA PA2 R1 PD2 PD; SHADEPOLY B2 70 GO SideDone :RightSide POLY PB PB2 R2 PC2 PC; SHADEPOLY B2 70 :SideDone POLY PA PB PB2 PA2; SHADEPOLY B1 70 FSTYLE PROOFS GOLAYER Perspective Roofs POLY PA2 PB2 R2 R1; SHADEPOLY B1 45 SELBYD GO Loop :MacroDone GETSETTINGS SELREST ENDM