;;;---------------------------------------------------------------------------; ;;; FILENAME: EXDATA.lsp ;;; ;;; Copyright (C) 2000 by John Atkinson ;;; ;;; Created by John Atkinson 27/5/97 ;;; ;;; ;;; THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ;;; ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF ;;; MERCHANTABILITY ARE HEREBY DISCLAIMED. ;;; ;;; By: John Atkinson ;;; ;;; ;;;---------------------------------------------------------------------------; ;;; MODIFICATION HISTORY ;;; V1.0 ;;; ;;;---------------------------------------------------------------------------; ;;; DESCRIPTION ;;; THIS ROUTINE WILL ENABLE THE USER TO EXTRACT ATTRIBUTES FROM A BLOCK ;;; AND PRINT OUT THE ATTRIBUTES TO THE SCRREN AT A SELECTED LOCATION POINT ;;; ;;;---------------------------------------------------------------------------; (defun C:EXDATA () (graphscr) (setvar "cmdecho" 0) (setvar "attdia" 0) (setq COUNT 0) (setq PT1 (getpoint "Pick insertion point for list: ")) (setq EN (entsel "\nSelect block to extract data from..")) (setq EN (car EN)) (setq EN (entnext EN)) (setq ED (entget EN)) (while (/= (cdr (assoc 0 ED)) "SEQEND");check if end sequence appears (setq DATA (cdr (assoc 1 ED))) (setq TAGS (cdr (assoc 2 ED))) (setq DTA (strcat TAGS " " "=" " " DATA)) (progn (command "text" PT1 "2.5" "0" DTA);displays tag data (setq PT2 (cadr PT1)) (setq PTX (car PT1)) (setq PTY (- PT2 10)) (setq PT1 (list PTX PTY));sets new coordinates for printing ) (setq EN (entnext EN)) (setq ED (entget EN));moves to next attribute ) ; (setq COUNT (1+ COUNT)) (princ) )