Jump to content

Расчёт балочной конструкции


Recommended Posts

В общем просчитывалась следующая задача.
Имеется балка длиной 38 метров массой 73,4 т, переброшенная через пропасть. Поставлена задача по демонтажу балки, в наличии кран грузоподъёмностью 20 тонн. Для демонтажа была придумана следующая конструкция. Через пропасть перекидываются два двутавра, на них поперёк укладываются двутавры меньшего сечения, к ним подвешивается балка. Затем балка распиливается на 4 части и по частям демонтируется. Требуется определиться с параметрами двутавров.
Как это решалось в Solid’e. Построена модель, общий вид на картинке ниже.

5d96364566ded_.thumb.png.12e15d11f67a62f786445c0c0a57b907.png5d9636532a4d6_.thumb.png.4a3d9d4c13b717e91a3bdc7f52b39b45.png

Сначала в статике хотел просто нагрузить двутавры силой 73,4 тс, но получились дикие нагрузки порядка 1500 МПа, потому решил тупо добавить в расчёт четыре части балки необходимой массы, нагружать соответственно только силой тяжести. Все тела рассматривались как балки. Крайние точки главных двутавров жёстко закрепил. 
Провёл расчёт цельной балки, эпюры напряжений и перемещений ниже. Почему то Солид отказался отрисовывать профиль балок, потому диаграммы в виде сетки.
5d963681a03f7_1(1003).thumb.png.fd01d72f21a00125f5eb11bd4339cdf3.png5d9636a3d7404_1(1003).thumb.png.95e7d5f0d369716a1121b3518369c65c.png
Затем смоделировал процесс разрезания балки путём изменения типа соединения между частями балки с «Жёсткого» на «Шарнир». Пробовал заменять на «Салазки», что вроде бы более логично, но нагрузки при «Шарнире» получались выше, потому решил так оставить. Эпюры также привёл ниже. После разрезания незначительно выросли нагрузки, что вроде бы логично ввиду изменения жёсткости самой балки.
5d963692504ec_1(1003).thumb.png.9bfd0b0fc7d70ff025e22b81dd0df51f.png5d9636b639863_1(1003).thumb.png.bf52afdfc05e6eda37fb0a95b5933472.png
Процесс демонтажа части балки моделировал исключением части балки из расчёта, ну это уже не так интересно. 
Результаты вроде выглядят адекватно, хотелось бы узнать, не упустил ли я что-то, или может это вообще чушь вышла и всё это глупая затея. До этого с металлоконструкциями не имел дела, балки впервые для себя открыл, да и комп не вытянет такую сборку из расчёта 3 элемента по толщине двутавра. И точность вроде как не должна измениться сильно. Наверное и логичнее балками считать в данном случае.
Ну и может кто подскажет следующие моменты:
1. Как для данной конструкции задать массу балки не через тело? Чувствую, что я туплю, и можно было сделать проще. Дистанционной массы, давления и прочих нагрузок как в твёрдых телах нет, получается просто пересчитывать силу тяжести в пересчёте на узлы?
2. Почему не вышло отрисовать профиль балок? До этого отрисовывало простые балки типа труб, с двутаврами хрень какая то началась.
3. Корректно ли смоделировано разрезание балки? Возможно стоило части балки вообще изолировать друг от друга, без контакта.
4. Есть ли смысл просчитать задачу твёрдыми телами?
И вообще, если у кого какие мысли возникли, буду рад выслушать. 

  • Нравится 2
Link to post
Share on other sites


karachun

1. Силой.

3. Скорее всего да - если положить маленькие балки и прихватить их сваркой или болтами за нижнюю полку то это шарнир.

4. Нет.

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

Если конструкция из балок то сам Бог велел балками и считать.

konsol11.jpg

Link to post
Share on other sites
Борман
2 часа назад, stealth93 сказал:

подвешивается

20 тонн на пару двутавров, 10 тонн на один. Нужен расчет этого крепежа.

 

29 минут назад, karachun сказал:

3. Скорее всего да

Точно нет. Попробуйте одновременно разрезать полоску бумаги в трех местах. Пусть даже у вас будет бесконечное количество ножниц :)

 

