Splits a viewport into the given number of views.
Supported platforms: Windows only
VBA:
object.Split NumWins
Type: Viewport
The object this method applies to.
Access: Input-only
Type: AcViewportSplitType enum
No return value.
Although the Split method has been called, the changes will not appear until the ActiveViewport property has been used to make the viewport active. This is required even if the viewport was active before the call to Split.
A viewport does not have to be active for this method to work, however, it must be reset to active to see the results of this method.
VBA:
Sub Example_Split() ' This example creates a new viewport and makes it active. ' Then it splits the viewport into four windows. ' It then takes one of the four windows, and splits that ' window horizontally in half. Dim newViewport As AcadViewport ' Create a new viewport and make it active Set newViewport = ThisDrawing.Viewports.Add("TESTVIEWPORT") ThisDrawing.ActiveViewport = newViewport ' Split the viewport in four windows newViewport.Split acViewport4 ' Make the newly split viewport active ThisDrawing.ActiveViewport = newViewport ' Note that current drawing layout will show four windows. ' However, only one of the windows will be active. ' The following code sets the lower-left corner window ' to be the active window and then splits that ' window into two horizontal windows. Dim entry For Each entry In ThisDrawing.Viewports If entry.name = "TESTVIEWPORT" Then Dim lowerLeft lowerLeft = entry.LowerLeftCorner If lowerLeft(0) = 0 And lowerLeft(1) = 0 Then Set newViewport = entry Exit For End If End If Next newViewport.Split acViewport2Horizontal ThisDrawing.ActiveViewport = newViewport End Sub
Visual LISP:
(vl-load-com) (defun c:Example_Split() ;; This example creates a new viewport and makes it active. ;; Then it splits the viewport into four windows. ;; It then takes one of the four windows, and splits that ;; window horizontally in half. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Create a new viewport and make it active (setq newViewport (vla-Add (vla-get-Viewports doc) "TESTVIEWPORT")) (vla-put-ActiveViewport doc newViewport) ;; Split the viewport in four windows (vla-Split newViewport acViewport4) ;; Make the newly split viewport active (vla-put-ActiveViewport doc newViewport) ;; Note that current drawing layout will show four windows. ;; However, only one of the windows will be active. ;; The following code sets the lower-left corner window ;; to be the active window and then splits that ;; window into two horizontal windows. (vlax-for entry (vla-get-Viewports doc) (if (= (vla-get-Name entry) "TESTVIEWPORT") (progn (setq lowerLeft (vlax-variant-value (vla-get-LowerLeftCorner entry))) (if (and (= (vlax-safearray-get-element lowerLeft 0) 0) (= (vlax-safearray-get-element lowerLeft 1) 0)) (setq newViewport entry) ) ) ) ) (vla-Split newViewport acViewport2Horizontal) (vla-put-ActiveViewport doc newViewport) )