Vla-put-activepviewport

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


機能
図面のアクティブなペーパー空間ビューポートを指定する。


引数
  • vla-object … このプロパティが適用されるオブジェクト(document)
  • ActivePViewport … アクティブなペーパー空間ビューポートのオブジェクト (PViewport)


戻り値
nil


memo
  • ビューポートに対する変更が表示されるようにするには、このプロパティを使用してビューポートをアクティブに設定しなければならない。


サンプル
((vl-load-com)
(defun c:Exp_ViewportOn()
    ;; 2個のペーパー空間ビューポートを作成してから、
    ;; ビューポートのステータスをチェックする。
    (setq *actdoc* (vla-get-ActiveDocument (vlax-get-acad-object)))
    
    ;; ペーパー空間ビューポートを定義
    (setq center (vlax-3d-point 3 3 0)
          width  10
          height 10)
    
    ;; モデル空間からペーパー空間に変更
    (vla-put-ActiveSpace *actdoc* acPaperSpace)
    
    ;; ペーパー空間ビューポートを作成
    (setq paperSpace (vla-get-PaperSpace *actdoc*))
    (setq pviewportObj1 (vla-AddPViewport paperSpace center width height))
  
    ;; 2個めのペーパー空間ビューポートを定義
    (setq center (vlax-3d-point 8 8 0)
          width  10
          height 10)

    (setq pviewportObj2 (vla-AddPViewport paperSpace center width height))
    
    ;; ペーパー空間ビューポートをアクティブにする前に、
    ;; MSPACE プロパティを True にしておく
    (vla-Display pviewportObj1 :vlax-true)

    (vla-put-MSpace *actdoc* :vlax-true)
    (vla-put-ActivePViewport *actdoc* pviewportObj1)
    (vla-Regen *actdoc* acAllViewports)                   ; 全再作図

    (alert (strcat "pviewportObj1 は " (if (= (vla-get-ViewportOn pviewportObj1) :vlax-true) "on." "not on.")
                   "\npviewportObj2 は " (if (= (vla-get-ViewportOn pviewportObj2) :vlax-true) "on." "not on.")))

    ;; pviewportObj2 をオンにする
    (vla-Display pviewportObj2 :vlax-true)

    (alert (strcat "pviewportObj1 は " (if (= (vla-get-ViewportOn pviewportObj1) :vlax-true) "on." "not on.")
                   "\npviewportObj2 は " (if (= (vla-get-ViewportOn pviewportObj2) :vlax-true) "on." "not on.")))
)


関連事項