Операции внутри геометрического ядра cad системы. Аскон: геометрическое ядро c3d

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

Основные понятия о ядре

Ядро - это библиотека основных математических функций CAD-системы, которая определет и хранит 3D-формы ожидая команды пользователя.

Ядро обрабатывает команды, сохраняет результаты и осуществляет вывод на дисплей. На Рис. 1 показано это взаимодействие, на примере ядра thinkdesign (think3 Inc.) Архитектура, показанная здесь оптимизирована чтобы гарантировать максимальную интеграцию между CAD-приложением и низкоуровневыми компонентами ядра, обеспечивая большую гибкость приложения, устойчивость к ошибкам и быстродействие.

Рис. 1. Архитектура ядра thinkdesign

В настоящий момент существуют три типа ядер геометрического моделирования: лицензируемые, частные и доступные в исходном коде. Рассмотрим по два ядра каждого типа.

Лицензируемые ядра

Лицензируемые ядра геометрического моделирования разработаны и поддерживаются одной компанией, которая лицензирует их другим компаниям для их CAD-систем. К примеру, ядро Parasolid, разработано UGS (бывшая Unigraphics Solutions). Оно используется в Unigraphics и Solid Edge и лицензировано другим компаниям, включая CADMAX Corp. (True Solid/Master) и SolidWorks Corp. (SolidWorks). Лицензированные ядра могут обеспечивать более прямую совместимость (через форматы обмена, такие как SAT и X_T) между CAD-системами, которые их лицензировали.

В Ноябре 2000 года разработчика ядра Dassault Systemes купила Spatial Corporation, чем был дан новый толчек для улучшения этого ядра. Подразделение Spatial PlanetCAD образовало собственную компанию, под названием PlanetCAD Inc.

ACIS это объектно-ориентированная C++ геометрическая библиотека которая состоит из более чем 35 DLL-файлов и включает каркасные структуры, поверхности и твердотельное моделирование. Оно дает разработчикам программ богатый выбор геометрических операций для конструирования и манипулирования сложными моделями а так же полный набор булевых операций. Его математический интерфейс Laws Symbolic и основанная на NURBS деформация позволяют интегрировать поверхностное и твердотельное моделирование. Ядро ACIS осуществляет вывод в формат файлов SAT, который любая поддерживающая ACIS программа может читать напрямую.

Новое ядро ACIS 6.3 было выпущено в первом квартале 2001. Компания сообщает что качество и надежность - основные черты этой самой последней версии. ACIS 6.3 - всесторонне качественная программа, которая включает строгие тестовые критерии и ситуации. Как результат, в ACIS 6.3 для Windows NT неизвестно ни одной ошибки при работе с памятью.

Также новым является изобилие компонентов, которые позволяют ACIS 6.3 дать разработчикам программного обеспечения больше возможностей при создании приложений. ACIS теперь содержит более чем 50 компонент, включая смешивание, локальные операции, точные скрытые линии, пространственное изменение масштаба, продвинутые средства работы с поверхностями, ячеистую топологию и VISMAN (Visualization Manager).


Рис. 2. Фильтр, выполненый в использующем ACIS Autodesk Mechanical Desktop

И наконец, Spatial начала новую программу по продвижению ядра на рынке, основная идея которой заключается в том, что разработчики не платят за лиценизирования до момента выпуска ими готового программного продукта на этом ядре.

Parasolid - это самое быстрое ядро, доступное для лицензирования, разработано UGS. Parasolid обеспечивает технологию для твердотельного моделирования, обобщенного ячеистого моделирования, интегрированные поверхности свободной формы и листовое моделирование. Parasolid позволяет разработчикам быстро создавать конкурентоспособные продукты используя эти технологии. На этом ядре разработано много CAD/ CAM/CAE систем высокого и среднего уровня - к примеру SolidWorks, Delmia, Pro/DESKTOP, и FEMAP.

Parasolid поддерживает SMP (многопроцессорное аппаратное обеспечение), что позволяет увеличить производительность. Parasolid включает более чем 600 объектно-ориентированных функций для приложений под управлением Windows NT, UNIX, и LINUX.

Parasolid достиг 500,000 конечных пользователей во втором квартале 2000 года, а в настоящий момент число пользователей перевалило за 700,000, и это ядро используется более чем в 230 программных продуктах. Parasolid используют в своих программных продуктах Bentley Systems, Visionary Design Systems, CADKEY, ANSYS, Mechanical Dynamics, и MSC.Software.

В дополнении к формату обмена XT, Parasolid позволяет трансляцию и восстановление данных из других систем моделирования с помощью уникальной технологии Tolerant Modeling. В третьем квартале 2000 года был выпущен основанный на XML формат eXT для расширения возможностей обмена данными.


Рис. 3. Отвертки, выполненые на ядре Parasolid в Unigraphics

