Тема: acedGetPoint и (getpoint) работают по разному?
Собственно вопрос в теме. Через acedGetPoint не удается получить точку с помощью динамическиго ввода ("привязались" к точке, мышкой задаем направление, вводим значение).
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → ObjectARX → acedGetPoint и (getpoint) работают по разному?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Собственно вопрос в теме. Через acedGetPoint не удается получить точку с помощью динамическиго ввода ("привязались" к точке, мышкой задаем направление, вводим значение).
Странно. Должны работать одинаково.
Странно не то слово, тем не менее...
Версия AutoCAD? Версия ObjectARX? Укажи код и точную последовательность действий (в командной строке).
По ходу в ARX-ах не совсем правильно эта функция использовалась.
Было
AcGePoint3d pt; result = acedGetPoint(NULL, prompt, asDblArray(pt))
А надо, на сколько я понимаю
ads_point pt; result = acedGetPoint(NULL, prompt, pt)
Из-за этого может быть?
Так тоже должно работать.
P.S.: Я не получил ответы на свои вопросы. Так что проверить не могу. Увы.
Версия AutoCAD? Версия ObjectARX?
AutoCAD - 2005, 2008, 2010. Со своими ObjectARX есессьно.
Укажи код и точную последовательность действий (в командной строке).
Ну это очень большое приложение, писанное не мной. Косяк вот в этом месте
CString keywords; keywords.Format(....); int result = acedInitGet(RSG_OTHER, keywords); CString prompt; prompt.Format(....); AcGePoint3d pt; result = acedGetPoint( NULL, prompt, asDblArray( pt ) ); Ничего не возвращается
result = acedGetPoint( NULL, prompt, asDblArray( pt ) ); Ничего не возвращается
Это как?
Это как?
От разработчика
Но вопрос не в этом, т.к. если бы acedGetPoint получил что-то (хоть что-то), то он бы вернул код ошибки. А он не возвращает управление команде (при вводе координат по вашему сценарию).
Да, там ничего не возвращается - функция не возвращает управление.
Это из-за RSG_OTHER - любой ввод воспринимается как строка. В этом случае result == RTKWORD
Так и должно быть. И в лиспе тоже если задать (initget 128), то (getpoint) в этом случае вернет заданное расстояние в виде строки, а не точку. Учите матчасть. Замените RSG_OTHER на 0 и все должно быть нормально.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → ObjectARX → acedGetPoint и (getpoint) работают по разному?
Форум работает на PunBB, при поддержке Informer Technologies, Inc