home *** CD-ROM | disk | FTP | other *** search
/ Computer Buyer 1998 July / dpcb0798.bin / Creative / Cad / DEMO30 / MACROS.Z / TELLME.d3m < prev    next >
Text File  |  1997-04-15  |  1KB  |  55 lines

  1. 'reserve space for up to 50 points; change as desired
  2. Dim x(50)
  3. Dim y(50)
  4. Dim z(50)
  5.  
  6. 'sys(80) returns the number of objects selected; this is NOT necessarily
  7. ' the number of ENTITIES per se.
  8. if sys(80) <1 then goto leave
  9. message "There are ", sys(80), "objects selected"
  10. for i = 1 to sys(80)
  11.     getselect i,j
  12.     message "Object #",i," is entity number ",j
  13.     entity j
  14.     message "Entity ",j, " is entity type ", sys(90)
  15.     if sys(90) = 32 then gosub grid
  16.     'sys(90) returns the entity type; type 32 is a grid object,
  17.     ' which is composed of multiple grid lines
  18. next i
  19. end
  20.  
  21. grid:
  22. message "This grid contains ", sys(99),"lines"
  23. 'sys(99) is usually the number of points, but for entity type 32 it is
  24. ' the number of grid lines in the grid
  25. count=sys(99)
  26. if count > 50 then count = 50
  27. for k=1 to count
  28.     entity (j+k)
  29.     if sys(90) <> 33 then goto wrong
  30.     'entity type 33 is grid line; for this entity, sys(99) IS the
  31.     ' number of points in the grid line
  32.     pcount=sys(1)
  33.     for L = 1 to pcount
  34.       Pointval x(L) y(L) z(L) L
  35.     next L
  36.     'recreate the grid line 50 units to the right, in blue
  37.     >line
  38.     {
  39.         <color 0,0,255
  40.         for L=1 to pcount
  41.             <PointXYZ [x(L)+50, y(L), z(L)]
  42.         next L
  43.     }
  44. next k
  45. return
  46.  
  47. wrong:
  48. message "not a grid line"
  49. 'this is just armor plate; shouldn't ever get here.
  50. return
  51.  
  52. leave:
  53. message "You should select one or more items and run this program again."
  54. end
  55.