Последние версии Parasolid сфокусированы на расширении экстермального моделирования в наиболее технически сложных областях. Они были пионерами прямого моделирования, которое позволяет пользователям интуитивно модифицировать непараметризованые модели, как будто бы они имеют параметры.

Частные ядра

Частные ядра геометрического моделирования разрабатываются и поддерживаются разработчиками CAD-систем для использования исключительно в своих приложениях. Преимуществом частных ядер является более глубокая интеграция с интерфейсом CAD-приложения. Как результат этого - большие возможности управления системой пользователем - к примеру неограниченные undo и redo. Два представленных ниже ядра объединяют пространственное и твердотельное моделирование в одном приложении.

Основой CAD-системы think3 является ядро thinkdesign. Его уникальная архитектура дает разработчикам параметризированные твердые тела, расширенные средства по моделированию поверхностей, каркасные структуры, и 2D-черчение в одной CAD-системе (Рис. 4). Топология ядра thinkdesign делает возможным смешивать поверхности и твердые тела, импортировать и использовать несовершенную 3D-геометрию, полностью интегрировать 2D-чертежи в трехмерные базы данных и обеспечивает диогностическую информацию на событие, когда операция твердотельного моделирования не может быть завершена. Ядро также может назначать переменные допуски к различным геометрическим примитивам.


Рис. 4. Ядро thinkdesign поддерживает внутри сборки все геометрические типы данных.

Высоко-производительное эксклюзивное ядро, которое обладает сложными возможностями трехмерного гибридного моделирования и предоставляет высоко-технологичные средства на рабочем столе. VX Overdrive предлагает реальную гибридную систему, которая объединяет твердотельное и расширеное свободно-форменное поверхностное моделирование.

VX Overdrive поддерживает такие функции как одновременная разработка, храненит информацию о версиях объекта, гибкий хронологический контроль, сложные средства заполнения и смешивания, неограниченное undo/redo, и настоящее моделирование сборки "в контексте".

CAM - родная среда для VX Overdrive - не дополнение, позднейшая доработка или разработка другой компании. Планирование производства и подпрограммы для станков с ЧПУ - интегрированая часть ядра, которая гарантирует полную синхронизацию между проектированием и производством. Изменения в спроектированной геометрии напрямую отражаются изменениями в автоматических производственных операциях.


Рис. 5. Пример разработки на VX Overdrive

VX Overdrive имеет открытую, масштабированную архитектуру разработанную чтобы удовлетворять возрастающие требования рынка. Его API позволяет сторонним разработчикам создавать свои свои специализированные дополнения.

Ядра, доступные в исходном коде

Ядра, доступные в исходном коде подобны лицензированным ядрам.Они также разрабатываются и поддерживаются одной компанией и затем лицензируются другим компаниям для использования в CAD-приложениях.

Отличие стоит в том, что эти разработчики обеспечиваю исходный код ядра. Для пользователей которые имеют группы разработки и хотят сами настраивать ядро системы очень удобно иметь возможности настройки, посколько исходный код доступен.

Open CASCADE (Matra Datavision)

Open CASCADE v3.1 (выпущен в Ноябре 2000 года) представляет Visual C++ проекты, которые позволяют пользователям компилировать код Open CASCADE на их платформах. В дополнении, форматы экспорта данных теперь доступны для STL, VRML и HPGL2, и представлен Open CASCADE Application Framework для быстрой разработки приложений 3D моделирования.

SMLib от Solid Modeling Solutions - это набор основанных на NURBS геометрических и топологических библиотек, который существует на рынке семь лет и который используют более чем 200 компний и университетов. SMLib включает обширный набор NURBS-функций криволинейного и поверхнсотного моделирования а также оптимизированный код для быстрого измерения расстояния между объектами.

Ядро SMLib недавно предоставило новые возможности, включая основаную на топологие сеточную генерацию для двумерных сот, расширеное заполнение и затенение, смещение оболочки и возможности множественного объединения.

SMLib имеет уникальную бизнес-модель, по которой продукт распространяется в форме исходного кода без авторских отчислений. Это обеспечивает чрезвычайно притягательную возможность для поддержки и обновления без всякого смещения к приватизации программного обеспечения или форматов данных.

Типы ядер геометрического моделирования

Ядро Разработчик Web-сайт Тип ядра
ACIS 3D Geometric Modeler Spatial/Dassault Systemes http://www.spatial.com/ Лицензируемое
Open CASCADE Matra Datavision http://www.opencascade.org/ Доступно в исходном коде
Parasolid UGS http://www.parasolid.com/ Лицензируемое
SMLib Solid Modeling Solutions http://www.smlib.com/ Доступно в исходном коде
thinkdesign kernel think3 Inc. http://www.think3.com/ Частное
VX Overdrive Varimetrix Corp. http://www.varimetrix.com/ Частное

