Keith,如果您从文档集合中访问文档,而不是使用活动文档,并确保不对屏幕做任何事情(重新生成、重新绘制、缩放),它应该可以工作。例如,这是有效的:
-
- Sub test()
- Dim AcadApp As AcadApplication 'Object
- Dim acadDoc As AcadDocument
- Dim dblPt1(2) As Double
- Dim dblPt2(2) As Double
- Dim dblpt3(2) As Double
- dblPt2(1) = 100
- dblpt3(0) = 100: dblpt3(1) = 100
- Set AcadApp = GetAcadObject
- Set acadDoc = AcadApp.Documents.Add("acad.dwt")
- AcadApp.Visible = False
- acadDoc.SaveAs ("c:\test")
- acadDoc.ModelSpace.AddLine dblPt1, dblPt2
- acadDoc.ModelSpace.AddLine dblPt2, dblpt3
- acadDoc.ModelSpace.AddLine dblpt3, dblPt1
- acadDoc.Save
- AcadApp.Quit
- Set AcadApp = Nothing
- End Sub
另一种方法是通过AcadObject使用ObjectDBX,因为它无论如何都不会打开绘图进行编辑。 |