|
|
发表于 2009-3-13 06:06:27
|
显示全部楼层
来自: 中国
补充几点
5 r5 _8 g/ x; l; { D一、如果是在ACAD的VBA中新建文档,可以写成楼上的形式,并在这个用Doc变量引用的新文档中进行画图操作。也可以写成这样的形式- Dim Doc As AcadDocument
& P1 G; Z/ f! d( p" U$ { - Set Doc = ThisDrawing.Application.Documents.Add()3 ]+ D' @. w9 t: L& b6 ?
复制代码 还可以写成- Dim Doc As AcadDocument
6 c7 o. y( b% K* k- G9 n" | - Set Doc = Documents.Add()
$ F) I( ?2 m2 G7 Q. a6 b' t
复制代码 这是因为,在ACAD的VBA中,AutoCAD.Application是全局对象,使用它的方法和属性时可以省略% v" _2 R8 w4 d' E3 \ n2 W
二、如果在VB或其它应用程序的VBA中调用ACAD,首先应该保证有一个正在运行的ACAD进程,完整的代码可以这样写- Dim CAD As AcadApplication, Doc As AcadDocument
3 V5 V" \$ s, Z - On Error Resume Next
1 H5 i( f- B6 X - Set CAD = GetObject(, "autocad.application")
5 p& I& n5 j; [2 {9 N& g - If Err Then
% i! a+ d* @6 U. @% M C/ L - Set CAD = CreateObject("autocad.application")
8 |* R; D& U0 }) K; K! U - Err.Clear
^% y; H1 m$ F F8 l2 m - End If4 {9 t* a/ W: b, y0 h
- CAD.Visible = True4 j; ^" J3 c3 U N( s9 k
- Set Doc = CAD.Documents.Add()
复制代码 |
|