求助,关于设置系统变量
R14版本的VBA中,标注的一些属性只能用系统变量来修改以下是我对标注的要求,用系统变量来写的:
AcadApp.ActiveDocument.SetVariable "DIMASZ", 2.5
AcadApp.ActiveDocument.SetVariable "DIMTXT", 3.5
AcadApp.ActiveDocument.SetVariable "DIMTIH", False
AcadApp.ActiveDocument.SetVariable "DIMTOH", False
AcadApp.ActiveDocument.SetVariable "DIMTAD", 1
问题是,我把这些代码放在什么位置?我把代码放在程序打开CAD之后,绘制标注之前,或者放在绘制标注之后,刷新标注之前,都不行。多谢! http://www.vba.cn/a2/list.asp?id=17 多谢
我试试看 我根据subtlation 兄提供的方法写了如下的函数:
Public Sub test()
Dim adDimStyle As AcadDimStyle
Set adDimStyle = AcadApp.ActiveDocument.DimStyles.Add("adDimStyle")
AcadApp.ActiveDocument.ActiveDimStyle = adDimStyle
AcadApp.ActiveDocument.SetVariable "DIMASZ", 2.5
AcadApp.ActiveDocument.SetVariable "DIMTXT", 3.5
AcadApp.ActiveDocument.SetVariable "DIMTIH", False
AcadApp.ActiveDocument.SetVariable "DIMTOH", False
AcadApp.ActiveDocument.SetVariable "DIMTAD", 1
End Sub
但是有以下两个问题:
1.adDimStyle在R14中并没有提供CopyFrom 方法
2.这个函数应该加载在什么位置,应该在打开图纸绘图之前吗? 帮忙,多谢! 我早已经不用R14了,我现在用的是2004版了。
如果没有copyfrom方法,可以考虑用sendcommand来实现--我原来不知道copyfrom时就是用这个方法实现的,但运行的速度大大降低了。建议升级你的cad来得好些。R14肯定要被淘汰的。
至于加载的时间,看你自己什么时候需要。如果想每次打开就需要,那就每次打开文件时都自动加载。如果自动加载可以搜索有关帖子。--我也不是特别熟悉。
这是我原来在autocad2002里用的,可以参考一下。
ThisDrawing.SendCommand ("-dimstyle" & Chr(13) & "s" & Chr(13) & StyleName & Chr(13) & "y" & Chr(13)) 我也不想开发R14,没有办法
我试试看
真的非常感谢你! 不行啊,还是没有这种方法。还有什么办法呢?多谢 r14中也没有sendcommand方法,我解决的办法是:1用vb中的sendkey函数,2用本站中提供的实用函数r14sendcommand。但都有缺陷,有时不能把字符串发送到命令行,还不知道什么原因。试一试吧。 好的,我试试看,多谢了!
页:
[1]
2