概要 - リージョンを作成する(VBA/ActiveX)

リージョンを作成するには、AddRegion メソッドを使用します。

このメソッドは、曲線の入力配列によって形成される閉じたループからリージョンを作成します。AutoCAD は、閉じた 2D および平面 3D ポリラインを個別のリージョンに変換し、次に閉じた平面ループを形成するポリライン、線分、および曲線を変換します。3 つ以上の曲線が端点を共有しているときは、その結果のリージョンは、任意です。このため、実際に AddRegion メソッドの使用中に複数のリージョンが作成されることがあります。バリアントを使用して、新しく作成されたリージョンの配列を保持します。

作成される Region オブジェクトの合計数を計算するには、VBA 関数 UBound および LBound を次のように使用します。

UBound(objRegions) - LBound(objRegions) + 1

ここでは objRegionsAddRegion からの戻り値を含むバリアントです。この文は作成されたリージョンの合計を計算します。

単純なリージョンを作成する

次のサンプル コードは、単一の円からリージョンを作成します。

Sub Ch4_CreateRegion()
  ' Define an array to hold the
  ' boundaries of the region.
  Dim curves(0 To 0) As AcadCircle

  ' Create a circle to become a
  ' boundary for the region.
  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)

  ' Create the region
  Dim regionObj As Variant
  regionObj = ThisDrawing.ModelSpace.AddRegion(curves)

  ZoomAll
End Sub