Результатом проекта стала модернизация первой в России системы комплексной автоматизации для мебельной отрасли «Базис», которая целиком основана на российском ПО и охватывает весь жизненный цикл мебельной продукции — от приема заказа до отгрузки.
Компания «Базис-Центр» внедрила в основу конструкторских модулей системы «Базис» геометрическое ядро C3D, которое стало одним из ключевых элементов, определивших ее успех в сегменте мебельных САПР.
Заказчик: «Базис-Центр» — ведущий российский разработчик автоматизированных систем проектирования, технологической подготовки и управления производством для предприятий мебельной отрасли и некоторых смежных отраслей, а также программного обеспечения для центров дистрибуции мебельных изделий.
Основные направления деятельности:
- разработка программного обеспечения;
- подготовка специалистов в области автоматизации бизнес-процессов мебельных предприятий;
- консалтинговые услуги в области автоматизации управления мебельным производством;
- реализация информационной инфраструктуры системы продаж мебели на основе облачных технологий.
Официальная страница: https://www.bazissoft.ru
Индустрия: CAD/CAM/PDM, ERP
Внедренные продукты C3D Labs:
- C3D Modeler;
- C3D Converter.
Задачи:
- моделирование интерьеров помещений и расстановка мебели «на лету» в ходе общения клиента и дизайнера в процессе приема заказа;
- наглядная демонстрация клиенту различных вариантов реализации его заказа для достижения консенсуса по соотношению «цена-функциональность-сроки»;
- простое моделирование гнутых элементов и элементов сложной геометрической формы с большим количеством фигурных вырезов, включая декоративные;
- точное моделирование обработки пластей и кромок панелей материалов фигурными фрезами;
- быстрое и выверенное моделирование декоративной и крепежной фурнитуры оригинальной геометрической формы;
- всесторонний анализ моделей на ранних этапах проектирования для снижения себестоимости изделий и исключения производственного брака.
Достижения:
- разработка полностью отечественной платформы комплексной автоматизации «Базис» для мебельной отрасли;
- внедрение системы более чем в 70 % мебельных предприятий России и поставка более чем в 30 стран ближнего и дальнего зарубежья;
- расширение потенциала платформы с охватом не только мебельного производства, но и предприятий деревообработки, строительства и некоторых других областей;
- обновление функционала и совершенствование системы «Базис», в том числе — повышение качества построения геометрических объектов для отображения.
«Компания «Базис» стала одним из первых заказчиков C3D Labs 12 лет назад. Фактически мы только начинали выводить ядро C3D на рынок, еще не была написана техническая документация, не отлажены процессы поддержки, — рассказывает Олег Зыков, директор C3D Labs. — Понимая все это, коллеги увидели наш потенциал, поверили скорее даже не в продукт, а в людей, которые его разрабатывают. Мы очень благодарны им за это и за то, что сотрудничество продолжается все эти годы».
Отправная точка — кастомизация
«Базис-Центр» — известный в России и странах ближнего зарубежья разработчик программного обеспечения для комплексной автоматизации мебельных предприятий. Первая версия автоматизированной системы «Базис» — флагманского продукта компании — на ЭВМ третьего поколения серии СМ была внедрена в опытную эксплуатацию в 1988 году. Платформу непрерывно совершенствовали, обогащая программные модули новыми функциями и командами, и в 2005 году вышла седьмая версия «Базиса», которую от предшественников отличало трехмерное математическое ядро.
Система, призванная стать универсальным инструментом для автоматизации мебельных предприятий, в том числе таких направлений, как проектирование мебели, раскрой материалов, складской учет, создание управляющих программ для станков с ЧПУ, дизайн интерьера, развивалась и со временем включила решения для автоматизации всей инфраструктуры сбыта продукции.
По данным Рослесинфорга, в 2023 году объем производства мебели в России вырос и составил 455,1 млрд рублей, причем анализ потребительского спроса показывает, что 25 % россиян отдают предпочтение мебели, cпроектированной по индивидуальному заказу. Типовые модели и массовое производство отходят на второй план: конечные пользователи проявляют все больший интерес к изделиям, изготовленным с учетом их личных предпочтений. Чутко, откликаясь на запросы клиентов и рыночные изменения, «Базис-Центр» сосредоточил внимание на оптимизации позаказного производства. Чтобы получить конкурентные преимущества, требовалось, чтобы CAD-система демонстрировала высокий уровень точности, скорости и реалистичности при моделировании интерьеров помещений, а значит, активно задействовала средства автоматизации.
Уже в рамках согласования заказа между клиентом и дизайнером важно было планировать интерьер, расставляя мебель «на лету», показывать наглядные примеры и рассматривать варианты с учетом соотношения «цена-функциональность-сроки». Пользователи не должны были испытывать сложности при моделировании гнутых и нестандартных геометрических элементов с большим количеством фигурных вырезов, декоративной и крепежной фурнитуры причудливой формы и других сложных деталей (балюстрад, пилястр, резного декора, витражей и т. д.), обработки пластей и кромок панелей материалов фигурными фрезами. На ранних этапах проектирования нужны были ресурсы мощных алгоритмов анализа моделей с целью снижения себестоимости изделий и минимизации производственного брака.
Реализовать комплекс таких обновлений и дополнить имеющийся инструментарий конструкторского моделирования платформы «Базис» можно было с помощью графического трехмерного редактора с качественным рендерингом. Для этого необходимо было создать собственное новое ядро или перейти на ядро стороннего разработчика. Намереваясь переориентировать развитие системы «Базис» на мебельное производство, совмещающее конструкторские и дизайнерские векторы развития, компания остановилась на выборе ядра, способного решить поставленные задачи в полной мере и без лишних затрат.
Первый среди равных
Изначально платформа «Базис» опиралась на собственное CSG-ядро, постепенно трансформируясь от двухмерного редактора чертежей до самостоятельной системы 3D-моделирования. Новое геометрическое ядро решено было выбрать среди широкого ассортимента продуктов разработчиков, как лидирующих на рынке, так и впервые заявивших о себе. В число потенциальных элементов системы вошли зарубежные геометрические ядра Parasolid, ACIS, CGM, Granite, Open Cascade и коммерческие библиотеки Solids++ и SMLib, а также российское ядро C3D от компании АСКОН. Важно отметить, что проект стартовал в 2011 — 2012 гг., а, следовательно, на процедуру анализа геометрических ядер с точки зрения использования в специализированной САПР изделий корпусной мебели не оказывала влияния политико-экономическая ситуация в мире. В течение полугода разработки всех компаний тестировали в равных условиях, объективно оценивая преимущества и недостатки каждой.
На этапе предварительного анализа из списка были исключены Solids++ и SMLib в связи с недостатком подтвержденных данных об их практическом внедрении в основу отдельных CAD-систем и последующем функционировании. Для оставшихся претендентов был сформирован комплекс требований по категориям «функциональность-производительность-стоимость», на основе которого проводилось сравнение. Учитывались такие характеристики, как точность вычисления параметров взаимного пространственного расположения объектов, возможность моделирования пространственных форм существующих и перспективных элементов корпусной мебели, связь 3D- и 2D-подсистем, скорость и качество рендеринга, стабильность и отказоустойчивость алгоритмов, стоимость и готовность разработчиков к сотрудничеству и доработкам, так как на 100% ни одно из ядер не соответствовало поставленным задачам ввиду их узкой специфики.
Оценка потенциала решений показала, что Parasolid, ACIS, CGM, Granite отличали богатый опыт применения и продуманная оптимизация в ответ на особенности, выявленные в процессе продолжительной эксплуатации. При этом избыточная функциональность ядер оборачивалась высокой стоимостью, несопоставимой с ожиданиями малого и среднего бизнеса, которым преимущественно представлена мебельная отрасль. Плюс ко всему крупные игроки не были готовы к доработкам универсальных продуктов в зависимости от субъективных потребностей клиентов. Ядро Open Cascade обладало широким функционалом и подходило по многим параметрам, однако по причине ряда технических расхождений систем «Базис-Центр» отказался от его использования.
Геометрическое ядро C3D стало будущим компонентом системы «Базис», так как в большей степени подошло заказчику по целому ряду показателей. Помимо наличия всех основных объектов и операций для моделирования корпусной мебели, продукт показал стабильность алгоритмов и высокую скорость работы в ходе «мебельных» тестов. На базе ядра уже функционировали десятки тысяч рабочих мест с системой проектирования КОМПАС-3D, перспективы его развития были понятны, а четкие планы разработчиков — достижимы. Еще одно преимущество — возможность «прозрачного» перехода на C3D для конечных пользователей, без вмешательства в рабочий процесс, причем команда C3D Labs выразила готовность всемерно содействовать компании «Базис-Центр» и вносить необходимые, специфические для отрасли, изменения уже на этапе тестирования. Немаловажным фактором стала цена продукта. Невысокая базовая стоимость ядра, функциональность которого превышала аналоги, а также минимизация затрат по переводу конструкторских и технологических модулей системы «Базис» на новое ядро подтвердили, что выбор был сделан верно.
Преодолевая сопротивление, достигая максимума
Чтобы осуществить интеграцию системы «Базис», написанной на языке Delphi, на ядро C3D, представляющего собой набор C++ классов, описывающих B-rep модели, вспомогательные классы и набор алгоритмов, оформленных в виде глобальных функций, была написана промежуточная «интерфейсная» DLL-библиотека на С++. Она формировалась с применением абстрактных классов, которые можно напрямую использовать в Delphi, поскольку они содержат указатель на таблицу VMT, формат которой у компиляторов MSVC и Embarcadero полностью совпадает. В ней каждая функция предоставляет необходимый набор опций в стиле объектно-ориентированного программирования, экспортируя лишь одну функцию из DLL — получение основного интерфейса.
Для моделирования мебельных изделий необходимо было построить базовый набор тел в ядре C3D по исходным данным, выполнить триангуляцию и получение ее обратно для визуализации. Топология тел создавалась на основе функций построения ExtrusionSolid и EvolutionSolid, а их комбинация друг с другом — с помощью функции реализации булевых операций BooleanResult. Результатом явилось формирование тел MbSolid, которые содержали данные B-rep (грани MbFace, ребра MbEdge и т. п.). На этом этапе возникла проблема: на сложных моделях обработка большого количества объектов без кэширования выполнялась недопустимо медленно для практической работы. С помощью математиков C3D Labs она была оперативно решена: функции построения наиболее распространенных тел были переписаны.
После построения набора тел необходима их визуализация с учетом имеющегося рендера на OpenGL. На данном этапе возникло еще одно затруднение. Для моделей мебельных изделий крайне важна визуализация в текстурах, а поддержка текстурных координат в ядре C3D не была предусмотрена. И если в случае с такими отраслями, как машиностроение, строительство и прочие, наличие такой возможности было несущественным, то при изготовлении мебели, которую воплощают художественно-технические изделия, без работы с текстурами моделирование потеряло бы смысл. В тесной кооперации с разработчиками из C3D Labs и эту трудность удалось преодолеть. В ядре C3D можно генерировать так называемые параметрические координаты для треугольников и подсчитывать коэффициенты масштабирования для каждой грани, которые позволяют наложить текстуру достаточно реалистично. Кроме того, были написаны дополнительные процедуры для связи координат текстуры на гранях друг с другом.
Самой трудоемкой частью интеграции стало моделирование тел гнутых фасадов, которые часто используются в современной мебели. Предстояло разрешить ряд вопросов. Во-первых, отсутствовали операции деформации, прямое моделирование операции фрезерования (перемещения 3D тела фрезы по некоторой кривой) и управление допусками. Во-вторых, наблюдалась нестабильная работа конструктивных операций с телами, содержащими линейчатые поверхности. В-третьих, возникали проблемы с точностью, так как для мебельной отрасли требовался уровень, на порядок выше, чем в других сферах. Для всех этих задач разработчики ядра гарантировали поиск приемлемых решений. Часть проблем была устранена незамедлительно, остальные — с течением времени.
Завершением работы по интеграции ядра C3D в систему «Базис» стала реализация различных операций экспорта/импорта, анализа взаимного расположения тел и т. д. Следует отметить, что компания «Базис-Центр» является владельцем одной из первых лицензий ядра. Соответственно, выполняемые работы были одновременно и его практическим тестированием, что помогло выявить значительное количество нюансов, таких, как неструктурированность API, разрозненность 2D-функций и т. д. Все они в краткие сроки были ликвидированы при обоюдном участии специалистов компаний.
Новые возможности — новые цели
Переход с собственного на ядро C3D позволил компании «Базис-Центр» за относительно короткое время решить множество накопившихся проблем. Анализируя отзывы конечных пользователей системы «Базис», команда заказчика признала ядро C3D отличной базой для разработки специализированных САПР.
Основные итоги внедрения:
- экономия времени на разработку и поддержку собственного ядра;
- значительное повышение качества создаваемой геометрии, включая правильное построение криволинейных поверхностей и границ;
- получение первоклассных чертежей в автоматическом режиме с удалением невидимых линий;
- экспорт/импорт в универсальные 3D-форматы данных (STEP, SAT, X_T);
- реалистичное моделирование произвольных элементов мебели и интерьера (профили, балюстрады, лестницы и т. п.);
- реализация любых операций по работе с гнутыми панелями, включая оперативное редактирование как контура панели, так и любых ее элементов;
- моделирование любых видов декоративной и крепежной фурнитуры;
- обработка пазов произвольного сечения и по произвольной траектории с автоматическим формированием соответствующих сечений на рабочих чертежах;
- анализ корректности модели с точки зрения возможных пересечений панелей и правильности установки крепежа.
Плодотворное сотрудничество специалистов компаний «Базис-Центр» и C3D Labs дало прекрасный результат: система «Базис» на геометрическом ядре C3D стала полноценной платформой для автоматизации мебельного бизнеса, что позволило ей занять лидирующее положение в сегменте мебельных САПР. Платформа постоянно развивается, следуя тенденциям «мебельной моды», реагируя на появление новых технологий, материалов, оборудования и фурнитуры, аккумулируя опыт своих пользователей и ориентируясь на достижения науки и техники. Это означает, что взаимодействие с C3D Labs, разработчиком «живого» российского геометрического ядра, будет продолжено, а налаженные связи — укрепятся.
«Мы увлеченно дополняем и обновляем платформу «Базис», стремясь к абсолюту. В расчет берутся малейшие нюансы рабочего процесса наших клиентов, их насущные потребности и сложности, с которыми они сталкиваются, — говорит Михаил Федоров, технический директор компании «Базис-Центр». — Переход конструкторских модулей на геометрическое ядро C3D позволил реализовать ряд важных функций, которые ранее были недоступны, например уникальную возможность построения местных разрезов и сечений. Существенно улучшилось качество построения геометрических объектов для отображения, приоритетных для демонстрации продукции потенциальным покупателям. Система приобрела особую значимость не только для мебельных предприятий, но и для дистрибьюторов».