Vla-put-layerstate

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(vla-put-layerstate vla-object name)


機能
ビューの画層状態の名前を指定する。


引数
  • vla-object … View の VLAオブジェクト
  • name … 画層状態の名前


戻り値
nil


サンプル
(vl-load-com)
(defun c:Example_LayerState()
    ;; カテゴリ名、レイアウトID、画層状態と
    ;; ビューポート関連付けのデモ
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))

    ;; LayerStateManager オブジェクトにアクセス
    (setq oLSM (vla-GetInterfaceObject acadObj "AutoCAD.AcadLayerStateManager.20"))

    ;; LayerStateManagerで現在の図面データベースを関連付け
    (vla-SetDatabase oLSM (vla-get-Database doc))

    (vla-Save oLSM "ColorLinetype" (+ acLsColor acLsLineType))
    
    ;; "New_View" という名前でビューを作成して
    ;; views コレクションに追加
    (setq viewObj (vla-Add (vla-get-Views doc) "New_View"))
    (alert (strcat (vla-get-Name viewObj) " を追加しました。"
                   "\n高さ : " (rtos (vla-get-Height viewObj) 2)
                   "\n幅 : " (rtos (vla-get-Width viewObj) 2)))
    
    (vla-put-CategoryName viewObj "My View Category")
    (vla-put-LayerState viewObj "ColorLinetype")
    
    (vla-put-LayoutId viewObj (vla-get-ObjectID (vla-Item (vla-get-Layouts doc) 1)))

    (alert (strcat (vla-get-CategoryName viewObj) " はカテゴリ名."
                   "\n" (itoa (vla-get-LayoutId viewObj)) " は Layout ID."
                   "\n" (vla-get-LayerState viewObj) " は画層状態。"))
  
    (if (= (vla-get-HasVpAssociation viewObj) :vlax-true)
        (alert "ビューはペーパー空間ビューポートです")
        (alert "ビューはペーパー空間ビューポートではないです。")
    )

    (vlax-release-object oLSM)
)

関連事項