Sets the coordinates that define the portion of the layout to plot.
Supported platforms: Windows only
VBA:
object.SetWindowToPlot LowerLeft, UpperRight
Type: Layout, PlotConfiguration
The objects this method applies to.
Access: Input-only
Type: Variant (two-element array of doubles)
The X and Y values for the lower-left window.
Access: Input-only
Type: Variant (two-element array of doubles)
The X and Y values for the upper-right window.
No return value.
The window coordinates are taken from the origin.
The units for these values are specified by the PaperUnits property.
The PlotType property must be set to acWindow for these coordinates to be used for the plot.
VBA:
Sub Example_SetWindowToPlot() ' This example allows the user to define an area in the current layout ' and displays a plot preview of the defined area. ' ' * Note: You have to exit the ' plot preview before the VBA example will stop and control will be returned AppActivate ThisDrawing.Application.Caption Dim point1 As Variant, point2 As Variant ' Get first point in window point1 = ThisDrawing.Utility.GetPoint(, "Click the lower-left of the window to plot.") ReDim Preserve point1(0 To 1) ' Change this to a 2D array by removing the Z position ' Get second point in window point2 = ThisDrawing.Utility.GetPoint(, "Click the upper-right of the window to plot.") ReDim Preserve point2(0 To 1) ' Change this to a 2D array by removing the Z position ' Send information about window to current layout ThisDrawing.ActiveLayout.SetWindowToPlot point1, point2 ' Read back window information ThisDrawing.ActiveLayout.GetWindowToPlot point1, point2 MsgBox "Press any key to plot the following window:" & vbCrLf & vbCrLf & _ "Lower Left: " & point1(0) & ", " & point1(1) & vbCrLf & _ "Upper Right: " & point2(0) & ", " & point2(1) ' Be sure to plot a view, not some other plot style ThisDrawing.ActiveLayout.PlotType = acWindow ' Send Plot To Window ThisDrawing.ActiveLayout.ConfigName = "DWG to PDF.pc3" ThisDrawing.Plot.DisplayPlotPreview acFullPreview End Sub
Visual LISP:
(vl-load-com) (defun c:Example_SetWindowToPlot() ;; This example allows the user to define an area in the current layout to plot ;; and displays a plot preview of the defined area. ;; ;; * Note: You will have to exit the plot preview ;; before the VBA example will stop and control will be returned (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Get first point in window (setq point1 (vlax-variant-value (vla-GetPoint (vla-get-Utility doc) nil "Click the lower-left of the window to plot."))) ;; Change this to a 2D array by removing the Z position (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)) ;; Get second point in window (setq point2 (vlax-variant-value (vla-GetCorner (vla-get-Utility doc) point1 "Click the upper-right of the window to plot."))) ;; Change this to a 2D array by removing the Z position (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)) ;; Send information about window to current layout (vla-SetWindowToPlot (vla-get-ActiveLayout doc) pointTemp1 pointTemp2) ;; Read back window information (vla-GetWindowToPlot (vla-get-ActiveLayout doc) 'point1 'point2) (setq point1 (vlax-safearray->list point1) point2 (vlax-safearray->list point2)) (alert (strcat "Press any key to plot the following window:" "\nLower Left: " (rtos (nth 0 point1) 2) ", " (rtos (nth 1 point1) 2) "\nUpper Right: " (rtos (nth 0 point2) 2) ", " (rtos (nth 1 point2) 2))) ;; Make sure the instruction is to plot a view, not some other plot style (vla-put-PlotType (vla-get-ActiveLayout doc) acWindow) ;; Send Plot To Window - A plot device must be set before a preview can be created (vla-put-ConfigName (vla-get-ActiveLayout doc) "DWG to PDF.pc3") (vla-DisplayPlotPreview (vla-get-Plot doc) acFullPreview) )