明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1925|回复: 6

[求助]如何屏蔽指定字体的对话框

[复制链接]
发表于 2005-6-23 17:14:00 | 显示全部楼层 |阅读模式
在打开DWG文件时,经常会由于找不到字体而弹出一个选择字体的对话框,每次都要点取消才能真正打开图,能不能屏蔽这个对话框?
发表于 2005-6-23 22:28:00 | 显示全部楼层
上次有许多人解答过这个问题,你可以去搜索一下。


对于这个问题,我一直不赞成屏蔽对话框,因为它提示你是因为你没有这种字体,所以屏蔽的方法就是先预设一种字体为万能字体,以替代所有你字库中没有的字体,这样就不会出现对话框了;但这样带来的后果是:图形中可能出现问号,或是文件位置严重错位。你没有遇到这种情况吗?这时最好的解决方法就是找到原字体,或是用相近的字体代替。所以如果屏蔽了对话框,你连你少了哪种字体都不知道,怎么去网上找?字体错位的问题不是个小问题。
 楼主| 发表于 2005-6-24 09:59:00 | 显示全部楼层
我提问题的时候一般都搜索了一下论坛,可是我水平有限,到现在都不知道用什么关键字才能搜索到我要的答案,能不能告知我用什么关键字搜索?谢谢! 我希望用户选择多个DWG文件,我的程序将它们合并成一个DWG文件,最初我的插入文件使用了InsertBlock: block = autoCadApp.ActiveDocument.ModelSpace.InsertBlock(insertPoint,cadFileName,1,1,1,0);
block.Explode(); 此方法有两个问题:
1.当插入的文件比较大(10M),内存占用达到几百M,运行时间也要十几分钟,感觉就像程序死了,而直接用CAD的命令插入文件则很快,内存占用也不大。
2.在Explode时也会将MText炸开成Text,而且图层变成当前图层。 因此我现在使用SendCommand的方法插入文件: string command = string.Format("-insert \"*{0}\"\n0 1 0 ",cadFileName);
autoCadApp.ActiveDocument.SendCommand(command); 此方法也有两个问题:
1.使用SendCommand时,CAD会自动取消隐藏状态,将CAD界面显示出来,用户可以操作CAD,可能导致我程序出现“RPC服务不可用”的错误。
2.用此方法可能会弹出选择字体的对话框,需要人工干预才能继续,所以我想在插入文件前屏蔽选择字体对话框,插入完成后恢复选择字体。 不知道有没有更好的解决方案? BTW:我用的是AutoCAD2002
发表于 2005-6-24 14:19:00 | 显示全部楼层
修改ACAD.FMP文件就能达到楼主要求。
 楼主| 发表于 2005-6-24 18:17:00 | 显示全部楼层
谢谢楼上的提供意见,我在网上搜索了一下ACAD.FMP文件的用法,就是建立了一个字体对照表,但是用户的字体可能是任何名称,建立对照表不可能包含得很全面。而且我这么小的一个软件还要到用户机器上去修改文件,如果用户重现安装CAD也可能会出错。


我只是想临时屏蔽选择文件对话框,不知道有没有更好的办法?
发表于 2005-6-24 19:05:00 | 显示全部楼层
输入:fontalt 然后输入一种字体,找一般CAD自带的,就OK了。 但这只是一个命令。
 楼主| 发表于 2005-6-25 16:35:00 | 显示全部楼层
谢谢WL_207的提示。
我用了 fontalt 命令,指定了“宋体”。
使用“insert”命令,在对话框中选择文件插入,没有弹出选择字体的对话框。
使用“-insert”方法,在命令行中指定插入的文件名,此时还是会弹出选择字体的提示。 我在CAD2000和2002下都试验过了,都是用对话框插入时不会弹出选择字体提示,用命令行模式都会弹出提示。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 09:32 , Processed in 0.172256 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表