|
GetUCSMatrix Пример |
Sub Example_GetUCSMatrix()
' Этот пример создает новый UCS и находит матрицу UCS для него.
' Затем создает круг, используя WCS координаты и преобразовывает круг для UCS.
' Определите новый UCS и включите значок UCS в начале координат.
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
' Создайте круг, используя координаты WCS
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
' Получите матрицу преобразования UCS
Dim TransMatrix As Variant
TransMatrix = ucsObj.GetUCSMatrix()
' Преобразуйте круг к координатам UCS
MsgBox "Преобразуйте круг.", , "GetUCSMatrix Пример"
circleObj.TransformBy (TransMatrix)
circleObj.Update
MsgBox "Круг преобразован.", , "GetUCSMatrix Пример"
End Sub