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

Как назначить материал в 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 пользователей

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




  • Сообщения

    • djtim
      Здравствуйте. Еще один вопрос от новичка. Мне кажется что это простая задачка. Есть некая платформа, состоящая из- 1. базы (верх и низ), толщина листа 2.5мм. 2. опоры (4 шт), толщина листа 2.5мм. Швеллер. 3. боковой обшивки (2шт), толщина листа 1мм.   Платформа крепится к фундаменту анкерами. Опоры крепятся к базе болтами. Обшивка по периметру приваривается к базе сверху и снизу). Габариты платформы 700*500*300мм. На платформе стоит изделие (около 300кг).   Прошу подсказать как правильно наложить ограничения для линейного расчета по статике. Хотелось бы выяснить минимальную толщину стенок базы и опор. Про неудачную конструкцию опорных места швеллера знаю, но вопрос не в этом. По ограничениям: - отверстия для анкера жесткой зафиксированы. - как соединить швеллер с базами? -как соединить обшивку с базами?   Спасибо.    
    • Docuk1
      Именно так и делаем. НО если есть возможность дописать пару строк кода и забыть, то было бы вообще хорошо
    • bsaidov
      Они у вас автоматически появились или принудительно добавили в Expressions? У меня вот нет таких. 
    • djtim
      а, так это просто эскиз силовых элементов. В готовом изделии все закрывается декоративной панелью/корпусом
    • Марсель
      Книга Проектирование систем. Диксон. Пылесоса и пр. там нет, но есть  В книге автор разбирает несколько прикольных проектов, напр. воздушно-водяная ракета. Решает производственные задачи. Также посмотрите двухтомник Детали машин М.Н. Иванова. Разбор проекта лебёдки Одегова. Орлов. Основы конструирования. Про насос.
    • Fedor
      Ошибки не вижу. Вижу что некрасиво. Для таких изделий стоит обратиться к архитекторам. Делать красиво их учат :) 
    • djtim
    • AlexKaz
      Спрашивать в интернете бесполезно о таких вещах. Либо Вы конструктор и ручками участвовали в создании изделий для рынка, либо студентов Вы потеряете. Шансы подготовить студентов, не имея минимального опыта, околонулевые. Лучше 10 раз подумать, и по возможности привлечь к преподавательской деятельности конструктора с опытом. За отдельную оплату.
    • AlexKaz
      Странно, что об этой проблеме 8 млрд. чел. не в курсе, но препод ни в зуб ногой. Если в гугле вбить "COFFEE MACHINE patent", находится всё. Это был первый этап. Второй этап - взять любую программу обучения инженеров-конструкторов, например, специальности 15.03.01-15.03.02-15.03.03, и осознать, что подобные чайники без соответствующей подготовки сделать невозможно. Третий этап - КД. Вам её никто никогда не отдаст. Это ноу-хау фирмы. Даже если в КД один единственный чертёж с единственным болтом - в интернет это не выложат. Расчётную часть тоже не выложат. Поэтому лично я всегда отношусь скептически к вузовским инженерам, никогда не работавшим в КБ или в частных фирмах, связанных с прямым производством. Они вообще не понимают, что происходит на производстве.
    • статист
      Reduced Order Modeling of Coupled Domains  
×
×
  • Создать...