Vla-put-xreflayervisibility

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


機能
外部参照に従属する画層の表示/非表示を決定、およびネストされた外部参照のパスの変更を保存するかどうかを指定する。


引数
  • vla-object … DatabasePreferences の VLAオブジェクト
  • bool … ブール型
  • :vlax-True: 現在の図面に対して加えられた外部参照に従属する画層の変更を優先する。
  • :vlax-False: 参照図面(外部参照)に保存されている画層テーブルを優先する。


戻り値
nil


  • MEMO : このプロパティの初期値は True。
  • このプロパティが True に設定されている場合、画層の設定は現在の図面の画層テーブルと一緒に保存され、以後の各セッションで持続する。ネストした外部参照パスの変更は現在の図面と一緒に保存され、以後の各セッションで持続する。
  • このプロパティが False に設定されている場合、現在の図面の外部参照に依存した画層に対する変更は現在のセッションでのみ有効であり、図面と一緒には保存されない。現在の図面がもう一度開かれると、画層テーブルは参照図面から再ロードされ、現在の図面はその設定を反映する。影響を受ける画層の設定は、表示/非表示、フリーズ/フリーズ解除、色、線種。この設定では、ネストした外部参照パスへの変更は現在のセッションでのみ有効であり、図面と一緒には保存されない。
  • 注 : このプロパティの値は、システム変数 VISRETAIN に格納される。


サンプル
(vl-load-com)
(defun c:Example_XRefLayerVisibility()
    ;; 外部参照に従属する画層の可視性を変更するサンプル

    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    (setq preferences (vla-get-Preferences doc))
    
    ;; 既定値を読み込み
    (setq originalValue (vla-get-XRefLayerVisibility preferences))
    (alert (strcat "現在の XRefLayerVisibility 値は : " (if (= originalValue :vlax-true) "True" "False")))

    ;; トグルで変更
    (vla-put-XRefLayerVisibility preferences (if (= originalValue :vlax-true) :vlax-false :vlax-true))
    (alert (strcat "新しい XRefLayerVisibility 値は : " (if (= (vla-get-XRefLayerVisibility preferences) :vlax-true) "True" "False")))

    ;; 戻す
    ;; * Note: 戻したくなくばコメントアウトするがよい
    (vla-put-XRefLayerVisibility preferences originalValue)
    (alert (strcat "XRefLayerVisibility 値を元に戻す : " (if (= originalValue :vlax-true) "True" "False")))
)


関連事項