3 - 2021

БАЗИС 2021: новые инженерные решения для мебельщиков

Павел Бунаков

Очередной релиз системы БАЗИС не только ознаменовал собой новый подход к выпуску обновлений и версий программного обеспечения, но и включил в себя ряд интересных и полезных возможностей.

Работа над каждым релизом системы — это сложный и длительный процесс, который включает в себя обобщение предложений пользователей и воплощение собственных идей, разработку и тестирование программ, апробацию новых функций наиболее «доверенными» пользователями. Начинается работа задолго до выхода не только очередного, но и нескольких предыдущих релизов. В системе БАЗИС 2021 реализованы прежде всего те идеи, которые сделали ее гораздо более удобной для пользователя с точки зрения выполнения им конкретных проектных операций. Рассмотрим три наиболее интересные возможности.

Установка и редактирование эластичных фрагментов

Особенностью проектирования корпусной мебели является широкое использование типовых моделей, отличающихся друг от друга своими размерами и наполнением отдельных секций. Для реализации данной возможности в системе БАЗИС предусмотрены специальные элементы — трехмерные фрагменты. Они представляют собой эластичные составные объекты [1, 2], предназначенные для быстрого моделирования мебельных гарнитуров.

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

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

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

Рис. 1. Библиотека эластичных фрагментов

Рис. 1. Библиотека эластичных фрагментов

Рис. 2. Первый элемент нижнего яруса

Рис. 2. Первый элемент нижнего яруса

Рис. 3. Нижний ярус изделий

Рис. 3. Нижний ярус изделий

Для установки первого элемента нижнего яруса выбираем требуемую модель из библиотеки (рис. 1), например тумбу с полками, указываем точку привязки и три габаритных размера. Все элементы тумбы автоматически пересчитываются в соответствии с заданными габаритами (рис. 2). Аналогичным образом устанавливаем еще несколько изделий: две тумбы с ящиками, различающиеся шириной, духовой шкаф и посудомойку (рис. 3). Обратим внимание на два момента:

  • для двух последних элементов указываются только точки привязки, поскольку их размеры стандартны;
  • все построения выполнены в рамках одной­единственной команды.

Рис. 4. Нижний и верхний ярусы изделий

Рис. 4. Нижний и верхний ярусы изделий

Рис. 5. Модель кухонного гарнитура

Рис. 5. Модель кухонного гарнитура

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

  • указанием точных размеров отдельных элементов;
  • использованием команды «растянуть и сдвинуть»;
  • авторедактированием, то есть деформацией с использованием характерных точек.

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

Рис. 6. Структура модели

Рис. 6. Структура модели

Рис. 7. Изменение ширины элемента

Рис. 7. Изменение ширины элемента

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

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

Рис. 8. Фрагмент гарнитура после редактирования

Рис. 8. Фрагмент гарнитура после редактирования

Продолжим увеличивать ширину левой тумбы. Как только она достигнет технологического максимума по ширине, характер редактирования меняется:

  • редактируемая тумба и все элементы правее нее перемещаются вправо;
  • у примыкающей слева тумбы увеличивается ширина и при необходимости вместо одной двери устанавливаются две (рис. 9).

Рис. 9. Изменение общей ширины гарнитура

Рис. 9. Изменение общей ширины гарнитура

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

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

Создание шаблонов в FastReport

Еще одним давно ожидаемым нововведением стала возможность подготовки отчетов в FastReport, с помощью которой можно формировать любые документы, оформляя их принятым на предприятии образом. По умолчанию в комплект поставки входит пять типовых документов (спецификации на панели, облицовочные материалы, профили, крепеж и сборочные единицы), шаблоны которых при необходимости можно редактировать (рис. 10). Пример спецификации на панели показан на рис. 11.

Рис. 10. Окно формирования отчетов

Рис. 10. Окно формирования отчетов

Рис. 11. Спецификация на панели

Рис. 11. Спецификация на панели

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

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

Рис. 12. Добавление пользовательского свойства

Рис. 12. Добавление пользовательского свойства

Рис. 13. Окно формирования нового шаблона

Рис. 13. Окно формирования нового шаблона

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

Рис.14. Заголовок отчета

Рис.14. Заголовок отчета

Рис.15. Окно выбора данных

Рис.15. Окно выбора данных

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

Рис. 16. Заполнение таблицы

Рис. 16. Заполнение таблицы

Рис. 17. Фрагмент отчета

Рис. 17. Фрагмент отчета

Отладчик скриптов

