
В рамках любой работы с проектом со временем возникает потребность сведения проекта и проверки модели или чертежа на корректность выполнения как в рамках одного раздела, так и в рамках работы между несколькими смежными разделами. В частности, очень важным этапом такой проверки является нахождение и устранение коллизий. Также проверка коллизий может помочь пользователям упростить формирование заданий на отверстия и общий контроль над качеством выполнения собственной модели.
Для выполнения всех этих задач командой «Нанософт» было разработано два специальных инструмента: Проверка модели и Отчет о проверках. Эти инструменты доступны в компоненте «СПДС» Платформы nanoCAD и позволяют осуществлять проверки между различными типами элементов, в том числе объектов программы nanoCAD BIM Строительство. Именно в рамках этого ПО мы и рассмотрим эти инструменты на примере подготовленной модели, включающей как элементы nanoCAD BIM Строительство (рис. 1), так и IFC-объекты (рис. 2), расположенные в единых координатах.


Для взаимодействия с функционалом «Проверка модели» и «Отчет о проверках» необходимо открыть исходную модель в приложении nanoCAD BIM Строительство с подключенным расширением СПДС. Это расширение можно установить в базовой версии программы. После установки найдите соответствующую иконку, показанную на (рис. 3).

Для начала работы с инструментами Проверка модели и Отчет о проверках можно воспользоваться командой TABS, достаточно ввести ее в командной строке (рис. 4) либо воспользоваться соответствующей кнопкой на вкладке ленты СПДС (рис. 5).


При активации команды открывается контекстное меню со списком вкладок, которые можно открыть в этой конфигурации программы. В статье нас интересуют вкладки Проверка модели и Отчет о проверках (рис. 6)

Принципы работы с каждой из вкладок разберем последовательно. Для непрерывности действий начнем с вкладки Проверка модели (рис. 7)

Для начала разберем команды, доступные нам на вкладке.
Команда Добавить папку позволяет создавать новые папки для будущих правил проверки, с ее помощью можно сформировать иерархию, по которой будут расположены правила (рис. 8).

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

Для начала работы с правилом необходимо указать один из типов проверки (рис.10-11).


Описание всех типов условий, представленных на вкладке Проверка модели:
- Минимальное расстояние выводит пары объектов, расстояние между которыми меньше указанного.
- Максимальное расстояние выводит пары объектов, расстояние между которыми больше указанного.
- Расстояние между объектами определяет расстояние между объектами.
- Базовая точка левого объекта находится на осевой линии правого, например, базовая точка запорной арматуры находится на осевой линии трубы.
- Включение базовой точки левого объекта в пределы правого, например, базовая точка стола входит в объем комнаты.
- Наличие объектов – наличие хотя бы одного правого объекта в пределах левого или в пределах расстояния относительно левого.
- Пересечение объектов – выводит пары пересекающихся объектов.
- Касание объектов – выводит пары касающихся объектов.
- Полное включение левых объектов в правые – проверяет предположение о том, что левые объекты полностью включаются в правые.
- Включение проекции базовой точки левого объекта в проекцию правого. Например, проекция базовой точки стола входит в проекцию комнаты. Проецирование производится по указанному вектору проецирования.
- Пересечение проекций объектов – определяет наличие пересечений проекций объектов. Проецирование производится по указанному вектору проецирования.
- Полное включение проекции левых объектов в проекцию правых – проверяет предположение о том, что проекция левых объектов полностью включается в проекцию правых. Проецирование производится по указанному вектору проецирования.
- Сумма атрибутов группы – вычисляет сумму значений атрибутов с указанным наименованием.
- Площадь группы – определяет площадь проекции группы объектов. Проецирование производится по указанному вектору проецирования.
- Количество объектов в группе – определяет количество выбранных объектов либо количество всех объектов модели, если объекты не выбраны.
- Значение числового атрибута – выводит объекты с параметром, соответствующим условию.
- Значение строкового атрибута – выводит объекты с параметром, соответствующим условию. Например, Наименование атрибута – IfcType, значение – \w*window\w* (window).
- Условие – проверяет пары объектов на соответствие заданному условию. Возможно использование значения пары объектов из проверки входного множества. Для обращения к параметрам левого и правого объектов используются префиксы Object1. «Наименование параметра» и Object2. «Наименование параметра» для обращения к значению из проверки входного множества Value.
- Угол между осевыми линиями объектов – проверка выполняется только для объектов, содержащих осевую линию.
- Расстояние между осевыми линиями объектов – проверка выполняется только для объектов, содержащих осевую линию.
- Дублирование – выводит пары дублирующихся объектов.
- Последовательность нумерации атрибутов – проверяет корректность последовательности нумерации атрибутов. Например, объекты пронумерованы: П-1, П-2, П-4, П-5. П-3 пропущено – это ошибка.
- Левые объекты принадлежат контуру/объему правых – выводит левые объекты, принадлежащие объему/контуру правых объектов. Принадлежность контуру/объему означает, что объекты пересекаются с контуром/объемом либо полностью входят в контур/объем, либо лежат на контуре/объема.
- Входит в – проверяет предположение о том, что левый объект входит в правый согласно структуре IFC либо наоборот – правый объект входит в левый, если установлена галочка Обменять левые с правыми.
- Выборка – выборка.
При выборе одной из проверок появляется возможность выбора входных множеств (рис. 12). В зависимости от типа проверки может быть использовано одно (левые) или два (левые и правые) множества объектов. Каждое множество имеет свои: источник данных, список классов, список выбора типа объектов и фильтр объектов.