Системы автоматизации черчения (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-ядро
4MCAD IntelliCAD 4M S.A., Греция CAD, AEC Open CASCADE Technology
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 ACIS и 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
Autodesk Inventor Autodesk, США MCAD Собственное (ASM), совместимое с ACIS
Autodesk Moldflow Autodesk, США CAE Parasolid
Autodesk Revit Architecture Autodesk, США AEC/BIM Собственное (ASM), совместимое с ACIS
bonzai3d AutoDesSys, США CAD
Bricscad Bricsys NV, Бельгия AEC, MCAD ACIS
BtoCAD YuanFang Software Co., Ltd., Китай CAD 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
form-Z AutoDesSys, США CAD ACIS в комбинации с собственным ядром
FreeCAD Открытый онлайн-проект CAD Open CASCADE Technology
GibbsCAM Cimatron, Израиль CAD/CAM Parasolid и GRANITE
GstarCAD Suzhou Gstarsoft Co., Ltd, Китай CAD ACIS
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
Moment of Inspiration Triple Squid Software Design, США CAD SOLIDS++
NX CAD/CAM/CAE Parasolid
Patran MSC Software, США CAE Parasolid
Power NURBS Ideate Inc., США CAD SOLIDS++
PowerSHAPE Delcam plc, Великобритания CAD/CAM Parasolid
progeCAD progeCAD Srl Uninominale, Италия CAD ACIS
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 CAD/CAM) ZWCAD Software, Китай MCAD Собственное ядро (VX Overdrive)
ZWCAD ZWCAD Software, Китай CAD ACIS
КОМПАС-3D АСКОН, Россия MCAD, AEC Собственное ядро

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

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

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

Более 20 лет руководил проектами и исследовательскими группами в НИИ ядерной физики МГУ. Затем - развитием новых проектов в Intel Technologies. С 2011 года - директор по науке и технологиям в ИТ-кластере «Сколково». Автор более двухсот научных публикаций и патентов, доктор физико-математических наук, эксперт в «Роснано» и РВК. Совмещает глубокую научную компетенцию с бизнес-экспертизой.

Алексей Ершов, гендиректор компании «Ледас»

В 1999 году пришел в «Ледас» на должность разработчика ПО. Впоследствии стал главным технологом, руководил ключевыми проектами компании в области геометрических решателей. В 2007 году защитил кандидатскую диссертацию в области геометрических ограничений. В 2011 году стал гендиректором группы. Автор 20 научных работ.

Кто разработал

С 1995 года разработкой ядра C3D руководит кандидат технических наук Николай Голованов. Юрий Козулин отвечает за разработку алгоритмов моделирования, Александр Максименко - за разработку решателя геометрических ограничений, Эдуард Максименко - за разработку прикладного ПО. Под их началом трудятся восемь математиков-программистов.

Разобраться со спецификой зарубежных рынков САПР команде C3D Labs помогают иностранные консультанты, специализирующиеся на компьютерном инжиниринге, - Кен Версприлл, Джоел Орр, Ральф Грабовски и другие.

Клиенты и партнеры

Помимо материнской компании «Аскон», в портфеле C3D Labs 16 заказчиков.

Ядро покупают компании различного профиля. Например, Solar Tech использует его в разработке программы для станков ЧПУ, а Elecosoft Consultec - в создании системы моделирования деревянных лестниц.

Коммерческие продукты на базе ядра C3D разрабатывают технологические партнеры C3D Labs - новосибирская компания «Ледас», томская компания Rubius , индийская компания ProtoTech Solutions и южнокорейская Solar Tech. Кроме того, «Ледас» выступает международным реселлером C3D, а Solar Tech - официальным дистрибьютором ядра на рынках Южной Кореи, Китая и Японии.

Аркадий Камнев

К нам постоянно поступают запросы на тестирование C3D. Это и учебные заведения, и разработчики-стартаперы, и крупные коммерческие организации. Период от первого обращения к нам до принятия решения о лицензировании ПО довольно длительный (от полугода и больше), поэтому сообщать о новых пользователях пока рано. Но мы уверены, что южнокорейской и шведской компаниями список наших иностранных клиентов не ограничится, и скоро мы расскажем о новом зарубежном ПО, созданном на базе российского ядра C3D.

Как зарабатывают

Условия использования ядра обсуждаются индивидуально с каждым заказчиком. Сначала C3D Labs предоставляет бесплатную тестовую лицензию на 3 месяца, которая предполагает полноценную техподдержку от разработчиков. Дальше клиент выбирает лицензию на внутреннее использование, коммерческое использование или дистрибьюцию. Стартапам и вузам C3D Labs предоставляет ядро на льготных условиях.

Аркадий Камнев

менеджер по продукту C3D Labs

