Vla-addpviewport

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(vla-addpviewport vla-object center width height)


機能
ペーパー空間ビューポートを追加する。


引数
  • vla-object … VLAオブジェクト (PViewport)
  • center… ビューポートの中心座標
  • width… ビューポートの幅(正数)
  • height… ビューポートの高さ(正数)


戻り値
追加したビューポートのVLAオブジェクト。



サンプル
((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.")))
)


関連事項