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

На всех скриншотах фиолетовые линии — эскиз геометрии.

Многоугольники

Сначала пройдёмся по фигурам с углами. У них значимыми параметрами являются, как правило, размер стороны и углы.

В тексте буду использовать термин «симметричный размер». В данном контексте это цепочка из двух размеров, у которой включён режим эквивалентности, или равенства. Когда ставите размер, можно нажать на EQ, тогда оба размера станут одинаковыми — симметричными.

Поставил цепочку. Нажимаю на EQ, чтобы сделать их равными
Поставил цепочку. Нажимаю на EQ, чтобы сделать их равными
Размеры стали одинаковыми — получил симметричные расстояния
Размеры стали одинаковыми — получил симметричные расстояния

Также буду использовать блокированные размеры. Блокированным размер становится после того, как защёлкнули на размере замок.

Вот этот замок нужно закрыть, чтобы сделать размер блокированным. На мелких масштабах замок может улетать далеко от размера — придётся смириться
Вот этот замок нужно закрыть, чтобы сделать размер блокированным. На мелких масштабах замок может улетать далеко от размера — придётся смириться

Треугольник равносторонний

Самый простой вариант треугольника. Достаточно управлять размером одной стороны и парой углов. Вот алгоритм действий в картинках:

Нарисовал эскиз с линиями сразу под 60°, все стороны равны, ставлю размеры
Нарисовал эскиз с линиями сразу под 60°, все стороны равны, ставлю размеры
Благодаря симметричному размеру треугольник будет меняться равномерно
Благодаря симметричному размеру треугольник будет меняться равномерно
Преобразовываю цепочку в симметричный размер
Преобразовываю цепочку в симметричный размер
Нужно запараметризировать сторону, чтобы управлять ею
Нужно запараметризировать сторону, чтобы управлять ею
Готово
Готово

Теперь при изменении стороны треугольника он будет перестраиваться. Вершину, что лежит на пересечении опорных плоскостей, привязывать не обязательно. Если опорная плоскость будет «ездить», то тестируйте — если ломается треугольник, то надо привязать, но обычно всё нормально.

Треугольник равнобедренный

В этом случае всем управлять будут высота треугольника и длина основания. Создаю опорную плоскость, ставлю размер и превращаю в параметр — это будет высота треугольника. Далее с основанием те же операции, что и у равностороннего — симметрия + параметр на длину.

Линию основания треугольника цепляю на замок к опорной плоскости, чтобы треугольник менялся при изменении высоты. Всё: меняете один или оба параметра — треугольник перестраивается.

Параметризация равнобедренного треугольника
Параметризация равнобедренного треугольника
Основание цепляю на замок с помощью команды «Выровнять»
Основание цепляю на замок с помощью команды «Выровнять»

Треугольник прямоугольный

Всё просто — нужно управлять длиной катетов. Создаёте прямоугольник из опорных плоскостей, ставите параметры на стороны фигуры — это будут длины катетов. Далее рисуете эскиз и привязываете на замки катеты треугольника к опорным плоскостям. Готово.

Поменяли длину катетов — треугольник перестроился
Поменяли длину катетов — треугольник перестроился

Прямоугольник

Самое простое, что может с вами случиться. Квадрат — частный случай прямоугольника, параметризация одинаковая.

Рисуем опорные плоскости, которые образуют наш прямоугольник. Параметризируем размеры — это стороны прямоугольника. Далее создаём эскиз и каждую сторону цепляем на замок к опорным плоскостям.

Создаю опорные плоскости — скелет нашей фигуры
Создаю опорные плоскости — скелет нашей фигуры
Рисую эскиз — его нужно закрепить за опорными плоскостями, чтобы потом всё менялось
Рисую эскиз — его нужно закрепить за опорными плоскостями, чтобы потом всё менялось
Каждую сторону нужно привязать на замочек
Каждую сторону нужно привязать на замочек

Произвольный многоугольник

