Vla-getwindowtoplot
- 構文
- (vla-getwindowtoplot vla-object LowerLeft UpperRight)
- 機能
- レイアウトの印刷する部分を定義する座標を取得する。
- 引数
-
- vla-object … VLAオブジェクト(Layout、PlotConfiguration)
- LowerLeft … ウィンドウの左下の X および Y の値。
- UpperRight … ウィンドウの右上の X および Y の値。
- 戻り値
- nil
- MEMO : ウィンドウの座標は原点から取り込まれる。値の単位は PaperUnits プロパティで指定する。
- プロパティは、印刷に使用する座標を取得するため acWindow に設定されなければならない。
- サンプル
(vl-load-com) (defun c:Example_GetWindowToPlot() ;; プロットを現在のレイアウト内の領域を定義して、 ;; 定義された領域の印刷プレビューを表示するサンプル。 ;; ;; * 注: 印刷プレビューはサンプルを停止して制御が返される前に、終了すること (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; ウィンドウの最初の点を取得 (setq point1 (vlax-variant-value (vla-GetPoint (vla-get-Utility doc) nil "印刷範囲の左下をクリック。"))) ;; Z 位置を削除して2次元配列に。 (setq pointTemp1 (vlax-make-safearray vlax-vbDouble '(0 . 1))) (vlax-safearray-put-element pointTemp1 0 (vlax-safearray-get-element point1 0)) (vlax-safearray-put-element pointTemp1 1 (vlax-safearray-get-element point1 1)) ;; ウィンドウの2点目を取得 (setq point2 (vlax-variant-value (vla-GetCorner (vla-get-Utility doc) point1 "印刷範囲の右上をクリック."))) ;; Z 位置を削除して2次元配列に。 (setq pointTemp2 (vlax-make-safearray vlax-vbDouble '(0 . 1))) (vlax-safearray-put-element pointTemp2 0 (vlax-safearray-get-element point2 0)) (vlax-safearray-put-element pointTemp2 1 (vlax-safearray-get-element point2 1)) ;; 現在のレイアウトにウィンドウの値をセット (vla-SetWindowToPlot (vla-get-ActiveLayout doc) pointTemp1 pointTemp2) ;; ウィンドウの情報を取得 (vla-GetWindowToPlot (vla-get-ActiveLayout doc) 'point1 'point2) (setq point1 (vlax-safearray->list point1) point2 (vlax-safearray->list point2)) (alert (strcat " 次の範囲を印刷します。 : " "\n左下 : " (rtos (nth 0 point1) 2) ", " (rtos (nth 1 point1) 2) "\n右上 : " (rtos (nth 0 point2) 2) ", " (rtos (nth 1 point2) 2))) ;; 印刷の種類を窓選択にセット (vla-put-PlotType (vla-get-ActiveLayout doc) acWindow) ;; 窓選択の範囲で印刷 - プレビューを作成する前にプロットデバイスを設定する必要がある (vla-DisplayPlotPreview (vla-get-Plot doc) acFullPreview) )
関連事項