Add3DPoly メソッド(ActiveX)

与えられた座標の配列から 3D ポリラインを作成します。

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

構文と要素

VBA:

RetVal = object.Add3Dpoly(PointsArray)
object

タイプ: BlockModelSpacePaperSpace

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

PointsArray

アクセス: 入力のみ

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

3D WCS 座標の配列。ポリラインは、配列の座標の順に作成されます。配列の要素数は、3 の倍数でなければなりません(3 要素で 1 つの座標を定義します)。

戻り値(RetVal)

タイプ: 3DPolyline

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

注意

ポリラインを閉じるには、3DPolyline オブジェクトで Closed プロパティを使用します。

VBA:

Sub Example_Add3DPoly()
    
    Dim polyObj As Acad3DPolyline
    Dim points(0 To 8) As Double
    
    ' Create the array of points
    points(0) = 0: points(1) = 0: points(2) = 0
    points(3) = 10: points(4) = 10: points(5) = 10
    points(6) = 30: points(7) = 20: points(8) = 30
    
    ' Create a 3DPolyline in model space
    Set polyObj = ThisDrawing.ModelSpace.Add3DPoly(points)
    ZoomAll
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_Add3DPoly()
    ;; This example creates a 3 segment 3D polyline in model space.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; Create the array of points
    (setq points (vlax-make-safearray vlax-vbDouble '(0 . 8)))
    (vlax-safearray-fill points '(0 0 0
                                  10 10 10
                                  30 20 30
                                 )
    )  
    
    ;; Create a 3D polyline in model space
    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq polyObj (vla-Add3DPoly modelSpace points))
    (vla-ZoomAll acadObj)
)