以前我下载了这样一个程序, (vl-load-com) (defun c:tzzb () (setvar "cmdecho" 0) (setq ent (car (entsel "\n选择一条多义线"))) (if (= (setq str (getstring "\n输入起始的桩号<J1>:")) "") (setq str "J1") ) (command "zoom" "all") (command "zoom" "0.5x") (setq obj (vlax-ename->vla-object ent)) (vla-offset obj -1) (setq ent1 (entlast)) (vla-offset obj 1) (setq ent2 (entlast)) (setq lst1 (point-lst ent1) lst2 (reverse (point-lst ent2)) lst (append lst1 lst2) k 0 ) (command "select" "cp") (while (setq point (nth (setq K (1+ k)) lst)) (command point) ) (command "" "") (setq ss (ssget "p" '((0 . "INSERT")) ) ) (entdel ent1) (entdel ent2) (setq j -1 lst3 '() ) (while (setq ent4 (ssname ss (setq j (1+ j)))) (setq lst3 (append (list (cdr (assoc 10 (entget ent4)))) lst3)) ) (setq lst3 (vl-sort lst3 '(lambda (a b) (> (vlax-curve-getParamAtPoint obj a) (vlax-curve-getParamAtPoint obj b) ) ) ) ) (setq k -1) (setq text-point (getpoint "\n输入一个起点:")) (setq num (atoi (substr str 2)) loop T ) (setvar "TEXTSTYLE" "WMF-宋体0") (while (setq point (nth (setq k (1+ k)) lst3)) (setq x (car point) y (cadr point) ) (setq tex (strcat "J" (rtos (+ num k)) " " (rtos x) " " (rtos y) ) ) (if loop (progn (command "text" text-point 5.5 "" tex) (setq loop nil) ) (command "text" "" tex) ) ) (setvar "cmdecho" 1) (princ) ) ;;;子函数 (defun point-lst (ent00 / obj00 lst00 lst01 i) (setq obj00 (vlax-ename->vla-object ent00)) (setq lst00 (vlax-get obj00 'Coordinates)) (setq i 0 lst01 '() ) (repeat (/ (length lst00) 2) (setq lst01 (cons (list (nth i lst00) (nth (1+ i) lst00)) lst01) ) (setq i (+ i 2)) ) lst01 ) 以前用这个程序还好好的,现在在用时却出现了以下这个问题 命令: tzzb 选择一条多义线 输入起始的桩号<J1>: 输入一个起点:; 错误: AutoCAD 变量设置被拒绝: "TEXTSTYLE" "WMF-宋体0" 真不知道该怎样解决?大家帮个忙吧!先谢谢大家了! |