cad图纸中的组显示的文字是问号,如何把问号改为能显示的文字?
发布网友
发布时间:2022-04-24 22:21
我来回答
共5个回答
热心网友
时间:2023-10-13 06:01
文字有问号,一般是缺少字体的缘故。可以增加字体。
修改字体样式里面的字体,修改后会显示问号。
字体样式很多,修改很麻烦,那么使用插件来解决,选择问号字体,命令【KK4】,就修改了字体样式。代码如下,附件里面有这两个字体及程序,修改后就会显示文字内容。
(defun C:kk4 ( / &k1 &kw1 &n1 &ss1 cd1 cd2 fontname txt txts txtstyle)
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(if (null vlax-mp-object) (vl-load-com) )
(setq txts (vla-get-textstyles (vla-get-activedocument (vlax-get-acad-object))))
(princ "\n请选择带?的字体")
(if (setq &kw1 (ssget '((0 . "TEXT,MTEXT"))))
(progn
(setq &ss1 '() &n1 0)
(while (setq &k1 (ssname &kw1 0))
(setq &kw1 (ssdel &k1 &kw1))
(setq txt (cdr (assoc 7 (entget &k1))))
(if (= &n1 0)
(setq &ss1 (cons txt &ss1))
(if (null (member txt &ss1)) (setq &ss1 (cons txt &ss1)) )
)
(setq &n1 (1+ &n1))
);while
(setq &n1 nil)
(while (setq txt (car &ss1))
(setq &ss1 (cdr &ss1) TxtStyle (vla-Item txts txt))
(if (and (/= (setq fontname (vla-get-fontfile txtStyle)) "") (/= fontname "tssdeng.shx")) ;1;得到字体名称
(progn;;1
(setq &n1 (vla-get-width TxtStyle));取得宽度因子
(setq cd1 (caadr (textbox (list '(0 . "TEXT") (cons 1 "文字长度") '(40 . 200) (cons 41 &n1) (cons 7 txt) '(51 . 0)))));取得文字长度
(vla-put-fontfile TxtStyle "tssdeng.shx");字体修改为tssdeng.shx,这个字体要保证字体库里面有;或者修改为其它字体
(setq cd2 (caadr (textbox (list '(0 . "TEXT") (cons 1 "文字长度") '(40 . 200) (cons 41 &n1) (cons 7 txt) '(51 . 0)))));取得修改后的文字长度
(setq &n1 (* &n1 (/ cd1 cd2)))
(vla-put-width TxtStyle &n1);修改宽度因子,保持文字长度不变
);progn;1
);if;1
(if (or (and (/= (setq fontname (vla-get-bigfontfile TxtStyle)) "") (/= fontname "hztxt.shx")) (= fontname "")) ;3;得到大字体的名称
(progn;;3
(setq &n1 (vla-get-width TxtStyle));取得宽度因子
(setq cd1 (caadr (textbox (list '(0 . "TEXT") (cons 1 "文字长度") '(40 . 200) (cons 41 &n1) (cons 7 txt) '(51 . 0)))));取得文字长度
(vla-put-bigfontfile TxtStyle "hztxt.shx");修改大字体为hztxt.shx,同时要保证CAD字体库里面有这个字体;或者修改为其它字体
(setq cd2 (caadr (textbox (list '(0 . "TEXT") (cons 1 "文字长度") '(40 . 200) (cons 41 &n1) (cons 7 txt) '(51 . 0)))));取得修改后的文字长度
(setq &n1 (* &n1 (/ cd1 cd2)))
(vla-put-width TxtStyle &n1);修改宽度因子,保持文字长度不变
);progn;3
);if;3
);while
(if (/= &n1 nil) (command "REGEN"));刷新图元
)
)
(princ)
);必须有tssdeng.shx,hztxt.shx两个字体,如果没有会出现错误
;复制到记事本,以【.lsp】为后缀命名,autolisp加载,命令【KK4】,点击保存就可以。
热心网友
时间:2023-10-13 06:01
修改文字样式,不会修改发我,244*134*5691
热心网友
时间:2023-10-13 06:02
进入编辑组,然后刷一下字体样式,刷成你能显示的字体
热心网友
时间:2023-10-13 06:02
字体替换,或者去机械村下载个CAD字体包
热心网友
时间:2023-10-13 06:03
炸开然后改一下字体