Обзор САПР на геометрическом ядре C3D
В предыдущих статьях о геометрическом ядре C3D мы разбирали его внутреннее устройство (структура ядра, модуль визуализации) и объясняли, чем оно отличается от API CAD-системы (статья). Проявить свои качества ядро, как инструмент разработчика САПР, может только в продуктах, написанных на его основе.
Сейчас на нашем ядре выпущено более 20 коммерческих и внутрикорпоративных САПР. В обзоре мы расскажем, что это за продукты, какую роль в них выполняет ядро и в чем особенности его применения. Многие продукты, упомянутые в обзоре, уже засветились на Хабре. Мы будем давать ссылки на статьи о них.
Первым мы всегда называем КОМПАС-3D, с которого, собственно, и началась история ядра. Сегодня с системой работают более 520 000 пользователей (с учетом коммерческих, домашних, учебных лицензий). В течение 12 лет ядро развивалось как внутренний компонент КОМПАС-3D и свою начальную функциональность получило из требований его разработчиков. Трехмерное моделирование было реализовано инструментами C3D Toolkit (геометрическое ядро, параметрический решатель, конвертеры), за исключением визуализации — 3D-движок появился у нас только два года назад. Сейчас КОМПАС-3D продолжает влиять на ядро: самые насущные задачи — это моделирование сложных форм и рост производительности.
В последней версии ядра C3D Modeler мы добавили новые частные случаи построения скругления и скругление трех граней. Вообще скругления остаются одной из самых сложных задач для геометрических ядер, т.к. охватить все варианты их построения невозможно.
Частные случаи построения скругления
Скругление трех граней (или полное скругление)
Напрямую с геометрическим ядром работают и некоторые приложения КОМПАС-3D. В статье приведен пример приложения «Валы и механические передачи 3D», где с помощью ядра создаются точные модели элементов механических передач (конических, гипоидных и др.).
Еще одна хорошо известная САПР, в которой с недавних пор присутствует ядро C3D Modeler, это nanoCAD. В статье о новой платформе nanoCAD Plus 10 dows описал, как работает модуль 3D-моделирования: подключение геометрического ядра — C3D или ACIS — происходит по выбору пользователя, при этом наше ядро установлено по умолчанию.
nanoCAD Plus с модулем 3D-моделирования на C3D
Чтобы перевести на C3D операции, которые раньше выполнялись на ACIS, потребовалось преодолеть не один барьер. Смена 3D-ядра влечет за собой изменение данных ассоциативных ссылок, изменение ориентации граней и ребер, изменение типа геометрии ребер, изменение топологии тела при построении, изменение топологии тела при смене формата 3D-модели, отклонения геометрии сложных поверхностей. Все это разработчики «Нанософт» сумели победить.
Если механические САПР перешли к парадигме трехмерного проектирования довольно давно, то для САПР электронных устройств 3D становится мейнстримом только сейчас. Мировые и российские разработчики находятся здесь примерно в равных позициях с точки зрения возможностей своих продуктов. И что приятно для нас — и те, и другие работают с нашим ядром.
Год назад компания Altium, разработчик популярного во всем мире Altium Designer (преемника P-CAD), лицензировала C3D Toolkit, и в ближайшее время должна выйти новая версия Altium Designer, в которой 3D-моделирование выполнено уже нашими инструментами.
Параллельно с Altium российская компания «Эремекс» разрабатывает систему проектирования печатных плат Delta Design, опираясь на геометрическое ядро C3D Modeler.
Модель печатной платы в Delta Design
Для Delta Design нам пришлось решать проблему визуализации печатных плат с большим количеством слоев и компонентов — ускорять в ядре операции с регионами.
Инженерам-проектировщикам промышленных объектов хорошо знакома компания «НТП Трубопровод» и ее продукты СТАРТ, ПАССАТ, Штуцер-МКЭ. С 2014 года в программе ПАССАТ, выполняющей прочностные расчеты сосудов и аппаратов, на ядре C3D Modeler создаются все элементы 3D-модели, а это довольно большой список: цилиндрические обечайки и конические переходы, приварные днища и отъемные крышки, укрепление отверстий, врезки в обечайки и выпуклые днища, фланцевые соединения и т.д.
Ядро также отвечает за расчет геометрических характеристик (объем, площадь поверхности, центр тяжести, момент инерции), а конвертеры C3D Converter — за экспорт моделей в форматы ACIS, IGES, Parasolid и STEP.
ПАССАТ
В этом году «НТП Трубопровод» подключил ядро к своему второму продукту Штуцер-МКЭ (расчеты на прочность узлов врезки в оборудование), но пока не для всех геометрических операций. Из-за особенностей моделей возникли сложности с булевыми операциями и проекцией кривых на поверхность. В основном, в нашем ядре Штуцер-МКЭ хранит кривые и строит скругления.
Штуцер-МКЭ
В разработке расчетного ПО использует ядро C3D и ядерный центр РФЯЦ-ВНИИТФ Госкорпорации «Росатом». О назначении продукта мы рассказывать не имеем права, но несколько скриншотов показать можно.
Сначала наши компоненты использовались в этом продукте только для моделирования геометрии и импорта\экспорта готовой геометрии через обменные форматы, а визуализацию разработчики делали на собственных компонентах. Но год назад они перешли на наш движок C3D Vision. По их оценке, улучшилось качество и возросла скорость вывода элементов сцены. Теперь от нас ждут инструментов для создания, вывода и работы с 2D-сценой.
Несмотря на внешние различия, с точки зрения геометрического ядра архитектура мало чем отличается от машиностроения. Поэтому когда команда Renga Software Rengabim выбирала, на каком ядре писать свой BIM, наш C3D показал себя весьма достойно.
Сейчас разработчики используют ядро, решатель и конвертеры в трех продуктах: Renga Architecture, Renga Structure и Renga MEP. Инструменты C3D отвечают за создание геометрии архитектурных и конструктивных объектов, преобразование геометрии, получение разрезов и фасадов зданий, редактирование трасс и подключенного к ним оборудования, расчет масс и площадей, импорт твердотельных моделей.
Проект здания детского сада в г. Геленджике в Renga Architecture
Renga Structure
К этой группе относятся приложения, которые в России привыкли называть мебельными САПР. Компания БАЗИС-Центр первой начала использовать ядро C3D, когда у нас еще не было ни документации, ни официального прайса на лицензию, ни самого названия C3D. Свой опыт выбора и внедрения ядра в проект подробно описал x512 в статье «Ядерные технологии в CAD.
Выделим в статье один момент, связанный со спецификой проектирования мебели — моделированием гнутых фасадов. По запросу «БАЗИС-Центра» мы добавили в C3D Modeler гибку нелистовых тел. Чтобы согнуть любое тело, достаточно задать режущую плоскость, количество и толщину кусков, на которые будет разбито тело, и для каждого куска задать расположение оси сгиба и его радиус нейтрального слоя. Из кусков тела будут сформированы цилиндрические сгибы, у которых слой, отстоящий на расстояние нейтрального радиуса от оси, не будет испытывать сжатия или растяжения. Теперь в САПР Базис можно моделировать гнутые фасады с фрезеровками.
Гибка нелистовых тел
Программный комплекс К3-Мебель для проектирования, производства и продажи корпусной мебели разрабатывает нижегородский «Центр ГеоС». Это единственный наш заказчик, который использует только параметрический решатель C3D Solver, без геометрического ядра. С его помощью программируется визуализация кинематики различных мебельных механизмов, например, подъемных лифтов.
К3-Мебель
Среди наших заказчиков пока мало приверженцев облачных технологий, но если они решатся зайти на эту дорогу, то такой опыт у нас тоже есть.
Например, на ядре C3D Modeler реализован КОМПАС:24, Android-просмотрщик моделей КОМПАС-3D (статья).
Новосибирская компания ЛЕДАС интегрировала ядро со своей облачной платформой LEDAS Cloud Platform (LCP). Платформа переносит САПР-приложения в web-среду и предоставляет в браузере функции хранения и управления данными, визуализации, навигации, коммуникации и совместной работы.
По запросу одного американского заказчика мы сделали параметрический решатель C3D Solver для JavaScript. Продукт, написанный на его основе, может не только функционировать в браузере, но и производить геометрические расчеты на стороне клиента. Насколько мы знаем, подобного решения нет ни у одного разработчика в мире.
Для удобства работы и обмена информацией в PDM-системах формируется вторичное представление документов (копия в нейтральном формате). Для этого могут использоваться VRML, eDrawings, 3D PDF. Разработчики ЛОЦМАН: PLM за 15 лет попробовали разные варианты и в прошлом году остановились на нашем просмотрщике C3D Viewer (статья). Он позволяет просматривать 3D-модели и выполнять аннотирование. Кстати функционал аннотирования был разработан по заказу команды ЛОЦМАН: PLM и входит в платную Enterprise-версию продукта. Базовый C3D Viewer остается бесплатным (скачать его можно здесь).
Вторичное представление в ЛОЦМАН: PLM
Обычно в системах подготовки управляющих программ для станков с ЧПУ геометрическое ядро играет важную, но не ключевую роль: оно работает в препроцессоре, обеспечивая импорт геометрической модели из CAD-систем и доработку геометрии перед программированием обработки. По сути, ядро нужно для насыщения CAM-систем CAD-функционалом, востребованным технологами. Не обойтись без 3D-ядра и разработчикам интегрированных CAD/CAM решений.
В Мордовском государственном университете давно сложилась команда по CAM-направлению. Сначала они написали «Модуль ЧПУ. Токарная обработка» на API КОМПАС, а позднее — «Модуль ЧПУ. Фрезерная обработка» для 2,5 и 3-координатной обработки непосредственно на ядре C3D. Их путь отличается от традиционного подхода CAM-разработчиков к ядру.
Приложение интегрировано в рабочее пространство КОМПАС-3D и использует CAD-модель, созданную в КОМПАС, в качестве источника геометрической информации. С помощью функций C3D моделируются пространственные области удаления материала, их вычитание из заготовки, построение трехмерных траекторий. Специфика применения C3D для задач CAM состоит в том, что такие сложные операции геометрического моделирования, как построение оболочек, нахождение кривых пересечения, булевы операции, не являются конечными объектами моделирования (как в системах CAD), а являются элементарными кирпичиками для реализации высокоуровневых алгоритмов, специфичных для области CAM. Это накладывает дополнительные требования к согласованию точности результатов, полученных через ядро, с общей точностью вычислений в рамках высокоуровневых задач.
Модуль ЧПУ. Фрезерная обработка
Заинтересованные разработчики могут самостоятельно протестировать C3D Toolkit. Все компоненты предоставляются бесплатно на три месяца, с документацией, по заявке на нашем сайте.