Разберем принцип работы инструмента Проверка модели на примере нескольких базовых вариантов проверки. Для начала посмотрим, как можно упростить формирование отверстий путем проверки между объектами IFC и элементами BIM Строительство. Создадим новое правило с настройками, показанными на рис. 13.

После выбора конкретного правила у пользователя появляется доступ к выбору объектов в формате множеств. Входящие множества имеют идентичные настройки. В зависимости от выбранного типа проверки, множеств может быть одно либо два. Прежде всего, необходимо выбрать класс объекта, также можно выбрать несколько классов, однако, для более точных и детальных проверок лучше ограничиваться одним классом объектов. Следующий этап – это отбор типов объектов, участвующих в проверке. Типов объектов также может быть несколько. Последним этапом детализации являются фильтры отбора объектов, позволяющие выбирать объекты по параметрам (рис.14).

В колонке Свойства из списка выбираются доступные для фильтрации свойства.
В колонке Способ проверки из списка выбирается способ проверки значения: =, <, <=, >, >=, Список, Regex, Формула.
В колонке Значение указывается числовое значение, список через точку с запятой, выражение Regex или Формула, в зависимости от выбранного способа проверки. Для удобства в выпадающем списке перечислены все варианты значений выбранного свойства объектов.
При выборе входного множества в функции предусмотрено несколько вариантов отбора объектов: Документ, Выборка, Проверка.
Документ – используются все объекты на чертеже.
Выборка - используются выбранные объекты на чертеже. Для выбора необходимо нажать кнопку Выбор объектов, далее выбрать объекты на чертеже и нажать клавишу Enter. Количество выбранных объектов отобразится на кнопке. Также работает и в обратную сторону, сперва в модели выбираем требуемые элементы для проверки, далее необходимо нажать кнопку Выбор объектов.
Проверка – выбираются объекты из этой проверки. Кроме номера исходной проверки следует выбрать множество (левое, правое, оба) и результат проверки (положительный, отрицательный, любой).
Последним этапом перед запуском проверки является настройка параметров правила.
Вот два основных параметра, которые есть в каждом типе проверок модели:
- Инвертировать правило – параметр инвертирует результат правила, то есть положительный результат станет отрицательным и наоборот;
- Выводить результат – определяет какой результат выводить, положительный (Да), отрицательный (Нет) или любой.
Опциональные параметры, отображение которых зависит от выбранного типа проверки:
- поле Минимальное расстояние – значение минимального расстояния;
- поле Максимальное расстояние – значение максимального расстояния;
- список Режим сравнения – выбор режима сравнения. В скобках указано пояснение как работает режим;
- поле Левый предел – сравниваемое значение расстояния;
- поле Правый предел – сравниваемое значение расстояния;
- поле Максимальное расстояние – максимальное расстояние поиска от объекта. Обязательный не должен быть равен 0;
- флажок Завершить поиск на первом обнаруженном касании – поиск завершается при обнаружении касания. Для пошаговой проверки объектов. Необязательный;
- список Ось проецирования – вектор проецирования, по умолчанию Z;
- список Наименование атрибута – название строкового атрибута. Выбирается из выпадающего списка. Обязательный;
- список Значение атрибута – значение строкового атрибута. Выбирается из выпадающего списка. Обязательный;
- флажок Игнорировать регистр при проверке – игнорирование регистра при проверке. Необязательный;
- флажок Обменять левый с правыми – изменение списков местами при проверке. Необязательный;
- список Операция над множествами – выбор способа сравнения множеств.
После настройки правила активируем команду Запуск проверок и после ее выполнения происходит переход на вкладку Отчет о проверках с результатами проверок (рис. 15).

