求助,请帮忙看下问题出在哪,为什么加载不了?
原先此lisp在32位电脑上可以用,最近换了64位的CAD2012,需要doslib18x64.arx,就加了带背景区域语句就不能用了,高手帮忙看下,为什么?如何修改?谢谢!
;;;load DOSlib
(cond
((= (atoi (substr (getvar "acadver") 1 2)) 16)
(if (not (member "doslib16.arx" (arx)))
(progn
(arxload (findfile "doslib16.arx"))
(arxload (findfile "fpath16.arx"))
)
)
)
((= (atoi (substr (getvar "acadver") 1 2)) 17)
(if (not (member "doslib17.arx" (arx)))
(arxload (findfile "doslib17.arx"))
)
)
)
((= (atoi (substr (getvar "acadver") 1 2)) 18)
(if (not (member "doslib18x64.arx" (arx)))
(arxload (findfile "doslib18x64.arx"))
)
)
)
(defun BLIST (/ BLCHECK BLNAME1)
(setq BLNLIST nil)
(setq BLCHECK (tblnext "BLOCK" T))
(while (/= BLCHECK nil)
(setq BLNAME1 (CDR (ASSOC 2 BLCHECK))
BLNLIST (cons BLNAME1 BLNLIST)
BLCHECK (tblnext "BLOCK")
)
) ;while
)
;;; COPY & RENAME BLOCK BY PICK
(defun C:RB (/ BE BONAME BTYPE BNNAME BONAME2 BP1)
(While (/= BTYPE "INSERT")
(setq BE (car (entsel "Pick BLOCK to Copy & Rename:"))
BTYPE (cdr (assoc 0 (ENTGET BE)))
)
(if (/= BTYPE "INSERT")
(princ "\nNot a Block! Please select a Block.\n")
)
)
(setq BONAME (cdr (assoc 2 (ENTGET BE)))
BP1 (cdr (assoc 10 (ENTGET BE)))
BNNAME BONAME
)
(BLIST)
(while (/= (member BNNAME BLNLIST) nil)
(setq BNNAME (dos_getstring
"NEW Block Name : "
(strcat "OLD Block Name : " BONAME)
BNNAME
)
)
)
(if (= BNNAME nil)
(exit)
)
(command ".UNDO" "BE")
(command "_.explode" BE "")
(command "_copybase" BP1 "P" "")
(command "_erase" "p" "")
(command "_pasteblock" BP1)
(setq BONAME2 (cdr (assoc 2 (entget (entlast)))))
(if (= (getvar "cmdecho") 1)
(setvar "cmdecho" 0)
)
(command "-rename" "block" BONAME2 BNNAME)
(command ".UNDO" "END")
(princ)
)
应是 (cond ....) 段
多了 ")" 好像不是,我只要把那带背景段删除就可以加载了……
请帮忙…… Try...
(cond
((= (atoi (substr (getvar "acadver") 1 2)) 18)
(if (not (member "doslib18x64.arx" (arx)))
(arxload (findfile "doslib18x64.arx"))
)
)
((= (atoi (substr (getvar "acadver") 1 2)) 16)
(if (not (member "doslib16.arx" (arx)))
(progn
(arxload (findfile "doslib16.arx"))
(arxload (findfile "fpath16.arx"))
)
)
)
((= (atoi (substr (getvar "acadver") 1 2)) 17)
(if (not (member "doslib17.arx" (arx)))
(arxload (findfile "doslib17.arx"))
)
)
)
可以了,谢谢!
页:
[1]