В системе БАЗИС реализована технология встроенного программирования, которая давно зарекомендовала себя как удобный и эффективный инструмент параметризации не только отдельных фрагментов и изделий, но и многих проектных операций [3, 4]. Разработка скриптов производится на языке JavaScript в кроссплатформенной среде Visual Studio Code, которая изначально позиционировалась в качестве инструментария для легкого и быстрого программирования. Данная возможность впервые была представлена в 2014 году, и с тех пор постоянно развивается и совершенствуется.

Практика показала, что для разработки скриптов достаточно иметь начальные навыки программирования. Это объясняется тем, что основной объем работ связан с обращением к командам системы БАЗИС, с которыми мебельщики хорошо знакомы. Различие только в том, что данные для их работы задаются не в режиме диалога, а в соответствии с правилами языка программирования.

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

Скрипты системы БАЗИС давно и прочно вошли в практику работы мебельщиков. Перечислим некоторые ситуации, когда их применение особенно актуально:

  • при взаимодействии с клиентом, когда надо быстро продемонстрировать предлагаемые дизайнерские решения;
  • для быстрой адаптации новых конструкторов и технологов, пришедших на предприятие. При разработке скриптов в них закладываются типовые конструкторско­технологические решения. Соответственно, разрабатываемые модели будут отвечать всем принятым требованиям. Более того, использование скриптов позволяет решить проблему нехватки высококвалифицированных специалистов, поскольку снижает требования к профессиональной подготовке;
  • при работе с крупными проектами или при большом количестве заказов, когда требуется «разгрузить» ведущих специалистов от разной «мелочевки»;
  • унификация и стандартизация конструкции изделий и технологических процессов, а также создание модельных рядов выпускаемой продукции. Для этих целей скрипты гораздо удобнее и функциональнее по сравнению с библиотеками типовых 3D­моделей — за счет более широких возможностей по модификации базовых объектов;
  • если на предприятии используются какие­либо расчетные или иные программы, требующие информации из моделей изделий, то с помощью скриптов легко организовать экспорт и импорт нужных данных.

При любом программировании большой объем времени приходится тратить на отладку программ. В ряде случаев она занимает до половины всего времени разработки. Для ускорения и упрощения процесса отладки, то есть обнаружения, локализации и исправления ошибок, в версии БАЗИС 2021 разработан отладчик скриптов. Он представляет собой приложение, которое встраивается непосредственно в среду Visual Studio Code, обеспечивая двустороннюю связь между ней и системой БАЗИС.

Отладчик скриптов позволяет выполнять все основные операции, необходимые для отладки программ:

  • установка безусловных и условных точек останова на выбранных строках программы, по достижении которых исполнение программного кода будет приостановлено;
  • пошаговое выполнение кода после достижения точки останова;
  • просмотр значений переменных и выражений, содержащихся в коде;
  • отображение результатов вычислений, которые необходимо анализировать на протяжении некоторой части кода, в отдельном окне;
  • изменение значений переменных непосредственно в процессе исполнения кода.

На рис. 18 показано окно отладчика. Приведенный скрипт позволяет выполнять групповую замену материала для всех моделей, находящихся в указанной папке. В точке останова на строке 63 кода в окне локальных переменных отображается в качестве примера имя текущего обрабатываемого файла.

Рис. 18. Отладчик скриптов

Рис. 18. Отладчик скриптов

Безусловно, отладчик не гарантирует отсутствия ошибок в скриптах и их качество. Для этого требуется аккуратность при программировании и в первую очередь — хорошее знание технологии проектирования корпусной мебели. Однако при грамотном использовании отладчика количество ошибок значительно сокращается, а сама отладка становится более быстрой и легкой.

Заключение

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

Список литературы:

  1. Бунаков П.Ю. Эластичные элементы — новая технология параметризации в CAD­системе комплекса БАЗИС // САПР и графика. 2015. № 2(220). С. 62­65.
  2. Бунаков П.Ю. Оптимизация проектирования корпусной мебели в системе БАЗИС с помощью составных элементов // САПР и графика. 2016. № 9(239). С. 58­61.
  3. Бунаков П.Ю. JavaScript — эффективный инструмент конструктора­технолога для расширения функциональности САПР БАЗИС [Текст] / П.Ю. Бунаков // САПР и графика. 2014. № 2(208). С. 53­56, № 3(209). С. 54­57.
  4. Бунаков П.Ю., Колесников Р.А., Мещанинов С.В. Технология отладки скриптов системы БАЗИС в кроссплатформенной среде Visual Studio Code // САПР графика. 2017. № 9(251). С. 53-57.