Семейства элементов ОВ и ВК в Autodesk Revit. Часть 3. Параметры спецификаций и таблицы имен

Картинка1v45-1280x883.jpg

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

Не стоит откладывать на потом ввод значений параметров, отображаемых в спецификации элементов инженерных систем

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

ПКК_ФитингТрубопроводов_Заглушка_Контур_ПП — ПКК_ФитингТрубопроводов_Заглушка_Контур_ПП

ПКК_ФитингТрубопроводов_Соединение_Контур_МуфтаСНакиднойГайкой — Ø20-G1/2″

Понятно, что в таком виде данные не могут быть внесены в спецификацию, оформленную в соответствии с отечественными стандартами. Поэтому для отображения информации в графе «Наименование» должен быть создан соответствующий параметр, содержащий названия экземпляров семейств в нужном формате. Файл общих параметров (ФОП) для шаблона BIM-стандарта организации Autodesk версии 2.0 содержит такой параметр – ADSK_Наименование. Его и следует использовать для того, чтобы разрабатываемые семейства были универсальными при использовании их в проектах, выполненных на базе данного шаблона.

Также для внесения в спецификацию предусмотрены следующие общие параметры: ADSK_Завод-изготовитель, ADSK_Масса, ADSK_Обозначение и другие. Аналогично данным о наименовании экземпляров, информацию о производителе, обозначении изделий, нормативных документов и пр. следует добавлять в семейство с использованием этих общих параметров.

Для добавления в семейства данных, вносимых в спецификации, нужно использовать общие параметры из ФОП шаблона BIM-стандарта организации Autodesk

Конечно, если ваша организация использует собственный BIM-стандарт, в котором для данных целей предусмотрены другие параметры, следует выполнять предписания этого стандарта.

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

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

В этом случае параметры для спецификации нужно добавить как параметры типа и для каждого типоразмера изделия ввести их значения вручную в графе «Значение» в том виде, в котором информация должна отображаться в спецификации (как показано на скринштое выше). Если значение какого-либо из параметров одинаковое для каждого типа (например, ADSK_Завод-изготовитель), то можно ввести его в графу «Формула». При этом значение распространится на все типы семейства и станет недоступным для редактирования в проекте, в который это семейство загружено.

Изменять параметры, заданные таким способом для семейств, уже загруженных в проект, лучше через функцию «Изменить тип» или путем редактирования значений в спецификации. Если правки вносятся через редактор семейств с повторной загрузкой в проект, то в окне, предупреждающем о том, что это семейство в проекте уже существует, нужно выбрать вариант замены существующей версии и значений параметров.

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

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

Могут возникнуть трудности при использовании функции size_lookup для получения текстовых данных (например, для параметра ADSK_Наименование), т.к. таблицы имен в Revit, к сожалению, не поддерживают текстовый формат во всех столбцах кроме первого, для которого тип данных не указан. Значения из этого столбца можно получить, используя следующий синтаксис:

size_lookup(<ТаблицаИмен>, ″″, ″<Текст>″, <Параметр1>, <Параметр2>)

где:

  • <ТаблицаИмен> – название параметра семейства, обращающегося к загруженной в него таблице имен;
  • <Текст> – произвольный текст; значение, которое будет присвоено параметру при невыполнении условия выбора из таблицы имен;
  • <Параметр1>, <Параметр2> – параметры, по которым осуществляется поиск в таблице имен (может быть один или несколько).

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

Сама же таблица имен в первом столбце должна содержать значения, присваиваемые параметру в соответствии с типоразмером. Пример такой таблицы (первый столбец — значения параметра ADSK_Наименование):


