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