YVector Example

Using Programming Languages other than VBA

Sub Example_YVector()
	' This finds the current setting of YVector for a given UCS.
	' It then changes the YVector and resets the UCS.

	Dim viewportObj As AcadViewport

	' Set the viewportObj variable to the active viewport
	Set viewportObj = ThisDrawing.ActiveViewport

	' Define a new UCS and turn on the UCS icon at the origin.
	Dim ucsObj As AcadUCS
	Dim origin(0 To 2) As Double
	Dim xAxisPoint(0 To 2) As Double
	Dim yAxisPoint(0 To 2) As Double

	origin(0) = 2: origin(1) = 2: origin(2) = 0
	xAxisPoint(0) = 3: xAxisPoint(1) = 2: xAxisPoint(2) = 0
	yAxisPoint(0) = 2: yAxisPoint(1) = 3: yAxisPoint(2) = 0

	Set ucsObj = ThisDrawing.UserCoordinateSystems.Add(origin, xAxisPoint, yAxisPoint, "UCS1")
	ThisDrawing.ActiveUCS = ucsObj
	viewportObj.UCSIconOn = True
	viewportObj.UCSIconAtOrigin = True
	ThisDrawing.ActiveViewport = viewportObj

	' Display the current setting of the vectors
	MsgBox "The current XVector is: " _
			& ucsObj.XVector(0) & ", " & ucsObj.XVector(1) & ", " & ucsObj.XVector(2) & vbCrLf _
			& "The current YVector is: " _
			& ucsObj.YVector(0) & ", " & ucsObj.YVector(1) & ", " & ucsObj.YVector(2), , "YVector Example"

	' Change the setting of YVector
	Dim newVector(0 To 2) As Double
	newVector(0) = -1: newVector(1) = -1: newVector(2) = 0
	ucsObj.YVector = newVector

	' Reset the active UCS to see the change
	ThisDrawing.ActiveUCS = ucsObj

	MsgBox "The new XVector is: " _
			& ucsObj.XVector(0) & ", " & ucsObj.XVector(1) & ", " & ucsObj.XVector(2) & vbCrLf _
			& "The YVector is: " _
			& ucsObj.YVector(0) & ", " & ucsObj.YVector(1) & ", " & ucsObj.YVector(2), , "YVector Example"

End Sub

 

   Comments?