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

Узловые точки note (или annotation)


Ug_user

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

Доброго дня!

Очень хочу :wallbash: программно получить координаты узловых точек ломаной полилинии, которой представляется надпись (объект note или annotation), неважно - в Drafting-e, Modeling-e или Manufacturing-e. Вариант с экспортом в CGM и последующим импортом не предлагать...

Была ли у кого-нибудь подобная задачка?

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


Доброго дня!

Очень хочу :wallbash: программно получить координаты узловых точек ломаной полилинии, которой представляется надпись (объект note или annotation), неважно - в Drafting-e, Modeling-e или Manufacturing-e. Вариант с экспортом в CGM и последующим импортом не предлагать...

Была ли у кого-нибудь подобная задачка?

Была сделана

Эта инфа есть в структурах которые возвращают драфтинговые функции

Следует также помнить что полилиний может быть несколько

и может быть все координаты лежат в одном одномерном массиве

В общем давно писал

Посмотри assoc_curve_tag-Это note

UF_DRF_label_info_p_t l_data=NULL;

irc=UF_DRF_ask_label_info(assoc_curve_tag, tmp3, &l_data);

if(irc) throw ug_err(THIS_FILE, __LINE__, irc);

l_data->leader_info->leader_pnts->num_segments;

&l_data->leader_info->leader_pnts->segment_pnts[0];

&l_data->leader_info->leader_pnts->segment_pnts[3];

UF_DRF_free_label(&l_data);

Еще посмотри

UF_DRF_object_assoc_data_p_t a_data=NULL;

UF_VIEW_type_t type; UF_VIEW_subtype_t subtype;

irc=UF_DRF_ask_associativity_data(assoc_curve_tag, &num, &a_data);

if(irc) throw ug_err(THIS_FILE, __LINE__, irc);

irc=UF_VIEW_ask_type(a_data[0].object_view, &type, &subtype);

if(irc) throw ug_err(THIS_FILE, __LINE__, irc);

if(type == UF_VIEW_DRAWING_MEMBER_TYPE)

{

irc=UF_VIEW_map_model_to_drawing(a_data[0].object_view,

a_data[0].assoc_point, a_point);

if(irc) throw ug_err(THIS_FILE, __LINE__, irc);

}

UF_free(a_data);

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

Была сделана

Эта инфа есть в структурах которые возвращают драфтинговые функции

Следует также помнить что полилиний может быть несколько

и может быть все координаты лежат в одном одномерном массиве

В общем давно писал

Посмотри assoc_curve_tag-Это note

UF_DRF_label_info_p_t l_data=NULL;

irc=UF_DRF_ask_label_info(assoc_curve_tag, tmp3, &l_data);

if(irc) throw ug_err(THIS_FILE, __LINE__, irc);

l_data->leader_info->leader_pnts->num_segments;

&l_data->leader_info->leader_pnts->segment_pnts[0];

&l_data->leader_info->leader_pnts->segment_pnts[3];

UF_DRF_free_label(&l_data);

Еще посмотри

UF_DRF_object_assoc_data_p_t a_data=NULL;

UF_VIEW_type_t type; UF_VIEW_subtype_t subtype;

irc=UF_DRF_ask_associativity_data(assoc_curve_tag, &num, &a_data);

if(irc) throw ug_err(THIS_FILE, __LINE__, irc);

irc=UF_VIEW_ask_type(a_data[0].object_view, &type, &subtype);

if(irc) throw ug_err(THIS_FILE, __LINE__, irc);

if(type == UF_VIEW_DRAWING_MEMBER_TYPE)

{

irc=UF_VIEW_map_model_to_drawing(a_data[0].object_view,

a_data[0].assoc_point, a_point);

if(irc) throw ug_err(THIS_FILE, __LINE__, irc);

}

UF_free(a_data);

Спасибо! Погляжу. Но первый пример выдает только координаты линий-выносок-стрелочек,но никак не сегментов букв.

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

К сожалению....

Предложенные процедуры показывают только точки на выносках.. Я слепил пример, с подсветкой points.

Тем не менее, спасибо, Три Восьмерки!

Для объекта типа note выдает 0 ассоциативных объектов. будем искать...

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

Есть такой вариант:

1. Определяешь фонт

2. Определяешь какой символ надо "раздраконить"