Редкий случай, но идея везде одинаковая — каждую точку эскиза нужно посадить на отдельное пересечение опорных плоскостей. Управляете положениями плоскостей — меняется положение точек — фигура перестраивается. Покажу на примере треугольника:

Параметризация произвольного многоугольника
Параметризация произвольного многоугольника

Помните, что отрицательные значения вводить нельзя, поэтому правильно выбирайте плоскость привязки. В данном примере не смогу увести точку С вправо на более, чем 300 мм — в этом случае размер С1 станет отрицательным, что невозможно.

Пятиугольник равносторонний

Пример будет описывать все n-угольники, в которых n — нечётное и больше 4, а стороны равны. Здесь нужно знать сторону и радиус вписанной окружности.

Сторона и радиус соотносятся вот так: Радиус = 0,5 × Сторона × tg(54°).

Исходя из того, что вам известно, можете параметризировать или радиус, или стороны. Эскиз же параметризируется вот так:

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

Чтобы поставить размер от центра пятиугольника, возьмите параллельный размер, щёлкните по стороне пятиугольника, а потом наведите курсор на центр и нажмите Tab, пока не появится чёрный квадратик. Как появится — жмите по нему, размер готов.

Ловлю чёрный квадратик — пересечение опорных плоскостей
Ловлю чёрный квадратик — пересечение опорных плоскостей

По аналогии работайте с любыми подобными фигурами.

Шестиугольник равносторонний

Это частный случай n-угольника, в котором n — чётное и больше 4. Пример шестиугольника будет описывать все подобные случаи равносторонних фигур.

Покажу параметризацию пошагово.

1. Расставляем симметричные размеры и размеры от стороны до стороны. Сделать это нужно для всех пар сторон. Когда ставите размер на «косые» стороны, то ловите пересечение опорных плоскостей нажатием клавиши Tab, должен появиться чёрный квадратик.

Вот такой чёрный квадрат должен появиться, нажимайте по нему и продолжайте ставить цепочку размеров на вторую сторону
Вот такой чёрный квадрат должен появиться, нажимайте по нему и продолжайте ставить цепочку размеров на вторую сторону
Вот так должно получиться. Каждая пара сторон симметрична и образмерена
Вот так должно получиться. Каждая пара сторон симметрична и образмерена

2. Расставляем угловые размеры и сразу блокируем. Блокировать нужно (n-1) размер — для шестиугольника достаточно заблокировать 5 размеров. Если блокировать шестой, то Ревит будет ругаться. Достаточно пяти, шестой вообще можно не ставить. Вообще, работает и без блокировки, но с ней как-то спокойнее.

Красные углы — заблокированы
Красные углы — заблокированы

3. Параметризируем расстояние между сторонами — выделяем размеры и создаём или назначаем параметр. После этого можно менять этот размер и шестиугольник будет симметрично меняться.

Добавляю параметр к длинам сторон
Добавляю параметр к длинам сторон

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

Всё, теперь при изменении параметра SW шестиугольник будет меняться и не ломаться. Тот же алгоритм нужен для восьмиугольника, просто больше пар сторон придётся образмеривать и больше углов блокировать.

Кривые

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

Окружность

Чтобы запараметризировать окружность, нужно включать марку центра. Для этого выделяйте эскиз и в свойствах включайте галочку «Марка центр ВКЛ». У окружности появится центр, его нужно привязывать к пересечению опорных плоскостей — тогда окружность сможет «ездить».

Выделяю эскиз — ставлю галочку
Выделяю эскиз — ставлю галочку
Эту марку нужно привязывать инструментом «Выровнять»
Эту марку нужно привязывать инструментом «Выровнять»

Чтобы управлять радиусом или диаметром, достаточно либо преобразовать временный радиус в постоянный, либо на ленте выбрать «Диаметр», поставить его на окружность и преобразовать в параметр.

