<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Ирина Дзюба</title><author><name>Ирина Дзюба</name></author><id>https://teletype.in/atom/iradzyuba</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/iradzyuba?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@iradzyuba?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=iradzyuba"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/iradzyuba?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-09-20T15:09:14.233Z</updated><entry><id>iradzyuba:control-of-length-parameters-in-revit</id><link rel="alternate" type="text/html" href="https://teletype.in/@iradzyuba/control-of-length-parameters-in-revit?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=iradzyuba"></link><title>Как параметризировать изменяемые размеры в семействе Revit?</title><published>2025-08-16T18:49:02.123Z</published><updated>2025-08-18T09:06:42.297Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/57/6b/576be8ce-9c3f-4168-b5b1-0aa0b2eb8d15.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/eb/9f/eb9f35f8-0420-439c-a8d0-d5b60f5094d9.jpeg&quot;&gt;В программе Revit мы занимаемся объектно-ориентированным проектированием, то есть моделируем элементы, каждый из которых является цифровым аналогом реального объекта со своими свойствами, поведением и правилами. Геометрия проектных элементов ограничена материалами, производственными особенностями, экономикой, процессами монтажа и транспортировки, поэтому большинство объектов имеет ограничения, которые важно закладывать в процессе моделирования.</summary><content type="html">
  &lt;p id=&quot;XjvD&quot;&gt;В программе Revit мы занимаемся &lt;strong&gt;объектно-ориентированным проектированием&lt;/strong&gt;, то есть моделируем элементы, каждый из которых является цифровым аналогом реального объекта со своими свойствами, поведением и правилами. Геометрия проектных элементов ограничена материалами, производственными особенностями, экономикой, процессами монтажа и транспортировки, поэтому большинство объектов имеет ограничения, которые важно закладывать в процессе моделирования.&lt;/p&gt;
  &lt;p id=&quot;LRta&quot;&gt;При работе с данными очень важно уметь управлять этими ограничениями, не теряя логики моделируемого объекта, чтобы обеспечить корректность наших данных.&lt;/p&gt;
  &lt;p id=&quot;kScu&quot;&gt;Поэтому здесь мы поговорим о &lt;strong&gt;параметрах длины, которые закладываются при моделировании семейств&lt;/strong&gt;. Подробно рассмотрим варианты управления параметром для пользователя: от полной свободы до строго ограниченных значений.&lt;/p&gt;
  &lt;nav&gt;
    &lt;ul&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#FXMG&quot;&gt;Немного теории&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#ypEf&quot;&gt;Создание ручек в семействе&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#wwxZ&quot;&gt;Создание параметра, кратного определенному значению&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#3p5t&quot;&gt;Ограничение диапазона значений параметра&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#geys&quot;&gt;Значения параметра только из списка&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/nav&gt;
  &lt;figure id=&quot;j8vt&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/eb/9f/eb9f35f8-0420-439c-a8d0-d5b60f5094d9.jpeg&quot; width=&quot;385&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ysuU&quot;&gt;Несколько примеров, которые мы сегодня рассмотрим:&lt;/p&gt;
  &lt;ul id=&quot;Orub&quot;&gt;
    &lt;li id=&quot;vIjI&quot;&gt;пользователю нужно менять значение параметра с помощью элементов управления - &amp;quot;ручек&amp;quot;&lt;/li&gt;
    &lt;li id=&quot;8wVj&quot;&gt;пользователю нужно ограничить возможность вводимых значений, допустив значения только с определенным шагом&lt;/li&gt;
    &lt;li id=&quot;dlF5&quot;&gt;пользователю нужно ввести ограничения по диапазону значений, которые может принимать параметр&lt;/li&gt;
    &lt;li id=&quot;tF3K&quot;&gt;параметр может принимать значения только из определенного списка&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;otG0&quot;&gt;И для начала..&lt;/p&gt;
  &lt;p id=&quot;rnDQ&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;FXMG&quot;&gt;Немного теории&lt;/h2&gt;
  &lt;p id=&quot;cb3P&quot;&gt;Все числовые значения, которые мы можем задать параметрам можно представить в виде числовых последовательностей.&lt;/p&gt;
  &lt;p id=&quot;CeXV&quot;&gt;&lt;u&gt;Если отойти от темы BIM&lt;/u&gt;, то в математике существуют множество типов числовых последовательностей. Есть несколько классификаций, к примеру: &lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;5XzC&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;По типу данных&lt;/strong&gt;&lt;/p&gt;
    &lt;ul id=&quot;MVX2&quot;&gt;
      &lt;li id=&quot;XRjy&quot;&gt;целые числа - 1, 2, 3, 4, 5 ... &lt;/li&gt;
      &lt;li id=&quot;quZ6&quot;&gt;вещественные числа - 0.1, 5.6, 0.4924, 83.5 ...&lt;/li&gt;
      &lt;li id=&quot;BGcI&quot;&gt;рациональные числа (дроби) - 1/2, 5/6, 8/11 ...&lt;/li&gt;
      &lt;li id=&quot;DOQU&quot;&gt;иррациональные числа - √3, π, е ...&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;GjV7&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;По возможным значениям&lt;/strong&gt;&lt;/p&gt;
    &lt;ul id=&quot;1W3g&quot;&gt;
      &lt;li id=&quot;h8dj&quot;&gt;непрерывные - могу принимать любые значения в определенном диапазоне, к примеру от 0 до 1&lt;/li&gt;
    &lt;/ul&gt;
    &lt;figure id=&quot;RIUq&quot; class=&quot;m_retina&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/f1/b9/f1b9ad75-3294-4902-a4b8-7058adbbe98a.png&quot; width=&quot;261.5&quot; /&gt;
    &lt;/figure&gt;
    &lt;ul id=&quot;ulgM&quot;&gt;
      &lt;li id=&quot;VDwL&quot;&gt;дискретные - могут принимать только определенные значения в диапазоне, к примеру все целые числа или все числа, кратные определенному значению&lt;/li&gt;
    &lt;/ul&gt;
    &lt;figure id=&quot;nWch&quot; class=&quot;m_retina&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c0/4f/c04f34c8-4026-412a-a4f9-139b6432c5f1.png&quot; width=&quot;265&quot; /&gt;
    &lt;/figure&gt;
    &lt;ul id=&quot;DihZ&quot;&gt;
      &lt;li id=&quot;jI0X&quot;&gt;категориальные – могут принимать только определенные значения из списка&lt;/li&gt;
    &lt;/ul&gt;
    &lt;figure id=&quot;PnnF&quot; class=&quot;m_retina&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/09/4d/094d2d65-53cc-4111-bd89-983a86e3c070.png&quot; width=&quot;260.5&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;uNpy&quot;&gt;&lt;u&gt;Возвращаясь к теме BIM&lt;/u&gt;:&lt;/p&gt;
  &lt;p id=&quot;zkrm&quot;&gt;Тип данных мы задаем во время создания параметра. Сейчас мы рассматриваем только величины типа данных &amp;quot;Длина&amp;quot;.&lt;/p&gt;
  &lt;p id=&quot;uaS8&quot;&gt;И если копнуть в тело программы, то &lt;u&gt;длина - это вещественное число&lt;/u&gt;, которое в пользовательском пространстве представляется в наших единицах проекта.&lt;/p&gt;
  &lt;p id=&quot;mtZo&quot;&gt;И если данную логику перевести в строительные объекты:&lt;/p&gt;
  &lt;ul id=&quot;1Nwi&quot;&gt;
    &lt;li id=&quot;hiKG&quot;&gt;длина стены может принимать значения из непрерывной последовательности&lt;/li&gt;
    &lt;li id=&quot;9NIl&quot;&gt;габариты железобетонной плиты могут принимать значения из дискретной последовательности (кратные 10, 50 или любому значению, которое принято на основе шага арматурной сетки)&lt;/li&gt;
    &lt;li id=&quot;cU9d&quot;&gt;габариты отверстий в железобетонной плите под инженерные сети могут принимать значения из категориальной последовательности (к примеру, 100, 150, 250, 400)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;p9LG&quot;&gt;Теперь переходим к моделированию. Как же все это сделать?&lt;/p&gt;
  &lt;h2 id=&quot;ypEf&quot;&gt;Создание ручек в семействе&lt;/h2&gt;
  &lt;p id=&quot;tdJl&quot;&gt;Сначала создадим семейство, это может быть любая категория геометрии, соответственно, выбираем тот шаблон, который вам нужен.&lt;/p&gt;
  &lt;p id=&quot;2m2B&quot;&gt;Для того, чтобы ручками можно было изменить параметр длины, нужно соблюсти несколько условий:&lt;/p&gt;
  &lt;ul id=&quot;OHfJ&quot;&gt;
    &lt;li id=&quot;Kwy2&quot;&gt;изменяемый параметр должен быть параметром экземпляра&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;orZ1&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/eb/92/eb92d7fc-28d4-4b2b-982d-bce43ac6d591.png&quot; width=&quot;412&quot; /&gt;
  &lt;/figure&gt;
  &lt;ul id=&quot;uC4X&quot;&gt;
    &lt;li id=&quot;TS3U&quot;&gt;размер, который отвечает за параметр, должен быть привязан к опорным плоскостям &lt;strong&gt;со связью&lt;/strong&gt;, подробнее об этом можно будет прочитать в отдельной статье. Главное - чтобы &lt;strong&gt;параметр &amp;quot;Связь&amp;quot;&lt;/strong&gt; &lt;strong&gt;не имел значение &amp;quot;Нет&amp;quot;.&lt;/strong&gt; В ручках мы двигаем не геометрию, а опорные плоскости.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;2SYl&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/93/a5/93a50d48-a28c-4363-ac98-7631414fe695.png&quot; width=&quot;477&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Tx0N&quot;&gt;Семейство можно подгрузить в проект и убедиться в его работоспособности. Наличие ручек не исключает возможности ввода значений с клавиатуры.&lt;/p&gt;
  &lt;figure id=&quot;fYAc&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/91/57/9157c2f8-ca0d-44ef-b5a9-be8f891530d8.gif&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;HWJh&quot;&gt;Сейчас мы имеем параметр, значения которого составляют &lt;u&gt;непрерывную последовательность&lt;/u&gt;. Идем дальше&lt;/p&gt;
  &lt;p id=&quot;ZmLF&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;wwxZ&quot;&gt;Создание параметра, кратного определенному значению&lt;/h2&gt;
  &lt;p id=&quot;hKny&quot;&gt;Теперь реализуем чуть более сложную логику:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;lImO&quot;&gt;За длину отвечает два параметра. Одно значение - пользовательский ввод, другое - фактическое, округленное. Пользовательский ввод - управляющий параметр, на основе которого происходит расчет. Результат расчета - фактический размер в модели. &lt;/p&gt;
    &lt;blockquote id=&quot;fuPn&quot;&gt;Такую логику мы реализуем по причине того, что в ревите нет возможности ввести значение и в этом же параметре его округлить&lt;/blockquote&gt;
  &lt;/section&gt;
  &lt;p id=&quot;5eac&quot;&gt;Пользовательский параметр у нас уже есть, его переименовываем в &amp;quot;Ширина фактическая&amp;quot;. Получаем то, что показано на скринах ниже.&lt;/p&gt;
  &lt;figure id=&quot;xIjN&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/40/02/4002fd1c-e9dd-4f4d-b8dd-79e6fb24b313.png&quot; width=&quot;570&quot; /&gt;
    &lt;figcaption&gt;Параметры семейства&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;bxoB&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/58/f5/58f590d6-a095-4a7d-98bf-dc67aa4fc243.png&quot; width=&quot;415&quot; /&gt;
    &lt;figcaption&gt;Опорный уровень семейства&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;IFfQ&quot;&gt;Дальше нам нужно добавить параметр, который будет отвечать за результат округления. Для этого создаю параметры &amp;quot;Шаг&amp;quot; и &amp;quot;Ширина_пользовательская&amp;quot;, у обоих параметров тип данных - длина. Обоим параметрам присваиваем любые значения, чтобы они не были нулевыми.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Sye9&quot;&gt;И фактическая, и пользовательская ширина должны быть параметрами &lt;strong&gt;экземпляра!&lt;/strong&gt; Иначе логика не сработает. А шаг может быть как типом, так и экземпляром&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;5aLr&quot;&gt;Прописываем формулу в параметре &amp;quot;Ширина_фактическая&amp;quot;, которая округляет значение до кратного нашему шагу. Формула выглядит следующим образом:&lt;/p&gt;
  &lt;pre id=&quot;LlvU&quot;&gt;roundup(Ширина_пользовательская / Шаг) * Шаг&lt;/pre&gt;
  &lt;figure id=&quot;W58f&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/fc/18/fc18259c-7330-4ca8-9a71-d24a1f28d0b8.png&quot; width=&quot;669&quot; /&gt;
    &lt;figcaption&gt;Параметры семейства&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Z3HC&quot;&gt;Далее нам нужно реализовать небольшой трюк, связав наши параметры с геометрией.&lt;/p&gt;
  &lt;blockquote id=&quot;xOd9&quot;&gt;Необязательный пункт: создаю подкатегорию и задаю ей иные настройки видимости, чтобы визуально в редакторе семейств они отличались от других опорных плоскостей. Подробную инструкцию по работе с опорными элементами можно будет прочитать в следующей статье. Вот цвета, которыми я буду показывать параметры:&lt;/blockquote&gt;
  &lt;figure id=&quot;2EK6&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/45/e4/45e47e99-cc93-426f-9b25-3ae960ffa62d.png&quot; width=&quot;293&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;cIkk&quot;&gt;За периметром объекта строим две вспомогательные линии, перпендикулярные ширине. Панель &amp;quot;Создание&amp;quot; --&amp;gt; вкладка &amp;quot;Основа&amp;quot; --&amp;gt; инструмент &amp;quot;Вспомогательная линия&amp;quot;.&lt;/p&gt;
  &lt;figure id=&quot;OykE&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/79/1f/791f75fd-951b-4565-a0fc-e2bd7bd1ef7c.gif&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;blockquote id=&quot;B3ld&quot;&gt;Дальше я скрываю лишнее и показываю только те объекты, с которыми работаю&lt;/blockquote&gt;
  &lt;p id=&quot;M5Sl&quot;&gt;Переопределяем связи опорных элементов:&lt;/p&gt;
  &lt;ul id=&quot;eysb&quot;&gt;
    &lt;li id=&quot;lx8I&quot;&gt;теперь &amp;quot;фактические&amp;quot; опорные плоскости не должны иметь связи, они расчетные, их значение подбирается на основе формулы&lt;/li&gt;
    &lt;li id=&quot;KZM7&quot;&gt;а &amp;quot;пользовательские&amp;quot; вспомогательные линии должны иметь сильные или слабые связи, именно их будет двигать пользователь за «ручки» в модели&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;GGWh&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/38/9a/389a28ca-a20a-4b1f-84c7-7e6dfefc13b4.gif&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;xIc5&quot;&gt;Перекрестно образмериваю опорные плоскости и вспомогательные линии. Размерам присваиваю параметр &amp;quot;Ширина_пользовательская&amp;quot;. &lt;/p&gt;
  &lt;figure id=&quot;G9Vh&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/3c/b4/3cb4c12a-252e-483e-9b10-fa57f0593e5d.gif&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;KAsn&quot;&gt;Загружаю в проект и смотрю на результат. Ручки можно сдвинуть на любое расстояние, а вот фактический размер будет кратен нашему шагу.&lt;/p&gt;
  &lt;figure id=&quot;U24H&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/3b/7f/3b7fdb87-08b9-41bb-9463-3d549f28a82e.gif&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;PO9T&quot;&gt;В этом шаге мы получили семейство, значения которого составляют &lt;u&gt;дискретную последовательность&lt;/u&gt; из чисел, кратных 150 мм.&lt;/p&gt;
  &lt;h2 id=&quot;3p5t&quot;&gt;Ограничение диапазона значений параметра&lt;/h2&gt;
  &lt;p id=&quot;1H3C&quot;&gt;Ограничить значения параметра мы можем искусственно смоделированной ошибкой. Это будет элемент геометрии, который будет сообщать пользователю о необходимости внесения изменений.&lt;/p&gt;
  &lt;p id=&quot;8Pv8&quot;&gt;В качестве ошибки инженеры часто используют красный шар, в других дисциплинах я чаще встречала текстовые обозначения ошибок. От типа объекта логика не меняется, сейчас мы будем использовать текст модели.&lt;/p&gt;
  &lt;p id=&quot;d5fi&quot;&gt;Логика такая:&lt;/p&gt;
  &lt;ul id=&quot;XZOp&quot;&gt;
    &lt;li id=&quot;mkqi&quot;&gt;При «ожидаемых» значениях ошибка никак себя не проявляет&lt;/li&gt;
    &lt;li id=&quot;VDDq&quot;&gt;При некорректных значениях ошибка появляется в модели&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;utRO&quot;&gt;Создаем элемент геометрии. Вкладка «Создание» --&amp;gt; панель «Модель» --&amp;gt; инструмент «Текст модели». Я создаю с текстом «Семейство некорректно», содержание текста, кстати, тоже можно параметризировать.&lt;/p&gt;
  &lt;figure id=&quot;YOF8&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/7d/c5/7dc50194-665c-4d44-9ba4-db0007098307.gif&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;rhPd&quot;&gt;Далее при выделении текста модели в панели свойств параметризирую его видимость. Создаю параметр, который называю «Ошибка», он должен принадлежать экземпляру.&lt;/p&gt;
  &lt;figure id=&quot;XOET&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f3/e4/f3e4d438-3af6-49c1-95c5-b1e0b46e75ce.gif&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;mbSC&quot;&gt;Далее прописываю формулу в значении параметра «Ошибка»:&lt;/p&gt;
  &lt;pre id=&quot;ugNV&quot;&gt;Ширина_фактическая &amp;gt; 1000 мм&lt;/pre&gt;
  &lt;p id=&quot;R4h8&quot;&gt;То есть, &lt;u&gt;ошибка видна только в случае, если значение превышает 1000 мм&lt;/u&gt;. Есть варианты посложнее, к примеру:&lt;/p&gt;
  &lt;pre id=&quot;NRjJ&quot;&gt;or(and(Ширина_фактическая &amp;gt; 500 мм, Ширина_фактическая &amp;lt; 1000 мм), Ширина_фактическая &amp;gt; 2500 мм)&lt;/pre&gt;
  &lt;p id=&quot;xrQW&quot;&gt;Ошибка видна, если значение попадает в диапазон от 500 до 1000 и превышает 2500. То есть с помощью формул можно прописать любой диапазон, главное – связать это с логикой моделирования.&lt;/p&gt;
  &lt;p id=&quot;bJrC&quot;&gt;Подгружаю в модель и проверяю значения:&lt;/p&gt;
  &lt;figure id=&quot;yB9z&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/91/5f/915f09ac-85f2-4a04-ad49-568b6c3a5d8f.gif&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;7uh6&quot;&gt;Обращаем внимание на параметр «Ширина_фактическая», ошибка появляется только при значениях от 500 до 1000 и выше 2500, все как в формуле. Тут мы получили значения из &lt;u&gt;ограниченной дискретной последовательности&lt;/u&gt;.&lt;/p&gt;
  &lt;h2 id=&quot;geys&quot;&gt;Значения параметра только из списка&lt;/h2&gt;
  &lt;p id=&quot;o0ez&quot;&gt;Самым лучшим примером будет определение типоразмеров в семействе, в которых вы прописываете значения для каждого типа отдельно. Но возможны и другие варианты, к примеру, таблицы выбора, которые мы рассмотрим в отельной статье или прописывание формул. Сейчас мы рассматриваем управление только формулами.&lt;/p&gt;
  &lt;p id=&quot;Ditp&quot;&gt;К примеру, у параметра возможны только значения из списка (400, 700, 1500). Мы можем прописать такую формулу, при которой происходит подбор фактического размера на основе пользовательского. Аналогично с методом создания размера с шагом.&lt;/p&gt;
  &lt;p id=&quot;1XQp&quot;&gt;Прописываем значение параметра «Ширина_фактическая»:&lt;/p&gt;
  &lt;pre id=&quot;JEhq&quot;&gt;if(Ширина_пользовательская &amp;lt; 400 мм, 400 мм, if(Ширина_пользовательская &amp;lt; 700 мм, 700 мм, 1500 мм))&lt;/pre&gt;
  &lt;figure id=&quot;xTP7&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/74/60/74603141-6501-4e52-b3cf-2dd4b0cb38c6.png&quot; width=&quot;974&quot; /&gt;
    &lt;figcaption&gt;Параметры семейства&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;lCPc&quot;&gt;Данный способ удобен, если происходит изменение более чем одного параметра, подбор осуществляется в проекте и совмещение всех возможных значений в типоразмеры создаст огромный список. Из минусов – длинная формула, которую стоит прописать в отдельном окне, а потом вставлять в ревит.&lt;/p&gt;
  &lt;figure id=&quot;mMRP&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c7/75/c7757c02-a3b0-4ded-b246-9b389c117ec5.gif&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Wbsj&quot;&gt;Тут мы получили значение параметра из &lt;u&gt;категориальной последовательности.&lt;/u&gt;&lt;/p&gt;
  &lt;p id=&quot;C0Yc&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;21qJ&quot;&gt;Спасибо всем, кто дочитал до конца! Надеюсь, вы нашли для себя что-то полезное в этой статье. Если у вас возникли вопросы по теме, обращайтесь ко мне в Telegram.&lt;/p&gt;
  &lt;p id=&quot;ql8T&quot;&gt;Больше информации по теме информационного моделирования в моем тгк &lt;a href=&quot;https://t.me/bim_dev&quot; target=&quot;_blank&quot;&gt;&amp;quot;BIM журнал&amp;quot;&lt;/a&gt;.&lt;/p&gt;

