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

Как назначить материал в NX4?


Defender

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

Здравия, всем!

Возникла острая проблема. Нужно назначить материал на твердое тело из программы.

Вообще интересует задание различных параметров, а не просто выбор материала из библиотеки. Но если подскажите как назначить материал из библиотеки материалов - буду счастлив.

Изучил справку вдоль и поперек. В NXOPEN.UF.UFWEIGHT есть функции задающие weight referense set на основе ссылочного набора детали.

В NXOPEN.UF.UFsf есть LinkMaterial, но по другим членам этого класса явно видно что разговор идет о "расширенной симуляции" - о сетках, FEM-ах, SIM-ах и прочем.

В NXOPEN.UF.UGLib есть запросы к библиотекам. Но складывается впечатление, что с материалами это вообще не связано.

В моделировании, т.е. UFModl, есть установка плотности на тело. Она работает, к телу действительно приписывается плотность. Но мне нужно, чтобы создался материал в списке материалов, и чтобы можно было задать другие свойства материала.

Натыкался на функции запроса материалов из библиотеки. Но во-первых, не понятно как его потом назначить. Во-вторых, моя задача стоит отдельно от библиотеки материалов.

Заранее благодарен!

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


Эти ф-ции (UGOpen) afaik будут работать только со старой библой материалов iso/ortho/aniso/fluid (phys_material.dat)

//Запросили все (или по типам) материалы в библиотеке

UF_SF_ask_library_materials

//прицепили/отцепили материал от body

UF_SF_link_material/UF_SF_unlink_material

//спросили назначенный материал у body

UF_SF_locate_material

//!!возможно!! отредактирует параметры материала в части (не в библиотеке)

UF_SF_update_material

//создали материал и его св-ва врукопашную

UF_SF_create_material

//!!возможно!! отыскали материал по имени в части (не в библиотеке)

UF_SF_locate_named_material

//получили свойства материала (в части)

UF_SF_ask_material

//

Для NXOpen (должно работать и со старой библой phys_material.dat и с новой (MatML)) :

NXOpen::Session * nxsess = NXOpen::Session::GetSession();

NXOpen::Part * wp = nxsess->Parts()->Work();

//материалы в части (если они есть)

NXOpen::PhysicalMaterialCollection * materials = wp->MaterialManager()->PhysicalMaterials();

//затаскиваение из "своего" xml

m_part->MaterialManager()->PhysicalMaterials()->LoadFromMatmlLibrary();

... дальше писать лень, так как вопрос о UGOpen :)

Regardzzz ...

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

Проблема осталась, увы!

У меня нет таких функций, как:

UF_SF_update_material

UF_SF_create_material

NXOpen::PhysicalMaterialCollection * materials = wp->MaterialManager()->PhysicalMaterials();

Их нет и в справке, и так же не видно во время программирования.

Непонятно, почему что-то из описываемого вами у меня в UF_SF есть, а чего-то нет.

Никаких намеков на Material Collection() тоже нету.

Как быть?

Пишу в MS Visual Studio 2003, на Vb.NET.

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

Непонятно, почему что-то из описываемого вами у меня в UF_SF есть, а чего-то нет.

Тут все просто :) Я описывал C/C++ API, а у тебя VB.NET (сорри, я проглядел это в изначальном посте).

Соответственно, в NXOpen API для С#/VB.NET есть так называемый мост на старый API (user function).

Это набор классов / методов в NXOPEN.UF.*

К сожалению, методы, предоставляемые этим мостом, есть не ко всем ф-циям из старого API.

Но ещё ничего не потеряно. Мы же можем заюзать DllImport и вызвать все C API ф-ции напрямую из managed кода.

Regardzzz ...

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

К сожалению, методы, предоставляемые этим мостом, есть не ко всем ф-циям из старого API.

Но ещё ничего не потеряно. Мы же можем заюзать DllImport и вызвать все C API ф-ции напрямую из managed кода.

Чем больше узнаю, тем сильнее ощущается то, как мало я знаю.

Звучит многообещающе, но про DllImport и С-функции я совершенно не понял.....

ps. успокаиваю себя мыслью, что по образованию конструктор, а не программист ))

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

Эти ф-ции (UGOpen) afaik будут работать только со старой библой материалов iso/ortho/aniso/fluid (phys_material.dat)

//Запросили все (или по типам) материалы в библиотеке

UF_SF_ask_library_materials

//прицепили/отцепили материал от body

UF_SF_link_material/UF_SF_unlink_material

//спросили назначенный материал у body

UF_SF_locate_material

//!!возможно!! отредактирует параметры материала в части (не в библиотеке)

UF_SF_update_material

//создали материал и его св-ва врукопашную

UF_SF_create_material

//!!возможно!! отыскали материал по имени в части (не в библиотеке)

UF_SF_locate_named_material

//получили свойства материала (в части)

UF_SF_ask_material

//

Для NXOpen (должно работать и со старой библой phys_material.dat и с новой (MatML)) :

NXOpen::Session * nxsess = NXOpen::Session::GetSession();

NXOpen::Part * wp = nxsess->Parts()->Work();

//материалы в части (если они есть)

NXOpen::PhysicalMaterialCollection * materials = wp->MaterialManager()->PhysicalMaterials();

//затаскиваение из "своего" xml

m_part->MaterialManager()->PhysicalMaterials()->LoadFromMatmlLibrary();

... дальше писать лень, так как вопрос о UGOpen :)

Regardzzz ...

а вот функцией LoadFromMatmlLibrary("name") мы загружаем материал с определенным именем. А как получить все материалы, которые есть в библиотеке?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

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