Для стартапов у нас действует специальная программа лицензирования ядра. Мы сами являемся стартапом, поэтому отлично понимаем запросы небольших компаний и легко находим с ними общий язык.

Клиенты оплачивают лицензию раз в год. Опционально они могут подключить платную расширенную техподдержку. При выпуске коммерческих продуктов на базе ядра заказчик ежеквартально перечисляет компании фиксированный роялти.

Конкуренты

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

Полноценные САПР сторонние разработчики могут создать на базе всего пяти коммерческих ядер (Parasolid, ACIS, C3D, CGM и Open CASCADE). Лидеры глобального рынка - ACIS от французской Spatial (дочка Dassault Systemes) и Parasolid от немецкой Siemens PLM Software. На их основе разработано большинство мировых систем 3D-проектирования.

Николай Суетин

Геометрическое ядро – наиболее трудоемкий компонент систем трехмерного моделирования. Затраты на его разработку крайне высоки, поэтому на мировом рынке представлено так мало коммерческих ядер. А наиболее функциональные из них принадлежат крупным западным разработчикам САПР. Уже более 10 лет на рынке 3D-компонентов не появлялись новые игроки. Сейчас на этом сегменте лидируют Parasolid (Siemens PLM Software, Германия) и ACIS (Dassault Systemes, Франция).

Кстати, в 2011 году на базе МГТУ «Станкин» началась разработка еще одного российского геометрического ядра - RGK (Russian Geometric Kernel). В 2013 году проект был сдан заказчику - Минпромторгу, но на рынок пока не вышел.

Как говорят в C3D Labs, напрямую их продукт не конкурирует с остальными популярными коммерческими ядрами, заняв промежуточную ценовую нишу.

Аркадий Камнев

менеджер по продукту C3D Labs

ACIS, CGM и Parasolid слишком дороги для многих разработчиков. Да и большие компании не так отзывчивы к нуждам маленьких по их меркам клиентов - что естественно. А для разработчиков инженерного ПО скорость обработки их запросов часто довольно критична. Мы так же функциональны, как лидеры рынка, плюс очень быстро реагируем на запросы наших клиентов. Если говорить об OpenCASCADE, у него другая схема лицензирования. Само ядро предоставляется бесплатно, оплачиваются только сервисные функции. Им обычно пользуются небольшие ИТ-компании и предприятия, которые имеют ограниченные бюджеты на разработку и пытаются обойтись малой кровью.


Рынок ядер

Открытых данных об объеме рынка геометрических ядер нет. Традиционно этот сегмент еще более закрытый, чем сфера САПР. Разработчики ядер получают роялти от каждой проданной системы автоматизированного проектирования, поэтому о состоянии их бизнеса можно судить по развитию рынка САПР.

Выводы

Алексей Ершов

гендиректор компании «Ледас»

Одно из важных преимуществ команды C3D - открытость, способность и желание учитывать специфические потребности и возможности партнеров. «Ледас» лицензировал C3D для встраивания в свою программную компоненту LGC контроля изменений в 3Д-моделях в том числе потому, что другие производители геометрических ядер не хотели с нами сотрудничать. Они привыкли работать только с производителями конечно-пользовательских продуктов, их типовые договора не учитывают других возможностей, и они не готовы адаптировать свои бизнес-процессы под конкретного клиента. А команда C3D легко пошла нам навстречу. По-моему, C3D Labs удалось найти свою нишу на рынке, а это залог успеха. Речь о компаниях, нуждающихся в качественном геометрическом ядре, которым недостаточно возможностей и производительности бесплатных аналогов, но не готовых платить столько, сколько требуют владельцы Parasolid и ACIS с их многомиллионными оборотами. Причем это достаточно широкий спектр компаний, в который попадают и разработчики САПР, и промышленные центры, которым C3D нужен для внутренного использования, и производители программных компонент, как моя компания «Ледас».

Николай Суетин

директор по науке ИТ-кластера «Сколково»