PS.

А потом не возникнет задача по демонтажу двутавров ?

Link to post
Share on other sites
karachun
9 часов назад, Борман сказал:

Точно нет.

Почему? ТС задал сделал шарнирное примыкание маленькой балки к большой.

Я не о той балке думал - я думал это о степенях свободы маленьких балок. А так да - можно рассмотреть варианты когда балку разрезают по кусочкам. Но я не думаю что результаты сильно изменятся, но просчитать стоит.

@stealth93 А разрезаемая балка действительно выглядит как плоский лист или у нее другая форма?

Link to post
Share on other sites

Разрезаемая балка не лист) просто масса получившегося листа вышла нужной мне массы. Cечение балки примерно 3х2 метра.
Пробовал резать балку по очерёдно, результаты почти одинаковые при любом порядке разрезания.

Короткую балку посчитал, между делом немного подучил сопромат с термехом, только сейчас открыл для себя, что обозначают «палочки» и «кружочки» в закреплении))) почему этого в универе не объясняли, ну либо я так слушал. Вручую – 136 МПа, солидом для сравнения – 138 МПа, погрешность из за неточности при построении профиля балки, допустимо. Эпюра из солида ниже.

5d96f6a732e7e_.thumb.png.d14b73e8c58653005b60f5e78691ff17.png

Длинную балку тоже посчитал отдельно, по сути задачу можно было так и решить, просто посчитав две балки по отдельности. Но это неинтересно, да и мало ли)

5d96f6b409a1a_.thumb.png.3420faede61c377e565a526006ea5106.png

В сборе выявил такую картину. Чем объяснить перепад нагрузок между короткими балками? Эпюра ниже.5d96f7a99e7a1_.thumb.png.b4b89e8e8ae0c490c457ced54c833b5b.png

Пока рассчитывал короткую балку, разбирался с закреплениями, нашёл кучу ошибок у себя, спасибо за подсказку о креплении коротких балок.

1.       Края длинных балок (двутавров) до этого фиксировал жёстко, это конструктивно практически нереализуемо, сечение балки огромное. С шарниром нагрузки выше, но это ближе к реальности мне кажется.

2.       Края коротких балок опять же фиксировал жёстко, это в принципе можно реализовать, но много геморроя при демонтаже коротких балок будет. Реальнее закрепить шарнирно, как указывалось – приварить нижнюю полку. Самое странное – при расчёте шарнирного крепления короткой балки, нагрузки стали ниже. Не могу объяснить почему.

3.       Ещё странная ситуация – если демонтируемая балка (центральная) закреплена шарнирно, то есть её края лежат по краям пропасти, нагрузки ещё выше, чем в случае, если её уже подвесили. Объяснить это не могу, но ситуация с опорой будет присутствовать в любом случае, и меня это вводит в ступор.

В итоге наилучший вариант такой – длинные двутавры жёстко зафиксировать, короткие двутавры – шарнирно. Реальный – оба случая шарнирного закрепления. Эпюра ниже, нагрузки выходят за допустимые, не айс. Если короткую балку можно заменить на более прочную, то с длинными это предел. Разве что количество балок увеличить.5d96fb3f15e15_-.thumb.png.918fe871d171759c71a16f527c9bf61c.png

П.С. Совсем страшный случай: длинные балки – шарнирно, короткие балки – жёстко, демонтируемая балка также на шарнирах и уже разрезана.5d96fb55c41cb_.thumb.png.a109449b2da66b982967d913cdc46cd7.png

Теперь про крепёж. Есть проверенные в работе проушины, которые достаточно приварить в нужном месте. 15-18 тонн держат без проблем. Даже рым-болты на 10-20 тонн не экзотика. У коротких двутавров полка достаточного размера, чтобы выдумывать на ней всё, что угодно. Тросы не проблема. Ну это уже не моя задача.

