Metropoli BBS
VIEWER: 13020ptr.gsm MODE: BINARY (HEX)
==============================================================================================================================================
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=fmulx a/8/zmuly 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 -8for 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 8next 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 2mulx -1g
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 2addy 8muly -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 2mulx -1gosub 
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  2returnend! 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: basef = (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 4h 
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)+ci = 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)+dj = (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 onext 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 5for 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+1next 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 pfor 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+5next 
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  pfor 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 3tri
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+5tri 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+6next 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 preturnend{}.
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>....CLow 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?DH
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  Ω?EPeak 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                                                          .Ç ........@@
[ RETURN TO DIRECTORY ]