Геометрические ядра в мире и в России

Дмитрий УшаковДмитрий Ушаков

Системы автоматизации черчения (Computer-Aided Drafting), созданные в 1960-х гг. для замены кульмана (традиционного чертежного инструмента, которым архитекторы и инженеры всего мира привыкли пользоваться со времен промышленной революции XVIII в.), в настоящее время превратились из средства автоматизации рутинной работы в ключевой инструмент инноваций в разных отраслях промышленности, став системами автоматизации проектирования (Computer-Aided Design).

С помощью CAD архитектор сегодня создает информационную (трехмерную) модель здания, вместо того, чтобы чертить его поэтажные планы и фасады. Дизайнер интерьеров обсуждает с заказчиком оформление офиса или квартиры, перемещаясь по ее виртуальной трехмерной модели, интегрированной в окружающее пространство реального здания. Художник создает свои скетчи не на листах бумаги, а на сложных трехмерных поверхностях. Промышленный дизайнер печатает созданную модель на трехмерном принтере и передает ее для анализа специалисту по эргономике. Конструктор за секунды локализует и модифицирует проблемный узел в сборке, состоящей из сотен тысяч деталей, который был найден в результате автоматического моделирования поведения изделия под нагрузкой. Инженер-технолог быстро и безошибочно составляет управляющую программу для станка с ЧПУ, позволяющую вырезать из заготовки деталь со сложнейшей геометрией поверхности, оптимально спроектированной для того, чтобы обладать нужными эксплуатационными качествами. Рабочий, осуществляющий сборку и обслуживание изделия, обращается к трехмерной модели как к справочнику — для того, чтобы рассмотреть демонстрацию предписанной операции под нужным углом и с нужным ему приближением. Это лишь малая часть тех задач, которые сегодня способна решать CAD. И ключевую роль здесь играет трехмерная модель.

Трехмерное моделирование и виртуальная реальность

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

Трехмерное моделирование к настоящему моменту имеет за спиной более чем 30-летнюю историю. Далеко не все предложенные идеи оказались плодотворными. Далеко не все компании-разработчики средств трехмерного моделирования, смогли пережить рыночные пертурбации. Но лучший опыт оказался накоплен в программных компонентах, называемых ядрами трехмерного моделирования (3D modeling kernels), которые ныне лежат в основе почти любой CAD (а также CAE и CAM). Такие компоненты разработчики инженерного ПО либо проектируют, кодируют и поддерживают самостоятельно, либо лицензируют их у сторонних технологических поставщиков. 3D-ядро — это фундамент, на котором строится здание любой современной CAD. От этого фундамента зависит все остальное — возможности различных инструментов, их быстродействие, устойчивость к ошибкам, и даже общая интеллектуальность системы.

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

NURBS — основной класс поверхностей в трехмерном моделировании

Далеко не все разработчики CAD (а тем более CAE и CAM) готовы инвестировать в таком объеме в базовую технологию, поэтому большинство из них предпочитают лицензировать готовое 3D-ядро у сторонних производителей (иногда у своих прямых конкурентов), осуществляя компании-разработчику ядра регулярные платежи (обычно включающие определенную сумму с каждой проданной копии конечного продукта). Взамен они получают возможность использовать ядро, которое уже было «обкатано» в других системах, поэтому обладает богатой функциональностью и высоким уровнем надежности. Наконец, взяв готовое ядро, разработчик САПР сможет быстрее вывести свой программный продукт на рынок. Иногда этот фактор является определяющим — если опоздать с релизом продукта на год-другой, то рынок может оказаться занятым конкурентами. Ярчайшим примером является выпуск MCAD (Mechanical CAD) SolidWorks, ставшей первой в мире системой параметрического твердотельного моделирования для платформы Windows и до сих пор остающейся абсолютным лидером в отрасли MCAD (машиностроительного проектирования) по числу проданных лицензий. Этим же путем впоследствии пошли разработчики множества других успешных систем, включая российские компании ADEM и Топ Системы.

T-FLEX CAD (Топ Системы), созданный на основе ядра Parasolid

Однако, в мире САПР существует небольшое количество компаний, которые ставят во главу угла возможность полного контроля над исходным кодом, оперативного исправления ошибок и наращивания функционала, быстрого переноса на новые платформы и поэтому готовы расплачиваться за это собственными ресурсами. К этой группе принадлежат как четверка лидеров рынка САПР с миллиардными доходами (Dassault, Autodesk, Siemens и PTC), так и российский разработчик АСКОН.

КОМПАС-3D (АСКОН), созданный на основе собственного ядра

Достаточно полный список примеров разработчиков, как первой, так и второй категории приведен в таблице ниже. Из нее видно, что наиболее активно лицензируются ядра ACIS (развивается и поддерживается Spatial, дочерней компанией Dassault Systemes) и Parasolid (Siemens PLM Software).


