|
|
发表于 2009-3-13 06:06:27
|
显示全部楼层
来自: 中国
补充几点
! T: M( ^' b" I, g; B* n1 J6 K6 j一、如果是在ACAD的VBA中新建文档,可以写成楼上的形式,并在这个用Doc变量引用的新文档中进行画图操作。也可以写成这样的形式- Dim Doc As AcadDocument
/ [9 U% H) \( ^0 E - Set Doc = ThisDrawing.Application.Documents.Add() S# C* }( x) Q
复制代码 还可以写成- Dim Doc As AcadDocument
7 a, p# n3 D$ U - Set Doc = Documents.Add()9 h2 S( ~, `; E7 [
复制代码 这是因为,在ACAD的VBA中,AutoCAD.Application是全局对象,使用它的方法和属性时可以省略
- T; |. x* {4 {9 |0 y% Q; w二、如果在VB或其它应用程序的VBA中调用ACAD,首先应该保证有一个正在运行的ACAD进程,完整的代码可以这样写- Dim CAD As AcadApplication, Doc As AcadDocument
$ H6 Q* @! \2 D3 ~! ~. V6 h) R - On Error Resume Next
" ~& B- p' h7 u7 e& O4 ~ - Set CAD = GetObject(, "autocad.application")
9 {+ s7 f3 e- m L# k5 c, @' t; t - If Err Then: D9 N; w# h( l% P) V3 E4 V
- Set CAD = CreateObject("autocad.application")
# V! [ x3 m3 j8 ?4 G x K - Err.Clear
0 G( J+ \* E' X0 G - End If
& t; f: x( k( p+ t3 G4 |" m4 V) o. B - CAD.Visible = True- d+ H. R& O- U5 P! w! B
- Set Doc = CAD.Documents.Add()
复制代码 |
|