|
TranslateCoordinates Пример |
Sub Example_TranslateCoordinates()
'Этот пример создает UCS с точкой начала в 2, 2, 2.
'Затем, точка введена пользователем. Координаты WCS и UCS этой точки выводятся в Msgbox.
'Создайте "New_UCS" в текущем рисунке
Dim ucsObj As AcadUCS
Dim origin(0 To 2) As Double
Dim xAxisPnt(0 To 2) As Double
Dim yAxisPnt(0 To 2) As Double
'Определите UCS
origin(0) = 2#: origin(1) = 2#: origin(2) = 2#
xAxisPnt(0) = 5#: xAxisPnt(1) = 2#: xAxisPnt(2) = 2#
yAxisPnt(0) = 2#: yAxisPnt(1) = 6#: yAxisPnt(2) = 2#
'Добавьте UCS к коллекции UserCoordinatesSystems
Set ucsObj = ThisDrawing.UserCoordinateSystems.Add(origin, xAxisPnt, yAxisPnt, "New_UCS")
ThisDrawing.ActiveUCS = ucsObj
'Получите активную область просмотра и удостоверьтесь, что значок UCS есть
Dim viewportObj As AcadViewport
Set viewportObj = ThisDrawing.ActiveViewport
viewportObj.UCSIconOn = True
viewportObj.UCSIconAtOrigin = True
ThisDrawing.ActiveViewport = viewportObj
'Сделайте так, чтобы пользователь ввел точку
Dim pointWCS As Variant
pointWCS = ThisDrawing.Utility.GetPoint(, "Введите точку:")
'Переведите точку в координаты UCS
Dim pointUCS As Variant
pointUCS = ThisDrawing.Utility.TranslateCoordinates(pointWCS, acWorld, acUCS, False)
'Покажите координаты точки
MsgBox "Точка имеет следующие координаты:" & vbCrLf & _
"WCS: " & pointWCS(0) & ", " & pointWCS(1) & ", " & pointWCS(2) & vbCrLf & _
"UCS: " & pointUCS(0) & ", " & pointUCS(1) & ", " & pointUCS(2), , "TranslateCoordinates Пример"
End Sub