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

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


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

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




  • Сообщения

    • Viktor2004
      Это я не пробовал. Утверждать не буду. При случае проверю Но думаю если его правильно записать, все должно запуститься. Софт ведь одинаковый Чем это отличается от замены платы FROM/SRAM? Ничем. Там только OPRMINF и отличается. Ну может еще ID контроллера GBDriver
    • gudstartup
      и не только из за того что вы думаете. чужой oprm просто не может прочитаться на другом чпу
    • paull3
      Принято, спасибо! буду шевелить платы
    • Nastyrnuy
      Теперь понятно! Вы шли не в том направлении, и помощеиков не туда завели!!! у Вас Проц и комп оператора тоже 3 платы( но совсем другие (еще Мультибас 1 чисто Интеловский) SBC08, 80/10 KCB 01/04, но диск у Вас электронный( который состоит из 12 или 14 ЕПРОМОВ и при всем желании и старании с дискет Вы ничего не сможете туда загрузить! Скорее всего  у Вас просто неконтакт, в пред постах там тоже на эту же тему многго что написано. Просто на SBC 08 херов туча наездников( и эл диск, и контроллер флоповода, и мат сопроцессор..!
    • paull3
      да, стойка CD, чуть позже прикреплю фото, ... получилось добавить , вот чт он показывает при загрузке и дальше не идёт...
    • Nastyrnuy
      Где то тут путаница идет... не совпадние (жесткий диск (он жесткий или элетронный диск?)), есл жесткий диск то флоппик  точно 1.44 и эмулятор можно на 1ю44, Но если вы используете эмулятор на 720 то это как правило серия станка не CF а CD....и.т.д поэтому фотки давай и станка серию и тип, и плат, и ошибку на экране где Биос кажет и флорри и диск, а то мы все тут будем по разному понимать..!
    • Viktor2004
      Вы же лучше меня знаете что запрсто записать на машину не только чужой, но и свой OPRMINF не получится
    • gudstartup
      полная чушь если ид меняется ошибка 5523 гарантирована иначе чужо ой oprminf запросто можно было бы записать на любую машину
    • paull3
      Всем добрый день! докладываю - 1) батарейка живая и после отключения от сети на сутки показала 3,63в, 2) записал файлы из архива на юсб флешку размеролм 720кБ - вставил в эмулятор, затем включил станок- станок никак не отреагировал, флешка вроде как считалась( индикация светодиодом на ней) 3) сделал загрузочную дискету дос, удалил файлы те что там записались и записал из архива - вставил в дисковод, включил станок- реакции не последовало, ...индикации и характерных звуков считывания не было, возможно неисправен дисковод, хотя когда переключал его на эмулятор он был исправен....   Добрый день, посмотрю, напишу  
    • Nastyrnuy
      Не, загрузочная не помешает! Анатолий правильно говорит, у станков серии CF FCки разные могутьбыть! И причем это даже не напрямую от серии CF Зависит, а от конфиги трех плат которые составляют комп оператора. так Паюль фоткай морды этих плат тоже( они там могут быть из 3 плат самая правая PEC(o4/05/07) или 1(все в одном AMS-75(уже проц Пень 75)! )! Но, по любому станок уже в годах и винты не вечные, так что FC может и не смочь помочь с запуском станка(если винт сыпется..). А кстати JP soft у Вас запускается , или на отдельном компе проги рабочие пишете!!
×
×
  • Создать...