Расскажу из своего опыта, как лучше параметризировать геометрические фигуры, то есть как сделать так, чтобы их размеры менялись при изменении значений в параметрах семейства.
На всех скриншотах фиолетовые линии — эскиз геометрии.
Многоугольники
Сначала пройдёмся по фигурам с углами. У них значимыми параметрами являются, как правило, размер стороны и углы.
В тексте буду использовать термин «симметричный размер». В данном контексте это цепочка из двух размеров, у которой включён режим эквивалентности, или равенства. Когда ставите размер, можно нажать на EQ, тогда оба размера станут одинаковыми — симметричными.
![Поставил цепочку. Нажимаю на EQ, чтобы сделать их равными Поставил цепочку. Нажимаю на EQ, чтобы сделать их равными](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_6067ee75dae78e3f2828117f.png)
![Размеры стали одинаковыми — получил симметричные расстояния Размеры стали одинаковыми — получил симметричные расстояния](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_6067ee846b0f875cb5f51021.png)
Также буду использовать блокированные размеры. Блокированным размер становится после того, как защёлкнули на размере замок.
![Вот этот замок нужно закрыть, чтобы сделать размер блокированным. На мелких масштабах замок может улетать далеко от размера — придётся смириться Вот этот замок нужно закрыть, чтобы сделать размер блокированным. На мелких масштабах замок может улетать далеко от размера — придётся смириться](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_6067ef82741adc251d630e5b.png)
Треугольник равносторонний
Самый простой вариант треугольника. Достаточно управлять размером одной стороны и парой углов. Вот алгоритм действий в картинках:
![Нарисовал эскиз с линиями сразу под 60°, все стороны равны, ставлю размеры Нарисовал эскиз с линиями сразу под 60°, все стороны равны, ставлю размеры](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_606937f6dae78e3f28eeda4b.png)
![Благодаря симметричному размеру треугольник будет меняться равномерно Благодаря симметричному размеру треугольник будет меняться равномерно](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60693675e0a09f1423b2a233.png)
![Преобразовываю цепочку в симметричный размер Преобразовываю цепочку в симметричный размер](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_606936c545570e1e43478537.png)
![Нужно запараметризировать сторону, чтобы управлять ею Нужно запараметризировать сторону, чтобы управлять ею](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_606936fce0a09f1423b2c9f9.png)
![Готово Готово](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60693730741adc251d29b645.png)
Теперь при изменении стороны треугольника он будет перестраиваться. Вершину, что лежит на пересечении опорных плоскостей, привязывать не обязательно. Если опорная плоскость будет «ездить», то тестируйте — если ломается треугольник, то надо привязать, но обычно всё нормально.
Треугольник равнобедренный
В этом случае всем управлять будут высота треугольника и длина основания. Создаю опорную плоскость, ставлю размер и превращаю в параметр — это будет высота треугольника. Далее с основанием те же операции, что и у равностороннего — симметрия + параметр на длину.
Линию основания треугольника цепляю на замок к опорной плоскости, чтобы треугольник менялся при изменении высоты. Всё: меняете один или оба параметра — треугольник перестраивается.
![Параметризация равнобедренного треугольника Параметризация равнобедренного треугольника](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_6069394cb2078603791b3516.png)
![Основание цепляю на замок с помощью команды «Выровнять» Основание цепляю на замок с помощью команды «Выровнять»](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_606939c6a773600090e16aa4.png)
Треугольник прямоугольный
Всё просто — нужно управлять длиной катетов. Создаёте прямоугольник из опорных плоскостей, ставите параметры на стороны фигуры — это будут длины катетов. Далее рисуете эскиз и привязываете на замки катеты треугольника к опорным плоскостям. Готово.
![Поменяли длину катетов — треугольник перестроился Поменяли длину катетов — треугольник перестроился](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60693aa0741adc251d2ab3f8.png)
Прямоугольник
Самое простое, что может с вами случиться. Квадрат — частный случай прямоугольника, параметризация одинаковая.
Рисуем опорные плоскости, которые образуют наш прямоугольник. Параметризируем размеры — это стороны прямоугольника. Далее создаём эскиз и каждую сторону цепляем на замок к опорным плоскостям.
![Создаю опорные плоскости — скелет нашей фигуры Создаю опорные плоскости — скелет нашей фигуры](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60693dbbdae78e3f28f0a831.png)
![Рисую эскиз — его нужно закрепить за опорными плоскостями, чтобы потом всё менялось Рисую эскиз — его нужно закрепить за опорными плоскостями, чтобы потом всё менялось](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60693dc6741adc251d2bbe24.png)
![Каждую сторону нужно привязать на замочек Каждую сторону нужно привязать на замочек](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60693dcba773600090e2b2d4.png)
Произвольный многоугольник
Редкий случай, но идея везде одинаковая — каждую точку эскиза нужно посадить на отдельное пересечение опорных плоскостей. Управляете положениями плоскостей — меняется положение точек — фигура перестраивается. Покажу на примере треугольника:
![Параметризация произвольного многоугольника Параметризация произвольного многоугольника](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60693c5c6b0f875cb5b2169a.png)
Помните, что отрицательные значения вводить нельзя, поэтому правильно выбирайте плоскость привязки. В данном примере не смогу увести точку С вправо на более, чем 300 мм — в этом случае размер С1 станет отрицательным, что невозможно.
Пятиугольник равносторонний
Пример будет описывать все n-угольники, в которых n — нечётное и больше 4, а стороны равны. Здесь нужно знать сторону и радиус вписанной окружности.
Сторона и радиус соотносятся вот так: Радиус = 0,5 × Сторона × tg(54°).
Исходя из того, что вам известно, можете параметризировать или радиус, или стороны. Эскиз же параметризируется вот так:
![Одну из сторон нужно запараметризировать и сделать симметричной. Углы можно не блокировать, но если хочется — лишним не будет Одну из сторон нужно запараметризировать и сделать симметричной. Углы можно не блокировать, но если хочется — лишним не будет](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_606942396b0f875cb5b3fc2d.png)
Чтобы поставить размер от центра пятиугольника, возьмите параллельный размер, щёлкните по стороне пятиугольника, а потом наведите курсор на центр и нажмите Tab, пока не появится чёрный квадратик. Как появится — жмите по нему, размер готов.
![Ловлю чёрный квадратик — пересечение опорных плоскостей Ловлю чёрный квадратик — пересечение опорных плоскостей](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_606942a0a649f87c912c9c0a.png)
По аналогии работайте с любыми подобными фигурами.
Шестиугольник равносторонний
Это частный случай n-угольника, в котором n — чётное и больше 4. Пример шестиугольника будет описывать все подобные случаи равносторонних фигур.
Покажу параметризацию пошагово.
1. Расставляем симметричные размеры и размеры от стороны до стороны. Сделать это нужно для всех пар сторон. Когда ставите размер на «косые» стороны, то ловите пересечение опорных плоскостей нажатием клавиши Tab, должен появиться чёрный квадратик.
![Вот такой чёрный квадрат должен появиться, нажимайте по нему и продолжайте ставить цепочку размеров на вторую сторону Вот такой чёрный квадрат должен появиться, нажимайте по нему и продолжайте ставить цепочку размеров на вторую сторону](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_6067eddb741adc251d6251ef.png)
![Вот так должно получиться. Каждая пара сторон симметрична и образмерена Вот так должно получиться. Каждая пара сторон симметрична и образмерена](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_6067eeb6a7736000901b74b0.png)
2. Расставляем угловые размеры и сразу блокируем. Блокировать нужно (n-1) размер — для шестиугольника достаточно заблокировать 5 размеров. Если блокировать шестой, то Ревит будет ругаться. Достаточно пяти, шестой вообще можно не ставить. Вообще, работает и без блокировки, но с ней как-то спокойнее.
![Красные углы — заблокированы Красные углы — заблокированы](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_6067f0b46d990144ceef9892.png)
3. Параметризируем расстояние между сторонами — выделяем размеры и создаём или назначаем параметр. После этого можно менять этот размер и шестиугольник будет симметрично меняться.
![Добавляю параметр к длинам сторон Добавляю параметр к длинам сторон](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_6067f133608d5c20730b7c39.png)
Пункты 2 и 3 можно менять местами, это не принципиально. Но если меняете, то очень важно сначала заблокировать углы, а уже потом менять значения длины, иначе шестиугольник развалится на неравносторонний.
Всё, теперь при изменении параметра SW шестиугольник будет меняться и не ломаться. Тот же алгоритм нужен для восьмиугольника, просто больше пар сторон придётся образмеривать и больше углов блокировать.
Кривые
Здесь будет речь про окружности, дуги, круглые фаски и эллипсы. Сплайны не рассматриваю, их нельзя параметризировать.
Окружность
Чтобы запараметризировать окружность, нужно включать марку центра. Для этого выделяйте эскиз и в свойствах включайте галочку «Марка центр ВКЛ». У окружности появится центр, его нужно привязывать к пересечению опорных плоскостей — тогда окружность сможет «ездить».
![Выделяю эскиз — ставлю галочку Выделяю эскиз — ставлю галочку](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_606944d2741adc251d2e63a0.png)
![Эту марку нужно привязывать инструментом «Выровнять» Эту марку нужно привязывать инструментом «Выровнять»](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60694530dae78e3f28f37040.png)
Чтобы управлять радиусом или диаметром, достаточно либо преобразовать временный радиус в постоянный, либо на ленте выбрать «Диаметр», поставить его на окружность и преобразовать в параметр.
![Обычно ставлю диаметр для параметра Обычно ставлю диаметр для параметра](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_606945cb09a6b7170273ff9e.png)
![Диаметр → параметр с диаметром Диаметр → параметр с диаметром](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_6069479c741adc251d2fa457.png)
Дуга окружности
Более интересный и сложный случай. В Ревите есть два инструмента для создания дуг: первый по двум точкам и радиусу, второй по центру и радиусу.
![Инструменты для создания дуг Инструменты для создания дуг](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_6069485b09a6b7170275233a.png)
Чтобы управлять дугой, нужно знать её радиус закругления и угол дуги. Обычно использую второй инструмент — дугу по центру и радиусу, потому что её удобно строить: сначала указываю, где будет центр, а потом рисую кривую. Первый инструмент удобен в случаях, когда есть две точки, которые нужно соединить дугой.
Покажу параметризацию на примере второй дуги, потому что они, в принципе, одинаковые.
![Эскиз дуги Эскиз дуги](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_606949406b0f875cb5b6fa8c.png)
1 — после построения дуги включаю марку центра;
2 — привязываю центр к пересечению опорных плоскостей на замочки;
3 — преобразовываю временный радиальный размер в постоянный;
4 — преобразовываю временный размер с углом дуги в постоянный
Теперь нужно повесить параметры на размеры. Если нужно, чтобы дуга менялась симметрично, то нужно на её концы поставить симметричный размер.
![Дуга запараметризирована Дуга запараметризирована](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_606949f6a649f87c91300170.png)
Круглая фаска
Назвал так дугу между двумя линиями. У данной дуги всего один параметр — радиус. Поставьте его, преобразуйте в параметр и готово.
![Инструмент для создания фасок Инструмент для создания фасок](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60694aa809a6b71702762978.png)
Эллипс и фрагмент эллипса
У эллипса и его фрагмента надо параметризировать два радиуса и привязывать центр. Тоже ничего сложного, но если вы знаете обе длины эллипса, то лучше заранее получить с них радиусы. Проще всего сразу после создания преобразовать временные радиусы в постоянный.
![После построения эскиза появляются временные размеры, преобразуйте их в постоянные После построения эскиза появляются временные размеры, преобразуйте их в постоянные](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60694baea773600090e88434.png)
![И создайте параметры для радиусов И создайте параметры для радиусов](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60694b626d990144cec02ad2.png)
![То же у фрагмента эллипса То же у фрагмента эллипса](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60694c31741adc251d31d2ce.png)
![Можно ещё уменьшить фрагмент — посадите на замок конец кривой и четвертинка тоже будет меняться Можно ещё уменьшить фрагмент — посадите на замок конец кривой и четвертинка тоже будет меняться](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60694c646d990144cec0aa49.png)
У эллипса можно включить марку центра и фокусов. Фокусы обычно не пригождаются, но приятно, что они есть.
Комбинации фигур
Посмотрим, как запараметризировать голову Чебурашки. При смене диаметра головы уши должны смещаться.
![Вот наш Чебурашка. Уши пока маленькие — он только родился Вот наш Чебурашка. Уши пока маленькие — он только родился](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60694d344e1bd50949638152.png)
![Вот такие параметры спрятаны в Чебурашке Вот такие параметры спрятаны в Чебурашке](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60694daba773600090e98201.png)
Чтобы сделать такое, нужно:
- нарисовать окружность головы и окружности ушей;
- инструментом «Разделить элемент» вырезать участки из большой окружности;
- инструментом «Обрезать/удлинить до угла» соединить голову и уши;
- теперь голова — это две дуги, включаем их центры и привязываем к пересечению опорных плоскостей
- ставим диаметры, вешаем параметры — голова запараметризирована;
- создаём опорные плоскости, чтобы привязать уши — ими можно шевелить и делать ближе или дальше от головы;
- привязываем центры ушей к пересечению плоскостей;
- ставим диаметры, вешаем параметры — уши запараметризированы.
Теперь при изменении параметров голова и уши будут меняться. Если на опорные плоскости, к которым крепятся уши, повесить другой параметр, отличный от диаметра головы, то можно будет приближать или удалять уши от головы. Однако помните — эскиз нельзя разрывать, так что уши не могут отделиться от головы.
![Вот так может меняться Чебурашка Вот так может меняться Чебурашка](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_60694ef66d990144cec20758.png)
Рассмотрим более сложный случай, когда Чебурашка мутировал и у него теперь три уха, которые расположены под углом 120° друг к другу. При этом толщина ушей будет отличаться от головы. В предыдущем примере они были одинаковой толщины, так как строились в одном эскизе.
Вот пример такого Чебурахера:
![Прости, Чебурашка Прости, Чебурашка](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_6069508709a6b7170278fc03.png)
Задача простая — надо сделать так, чтобы при изменении диаметра головы, уши двигались за головой. С головой всё понятно: центр привязан к опорным плоскостям, диаметром управляет параметр. Интереснее взглянуть на уши. Вот их эскиз с параметрами:
![Вот такой эскиз для ушей с опорными плоскостями и параметрами Вот такой эскиз для ушей с опорными плоскостями и параметрами](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_606952aeb2078603792670e9.png)
![При изменении параметров — всё меняется и остаётся в правильных местах При изменении параметров — всё меняется и остаётся в правильных местах](https://muratovbim.pro/wp-content/uploads/2022/12/pub_6067eb8309a6b71702b2107a_606952ba45570e1e4352911c.png)
Попробуйте сами такое сделать, чтобы лучше разобраться. Главное — все центры нужно привязывать к пересечениям опорным плоскостей, а геометрию, которая лежит под углом к основным опорным плоскостям, нужно привязывать к отдельным опорным плоскостям и через тригонометрию управлять их положением. Вслед за ними будет ездить и геометрия.
Научиться пользоваться формулами можно в крутой статье, в которой подробнейшим образом описываю все формулы в Ревите.
Пишите в комментарии, какие случае параметризации хотели бы рассмотреть и помог ли материал вам лучше разобраться в работе с геометрией в Ревите.
Не забывайте подписываться в Телеграме на канал блога «Блог Муратова про Revit MEP» — так вы узнаете о выходе свежих материалов.
В чате канала можно пообщаться и задать вопросы. Делитесь ссылочками на статьи и Телеграм с коллегами — давайте продвигать знания Ревита в массы!
Читайте методичку для проектировщиков: полезный материал, в котором последовательно рассказываю, как создавать модель.
Бесплатные обзоры ваших моделей
Периодически провожу «Ревит-линчи» — разбираю файлы семейств и проектов пользователей и отвечаю на вопросы по Ревиту и БИМ-технологиям. Дату и ссылку на Ревит-линч публикую в Телеграм-канале. Приходите, там интересно.
Отблагодарить автора
Я много времени уделяю блогу и разработке семейств. Если хотите отблагодарить меня, то можете сделать небольшой подарок (именно подарок, такой перевод не облагается налогом).