GetUCSMatrix Example

Using Programming Languages other than VBA

Sub Example_GetUCSMatrix()
	' This example creates a new UCS and finds the UCS matrix for it.
	' It then creates a circle using WCS coordinates and
	' transforms the circle for the UCS.

	' 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
	ThisDrawing.ActiveViewport.UCSIconOn = True
	ThisDrawing.ActiveViewport.UCSIconAtOrigin = True
	ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport

	' Create a circle using WCS coordinates
	Dim circleObj As AcadCircle
	Dim center(0 To 2) As Double
	Dim radius As Double
	center(0) = 1: center(1) = 1: center(2) = 0
	radius = 0.5
	Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius)
	ZoomAll

	' Get the UCS transformation matrix
	Dim TransMatrix As Variant
	TransMatrix = ucsObj.GetUCSMatrix()

	' Transform the circle to the UCS coordinates
	MsgBox "Transform the circle.", , "GetUCSMatrix Example"
	circleObj.TransformBy (TransMatrix)
	circleObj.Update

	MsgBox "The circle is transformed.", , "GetUCSMatrix Example"
	
End Sub

 

   Comments?