BCrouse
2005-02-10, 04:28 PM
What would cause this Lisp to not work in AutoCAD 2005? Can someone look at this?
Thank you
(defun c:copyxref (/ *error* CMD FD OBJ EN XREF ADD INS SCLX SCLY ROT)
(defun *error* (msg)
(if (or (= msg "Function cancelled")
(= msg "quit / exit abort")
)
(progn
(setvar "cmdecho" CMD)
(setvar "filedia" FD)
(princ)
)
(princ (strcat "\nError: " msg))
)
)
(setq CMD (getvar "cmdecho"))
(setq FD (getvar "filedia"))
(setvar "cmdecho" 0)
(setvar "filedia" 0)
(while (/= OBJ 1)
(setq EN (entsel "\nSelect Xref to insert: "))
(cond
((not EN)
(progn
(cond
((= (getvar "errno") 7) (princ "\nNo Xref selected"))
((= (getvar "errno") 52) (exit))
)
)
)
((/= (cdr (assoc 0 (entget (car EN)))) "INSERT")
(princ "\nNot an Xref")
)
((= 4
(logand
(cdr
(assoc
70
(entget
(tblobjname "block" (cdr (assoc 2 (entget (car EN)))))
)
)
)
4
)
)
(setq OBJ 1)
)
(T (princ "\nNot an Xref"))
)
)
(setq XREF (cdr (assoc 2 (entget (car EN)))))
(setq ADD
(cdr
(assoc 1
(entget
(tblobjname "block" (cdr (assoc 2 (entget (car EN)))))
)
)
)
)
(setq NEWNAME (getstring "\nName of XREF: "))
(setq INS (getpoint "\nSpecify insertion point: "))
(setq SCLX (getreal "\nEnter X scale factor: "))
(setq SCLY (getreal "\nEnter Y scale factor: "))
(setq ROT (getreal "\nSpecify rotation angle: "))
(command "XREF"
"Overlay"
(strcat NEWNAME "=" ADD)
INS
(rtos SCLX)
(rtos SCLY)
(rtos ROT)
)
(exit)
)
Thank you
(defun c:copyxref (/ *error* CMD FD OBJ EN XREF ADD INS SCLX SCLY ROT)
(defun *error* (msg)
(if (or (= msg "Function cancelled")
(= msg "quit / exit abort")
)
(progn
(setvar "cmdecho" CMD)
(setvar "filedia" FD)
(princ)
)
(princ (strcat "\nError: " msg))
)
)
(setq CMD (getvar "cmdecho"))
(setq FD (getvar "filedia"))
(setvar "cmdecho" 0)
(setvar "filedia" 0)
(while (/= OBJ 1)
(setq EN (entsel "\nSelect Xref to insert: "))
(cond
((not EN)
(progn
(cond
((= (getvar "errno") 7) (princ "\nNo Xref selected"))
((= (getvar "errno") 52) (exit))
)
)
)
((/= (cdr (assoc 0 (entget (car EN)))) "INSERT")
(princ "\nNot an Xref")
)
((= 4
(logand
(cdr
(assoc
70
(entget
(tblobjname "block" (cdr (assoc 2 (entget (car EN)))))
)
)
)
4
)
)
(setq OBJ 1)
)
(T (princ "\nNot an Xref"))
)
)
(setq XREF (cdr (assoc 2 (entget (car EN)))))
(setq ADD
(cdr
(assoc 1
(entget
(tblobjname "block" (cdr (assoc 2 (entget (car EN)))))
)
)
)
)
(setq NEWNAME (getstring "\nName of XREF: "))
(setq INS (getpoint "\nSpecify insertion point: "))
(setq SCLX (getreal "\nEnter X scale factor: "))
(setq SCLY (getreal "\nEnter Y scale factor: "))
(setq ROT (getreal "\nSpecify rotation angle: "))
(command "XREF"
"Overlay"
(strcat NEWNAME "=" ADD)
INS
(rtos SCLX)
(rtos SCLY)
(rtos ROT)
)
(exit)
)