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

Как управлять внешними переменными деталей прям из сборки?


Safron_Gvidonovich

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

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

 

Вопрос как обратиться к переменной детали в сборке с именем "деталь_1" чтоб управлять внешней переменной "ширина" и "высота" и, имея набор исполнений сборочного чертежа - черпать данные из базы "bd" где i- вариант исполнения, и далее набор переменных по габаритам.

 

Сильно не пинать, я только учусь)

Ссылка на сообщение
Поделиться на других сайтах
  • ART закрыл это тему
  • ART разблокировал тему
  • 1 месяц спустя...


UnPinned posts
Богоманшин Игорь
8 минут назад, BSV1 сказал:

rec(bd1.WDmin<=WD,bd1.WDmax>WD)

А не будет ли более удобным в данном случае использовать функцию find? И сразу присваивать en?

Или это становится ненужным, так как строку уже узнали - Сафрон, что скажете?

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Богоманшин Игорь сказал:

А не будет ли более удобным в данном случае использовать функцию find? И сразу присваивать en?

Или это становится ненужным, так как строку уже узнали - Сафрон, что скажете?

если только по 1 значению, то да, но у меня в условие уточнить по каждому из параметров (WD и MASS) .Итог вышел что в первом параметре 3 строка, в втором параметре 4 строка, исходя из этих значений беру максимальное значение через max() и вывожу его итогом.

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

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

Подсобите с написанием формулы

если диапазон значения переменной "S" больше или равно 850 , но меньше 1300, то значение переменной L принять 1000, в остальных случаях 1500

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

Добрый день. Я опять с вопросм.

На этот раз с таким

$printDOV переменная для получения результатов с 2 других формул "$"+"EN{enmass}"+$printDOVtype

EN{enmass} - вычисляю класс нагрузки

изображение.png

$printDOVtype - вычисляю метод приложения нагрузки

изображение.png

Итоговый результат типо такого $EN4Rychazhnayatyaga

 

Вопрос, как теперь предыдущий результат "$EN4Rychazhnayatyaga" использовать как существующую переменную, так как из всех значений мне нужно было получить результирующее максимальное значений нагрузок из множества, а под каждый Конечный параметр есть свое условие

изображение.png

 

тем самым я в конечные переменные хочу вставлять типо $printDOV  и получать значения переменной из таблицы $EN4Rychazhnayatyaga, чтоб далее из выпадающих списков мне выбрать один из нескольких вариантов. Но значения $printDOV в другой переменной никак не выводится, и не могу его использовать как вложенную переменную.

 

Такая затея вообще реализуем средствами T-flex?

 

 

Изменено пользователем Safron_Gvidonovich
Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...
21.01.2021 в 14:07, Safron_Gvidonovich сказал:

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

С чего начал. Есть базовый вариант исполнения со своими зазорами от строительного проема и еще есть линейка размеров кратно 25 мм. В итоге я в сборке наделал кучу переменных с формулами для конечного расчета размеров по деталям, т.е высота косяков (вертикальных деталей), ширина косяка (горизонтальных частей), ширина и высота самой двери.

Вот теперь вопрос, ка все эти расчетные данные из сборке отдать в деталировку?.

К примеру высота полотна косяка Hk равна 2120-25 ( высота строительного проема минус зазор монтажный 25мм) и с учетом кратности линейки размерностей, ближайшая высота косяка может быть 2075 (т.е я выбираю гарантированный зазор 25мм , 2120-25=2095, а так как кратность размеров 25 мм то ближайший доступный размер 2075мм)

 

Теперь этот размер нужно передать в 3д модель косяка. Пробовал в сборку расчетные итоговые данные закидывать в БД и сохранить ее, а в деталях использовать внешнюю базу и вытаскивать размер, но выскакивала ошибка в сборке "рекурсия". Такой вариант тоже не прокатил, так как БД видимо не предполагает быть динамичной и меняться  исходя из изменчивых условий..

 

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

Кто подскажет куда копать?

 

 

 

 

1. Выполнить в файле сколько нужно 2Д чертежей, начиная с коробки и створки и заканчивая разметками под замки, выборками по противосъемы, развертками профилей, подсчетом длин европрофильных цилиндров для замков, межпетлевых расстояний, эскизы отделочных панелей с размерами...

