本帖最后由 作者 于 2007-1-3 16:56:29 编辑
我是想做一个点一下图元就可以根据文本在屏幕上显示出性质和层码的程序 现在是有的出错有的不出错,实在是有点晕了,就帮忙看看,先谢过了! (defun c:cc( / cc_file cc_1 cc_2 cc_3 cc_4 cc_5 cc_6 cc_layer cc_he cc_su) (setvar "cmdecho" 0) (vl-load-com) (if(null cc_list) (progn (setq cc_list '()) (setq cc_file(getfiled "clc" "d:\\clc\\clc" "txt" 2)) (setq cc_1(open cc_file "r")) (setq cc_2(read-line cc_1)) (setq cc_3(read(strcat "(" cc_2 ")"))) (while cc_2 (setq cc_list(cons cc_3 cc_list)) (if(setq cc_2(read-line cc_1)) (setq cc_3(read(strcat "(" cc_2 ")"))) ) ) (close cc_1) ) ) (setq cc_4(entsel "\n请选择图元:")) (if cc_4 (progn (setq cc_5(read(cdr(assoc 8(entget(car cc_4)))))) (if (setq cc_6(assoc cc_5 cc_list)) (progn (setq cc_layer (strcat "层码:"(vl-prin1-to-string(car cc_6)))) (setq cc_su(strcat "\n" "性质:" (vl-prin1-to-string(cadr cc_6)))) (setq cc_he(strcat cc_layer cc_su)) ) ) ) ) (if cc_6 (alert cc_he) (alert "\n无该图元层码!!!!!") ) (princ) ) 在 (setq cc_3(read(strcat "(" cc_2 ")")))这句有时出错,各位有更好的办法吗? 如遇961000,或953000时会出错
|