Создатели компании C3D Labs работали над алгоритмами C3D более 17 лет. Это позволило им преодолеть высокий порог входа на рынок, недоступный командам без опыта. C3D - единый компонент для решения всех трех задач геометрического моделирования: создание геометрической модели, наложение взаимных связей на элементы модели, конвертация данных. Другого такого универсального компонента на мировом рынке не существует. Инновационность геометрического ядра C3D состоит в использовании уникальных математических алгоритмов, заложенных в основу вычислений. Моделируемые объекты в геометрическом ядре C3D описываются точными математическими поверхностями, что позволяет «бесшовно» соединить их по краям. При этом форма поверхностей может быть сколь угодно сложной. Обрезка и стыковка поверхностей выполняется одновременно с построением модели. Это возможно благодаря оригинальным методам построения геометрической модели и организации данных.

    Это верно:) это бред:) в ТФ можно и так и так =) ощутимой разницы в скорости не будет, можно даже потом взять любую копию перекрасить, поменять отверстия, удалить отверстия, что угодно... и массив все-равно останется массивом - можно менять будет количество копий, направление и тп, видео пилить или так поверите? :) Это верно, а какая задача? Перевести как SW сплайны по точкам в сплайн по полюсам что ли, если подумать это также некоторое изменение исходной геометрии - к этому нет замечаний?:) как я понимаю, ТФ только 1 к 1 и переводит, остальное уже можно настроить в шаблоне ТФ до экспорта в DWG - см. рис под спойлером, либо отмасштабировать в виде AC, что в принципе не противоречит основным методам работы с AutoCAD, а так как в виду распространенности АС на ранних стадиях пика популярности внедрения САПР, то возрастному поколению это привычнее даже: А если еще докапаться к возможностям экспорта/импорта разных САПР: 1) то как из 2D-чертежа SW экспортировать только выделенные линии в DWG? (из 3D документов более менее SW приспособлен, только все-равно придется в маленьком окне предпросмотра чистить лишнее вручную). Заранее удалить все что не нужно, а после этого экспортировать-> как-то не современно, не по-молодежному:) 2) И наоборот как выделенные линии в AutoCAD быстро импортировать в SW(например для эскиза, или же просто как набор линий для чертежа)?(для ТФ: выделил набор нужных линий в AC -ctrl+c и далее в TF просто ctrl+v - всё)

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

    Добрый день! В solidcam есть много стратегий для обработки паза, но они излишне усложняют программу. Подскажите есть ли что-то простое для глубокого паза в один проход? В идеале избежать всех отводов по z, как на картинке

    Добрый день, требуется помощь в следующей ситуации. Имеется станок MIKROMAT 20V (3+2 оси) со стойкой Sinumerik 840d. На станке, помимо автоматической смены инструмента, так же есть автоматическая смена фрезерных адаптеров: SPV-удлинитель UhFK-адаптер с двумя поворотными осями "B" и "C" Wbfk - с одной поворотной осью "C" DE- основная крышка для заглушки контактов и гидравлических выведенных на шпиндельной бабке для остальных адаптеров. В связи с этим станкопроизводителем был переопределен цикл M6 как L6, для вызова инструмента совместно с адаптером.
    L6("DRILL_8","UHFK") ; пример вызова цикла смены инструмента в режиме auto/mda Подпрограмма HPOS предназначена для ориентации UHFK и Wbfk, а именно механического поворота осей с пересчетом фактического положения шпинделя от главного шпинделя. За выполнение этого отвечают подпрограммы HAWEX, WEWEX, HATRALIM упоминающиеся в HPOS. HPOS (180,0); пример кадра позиционирования в режиме auto/mda Примерный порядок действий при HPOS: Происходи ориентация шпинделя Отжим зацепления Хирта Поворот оси Зажим зацепления Хирта Пересчет системы координат На данный момент происходит пункт 2 и начала пункта 3, а именно недоворот позиционирования. При этом канал активен, сбоев нет, но мощность шпинделя падает до 0% и надпись "Подождите, воздействие на подачу". Если найдутся добрые люди, буду рад добавить любую информацию. WEWEX.SPF L6.SPF HPOS.SPF HAWEX.SPF HATRALIM.SPF

Обзор ядер геометрического моделирования

Как известно, в центре Земли находится ядро. Именно в нем сосредоточена значительная часть энергии нашей планеты. Аналогичная ситуация наблюдается и в мире САПР. Основой и движущей силой каждой системы служит ядро.

Двигатель САПР

Ядро - это набор математических функций, который предназначен для точного математического представления трехмерной формы изделия и управления этой моделью. Полученные с его помощью геометрические данные используются системами автоматизированного проектирования (CAD), технологической подготовки производства (CAM) и инженерного анализа (САЕ) для разработки конструктивных элементов, сборок и изделий. Проектировщик получает доступ к функциям ядра из соответствующей САПР через графический пользовательский интерфейс. Таким образом, ядро имеет очень важное значение. Не зря его иногда называют "двигателем" системы проектирования. Именно оно определяет ее функциональные возможности и производительность.

Кроме того, от "начинки" зависит совместимость системы с другими САПР. Ведь ядро задает формат хранения моделей. Поэтому продукты, основанные на одном и том же ядре, могут читать проекты из других "братских" САПР как свои собственные. Это позволяет точно передавать геометрические и топологические параметры модели. И напротив экспорт данных из "неродных" систем сопряжен с трудностями. Для этого применяются конверторы и трансляторы, которые выполняют преобразование форматов либо напрямую (из одной системы в другую), либо через стандарты геометрического моделирования (например, IGES или STEP). Но в любом случае полной точности добиться не удается.

Сегодня в мире существует несколько десятков известных математических ядер. Исторически сложилось так, что они разделились на три типа: частные, лицензируемые и с открытым кодом. Рассмотрим особенности каждого из них.

