Vla-put-mask

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


機能
復元する画層のプロパティを指定する。


引数
  • vla-object … LayerStateManager の VLAオブジェクト
  • mask … 復元する画層プロパティを表す数値。画層プロパティを特定するために次の表の定数を使う。AcLayerStateMask 列挙型
  • acLsAll : すべてのレイヤ プロパティ
  • acLsColor : 色
  • acLsFrozen : フリーズまたはフリーズ解除
  • acLsLineType : 線種
  • acLsLineWeight : 線の太さ
  • acLsLocked : ロックまたはロック解除
  • acLsNewViewport : 新しいビューポートで画層をフリーズまたはフリーズ解除
  • acLsNone : なし
  • acLsOn : 表示または非表示
  • acLsPlot : 印刷のオンまたはオフ
  • acLsPlotStyle : 印刷スタイル


戻り値
nil


  • MEMO : LayerStateManager オブジェクトの Restore メソッドは、どの画層のプロパティを復元するかを指定するために、Mask プロパティを使う。LayerStateManager の Save メソッドを使って画層設定を保存するときは、Mask プロパティを先に設定るす。しかし、Save メソッドは実際にはそれぞれの画層のすべてのプロパティを保存する。画層設定を復元する直前に、Mask プロパティを更新すると、復元される画層設定を変更できる。
  • Mask を使って複数の画層プロパティを指定するには、それらのプロパティを表す定数値を加算する。たとえば、色と線種プロパティを保存するには、次のように指定する。
acLsColor + acLsLineType



サンプル
(vl-load-com)
(defun c:Example_Mask()
    ;; 次のコードは、画層設定を名前の下に保存の [マスク] プロパティを更新
    ;; ColorLineType、色、線種、線太さのレイヤー プロパティは復元操作によって復元。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    (setq oLSM (vla-GetInterfaceObject acadObj "AutoCAD.AcadLayerStateManager.20")) ; バージョンに合わせて変更

    (vla-SetDatabase oLSM (vla-get-Database doc))

    (vla-Save oLSM "ColorLinetype" (+ acLsColor acLsLineType))

    ;; ColorLinetype から現在のマスク設定を取得。
    (setq settings (vla-get-Mask oLSM "ColorLinetype"))
       
    ;; マスクを設定して、色、線種、線の太さのプロパティを復元
    (setq settings (+ acLsColor acLsLineType acLsLineWeight))
         
    ;; ColorLinetype に新しい設定マスクをコミット。
    (vla-put-Mask oLSM "ColorLinetype" settings)

    (vlax-release-object oLSM)
)


関連事項