Теперь задачка на комбинаторику) как демонтировать 20-ти тонным краном всю это конструкцию без остатка. Честно, я не вижу проблем, укажите, если что то упустил.
1. Собираем конструкцию вокруг демонтируемой балки.
2. Подвешиваем демонтируемую балку в воздух полностью, либо же выбираем свободный ход тросов, чтобы края всё ещё лежали, а конструкция уже приняла на себя вес.
3. Теперь два варианта. Первый вариант – режем на 4 части, потом подцепив краном два коротких двутавра и четверть балки всё это демонтируем в каком нибудь порядке, с краёв сначала например, или центральные, не думал ещё. Второй вариант – отрезали часть, сразу вынули, чередуем разрезание и демонтаж части. Нагрузка будет несимметрично распределяться при демонтаже, но думаю конструкции это уже не страшно.
4. Вес длинных балок около 12 тонн каждая, для крана их демонтаж не проблема.

 

Ну и, к сожалению, или, к счастью, похоже эта конструкция так и останется в моделях и расчётах. Слишком громоздко получается. Хотя и довольно бюджетно.

 

Edited by stealth93
Link to post
Share on other sites
13 часа назад, stealth93 сказал:

Имеется балка длиной 38 метров массой 73,4 т, переброшенная через пропасть. Поставлена задача по демонтажу балки, в наличии кран грузоподъёмностью 20 тонн.

А если применить другую схему:

- монтируем к мосту вантовые подвески, закрепленные вторым концом в располагаемом на берегу №1 наклонном противовесе,

- отрезаем свободную от подвесок часть моста у берега №2,

- смещаем точки закрепления подвесок ближе к берегу №1, регулируем противовес и повторяем второй шаг.

Что-то типа такого

Скрытый текст

inx960x640.jpg

 

Найдется на месте нужное пространство для подобных манипуляций?

  • Нравится 1
Link to post
Share on other sites
2 минуты назад, Intento сказал:

А если применить другую схему...

Неплохая идея, можно прикинуть ради интереса, но что то мне подсказывает, что для этой массы противовес будет диким

Link to post
Share on other sites
MotorManiac
14 часа назад, stealth93 сказал:

И вообще, если у кого какие мысли возникли, буду рад выслушать. 

Вроде как можно симметрию посчитать 1/2 задачи, размерность меньше и вроде как пишут стабильнее решение.

Link to post
Share on other sites
6 минут назад, MotorManiac сказал:

Вроде как можно симметрию посчитать 1/2 задачи, размерность меньше и вроде как пишут стабильнее решение.

Если твёрдыми телами считать - да, согласен. сейчас вся задача балками решается, пара секунд на расчёт, куда уж быстрее и стабильнее)

  • Нравится 1
Link to post
Share on other sites
MotorManiac
38 минут назад, stealth93 сказал:

закреплена шарнирно, то есть её края лежат по краям пропасти, нагрузки ещё выше, чем в случае, если её уже подвесили

Я конечно не строитель ) но мне кажется вы не учитываете тот факт, что она (лютая балка над пропастью) уже имеет какой-то изначальный прогиб.

Link to post
Share on other sites
16 минут назад, MotorManiac сказал:

Я конечно не строитель ) но мне кажется вы не учитываете тот факт, что она (лютая балка над пропастью) уже имеет какой-то изначальный прогиб.

да я и сам не строитель) прогиб присутствует, согласен. Причина прогиба - собственный вес. Потому в расчётной модели лютая балка присутствует как тело с заданной массой. Мне казалось, я учитываю изначальный прогиб именно заданием силы тяжести к телу. во всех расчётах в этой ветке по мимо сил присутствует сила тяжести.

конечно "лютая" как вы выразились балка у меня задана листом толщиной примерно 80мм, потому величина прогиба может быть неточной ввиду неверной жёсткости.

Edited by stealth93
Link to post
Share on other sites
AlexKaz

IMHO, обычная сопроматовская балка на двух опорах с постоянной распределённой нагрузкой

За ссылку можете не благодарить https://www.google.com/search?q=балка+на+двух+опорах+с+постоянной+распределённой+нагрузкой&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjkzNfOpoLlAhWFp4sKHcnyCMEQ_AUIEigB&biw=2000&bih=986#imgrc=Va7heK6UuS2ibM:

А теперь сюрприз-сюрприз: что будет, если по мегабалке пойдёт трак массой 40 тонн?

Link to post
Share on other sites
Raskat 1978

