Спецификация – неотъемлемая часть конструкторской документации. Согласно ГОСТ 2.106-2016 ЕСКД, спецификация должна включать составные части, входящие в специфицируемое изделие, а также конструкторские документы, относящиеся к этому изделию и к его неспецифицируемым составным частям.
nanoCAD BIM Конструкции позволяет не только создавать и настраивать спецификации под конкретные задачи, но также, благодаря наличию связи между объектом в чертеже и его обозначением в спецификации, добавлять, редактировать и, что особенно важно в концепции BIM-моделирования, контролировать информационные параметры объектов.
В этой статье я рассмотрю указанные выше возможности nanoCAD BIM Конструкции применительно к конструктивным сборкам.
В прошлой статье (https://habr.com/ru/company/nanosoft/blog/531356/) речь шла о конструктивных сборках: мы рассмотрели, как их собирать, редактировать, а также контролировать их информационные параметры. Сегодня мы продолжим знакомство с конструктивными сборками, но в этот раз подробнее остановимся на их специфицировании, в том числе рассмотрим вопросы: как настроить спецификацию? А если в чертеже несколько различных конструктивных сборок, то, как специфицировать часть из них?
Рассмотрим подробнее процесс специфицирования сборок на примере чертежа из папки Sample</span>nBIM. Модель КМ.dwg. Предлагаю вначале изучить уже настроенную спецификацию, а затем самостоятельно создать ее копию.
Создание и настройка спецификации
Откроем чертеж nBIM. Модель КМ.dwg, расположенный в папке стандартных примеров (Sample).
Вызовем панель Спецификатора через команду Спецификатор (URS_SPECIFICATION_PALETTE) или нажатием на кнопку Спецификации на панели инструментов (рис. 1).
Из выпадающего списка выберем Спецификация на элемент конструкции (КЖ, сборка) (рис. 2).
Рассмотрим, какие данные содержит эта спецификация (рис. 3).
поле Позиция не редактируется (поля, закрашенные серым цветом, не редактируются через спецификацию);
поле Обозначение – пустое для всех элементов;
в поле Наименование выводятся данные о специфицируемой сборке и ее составе;
поле Кол-во подсчитывает, сколько элементов содержится в одной сборке;
значения в полях Вес и Кол-во указываются в формате с двумя знаками после запятой;
для материалов считается только объем, поле Вес остается пустым, также присутствует примечание с единицами измерения;
заголовки разделов расположены в столбце Наименование
Данная спецификация составлена для конструктивных сборок фундамента в модели. Конструктивные сборки расположены на осях А1 и Б1 (рис. 4).
Теперь, когда мы определились с объектами для специфицирования и структурой спецификации, рассмотрим поэтапно процесс создания новой спецификации.
Создание и настройка выборки элементов
На первом этапе для создания спецификации определим, какие объекты и их информационные параметры будут включены в спецификацию.
Начнем с создания выборки объектов.
Откроем Мастер экспорта данных на панели Спецификация (рис. 5), в окне экспорта выберем <Новый профиль> и нажмем Далее (рис. 6). Введем имя спецификации, например, Моя спецификация сборки.
В окне Дополнительные параметры профиля (рис. 7) можно настроить опциональные параметры экспорта для объектов чертежа. Не меняем эти настройки и нажимаем Далее.
Откроется окно Редактирование наборов данных. Именно здесь мы создадим выборку, которая будет определять, какие именно объекты попадут в спецификацию. Нажимаем на кнопку Добавить выборку к набору данных (рис.8).
Откроется диалоговое окно Данные для выборки (рис.9):
в поле Название выборки вводим Выборка (или любое другое название на ваш выбор);
Доступные типы объектов – это «грубый» фильтр, который определяет, какие виды объектов попадут в спецификацию. Выберем пункт Конструктивные сборки;
поле Условие отбора объектов позволяет создать условие отбора объектов по информационным параметрам (подробнее об этом ниже);
Условие отбора результатов – это еще один фильтр, также работающий с информационными параметрами объектов;
Рекурсивный фильтр задает уровень проникновения в модель при создании выборки: учитывается только первый уровень объектов модели или в спецификацию включаются все под элементы параметрических объектов.
Поле Условие отбора объектов заполняется в диалоговом окне или в Мастере функций. Чтобы открыть Мастер функций, нажмем на кнопку Настроить фильтр (рис. 10).
Вначале укажем условие, согласно которому в спецификацию будут попадать только те элементы, в свойствах которых определено, что их необходимо включать в спецификацию. В окне Условие отбора объектов введем [BOM_INCLUDE]<> 0 (т.е. параметр Включать в спецификацию не равен 0).
Значение Рекурсивного фильтра установим на Включать все объекты (т.е. в спецификацию войдут все под элементы объектов).
С выборкой объектов мы определились. Теперь укажем, какая информация об этих объектах попадет в спецификацию.
Нажмем Далее. Откроется окно Настройка таблицы экспорта (рис.11). В этом окне мы определим, какие именно информационные параметры и в каком формате будут отображаться в ячейках таблицы, а также по каким параметрам будет производиться группировка.
В столбце Параметр указываем свойство объекта, значение которого мы будем выводить в спецификацию, в Столбце для экспорта – название этого параметра.
Добавим необходимые параметры в соответствии с выбранным нами примером спецификации, а именно: Позиция по спецификации, Обозначение, Наименование, Количество единиц, Масса, Примечания и Идентификатор родительской сборки.
С помощью стрелочек расположим строки в порядке, указанном на рис.12. Нажмем Далее.
Откроется окно Настройка сортировки и группировки. Ничего не изменяя, нажмем Готово.
Вернемся в окно Редактирование наборов данных, где в форме Набор данных появилась наша выборка. Нажмем Далее.
Откроется окно Приложение для экспорта, где мы можем выбрать приложение, в которое будут переданы данные. В нашем примере мы настроили выборку данных для спецификации и пока не предполагаем ее выгрузку во внешние программы, поэтому выбираем Сохранить изменения и закрыть Мастер и нажимаем Готово (рис 13).
К настоящему моменту мы задали условия для выборки объектов из модели. Следующим шагом создадим профиль нашей будущей спецификации для отображения ее на панели Спецификатора.
Оформление отображения данных на панели Спецификатора
Чтобы создать профиль спецификации, нажмем на кнопку Настройки (рис.14).
Откроется окно Профили спецификации. Нажмем Создать новый профиль спецификации (рис.15) (также можно скопировать и изменить уже имеющийся профиль, но мы рассмотрим вариант создания профиля с нуля). Слева появится запись <Новый профиль>. Присвоим ему имя нашего примера: Моя спецификация сборки.
Настроим профиль спецификации (Рис. 16):
в поле Профиль для спецификации выберем из выпадающего списка Моя спецификация сборки;
в поле Профиль для экспорта – Моя спецификация сборки;
в Поле позиции – BOM_NUMBER;
в Поле примечаний – BOM_COMMENT.
Остальные параметры оставим со значением по умолчанию. Нажмем Ок.
Получение промежуточного результата и уточнение настроек
Теперь профиль Моя спецификация сборки появился на панели Спецификация. Однако отображаемые данные не соответствуют ожидаемому результату: позиции не проставлены, поле Обозначение заполнено, Идентификатор родительской сборки представлен в виде отдельно столбца, а не «заголовком» в столбце Наименование, столбец Количество единиц необходимо переименовать в Кол-во, также надо добавить группировку элементов и исключить из спецификации другие сборки, помимо фундаментов ФМ1 и ФМ2 (рис.17). Проведем дополнительные настройки спецификации.
Внесем корректировки в выборку. Для этого вновь вызовем Мастера экспорта данных, в списке выберем Моя спецификация сборки и поставим галочку напротив Изменить выбранный профиль перед применением (рис.18).
В окне Дополнительные параметры экспорта нажмем Далее. В окне Редактирование наборов данных нажмем кнопку Редактировать выборку (рис.19).
В форме Условие отбора объектов добавим условие, которое исключит из выборки металлические узлы [AEC_ASSEMBLY_GROUP]<> "Узлы металлические", болты, находящиеся в сборке УМ [PART_TYPE]<> "Болт" ,а также применим лайфхак из прошлой статьи [https://habr.com/ru/company/nanosoft/blog/531356/] object.isMasterAssemblyReference() <> 0 для того, чтобы специфицировать только одно вхождение сборки в чертеж, а не все сразу.
В итоге в форме Условие отбора объектов мы получим такие условия (рис.20):
Нажмем Далее и перейдем к настройкам данных для экспорта.
Поле Обозначение в нашем примере должно быть пустым. Для этого используем функцию<![if !supportFootnotes]>[1]<![endif]>: выберем строчку с параметром Обозначение, откроем выпадающий список в столбце Параметр и выберем <функция>(Рис.21). В открывшемся окне Мастера функций вместо [PART_TAG] вводим “ ” (пробел между кавычками), нажимаем ОК. В результате в столбце Обозначение вместо вывода информации об объекте будет выводится функция, которая будет выдавать пустое значение
<![endif]>
[1]Функции в ячейках спецификации – это одна из фундаментальных возможностей nanoCAD BIM Конструкции, которая позволяет формировать заполнение ячеек по сложным правилам. На данном этапе мы создадим совсем простую функцию, но далее расскажем о более сложном применении этого функционала.
Следующим шагом изменим имя столбца Количество единиц. Для этого выделим столбец, щелкнем по имени поля и введём необходимое нам значение, а именно –Кол-во.
Добавим операцию Группировки, которая позволит объединять строки с одинаковыми параметрами в группу. Для этого нажмем на кнопку Групповые операции (рис. 22).
В окне Настройки данных для экспорта появился еще один столбец – Групповая операция. Для всех параметров, кроме Кол-во, оставим значение Группировка, а для Кол-во укажем Автосумма (при группировке объектов в одну строку их количество будет автоматически суммироваться).
Нажмем Далее. Сохраним изменения, произведенные в спецификации, и посмотрим на результат (рис.23).
Сейчас спецификация выглядит более похожей на то, что нам нужно: поле Обозначение пустое (помните, мы ввели функцию?), количество считается верно, в спецификацию попадают только сборки фундаментов (мы корректно настроили фильтр). Нам остается распределить записи по разделам, перенести идентификатор родительской сборки в поле Наименование в качестве «заголовка» и изменить данные в столбце Наименование.
Начнем с настройки столбца Наименование. Нам необходимо, чтобы арматурным стержням присваивалось имя Арматура + тип стержня, у анкерных болтов была расшифровка с типоразмером, а материалы расписывались по марке бетона.
Чтобы внести все эти изменения, откроем нашу спецификацию и отредактируем Настройку данных для экспорта.
Начнем с изменения наименования для Арматуры. Приведем наименование к виду Арматура Ø12А400.Для этого предварительно откроем свойства сборки и выясним, в каких информационных параметрах содержится интересующая нас информация. Марка стержня указана в поле Обозначение (модель) (рис.24). Для закладных изделий и материалов информация, которую нам необходимо выводить в спецификации в столбце Наименование, также содержится в этом поле.
Получается, что мы можем просто изменить параметр в спецификации и выводить вместо свойства Наименование – Обозначение. Однако нам также нужно, чтобы перед обозначением арматуры было еще слово Арматура, поэтому используем функцию (Рис.25).
Откроем Мастер функций для столбца Наименование и вместо значения [PART_NAME] вводим:
if([AEC_ASSEMBLY_GROUP]= "Арматурные изделия" ,"Арматура%%c"&[PART_TAG], [PART_TAG])
что означает, что, если у элемента Подгруппы сборки значение Арматурные изделия, то вывести Арматура + Обозначение, если нет, то –Обозначение. Символы «%%c» в таблицах DWG будут заменены на знак «Ø», здесь работает классический ввод спецсимволов, который используется и при вводе TEXT/MTEXT.
На этом этапе становиться очевидна важность информационного параметра Подгруппа сборки, о котором я говорила в предыдущей статье.
Следующим шагом исправим отображение количества.
Для материалов нам необходимо выводить не количество, а объем. За это отвечает параметр DIM_VOLUME. Мы также помним, что количество знаков после запятой для выводимого числа равняется 2.
Используем формулу в настройке спецификации:
if([AEC_ASSEMBLY_GROUP] = "Материалы", format("%0.2f", [DIM_VOLUME]),[BOM_PART_QTY])
т.е. если у Подгруппы сборки значение Материалы, то вывести значение объема, округлив до двух знаков после запятой, иначе вывести количество единиц (рис. 26).
Если вы хотите увидеть обновленную версию спецификации, сохраните внесенные изменения и нажмите на кнопку Обновить спецификацию (рис. 27).
Вернемся к доработке спецификации. Настроим отображение параметра веса так, чтобы для Материалов он был пустым, а для всех остальных объектов в спецификации имел два знака после запятой. Для этого используем формулу:
if([AEC_ASSEMBLY_GROUP] = "Материалы", "", format("%0.2f", [PART_WEIGHT]))
т.е. если Подгруппа сборки имеет значение Материалы, то оставить поле пустым, иначе вывести вес элемента с двумя знаками после запятой (рис.28).
Чтобы создать разделы в спецификации и распределить по ним записи, добавим еще один параметр как функцию Для этого в окне Настройка данных для экспорта вызовем Мастера функций (рис.29) и введем туда следующую запись:
case([AEC_ASSEMBLY_GROUP]
when "Арматурные изделия" then ("1. Арматурные изделия"),
when "Закладные изделия" then ("2. Закладные изделия"),
when "Материалы" then ("3. Материалы"),
else [AEC_ASSEMBLY_GROUP])
т.е. в случае, когда параметр Подгруппа сборки имеет значение Арматурные изделия вывести «1.Арматурные изделия» и т.д., иначе вывести значение Подгруппы сборки (рис. 30).
Данный параметр необходим нам для сортировки и группировки записей внутри спецификации, поэтому переименуем его для удобства в Подгруппа сборки и, убрав галочку слева от параметра, отменим его вывод на экран. Таким образом, параметр Подгруппа сборки будет оказывать влияние на структуру выборки, но не будет отображаться в качестве столбца с информацией (рис. 31).
Нажимаем Далее и переходим к диалоговому окну Порядок сортировки данных, которое мы до сих пор пропускали (рис. 32).
В этом окне мы определим правила, по которым будет осуществляться группировка и сортировка созданных и настроенных на предыдущем шаге параметров.
Добавим параметры в окно группировки записей. Для этого нажмем кнопку Добавить дополнительное поле (рис. 33)
В открывшемся окне выберем Идентификатор родительской сборки и Подгруппа сборки, нажмём ОК. Получим следующий результат (рис. 34):
Нажмём Далее и сохраним изменения, внесенные в спецификацию. Затем обновим отображение спецификации и посмотрим на результат (рис. 36).
Нажмём Далее и сохраним изменения, внесенные в спецификацию. Затем обновим отображение спецификации и посмотрим на результат (рис. 35).
Спецификация все больше соответствует нужным нам параметрам. Однако осталось несколько несоответствий: заголовки разделов надо перенести в столбец Наименование, расставить позиции таким образом, чтобы они были у всех элементов, кроме раздела Материалы, а также исключить объекты Фундаменты монолитные.
Чтобы понять, откуда приходит запись Фундамент ФМ-1, посмотрим на свойства специфицируемой сборки. Мы видим, что этот объект представляет собой запись верхнего уровня для монолитного фундамента, и, так как его свойства проходят все установленные нами фильтры, он попадает в спецификацию (рис. 36).
Чтобы исключить Фундамент ФМ-1 из спецификации, зайдем в редактирование настроек спецификации и в Условие отбора объектов добавим запись [AEC_ASSEMBLY_GROUP] <> "Фундаменты монолитные", т.е. Подгруппа сборки не равна Фундаменты монолитные (рис. 37).
После этого настроим отображение позиций. Для этого в окне Настройка данных для экспорта добавим формулу:
if([AEC_ASSEMBLY_GROUP]= "Материалы", "", [AEC_ASSEMBLY_POSITION])
т.е., если Подгруппа сборки имеет значение Материалы, то оставить поле пустым, если нет, то вставить Номер позиции из сборки в поле Позиции (рис. 38).Сохраним изменения, внесённые в спецификацию.
Чтобы изменить столбец, в котором отображаются заголовки разделов, и применить настройки, сделанные для поля Позиции, откроем настройки профиля спецификации.
В Поле позиции введем туже формулу, что вводили ранее в настройках, данных для экспорта, укажем Да в поле Блокировать позиции и изменим Номер столбца для заголовка группы на 3 (рис. 39).
После обновления спецификации мы получаем именно тот результат, к которому стремились (рис. 40).
Вывод спецификации на лист
Наша следующая задача – опубликовать спецификацию на лист. Для этого перейдем из пространства модели в пространство листа, например, А1(рис. 41).
Находясь на листе, откроем Мастер экспорта данных и нашу спецификацию для редактирования. Не заходя в редактирование выборки, нажимаем Далее в открывающихся окнах, пока не окажемся в окне Приложение для экспорта. Чтобы выложить спецификацию на лист, выберем формат Таблица.dwg и нажмём Далее (рис. 42).
Откроется окно Настройка параметров шаблона, где мы можем выбрать один из предложенных шаблонов или указать путь к своему шаблону. Для нашей спецификации выберем шаблон ГОСТ Р 21.1101-2013. Ф7.Спецификация элемента.dwt, а также укажем, что не надо выводить заголовки для столбцов, т.к. в шаблоне уже есть оформленные заголовки. Нажимаем Далее (рис. 43).
Откроется окно Завершение создания отчета, где мы видим, какие данные и в какой форме будут представлены в отчете. Нажимаем Готово. Указываем положение таблицы спецификации на листе (рис.44).
Чтобы внести корректировки в таблицу, воспользуемся редактором таблиц платформы nanoCAD. Для этого выделим таблицу. На ленте инструментов откроется панель работы с таблицами, нажимаем кнопку Таблица .dwg в таблицу nanoCAD (рис.45). После этого двойной щелчок по таблице откроет окно для ее редактирования.
Подводя итоги
Из этой статьи вы узнали о том, как в nanoCAD BIM Конструкции создавать спецификации на сборки. Теперь, владея информацией о том, как формировать выборку, настраивать информационные фильтры, использовать формулы, вы сможете создавать спецификации практически любой сложности.
Гибкое специфицирование – одна из сильнейших сторон nanoCAD BIM Конструкции. Настроив шаблон спецификации под свой проект, вы получаете возможность не только вставлять (по одному клику мыши) таблицы в 2D-документацию, но, что более важно, контролировать информационные параметры объектов модели, быстро находить нужный вам объект (достаточно двойного щелчка по объекту спецификации, чтобы выделить его на чертеже), а также редактировать информационные параметры объектов напрямую из спецификации.
Надеюсь, что данная статья позволит вам чувствовать себя увереннее в вопросах специфицирования как конструктивных сборок ваших проектов, так и других элементов. И, как всегда, призываю вас повышать профессиональное мастерство и делиться успехами, задавать вопросы и оставлять пожелания на нашем форуме по адресу https://forum.nanocad.ru.
Татьяна Толстова,
Ведущий технический специалист
департамента управления продуктом
ООО «Нанософт разработка»