home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / m / m066 / 1.img / 2DMISC.ZIP / IBEAM.MSY < prev    next >
Encoding:
Text File  |  1988-02-08  |  4.3 KB  |  141 lines

  1. ! I-Beam with Reference at Bottom Left
  2. !! 
  3. !!    Double Exclamations are Internal Comments
  4. !!    Single Exlamation is Displayed on Screen
  5. !!
  6. !!    The First Line if Started with ! will be Displayed 
  7. !!        Before Selection of the Reference.
  8. !!        The Reference is considered to be the local origin.
  9. !!
  10. !!    Users will be prompted for any undefined variable.
  11. !!    It is tidier for the macro to prompt for all variables
  12. !!        at the start.
  13. !!    Variables may be unset by assigning it with a value of
  14. !!         -1.E18.
  15. !!
  16. !!    Variables starting with % are QikDraw Reserved.
  17. !!
  18. %MINVAL=1.E-19
  19. %MAXVAL=1.E4
  20. %DEFAULT=40
  21. !!     DEFAULT is the Default value for Prompts
  22. !!     MINVAL and MAXVAL Defines the Allowable Range
  23. !!     
  24. !!     Other Specifications supported are:-
  25. !!        %PEN=val       For Pen Number (0-63)
  26. !!        %STYLE=val     For Line Style (1-9)
  27. !!        %THICKNESS=val For Line Thickness (1-9) as on menu
  28. !!        %TERMINATORS=val1,val2,val3,val4
  29. !!                     val1,val3 are terminator options (1-15)
  30. !!                     val2,val4 are terminator size
  31. !!
  32. !!     Examples of use shown in IBEAM2.MSY
  33. !!
  34. !!     For obtaining information from the screen drawing,
  35. !!     the following commands can be used:-
  36. !!        %GETPOINT      Puts the co-ordinates of the point
  37. !!                       located interactively into #0.
  38. !!        %GETLINE       Puts the co-ordinates of the end
  39. !!                       points of the line located into _0.
  40. !!        %GETCIRCLE     Puts the co-ordinated of the centre,
  41. !!                       start and end points of the circle 
  42. !!                       located into @0.
  43. !!        Note that all co-ordinates stored are relative to the
  44. !!        origin (reference point), and that #0, _0 and @0
  45. !!        are resereved variables. Values in @0, _0 and @0
  46. !!        can be assigned to other variables for further use.
  47. !! 
  48. !!     Also, for debugging macros, users can include PRINT
  49. !!     statements, the format is
  50. !!        %PRINT(description)=val1,val2 
  51. !!              description may be up to 30 characters not
  52. !!                 containing '=';
  53. !!              the = sign must be present before the values;
  54. !!              there can be up to two values (expressions) printed
  55. !!
  56. ! Define Breadth of I-Beam
  57. B
  58. ! Define Height of I-Beam
  59. %DEFAULT=90
  60. H
  61. ! Define Flange Thickness of I-Beam
  62. %MAXVAL=H/2
  63. %DEFAULT=5
  64. F
  65. ! Define Web Thickness of I-Beam
  66. %MAXVAL=B*0.9
  67. %DEFAULT=3
  68. W
  69. ! Define Fillet Radius of I-Beam
  70. %MAXVAL=(B-W)/2
  71. %DEFAULT=2
  72. R
  73. !!
  74. !!    _ Indicates the Insertion of a Line (Normally 4 Parameters)
  75. !!    _ Followed by Alpha-Numeric Allows for the Assignment
  76. !!      of Sub-Variables.
  77. !!
  78. !!    # Indicates a Point
  79. !!    #2 represents all sub-variables assigned for the
  80. !!       group. In the following code, #2 will include
  81. !!       #2.1 (The First Part) and #2.2 (The Second Part).
  82. !!
  83. _=0,0,0,F
  84. #3=(B-W)/2,F+R
  85. #2=#3.1-R,F
  86. #1=#2.1,#3.2
  87. _=0,F,#2
  88. !!
  89. !!    @ Indicates a Circle, similar to Line.
  90. !!      It can have 4, 6 or 9 Sub-Variables.
  91. !!      If 4, It is Circle with Centre and Start Point
  92. !!         6, It is Arc with Centre, Start and End Points
  93. !!         9, The Last 3 Para are The Major Axis Point 
  94. !!            and Ratio for Ellipses
  95. !!
  96. @=#1,#2,#3
  97. #4=#2.1,H-F-R
  98. #5=#3.1,#4.2
  99. #6=#4.1,H-F
  100. _=#3,#5
  101. @=#4,#5,#6
  102. !!
  103. !!    When Line Specified with 2 Parameters, Start is
  104. !!         From Last Position
  105. !!
  106. _=#6,0,H-F
  107. _=0,H
  108. _=B,H
  109. _=B,H-F
  110. #9=#5.1+W,#5.2
  111. #7=#9.1+R,#9.2
  112. #8=#7.1,#6.2
  113. _=B,H-F,#8
  114. @=#7,#8,#9
  115. #11=#9.1,#3.2
  116. #10=#7.1,#3.2
  117. #12=#10.1,#2.2
  118. _=#9,#11
  119. @=#10,#11,#12
  120. _=#12,B,F
  121. _=B,0
  122. _=0,0
  123. !!      Loops are supported by an IF test
  124. !!      The general format is:-
  125. !!          %IF;[expression][operator][expression];[label]
  126. !!
  127. !!      The operators supported are:-
  128. !!          =        Equal
  129. !!          <>,><    Not Equal
  130. !!          >        Greater than
  131. !!          <        Less than
  132. !!          >=,=>    Greater than or equal to
  133. !!          <=,=<    Less than or equal to
  134. !!
  135. !!      If the test condition is fulfilled, the macro will
  136. !!      continue execution at the statement [label].
  137. !!      Labels must start in column one (same for the %IF
  138. !!      statement) and must begin with %%.
  139. !!
  140. !!      Examples of use of loops are shown in IBEAM2.MSY.
  141.