Редакция:
г. Новосибирск

БАЗИС 2021. Изюминки нового релиза

Павел Бунаков, ведущий программист-разработчик

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

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

УСТАНОВКА И РЕДАКТИРОВАНИЕ ЭЛАСТИЧНЫХ ФРАГМЕНТОВ


Рис. 1

Эластичное проектирование – это ноу-хау системы БАЗИС, уникальная технология, позволяющая во многих случаях на порядок сократить время работы над заказом. В БАЗИС 2021 появилась возможность создания эластичных трехмерных фрагментов.

Сделаем небольшое отступление. В системе БАЗИС есть понятие составных элементов, в частности, блоков. Блоки — это

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

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

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

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

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

· все построения выполнены в рамках одной единственной команды и заняли буквально пару минут.

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

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

· авторедактированием, то есть деформацией с использованием характерных точек.

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

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

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

Теперь необходимо изменить ширину секции с выдвижными ящиками. Аналогичным образом перемещаем характерные точки. Результат показан на втором рисунке. Если внимательно сравнить его с исходным гарнитуром, то можно увидеть следующее:

· ширина левой тумбы увеличилась, а правой — уменьшилась;

· соответствующим образом изменились и размеры элементов верхнего яруса;

· навесная полка над левой тумбой имела одну дверь, а после редактирования у нее уже две двери, поскольку при новой ширине полки использование одной двери неудобно, или ее просто невозможно изготовить.

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

· редактируемая тумба и все элементы правее ее перемещаются вправо;

· у примыкающей слева тумбы увеличивается ширина и, при необходимости, вместо одной двери устанавливаются две двери.

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

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


Рис. 2

СОЗДАНИЕ ШАБЛОНОВ В FASTREPORT

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

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

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

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

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


Рис. 3

ОТЛАДЧИК СКРИПТОВ

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

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

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

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

· Взаимодействие с клиентом, когда надо быстро продемонстрировать предлагаемые дизайнерские решения.

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

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

· Унификация и стандартизация конструкции изделий и технологических процессов, а также создание модельных рядов выпускаемой продукции. Для этих целей скрипты значительно удобнее и функциональнее по сравнению с библиотеками типовых 3D моделей, за счет более широких возможностей по модификации базовых объектов.

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

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

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

· установка безусловных и условных точек останова на выбранных строках программы, по достижении которых исполнение программного кода будет приостановлено;

· пошаговое выполнение кода после достижения точки останова;

· просмотр значений переменных и выражений, содержащихся в коде;

· отображение результатов вычислений, которые необходимо анализировать на протяжении некоторой части кода, в отдельном окне;

· изменение значений переменных непосредственно в процессе исполнения кода.

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

ЗАКЛЮЧЕНИЕ

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