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

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


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 пользователей

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




×
×
  • Создать...