Доброго времени суток!
Разрабатываю в T-Flex параметрическую модель фундамента здания из блоков ФБС. Столкнулся с вопросом перевязки блоков.
Допустим, есть стена из двух рядов по высоте. Каждый ряд состоит из различного количества блоков ФБС и монолитного участка. Блоки ФБС могут быть следующей длины: 2400мм, 1200мм, 900мм. Количество этих блоков ,их порядок, длина заделки - заранее не известны, они зависят от длины ряда (т.е. от вводимой пользователем длины стены) и условия минимальной длины монолитного участка. Блоки верхнего ряда должны перевязываться с блоками нижнего ряда, т.е. каждый верхний блок должен заходить за блок под ним на определенную минимальную длину.
Интересует, как в ТФ это реализовать? Система должна перебирать каждый блок (его координату), проверять условие на перевязку с нижним блоком (сравнивать с его координатой), если оно не выполняется - менять местами блоки и заново проверять. Возможно ли как-то реализовать циклы в ТФ ? Как-то систематизировать, найти какую-то зависимость между количеством блоков, их порядком и длиной ряда найти не удалось. Вижу только перебор, хотя это слишком громоздко и при большом количестве блоков может серьезно увеличить время перебора. Может есть какие-то идеи?
Прикладываю скрин. На нем два варианта стены из двух рядов длиной 8400. Ряд состоит из блоков 2400 (красные), 1200 (синий), 900 (зеленые), и монолитной заделки (розовый). Верхний вариант правильный (соблюдается перевязка), нижний - нет.
Разрабатываю в T-Flex параметрическую модель фундамента здания из блоков ФБС. Столкнулся с вопросом перевязки блоков.
Допустим, есть стена из двух рядов по высоте. Каждый ряд состоит из различного количества блоков ФБС и монолитного участка. Блоки ФБС могут быть следующей длины: 2400мм, 1200мм, 900мм. Количество этих блоков ,их порядок, длина заделки - заранее не известны, они зависят от длины ряда (т.е. от вводимой пользователем длины стены) и условия минимальной длины монолитного участка. Блоки верхнего ряда должны перевязываться с блоками нижнего ряда, т.е. каждый верхний блок должен заходить за блок под ним на определенную минимальную длину.
Интересует, как в ТФ это реализовать? Система должна перебирать каждый блок (его координату), проверять условие на перевязку с нижним блоком (сравнивать с его координатой), если оно не выполняется - менять местами блоки и заново проверять. Возможно ли как-то реализовать циклы в ТФ ? Как-то систематизировать, найти какую-то зависимость между количеством блоков, их порядком и длиной ряда найти не удалось. Вижу только перебор, хотя это слишком громоздко и при большом количестве блоков может серьезно увеличить время перебора. Может есть какие-то идеи?
Прикладываю скрин. На нем два варианта стены из двух рядов длиной 8400. Ряд состоит из блоков 2400 (красные), 1200 (синий), 900 (зеленые), и монолитной заделки (розовый). Верхний вариант правильный (соблюдается перевязка), нижний - нет.