Продукт Производитель Область 3D-ядро
Adams MSC Software, США CAE Parasolid
ADEM Группа компаний ADEM, Россия-Израиль-Германия CAD, CAM, CAPP ACIS
ADINA Modeler ADINA R&D Inc., США CAE Parasolid и Open CASCADE Technology
Alibre Design 3D Systems, США MCAD ACIS
Allplan Nemetschek AG, Германия AEC/BIM SMLib
AMPSolid AMPS Technologies, США CAE ACIS
ANSYS ANSYS Inc., США CAE Parasolid
APM Studio НТЦ АПМ, Россия MCAD Собственное (APM Engine)
ArchiCAD Graphisoft, Венгрия AEC/BIM Собственное
ARES Graebert, Германия CAD ACIS
Ashlar-Vellum Cobalt, Xenon, Argon Ashlar-Vellum, США MCAD ACIS
AutoCAD Autodesk, США CAD, AEC, GIS Собственное (ASM), совместимое с ACIS
Autodesk Inventor Autodesk, США MCAD Собственное (ASM), совместимое с ACIS
Autodesk Moldflow Autodesk, США CAE Parasolid
Autodesk Revit Architecture Autodesk, США AEC/BIM Собственное (ASM), совместимое с ACIS
AutoPLANT Betnley Systems, США AEC Parasolid
Bricscad Bricsys NV, Бельгия AEC, MCAD ACIS
CADopia CADopia Inc., США CAD ACIS
CATIA Dassault Systemes, Франция CAD/CAM/CAE, AEC CGM
Cimatron Cimatron Limited, Израиль CAM ACIS
CollabCAD National Informatics Centre, Индия CAD/CAM Open CASCADE Technology
Creo (прежнее название – Pro/Engineer) Parametric Technology, США MCAD GRANITE
Creo Elements/Direct Modeling (прежнее название – CoCreate) Parametric Technology, США CAD ACIS
Edgecam Planit Software, Великобритания CAM Parasolid и GRANITE
ESPRIT DP Technology Corp., США CAM Parasolid
FreeCAD Открытый онлайн-проект CAD Open CASCADE Technology
GibbsCAM Cimatron, Израиль CAD/CAM Parasolid и GRANITE
IRONCAD IronCAD LLC, США MCAD ACIS и Parasolid
KeyCreator Kubotek USA Inc., Япония-США CAD ACIS
Mastercam CNC Software, США CAD/CAM ACIS
Masterwork Tecnos G.A., Италия CAM Open CASCADE technology
MicroStation Bentley Systems, США AEC Parasolid (ранние версии –ACIS)
Moment of Inspiration Triple Squid Software Design, США CAD SOLIDS++
NX Siemens PLM Software, Германия CAD/CAM/CAE Parasolid
Patran MSC Software, США CAE Parasolid
Power NURBS Ideate Inc., США CAD SOLIDS++
PowerSHAPE Delcam plc, Великобритания CAD/CAM Parasolid
Radan Planit, Великобритания CAD/CAM ACIS
Rhinoceros Robert McNeel and Associates, США CAD SOLIDS++ (отдельные модули)
Shark LT Encore, США CAD ACIS
SmartCAM SmartCAMcnc CAM ACIS
Solid Edge Siemens PLM Software, Германия MCAD Parasolid (ранние версии –ACIS)
SolidWorks Dassault Systemes, Франция MCAD Parasolid
SpaceClaim SpaceClaim Corp., США MCAD ACIS
STAR-CCM+ CD-adapco, Великобритания-США CAE Parasolid
StruCad AceCad Software, Великобритания AEC/BIM Собственное
T-FLEX Топ Системы, Россия MCAD Parasolid
ThinkDesign Versata, США MCAD Собственное ядро
TopSolid Missler Software, Франция CAD/CAM Parasolid
TurboCAD IMSI/design, США AEC, MCAD ACIS
Vectorworks Nemetschek, Германия AEC Parasolid (ранние версии –SMLib)
ViaCAD 2D/3D Encore, США CAD ACIS
ZW3D (прежнее название – VX) ZWCAD Software, Китай MCAD Собственное ядро (VX Overdrive)
КОМПАС-3D АСКОН, Россия MCAD, AEC Собственное ядро


С 2007 г. Правительство Российской Федерации осуществляет федеральную целевую программу «Национальная технологическая база» с целью создания новых передовых технологий и оборудования, внедрения разработанных технологий в производство, коммерциализации новых технологий, создания перспективного научно-технологического задела для разработки перспективной наукоемкой продукции, решения проблем улучшения экологической ситуации в стране. В рамках этой программы Министерство промышленности и торговли РФ объявило тендер на выполнение научно-исследовательской и опытно-конструкторской работы «Создание отечественного лицензируемого программно-математического ядра трехмерного моделирования как базы для компьютерных систем автоматизированного проектирования сложной машиностроительной продукции». Такое ядро, будучи положено в основу нового поколения компьютерных систем проектирования, инженерного анализа, подготовки производства, создания технической документации, будет способствовать созданию российской промышленностью инновационных изделий, конкурентоспособных на мировом рынке, став частью национальной технологической базы. Победителем тендера стало Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Московский государственный технологический университет «СТАНКИН», а одним из субподрядчиков — компания ЛЕДАС.

Российская компания ЛЕДАС обладает тринадцатилетним опытом разработки наукоемких программных компонент САПР по заказу лидеров мирового рынка инженерного ПО. Среди успешно выполненных компанией проектов — интервальный решатель для работы с инженерными знаниями; решатель геометрических и размерных ограничений для параметрического черчения, проектирования сборок, кинематической анимации и прямого моделирования; модули для работы с полигональными сетками в режиме реального времени (преобразование сетки в поверхность подразделения, развертка сетки на плоскость, вычисление минимальных расстояний и определение пересечений между сетками); модули трансляции инженерных данных. С учетом указанного опыта, компании ЛЕДАС в проекте «3D-ядро» поручен сектор работ, связанных с разработкой алгоритмов вычислительной и дискретной математики, и включающий известную своей сложностью задачу высокоточного построения пересечения произвольных поверхностей и кривых.

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


Источник.