Свое ядро ближе к САПР

Наиболее "старыми" являются частные ядра, которые создаются и развиваются только для использования с конкретной системой проектирования. Именно на них были основаны первые САПР, появившиеся еще на заре компьютерной эры. И сейчас многие компании придерживаются такого же подхода. В их числе поставщик тяжелой САПР - Dassault Systemes, разработчики систем среднего класса - think3 и VX Corporation, отечественные фирмы - АСКОН, "ГеММа", "Кредо" и др.

У своего ядра есть немало преимуществ. Во-первых, тесная интеграция с интерфейсом приложения расширяет проектировщику доступ к функциям ядра и тем самым упрощает его работу. Например, он может сколько угодно раз выполнять операции отката или повторного выполнения задания. Во-вторых, разработчик САПР может делать ядро под собственные нужды, создавая только ту функциональность, которая требуется для конкретной системы. В-третьих, у него есть возможность быстро устранять ошибки и оптимизировать свой продукт по скорости работы и по объему данных. "Собственное ядро - гибко и управляемо, изменения вносятся в него настолько оперативно, насколько это требуется самому создателю САПР", - объяснил Евгений Бахин, директор по стратегическому развитию компании АСКОН.

Кроме того, нельзя забывать финансовый фактор. При использовании покупного ядра его стоимость закладывается в цену продукта. Более того, даже за написание модулей импорта-экспорта в форматы готовых ядер нужно платить. От этого избавлены владельцы своего механизма. "Если применяется собственное ядро, то его доля в цене САПР, как правило, оптимальна и не зависит от изменений лицензионной политики стороннего разработчика", - утверждает г-н Бахин.

Но, как известно, ничего не дается даром. "Создание геометрического ядра - действительно дело сложное, - сказал Прокопий Николаев, начальник отдела разработки компании "ГеММа". - У нас такое решение сложилось исторически. В начале 90-х, когда мы начали создавать ГеММу-3D, в нашей стране не было принято использовать готовые решения для обеспечения базовой функциональности системы. Тогда практически все разработчики САПР строили продукты с нуля в меру своих сил и умения". Но для этого требовались квалифицированные специалисты в области вычислительной геометрии и компьютерной графики. Без них построить геометрическое ядро невозможно. "Найти специалиста, свободно разбирающегося в каверзных вопросах вычислительной геометрии, да еще и имеющего практический опыт, - задача очень непростая", - подчеркнул г-н Николаев.

Помимо опытных кадров нужны еще и деньги. "Разработка ядра - чрезвычайно наукоемкое и дорогостоящее дело, - сказал генеральный директор АСКОНа Александр Голиков. - На первом этапе фактически вся наша прибыль от продажи редактора конструкторской документации "КОМПАС-График" инвестировалась в написание нового математического ядра, не обеспечивавшего, естественно, в тот момент сиюминутной экономической отдачи". При этом инвестировать нужно в течение довольно длительного времени. Ведь быстро хороший продукт не получишь. "Для создания ядра с нуля до достижения уровня функциональности и надежности, необходимого для выполнения большинства задач машиностроительного проектирования, потребуются приблизительно 20 человек и около пяти лет работы", - сообщил Владимир Панченко, руководитель аналитического отдела подразделения АСКОН-Коломна (именно здесь осуществляется разработка математического ядра КОМПАС-3D и самого CAD-продукта).

Конечно, 100 человеко-лет - это немало. Неужели задачи геометрического моделирования так сложны? Оказывается, что главную трудность представляет не столько реализация стандартных функций ядра, сколько его "шлифовка" - отработка функционала и обеспечение высокой надежности. "Этого невозможно добиться одним только тестированием, - объяснил г-н Панченко. - Совершенно необходимо успешное практическое применение ядра вместе с САПР на реальных рабочих местах. Никто не будет покупать ядро и базирующуюся на нем систему, если оно ненадежно, а его функционал непригоден для использования".

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

Ядро напрокат

Трудоемкость создания собственного ядра заставляет некоторых игроков идти другим путем и брать готовый продукт. "Первоначально мы разрабатывали собственное ядро, часть его функций и сейчас используется в нашей системе, - рассказал Виталий Талдыкин, директор по маркетингу компании "Топ Системы". - Однако вскоре выяснилось, что это задача огромной сложности. Можно довольно быстро сделать прототип ядра, который будет выполнять основной набор требуемых функций на тестовых примерах, но потом выясняется, что для решения реальных задач нужно постоянно совершенствовать алгоритмы, учитывать частные случаи и т. д. При этом объем и сложность программного кода вырастают нелинейно, и объективно говоря, трудоемкость получения собственного промышленного ядра составляет сотни человеко-лет". По мнению Талдыкина, небольшая группа, пусть даже и одаренных людей, не может создать ядро, решающее все основные задачи геометрического моделирования на всем множестве практических примеров. "Одного таланта здесь недостаточно, - уверен г-н Талдыкин. - Это гигантский, кропотливый труд". Поэтому компания "Топ Системы" решила строить САПР на базе готового механизма.

