ActiveViewport Example

Using Programming Languages other than VBA

Sub Example_ActiveViewport()
	' This example returns the current viewport.
	' It creates a new viewport and makes it active, and
	' Then it splits the viewport into four windows.
	' It then takes one of the four windows, and splits that
	' window horizontally into half.
	Dim currViewport As AcadViewport
	Dim newViewport As AcadViewport

	' Returns current viewport of active document
	Set currViewport = ThisDrawing.ActiveViewport
	MsgBox "The current viewport is " & currViewport.name, vbInformation, "ActiveViewport Example"

	' Create a new viewport and make it active
	Set newViewport = ThisDrawing.Viewports.Add("TESTVIEWPORT")
	ThisDrawing.ActiveViewport = newViewport
	MsgBox "The new active viewport is " & newViewport.name, vbInformation, "ActiveViewport Example"

	' 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

 

   Comments?