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

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


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 пользователей

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




  • Сообщения

    • Alex1986
      Коллеги, подскажите, пожалуйста, как в имеющемся Компас 3D v20 в как-то сопряженных деталях сделать в одной детали отверстие, а во второй детали отверстие завязать на центр отверстия первой детали, чтоб при перемещении первого и перестроении, автоматически перестраивалось отверстие во второй?
    • Cas
      Это поможет в изготовлении? Вы в этом уверены? Я думаю, что Вы сильно ошибаетесь. Я бы с Вами согласился - если бы Вы мне написали - что вот - фирма по производству отличных мелкомодульных шестеренок. Но Ваши чертежи они понять не могут. Ладно, даже могут, но им дико неприятно (прям фу), потому что там действительно есть некорректная простановка базы, неправильные геометрические допуски и т.д. НО... ситуация то не такая. Чертеж поправить - не сложно, но от этого производитель не найдется, к сожалению.  
    • Shoker
      Конструктора поменяйте на нормального, может будет делаться то, что надо
    • Liga
      Разобрался, реакции можно вытянуть и из МКЭ расчета, но только после правильного закрепления. Сверху - снизу Спс за наводку    
    • Cas
      Вот это дельное предложение. Спасибо. Боюсь, что так и придется делать. Т.к. найти изготовителей мелкомодульных шестерней - прям проблема оказалась. Насчет терпеливого оператора - то точно нет. Не на мелкосерийке. Насчет таблицы - не понял. Ее на чертеже специально нет - она отдельная, что указано в требованиях. Насчет прогресса - то откуда ему взяться то?
    • roiman
      Переделайте конструкцию валов-шестерен, раз проблема с изготовлением. Сделайте шестерни съёмными, на шпонках, хоть с прессовой посадкой. После этого шестерни можно будет изготовить в любой конторе с проволочником. Или тем же проволочником при помощи такой-то матери и терпеливого оператора - с перестановом, с технологическим шестигранником на конце вала для закрепления в тисах, к примеру. Шестигранник после прожига обрезается. Ну или хоть прошивной электроэрозией, если содержимое кошелька позволяет. Но нужна приспособа с поворотом, которая не у каждого есть.   Конструктора найдите другого. Это весёлые картинки, а не чертежи. Хоть бы таблицу с параметрами зацепления привели. Может и дело  было не в разбитом станке, а в способностях конструктора... И кто-то мне говорит, что всё нормально и прогресс. Ни чертежи уже не можем сделать, ни изготовить наипростейшее прямозубое цилиндрическое зацепление...
    • Chuvak
      Я не занимаюсь изготовлением) Но конструктор должен сразу делать нормальные чертежи изделий и знать как их будут изготавливать
    • mmaag
      Допуски на размеры толщины зуба s, w, M имеют допуски в два минуса, т.е. задают гарантированный боковой зазор. Это противоречит требованию об отсуствии люфта. Требование об отсутствии люфта в свою очередь противоречит работоспособности. Оформление сырое. Правильно оформленный чертёж поможет более адекватно оценить трудозатраты и риски и, следовательно, может помочь найти изготовителя. Совет: если у вас есть функциональные требования, то оформляйте их. Это может упростить требования к точности.
    • Cas
      Ну лично я не оформлял.  Соглашусь, что перпендикулярность некорректно поставлена.  Может еще что-то.  Но мне детали нужны для нашего изделия, а не чертежи идеально правильные.  Я себе слабо представляю технолога, который не поймет по этому чертежу, что от него хотят. Я согласен с Вами полностью, что надо оформлять все правильно по ЕСКД. Если Вы мне поможете в изготовлении детали, то заставлю я своего конструктора поставить правильно Базу и перпендикулярность на биение заменить.
    • Chuvak
      Вы разрабатывали валы и оформляли данные чертежи ?
×
×
  • Создать...