Геометрическое ядро является основной базовой платформой, на которой создаются программные решения. Выбор ядра оказывает влияние на функционал будущего продукта, время, которые потратили разработчики на его создание, и на производительность программы. Тип базы для разработки подбирается в зависимости от прикладных задач ПО.
У каждого ядра имеется специфический набор функций, команд, параметров и аргументов, представленных в определенном формате. Принцип взаимодействия форм и способы подачи геометрии индивидуальны (NURBS, В-сплайны, комбинации методов). Различием между ядрами является точность геометрии, управление и настройка этой функции, принцип вычисления геометрических мест точек.
Популярные и активно используемые разработчиками геометрические ядра — Parasolid, ACIS, Open CASCADE и C3D. Специалисты Московского университета ведут работы над ядром RGK, которое используется для создания систем трехмерного моделирования. Рассмотрим отечественные ядра RGK и С3D с точки зрения влияния на производительность конечного решения.
Многопоточность как средство повышения производительности
В отличие от традиционных САПР, в российских ядрах эффективно реализованы принципы многопоточности и параллелизма. Эти решения позволяют ускорить вычислительный процесс и повысить точность результатов. Приложения одновременно работают с данными разного типа, позволяют разработчикам оперировать поверхностями и специальными кривыми, выполнять сложные операции, использовать средства моделирования по принципу ограничения. В ядре не только предусмотрена многопоточность вычислительных процессов, но и обеспечена безопасность при использовании интерфейсов в пользовательских приложениях.
При работе с многопоточными ядрами выполняются одновременно несколько операций:
- выстраиваются плоские проекции;
- рассчитываются полигональные сетки;
- вычисляются весовые и центровочные характеристики;
- выполняются конвертерные операции.
Этот список неполный, поскольку в процессе постоянного усовершенствования ядра создатели добавляют в функционал новые позиции.
За счет многопоточности ядер разработчики затрачивают намного меньше времени на работу с САПР. Рутинные процессы максимально автоматизированы, а результаты вычислений отличаются предельно возможной точностью. Подробнее о моделировании трехмерных объектов на базе ядра С3D читайте здесь: https://c3dlabs.com/ru/products/c3d-toolkit/modeler/.