home *** CD-ROM | disk | FTP | other *** search
/ Current Shareware 1994 January / SHAR194.ISO / cad_util / v8n7_cad.zip / ADDINFO.LSP next >
Lisp/Scheme  |  1993-07-26  |  2KB  |  44 lines

  1. (defun C:ADDINFO ()
  2.   (setq ename (car (entsel "\nSelect ROOM NO: ")))
  3.   (setq xlist (list))
  4. ; make sure a text entity is selected
  5.   (if (and ename 
  6.            (= (cdr (assoc 0 (setq elist (entget ename))))
  7.               "TEXT"))
  8.     (progn
  9.       (redraw ename 3) ; highlight the entity
  10.       (setq addname (car (entsel "\nSelect FIXTURE: ")))
  11.       (while addname
  12.         (if (= (cdr (assoc 0 (setq addlist (entget
  13.             addname)))) "INSERT")
  14.           (progn
  15.             (redraw addname 3)
  16.             (setq schno (getstring "\nEnter SCHEDULE: "))
  17. ; establish strings for Xdata
  18.             (setq hand (cdr (assoc 5 addlist))
  19.                   name (cdr (assoc 2 addlist))
  20.                   ptno (strcat (substr name 1 2) schno))
  21. ; establish dotted pairs
  22.             (setq blhand (cons 1005 hand)
  23.                   blname (cons 1000 name)
  24.                   blptno (cons 1000 ptno))
  25. ; create Xdata list to add to entity
  26.             (setq data (list blhand blname blptno))
  27.             (setq xlist (append xlist data))
  28.             (prompt (strcat "\n     FIXTURE: " name " SCHEDULE: " ptno))
  29.             (redraw addname)
  30.           ); progn for selection
  31.           (prompt "\nFIXTURE not selected.")
  32.         ); if for selecting fixture
  33.         (setq addname (car (entsel "\nSelect FIXTURE / RETURN to exit: ")))
  34.       ); while for selection of fixtures
  35. ; create Xdata list to use for entity modification
  36.       (setq xlist (list (list -3 (cons "COSTLY_INVENTORY" xlist))))
  37.       (setq elist (append elist xlist))
  38.       (entmod elist)
  39.     )
  40.     (prompt "\nROOM NO. not selected.")
  41.   ); if
  42.   (prin1)
  43. )
  44.