А какие размеры у демонтируемой балки?
Сечение двутавр или это сварная решётчатая конструкция?

Link to post
Share on other sites
12 минуты назад, AlexKaz сказал:

IMHO, обычная сопроматовская балка на двух опорах с постоянной распределённой нагрузкой

За ссылку можете не благодарить https://www.google.com/search?q=балка+на+двух+опорах+с+постоянной+распределённой+нагрузкой&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjkzNfOpoLlAhWFp4sKHcnyCMEQ_AUIEigB&biw=2000&bih=986#imgrc=Va7heK6UuS2ibM:

А теперь сюрприз-сюрприз: что будет, если по мегабалке пойдёт трак массой 40 тонн?

С шарнирно-опёртой балкой разобрались, спасибо)

а почему по балке должен пройти трак?) кран не планируется устанавливать на эти балки.

 

13 минуты назад, Raskat 1978 сказал:

А какие размеры у демонтируемой балки?
Сечение двутавр или это сварная решётчатая конструкция?

В теме вроде все размеры озвучил, разве что про конструкцию не говорил. Решётчатая сварная конструкция, примерно 38х2х3 метра. Масса 73 тонны

Link to post
Share on other sites
AlexKaz
3 часа назад, stealth93 сказал:

а почему по балке должен пройти трак?)

А, вкурил, задача демонтажа... Не заметил второпях. =)

Edited by AlexKaz
Link to post
Share on other sites
В 03.10.2019 в 21:04, stealth93 сказал:

Через пропасть перекидываются два двутавра, на них поперёк укладываются двутавры меньшего сечения

Нижние двутавры на пролете 38м депланируют. Их надо ставить парой, коробочкой. Всего 4 двутавра.

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

Рассмотрите такой вариант - у сущ.балки (фермы, моста) есть шарнирная опора и есть скользящая.

Подвешиваете у скользящей в одной точке и отрезаете, и так далее, как на рис.ниже:

Показать содержимое  

5d97af65f06a6_.jpg.3d2dc2f022d5eb9495872cdfce927e1d.jpg

Hide  

Пояснения: Красная - демонт.балка, синяя - балки подмости.

 

При этом максимальный момент М будет меньше, чем если резать всю к-цию на 4 части и вешать сразу на синюю балку (момент М2).

Также он будет ближе к краю балки, что хорошо.

По мере демонтажа масса уменьшается и момент соотв. тоже.

 

На это дело нужен ППРк со всеми расчетами, схемами, загружениями и стоянками крана.

Есть куча народу, аттестованных в РТН, которые с удовольствием и под свою ответственность это выполнят.

Link to post
Share on other sites
ДОБРЯК
В 03.10.2019 в 21:04, stealth93 сказал:

Через пропасть перекидываются два двутавра, на них поперёк укладываются двутавры меньшего сечения, к ним подвешивается балка. Затем балка распиливается на 4 части и по частям демонтируется. Требуется определиться с параметрами двутавров.
5d9636532a4d6_.thumb.png.4a3d9d4c13b717e91a3bdc7f52b39b45.png

двутавры меньшего сечения лежат на продольных двутаврах. Передать нужно только вертикальные усилия. Сечения продольных двутавров депланировать не будут.

Подвешивать балку желательно не за одну точку. 

Можете схематично нарисовать как в реальности будет подвешена балка? 

Edited by ДОБРЯК
Link to post
Share on other sites
В 05.10.2019 в 00:52, jtok сказал:

Нижние двутавры на пролете 38м депланируют. Их надо ставить парой, коробочкой. Всего 4 двутавра.

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

Рассмотрите такой вариант - у сущ.балки (фермы, моста) есть шарнирная опора и есть скользящая.

Подвешиваете у скользящей в одной точке и отрезаете, и так далее, как на рис.ниже:

Показать содержимое

5d97af65f06a6_.jpg.3d2dc2f022d5eb9495872cdfce927e1d.jpg

Hide

Пояснения: Красная - демонт.балка, синяя - балки подмости.

 

При этом максимальный момент М будет меньше, чем если резать всю к-цию на 4 части и вешать сразу на синюю балку (момент М2).

