
Павел Бунаков, д-р техн. наук, доцент
Очередной релиз системы БАЗИС ознаменовал собой не только новый подход к выпуску обновлений и версий программного обеспечения, но и включил в себя ряд интересных и полезных возможностей.
Работа над каждым релизом системы — это сложный и длительный процесс, который включает в себя обобщение предложений пользователей и воплощение собственных идей, разработку и тестирование программ, апробацию новых функций наиболее «доверенными» пользователями. Начинается она задолго до выхода не только очередного, но и нескольких предыдущих релизов. В системе БАЗИС 2021 реализованы, прежде всего, те идеи, которые сделали её существенно более удобной для пользователя с точки зрения выполнения им конкретных проектных операций. Рассмотрим три наиболее интересные возможности.
Особенностью проектирования корпусной мебели является широкое использование типовых моделей, отличающихся друг от друга своими размерами и наполнением отдельных секций. Для реализации данной возможности в системе БАЗИС имеются специальные элементы — трехмерные фрагменты. Они представляют собой эластичные составные объекты [Бунаков П. Ю. Эластичные элементы — новая технология параметризации в CAD-системе комплекса БАЗИС. САПР и графика. 2015. № 2. С. 62–65; Бунаков П. Ю. Оптимизация проектирования корпусной мебели в системе БАЗИС с помощью составных элементов. САПР и графика. 2016. № 9. С. 58–61], предназначенные для быстрого моделирования мебельных гарнитуров.
При установке на модель фрагменты становятся блоками. Блоки — это именованные группы объектов (панелей, крепежа, других блоков и т. д.) в составе модели мебельного изделия. Для каждого блока определено понятие функционального типа, в соответствии с которым он будет анимироваться в составе модели в модуле проектирования интерьеров и приема заказов БАЗИС–Салон. В качестве примера можно привести такие функциональные типы, как выдвижные ящики или распашные двери.
Поскольку фрагменты являются эластичными элементами, то при установке на модель они могут деформироваться в соответствии с заложенными в них правилами.
Эти правила задаются специальными вспомогательными плоскостями. Изменение размера блока в каком-либо направлении обеспечивается наличием вспомогательной плоскости, перпендикулярной этому направлению.
Рассмотрим возможности работы с эластичными фрагментами на примере построения и редактирования кухонного гарнитура.
Для установки первого элемента нижнего яруса выбираем требуемую модель из библиотеки (рис. 1), например тумбу с полками, указываем точку привязки и три габаритных размера. Все элементы тумбы автоматически пересчитываются в соответствии с заданными габаритами (рис. 2). Аналогичным образом устанавливаем еще несколько изделий: две тумбы с ящиками, отличающиеся шириной, духовой шкаф и посудомойку (рис. 3).



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

На этом построение кухонного гарнитура закончено. Теперь переходим к его редактированию, т. е. к изменению размеров отдельных элементов, что часто встречается при согласовании проектов с клиентами. В предыдущих версиях системы БАЗИС реализовано несколько вариантов решения подобной задачи:
Все они требуют коррекции смежных элементов, что увеличивает затраты времени и внимания для исключения пересечения элементов. В новой версии системы БАЗИС появилась возможность автоматической коррекции смежных элементов. Она работает только на текущем уровне иерархии модели. В построенной кухне все элементы находятся на одном уровне — уровне модели (рис. 6), поэтому они будут изменяться в случае необходимости по заданным алгоритмам. Рассмотрим это на примере.
Предположим, что необходимо увеличить ширину левой тумбы с выдвижными ящиками за счет соседней тумбы справа. Для этого выделяем нужный элемент и, захватив характерную точку, начинаем перемещать её вправо. При этом появляются габаритные фантомы всех смежных элементов, показывая их новые размеры и положение (рис. 7). Справа к редактируемому элементу примыкает аналогичная тумба, ширина которой может меняться, а два следующих элемента имеют фиксированную ширину. До определенного момента ширина смежной тумбы уменьшается. По достижении технологического минимума по её ширине начинает увеличиваться общая ширина гарнитура, т. е. она сама, а также духовой шкаф и посудомойка перемещаются вправо. При этом все перемещения элементов нижнего яруса автоматически дублируются на верхний ярус, сохраняя тем самым замысел конструктора.