Обычно ставлю диаметр для параметра
Обычно ставлю диаметр для параметра
Диаметр → параметр с диаметром
Диаметр → параметр с диаметром

Дуга окружности

Более интересный и сложный случай. В Ревите есть два инструмента для создания дуг: первый по двум точкам и радиусу, второй по центру и радиусу.

Инструменты для создания дуг
Инструменты для создания дуг

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

Покажу параметризацию на примере второй дуги, потому что они, в принципе, одинаковые.

Эскиз дуги
Эскиз дуги

1 — после построения дуги включаю марку центра;

2 — привязываю центр к пересечению опорных плоскостей на замочки;

3 — преобразовываю временный радиальный размер в постоянный;

4 — преобразовываю временный размер с углом дуги в постоянный

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

Дуга запараметризирована
Дуга запараметризирована

Круглая фаска

Назвал так дугу между двумя линиями. У данной дуги всего один параметр — радиус. Поставьте его, преобразуйте в параметр и готово.

Инструмент для создания фасок
Инструмент для создания фасок

Эллипс и фрагмент эллипса

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

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

У эллипса можно включить марку центра и фокусов. Фокусы обычно не пригождаются, но приятно, что они есть.

Комбинации фигур

Посмотрим, как запараметризировать голову Чебурашки. При смене диаметра головы уши должны смещаться.

Вот наш Чебурашка. Уши пока маленькие — он только родился
Вот наш Чебурашка. Уши пока маленькие — он только родился
Вот такие параметры спрятаны в Чебурашке
Вот такие параметры спрятаны в Чебурашке

Чтобы сделать такое, нужно:

  1. нарисовать окружность головы и окружности ушей;
  2. инструментом «Разделить элемент» вырезать участки из большой окружности;
  3. инструментом «Обрезать/удлинить до угла» соединить голову и уши;
  4. теперь голова — это две дуги, включаем их центры и привязываем к пересечению опорных плоскостей
  5. ставим диаметры, вешаем параметры — голова запараметризирована;
  6. создаём опорные плоскости, чтобы привязать уши — ими можно шевелить и делать ближе или дальше от головы;
  7. привязываем центры ушей к пересечению плоскостей;
  8. ставим диаметры, вешаем параметры — уши запараметризированы.

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

Вот так может меняться Чебурашка
Вот так может меняться Чебурашка

Рассмотрим более сложный случай, когда Чебурашка мутировал и у него теперь три уха, которые расположены под углом 120° друг к другу. При этом толщина ушей будет отличаться от головы. В предыдущем примере они были одинаковой толщины, так как строились в одном эскизе.

Вот пример такого Чебурахера:

Прости, Чебурашка
Прости, Чебурашка

Задача простая — надо сделать так, чтобы при изменении диаметра головы, уши двигались за головой. С головой всё понятно: центр привязан к опорным плоскостям, диаметром управляет параметр. Интереснее взглянуть на уши. Вот их эскиз с параметрами:

Вот такой эскиз для ушей с опорными плоскостями и параметрами
Вот такой эскиз для ушей с опорными плоскостями и параметрами
При изменении параметров — всё меняется и остаётся в правильных местах
При изменении параметров — всё меняется и остаётся в правильных местах

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

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

Пишите в комментарии, какие случае параметризации хотели бы рассмотреть и помог ли материал вам лучше разобраться в работе с геометрией в Ревите.

Не забывайте подписываться в Телеграме на канал блога «Блог Муратова про Revit MEP» — так вы узнаете о выходе свежих материалов.

В чате канала можно пообщаться и задать вопросы. Делитесь ссылочками на статьи и Телеграм с коллегами — давайте продвигать знания Ревита в массы!

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

Бесплатные обзоры ваших моделей

Периодически провожу «Ревит-линчи» — разбираю файлы семейств и проектов пользователей и отвечаю на вопросы по Ревиту и БИМ-технологиям. Дату и ссылку на Ревит-линч публикую в Телеграм-канале. Приходите, там интересно.

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

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