Также он будет ближе к краю балки, что хорошо.

По мере демонтажа масса уменьшается и момент соотв. тоже.

 

На это дело нужен ППРк со всеми расчетами, схемами, загружениями и стоянками крана.

Есть куча народу, аттестованных в РТН, которые с удовольствием и под свою ответственность это выполнят.

К 4 двутаврам просто исходя из недостаточной прочности уже пришёл. Про один подвес - выходит короткие двутавры заведомо большего сечения надо брать, чтобы один подвес выдержал вес 3/4 демонтируемой балки. Не лучше ли распределить на большее количество? По хорошему надо прикинуть просто.

ППРк разумеется будет, это так, проверка идей. Опять же повторюсь - идея скорее всего останется идеей ввиду громоздкости.

 

В 05.10.2019 в 13:53, ДОБРЯК сказал:

двутавры меньшего сечения лежат на продольных двутаврах. Передать нужно только вертикальные усилия. Сечения продольных двутавров депланировать не будут.

Подвешивать балку желательно не за одну точку. 

Можете схематично нарисовать как в реальности будет подвешена балка? 

Планировалось по 2 точки на каждый поперечный двутавр. Каким образом - не думал об этом, так как посчитал это второстепенной задачей)

Link to post
Share on other sites
ДОБРЯК
38 минут назад, stealth93 сказал:

Планировалось по 2 точки на каждый поперечный двутавр. Каким образом - не думал об этом, так как посчитал это второстепенной задачей)

