============================================================================================================================================== OFFSET 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F ---------------------------------------------------------------------------------------------------------------------------------------------- 00000000 00 6B 52 00 00 00 E0 00 00 00 32 01 00 00 49 0A 00 00 7B 0B 00 00 03 00 00 00 7E 0B 00 00 00 00 .kR...α...2☺..I◙..{♂..♥...~♂.... 00000020 00 00 7E 0B 00 00 B0 00 00 00 2E 0C 00 00 00 00 00 00 15 31 33 30 32 30 50 54 52 20 54 65 6E 73 ..~♂..░....♀......§13020PTR Tens 00000040 69 6C 65 20 52 6F 6F 66 00 4C 00 DC 00 00 00 6F 00 ED 04 00 00 00 00 00 07 00 00 00 00 00 1E 16 ile Roof.L.▄...o.φ♦.....•.....▲▬ 00000060 EA C0 00 00 00 00 1E 16 EA 40 BF 0E 9C 40 78 00 00 00 78 00 00 00 78 00 00 00 B0 00 00 00 B0 00 Ω└....▲▬Ω@┐♫£@x...x...x...░...░. 00000080 00 00 06 01 1E 16 EA C0 00 00 00 00 1E 16 EA 40 00 00 00 00 0E 00 20 20 20 20 20 20 20 20 00 00 ..♠☺▲▬Ω└....▲▬Ω@....♫. .. 000000A0 06 01 1E 16 EA C0 BF 0E 9C 40 1E 16 EA C0 00 00 00 00 0E 00 20 20 20 20 20 20 20 20 00 00 06 01 ♠☺▲▬Ω└┐♫£@▲▬Ω└....♫. ..♠☺ 000000C0 1E 16 EA 40 BF 0E 9C 40 1E 16 EA 40 00 00 00 00 0E 00 20 20 20 20 20 20 20 20 00 00 06 01 1E 16 ▲▬Ω@┐♫£@▲▬Ω@....♫. ..♠☺▲▬ 000000E0 EA C0 BF 0E 9C 40 1E 16 EA 40 BF 0E 9C 40 0E 00 20 20 20 20 20 20 20 20 00 00 00 00 00 00 00 00 Ω└┐♫£@▲▬Ω@┐♫£@♫. ........ 00000100 00 00 00 00 00 00 00 00 00 00 1E 16 EA C0 00 00 00 00 1E 16 EA 40 00 00 00 00 00 00 00 00 BF 0E ..........▲▬Ω└....▲▬Ω@........┐♫ 00000120 9C 40 1E 16 EA C0 BF 0E 9C 40 1E 16 EA 40 BF 0E 9C 40 21 41 72 63 68 69 43 41 44 20 6D 61 63 72 £@▲▬Ω└┐♫£@▲▬Ω@┐♫£@!ArchiCAD macr 00000140 6F 20 72 6F 6F 66 20 6D 6F 64 65 6C 2E 0D 0A 0D 0A 21 20 41 70 72 69 6C 20 31 39 38 38 0D 0A 0D o roof model.♪◙♪◙! April 1988♪◙♪ 00000160 0A 21 20 43 72 65 61 74 65 64 20 62 79 20 4B 65 6E 6A 69 20 54 61 6D 61 6F 6B 69 0D 0A 0D 0A 21 ◙! Created by Kenji Tamaoki♪◙♪◙! 00000180 20 43 65 6E 74 72 65 20 66 6F 72 20 4C 61 6E 64 73 63 61 70 65 20 52 65 73 65 61 72 63 68 0D 0A Centre for Landscape Research♪◙ 000001A0 21 20 55 6E 69 76 65 72 73 69 74 79 20 6F 66 20 54 6F 72 6F 6E 74 6F 0D 0A 21 20 54 65 6E 73 69 ! University of Toronto♪◙! Tensi 000001C0 6C 65 20 52 6F 6F 66 20 44 65 73 69 67 6E 20 50 72 6F 67 72 61 6D 0D 0A 0D 0A 21 20 54 68 69 73 le Roof Design Program♪◙♪◙! This 000001E0 20 70 72 6F 67 72 61 6D 20 63 61 6E 20 62 65 20 75 73 65 64 20 74 6F 20 70 6C 6F 74 20 61 20 74 program can be used to plot a t 00000200 65 6E 73 69 6C 65 20 72 6F 6F 66 0D 0A 21 20 73 74 72 75 63 74 75 72 65 20 69 6E 20 74 68 72 65 ensile roof♪◙! structure in thre 00000220 65 20 64 69 6D 65 6E 73 69 6F 6E 73 2E 20 54 68 65 20 70 72 6F 67 72 61 6D 20 72 65 71 75 69 72 e dimensions. The program requir 00000240 65 73 20 74 68 65 0D 0A 21 20 69 6E 70 75 74 20 6F 66 20 74 68 72 65 65 20 70 61 72 61 6D 65 74 es the♪◙! input of three paramet 00000260 65 72 73 3A 20 6C 6F 77 20 70 6F 69 6E 74 2C 20 68 69 67 68 20 70 6F 69 6E 74 20 61 6E 64 20 70 ers: low point, high point and p 00000280 65 61 6B 0D 0A 21 20 70 6F 69 6E 74 2E 20 54 68 65 20 70 65 61 6B 20 70 6F 69 6E 74 20 69 73 20 eak♪◙! point. The peak point is 000002A0 74 68 65 20 68 69 67 68 65 73 74 20 70 6F 69 6E 74 20 6F 66 20 74 68 65 20 72 6F 6F 66 2E 0D 0A the highest point of the roof.♪◙ 000002C0 21 20 54 68 65 20 68 69 67 68 20 70 6F 69 6E 74 20 69 73 20 74 68 65 20 6C 6F 77 65 73 74 20 70 ! The high point is the lowest p 000002E0 6F 69 6E 74 20 6F 66 20 74 68 65 20 63 75 72 76 65 20 77 68 69 63 68 20 63 6F 6E 6E 65 63 74 73 oint of the curve which connects 00000300 0D 0A 21 20 74 77 6F 20 70 65 61 6B 20 70 6F 69 6E 74 73 20 74 6F 67 65 74 68 65 72 2E 20 54 68 ♪◙! two peak points together. Th 00000320 65 20 6C 6F 77 20 70 6F 69 6E 74 20 69 73 20 74 68 65 20 68 69 67 68 65 73 74 20 70 6F 69 6E 74 e low point is the highest point 00000340 0D 0A 21 20 6F 66 20 74 68 65 20 63 75 72 76 65 20 77 68 69 63 68 20 63 6F 6E 6E 65 63 74 73 20 ♪◙! of the curve which connects 00000360 74 77 6F 20 67 72 6F 75 6E 64 20 70 6F 69 6E 74 73 20 74 6F 67 65 74 68 65 72 2E 20 4A 75 73 74 two ground points together. Just 00000380 20 61 73 20 61 6E 0D 0A 21 20 65 78 61 6D 70 6C 65 2C 20 73 65 74 74 69 6E 67 20 74 68 65 20 6C as an♪◙! example, setting the l 000003A0 6F 77 20 70 6F 69 6E 74 20 61 74 20 31 2C 20 74 68 65 20 68 69 67 68 20 70 6F 69 6E 74 20 61 74 ow point at 1, the high point at 000003C0 20 32 20 61 6E 64 0D 0A 21 20 74 68 65 20 70 65 61 6B 20 70 6F 69 6E 74 20 61 74 20 33 20 72 65 2 and♪◙! the peak point at 3 re 000003E0 73 75 6C 74 73 20 69 6E 20 61 20 72 65 61 6C 69 73 74 69 63 20 72 6F 6F 66 20 73 74 72 75 63 74 sults in a realistic roof struct 00000400 75 72 65 2E 28 69 6E 20 6D 65 74 72 69 63 29 0D 0A 0D 0A 21 20 4D 61 69 6E 20 42 6F 64 79 0D 0A ure.(in metric)♪◙♪◙! Main Body♪◙ 00000420 0D 0A 7A 3D 66 0D 0A 6D 75 6C 78 20 61 2F 38 2F 7A 0D 0A 6D 75 6C 79 20 62 2F 38 0D 0A 0D 0A 20 ♪◙z=f♪◙mulx a/8/z♪◙muly b/8♪◙♪◙ 00000440 20 20 20 20 20 20 21 2D 4F 4C 44 20 61 64 64 78 20 61 2F 32 2B 28 28 31 2D 7A 29 2A 61 2F 28 32 !-OLD addx a/2+((1-z)*a/(2 00000460 2A 7A 29 29 0D 0A 0D 0A 61 64 64 78 20 2D 38 0D 0A 0D 0A 66 6F 72 20 6B 20 3D 20 31 20 74 6F 20 *z))♪◙♪◙addx -8♪◙♪◙for k = 1 to 00000480 7A 0D 0A 20 20 20 67 6F 73 75 62 20 31 0D 0A 20 20 20 61 64 64 78 20 38 0D 0A 6E 65 78 74 20 6B z♪◙ gosub 1♪◙ addx 8♪◙next k 000004A0 0D 0A 65 6E 64 0D 0A 0D 0A 21 20 53 75 62 72 6F 75 74 69 6E 65 20 31 0D 0A 0D 0A 21 20 4F 6E 65 ♪◙end♪◙♪◙! Subroutine 1♪◙♪◙! One 000004C0 20 63 6F 6D 70 6C 65 74 65 20 72 6F 6F 66 20 69 73 20 61 63 74 75 61 6C 6C 79 20 63 6F 6D 70 6F complete roof is actually compo 000004E0 73 65 64 20 6F 66 20 66 6F 75 72 0D 0A 21 20 71 75 61 72 74 65 72 73 2E 20 53 75 62 72 6F 75 74 sed of four♪◙! quarters. Subrout 00000500 69 6E 65 20 32 20 70 6C 6F 74 73 20 6F 6E 6C 79 20 6F 6E 65 20 71 75 61 72 74 65 72 20 6F 66 0D ine 2 plots only one quarter of♪ 00000520 0A 21 20 72 6F 6F 66 20 61 74 20 61 20 74 69 6D 65 2E 20 54 68 69 73 20 62 6C 6F 63 6B 20 6F 66 ◙! roof at a time. This block of 00000540 20 74 68 65 20 70 72 6F 67 72 61 6D 2C 20 74 68 65 72 65 66 6F 72 65 2C 0D 0A 21 20 63 61 6C 6C the program, therefore,♪◙! call 00000560 73 20 73 75 62 72 6F 75 74 69 6E 65 20 32 20 66 6F 75 72 20 74 69 6D 65 73 2C 20 65 61 63 68 20 s subroutine 2 four times, each 00000580 74 69 6D 65 20 72 65 61 72 72 61 6E 67 69 6E 67 20 74 68 65 0D 0A 21 20 6F 75 74 70 75 74 20 73 time rearranging the♪◙! output s 000005A0 6F 20 61 73 20 74 6F 20 70 72 6F 64 75 63 65 20 61 20 63 6F 6D 70 6C 65 74 65 20 72 6F 6F 66 2E o as to produce a complete roof. 000005C0 0D 0A 0D 0A 31 3A 09 67 6F 73 75 62 20 32 0D 0A 09 09 09 6D 75 6C 78 20 2D 31 0D 0A 09 09 09 67 ♪◙♪◙1:○gosub 2♪◙○○○mulx -1♪◙○○○g 000005E0 6F 73 75 62 20 32 0D 0A 09 09 09 61 64 64 79 20 38 0D 0A 09 09 09 6D 75 6C 79 20 2D 31 0D 0A 09 osub 2♪◙○○○addy 8♪◙○○○muly -1♪◙○ 00000600 09 09 67 6F 73 75 62 20 32 0D 0A 09 09 09 6D 75 6C 78 20 2D 31 0D 0A 09 09 09 67 6F 73 75 62 20 ○○gosub 2♪◙○○○mulx -1♪◙○○○gosub 00000620 32 0D 0A 09 09 09 72 65 74 75 72 6E 0D 0A 65 6E 64 0D 0A 0D 0A 21 20 53 75 62 72 6F 75 74 69 6E 2♪◙○○○return♪◙end♪◙♪◙! Subroutin 00000640 65 20 32 0D 0A 0D 0A 21 20 54 68 69 73 20 62 6C 6F 63 6B 20 6F 66 20 74 68 65 20 70 72 6F 67 72 e 2♪◙♪◙! This block of the progr 00000660 61 6D 20 70 6C 6F 74 73 20 6F 6E 65 20 71 75 61 72 74 65 72 20 6F 66 0D 0A 21 20 61 20 63 6F 6D am plots one quarter of♪◙! a com 00000680 70 6C 65 74 65 20 72 6F 6F 66 2E 20 46 69 72 73 74 20 69 74 20 63 61 6C 63 75 6C 61 74 65 73 20 plete roof. First it calculates 000006A0 74 68 65 20 6C 6F 63 61 74 69 6F 6E 20 6F 66 0D 0A 21 20 61 20 73 65 6C 65 63 74 65 64 20 70 6F the location of♪◙! a selected po 000006C0 69 6E 74 73 20 6F 6E 20 74 68 65 20 72 6F 6F 66 2E 20 49 74 20 74 68 65 6E 20 63 6F 6E 6E 65 63 ints on the roof. It then connec 000006E0 74 73 20 74 68 6F 73 65 0D 0A 21 20 6C 69 6E 65 73 20 74 6F 67 65 74 68 65 72 20 69 6E 20 61 20 ts those♪◙! lines together in a 00000700 73 75 72 66 61 63 65 2E 0D 0A 0D 0A 32 3A 20 62 61 73 65 0D 0A 09 09 09 66 20 3D 20 28 65 2D 64 surface.♪◙♪◙2: base♪◙○○○f = (e-d 00000720 29 2F 31 36 20 20 20 20 20 20 20 20 20 21 20 54 68 69 73 20 6C 69 6E 65 20 63 61 6C 63 75 6C 61 )/16 ! This line calcula 00000740 74 65 73 20 74 68 65 20 63 6F 6E 73 74 61 6E 74 20 6F 66 20 74 68 65 0D 0A 09 09 09 09 09 09 09 tes the constant of the♪◙○○○○○○○ 00000760 09 09 09 09 09 09 09 09 21 20 63 75 72 76 65 20 74 68 61 74 20 63 6F 6E 6E 65 63 74 73 20 74 77 ○○○○○○○○! curve that connects tw 00000780 6F 20 70 65 61 6B 20 70 6F 69 6E 74 73 20 74 6F 67 65 74 68 65 72 2E 0D 0A 0D 0A 09 09 09 67 20 o peak points together.♪◙♪◙○○○g 000007A0 3D 20 2D 63 2F 31 36 20 20 20 20 20 20 20 20 20 20 20 20 21 20 54 68 69 73 20 6C 69 6E 65 20 63 = -c/16 ! This line c 000007C0 61 6C 63 75 6C 61 74 65 73 20 74 68 65 20 63 6F 6E 73 74 61 6E 74 20 6F 66 20 74 68 65 0D 0A 09 alculates the constant of the♪◙○ 000007E0 09 09 09 09 09 09 09 09 09 09 09 09 09 09 21 20 63 75 72 76 65 20 74 68 61 74 20 63 6F 6E 6E 65 ○○○○○○○○○○○○○○! curve that conne 00000800 63 74 73 20 74 77 6F 20 67 72 6F 75 6E 64 20 70 6F 69 6E 74 73 20 74 6F 67 65 74 68 65 72 2E 0D cts two ground points together.♪ 00000820 0A 0D 0A 20 20 20 21 20 54 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 63 6F 64 65 20 63 61 6C 63 75 ◙♪◙ ! The following code calcu 00000840 6C 61 74 65 73 20 74 68 65 20 6C 6F 63 61 74 69 6F 6E 20 6F 66 20 70 6F 69 6E 74 73 0D 0A 20 20 lates the location of points♪◙ 00000860 20 21 20 6F 6E 20 74 68 65 20 73 75 72 66 61 63 65 20 6F 66 20 74 68 65 20 72 6F 6F 66 2E 20 54 ! on the surface of the roof. T 00000880 68 65 20 73 74 72 75 63 74 75 72 65 20 6F 66 20 74 68 65 20 72 6F 6F 66 0D 0A 20 20 20 21 20 69 he structure of the roof♪◙ ! i 000008A0 73 20 63 6F 6E 73 74 72 75 63 74 65 64 20 6F 66 20 63 61 62 6C 65 73 20 77 68 69 63 68 20 61 73 s constructed of cables which as 000008C0 73 75 6D 65 20 61 20 70 61 61 72 61 62 6F 6C 69 63 20 73 68 61 70 65 20 77 68 65 6E 0D 0A 20 20 sume a paarabolic shape when♪◙ 000008E0 20 21 20 73 75 62 6A 65 63 74 65 64 20 74 6F 20 74 65 6E 73 69 6F 6E 20 61 6E 64 20 6C 6F 61 64 ! subjected to tension and load 00000900 2E 0D 0A 0D 0A 09 09 09 66 6F 72 20 70 20 3D 20 30 20 74 6F 20 34 0D 0A 09 09 09 09 09 09 68 20 .♪◙♪◙○○○for p = 0 to 4♪◙○○○○○○h 00000920 3D 20 67 2A 28 70 2D 34 29 2A 28 70 2D 34 29 2B 63 0D 0A 09 09 09 09 09 09 69 20 3D 20 66 2A 28 = g*(p-4)*(p-4)+c♪◙○○○○○○i = f*( 00000940 70 2D 34 29 2A 28 70 2D 34 29 2B 64 0D 0A 09 09 09 09 09 09 6A 20 3D 20 28 69 2D 68 29 2F 31 36 p-4)*(p-4)+d♪◙○○○○○○j = (i-h)/16 00000960 0D 0A 09 09 09 09 09 09 66 6F 72 20 6F 20 3D 20 30 20 74 6F 20 34 0D 0A 09 09 09 09 09 09 09 09 ♪◙○○○○○○for o = 0 to 4♪◙○○○○○○○○ 00000980 09 6E 6F 64 65 20 6F 2C 70 2C 68 2B 6A 2A 28 6F 2D 34 29 2A 28 6F 2D 34 29 0D 0A 09 09 09 09 09 ○node o,p,h+j*(o-4)*(o-4)♪◙○○○○○ 000009A0 09 6E 65 78 74 20 6F 0D 0A 09 09 09 6E 65 78 74 20 70 0D 0A 0D 0A 20 20 20 21 20 54 68 69 73 20 ○next o♪◙○○○next p♪◙♪◙ ! This 000009C0 66 69 6E 61 6C 20 62 6C 6F 63 6B 20 6F 66 20 63 6F 64 65 20 63 6F 6E 6E 65 63 74 73 20 6E 6F 64 final block of code connects nod 000009E0 65 20 70 6F 69 6E 74 73 20 6F 6E 20 61 20 72 6F 6F 66 0D 0A 20 20 20 21 20 74 6F 67 65 74 68 65 e points on a roof♪◙ ! togethe 00000A00 72 20 77 69 74 68 20 6C 69 6E 65 73 20 61 6E 64 20 74 68 65 6E 20 63 6F 6E 6E 65 63 74 73 20 74 r with lines and then connects t 00000A20 68 65 20 6C 69 6E 65 73 0D 0A 20 20 20 21 20 74 6F 67 65 74 68 65 72 20 77 69 74 68 20 61 20 73 he lines♪◙ ! together with a s 00000A40 75 72 66 61 63 65 2E 0D 0A 0D 0A 09 09 09 66 6F 72 20 70 20 3D 20 31 20 74 6F 20 32 31 20 73 74 urface.♪◙♪◙○○○for p = 1 to 21 st 00000A60 65 70 20 35 0D 0A 09 09 09 09 09 66 6F 72 20 6F 20 3D 20 30 20 74 6F 20 33 0D 0A 09 09 09 09 09 ep 5♪◙○○○○○for o = 0 to 3♪◙○○○○○ 00000A80 09 6C 69 6E 65 20 70 2B 6F 2C 20 70 2B 6F 2B 31 0D 0A 09 09 09 09 09 09 6E 65 78 74 20 6F 0D 0A ○line p+o, p+o+1♪◙○○○○○○next o♪◙ 00000AA0 09 09 09 09 09 09 6E 65 78 74 20 70 0D 0A 09 09 09 66 6F 72 20 70 20 3D 20 31 20 74 6F 20 32 30 ○○○○○○next p♪◙○○○for p = 1 to 20 00000AC0 0D 0A 09 09 09 09 09 09 6C 69 6E 65 20 70 2C 20 70 2B 35 0D 0A 09 09 09 09 09 09 6E 65 78 74 20 ♪◙○○○○○○line p, p+5♪◙○○○○○○next 00000AE0 70 0D 0A 09 09 09 66 6F 72 20 70 20 3D 20 31 20 74 6F 20 31 36 20 73 74 65 70 20 35 0D 0A 09 09 p♪◙○○○for p = 1 to 16 step 5♪◙○○ 00000B00 09 09 09 09 66 6F 72 20 6F 20 3D 20 30 20 74 6F 20 33 0D 0A 09 09 09 09 09 09 09 09 09 74 72 69 ○○○○for o = 0 to 3♪◙○○○○○○○○○tri 00000B20 20 70 2B 6F 2C 70 2B 6F 2B 31 2C 70 2B 6F 2B 35 0D 0A 09 09 09 09 09 09 09 09 09 74 72 69 20 70 p+o,p+o+1,p+o+5♪◙○○○○○○○○○tri p 00000B40 2B 6F 2B 31 2C 70 2B 6F 2B 35 2C 70 2B 6F 2B 36 0D 0A 09 09 09 09 09 09 6E 65 78 74 20 6F 0D 0A +o+1,p+o+5,p+o+6♪◙○○○○○○next o♪◙ 00000B60 09 09 09 6E 65 78 74 20 70 0D 0A 09 09 09 72 65 74 75 72 6E 0D 0A 65 6E 64 0D 0A 7B 0D 7D 04 00 ○○○next p♪◙○○○return♪◙end♪◙{♪}♦. 00000B80 00 00 00 00 00 00 BF 0E 9C 40 1E 16 6A 41 8F C2 75 3E 00 00 00 00 43 02 09 4C 6F 77 20 50 6F 69 ......┐♫£@▲▬jAÅ┬u>....C☻○Low Poi 00000BA0 6E 74 00 80 BD 8C 00 6A 60 69 00 31 E0 48 00 80 20 00 00 18 00 00 00 00 1E 16 6A 3F 44 02 0A 48 nt.Ç╜î.j`i.1αH.Ç ..↑....▲▬j?D☻◙H 00000BC0 69 67 68 20 50 6F 69 6E 74 80 BD 8C 00 6A 60 69 00 31 E0 48 00 80 20 00 00 18 00 00 00 00 1E 16 igh PointÇ╜î.j`i.1αH.Ç ..↑....▲▬ 00000BE0 EA 3F 45 02 0A 50 65 61 6B 20 50 6F 69 6E 74 80 BD 8C 00 6A 60 69 00 31 E0 48 00 80 20 00 00 18 Ω?E☻◙Peak PointÇ╜î.j`i.1αH.Ç ..↑ 00000C00 00 00 00 00 97 90 2F 40 46 00 08 4E BA 20 52 6F 6F 66 73 6E 74 80 BD 8C 00 6A 60 69 00 31 E0 48 ....ùÉ/@F.◘N║ RoofsntÇ╜î.j`i.1αH 00000C20 00 80 20 00 00 18 00 00 00 00 00 00 40 40 .Ç ..↑......@@