Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Перевязка рядов фундамента из блоков в T-Flex
 
Доброго времени суток!
Разрабатываю в T-Flex параметрическую модель фундамента здания из блоков ФБС. Столкнулся с вопросом перевязки блоков.
Допустим, есть стена из двух рядов по высоте. Каждый ряд состоит из различного количества блоков ФБС и монолитного участка. Блоки ФБС могут быть следующей длины: 2400мм, 1200мм, 900мм. Количество этих блоков ,их порядок, длина заделки - заранее не известны, они зависят от длины ряда (т.е. от вводимой пользователем длины стены) и условия минимальной длины монолитного участка. Блоки верхнего ряда должны перевязываться с блоками нижнего ряда, т.е. каждый верхний блок должен заходить за блок под ним на определенную минимальную длину.
Интересует, как в ТФ это реализовать? Система должна перебирать каждый блок (его координату), проверять условие на перевязку с нижним блоком (сравнивать с его координатой), если оно не выполняется - менять местами блоки и заново проверять. Возможно ли как-то реализовать циклы в ТФ ? Как-то систематизировать, найти какую-то зависимость между количеством блоков, их порядком и длиной ряда найти не удалось. Вижу только перебор, хотя это слишком громоздко и при большом количестве блоков может серьезно увеличить время перебора. Может есть какие-то идеи?
Прикладываю скрин. На нем два варианта стены из двух рядов длиной 8400. Ряд состоит из блоков 2400 (красные), 1200 (синий), 900 (зеленые), и монолитной заделки (розовый). Верхний вариант правильный (соблюдается перевязка), нижний - нет.
 
Meloncito, если задача решается математически, остальное не проблема. На сколько я понимаю, вам нужно получить минимальный остаток от деления. Первый вариант распределения блоков составлен из двух асимметричных копий (ряда). То есть, по факту нужна оптимизация только одного ряда, остальные дублируются. Реализуется это дело с помощью линейного массива с переменной длиной блоков и шагом.
T-FLEX CAD 15.1.68.0
 
Цитата
Meloncito написал:
Верхний вариант правильный (соблюдается перевязка), нижний - нет.
Вот мне не ясно почему верхний верно, а нижний, нет, а раз мне не ясно, то как системе это втолковать??? А так переборы это к макросам.
Толком не остыл...
 
Цитата
Vite написал:
Meloncito, если задача решается математически, остальное не проблема.
Я надеюсь, что оно так, но за то время, что я сижу над этой задачей зависимости я не нашел.
Цитата
Vite написал:
На сколько я понимаю, вам нужно получить минимальный остаток от деления.
Если вы имеете в виду под минимальным остатком длину монолитного участка, то это я уже вывел. И в зависимости от длины получаю количество разных блоков.
Цитата
Vite написал:
Первый вариант распределения блоков составлен из двух асимметричных копий (ряда). То есть, по факту нужна оптимизация только одного ряда, остальные дублируются
Сейчас предоставить не могу, в ближайшие дни, надеюсь, приведу больше примеров. Дело в том, что есть ситуации, когда ,если второй ряд зеркален первому, между ними перевязка не получается и блоки второго ряда нужно уже расставлять в своем порядке. Да и вариант "четный ряд равен зеркальному нечетному" брать не стоит, т.к. в примере - утрированный случай, а ведь стена имеет поперечные стены, проемы, отверстия и каждый ряд может быть совершенно не похож на нижний, даже зеркально.
Цитата
Sila Musli написал:
Вот мне не ясно почему верхний верно, а нижний, нет, а раз мне не ясно, то как системе это втолковать??? А так переборы это к макросам.
Перевязка должна быть не менее толщины блока. Блоки бывают от 300мм до 600мм толщиной с градацией в 100мм. Для нижнего примера перевязка в 300 не соблюдается. Конечно, это не очевидно, размеров-то нет, но я заранее сказал, что там не правильно )
Системе я конечно могу условие сообщить, но нужно с этим условием перебрать каждый блок.
Я думал о макросах, но хотелось бы решить стандартными средствами.
 
Meloncito, на сколько я понял вопрос, вас интересует метод построения. Один из вариантов, использовать массив (см. чертеж).
Изменено: Vite - 18.02.2017 06:33:24
T-FLEX CAD 15.1.68.0
 
Мы обычно раскладку блоков делаем по горизонтальным рядам с одновременным построением 3D модели.Фрагменты блоков с массивами (в пределах одного типоразмера). Ну а перевязку контролируем визуально по 3D модели. Объем задач непосредственно по раскладке блоков не такой уж огромный, чтобы что-то более фундаментальное выдумывать. Тем более достаточно просто вносить коррективы, а это иногда приходится делать. А если учесть, что через ряд раскладки повторяются в целом, то задача не очень сложная получается. Ну а по модели необходимые разрезы построить не проблема.
 
Раскладка мне напоминает раскрой, может разрабы состыкуют две данные задачи вместе?
Толком не остыл...
 
100% задача лежит в плоскости программирования / макросов )
Meloncito, если Вы официальный пользователь - то Вам помогут с решением Вашей задачи, написав для этого специальный плагин.
Ну, а на нет - и суда нет ;)
Практика - критерий истины (с)
Страницы: 1