Legal
notices:
- This sample program is intended as a demonstration only.
- The program is available on an 'as-is' basis with no warranties,
either expressed or implied, of any kind.
- You may use the program only at your own risk.
- No license or rights to the program are either given or forfeited.
Everything that follows is direct and unaltered output from the LISP
Generator.
; This program was created on December 9 2006 using the LISP Generator.
; Define the function (the program).
(defun c:FILE2BLOCKS ( / FN1 FL1 DATA-STR I DATA-LIST XX YY ZZ ATT1
ATT2 PT1 OLDCE OLDERR OLDTE)
; Save the current value of cmdecho then redefine it.
(setq OLDCE (getvar "cmdecho"))
(setvar "cmdecho" 1)
; Save the current value of texteval then set it to 1
(setq OLDTE (getvar "texteval"))
(setvar "texteval" 1)
; Save the current value of the error handling subroutine then
redefine it.
(setq OLDERR *error*)
(defun *error* (errmes)
(princ (strcat "\nExecution of FILE2BLOCKS halted by
the following error: " ERRMES))
(setvar "cmdecho" OLDCE)
(setq *error* OLDERR)
(prin1)
)
;(setq *error* nil)
; NOTE: to turn error handling off, erase the semicolon in the
line above.
; GET a FILE from the user and store it in FN1. 
(setq FN1 (getfiled "File to read" "" "" 12))
; OPEN file FN1 for reading as FL1.
(setq FL1 (open FN1 "r"))
; BEGIN LOOP loop1.
; LOOP by STEPPING THROUGH the LINES of the FILE FL1, storing
them in DATA-STR. 
(setq I -1)
(while (setq DATA-STR (read-line FL1))
(setq I (1+ I))
; OPERATION - store the result in DATA-LIST.
(setq DATA-LIST (READ (STRCAT "(" DATA-STR ")")))
; OPERATION - store the result in XX.
(setq XX (NTH 0 DATA-LIST))
; OPERATION - store the result in YY.
(setq YY (NTH 1 DATA-LIST))
; OPERATION - store the result in ZZ.
(setq ZZ (NTH 2 DATA-LIST))
; OPERATION - store the result in ATT1. 
(setq ATT1 (NTH 3 DATA-LIST))
; OPERATION - store the result in ATT2.
(setq ATT2 (NTH 4 DATA-LIST))
; OPERATION - store the result in PT1.
(setq PT1 (LIST XX YY ZZ))
; Input to AutoCAD's command line.
(command
"insert"
"test"
PT1
""
""
""
ATT1
ATT2
)
) ; END LOOP loop1.
; Reset "cmdecho" to previous value. 
(setvar "cmdecho" OLDCE)
; Reset "texteval" to previous value.
(setvar "texteval" OLDTE)
; Reset *error* to previous definition.
(setq *error* OLDERR)
; Exit quietly (no return value.)
(prin1)
)