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

Назначение плотности элемента не работает


Navakost

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

Уважаемые знатоки!

Пишу макрос (журнал) для вычисления массовых характеристик сборочных единиц (масса, цм, моменты инерции и т.п.). Хотел назначать массу входящим деталям изменяя их плотность.

Выяснить текущую плотность (и массу и все прочие характеристики) для отдельных тел смог. Но вот не получается назначить плотность (пробовал сделать это двумя путями). Система ругается (см рисунки).

coll_1.Add(nextTag)
ufs.Modl.AskMassProps3d(coll_1.ToArray, coll_1.Count, 1, 4, 0.03, 1, acc_value_1, mass_props_1, stats_1)
Dim oldMass As Double = mass_props_1(2)
theLv.WriteLine("Старая масса элемента" + oldMass.ToString)
Dim newDens As Double = 15/oldMass*dens
theLv.WriteLine("Новая плотность элемента" + newDens.ToString)
Dim obj_01 = ObjectFromTag(nextTag)
Dim body_01 As NXOpen.Body = obj_01 
MsgBox(body_01.density)
'body_01.Density = 1000.0					'Стр 106 ' И так ругается
ufs.Modl.SetBodyDensity(body_01.Tag, UFModl.DensityUnits.KilogramsMeters, newDens) ' И так тоже ругается

помогите разобраться как назначить элементам плотность.

Clipboard01.png

Clipboard02.png

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


А зачем для данной задачи писать макрос/журнал ?
Это давно решено/реализовано стандартным функционалом NX.

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

Здравствуйте, @IgP !

Имеется проектная трехмерная прорисовка сборки из ~20 элементов. Она несколько упрощенная но на ее базе этой упрощенной геометрии можно 
с необходимой точностью расcчитывать положение центра масс и моменты инерции сборки.
А массы отдельных компонентов назначаются по результатам более детальной проектной проработки этих компонентов. 
Поэтому чтобы получить проектные значения положения ЦМ и МИ упрощенным геометрическим объектам, представляющим компоненты, и надо назначить массы.
Мне казалось, сделать это просто переназначив плотности элементов - подогнав их под требуемые значения масс компонентов. 
И сделать это, казалось, легко при помощи журнала. 
Средствами NX назначить плотность элементов не так-то и просто, делать это у меня получается только через назначение плотности материала - очень неудобно при проработке вариантов сборки 
(допустим 10 вариантов по 20 элементов). 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
    • gudstartup
      да информация о решенной проблеме очень важна так что будем ждать хороших новостей!
    • mrVladimir
      @gudstartup Спасибо Вам за помощь. Теперь дело в приобретении платы. Как что-то получится (сперва приобрести, потом поставить) обязательно отпишусь.
    • gudstartup
      а как вы taxid фирмы нашли?
    • gudstartup
      все что я написал в цитате выше по теме полная фигня в связи с вновь приобретённой информацией. можно менять любые компоненты в пределах серии чпу если только не меняете по или записываете oprminf но  всегда могут быть нюансы  @mrVladimir все должно получиться извините за то что выдал непроверенную информацию за мнение типа знающего эксперта оказывается я 
    • malvi.dp
      Какое у детали имя файла и как формируете Обозначение и Наименование? Вы каждое исполнение сохраняете в новый чертеж? Или это групповой чертеж? Если групповой-то имя конфигурации в нем быть не должно. Стоит ли галочка "Исполнение" "Из конфигурации"? На сколько мне не изменяет память макрос сохраняет файл чертежа с тем же именем что и файл модели в папке модели. В спецификации все правильно отображается, даже если знаков исполнений больше трех  
    • gudstartup
      и главная деталь чтобы на системе была remote option system а именно файл oprminf.000 c сертификатами и были ли проблемы с ними после замены компонентов.
    • boomeeeer
      с него родимого
    • Grundick
×
×
  • Создать...