Vla-addtrace

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年2月1日 (日) 21:34時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-addtrace vla-object PointsArray)


機能
点の配列から 太線オブジェクトを作成する。


引数
  • vla-object … VLAオブジェクト( Block、ModelSpace、PaperSpace)
  • PointsArray … 太線の端点を指定する 3D WCS 座標の配列。


戻り値
新しく作成される Trace の VLA オブジェクト。
MEMO:
  • 太線の端点は常に中心線上にあり、直角に切断される。CAD は、隣接する線分に接続するための切り取り角度を自動的に計算する。
  • 塗り潰し表示モードがオンの場合、太線は塗り潰され、塗り潰し表示モードがオフの場合、太線の輪郭だけが表示される。塗り潰しモードの設定は、CAD のシステム変数 FILLMODE を使用する。CAD のシステム変数 TRACEWID には、Trace オブジェクトに使用される現在の幅が格納される。


サンプル
(vl-load-com)
(defun c:Example_AddTrace()
    ;; モデル空間に 太線を作成する。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; trace の定義
    (setq tracePts (vlax-make-safearray vlax-vbDouble '(0 . 11)))
    (vlax-safearray-fill tracePts '(1 1 0
                                    3 3 0
                                    5 3 0
                                    5 1 0
                                   )
    )
    
    ;; FILLMODE の反転 - 太線をアウトライン表示
    (vla-SetVariable doc "FILLMODE" 1)
        
    ;; モデルに太線を作成
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq traceObj (vla-AddTrace modelSpace tracePts))
    (vla-ZoomAll acadObj)
)

関連事項