Vla-addvertex

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年2月1日 (日) 21:42時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-addvertex ''vla-object'' ''Index'' ''Point'') ; 機能 : ライトウェイト ポリラインまたは断面に頂点を追加する。 ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-addvertex vla-object Index Point)


機能
ライトウェイト ポリラインまたは断面に頂点を追加する。


引数
  • vla-object … VLAオブジェクト(LWPolyline、Section)
  • Index … 頂点を追加する頂点配列のインデックス。インデックスは正の整数。配列の最初の要素は、インデックス 0。
  • Point … 新しい頂点を作成する位置を示す 3D OCS 座標。


戻り値
nil


MEMO
  • LWPolyline: 頂点は新しい線分セグメントの終点を指定する。ライトウェイト ポリラインに円弧セグメントを追加するには、まず線分セグメントを作成し、次に、円弧となるセグメントにふくらみ値を追加する。セグメントにふくらみ値を追加するには vla-setbulge メソッドを使用する。
  • Section: 頂点は、断面線上の点を指定する。

サンプル
(vl-load-com)
(defun c:Example_AddVertex()
    ;; モデル空間にLWポリラインを作成して頂点を追加するサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))

    ;; LWポリラインの点を定義
    (setq points (vlax-make-safearray vlax-vbDouble '(0 . 9)))
    (vlax-safearray-fill points '(1 1
                                  1 2
                                  2 2
                                  3 2
                                  4 4
                                 )
    )
        
    ;; モデル空間に LWポリラインを作成。
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq plineObj (vla-AddLightWeightPolyline modelSpace points))
    (vla-ZoomAll acadObj)
    (alert "Add a vertex to the end of the polyline.")
    
    ;; 新しい頂点を定義
    (setq newVertex (vlax-make-safearray vlax-vbDouble '(0 . 1)))
    (vlax-safearray-fill newVertex '(4 1))
    
    ;; 新しい頂点をLWポリラインに追加
    (vla-AddVertex plineObj 5 newVertex)
    (vla-Update plineObj)
    (alert "Vertex added.")
)

関連事項