Vla-addpolyline

提供:GizmoLabs - だいたい CAD LISP なサイト
2014年6月22日 (日) 22:55時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-addpolyline ''vla-object'' ''VerticesList'') ; 機能 : 頂点のリストからポリラインを作成する。 ; 引数 :* vla-object...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-addpolyline vla-object VerticesList)


機能
頂点のリストからポリラインを作成する。


引数
  • vla-object … 生成する空間のVLAオブジェクト
  • origin … ポリラインの頂点の作成に使用される OCS 座標の配列。各頂点は 3 要素で表され、最初の 2 要素は OCS の X および Y 座標で、3 番目の要素は無視される。ポリライン オブジェクトを構成するには、少なくとも 2 つの点(6 つの倍精度浮動小数点数型)が必要。配列サイズは、3 の倍数でなければならない。
戻り値
作成した2DポリラインのVLAオブジェクト
  • MEMO
    • 円弧を含むポリラインの作成は、まず、直線のポリラインを作成し、次に SetBulge メソッドを使用して特定の頂点にふくらみを設定する。
    • このメソッドは、旧バージョンとの後方互換用。vla-Addlightweightpolyline を使用すれば、メモリやディスク容量を節約できる最適化フォーマットのポリラインを作成することができる。
    • 座標値は、vla-translatecoordinates メソッドを使って OCS との相互変換が可能。


サンプル
(vl-load-com)
(defun c:Example_AddPolyline()
    ;; モデル空間にポリラインを作成するサンプル
    (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  
    ;; polyline の点
    (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
                                 )
    )
        
    ;; モデル空間にポリラインを作成
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq plineObj (vla-AddPolyline modelSpace points))
    (vla-ZoomAll (vlax-get-acad-object))
)


関連事項