中易网

cad字体缺少下了个字体库2458个字体也复制到fonts里面了但是打开图片还是显示未找到字体

答案:1  悬赏:70  
解决时间 2021-11-08 12:56
  • 提问者网友:咪咪
  • 2021-11-07 23:28
cad字体缺少下了个字体库2458个字体也复制到fonts里面了但是打开图片还是显示未找到字体
最佳答案
  • 二级知识专家网友:冷風如刀
  • 2021-11-08 00:05
;如果不希望下次出现这个提示的话,使用lsp替换字体的方法,12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152;;自动替换并修改字体样式里面字体;;打开CAD,提示缺少字体,就使用这个命令,保存图纸,以后就不会提示;;修改了一个bug,保证了字体的长度不变(defunC:TT7(/&n1&n2&ss1cd1cd2fontnametxttxtstxtstyle)(setvar"cmdecho"0)(setvar"blipmode"0)(if(nullvlax-dump-object)(vl-load-com))(setqtxts(vla-get-textstyles(vla-get-activedocument(vlax-get-acad-object))))(setq&ss1'())(vlax-fortxttxts(setq&ss1(cons(vla-get-nametxt)&ss1)));取得文字样式集合(while(setqtxt(car&ss1))(setq&ss1(cdr&ss1)TxtStyle(vla-Itemtxtstxt))(if(/=(setqfontname(vla-get-fontfiletxtStyle))"");1;得到字体名称(progn;;1(if(null(setq&n2(findfilefontname)));2;先搜索CAD里面的字体(setq&n2(findfile(strcat"C:\\WINDOWS\\Fonts\\"fontname)));搜索不到的话,搜索系统里面的字体);if;2;搜索字体(if(=&n2nil);21;如果都没有这个字体就修改字体样式(progn(setq&n1(vla-get-widthTxtStyle));取得宽度因子(setqcd1(caadr(textbox(list'(0."TEXT")(cons1"文字长度")'(40.200)(cons41&n1)(cons7txt)'(51.0)))));取得文字长度(vla-put-fontfileTxtStyle"tssdeng.shx");字体修改为tssdeng.shx,这个字体要保证字体库里面有;或者修改为其它字体(setqcd2(caadr(textbox(list'(0."TEXT")(cons1"文字长度")'(40.200)(cons41&n1)(cons7txt)'(51.0)))));取得修改后的文字长度(setq&n1(*&n1(/cd1cd2)))(vla-put-widthTxtStyle&n1);修改宽度因子,保持文字长度不变);progn;21);if;21);progn;1);if;1(if(/=(setqfontname(vla-get-bigfontfileTxtStyle))"");3;得到大字体的名称(progn;;3(if(null(setq&n2(findfilefontname)));搜索大字体(setq&n2(findfile(strcat"C:\\WINDOWS\\Fonts\\"fontname)));如果没有就搜索系统里面的字体);搜索字体(if(=&n2nil);31;如果没有找到这个字体(progn(setq&n1(vla-get-widthTxtStyle));取得宽度因子(setqcd1(caadr(textbox(list'(0."TEXT")(cons1"文字长度")'(40.200)(cons41&n1)(cons7txt)'(51.0)))));取得文字长度(vla-put-bigfontfileTxtStyle"hztxt.shx");修改大字体为hztxt.shx,同时要保证CAD字体库里面有这个字体;或者修改为其它字体(setqcd2(caadr(textbox(list'(0."TEXT")(cons1"文字长度")'(40.200)(cons41&n1)(cons7txt)'(51.0)))));取得修改后的文字长度(setq&n1(*&n1(/cd1cd2)))(vla-put-widthTxtStyle&n1);修改宽度因子,保持文字长度不变);progn;31);if;31);progn;3);if;3);while(if(/=&n1nil)(command"REGEN"));刷新图元(princ));必须有tssdeng.shx,hztxt.shx两个字体,如果没有会出现错误;复制到记事本,以【.lsp】为后缀命名,autolisp加载,命令【TT7】,点击保存dwg文件就可以。下次打开就不会提示,因为修改了字体。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息