Создал семейство фланцевой заглушки по АТК … 1990. Ничего более свежего и актуального не нашёл, только этот документ. Доступны давления PN 6, 10, 16, 25 и 40. Диаметры условные от 10 до 1200, для давления 25 — до 800 включительно, для 40 — до 500.

Я уже выкладывал семейства фланцев по ГОСТ 33259-2015, типы 01, 11 и 03. Недавно подписчик прислал расширенную таблицу с диаметрами, так что дополнил список применимых диаметров.

Фланцевая заглушка
Фланцевая заглушка

Особенность семейства

Фланцы — очень простые семейства с точки зрения геометрии, однако есть у них нюанс: отверстия и элементы крепления. Это всё один нюанс, так как положения отверстий и элементов креплений совпадают, а значит, в обоих случаях нужно решить идентичную задачу по размещению.

Чаще всего отверстия и болты не моделируют. Это усложняет разработку, повышает детализацию и зачастую чрезмерно. А главное — моделировать их достаточно сложно, потому что количество меняется с диаметром.

В семействе заглушки сделал отверстия, болты/шпильки и гайки не моделировал. Расскажу, как именно сделал отверстия, потому что считаю этот способ менее трудозатратным, чем тот, который использовал раньше.

Решения задачи

Рассмотрю несколько вариантов, как можно справиться с отверстиями/болтами для фланцев.

🆗 Массивы в семействе

Эту часть статьи переписал благодаря Ришату Курбангалиеву. Он показал, что с круговыми массивами всё же можно работать, я протестировал и оказалось, что он прав. Ранее мне казалось, что с круговыми массивами каши не сваришь.

Массивы нагружают семейство, поэтому пользуйтесь ими с осторожностью. Тем не менее отверстия по кругу с их помощью расставить можно. Расскажу алгоритм.

Одно из правил работы с массивами — множьте массивом не геометрию семейства, а геометрию вложенных семейств. Тогда всё будет работать стабильно и предсказуемо. Поэтому для отверстия нужно создать полое семейство на основе грани и разрешить ему вырезать геометрию. Об этом рассказывал в отдельной статье про линейные массивы и вырезы.

Чтобы сделать круговой массив:

  • разместите вложенное семейство на грани фланца;
  • выделите его и создайте круговой массив, выбирайте метод с расстоянием между элементами и перенесите центр массива в центр фланца;
  • после создания массива возьмите угловой размер и проставьте его между первым и последним элементами массива, при этом ловите Табом прямые линии самого массива, а не линии элементов;
  • назначьте числовой параметр на количество элементов, для этого выделите любой элемент массива и кликните по окружности рядом с ним;
  • назначьте параметр угла на размер и можете сразу или потом изменить его на 360° — он будет постоянно таким, можно заблокировать значение формулой.
  • выделите элемент массива, понажимайте табом, чтобы появилась окружность массива, кликните левой кнопкой по ней, Ревит проставит временный радиальный размер — преобразуйте его в постоянный и запараметризируйте.
Размещаю вложенное семейство на геометрии семейства, формируется первое отверстие
Размещаю вложенное семейство на геометрии семейства, формируется первое отверстие
Создаю круговой массив
Создаю круговой массив
Ставлю угловой размер. Для этого наведите линию между центром геометрии и первым элементом массива, нажмите Таб, подсветится первая линия. Потом наведите мышку на линию до последнего элемента и тоже нажмите Таб, чтобы подсветить и выделить последнюю линию массива
Ставлю угловой размер. Для этого наведите линию между центром геометрии и первым элементом массива, нажмите Таб, подсветится первая линия. Потом наведите мышку на линию до последнего элемента и тоже нажмите Таб, чтобы подсветить и выделить последнюю линию массива
Фиолетовая подсветка выделяет окружности массива, когда она подсвечена, нужно по ней нажать
Фиолетовая подсветка выделяет окружности массива, когда она подсвечена, нужно по ней нажать
После выделения линии под лентой есть метка, здесь нужно назначить количество отверстий на числовой параметр. Вторым действием преобразуйте радиальный размер в постоянный и тоже повесьте на него параметр
После выделения линии под лентой есть метка, здесь нужно назначить количество отверстий на числовой параметр. Вторым действием преобразуйте радиальный размер в постоянный и тоже повесьте на него параметр
Меняю угол на 360 градусов, а количество отверстий на 4. Всё выстраивается, как надо
Меняю угол на 360 градусов, а количество отверстий на 4. Всё выстраивается, как надо
Меняю количество элементов на 8, немного увеличиваю радиус — всё перестраивается
Меняю количество элементов на 8, немного увеличиваю радиус — всё перестраивается