</content></entry><entry><id>iradzyuba:slozhnye-dvernye-proemy-v-Revit</id><link rel="alternate" type="text/html" href="https://teletype.in/@iradzyuba/slozhnye-dvernye-proemy-v-Revit?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=iradzyuba"></link><title>Как моделировать сложные проемы в Revit</title><published>2025-07-08T17:15:44.464Z</published><updated>2025-07-08T17:17:00.334Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/62/87/62879e2b-f6ff-497f-8eb6-974781ec80d2.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/9c/b9/9cb912bc-7caa-45fd-ad15-a56ba43ebea4.png&quot;&gt;Моделируем проемы в Revit: дверь с четвертью, откосом, сложной геометрией</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;UVsU&quot;&gt;Всем привет! &lt;/p&gt;
    &lt;p id=&quot;N9XM&quot;&gt;&lt;strong&gt;Меня зовут Ирина - я практикующий BIM-специалист с разносторонним опытом.&lt;/strong&gt; Работаю в Revit, создаю среду для информационного моделирования в строительстве и делюсь своим опытом тут. Данная статья может быть полезна тем, кого интересует моделирование семейств в программе Revit. Она рассчитана на то, что вы уже работали с проектами в данной программе и имеете небольшой опыт работы с семействами.&lt;/p&gt;
  &lt;/section&gt;
  &lt;nav&gt;
    &lt;ul&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#TOJ5&quot;&gt;Работа с исходными данными&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#WJcl&quot;&gt;Моделирование проема&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#vlFK&quot;&gt;Моделирование двери&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#jRFy&quot;&gt;Построение полотна&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#Bkzg&quot;&gt;Добавление УГО&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/nav&gt;
  &lt;p id=&quot;KoC3&quot;&gt;Недавно мне поступил вопрос &lt;strong&gt;как смоделировать сложную форму дверных проемов&lt;/strong&gt;, к примеру, если в самом проеме нужно сделать скос, четверть или закругление в плане. Решение из этой статьи можно спроецировать на все семейства, которые «режут» стены: двери, проемы, окна.&lt;/p&gt;
  &lt;figure id=&quot;BiNK&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9c/b9/9cb912bc-7caa-45fd-ad15-a56ba43ebea4.png&quot; width=&quot;459&quot; /&gt;
    &lt;figcaption&gt;Вариации цверных проемов&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ZaQU&quot;&gt;В стандартном варианте работы с семействами дверей нам предлагают создавать дверной проем инструментом «проем». Работает он хорошо, но, что если наш проем обладает более сложной формой, которая не вписывается в 2D контур эскиза стены? &lt;/p&gt;
  &lt;h2 id=&quot;TOJ5&quot;&gt;Работа с исходными данными&lt;/h2&gt;
  &lt;p id=&quot;7fLi&quot;&gt;При создании семейства нам необходимо создать файл на основе шаблона. Я выбираю базовый шаблон, предоставляемый средой Revit (название шаблона - «Метрическая система, дверь.rft»).&lt;/p&gt;
  &lt;p id=&quot;UenE&quot;&gt;Вы можете использовать свой, но учитывайте, что мы разрабатываем именно дверь, поэтому шаблон нужен с основой в виде стены. В противном случае, вы не сможете самостоятельно разместить стену в семействе.&lt;/p&gt;
  &lt;p id=&quot;SmZY&quot;&gt;В стандартном шаблоне уже присутствуют: дверь, проем, дверной каркас и некоторые параметры.  &lt;/p&gt;
  &lt;figure id=&quot;zYmY&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/99/13/9913a776-ae95-4a31-973f-7dbb6d1e1742.png&quot; width=&quot;453&quot; /&gt;
    &lt;figcaption&gt;Шаблон семейства в плане&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;8qTa&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e6/84/e684bbd8-c878-4fa9-a699-9dd9e7b04899.png&quot; width=&quot;383.5&quot; /&gt;
    &lt;figcaption&gt;Шаблон семейства в фасаде&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;PVBs&quot;&gt;Инструмент «Проем» работает стандартно как эскиз 2D фигуры и нашу задачу он решить не сможет. Поэтому его нужно удалить: выделяем проем --&amp;gt; «delete». После чего у вас должна получиться целая стена, без выреза.&lt;/p&gt;
  &lt;p id=&quot;5CM0&quot;&gt;Для свободной работы можем удалить и другие элементы, кроме стены.&lt;/p&gt;
  &lt;figure id=&quot;rBdI&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/ff/12/ff12ff91-8025-48b7-8a85-784d30d6c195.gif&quot; width=&quot;471&quot; /&gt;
    &lt;figcaption&gt;Удаление лишних элементов из шаблона&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;WJcl&quot;&gt;Моделирование проема&lt;/h2&gt;
  &lt;p id=&quot;dQL8&quot;&gt;Мы будем работать с &lt;strong&gt;полыми формами&lt;/strong&gt;. Для этого мы избавляемся от проема и моделируем ту конфигурацию полых форм, которая нам подходит. Я выберу вариант с четвертью стены, чтобы показать механизм работы.&lt;/p&gt;
  &lt;p id=&quot;ImSt&quot;&gt;Полые формы могут быть сделаны такими же способами, как и твердотельная геометрия:&lt;/p&gt;
  &lt;ul id=&quot;RYjO&quot;&gt;
    &lt;li id=&quot;uJN9&quot;&gt;выдавливанием&lt;/li&gt;
    &lt;li id=&quot;x0i1&quot;&gt;переходом&lt;/li&gt;
    &lt;li id=&quot;xtaK&quot;&gt;вращением&lt;/li&gt;
    &lt;li id=&quot;qnnA&quot;&gt;сдвигом&lt;/li&gt;
    &lt;li id=&quot;Li0Y&quot;&gt;смещением по траектории&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;kPyJ&quot;&gt;Мы можем использовать любые комбинации, на исход это не повлияет.&lt;/p&gt;
  &lt;p id=&quot;Idcb&quot;&gt;Строим форму с нужными формами и габаритами, параметризируем при необходимости – это будет тело нашего будущего проема. Я моделирую проем с четвертью кирпича и беру стандартные модульные размеры.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Opyd&quot;&gt;Параметризировать геометрию необходимо через опорные плоскости, иначе изменения значений параметров будут вызывать ошибки. &lt;/p&gt;
    &lt;p id=&quot;23HQ&quot;&gt;Важно учесть, что толщину проема необходимо привязать к чистовой поверхности стены (то есть к плоскостям, которые лежат на чистовых поверхностях стен) – только в таком случае проем будет работать корректно на любых толщинах стен в проекте&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;BkW4&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f9/fb/f9fb7d81-d588-42d1-ac61-a9169d2febff.gif&quot; width=&quot;720&quot; /&gt;
    &lt;figcaption&gt;Привязка полой геометрии проема к опорным плоскостям&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;7dub&quot;&gt;Далее можно вырезать геометрию проема из стены. Сделать это легко: вкладка «Изменить» --&amp;gt; панель «Геометрия» --&amp;gt; кнопка «Вырезать» --&amp;gt; кнопка «Разрешить вырезание геометрии».&lt;/p&gt;
  &lt;figure id=&quot;snwZ&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/0c/2e/0c2ef9a3-f629-4edd-b447-8b2bea30d689.png&quot; width=&quot;974&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;9QB7&quot;&gt;Далее нужно выбрать объект стены, затем полый объект. Если объектов, из которых вы собираетесь моделировать проем, несколько, то необходимо повторить вырезание с каждым полым объектом отдельно.&lt;/p&gt;
  &lt;figure id=&quot;VNuC&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6b/63/6b632eda-f647-4ba3-9307-c6ad721e2799.gif&quot; width=&quot;720&quot; /&gt;
    &lt;figcaption&gt;Вырезание проема&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;pzNj&quot;&gt;Проем готов, дальше можно строить конструкцию двери.&lt;/p&gt;
  &lt;p id=&quot;PPMt&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;vlFK&quot;&gt;Моделирование двери&lt;/h2&gt;
  &lt;p id=&quot;LB6m&quot;&gt;&lt;strong&gt;Как настроить открытие полотна двери?&lt;/strong&gt;&lt;br /&gt;Для того, чтобы разработать семейство, пригодное для использования в проекте, нужно соблюсти следующие условия: &lt;/p&gt;
  &lt;ul id=&quot;R1jS&quot;&gt;
    &lt;li id=&quot;mb0X&quot;&gt;На фасаде/разрезе/3D виде полотно расположено параллельно стене (дверь закрыта);&lt;/li&gt;
    &lt;li id=&quot;uEik&quot;&gt;На плане дверь открыта под углом.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;KKsP&quot;&gt;Для начала определим, что &lt;strong&gt;на&lt;/strong&gt; &lt;strong&gt;разных видах&lt;/strong&gt; нам нужно показывать &lt;strong&gt;разные объекты&lt;/strong&gt;, так как дверь одновременно должна быть и открыта, и закрыта (пользователь не должен открывать/закрывать дверь при переходе с плана на другие виды). Сделать это можно так:&lt;/p&gt;
  &lt;ul id=&quot;nZEZ&quot;&gt;
    &lt;li id=&quot;NoRZ&quot;&gt;на фасаде, разрезе, 3D виде мы будем показывать только твердотельную геометрию полотна;&lt;/li&gt;
    &lt;li id=&quot;DJbP&quot;&gt;на плане мы скроем геометрию полотна и построим условное графическое отображение (УГО), у которого настроим пользовательский угол. &lt;/li&gt;
  &lt;/ul&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;8x3j&quot;&gt;То есть геометрия полотна двери будет видна только на фасаде, разрезе и 3D виде, а на плане пользователь будет видеть УГО.&lt;/p&gt;
  &lt;/section&gt;
  &lt;h3 id=&quot;jRFy&quot;&gt;Построение полотна&lt;/h3&gt;
  &lt;p id=&quot;8IA8&quot;&gt;Я строю полотно выдавливанием, дверной каркас – смещением по траектории. &lt;/p&gt;
  &lt;p id=&quot;jFpj&quot;&gt;Для того, чтобы полотна и каркаса двери не было видно на плане, необходимо переопределить их видимость. Для этого нужно выбрать два элемента геометрии и в свойствах, в параметре &amp;quot;Переопределение видимости/графики&amp;quot;, нажать на кнопку &amp;quot;Изменить&amp;quot;.&lt;/p&gt;
  &lt;figure id=&quot;1eaa&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/ff/e4/ffe4235c-f329-423f-a8c1-7c5d7f8d4f6a.jpeg&quot; width=&quot;600&quot; /&gt;
    &lt;figcaption&gt;Выбор кнопки &amp;quot;Изменить&amp;quot; в свойствах элементов&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;MZUZ&quot;&gt;Далее в открывшемся окне скрываем видимость на планах и горизонтальных секущих плоскостях: &lt;/p&gt;
  &lt;figure id=&quot;y2Iz&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/09/37/0937f9b5-b2e0-405a-9323-6fe2d1f98ce3.png&quot; width=&quot;404&quot; /&gt;
    &lt;figcaption&gt;Параметры видимости полотна и каркаса двери&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;Bkzg&quot;&gt;Добавление УГО&lt;/h3&gt;
  &lt;p id=&quot;CIuX&quot;&gt;Для того, чтобы дверь отображалась на плане условно, я моделирую отдельное семейство, которое подгружаю как вложенное. Геометрия данного семейства выполнена символическими линиями. Их особенность заключается в том, что их видно только на той проекции, в которой они были построены, в нашем случае это план.&lt;/p&gt;
  &lt;figure id=&quot;n6Mp&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/ef/5d/ef5dce11-4d0e-49a2-9200-d5fcf5a5b038.jpeg&quot; width=&quot;640&quot; /&gt;
    &lt;figcaption&gt;Инструмент &amp;quot;Символическая линия&amp;quot;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;hPGp&quot;&gt;Далее я размещаю готовое семейство УГО в семействе двери. По необходимости связываю параметры, чтобы в семействах сохранялось наследование значений параметров.&lt;/p&gt;
  &lt;figure id=&quot;jOvW&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9b/88/9b8826f5-4cc2-4c5d-93ee-318dff46d5c1.gif&quot; width=&quot;720&quot; /&gt;
    &lt;figcaption&gt;Размещение и закрепление экземпляра семейства УГО в семействе двери&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;i0fV&quot;&gt;&lt;strong&gt;Работу получившегося семейства показываю ниже&lt;/strong&gt;&lt;br /&gt;Обратите внимание, что открывание двери на плане не влияет на открытие полотна на 3D виде, что позволяет нам грамотно оформлять чертежи и обеспечить корректность модели.&lt;/p&gt;
  &lt;figure id=&quot;IvF6&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1a/68/1a684a17-ba85-405e-a7bc-0edeed62ba1e.gif&quot; width=&quot;720&quot; /&gt;
    &lt;figcaption&gt;Работа получившегося семейства&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;6BLx&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;6vHT&quot;&gt;Благодарю за прочтение данной статьи! Надеюсь, вы нашли что-то полезное для себя. Больше информации для BIM-разработчиков в моем &lt;a href=&quot;https://t.me/bim_dev&quot; target=&quot;_blank&quot;&gt;telegram - канале&lt;/a&gt;&lt;/p&gt;

</content></entry></feed>