2. Выполнить одну страницу в виде контроллера автоматизации.

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

*****

Ничего тут особо сложного нет!

Я такие контроллеры на двери делал сотнями...

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, mamomot сказал:

Я такие контроллеры на двери делал сотнями...

А я делал такое , полностью автоматом из размеров заказчика по двери!!! и не надо ляля..

Дверь заказывает заказчик габариты, все остальное учтено в опросном лсте . выбирается когфигурация и все.. само сторится и на гибку дается.. и даже программировать не нужно особо в САПР. Я делал это в солиде.

Ссылка на сообщение
Поделиться на других сайтах
Николай Павлов
21.01.2021 в 16:19, zobza сказал:

В деталях переменные помечаете как внешняя.

Вставляете деталь в сборку и вызываете контекстное меню детали - "Переменные".

В этом окне привязываете переменные детали к расчетным переменным сборки.

 

Так же можно привязывать переменные детали к переменным сборки в процессе вставки, пример из учебного пособия https://youtu.be/MOogx-hoV9U

У меня есть задача. Есть сборка, подсборка и деталь. Хочу, чтобы деталь менялась в зависимости от изменений переменных в сборке. 

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

При создании детали создал переменную N2 - межосевое расстояние. В сборке создал переменную N и указал необходимое  значение. В дереве построения нажал на деталь, выбрал "Переменные". Поменял там значение N2 и поставил N. В сборке размер меняется в соответствии с переменной - меняю переменную, меняется размер. Но в самой детали, когда делаю чертёж, размер как был , таким и остается. Как заставить переменную идти сверху вниз - не понимаю(

Ссылка на сообщение
Поделиться на других сайтах
Богоманшин Игорь
1 час назад, Николай Павлов сказал:

Но в самой детали, когда делаю чертёж, размер как был , таким и остается.

Вы спроектировали "снизу-вверх". Чтобы деталь могла автоматом меняться, надо проектировать "сверху-вниз" - то есть в сборке создается тело, с нужными ограничениями по переменным, далее "выгружается с сохранением ассоциативности" (со вставкой обратно или без - как удобнее) - в файле получившейся детали делаете чертеж. При изменении переменной в сборке выполняете операцию "обновить деталь" - чертеж перестраивается.

В вашем случае лучше работать через внешнюю базу данных - там менять переменные, тогда и детали, даже по первому способу сделанные, будут меняться.

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Николай Павлов сказал:

При создании детали создал переменную N2 - межосевое расстояние. В сборке создал переменную N и указал необходимое  значение.

При вставке детали в сборку поставьте галку "Автосохранение". Ну и Справку прочтите на эту тему (Создание сборки из 3D фрагментов).

 

SB2.gif

Изменено пользователем BSV1
Ссылка на сообщение
Поделиться на других сайтах
28.05.2021 в 15:02, Николай Павлов сказал:

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

Еще вариант, чертеж делать в файле сборки, или сборку в файле детали(тут же нет разницы), для не сложных моделей, и если надо быстро, вполне годный вариант, не однократно примененный. Минус только в необходимости не забыть нажать кнопку полного пересчета, в этом предыдущий вариант лучше.

Ссылка на сообщение
Поделиться на других сайтах
Богоманшин Игорь
28.05.2021 в 17:04, BSV1 сказал:

При вставке детали в сборку поставьте галку "Автосохранение"

"А что, так можно было?" (с) (сарказм, направленный на себя)

Спасибо!

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

Я снова к Вам за помощью. Нужен совет как отбирать данные , через БД или через формулы.

Имеется типоразмеры

300
405
505
605
705
805
905
1005
1105

 

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

 

Li=450 (расчетное) , то окончательное значение взять Lr=405

С такими большими выборками не cталкивался, поэтому потерялся.

Помогите если знаете решение.

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

@Safron_Gvidonovich 

можно через фунцию FIND:

Li=405

find(ИмяБД.Имя.Столбца, ИмяБазы.ИмяСравниваемогоСтолбца<=Li)   , где ИмяСравниваемогоСтолбца: это столбец, где записаны:

300
405
505
605
705
805
905
1005
1105
 

можно через frec :

ваш вариант где третий аргумент функции = -1

Безымянный.jpg

 

 

Ссылка на сообщение
Поделиться на других сайтах
16 часов назад, SAPRonOff сказал:

@Safron_Gvidonovich 

можно через фунцию FIND:

Li=405

find(ИмяБД.Имя.Столбца, ИмяБазы.ИмяСравниваемогоСтолбца<=Li)   , где ИмяСравниваемогоСтолбца: это столбец, где записаны:

300
405
505
605
705
805
905
1005
1105
 

можно через frec :

ваш вариант где третий аргумент функции = -1

Безымянный.jpg

 

 

Спасибо, 2 вариант подошел!

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • maxx2000
      @fenics555, я никогда не задавался таким вопросом, а можно ли отключить авторегенрацию компонентов или заморозить? Если прям опции нет, может через Тулкит или Апи?
    • fenics555
      штифты разрезные- понятно, что примонтаже изменяют размер по отверстию.  Резиновое кольцо уплотнительное- оно меняет не только диаметр наружный и внутренний, но и толщину. именно долго открываются сборки, содержащие эти изделия.  можно конечно и без нее обходиться, но мы уже привыкли. Только грузятся сборки очень долго, но это врятли из-за гибкости.
    • Viktor2004
    • UkulyAlex
      Добрый день. Работаю в t-flex 16. Имеется приспособление в котором более 150 позиций деталей, спецификация сделана по структуре изделия. Возникла необходимость изменения конструкции, некоторые детали из середины списка пришлось удалить. После обновления отчёта позиции сдвигаются, как сделать чтобы оставались на месте, т.е. был пропуск позиций в середине раздела "Детали"? 
    • статист
      Спасибо за цитату, полезная для меня   Я знал до этого способ использовать атрибуты LATT для задания направления, но они применялись только к построенным линиям. Если например рассматривать созданный элемент E, 1, 2, где для задания применяются только два узла, то тут уже никак не поменяешь положение третьего узла, так как его нет. Нужно тогда создавать отдельно направляющий узел  и задавать его через EMODIF,EID, 3, NID.   Но получается без создания узла, задать направление нельзя. В настране по крайней мере так можно. А в ансисе нужно плодить лишние узлы. Грустно)
    • FROST_R6
      Есть монорельса размером 12м. Хочу проверить перемещение при нагрузке на середину в 2 тонны. Саму монорельсу фиксировать не нужно, поэтому я поставил ее на 2 призмы и зафиксировал их. Расчет не получается провести - сначала программа пишет, что "деформация в данном исследовании слишком значительная и нереалистичная, хотите остановить программу и перезапустить исследование с меньшими нагрузками или с более жесткой моделью?". Я выбираю "нет". После долгого процесса расчета появляется сообщение о том, что "Состояние равновесия не было достигнута" и "Анализ больших смещений был остановлен до сохранения результата", появляется надпись о сбое расчета. 
    • maxx2000
      подгружаются при повторном открытии сборки или при первой вставке? Ну и гибкость сначала вызвала вопрос, но я не заметил существенной задержки при выборе способа вставки с ней или без неё.
    • Ветерок
      Я не понял зачем в этих деталях задана гибкость. При том, что новые значения размеров определяются не измерением, а вводом вручную.
    • BOJIOD9I
      Добрый день! Подскажите куда внести изменения на стойке fanuc 0i, чтобы когда вводишь коррекцию в графу износа она не отображалась на координатах. Пример: Резец точит размер 100 мм, по факту получается 101мм. В графе износ вносишь -1.0 мм. В итоге по координатам будет показано что резец точит 99мм, а по факту станет 100мм как нужно было.
    • ДОБРЯК
      Это есть в документации. Может быть эта информация будет полезна не только вам. https://www.mm.bme.hu/~gyebro/files/ans_help_v182/ans_elem/Hlp_E_BEAM188.html В этом разделе подробно написано Очень подробное описание этого элемента. Это элемент Тимошенко. Это надо учитывать используя этот элемент в расчетах. Остается только один вопрос зачем менять номер узла, если сразу можно задать нужный номер и менять его координаты?  
×
×
  • Создать...