Углом при таком размещении управлять не получится, Ревит будет брать количество элементов массива и равномерно распределять их по всей окружности. Но для наших целей этого достаточно. Более сложные сценария управления рассматриваю в третьем способе, там можно вертеть чем угодно и как угодно.

✅ Тригонометрическое управление

Способ, который применял раньше. Хороший рабочий вариант, однако достаточно трудозатратный. Суть простая: положением полых элементов отверстий управляет пересечение двух плоскостей, а плоскости двигаются параметрами с формулами синусов и косинусов.

Если со школы не любите тригонометрию, то метод может вам не понравиться, хотя без знаний школьной тригонометрии невозможно стать хорошим разработчиком семейств.

У нас есть диаметр (D1), который показывает смещение отверстий от центра фланца. Если взять проекцию диаметра на ось X, то получим смещение вертикальной опорной плоскости. Если взять проекцию на ось Y — получим смещение горизонтальной плоскости.

Формулы в данном случае простые. Для проекции по оси X: D1 × cos(a). Для оси Y: D1 × sin(a).

Параметризация плоскостей для управления положением отверстий
Параметризация плоскостей для управления положением отверстий

Далее строим полые элементы на пересечении осей, привязываем марку центра и готово: наши отверстия будут менять положение в зависимости от диаметра фланца.

При этом нужно как-то управлять видимостью отверстий. Если вы работаете в Ревите до 2021 версии, то у вас нет возможности скрывать полые элементы штатными средствами. Значит, нужно придумывать, как обойти ограничения.

Идея такая: если отверстие не должно быть видно, то есть оно не должно быть сквозным, тогда можно ненужные в данный момент отверстий прятать в теле фланца. То есть будет не дырка, а небольшой полость, а так как она будет внутри фланца, то снаружи мы ничего не увидим — отверстие как бы пропадает.

Для этого строим дополнительные три опорные плоскости и назначаем два параметра. Первый будет управлять смещением отверстия от края тела фланца, а второй — толщиной отверстия.

Когда отверстие нужно показать, смещение от края будет нулевым, а толщина отверстия равна толщине фланца. Когда нужно скрыть, смещение от края будет несколько миллиметров, а толщина — 1-2 мм. Так мы и будем прятать отверстия.

Вот так можно управлять толщиной и положением отверстия в теле фланца, а по сути — видимостью отверстия
Вот так можно управлять толщиной и положением отверстия в теле фланца, а по сути — видимостью отверстия

У этого способа есть существенный недостаток: например, у фланца диаметром 1200 должно быть 32 отверстия, а у фланцев до 100 — всего 4. С ростом диаметра шаг прибавления отверстий тоже равен 4. А значит придётся создать и запараметризировать 28 опорных плоскостей для положения отверстий и ещё 14 плоскостей для управления видимостью. Это 28 параметров, это геморрой.

Если вы делаете ограниченный набор диаметров, скажем, до 200, то метод вполне рабочий, не нужно так много всего городить, но когда нужно создать диапазон от 10 до 1200 диаметра, то трудозатраты слишком велики. Причём способ не столько трудный, сколько нудный и рутинный, а потому риск ошибки по невнимательности велик.

Так что нужен другой способ.

❤️ Вложенное семейство отверстий

Мы можем прорезать геометрию родительского семейства полыми элементами из вложенного. Об этом рассказывал в отдельной статье про массивы и вырезы, уже упоминал её выше.

