home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 June A / Pcwk6A98.iso / Wtestowe / Easycad / ECAD.MA_ / ECAD.MA
Text File  |  1995-11-29  |  3KB  |  261 lines

  1. \\* sample EasyCAD for Windows macros *\\
  2. \\* only text betwen MACRO/ENDM gets executed
  3.  
  4. macro match
  5. ecoff
  6. gp p1 ^DPick entity to match:
  7. IFERR done
  8. setlayer like;p1
  9. setstyle like;p1
  10. color like;p1
  11. :done
  12. econ
  13. endm
  14.  
  15. macro matchfont
  16. ecoff
  17. tspecf like;^DPick text to match:
  18. econ
  19. endm
  20.  
  21. macro bricks
  22. ecoff
  23. newstyle transparent bricks
  24. 1+2+4;;;;9;;;
  25. setstyle transparent bricks
  26. box ^DBox corner:
  27. econ
  28. endm
  29.  
  30. \\* Demonstrates select by commands in macros
  31.      Draw something, then type spokes! *\\
  32. macro spokes
  33. ecoff
  34. selsave
  35. selbyp
  36. cary 7;;@0,0;@0,0;
  37. selrest
  38. zext
  39. econ
  40. endm
  41.  
  42. \\*Divide macro (updated from EasyCAD 2.72) *\\
  43. macro DIVIDE
  44. ecoff
  45. GP PickPt ^DSelect entity:
  46. IFERR Done
  47. GN Seg ^DNumber of segments?
  48. IFERR Done
  49. IFZ Seg Done
  50. GV Spc 100/Seg
  51. GN Seg Seg-1
  52. IFZ Seg Done
  53. GV Pct 0
  54. GBRNG Ang % 0 PickPt % 100 PickPt
  55. GDIST Len % 0 PickPt % 100 PickPt
  56. GV Ang Ang+90
  57. GV Len Len/20
  58. :Loop
  59. GV Pct Pct+Spc
  60. GP InsPt % Pct PickPt
  61. line REF InsPt <Ang,len/2 ~180,Len;
  62. GN Seg Seg-1
  63. IFP Seg Loop
  64. :Done
  65. econ
  66. endm
  67.  
  68. \\* try SPIRAL 0,0 10 2 0.02
  69. macro SPIRAL
  70. ecoff
  71. gp p1 ^Dorigin
  72. IFERR Done
  73. gv angd ^Dangle delta
  74. IFERR Done
  75. gv dist ^Dlength
  76. IFERR Done
  77. gv distd ^Drate
  78. IFERR Done
  79. gv ang 0
  80. point p1;
  81. :Again
  82. line @0,0;<ang,dist;
  83. gv dist dist-distd
  84. gv ang ang+angd
  85. IFP dist again
  86. zext
  87. :Done
  88. econ
  89. ENDM
  90.  
  91. //* Macros that test various text commands
  92.     and macro facilities *//
  93.  
  94. macro testlines
  95. ecoff
  96. gp P1 ^DLine start:
  97. IFERR Done
  98. gp P2 ^DLine end:
  99. IFERR Done
  100. gdist $D P1 P2
  101. gbrng $A P1 P2
  102. line P1 P2 ~$A,$D ~$A,$D ~$A,$D;
  103. :Done
  104. econ
  105. endm
  106.  
  107. macro testpart
  108. ecoff
  109. gp P1 ^D Insert at:
  110. IFERR Done
  111. partm #square .5 45 P1;
  112. :Done
  113. econ
  114. endm
  115.  
  116. macro test2
  117. gv a ^D
  118. IFERR quit
  119. gv b ^D
  120. IFERR quit
  121. ecoff
  122. gv x1 a+b
  123. gv y1 a-b
  124. gv x2 0-a-b
  125. gv y2 b-a
  126. gp p1 x1,y1
  127. gp p2 x2,y2
  128. box p1 p2
  129. zext
  130. :quit
  131. econ
  132. endm
  133.  
  134. macro test3
  135. ecoff
  136. gp _P1 ^DPut box at:
  137. IFERR Done
  138. getx a _P1
  139. gety b _P1
  140. setstyle solid fill
  141. box a,b b,a
  142. zext
  143. :Done
  144. econ
  145. endm
  146.  
  147. macro TestText
  148. ecoff
  149. gp p1 ^DText origin:
  150. IFERR Done
  151. tspech 0.5
  152. tspecf Times New Roman
  153. tspecj 4
  154. tspecs 16+32
  155. textm Middle-centered bold italic text?
  156. P1
  157. :Done
  158. econ
  159. endm
  160.  
  161. Macro TestVarText
  162. ecoff
  163. gp p1 ^DText origin:
  164. IFERR Done
  165. gw UName Charles
  166. tspech 0.5
  167. tspecf Courier
  168. textm UName
  169. P1
  170. :Done
  171. econ
  172. endm
  173.  
  174.  
  175. //* These two drive Select dialogs w/single
  176.      keypresses (but the SelBy commands
  177.      as shown in Spokes, above, are easier *//
  178.  
  179. macro MoveAll
  180. ecoff
  181. move AD 0,0 3,2
  182. econ
  183. endm
  184.  
  185. macro MoveGreen
  186. ecoff
  187. move C 1
  188. D0,0 -3,-2
  189. econ
  190. endm
  191.  
  192. //* Assigning values and commands 
  193.     to function keys. Note: fkeys can also 
  194.     be defined through menu file. *//
  195.  
  196. MACRO SF2
  197. color 2
  198. ENDM
  199.  
  200. MACRO CF3
  201. color 3
  202. ENDM
  203.  
  204. MACRO SCF12
  205. color red
  206. ENDM
  207.  
  208. MACRO aaa
  209. LINE ^Dstart:
  210. @1,1;
  211. ENDM
  212.  
  213. MACRO Q
  214. 4,5
  215. ENDM
  216.  
  217. MACRO gc
  218. COLOR ^D
  219. ENDM
  220.  
  221. \* Try "a red" for nested macros, live input, that input expanded
  222. \* Try "a" then pick color in cbar 
  223.  
  224. MACRO a
  225. gc
  226. LINE 2,2 10,2;
  227. ENDM
  228.  
  229. \* Proof that macro "c" picks the right :CC label
  230.  
  231. MACRO b
  232. line 3,3 4,4;
  233. :CC
  234. line 4,3 5,5;
  235. ENDM
  236.  
  237. \* fwd & back GOTO & EXITM works if line drawn in color 10
  238. \* omit ; after line cmd and EXITM is gobbled - endless loop
  239.  
  240. MACRO c
  241. color 8
  242. GOTO CC
  243. :BB;line 2,2 10,2;
  244. EXITM
  245. :CC
  246. COLOR 10
  247. GO BB
  248. ENDM
  249.  
  250. \* red,green,blue text macros for use with COLOR command
  251.  
  252. macro red
  253. 2
  254. endm
  255. macro blue
  256. 3
  257. endm
  258. macro green
  259. 1
  260. endm
  261.