要创建面域,请使用 AddRegion 方法。这个方法会根据输入的曲线数组形成的各个闭合环来创建面域。AutoCAD 将闭合的二维和平面三维多段线转换为独立的面域,然后转换形成闭合平面环的多段线、直线和曲线。如果有两条以上的曲线共用一个端点,得到的面域可能是不确定的。所以,在使用 AddRegion 方法时,实际可能会创建多个面域。请使用变量来保留新创建的面域数组。
要计算创建的 Region 对象的总数,请使用 VBA 函数 UBound 和 LBound,如下面的示例:
UBound(objRegions) - LBound(objRegions) + 1
其中,objRegions 是包含 AddRegion 返回值的变量。此语句将会计算创建的面域总数。
Sub Ch4_CreateRegion()
' 定义保存面域边界
' 的数组。
Dim curves(0 To 0) As AcadCircle
' 创建圆,用作
' 面域的边界。
Dim center(0 To 2) As Double
Dim radius As Double
center(0) = 2
center(1) = 2
center(2) = 0
radius = 5#
Set curves(0) = ThisDrawing.ModelSpace.AddCircle _
(center, radius)
' 创建面域
Dim regionObj As Variant
regionObj = ThisDrawing.ModelSpace.AddRegion(curves)
ZoomAll
End Sub