|
|
发表于 2009-3-13 06:06:27
|
显示全部楼层
来自: 中国
补充几点; f! _" ?# \0 S9 B4 j
一、如果是在ACAD的VBA中新建文档,可以写成楼上的形式,并在这个用Doc变量引用的新文档中进行画图操作。也可以写成这样的形式- Dim Doc As AcadDocument3 k; L8 D* `0 |4 y3 ?
- Set Doc = ThisDrawing.Application.Documents.Add()& p; @1 G, V* f I' b- D) C
复制代码 还可以写成- Dim Doc As AcadDocument+ ^2 b2 ]; n# z& v; X+ Z
- Set Doc = Documents.Add()% b0 ]0 l5 H7 n7 R
复制代码 这是因为,在ACAD的VBA中,AutoCAD.Application是全局对象,使用它的方法和属性时可以省略
4 ~. {0 L% r! Q) g二、如果在VB或其它应用程序的VBA中调用ACAD,首先应该保证有一个正在运行的ACAD进程,完整的代码可以这样写- Dim CAD As AcadApplication, Doc As AcadDocument/ Q: U( i7 ]; ]; B8 G
- On Error Resume Next
3 I1 O# v/ I! U. y - Set CAD = GetObject(, "autocad.application"): Z+ d6 |/ W% A9 ~! o; ?" x
- If Err Then( R- {5 ~1 q+ Y. I
- Set CAD = CreateObject("autocad.application")
6 V+ l6 |3 j) b! O o5 r8 k - Err.Clear
' y& B6 X+ x- \. g6 [ - End If$ I! p# h9 B z' W8 f6 q
- CAD.Visible = True9 g ~( ~% E- W6 F! c5 h; a( Z
- Set Doc = CAD.Documents.Add()
复制代码 |
|