Указание точки в AutoCAD с помощью API

Автор Тема: Указание точки в AutoCAD с помощью API  (Прочитано 8740 раз)

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

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

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Всем привет!
Есть функция выбора точки на чертеже
Все хорошо работает много лет без сбоев.

А тут вот попался такой файл, в котором указываешь точку
в одном месте а возвращаемая точка в другом месте чертежа.
Сдвиг по X,Y стабильно на одну и туже величину.

Сразу скажу, что объектные привязки отключил.
(тестировал в Autocad 2010 и 2012)   

Вот фрагмент кода функции:
Код - vb.net [Выбрать]
  1.  
  2.             Dim doc = CAD_APS.Application.DocumentManager.MdiActiveDocument
  3.             Dim options As New CAD_EDI.PromptPointOptions(vbCrLf & "Укажите точку:")
  4.             Dim pr As CAD_EDI.PromptPointResult = doc.Editor.GetPoint(options)
  5.             ' коорд. точек беру из pr.Value.X, pr.Value.Y
  6.  
  7.  
Может имеет смысл прикрепить этот самый файл?
« Последнее редактирование: 26-12-2015, 20:23:56 от Александр Ривилис »

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Указание точки в AutoCAD с помощью API
« Ответ #1 : 26-12-2015, 20:23:29 »
Проверь текущую систему координат.

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

  • Administrator
  • *****
  • Сообщений: 13888
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Указание точки в AutoCAD с помощью API
« Ответ #2 : 26-12-2015, 20:24:25 »
Скорее всего ПСК != МСК
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Указание точки в AutoCAD с помощью API
« Ответ #3 : 26-12-2015, 20:29:47 »
Проверь текущую систему координат.
А какая команда про
Проверь текущую систему координат
Ввел команду ПСК
AutoCAD выдал вот это:
Начало ПСК или [Грань/именоваННая/ОБъект/преДыдущая/Вид/Мир/X/Y/Z/ZОсь] <Мир>:
Нажал Enter и все стало нормально.
Это что значит, в мировых коорд. нужно было сделать?

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Указание точки в AutoCAD с помощью API
« Ответ #4 : 26-12-2015, 20:31:53 »
Это что значит, в мировых коорд. нужно было сделать?
Это решать тому, кто создаёт чертёж. F1 никто не отменял в AutoCAD. В базе данных чертежа координаты хранятся в МСК.

Отмечено как Решение Алексей (IdeaSoft) 26-12-2015, 20:44:21

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

  • Administrator
  • *****
  • Сообщений: 13888
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Указание точки в AutoCAD с помощью API
« Ответ #5 : 26-12-2015, 20:35:53 »
Это что значит, в мировых коорд. нужно было сделать?
Это значит, что Editor.GetPoint возвращает точку в ПСК, а примитивы в dwg-файле в МСК. Так что, нужно точку трансформировать из ПСК в МСК для дальнейшей работы. Матрица преобразования ПСК->МСК может быть получена при помощи Editor.CurrentUserCoordinateSystem.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Указание точки в AutoCAD с помощью API
« Ответ #6 : 26-12-2015, 20:37:41 »
Скорее всего ПСК != МСК
А вот что было. Под компасом ПСК была "без имени"
я так понял, что задал "МИР" и все Ok!

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Указание точки в AutoCAD с помощью API
« Ответ #7 : 26-12-2015, 20:41:22 »
значок СК, если не отключен, чётко показывает, является ли текущая СК мировой.

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

  • Administrator
  • *****
  • Сообщений: 13888
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Указание точки в AutoCAD с помощью API
« Ответ #8 : 26-12-2015, 20:42:15 »
Крайне желательно писать программы, которые работают в любой ПСК, а не только в МСК.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Указание точки в AutoCAD с помощью API
« Ответ #9 : 26-12-2015, 20:46:32 »
Крайне желательно писать программы, которые работают в любой ПСК, а не только в МСК
Всем большое спасибо за ответы. Я учту это в разработках своих функций!