Vla-put-viewtoplot

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年11月23日 (月) 09:16時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-viewtoplot ''vla-object'' ''name'') ; 機能 : 印刷するビューの名前を指定する。 ; 引数 :* vla-object … Layout、...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-put-viewtoplot vla-object name)


機能
印刷するビューの名前を指定する。


引数
  • vla-object … Layout、PlotConfiguration の VLAオブジェクト
  • name … 印刷するビューの名前


戻り値
nil


サンプル
(vl-load-com)
(defun c:Example_ViewToPlot()
    ;; 使用可能な名前付きビューのリストを読み取り、ユーザーが選択したビューの印刷プレビューを
    ;; 表示するサンプル。'*' の場合、現在のビューをプロットする。
    ;; 
    ;; * 注意: プロットをプレビューした後する必要が VBA の例が停止し、制御が返される前に、
    ;; 印刷プレビューを終了する。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; 印刷に使用できるビューのリストを取得する
    (setq viewList (vlax-make-safearray vlax-vbObject (cons 0 (vla-get-Count (vla-get-Views doc))))
          cnt 0)
  
    (vlax-for view (vla-get-Views doc)
        (vlax-safearray-put-element viewList cnt view)
        (setq cnt (1+ cnt))
    )
    
    ;; 印刷する任意の名前の付いたビューを探す。
    (if (> (vla-get-Count (vla-get-Views doc)) 0)
        (progn
            ;; Read and display the current plot style table path
            (setq iCount 0
                  msg "")
            (while (> (vla-get-Count (vla-get-Views doc)) iCount)
                (setq viewName (vla-get-Name (vlax-safearray-get-element ViewList iCount)))
        
                (if (= viewName (vla-get-ViewToPlot (vla-get-ActiveLayout doc)))  ;; カレントビューを印刷
                    (setq ViewNum (1+ iCount)
                          ViewName (strcat "*" ViewName))
                )
        
                (setq iCount (1+ iCount)
                      msg (strcat msg "(" (itoa iCount) ")   " viewName "\n"))
            )
    
            ;; ビューをプロットするプロンプトを表示。
            (setq viewNum (vla-GetInteger (vla-get-Utility doc) (strcat "\n汝はどのビューをプロットするのかえ?\n" msg)))
    
            (if (and (<= viewNum (vla-get-Count (vla-get-Views doc)))
                     (> viewNum 0))
                (progn
                    ;; 印刷するビューの図面を知らせる
                    (vla-put-ViewToPlot (vla-get-ActiveLayout doc) (vla-get-Name (vlax-safearray-get-element ViewList (1- viewNum))))
    
                    ;; 印刷の設定を指示。
                    (vla-put-PlotType (vla-get-ActiveLayout doc) acView)
                    (vla-put-ConfigName (vla-get-ActiveLayout doc) "DWF6 ePlot.pc3")
                  
                    ;; 印刷プレビューを表示
                    (vla-DisplayPlotPreview (vla-get-Plot doc) acFullPreview)
                )
                (alert "入力されたビュー番号は無効。")
            )
        )
        (alert "名前の付いたビューがないです。")
    )
)

関連事項