На рис. 8 показан фрагмент гарнитура после изменения ширины секции с выдвижными ящиками. Если сравнить его с исходным гарнитуром (см. рис. 5), то можно увидеть, что ширина левой тумбы увеличилась, а правой — уменьшилась. Соответствующим образом изменились и размеры элементов верхнего яруса. Однако это еще не всё. При внимательном рассмотрении видно, что в исходном состоянии навесная полка над левой тумбой имела одну дверь, а после редактирования у неё уже две двери. Это произошло в силу того, что при новой ширине полки использование одной двери неудобно, или её просто невозможно изготовить.
Продолжим увеличивать ширину левой тумбы. Как только она достигнет технологического максимума по ширине, характер редактирования меняется:
Свой технологический максимум по ширине имеют и столешница, и стеновая панель. По его достижении единые элементы заменяются на состыкованные с установкой, при необходимости, специального стыковочного профиля.
Таким образом, при грамотном подходе к формированию библиотеки типовых эластичных элементов, можно не только в разы сократить время создания новых изделий, но и свести практически к нулю вероятность появления ошибок в проектах. Это стало очередным шагом компании «Базис-Центр» по реализации концепции безошибочного проектирования корпусной мебели.
Еще одним давно ожидаемым нововведением стала возможность подготовки отчетов в программе FastReport, с помощью которой можно формировать любые документы, оформляя их принятым на предприятии образом. По умолчанию в комплект поставки входит 5 типовых документов (спецификации на панели, облицовочные материалы, профили, крепеж и сборочные единицы), шаблоны которых, при необходимости, можно редактировать (рис. 10). Пример спецификации на панели показан на рис. 11.

Процесс создания новых шаблонов основан на понятии бэнда — объекта-контейнера, который размещается непосредственно на странице отчета и служит для размещения любых других объектов. В качестве примера можно привести заголовок отчета, который будет печататься на первом листе каждого отчета, или заголовок страницы для печати в начале каждой страницы данного отчета. Содержимым бэндов является информация из текущей модели изделия или информация общего вида, например дата.
Для включения в отчет сведений из модели изделия существует набор предопределенных свойств, которые распределены по группам. Например, в группе Панели есть такие свойства, как Номер позиции, Обозначение, Материал и т. д. Этот список можно расширить, введя собственные, пользовательские свойства. Сделаем это, добавив свойство Эскиз (рис. 12). Если после этого перейти в окно формирования нового шаблона (рис. 13), то можно увидеть, что добавленное свойство появилось во всех группах, за исключением группы Штамп, поскольку поля этой группы фиксированы.


Формирование шаблона заключается в выборе и размещении бэндов на поле документа с последующим заполнением их необходимой информацией. Создадим в качестве примера простой шаблон для отображения некоторой информации о панелях модели. В начале страницы разместим бэнд заголовка страницы, назвав его Отчет. Далее формируем заголовок таблицы, в которую будем выводить данные. Для простоты сделаем в ней два столбца: Позиция и Наименование (рис. 14). После этого можно переходить к самому интересному — заполнению таблицы реальными данными с модели.
Размещаем на форме бэнд данных и в специальном окне указываем, из какой группы параметров модели будут извлекаться данные для заполнения бэнда. В рассматриваемом случае выбираем группу Панели. Затем для каждого столбца таблицы задаем соответствующий параметр модели (рис. 15).
Следует отметить, что в столбцах таблицы можно выводить не только одиночные значения параметров, но и их комбинации, например наименование панели и материал, из которого она изготовлена. Кроме того, при необходимости можно указывать и расчетные формулы. В любой момент времени текущий вариант отчета можно визуализировать (рис. 16). Информация для таблицы будет выбираться из текущей модели изделия. Совсем не обязательно формировать все необходимые отчеты «с нуля». Стандартные отчеты, входящие в комплект поставки, можно отредактировать произвольным образом.


В системе БАЗИС реализована технология встроенного программирования, которая давно зарекомендовала себя как удобный и эффективный инструмент параметризации не только отдельных фрагментов и изделий, но и многих проектных операций [Бунаков П. Ю. JavaScript — эффективный инструмент конструктора-технолога для расширения функциональности САПР БАЗИС. САПР и графика. 2014. № 2. С. 53–56, № 3. С. 54–57; Бунаков П. Ю., Колесников Р. А., Мещанинов С. В. Технология отладки скриптов системы БАЗИС в кроссплатформенной среде Visual Studio Code. САПР и графика. 2017. № 9. С. 53–57]. Разработка скриптов производится на языке JavaScript в кроссплатформеной среде Visual Studio Code, которая изначально позиционировалась в качестве инструментария для легкого и быстрого программирования. Данная возможность впервые была представлена в 2014 г., и с тех пор она постоянно развивается и совершенствуется.
Практика показала, что для разработки скриптов достаточно иметь начальные навыки программирования. Это объясняется тем, что основной объем работ связан с обращением к командам системы БАЗИС, с которыми мебельщики хорошо знакомы. Различие только в том, что данные для их работы задаются не в режиме диалога, а в соответствии с правилами языка программирования.

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