Перейти к публикации

NXOpen в какой системе координат возвращаются координаты точек?


Рекомендованные сообщения

Коллеги, добрый день!

 

Подскажите, пожалуйста, сабж.

 

Для аннотации в Моделинге получаю Annotation Data

 

irc = UF_DRF_ask_ann_data(&obj_tag, search_mask, &cycle_flag, ann_data, &ann_data_type, &ann_data_form, &num_segments, ann_origin, &radius_angle);
 
У аннотации есть линии (выноска, допустим). Получаю координаты точек концов этой линии
 
irc = UF_DRF_ask_ann_line_seg_ends(&i, ann_data, line_endpoints);
 
 
Точки двумерные. В какой они системе координат???
В документации не указано!
 
double line_endpoints [ 4 ] Output 2D coordinates of line segment
 
 
Подозрение, что они в системе координат плоскости, в которой аннотация нарисована. 
Но как плоскость получить?
На NXopen ничего не нашлось..
На NXOpen++ есть метод AnnotationPlane
 
Annotations::Annotation *annot = dynamic_cast<Annotations::Annotation*>(NXObjectManager::Get(obj_tag));;
Xform *plane = annot->AnnotationPlane();
 
Но метод возвращает ноль (указатель plane всегда равен нулю).
 
 
Подскажите, пожалуйста, в какой системе координат возвращаются эти точки line_endpoints??
 
Заранее спасибо!
Изменено пользователем void
Ссылка на сообщение
Поделиться на других сайтах


Считываю координаты прямо сейчас.. Для аннотации в Моделинге.

Они благополучно считываются.

 

Но, во-первых, они двумерные. Как эти точки построить в пространстве? Чему равен Z? 

Это ведь координаты на какой-то плоскости...

Точно не плоскости экрана (CurrentView), т.к. они постоянные.

 

Даже если построить с произвольным Z в абсолютной СК, то они совсем не там, где аннотация. 

 

Если функция  UF_DRF_ask_ann_line_seg_ends только для драфтинга (возвращает координаты в СК листа), то почему она возвращает и для моделинга некие числа?

Они же как-то считались, значит и обратно построить их точки можно... Или там пересчитать...

Ссылка на сообщение
Поделиться на других сайтах

Есть вариант решения этой задачи посредством САМ-модуля. Сделать обработку указанных кривых, прогнать постпроцессор (любой). Только не забудьте убрать круговую интерполяцию. Полученый результат будет в 3-х координатах и все они будут прописаны (X, Y, Z).

"Нормальные герои всегда идут в обход"...

Ссылка на сообщение
Поделиться на других сайтах

можно и не прогонять на пост, в CLS координаты тоже есть


Но, во-первых, они двумерные. Как эти точки построить в пространстве? Чему равен Z? 

Я думаю, надо смотреть у аннотации систему координат (там если память не изменяет несколько команд) и в ней брать плоскость XY, Z равна 0. Это только мои догадки.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...