Лицензируемое ядро разрабатывается и поддерживается одной компанией, которая продает на него лицензии другим создателям САПР. Пионером в "ядерном" бизнесе стала компания UGS, которая в 1988 г. выпустила в продажу ядро Parasolid, составляющее основу ее системы Unigraphics. В 1990 г. ее примеру последовала фирма Spatial Technologies, представившая ядро ACIS. Сейчас эти два продукта используются во многих известных системах твердотельного моделирования. Так, ACIS применяется в AutoCAD и Mechanical Desktop (Autodesk), TurboCAD (IMSI), CADKEY (Kubotek), а Parasolid - в SolidWorks (Dassault Systemes), Solid Edge (UGS), MicroStation (Bently), T-Flex ("Топ Системы"). В 2001 г. в лагерь сторонников лицензируемого ядра перешла компания PTC и начала распространять лицензии на Granite One - основу своей САПР Pro/ ENGINEER.

В общей сложности лицензируемые ядра составляют основу более сотни САПР, а число пользователей насчитывается миллионами. Таким образом, "ядерный" бизнес оказался весьма выгодным, причем с точки зрения как финансов, так и влияния на отрасль. Ведь от владельца ядра зависят многие другие игроки. Недаром в 2000 г. фирму Spatial купила Dassault Systemes, которая сейчас занимается развитием ядра ACIS. Активно совершенствует ядро и UGS. В частности, в октябре прошлого года она приобрела фирму D-Cube, чтобы встроить в Parasolid ее функции геометрического моделирования.

Разработчик получает доступ к документированным функциям ядра через интерфейс прикладного программирования (API). "Но это не значит, что мы используем только функциональность ядра и больше ничего, - подчеркнул Виталий Талдыкин. - Наши программисты самостоятельно пишут команды трехмерного моделирования с помощью мощных средств параметрического ядра системы T-FLEX. Это позволяет нам иметь ряд конкурентных преимуществ перед другими САПР, реализованными на Parasolid". Аналогично поступают и другие поставщики САПР, поэтому системы, построенные на базе одного и того же ядра, различаются по производительности и функционалу.

Компания Vero International Software использует Parasolid для создания систем проектирования пресс-форм, совместимых с различными САПР

Главное преимущество готового ядра заключается в том, что оно избавляет разработчиков САПР от решения трудоемких задач создания собственного механизма твердотельного моделирования и дает возможность сконцентрироваться на конкретной задаче, освобождая их от знания тонкостей внутреннего представления геометрических объектов. "Использование лицензируемого ядра позволяет резко сократить сроки разработки системы, повысить качество и функциональность решения и в результате быстро вывести систему в разряд пригодных к серьезному промышленному внедрению", - сказал г-н Талдыкин.

Именно так в середине 90-х поступили создатели первых систем среднего класса - SolidWorks и Solid Edge. И оказались правы: эти продукты совершили революционный переворот в мире САПР и успешно развиваются до сих пор.

У владельца ядра может быть свой интерес. Ведь открывая к нему доступ, он расширяет число приложений, совместимых со своей САПР и между собой. "Выпуская Granite One в качестве самостоятельного продукта, компания PTC не только сделала доступной базовую функциональность системы Pro/ENGINEER, но и обеспечила разработчиков инструментом для улучшения взаимодействия с этой САПР", - сказал Дмитрий Мотовилов, специалист из фирмы PTS, реселлера компании PTC.

Однако использование чуждого ядра имеет и оборотную сторону. Ведь даже имея лицензию, разработчик не может "залезть" внутрь ядра и подправить какой-либо базовый алгоритм для его улучшения. Но Виталий Талдыкин считает это положительным качеством: "Для творческих людей экспериментаторского склада это - весьма существенный недостаток, но если мы говорим о системе, которая сама является качественным промышленным изделием, то это скорее преимущество".

Кроме того, проблему может создать зависимость разработчиков от поставщика ядра. Ведь не известно, как сложится судьба этого поставщика. А вдруг он уйдет с рынка, перестанет развивать ядро или изменит правила лицензирования? Эти опасения не лишены основания. Например, с непростой ситуацией в свое время столкнулась компания "Топ Системы". "До Parasolid мы на протяжении нескольких лет использовали ACIS, но начавшаяся неразбериха с этим ядром, которая приводила к выпуску откровенно "сырых" версий, вынудила нас искать альтернативные решения, - рассказал г-н Талдыкин. - Немаловажную роль сыграла и странная политика лицензирования важных функций, которой придерживалась Spatial. Из-за этого разные разработчики оказывались в неравном положении в плане доступа к функциональности ядра. Были и другие проблемы. В результате мы перешли на Parasolid и ни разу не пожалели о своем выборе". Но, несмотря на такой опыт, он считает проблему зависимости преувеличенной: "Степень такой зависимости не превышает обычные житейские риски; например, где гарантия того, что главные разработчики "собственного" ядра не уволятся"?

