各位大大帮帮忙,下面lisp在2002时用没问题,为何在AutoCAD 2005中改属性文字时,却无法修改,且出现" 错误: ActiveX 伺服器回覆一个错误讯息: 载入类型程式库/DLL 时发生错误。"的字样呢 ;;--------- ;; 命令:EDIT_TXT ;; 功能:改块文字、属性、多行文字 、标注文字 ;;--------- (defun C:EDIT_TXT (/ ENT TYPE_NAME TMP_TXT SEL) (vl-load-com) (defun DO_IT () (entmake (list '(0 . "TEXT") '(100 . "AcDbEntity") '(100 . "AcDbText") '(60 . 1) '(10 0.0 0.0 0.0) '(40 . 0.000000001) (cons 1 (cdr (assoc 1 (entget ENT)))) ) ) (setq TMP_TXT (entlast)) (command "_.DDEDIT" TMP_TXT "") (vla-put-textstring (vlax-ename->vla-object ENT) (cdr (assoc 1 (entget TMP_TXT))) ) (entdel TMP_TXT) ) (princ "\n ***** 可修改│属性文字│标注文字│图块内文字│*****") (if (setq SEL (nentsel "\n 选择文字=>")) (progn (setq ENT (car SEL)) (setq TYPE_NAME (cdr (assoc 0 (entget ENT)))) (cond ((and (= TYPE_NAME "TEXT") (= (length SEL) 4)) (DO_IT) (command "_.REGEN") ) ((wcmatch TYPE_NAME "TEXT,MTEXT,ATTDEF") (if (and (equal TYPE_NAME "MTEXT") (= (length SEL) 4)) (setq ENT (car (last SEL))) ) (command "_.DDEDIT" ENT "") ) ((= TYPE_NAME "ATTRIB") (DO_IT)) ) ) ) (princ) )
|