通过 AutoCAD ActiveX Automation 执行的许多操作都会修改 AutoCAD 图形中显示的内容。但并不是所有这些操作都会立即更新图形的显示。这样设计的目的是使用户可以进行多次图形更改,而无需在每次更改后都等待显示更新;相反,用户可以将更改操作捆绑在一起进行,并仅在完成时进行一次调用以更新显示。
Update 方法只更新单个对象的显示。Regen 方法将重生成整个图形,并重新计算所有对象的屏幕坐标和视图分辨率,同时还可以重新生成图形数据库的索引,以优化显示和对象选择性能。
本例创建一个圆。然后使用 Update 方法更新该圆,这样该圆就在 AutoCAD 中可见。
Sub Ch3_UpdateDisplay()
Dim circleObj As AcadCircle
Dim center(0 To 2) As Double
Dim radius As Double
center(0) = 1: center(1) = 1: center(2) = 0
radius = 1
' 创建圆
Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius)
' 更新圆
circleObj.Update
End Sub