;Диаметр1##length##millimeters;Диаметр2##length##millimeters;ДлинаМуфты1##length##millimeters;ДлинаМуфты2##length##millimeters;ДиаметрНаружный1##length##millimeters;ДиаметрНаружный2##length##millimeters;Масса##other##other
Муфта переходная наружная из ПП, 25 x 20 PN20;20;25;16;20;28;33;0.015
Муфта переходная наружная из ПП, 25 x 20 PN20;25;20;20;16;33;28;0.015
Муфта переходная наружная из ПП, 32 x 20 PN20;20;32;12;26;28;43;0.022
Муфта переходная наружная из ПП, 32 x 20 PN20;32;20;26;12;43;28;0.022
Муфта переходная наружная из ПП, 32 x 25 PN20;25;32;15;25;34;43;0.023
Муфта переходная наружная из ПП, 32 x 25 PN20;32;25;25;15;43;34;0.023
Муфта переходная наружная из ПП, 40 x 20 PN20;20;40;13;30;29;55;0.034
Муфта переходная наружная из ПП, 40 x 20 PN20;40;20;30;13;55;29;0.034
Муфта переходная наружная из ПП, 40 x 25 PN20;25;40;16;28;35;55;0.029
Муфта переходная наружная из ПП, 40 x 25 PN20;40;25;28;16;55;35;0.029
Муфта переходная наружная из ПП, 40 x 32 PN20;32;40;19;28;43;55;0.032
Муфта переходная наружная из ПП, 40 x 32 PN20;40;32;28;19;55;43;0.032
Муфта переходная наружная из ПП, 50 x 20 PN20;20;50;13;35;28;66;0.050
Муфта переходная наружная из ПП, 50 x 20 PN20;50;20;35;13;66;28;0.050
Муфта переходная наружная из ПП, 50 x 25 PN20;25;50;15;33;35;66;0.050
Муфта переходная наружная из ПП, 50 x 25 PN20;50;25;33;15;66;35;0.050
Муфта переходная наружная из ПП, 50 x 32 PN20;32;50;17;33;43;66;0.050
Муфта переходная наружная из ПП, 50 x 32 PN20;50;32;33;17;66;43;0.050
Муфта переходная наружная из ПП, 50 x 40 PN20;40;50;29;33;54;66;0.056
Муфта переходная наружная из ПП, 50 x 40 PN20;50;40;33;29;66;54;0.056
Муфта переходная наружная из ПП, 63 x 20 PN20;20;63;13;40;29;83;0.094
Муфта переходная наружная из ПП, 63 x 20 PN20;63;20;40;13;83;29;0.094
Муфта переходная наружная из ПП, 63 x 25 PN20;25;63;14;40;35;83;0.096
Муфта переходная наружная из ПП, 63 x 25 PN20;63;25;40;14;83;35;0.096
Муфта переходная наружная из ПП, 63 x 32 PN20;32;63;17;40;44;83;0.092
Муфта переходная наружная из ПП, 63 x 32 PN20;63;32;40;17;83;44;0.092
Муфта переходная наружная из ПП, 63 x 40 PN20;40;63;18;39;55;83;0.098
Муфта переходная наружная из ПП, 63 x 40 PN20;63;40;39;18;83;55;0.098
Муфта переходная наружная из ПП, 63 x 50 PN20;50;63;22;38;66;83;0.104
Муфта переходная наружная из ПП, 63 x 50 PN20;63;50;38;22;83;66;0.104

Важный момент: при использовании кириллицы в таблице имен кодировка файла должна быть ANSI (Windows-1251).

Кодировка таблиц имен должна быть ANSI (Windows-1251)

Ограничение на использование кодировки делает невозможным ввод некоторых спецсимволов, в частности знака диаметра. Вторым неудобным моментом является то, что таблица имен может содержать только один столбец с текстовыми данными, поэтому, если в семействе нужно создать больше чем один текстовый параметр, определяемый с использованием функции size_lookup, то необходимо загрузить дополнительные таблицы имен, содержащие требуемые значения. На практике таблиц имен чаще всего нужно две для параметров ADSK_Наименование и ADSK_Обозначение.

Стоит обратить внимание на один момент, присутствующий в приведенной выше таблице имен. В ней выбор осуществляется по двум значениям первому и второму присоединительному диаметру переходной муфты. Однако Revit «не понимает», что если эти два значения поменять местами, то получим тот же типоразмер фитинга — для него это будет уже другой типоразмер (т.е. для программы переход 25 х 20 — это не то же самое, что 20 х 25). Поэтому таблица имен должна содержать все «зеркальные» типоразмеры, а данные в первом столбце для них должны быть такими же, как и для «незеркальных».

Описанная методика, хоть и имеет пару незначительных недостатков, но зато позволяет получать из таблиц имен произвольные текстовые значения, которые могут содержать не только наименование изделия, но и данные о типоразмере, представленные в требуемом виде. Это избавляет от необходимости использования функции if с большим количеством вложенных условий и значительно упрощает и унифицирует оформление спецификаций, содержащих семейства, параметризованные как по первому, так и по второму варианту, описанному в этой статье (т.к. все данные о типоразмере изделий содержатся в одном параметре).

Ниже приведен скриншот, демонстрирующий выполненное таким образом семейство трубопроводного фитинга:

А вот пример решения аналогичной задачи при помощи функции if. Этого стоит избегать:

Данное семейство содержит по 38 текстовых параметров с информацией о типоразмерах и обозначениях для каждого из двух параметров, заданных при помощи функций if, а сами функции, соответственно,  такое же число условий. Добавление или изъятие типоразмера в этом случае потребует редактирования параметров и функций if (что непросто, учитывая количество условий в них) в отличие от методики с использованием таблиц имен, где достаточно лишь добавить или удалить одну строку.

Правильное использование таблиц имен это хорошо, а злоупотребление функцией if плохо

Александр Котеленец

Ведущий инженер-проектировщик ВК, BIM-координатор