-
命令【style】,在字体样式里面查看并统计字体。
-
用autolisp程序插件查看使用的字体,代码如下:
-
- (defun C:tes ( / &n2 &ss1 fontname ss1 ss2 txt txts txtstyle)
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(if (null vlax-dump-object) (vl-load-com) )
(setq txts (vla-get-textstyles (vla-get-activedocument (vlax-get-acad-object))))
(setq &ss1 '())
(vlax-for txt txts
(setq &ss1 (cons (vla-get-name txt) &ss1))
);取得文字样式集合
(setq ss1 '() ss2 '())
(while (setq txt (car &ss1))
(setq &ss1 (cdr &ss1) TxtStyle (vla-Item txts txt))
(if (/= (setq fontname (vla-get-fontfile txtStyle)) "");1;得到字体名称
(progn;;1
(if (null (setq &n2 (findfile fontname)));2;先搜索CAD里面的字体
(setq &n2 (findfile (strcat "C:\WINDOWS\Fonts\" fontname)));搜索不到的话,搜索系统里面的字体
);if;2;搜索字体
(setq ss1 (cons fontname ss1))
(if &n2;21;如果有这个字体
(setq ss2 (cons fontname ss2))
);if;21
);progn;1
);if;1
(if (/= (setq fontname (vla-get-bigfontfile TxtStyle)) "");3;得到大字体的名称
(progn;;3
(if (null (setq &n2 (findfile fontname)));搜索大字体
(setq &n2 (findfile (strcat "C:\WINDOWS\Fonts\" fontname)));如果没有就搜索系统里面的字体
);搜索字体
(setq ss1 (cons fontname ss1))
(if &n2;31;如果有找到这个字体
(setq ss2 (cons fontname ss2))
);if;31
);progn;3
);if;3
);while
(if (> (length ss1) 0) (progn (princ "n图纸里面使用的字体: ") (princ ss1) ))
(if (> (length ss2) 0) (progn (princ "nfonts文件夹里面的字体有: ") (princ ss2) ))
(princ)
);复制到记事本,以【.lsp】为后缀命名,autolisp加载,命令【TES】,在命令行查看使用的字体。
- (defun C:tes ( / &n2 &ss1 fontname ss1 ss2 txt txts txtstyle)