Тогда и моделировать нужно через 2 точки. )

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • maxx2000
      попробуй ещё раз уточнить что конкретно тебя интересует: печать больших и сложных или твой вопрос касаемо больших и сложных. Конкретизируй что значит сложные, что значит большие и что значит большие и сложные. Я тебе прямо сказал. Просчитай себестоимость одной детали корпуса редуктора в полтонны весом в случае изготовления  по выплавляемой модели и стоимость оснастки для получения формы ХТС. И поймёшь в чём смысл 5 тонного принтера печатающего песчаные формы. ну-да, ну-да. предлагать восковку вместо песчаной формы напечатанной на этом принтере это не подставился. @Slavdos да какая разница, режим обиженки уже не отменить  @mamomot он спросил смысл, я предложил ему поразмышлять. Видать не дано, белена обиды застилает глаза, желчь изжигает внутренности и не даёт сосредоточиться 
    • AlexKaz
      В пнд-вт 9-10 дек. у Логос проходит оффлайн-онлайн конфа.  Регистрация для участия онлайн и оффлайн https://cae-conference.ru/   Примерная программа: - практики применения российских решений от представителей промышленности - доклады разработчиков и интеграторов рынка CAE - показ обновлённых возможностей пакета программ мат. моделирования и инженерного анализа «Логос» - открытая дискуссия пользователей, преподавателей и разработчиков ПО и продуктов СAE - участие в голосовании и опросах очно и онлайн ...   Неплохо бы добавить в дискуссию инженеров-конструкторов/проектировщиков. Послушаю, может что удастся выцепить из критичного.
    • Slavdos
      цитата не от того автора
    • s_liam
      А что измеряет и что задано изначально в длине? Сложно сказать так, нужны все циклы и подциклы. И в какой подпрограмме ошибка прописана, чтобы понять, что приводит к её возникновению. 
    • IgP
      Аааа, ну это стандартное решение от АСКОН: сделать тоже самое заново ... В данном случае установить ПО на ПК.
    • NDE
      Собственно доработка ПО, различные утилиты DLL (User functions), написанные с помощью UGOpen. Из NX необходимо читать (и по возможности записывать) атрибуты в BOM Teamcenter.  Ограничение версии NX - 10. А он, как известно, не умеет работать с атрибутами BOM line, с типами, отличающимися от строковых.   Пример, есть атрибут в BOM - номер вхождения с типом integer. При работе в NX необходимо знать, какой атрибут присвоен конкретному компоненту. Штатными средствами увидеть это невозможно (в сборку входит деталь несколько раз с разными значениями этого атрибута и просто визуально посмотреть в Менеджере структуры и потом в навигаторе сборки NX и понять, что к чему относится - невозможно). Да и каменный век это
    • IgP
      Ни hrena не понял ... Задачу бы лучше с технической/материалистичной стороны описали ...  
    • NDE
      Предисловие: "Или я слишком глубоко копаю и не вижу ответа на поверхности, или тут что-то действительно не так". Как организована интеграция NX и Teamcenter в части загрузки сборок и хранения информации о компонентах. Исходные данные: NX10, Teamcenter 11.6, испоьзование SOA из поставки NX, язык C/C++. Задача: из User Function NX читать атрибуты строк BOM и записывать их. Как я реализовал это сейчас:: Получаю сессию, открытую NX: NXOpen::Session *theSession = NXOpen::Session::GetSession(); NXOpen::PDM::PdmSession *thePdmSession = theSession->PdmSession(); connectionHandle = thePdmSession->GetSoaConnectionHandle(); Teamcenter::Soa::Client::Connection* tcSoaConnection = reinterpret_cast<Teamcenter::Soa::Client::Connection*>(connectionHandle->GetHandle()); Нахожу в базе ревизию сборки: dmSrev = Teamcenter::Services::Core::DatamanagementService::getService(tcSoaConnection); std::vector< Teamcenter::Services::Core::_2007_01::Datamanagement::GetItemFromIdInfo > query(1); Teamcenter::Services::Core::_2007_01::Datamanagement::GetItemFromIdPref pref; Teamcenter::Soa::Client::Model::ItemRevision *itemRevision; Teamcenter::Soa::Client::Model::Item *item; std::vector< Teamcenter::Soa::Client::ModelObject * > objs(1); query[0].itemId = object_id.GetUTF8Text(); query[0].revIds.push_back(object_rev.GetUTF8Text()); Teamcenter::Services::Core::DatamanagementService::GetItemFromIdResponse item_bom_response = dmSrev->getItemFromId(query, 1, pref); Создаю новое окно BOMWindow: itemRevision = item_bom_response.output[0].itemRevOutput[0].itemRevision; item = item_bom_response.output[0].item; bom_info[0].item = item; bom_info[0].itemRev = itemRevision; bom_info[0].clientId = "InfoDSERequest"; bom_info[0].bomView = nullptr; bom_info[0].objectForConfigure = nullptr; bom_info[0].activeAssemblyArrangement = nullptr; bom_info[0].revRuleConfigInfo = revRuleConfigInfo; Teamcenter::Services::Cad::StructuremanagementService *structServ = Teamcenter::Services::Cad::StructuremanagementService::getService(tcSoaConnection); Teamcenter::Services::Cad::_2007_01::Structuremanagement::CreateBOMWindowsResponse bomWindow = structServ->createBOMWindows(bom_info); topLine = bomWindow.output[0].bomLine; Дальше перебираю BOMLine, ищу UG ENTITY HANDLE, совпадающие с хэндлом в NX (с отбрасыванием от хэндла версионной информации, т.е. первые 28 символов): cur_line = dynamic_cast<Teamcenter::Soa::Client::Model::BOMLine *>(child_lines[i]); ent_handle = cur_line->get_UG_ENTITY_HANDLE(); UF_TAG_decompose_handle ((char*)ent_handle.c_str(), &file_data, &sub_file_id, &versio); child_file_data = file_data; UF_free(file_data); instance_file_data.resize(28); child_file_data.resize(28); if (!instance_file_data.compare(child_file_data) && instance_sub_file_id==sub_file_id) // Сравнение искомого компонента с каждой строкой BOMLine { Чтение атрибутов, например, seq_no = cur_line->get_bl_occ_int_order_no(); }   Считаю что это неэффективно, да и вообще неправильно. Если посмотреть, что создаёт NX в кэше SOA с помощью Teamcenter::Soa::Client::ModelObjectVector all_objs; tcSoaConnection->getModelManager()->getObjectsFromStore(all_objs); То мы увидим там и BOMWindow  и BOMLine и PSOccurrence и PSOccurrenceThread. Т.е. уже всё открыто и по идее надо работать именно с этими объектами. Но я, хоть убей, не могу найти связь между компонентом сборки NX и объектом TC. Максимум, что я накопал штатными средствами: Можно получить хэндл в БД для PendingComponents (естественно, NX Component для них ещё отсутствует). Хэндл имеет следующий вид: "wCpJ4WwyhfM7oB 0WhJ4WwyhfM7oB 2tpdxbGAhfM7oB". Это 3 UIds в Teamcenter. Первый - это UId айтема/ревизии, второй - PSBOMView, третий PSOccurrenceThread. Не штатными средствами, если импортировать функцию UGMGR_NX_ask_db_comp_handle_uids из LIBUGMR.DLL, можно получить такой же набор UIds для любого компонента NX или только PSOccurrenceThread  с помощью UGMGR_NX_ask_occ_thread_of_instance: HINSTANCE lib = nullptr; typedef int(__cdecl *INT_TAG_CHAR_PROC)(tag_t, char **); typedef int(__cdecl *INT_TAG_CHAR3_PROC)(tag_t, char **,char ** ,char **); INT_TAG_CHAR3_PROC UGMGR_NX_ask_db_comp_handle_uids; INT_TAG_CHAR_PROC UGMGR_NX_ask_occ_thread_of_instance; lib = LoadLibraryA("LIBUGMR.DLL"); UGMGR_NX_ask_db_comp_handle_uids = (INT_TAG_CHAR3_PROC)GetProcAddress(lib, "?UGMGR_NX_ask_db_comp_handle_uids@@YAHIPEAPEAD00@Z"); UGMGR_NX_ask_occ_thread_of_instance = (INT_TAG_CHAR_PROC)GetProcAddress(lib, "?UGMGR_NX_ask_occ_thread_of_instance@@YAHIPEAPEAD@Z"); tag_t inst_tag = UF_ASSEM_ask_inst_of_part_occ(pComponent->Tag()); UGMGR_NX_ask_db_comp_handle_uids(inst_tag, &buf, &buf1, &buf2); UGMGR_NX_ask_occ_thread_of_instance(inst_tag, &buf);   Эти функции написаны на C без использования ООП, поэтому мне удалось их использовать. Аналогичных функций в UGOpen я не нашёл. В принципе в LIBUGMR.DLL имеются функции для работы с BOM, но они уже на C++  с использованием классов, а лезть в это без исходной документации не лучшая идея. Да и противоречит лицензионной политике .   И вот собственно вопросы. 1. Как перейти от PSOccurrenceThread к PSOccurrence или BOMLine? (Для этого нужно знать, в каком BOMWindow искать). 2. Как найти нужный BOMWindow?   Примечания: 1. Может быть есть штатные функции получения хэндла в БД на основе instance или occurrence в NX? 2. NX создаёт BOMWindow в следующих случаях: при первом открытии сборки. отдельные BOMWindow для подсборок не создаются. Но если сначала открыть подсборку, а потом вышестоящую сборку, то в системе будет создано 2 BOMwindow. 3. NX не закрывает созданные BOMWindow до конца сессии (видимо поэтому и память потребляет как не в себя). Например, если открыть сборку, потом закрыть её и снова открыть, NX создаст 2 BOMWindow.
    • KSVSVK
      При расчете оболочечной конструкции требуется указать толщину. Этот же размер используется при построении стыкуемых с ней элементов. Естественно хочется задавать его только один раз. Использование размера с эскиза - скелетона в сборке оказывается невозможным. Поэтому в сборке задаю глобальную переменную и присваиваю ее размеру. Теперь нужно установить ее в качестве связанного значения толщины оболочки в Simulation. Объединяю несколько оболочек в группу и в ее свойствах пытаюсь поставить значение. В выборе параметров определяю новый и задаю значение глобальной переменной При этом, несмотря на то, что переменная выше определена с размерностью "мм", здесь единица измерения оказывается "N/A" После применения изменений возвращается предыдущее окно с пустым списком, т.е. введенная переменная не отобразилась. Как задать такую связь?
    • Maik812
      Ты просто хамло и с тобой нет разговора. я вопрос задал как печать сложные детали. что касаемо больших и сложных был вопрос кстати!
×
×
  • Create New...