Vla-put-viewportdefault

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年1月26日 (火) 09:17時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-put-viewportdefault vla-object bool )


機能
新しいビューポートで画層をフリーズするかどうかを指定する。


引数
  • vla-object … Layer の VLAオブジェクト
  • bool … ブール型
  • :vlax-True: 新しいビューポートで画層をフリーズする。
  • :vlax-False: 新しいビューポートで画層をフリーズしない。


戻り値
nil


サンプル
(vl-load-com)
(defun c:Example_ViewportDefault()
    ;; "New_Layer"と呼ばれる新しいレイヤーを作成して各レイヤーが新しいビューポートで
    ;; フリーズするかどうかを表示するサンプル。
    ;; 各レイヤーを新しいビューポートでフリーズされます、
    ;; 最後にすべての画層が表示されるかどうかを切り替える機能があり。

    ;; レイヤコレクションにレイヤを追加
    (setq layerObj (vla-Add (vla-get-Layers doc) "New_Layer"))
    
    ;; 作成したレイヤをアクティブに
    (vla-put-ActiveLayer doc layerObj)
    
    ;; 新しいビューポートでフリーズさせる
    (vlax-for tempLayer (vla-get-Layers doc)
        ;; 現在の新しいビューポート レイヤーの状態を表示する。
        (if (= (vla-get-ViewportDefault tempLayer) :vlax-true)
            (alert (strcat "このレイヤ '" (vla-get-Name tempLayer) "' は、新しいビューポートでフリーズします。今の状態を切り替えます。"))
            (alert (strcat "このレイヤ '" (vla-get-Name tempLayer) "' は、新しいビューポートでフリーズしません。今の状態を切り替えます。"))
        )
        (vla-put-ViewportDefault tempLayer (if (= (vla-get-ViewportDefault tempLayer) :vlax-true) :vlax-false :vlax-true))
    )
    
    ;; レイヤーの新しいビューポート凍結状態を表示する。
    (setq msg "")
    (vlax-for tempLayer (vla-get-Layers doc)
        ;; Determine if this layer is frozen in new viewports
        (if (= (vla-get-ViewportDefault tempLayer) :vlax-true)
            (setq msg (strcat msg "このレイヤ  '" (vla-get-Name tempLayer) "' は、新しいビューポートでフリーズされます。\n"))
            (setq msg (strcat msg "このレイヤ '" (vla-get-Name tempLayer) "' は、新しいビューポートでフリーズされません。\n"))
        )
    )

    (alert msg)
)


関連事項