3. Разкомпилировать фонт с помощью утилиты ugfontc.exe, получим текстовый файл с координатами точек каждой буквы.

4. В разкомпилированном файле находим нужный CHAR и считываем точки LM LD (Я так понимаю, что они в относительных координатах каких-то сделаны)

5. Ну и чего-нибудь сделать с ними (с координатами)

Сам не проверял, придумал на лету. Если получиться сообщите.

Удачи.

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

Для avd - Это как шутка физиков-ядерщиков - "Предложите самый дорогой способ определения постоянной Планка"..

Спасибо всем, я нашел решение! UF_DRF_render_text.

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

Для avd - Это как шутка физиков-ядерщиков - "Предложите самый дорогой способ определения постоянной Планка"..

Спасибо всем, я нашел решение! UF_DRF_render_text.

Видимо невнимательно прочитал пост

Такую тоже функцию знаю

Ты видно что-то типа "резиновой нити" пишешь или как это в UG называется Overlay Graphic Primitives

Как по другому эту функцию использовать не очень понятно

В общем тут могу посоветовать не забыть что в фонтах могут быть дуги

Хотя я не одного фонта с дугами так и не встречал

но в спец символах дуги есть

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Ahito
      Настроил уведомления в потоке работы через базу данных. Тестировал на своём ПК, всё работает идеально(поднял сервер PDM на своём ПК). Перенёс всё это на сервер, уведомления не работают. Может кто сталкивался и знает решения, подскажите, пожалуйста.  
    • Cas
      @roiman Ну Вы серьезно? Вы сомневаетесь, что производственник посмотрев на чертеж и не увидев параметры шестерни начнет делать и не спросит - где взять параметры зацепления? Или что? Разнервничается и не станет выполнять заказ - если заказ ему интересен? Проблема только в том, что фирма, в которой я работаю - не РЖД и не Газпром и нам нужно изготовить всего 50 комплектов деталей в год. А не 50 тысяч комплектов. Вначале и был чертеж с таблицей. Проблем сделать таблицу с греческими буковками - тоже никаких. Но я лично сказал ему убрать и сделать сноску в т.т. на таблицу из Компаса. Все эти гигантские проблемы моего конструктора, на которые мне ВСЕ наперебой начали справедливо указывать - решаются за 2-3 минуты разговора с производственником - если на производстве, хоть раз изготавливали подобные шестерни и точили оси. "Веселые картинки", как вы сказали - превратить в чертеж - дело 10 минут. Причем в эти 10 минут входит пробежка по оформительскому ГОСТу.  Единственное здесь дельное  предложение прозвучало от Вас - разделить вал шестерню. Т.к. кроме как с помощью электроэрозии - я нигде не найду производство в РФ, которое бы взялось за выполнение моего заказа (с учетом количества и бюджета) 
    • Guhl
    • Guhl
      А вот тут вы пишете следующее: "отключите линейку сделайте semiclosed loop и никакого дрожания не будет" то есть вы советуете отключить, а не включить  Похоже это не я не понимаю как это работает, а вы То вы пишите отключить для борьбы с вибрацией, то вы пишите включить для борьбы с вибрацией. Так включить или отключить? Обычно @gudstartup в таких случаях включает игнор и гордо удаляется работать   @lem_on Я вижу ты принял участие в этой дискуссии Скажи, пожалуйста, что имеет в виду @gudstartup - включить или отключить?   Поясняю, отключая линейку (канал), тем самым мы отключаем эту функцию, потому что эта функция работает только с двумя каналами
    • gudstartup
      @Viktor2004 какое отклонение не сможет компенсировать система? читайте тему мне работать надо
    • Guhl
      меня интересует ваша трактовка перевода
    • gudstartup
      я вам ее привел в теме вы не читаете
    • maxx2000
      например построить поверхность по сети кривых
    • Guhl
      Почему вы не приводите вашу трактовку имеющегося документа?  
    • gudstartup
      ужас выпишите абсолютно исключающие вещи. чтобы вибрация пропала вам надо или устранить люфт либо ввести задержку и не отключать а включать эту функцию вы вообще не понимаете как происходит процесс регулирования ошибки позиционирования на этом все оставайтесь при своем мнении но заодно напишите запрос вфанук пусть они вам объяснят как и скакой частотой происходит регулирование контура тока и скорости а также почему ошибка позиционирования постоянно  учитывает датчик мотора .
×
×
  • Создать...