Мы закончили основную часть. У нас появились два готовых фланца под 20 и 30 шину.
Помним из второй части, что при полупериметре менее 1000 мм и одной сторон менее 700 мм. используем шину 20, во всех других случаях шину 30.
В сборку для фланца 20 в параметр скрытый добавляем:
if(([PART_PIPE_RECT_DIMA]+[PART_PIPE_RECT_DIMB])>=1000 and [PART_PIPE_RECT_DIMA]>=700 or [PART_PIPE_RECT_DIMB]>=700,1,0)
а для фланца 30:
if(([PART_PIPE_RECT_DIMA]+[PART_PIPE_RECT_DIMB])>=1000 and [PART_PIPE_RECT_DIMA]>=700 or [PART_PIPE_RECT_DIMB]>=700,0,1)
Теперь в зависимости от размера у нас будет скрываться один или другой фланец.
Нам осталось выполнить скобу для крепления фланца воздуховода:
Она будет аналогично выполнена элементом выдавливания и винтом из базы.
Создаем выдавливание и выбираем 2D профиль, задаем базовую точку и базовую ось как на картинке:
Задаем высоту 30 мм., добавляем выпуклости и выемки. Получаем готовую скобу.
Винт я беру готовый из базы М8х25 по ГОСТ 4017 и центрирую его относительно скобы.
Скоба полностью готова, можно ставить на фланец.
Я начну с верхнего фланца. Практическим путем выставляем ее на верх фланца и на правый край воздуховода.
Базовая точка. X координата.
-6.05
Базовая точка. Y координата.
-([PART_PIPE_RECT_DIMA]/2)-15
Базовая точка. Z координата.
if(([PART_PIPE_RECT_DIMA]+[PART_PIPE_RECT_DIMB])>=1000
and [PART_PIPE_RECT_DIMA]>=700
or [PART_PIPE_RECT_DIMB]>=700,[PART_PIPE_RECT_DIMB]/2+30-0.7-[PART_VENT_THICKNESS],[PART_PIPE_RECT_DIMB]/2+20-0.7-[PART_VENT_THICKNESS])
Направление и ориентация:
Правила монтажа скобы отсутствуют (либо я о них не знаю), поэтому вычитал в интернете, что скоба устанавливается при длине между креплениями больше 300 мм. Т.е. при ширине больше 300 мм. между болтами и соседними скобами требуется еще 1 скоба.
Создаем прямоугольный массив и добавляем туда нашу скобу.
Дальнейшая работа у нас будет только с массивом.
Первая формула будет в параметре "Строк":
if([PART_PIPE_RECT_DIMA]<=300,0,
if(([PART_PIPE_RECT_DIMA]/(int([PART_PIPE_RECT_DIMA]/300)))=300,int(([PART_PIPE_RECT_DIMA]/300)-1),
int([PART_PIPE_RECT_DIMA]/300)))
Если ширина меньше или равно 300, то будет 0 строк,
если ширина разделённая на количество строк(Ширина деленная на 300) равна 300, то количество строк(Ширина деленная на 300) будет меньше на 1, в противном случае количество строк вычисляется как ширина деленная на 300. Оператор int отбрасывает дробную часть у числа. Смысл второй строчки заключается в числах 600, 900, 1200 и т.д., когда поделив это число на 300 мы получаем значение 2,3,4, которое не соответствует количеству требуемых скоб. Для этого мы и уменьшаем для этих длин количество строк на 1. В любых других случаях количество строк совпадает с количеством скоб.
Базовая точка. Y координата.
if([PART_PIPE_RECT_DIMA]<600,[PART_PIPE_RECT_DIMA]/2,
if([PART_PIPE_RECT_DIMA]/(int([PART_PIPE_RECT_DIMA]/300))=300,300,
[PART_PIPE_RECT_DIMA]/(int([PART_PIPE_RECT_DIMA]/300)+1)))
Если ширина меньше 600, то скоба встает на середину.
Если ширина, деленная на количество скоб равна 300, то смещение от левого края будет 300.
При всех других вариантах, смещение от левого края будет рассчитываться как ширина, деленная на количество плюс один.
Расстояние. Между строками
if([PART_PIPE_RECT_DIMA]<600,[PART_PIPE_RECT_DIMA]/2,
if([PART_PIPE_RECT_DIMA]/(int([PART_PIPE_RECT_DIMA]/300))=300,300,
[PART_PIPE_RECT_DIMA]/(int([PART_PIPE_RECT_DIMA]/300)+1)))
Формула идентичная с верхней. Смысл тот же самый, только смещение рассчитывается от первой скобы.
Для остальных сторон скопируем наш массив и аналогично подкорректируем формулы.
Должна получиться вот такая заглушка:
Осталось добавить теплоизоляцию.