Vla-put-layerstate

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年1月7日 (木) 12:51時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-layerstate ''vla-object'' ''name'') ; 機能 : ビューの画層状態の名前を指定する。 ; 引数 :* vla-object … View...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(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)
)

関連事項