К счастью, сейчас опасаться за судьбу ACIS и Parasolid не приходится. Это - зрелые продукты, существующие более десятка лет. В прошлом году у ACIS вышла 14-я версия, а у Parasolid - 16-я. Они принадлежат двум лидерам рынка САПР - компаниям UGS и Dassault, прочное положение которых сейчас не подвергается сомнению. О стабильности ситуации свидетельствует также сложившаяся вокруг ядер парадоксальная ситуация. Так, Parasolid составляет основу системы SolidWorks, которую выпускает компания Dassault - главный соперник UGS, а Autodesk использует в системе AutoCAD ядро ACIS, принадлежащее Dassault. Вроде бы все эти компании жестко конкурируют между собой, но в то же время - предоставляют друг другу лицензии на ядра. Видимо, совместно развивать рынок выгоднее.

На базе ядра ACIS компания Digital ArtForms

построила систему трехмерной графики

Впрочем, еще недавно обстановка в области механизмов моделирования была далеко не такой спокойной: между поставщиками Parasolid и ACIS бушевала война ядер: они беспрерывно снижали цены и выпускали новые версии так часто, что пользователи не успевали на них переходить. Но в 2001 г. воюющие стороны устали от "боевых" действий и предпочли заключить перемирие. Договорившись о взаимном лицензировании, они с помощью трансляторов обеспечили возможность обмена моделями между САПР с разными ядрами.

Ядро с открытым кодом

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

Наиболее известны два ядра с открытым кодом: Open CASCADE и комплект компании Solid Modeling Solutions (SMS), включающий программы геометрического моделирования SMLib, NLib, GSLib, TSNLib и SDLib. Оба представляют собой библиотеки функций геометрического моделирования и распространяются с открытым исходным текстом, но с одним существенным отличием: Open CASCADE можно использовать бесплатно, а за SMS нужно платить.

Open CASCADE имеет глубокие исторические корни. Его основу составляет CAS.CADE - платформа известной САПР Euclid компании Matra Datavision. Когда в 1998 г. ее купила Dassault, проект Euclid был закрыт, а ядро - опубликовано в Интернете под названием Open CASCADE. Сейчас оно принадлежит французской компании Principia Research & Development, развивающей это ядро и предоставляющей платные услуги по созданию специализированных приложений на его базе. В мае 2003 г. вышла пятая версия Open CASCADE, а сам код загрузили уже более 10 тыс. пользователей. Большой вклад в рост его популярности вносит образовавшееся вокруг него сообщество разработчиков. Они не только его используют, но и активно совершенствуют. Ведь в соответствии с принципами Open Source они должны открывать доступ к своим разработкам всем желающим.

Компания SMS пошла другим путем. Она продает лицензии на свои продукты, но утверждает, что они обойдутся гораздо дешевле, чем создание и поддержка собственного ядра. Тем более что через два года заказчик получает на них полное право и может больше не платить за лицензию. Правда, тогда он лишится новых версий и поддержки. Важное значение для стратегии SMS имеет ее независимость от крупных поставщиков САПР. Это - частная компания, принадлежащая сотрудникам и не имеющая партнеров. Штат ее невелик, но опыт в области геометрического моделирования довольно большой. В 1998 г. она выпустила библиотеку SMLib (сейчас поставляется версия 6.5), в 2002-м - дополнительные продукты TSNLib, GSNLib и NLib, а в 2004-м - SDLib.

Ядра с открытым кодом открывают возможность выбора перед компаниями, которые не хотят использовать лицензируемый механизм моделирования, но не имеют средств для разработки собственной платформы. Но такие ядра пока не особенно популярны. Одна из причин этого - недоверие к качеству данного ПО. "Проектов на базе ядра с открытым кодом очень мало, - сказал Прокопий Николаев. - Ведь непонятно, что проще - написать свой код или разобраться с чужим". С ним согласен Виталий Талдыкин: "Это некоторая диковинка на рынке. Насколько мы знаем, в промышленном масштабе они применяются еще очень редко. Исправлять чужие ошибки в огромном программном комплексе - сомнительное удовольствие".

Выбор за пользователем

"Вопрос о том, что лучше - использовать чужое или сделать самому, останется вечным, - подвел итог Прокопий Николаев. - В каждом конкретном случае решение будет приниматься индивидуально, с учетом текущих объективных и субъективных факторов. Готового рецепта нет, так как у каждого варианта есть как преимущества, так и недостатки".