概要 - ポリラインを編集する(VBA/ActiveX)

2D および 3D ポリライン、長方形、ポリゴン、3D ポリゴン メッシュは、すべてポリラインの一種で、同じ方法で編集できます。

AutoCAD は、フィット ポリラインとスプライン フィット ポリラインのどちらも認識します。スプライン フィット ポリラインは、B-スプラインに似たカーブ フィットを使用します。スプライン フィット ポリラインには、 2 次と 3 次の 2 種類があります。どちらのポリラインも、AutoCAD システム変数 SPLINETYPE によりコントロールできます。フィット ポリラインは、カーブ フィットの標準曲線を使用するとともに、指定したすべての頂点の接線方向のセットを利用します。

ポリラインを編集するには、LightweightPolyline または Polyline オブジェクトのプロパティとメソッドを使用します。次に示すプロパティを使用すると、ポリラインを開いたり閉じたり、ポリライン頂点の座標を変更したり頂点を追加できます。

Closed プロパティ
ポリラインを開いたり閉じます。
Coordinates プロパティ
ポリラインの各頂点の座標を指定します。

次のメソッドを使用すると、ポリラインのふくらみ、または幅を更新できます。

AddVertex
最適化ポリラインに頂点を追加します。
SetBulge
セグメント インデックスを指定してポリラインのふくらみ値を設定します。
SetWidth
セグメント インデックスを指定して、ポリラインの始点と終点の幅を設定します。

ポリラインを編集する

次の例は、最適化ポリラインを作成します。次に、ポリラインの 3 番目のセグメントにふくらみを追加し、ポリラインに頂点を追加し、最後のセグメントの幅を変更してポリラインを閉じます。

Sub Ch4_EditPolyline()
  Dim plineObj As AcadLWPolyline
  Dim points(0 To 9) As Double

  ' Define the 2D polyline points
  points(0) = 1: points(1) = 1
  points(2) = 1: points(3) = 2
  points(4) = 2: points(5) = 2
  points(6) = 3: points(7) = 2
  points(8) = 4: points(9) = 4

  ' Create a light weight Polyline object
  Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)

  ' Add a bulge to segment 3
  plineObj.SetBulge 3, -0.5

  ' Define the new vertex
  Dim newVertex(0 To 1) As Double
  newVertex(0) = 4: newVertex(1) = 1

  ' Add the vertex to the polyline
  plineObj.AddVertex 5, newVertex

  ' Set the width of the new segment
  plineObj.SetWidth 4, 0.1, 0.5

  ' Close the polyline
  plineObj.Closed = True
  plineObj.Update
End Sub