Этим и воспользовался. Создал семейство с парой симметричных полых элементов, вырезал их из основы, поставил галочку «При загрузке вырезать с полостями»

Создал семейства, вырезал геометрию, всё запараметризировал
Создал семейства, вырезал геометрию, всё запараметризировал

При этом сразу предусмотрел галочку для скрытия отверстия. Если галочки видимости нет, то отверстие становится диаметром 2 мм и уходит внутрь геометрии, то есть по сути становится невидимым по тому же принципу, что и во втором способе. Кстати, диаметр можно уменьшить и до 1 мм.

Вот формулы, как это работает в семействе.

Формулы в семействе. d1 — диаметр отверстия, остальное видно на скриншоте выше
Формулы в семействе. d1 — диаметр отверстия, остальное видно на скриншоте выше

После загружаю семейство отверстий в семейство фланца, размещаю на грани фланца, появляются отверстия. Когда делаете отверстия, не закладывайте большой диаметр: если полые элементы не попадут в геометрию, то Ревит выдаст ошибку. Также передаю во вложенное семейство толщину фланца и связываю с галочкой видимости.

Ошибка: полое семейство не нашло геометрию для вырезания
Ошибка: полое семейство не нашло геометрию для вырезания
Связываю параметры отверстия с параметрами семейства: диаметр размещения отверстий, толщина фланца, диаметр самого отверстия и видимость
Связываю параметры отверстия с параметрами семейства: диаметр размещения отверстий, толщина фланца, диаметр самого отверстия и видимость

Так как у нас в максимуме 32 отверстия, то нужно разместить 16 экземпляров вложенного и управлять их углом поворота. Те 4 отверстия, что будут всегда и во всех диаметрах, можно привязать к центральным опорным плоскостям, дополнительно управлять их положением нет особого смысла.

Расставляю вложенные и задаю 7 параметров углов. Так как каждое вложенное — это пара отверстий, а отверстия симметричны, то достаточно 7 параметров, которые будут управлять положением 28 отверстий. 4 оставшихся не меняют углового положения, вот и получаются наши 32 дыры. Хорошо, что не в зубах.

Вот так параметризую углы
Вот так параметризую углы

Теперь нужно задать формулы для видимости отверстий и угла их положения. Не буду тут что-то расписывать, методом проб и ошибок подобрал идеальные углы для скрытых отверстий так, что ничего не ломается. А ломаться может по той же причине, что и при размещении экземпляра вложенного: если полое отверстие совпадёт с другим полым, то ему будет нечего вырезать, и это ошибка.

Формулы для управления видимостью и углом размещения отверстий
Формулы для управления видимостью и углом размещения отверстий

Всё. Отверстия есть, они перестраиваются при изменении диаметра — красота.

Если нужны болты и гайки, то всё просто: добавляете во вложенное семейство геометрию болтов и гаек, параметризуете их размер и длину болта/шпильки, а потом связываете эти параметры с родительскими. В семействе есть параметр с диаметром болтов и шпилек. О том, как правильно параметризовать геометрию болтов, есть отдельная статья.

Если знаете способ, как лучше сделать такие отверстия, — пишите в комментарии.

⬇️ Скачать семейство с Яндекс-диска

Обновления статей удобно получать в Телеграм-канале «Блог Муратова про Revit MEP». Подписывайтесь и приглашайте коллег. Можно обсудить статью и задать вопросы в специальном чате канала.

Читайте методичку для проектировщиков: полезный материал, в котором последовательно рассказываю, как создавать модель.

Мини-курс по моделированию ОВ и ВК

В специальный плейлист на Ютубе выкладываю свои ролики по работе в Ревите. Этот курс записывал для студентов, разбираю базовые моменты по моделированию.

Отблагодарить автора

Я много времени уделяю блогу и разработке семейств. Если хотите отблагодарить меня, то можете сделать небольшой подарок (именно подарок, такой перевод не облагается налогом).