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