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

Получение информации о геометрии


faradenan

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

Необходимо получить информацию о гранях и ребрах детали. Удалось получить только их списки и определить тип, при помощи GetEdges() и GetFaces(). Дальше не могу понять, что с этим делать. JournalIdentifier содержит некоторые данные и при помощи GetLength() нашел длину. В Help’е больше ничего не нашел.

А хотелось бы узнать радиус, направление, центр, высоту и т.д. В общем, данные, описывающие геометрические характеристики граней и ребер.

В какую сторону мне копать?

Изменено пользователем faradenan
Ссылка на сообщение
Поделиться на других сайтах


А хотелось бы узнать радиус, направление, центр, высоту и т.д.

Направление?!...

Если говорить о UGOpen, то вам надо смотреть в сторону uf_eval.h. Там все это есть.

Ссылка на сообщение
Поделиться на других сайтах
Направление?!... Если говорить о UGOpen, то вам надо смотреть в сторону uf_eval.h. Там все это есть.

Да, речь идет об UGOpen, спасибо за совет, буду смотреть.

Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...

Еще возникла проблема: не могу понять, как получить доступ через NXOpen к заданным допускам формы и расположения (которые в навигаторе детали расположены в PMI). Кто-нибудь сталкивался?

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

Пример получения PMI:

void pmi()
{
 try
 {
 Session *theSession = Session::GetSession();
 Part *workPart(theSession->Parts()->Work());
    Part *displayPart(theSession->Parts()->Display());
 Annotations::PmiCollection *pmc=workPart->PmiManager()->Pmis();
 Annotations::PmiCollection::iterator pmc_itr;
 Annotations::Pmi *pmi1;
 int kol=0;char ss0[100];
 NXOpen::NXString line="",line1="",pmi="";
 //количество совпадает с числом PMI-объектов в навигаторе модели
 for (pmc_itr = pmc->begin(); pmc_itr != pmc->end(); ++pmc_itr)
    {
  kol++;
  pmi1=*pmc_itr;
 }//for
 }//try
 catch(exception& ex)
 {
  }
}

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

А само значение допуска ("Кадр"  в меню "Допуски формы и расположения") не подскажете, как получить? Все в PMI уже перерыл, не могу найти...

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

Скорее всего через

pmiFeatureControlFrameBuilder1 = workPart->Annotations()->CreatePmiFeatureControlFrameBuilder(pmi1);

а далее: pmiFeatureControlFrameBuilder1->Text()->...

Журнал вроде так советует...

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

Еще раз спасибо!

Только в CreatePmiFeatureControlFrameBuilder(pmi1), pmi1 должен быть NXOpen.Annotations.Fcf (FutureControlFrame), а не NXOpen.Annotations.pmi

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

А есть ли для C# аналог UF_BREP, с помошью которого можно получить ту же информацию? Особенно нужна информация о LOOP'ах. UFBrep класс для C# воодще не понятно для чего нужен. Ну или я не понимаю как им пользоваться.

Изменено пользователем faradenan
Ссылка на сообщение
Поделиться на других сайтах

Ну UFBrep и должен содержать эти самые обёртки

Contains wrappers for all 'UF_BREP' functions and data types.

Но походу Сименс это ещё не допилил :)

 

P.s. смотрел по докам 8ки

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

Ну да, походу не допилили... Других способов получения границ(loop) граней, я не могу найти :(

Изменено пользователем faradenan
Ссылка на сообщение
Поделиться на других сайтах

Если в классах Net что то не реализовано (а поиск находит какие то brep/loop),

то можно  вызывать из C# напрямую исходные функции UGOpen.

Хотя это бывает и не совсем просто из за сложных аргументов (структур, указателей...).

Как вариант можно написать свою dll с кодом UGOpen и оттуда передавать в удобном виде данные в C#...

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

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