Перенос системы координат

Автор Тема: Перенос системы координат  (Прочитано 1740 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн MarikАвтор темы

  • ADN OPEN
  • Сообщений: 21
  • Карма: 0
        Подскажите, пожалуйста. Как перенести ПСК по X на заданное значение? Не понятно про векторы по примеру в manual. И почему отрезок в примере вычерчивается от старой (Мировой) системы координат?

Код - Visual Basic [Выбрать]
  1. Sub Example_UserCoordinateSystems()
  2.     ' Этот пример находит текущую коллекцию UserCoordinateSystems
  3.    ' и добавляет новый UCS к этой коллекции.
  4.    
  5.     Dim UCSColl As AcadUCSs
  6.     Set UCSColl = ThisDrawing.UserCoordinateSystems
  7.    
  8.     ' Создайте UCS по имени "TEST" в текущем рисунке
  9.    Dim NewUCS As AcadUCS
  10.     Dim origin(0 To 2) As Double
  11.     Dim xAxisPnt(0 To 2) As Double
  12.     Dim yAxisPnt(0 To 2) As Double
  13.    
  14.     Dim startPoint(0 To 2) As Double
  15.     Dim endPoint(0 To 2) As Double
  16.    
  17.     ' Определите UCS
  18.    origin(0) = 4#: origin(1) = 5#: origin(2) = 3#
  19.     xAxisPnt(0) = 5#: xAxisPnt(1) = 5#: xAxisPnt(2) = 3#
  20.     yAxisPnt(0) = 4#: yAxisPnt(1) = 6#: yAxisPnt(2) = 3#
  21.    
  22.     ' Добавьте UCS к коллекции UserCoordinatesSystems
  23.    Set NewUCS = UCSColl.Add(origin, xAxisPnt, yAxisPnt, "TEST")
  24.    
  25.     ThisDrawing.ActiveUCS = NewUCS
  26.    
  27.     startPoint(0) = 0 ' Начальная точка X (относительно новой системы)
  28.    startPoint(1) = 0 ' Начальная точка Y (относительно новой системы)
  29.    startPoint(2) = 0 ' Начальная точка Z
  30.    endPoint(0) = 10 ' Конечная точка X (относительно новой системы)
  31.    endPoint(1) = 10 ' Конечная точка Y (относительно новой системы)
  32.    endPoint(2) = 0 ' Конечная точка Z
  33.    
  34.     Set line = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
  35.    
  36.    
  37. End Sub
« Последнее редактирование: 03-12-2024, 18:17:10 от Александр Ривилис »

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1116
  • Карма: 173
Re: Перенос системы координат
« Ответ #1 : 16-12-2024, 21:23:04 »
По-моему, именно отрезку глубоко параллельно (при программном создании) на системы координат.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Перенос системы координат
« Ответ #2 : 16-12-2024, 21:33:07 »
. И почему отрезок в примере вычерчивается от старой (Мировой) системы координат?
Потому что этот метод (как написано в документации) работает именно в МСК. И ему глубоко наплевать на текущую систему координат.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн MarikАвтор темы

  • ADN OPEN
  • Сообщений: 21
  • Карма: 0
Re: Перенос системы координат
« Ответ #3 : 19-12-2024, 00:10:12 »
Ок, подскажите какие нужно использовать методы для вычерчивания отрезка и прочих примитивов в новой системе координат или нет такого функционала? Смысл такой. Есть код, который вычерчивает чертеж относительно 0,0,0 МСК. Чтобы вычертить его относительно какой-то другой точки не хочу изменять код, внося в код поправки на начальную координату, так как код сложный и долго отлаживать его придется. Есть мысль просто перенести СК в эту точку и запустить код. Или не в ту сторону думаю? Как вариант можно добавить в коллекцию все что начертит код и чехом перенести туда куда нужно, но боюсь, что не все так просто. Ну, или создать блок, добавить элементы коллекции в блок. Вставить блок в ту точку в которую нужно, взорвать блок, удалить блок. Все как-то сложно. Куда копать, подскажите, пожалуйста.

Отмечено как Решение Marik 19-12-2024, 22:31:56

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Перенос системы координат
« Ответ #4 : 19-12-2024, 00:16:39 »
Или не в ту сторону думаю?
Не в ту. Если не менять весь код, то тогда следует использовать метод TransformBy для переноса:
https://help.autodesk.com/view/OARX/2025/ENU/?guid=GUID-2FAE4C13-06F2-47A2-B213-8A9A6958B799
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн MarikАвтор темы

  • ADN OPEN
  • Сообщений: 21
  • Карма: 0
Re: Перенос системы координат
« Ответ #5 : 19-12-2024, 22:32:47 »
Спасибо!