На вкладке отчетов мы можем совершать следующие действия:
- Разрешить выделенное – команда позволяет разрешить выбранный в списке результат;
- Отображать результаты – отображение результатов двух типов: разрешенные и запрещенные;
- Экспорт отчета в формате JSON;
- Справка.
Через отчет мы можем перейти к объектам с помощью нажатия левой кнопки мыши (ЛКМ), получив конкретный результат либо выбрать часть или все результаты для дальнейшего взаимодействия с объектами внутри этих результатов с помощью сочетания клавиш Ctrl+ЛКМ либо Shift+ЛКМ (рис. 16-17).


Выделенный результат в пространстве модели выделяет объекты и подсвечивает пространство коллизии, если выбранный тип проверки подразумевал проверку на коллизии (рис. 18).

После проведения проверки, пользуясь полученными результатами в отчете, пользователь может проводить точечные изменения в модели путем перехода к проблемным местам модели с дальнейшим внесением изменений в геометрию элементов. После редактирования модели с помощью всё тех же инструментов проверки модели и отчетов о них, пользователь имеет возможность автоматизировано проверять промежуточные результаты своей работы, ускоряя формирование отверстий, основываясь на актуальной модели смежных разделов.
В зависимости от выбранного типа проверки конечная настройка множества может различаться, исходя из требуемых условий. В качестве примера сформируем еще одно правило проверки на минимальное расстояние (рис. 19).

Как мы видим на этом примере, в проверке минимального расстояния необходимо, кроме прочих стандартных данных, заполнить информацию по минимальному расстоянию в миллиметрах. Следовательно, в ряде проверок присутствуют дополнительные обязательные к заполнению атрибуты, характерные для соответствующих проверок.
Также инструмент Проверка модели позволяет проводить проверки модели не только между элементами разных разделов, загруженных в качестве IFC-объектов, но и между объектами BIM Строительство. В качестве примера сформируем еще одно правило проверки со следующими настройками (рис. 20).

Как можно видеть, в этом правиле используется только одна группа объектов – Левое множество. В качестве отбираемых объектов выберем Прочие объекты, в этот класс входят также и объекты BIM Строительство. После отбора класса объектов, выбираем Тип – Объект параметрический, а также дополнительно настраиваем фильтр отбора объектов, в виде свойства объекта и его значения.
После выполнения проверки происходит переход в окно Отчет о проверках с ее результатами (рис. 21).

В полученном отчете мы видим ряд объектов с дублированием и двойным нажатием ЛКМ по одному из полученных объектов из столбца Левые объекты или Правые объекты переходим непосредственно к проблемному месту (рис. 22).

Удалим один из двух дублирующихся объектов в каждом из результатов и повторно запустим проверку для избегания ошибки.

Как мы видим на рис. 23 после того, как мы отработали результаты, полученные при первой проверке, повторная проверка выдала нам 0 результатов и очистила уже существующие значения.
Инструменты Проверка модели и Отчет о проверках крайне гибкие и хорошо настраиваемые инструменты, позволяющие не только проверять проект на коллизии, но и проводить комплексный анализ модели как в рамках одного направления, так и при загрузке моделей из смежных разделов в формате IFC, что помогает устранять ошибки уже на этапе проектирования.


