创建面域

AutoCAD ActiveX/VBA

 
创建面域
 
 
 

要创建面域,请使用 AddRegion 方法。这个方法会根据输入的曲线数组形成的各个闭合环来创建面域。AutoCAD 将闭合的二维和平面三维多段线转换为独立的面域,然后转换形成闭合平面环的多段线、直线和曲线。如果有两条以上的曲线共用一个端点,得到的面域可能是不确定的。所以,在使用 AddRegion 方法时,实际可能会创建多个面域。请使用变量来保留新创建的面域数组。

要计算创建的 Region 对象的总数,请使用 VBA 函数 UBoundLBound,如下面的示例:

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