|
|
发表于 2012-11-5 14:59:13
|
显示全部楼层
来自: 中国辽宁
本帖最后由 woaishuijia 于 2012-11-5 15:03 编辑
* a. F) P) |' e$ d: l2 E
3 G; N+ N6 N+ m7 r4 T x6 W先答复3楼,用这段代码的前提是安装了VBA模块.用"VBAIDE"命令打开VBA编辑器,双击"工程资源管理器"中的"ThisDrawing"对象,就会弹出"Code"窗口,粘贴就可以了.9 y! g# Q5 N% b( i' ]
不过之前没注意到楼主是台湾朋友,听说那边用VBA的不多,所以不能确定这段代码对你是否有用.
6 N& D4 x) r6 S+ w5 B2005及以前版本修改MNU文件也是一个办法,2006以后就没有这个文件了,因为CAD的自定义内容更多更复杂,因而采用其它文件格式了.不过这也没关系,可以在自定义对话框中修改.只要在某个用于标注的工具栏按钮的命令宏中添加一段用于更改图层的命令和参数就行了.比如,"线性标注"命令(dimlinear),打开自定义对话框,找到"标注"工具栏,再找到"线性"按钮,可以看到其命令宏是"^C^C_dimlinear "(注意,对话框中没有双引号;命令宏中最后一个字符是一个空格--这相当于在命令行中输入回车),现在可以把它改成"^C^C_-layer s Dim dimlinear ",这个宏的意思就是相当于在命令行选输入"-layer"命令(即"layer"命令的命令行形式),回车,再输入"s"关键字,回车,再输入图层名,回车,回车,"dimlinear"命令,回车.: g4 S% A) w( z, F
使用这种办法需要对每个涉及到的标注命令都更改一遍,麻烦.而且还要事先做备份,以防备万一.所以本人和5楼(也是来自台湾的朋友,很擅长LISP)一样,更喜欢用外部程序(插件). P! j- x% r1 j; x, t: ]0 \- d
5楼提供的LISP程序我没有看.我想道理和上面自定义命令宏应该是一样的,所以才会发生版本问题.由于LISP更多的是直接调用CAD图形界面的命令,而CAD图形界面的命令又在不断升级更新中,导致LSP代码经常不能适应新版本CAD.不过,由于ActiveX的内容相对稳定,用VLSP的反应器和GET,PUT函数(和2楼的VBA代码采用同样的方法)问题应该会减少很多 |
评分
-
查看全部评分
|