08.12.2023 • C3D Modeler, C3D Solver, C3D Converter

Российский разработчик инженерного ПО «Нанософт» использует геометрическое ядро C3D Labs при реализации проекта импортозамещения

С помощью геометрического ядра C3D Labs, включенного в реестр российского ПО, САПР-платформа nanoCAD позволяет проектировать и моделировать объекты любой сложности.

Компания «Нанософт» внедрила геометрическое ядро C3D Labs, которое пришло на смену компоненту иностранного производителя. Ядро представляет собой неотъемлемую часть САПР-платформы, реализует математику работы с трехмерными геометрическими объектами. Функциональное покрытие геометрического ядра C3D Labs практически ни в чем не уступает предшественнику. Разработка оснащена встроенным параметрическим решателем и обеспечивает функции импорта-экспорта сторонних 3D-форматов.

Заказчик: компания «Нанософт» — российский разработчик инженерного ПО: технологий автоматизированного проектирования (CAD/САПР), информационного моделирования (BIM/ТИМ) и сопровождения объектов промышленного и гражданского строительства (ПГС) на всех этапах жизненного цикла, а также сквозной цифровизации всех процессов в производстве.

Официальная страница: www.nanocad.ru.

Индустрия: CAD/BIM.

Внедренные продукты C3D Labs:

  • C3D Modeler;
  • C3D Solver;
  • C3D Converter.

Задачи:

  • импортозамещение иностранного решения;
  • поиск комплексного продукта;
  • поддержка различных форматов 3D-моделей.

Достижения:

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

В поисках идеальной геометрии

Компания «Нанософт» специализируется на создании качественных и доступных решений, призванных помочь российским заказчикам в достижении импортонезависимости инженерного ПО. Флагманский продукт компании — Платформа nanoCAD — поддерживает работу с форматами *.dwg/IFC и входит под номером 8814 в Единый реестр российских программ для электронных вычислительных машин и баз данных. Изначально Платформа nanoCAD функционировала на основе геометрического ядра иностранного производства, однако со временем компания начала поиск альтернативного российского решения. Выбор в пользу C3D Labs был обусловлен несколькими причинами.

Российский разработчик инженерного ПО «Нанософт» использует геометрическое ядро C3D Labs при реализации проекта импортозамещения, фото 1
Рис. 1. Конвертация САПР-форматов в Платформе nanoCAD с модулями «3D» и «Механика»

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

Как результат технологического партнерства «Нанософт» получил опыт использования нового геометрического ядра в основе профессионального инструмента для реализации инженерных идей и обрела полное представление о необходимом ей функционале этого ядра. В ответ на запросы разработчиков Платформы nanoCAD происходила оптимизация процессов разработки ядра C3D, проводились многочисленные тесты.

В 2016 году компания «Нанософт» начала использовать продукт C3D Labs наряду с имеющимся решением, предлагая пользователям два ядра на выбор. Впоследствии именно появившаяся у пользователей потребность в геометрическом ядре российского производства повлияла на то, что сегодня инструмент от C3D Labs служит ключевым компонентом САПР-платформы nanoCAD. В соответствии с изменениями законодательства программное обеспечение, которым пользуются основные заказчики «Нанософт», должно базироваться на модулях отечественного происхождения, и ядро от C3D Labs идеально соответствует новым требованиям.

Шаг за шагом

Геометрическое ядро C3D Labs состоит из восьми модулей, объединенных линейкой C3D Toolkit. «Нанософт» применяет три модуля: C3D Modeler, C3D Solver и C3D Converter. Классы и методы C3D Modeler позволяют создавать математические модели геометрии и выполнять над ними операции редактирования, накладывать на элементы модели иерархические связи, строить триангуляцию для визуализации, выполнять расчет геометрических и инерционных характеристик, формировать плоские проекционные виды элементов модели. Основным форматом представления геометрических данных в ядре является B-rep (граничное представление) с возможностью работы с геометрией на уровне оболочки, граней, ребер и вершин. Кроме того, поддерживается геометрия, представленная в виде сеток и каркасов. Модуль C3D Solver позволяет включать размерные и логические ограничения в приложения для создания связей между геометрическими объектами в 2D- и 3D-моделях. Модуль обмена C3D Converter отвечает за чтение и запись 3D-моделей в различных обменных форматах.

Российский разработчик инженерного ПО «Нанософт» использует геометрическое ядро C3D Labs при реализации проекта импортозамещения, фото 2
Рис. 2. Конвертация САПР-форматов в Платформе nanoCAD с модулями «3D» и «Механика»

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

