AddPolyline メソッド(ActiveX)

頂点のリストからポリラインを作成します。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

RetVal = object.AddPolyline(VerticesList)
object

タイプ: BlockModelSpacePaperSpace

このメソッドが適用されるオブジェクト。

VerticesList

アクセス: 入力のみ

タイプ: バリアント型(倍精度浮動小数点数型配列)

ポリラインの頂点の作成に使用される OCS 座標の配列。各頂点は 3 要素で表されます。最初の 2 要素は OCS の X および Y 座標で、3 番目の要素は無視されます。ポリライン オブジェクトを構成するには、少なくとも 2 つの点(6 つの倍精度浮動小数点数型)が必要です。配列サイズは、3 の倍数でなければなりません。

戻り値(RetVal)

タイプ: Polyline

新しく作成される Polyline オブジェクト。

注意

円弧を含むポリラインを作成するには、まず、直線のポリラインを作成し、次に SetBulge メソッドを使用して特定の頂点にふくらみを設定します。

このメソッドは、旧バージョンとの後方互換用です。AddLightweightPolyline メソッドを使用すれば、メモリやディスク容量を節約できる最適化フォーマットのポリラインを作成することができます。

座標値は、TranslateCoordinates メソッドを使って OCS との相互変換が可能です。

VBA:

Sub Example_AddPolyline()
    ' This example creates a polyline in model space.
    
    Dim plineObj As AcadPolyline
    Dim points(0 To 14) As Double
    
    ' Define the 2D polyline points
    points(0) = 1: points(1) = 1: points(2) = 0
    points(3) = 1: points(4) = 2: points(5) = 0
    points(6) = 2: points(7) = 2: points(8) = 0
    points(9) = 3: points(10) = 2: points(11) = 0
    points(12) = 4: points(13) = 4: points(14) = 0
        
    ' Create a lightweight Polyline object in model space
    Set plineObj = ThisDrawing.ModelSpace.AddPolyline(points)
    ZoomAll
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_AddPolyline()
    ;; This example creates a polyline in model space.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; Define the 2D polyline points
    (setq points (vlax-make-safearray vlax-vbDouble '(0 . 14)))
    (vlax-safearray-fill points '(1 1 0
                                  1 2 0
                                  2 2 0
                                  3 2 0
                                  4 4 0
                                 )
    )
        
    ;; Create a lightweight Polyline object in model space
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq plineObj (vla-AddPolyline modelSpace points))
    (vla-ZoomAll acadObj)
)