| № | Название столбца | Назначение |
|---|---|---|
| 1 | Категория Revit |
Наличие обязательно, заполнение обязательно. Указывает категорию родительского элемента. |
| 2 | Семейство |
Наличие обязательно, заполнение необязательно. Указывает имя семейства родительского элемента. |
| 3 | Тип |
Наличие обязательно, заполнение необязательно. Указывает имя типоразмера родительского элемента. |
| 4 | Имена параметров |
Наличие необязательно, заполнение необязательно. Произвольное количество столбцов. Каждый столбец — имя параметра для точной фильтрации. |
| 5 | Связь |
Наличие обязательно, заполнение необязательно. Указывает имя (или часть имени) связанной модели. Используется для обращения к элементам в связанных моделях. |
| Формула | Описание | Пример |
|---|---|---|
| — | Пустая ячейка игнорируется при обработке | — |
Equals('значение') | Для текстовых параметров. Под правило подходят элементы, у которых значение параметра, указанного в столбце таблицы = "значение" | — |
Equals(число) | Для числовых параметров. Под правило подходят элементы, у которых значение параметра, указанного в столбце таблицы = число | Equals(5.2) - десятичные дроби записываются с точкой |
Equals(1) | Для параметров Да/Нет. Под правило подходят элементы, у которых значение параметра, указанного в столбце таблицы = true | — |
Equals(0) | Для параметров Да/Нет. Под правило подходят элементы, у которых значение параметра, указанного в столбце таблицы = false | — |
Equals('') | Под правило подходят элементы, у которых значение параметра, указанного в столбце таблицы, пустое | — |
Equals([Имя параметра]) | Под правило подходят элементы, у которых значение параметра, указанного в столбце таблицы = значению параметра, указанного в прямоугольных скобках | — |
StartsWith('значение') | Под правило подходят элементы, у которых значение параметра, указанного в столбце таблицы, начинаются на "значение" | — |
EndsWith('значение') | Под правило подходят элементы, у которых значение параметра, указанного в столбце таблицы, заканчиваются на "значение" | — |
Contains('значение') | Под правило подходят элементы, у которых значение параметра, указанного в столбце таблицы, содержит "значение" | — |
GreaterThan(число) | Для числовых параметров. Под правило подходят элементы, у которых значение параметра, указанного в столбце таблицы, больше указанного числа | — |
LessThan(число) | Для числовых параметров. Под правило подходят элементы, у которых значение параметра, указанного в столбце таблицы, меньше указанного числа | — |
GreaterThan([Имя параметра]) | Для числовых параметров. Сравнение параметра в шапке таблицы идёт не с конкретным числом, а со значением указанного в прямоугольных скобках параметра. | — |
or | Логический оператор "или" | · Equals('значение1') or Equals('значение2') |
and | Логический оператор "и" | · StartsWith('значение1') and EndsWith('значение2') |
! | Логический оператор "отрицание" | · !Equals('значение') |
^ перед функцией | Ставится в столбце "Семейство" перед Equals, StartsWith, EndsWith, Contains. Символ для категории Типовые аннотации. Символ означает, что в обработку следует брать только те элементы типовых аннотаций, которые располагаются на видах, расположенных на листах. Символ необходим, поскольку в модели может быть множество неиспользуемых при оформлении экземпляров типовых аннотаций. | ^Equals('Имя семейства типовой аннотации') |
| № | Название столбца | Назначение |
|---|---|---|
| 1 | Редактируемый |
Наличие обязательно. Если значения нет, то создается элемент с типоразмером «Нередактируемый». Если значение «Да», то создается типоразмер «Редактируемый»:
|
| 2 | Имя параметра |
Наличие обязательно, заполнение обязательно. Столбец, отвечающий за количество. Имя параметра в названии столбца может быть любым. Параметр должен быть числовым. |
| 3 | Имена параметров |
Наличие необязательно, заполнение необязательно. Произвольное количество столбцов с любыми именами параметров. Каждый столбец определяет параметр, который будет заполняться у создаваемых немоделируемых элементов. Все указанные параметры должны присутствовать как параметры экземпляра в семействе немоделируемого элемента или в прокете для категории немоделируемого элемента. |
| Формула | Описание | Пример |
|---|---|---|
| — | Пустая ячейка игнорируется при обработке | — |
Обычный текст или число без спецсимволов (для столбцов с текстовым параметром) | Текст или число записываются в параметр немоделируемого элемента, указанный в столбце | — |
Число без спецсимволов (для столбцов с числовым параметром) | По каждому немоделируемому элементу вычисляется значение. Далее все значения суммируются, т.е. перемножаются по числу родительских элементов. | В ячейке записано "1". |
[Имя параметра] | В параметр немоделируемого элемента, указанного в столбце, записывается значение параметра, имя которого указано в прямоугольных скобках В том случае, если у родительских элементов значение параметра различное, создаётся несколько отдельных немоделируемых элементов по количеству уникальных значений. | — |
+-*/ | Математические операторы для вычислений | · 2*1.1+3 |
if(условие, операция1, операция2) | Логический оператор if В зависимости от определённых свойств родительского элемента выполняется та или иная операция. При записи условий могут использоваться операторы сравнения =, >, <, >=, <=. Можно производить сравнение текстовых и числовых значений. Текстовое значение записывается внутри апострофов. При записи условий могут использоваться операторы сравнения and, or, ! | · if([Длина]>5, [Длина], 5) |
HasParameter([Имя параметра]) | Используется в условиях if для проверки наличия у родительского элемента указанного параметра. | if(HasParameter([Диаметр]), if([Диаметр]<316,([Длина] * 0.65/1000), If([Диаметр]>316 and[Диаметр]<501, ([Длина] * 1.22/1000), if([Диаметр]>501 and [Диаметр]<901 , ([Длина] * 2.25/1000), if([Диаметр]>901 and[Диаметр]<1601, ([Длина] * 2.2/1000), 0)))), if(((2*([Высота] + [Ширина]))<1001) , ([Длина] * 0.65/1000), if(((2*([Высота] + [Ширина]))>1001 and (2*([Высота] + [Ширина]))<1801) , ([Длина] * 1.22/1000), if(((2*([Высота] + [Ширина]))>1801 and (2*([Высота] + [Ширина]))<3601) , ([Длина] * 2.25/1000), if(((2*([Высота] + [Ширина]))>3601 and (2*([Высота] + [Ширина]))<7201) , ([Длина] * 2.2/1000), 0))))) |
NotSumm(число)NotSumm(формула) | Функция используется только для числовых параметров, когда суммировать вычисленные значения не надо. | · NotSumm(1) |
Round(формула)RoundUp(формула)RoundDown(формула) | Функция производит округление значения до целого числа. Соответственно, к ближайшему целому, к ближайшему большему или ближайшему меньшему. Округление производится в рамках каждого отдельного родительского элемента. | · RoundUp(0.12) |
RoundAll(формула)RoundUpAll(формула)RoundDownAll(формула) | Функция производит округление значения до целого числа. Соответственно, к ближайшему целому, к ближайшему большему или ближайшему меньшему. Округление производится в рамках каждого создаваемого немоделируемого элемента. | · RoundUpAll(0.12) |
AddPref([Имя параметра], 'текст') | К значению параметра, указанного до запятой, добавится префикс - текст после запятой. Если параметр [Имя параметра] будет пустым, то не запишется ничего. | AddPref([Комментарии], 'Комментарий: ') |
AddSuff([Имя параметра], 'текст') | К значению параметра, указанного до запятой, добавится суффикс - текст после запятой. Если параметр [Имя параметра] будет пустым, то в немоделируемый элемент не запишется ничего. | · AddPref([Комментарии], ' - комментарий') |
''текст' + [Имя параметра][Имя параметра] + 'текст' | Для текстовых значений работает конкатенация значений, через оператор + В прямоугольных скобках указано имя параметра родительского элемента. В первом случае необходимо поставить дополнительный апостроф, потому что первый апостроф "съедается" экселем. | ''Комментарий: ' + [Комментарии] |
| Ошибка | Решение |
|---|---|
| Обновите семейство немоделируемых элементов | В модели должно присутствовать семейство немоделируемых элементов с типоразмерами "Редактируемый" и "Нередактируемый". |
| Виртуальные элементы для спецификации заняты пользователем [логин]. Освободите рабочие наборы и запустите инструмент повторно | Необходимо попросить указанного пользователя синхронизироваться. Иначе плагин не может удалить и перезаписать существующие немоделируемые элементы. |
| В таблице <Название таблицы> отсутствуют необходимые листы. Обратитесь в BIM-отдел. | В указанной конфигурационной таблице отсутствуют требуемые листы. В таблице должен присутствовать только один лист, названный так же, как файл таблицы. |
| В файле excel отсутствуют обязательные столбцы. | В конфигурационной таблице отсутствуют требуемые столбцы. |
| В файле excel неправильный порядок расположения столбцов. | В конфигурационной таблице неправильный порядок расположения столбцов. |
| Параметр [имя параметра] отсутствует у семейства немоделируемых элементов. | Вариант 1. Необходимо добавить указанный общий параметр проекта к категории "Обобщенные модели". Параметр необходимо добавить как параметр экземпляра.
Вариант 2. Необходимо добавить указанный параметр внутрь семейства немоделируемых элементов как параметр экземпляра. |
| Параметр [имя параметра] не является параметром по экземпляру для семейства немоделируемых элементов. | Вариант 1. Необходимо удалить указанный параметр из модели и добавить его заново к требуемым категориям, включая категорию "Обобщенные модели". Параметр необходимо добавить как параметр экземпляра.
Вариант 2. Необходимо добавить указанный параметр внутрь семейства немоделируемых элементов как параметр экземпляра. |
| Параметр [имя параметра] является нередактируемым в семействе немоделируемого элемента. | В семействе имеется заблокированный формулой параметр. |
| Отсутствует ориентир для размещения немоделируемых элементов | В модели не размещены оси. Необходимо их добавить. |
| Ошибки, связанные с распознаванием формул в конфигурационной таблице с указанием номера строки из таблицы. | Необходимо проверить синтаксис записи правил в указанной строке. |