На первом этапе требовалось реализовать возможность хранения данных C3D в формате *.dwg, предназначенном для работы с ранее созданными чертежами и проектами, а затем оптимизировать этот процесс. Способ хранения, реализованный в геометрическом ядре-предшественнике, был частью формата *.dwg. Внутренний формат представления геометрии в ядре C3D Labs имеет существенные отличия, и на начальном этапе все 3D-данные требовали преобразования. На сегодняшний день потребность в преобразовании все еще актуальна, но методика преобразования данных отработана и оптимизирована достаточно, чтобы не оказывать существенного влияния на производительность процесса открытия и хранения чертежей.

Российский разработчик инженерного ПО «Нанософт» использует геометрическое ядро C3D Labs при реализации проекта импортозамещения, фото 3
Рис. 3. Параметрическая модель призмы раздвижной в Платформе nanoCAD с модулями «3D» и «Механика»

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

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

Очередная стадия реализации проекта представляла собой создание массивов геометрических объектов. Если в начальный период внедрения геометрического ядра C3D в nanoCAD работать с моделями, у которых имелось несколько независимых оболочек, было затруднительно из-за сбоя ряда операций, то к завершению работ удалось совместными усилиями найти решения и отладить процессы построения массивов геометрии, в том числе включающих независимые элементы.

Российский разработчик инженерного ПО «Нанософт» использует геометрическое ядро C3D Labs при реализации проекта импортозамещения, фото 4
Рис. 4. Параметрическая модель транспортёра в Платформе nanoCAD с модулями «3D» и «Механика»

Одним из определяющих моментов стало подключение 2D- и 3D-решателей. В отношении сторонних 3D-форматов продолжается работа по улучшению конверсии с учетом разнообразия трехмерных моделей.

Финальным этапом стало внедрение модуля построения листовых тел. Также была протестирована «обертка» для ядра C3D, позволяющая использовать технологию .NET и язык C# при разработке приложений.

Результаты

Проект полноценной замены ядра иностранного производства в САПР-платформе nanoCAD продемонстрировал, что тесное сотрудничество команд C3D Labs и «Нанософт» принесло ощутимые результаты. Прямой контакт с C3D Labs предоставил заказчику возможность запрашивать разработку или доработку функционала геометрического ядра в режиме «здесь и сейчас». Формировалась индивидуальная траектория адаптации продукта в зависимости от специфики САПР-платформы и потребностей пользователей. В итоге геометрическое ядро от C3D Labs стало органичным элементом nanoCAD, имеющим ряд существенных преимуществ. В их числе:

  • российское происхождение
    продукт входит в организованный Минцифры РФ реестр российского программного обеспечения;
  • комплексность
    прежде «Нанософт» использовал ядро и 2D-решатель от разных производителей. Геометрическое ядро C3D Labs имеет встроенный решатель, и, помимо этого, предлагает дополнительную опцию импорта-экспорта сторонних 3D-форматов. До перехода на ядро C3D такой возможности Платформа nanoCAD не предоставляла;
  • многопоточность
    в отличие от предшественника, геометрическое ядро C3D способно выполнять несколько операций параллельно — например, при построении проекции. Таким образом, пользователи nanoCAD могут значительно сокращать время работ по проектированию в 3D;
  • гибкость
    разработчики единственного в России коммерческого геометрического ядра живо откликаются на меняющиеся запросы рынка и трансформацию отрасли, позволяя инженерным идеям обретать форму и становиться реальностью.
Российский разработчик инженерного ПО «Нанософт» использует геометрическое ядро C3D Labs при реализации проекта импортозамещения, фото 5
Рис. 5. Работа с импортированной геометрией в Платформе nanoCAD с модулями «3D» и «Механика»

Олег Зыков, директор C3D Labs

«Мы высоко оцениваем вклад наших партнеров из “Нанософт” в процесс технологического сотрудничества, — говорит директор C3D Labs Олег Зыков. — nanoCAD — первый пример эксплуатации компонентов C3D в полнофункциональной САПР, основанной на формате *.dwg. Чтобы самые смелые задумки пользователей воплощались в жизнь, мы ищем рациональные варианты кооперации, взаимодополняем платформу и ее фундамент».

Кирилл Мельников, директор департамента разработки «Нанософт»

«Замена геометрического ядра САПР-платформы — сложная и трудоемкая задача, — рассказывает директор департамента разработки «Нанософт» Кирилл Мельников. — Объединяя усилия, мы стремимся к гармонизации технологических решений и достижению наибольшей продуктивности в результате такой синергии. Палитра предлагаемых нами решений на платформе nanoCAD непрерывно расширяется, и в перспективе мы рассматриваем возможность использования новых компонентов C3D Toolkit».

Поделиться материалом
Вверх