isicad.ru :: портал САПР, PLM и ERP :: версия для печати

Статьи

28 января 2011

На ядре

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

В эту минуту мимо меня пролетало встречное ядро...
Недолго думая, я пересел на него и как ни в чём не бывало помчался обратно.

Р.Э. Распэ, «Приключения барона Мюнхаузена»
Барон Мюнхайзен верхом на ядре

Недавняя новость о том, что новое поколение популярной САПР SolidWorks (работа над которым идет в лабораториях Dassault Systemes в Велизи, глухом местечке под Парижем) будет основано на собственном ядре геометрического моделирования, вызвала широкий резонанс отечественных и мировых специалистов. Зачем переходить с проверенного временем Parasolid на доморощенное французское ядро CGM, спрашивали одни. Смена геометрического ядра в существующей САПР подобна замене установленного на заводе двигателя на другой, который вовсе не был предназначен для установки в данную модель автомобиля, восклицали другие. Кто же прав? Неужели Dassault и вправду рискует потерять SolidWorks, выполнив ему пересадку абсолютно здорового сердца на новое, неизведанное? Давайте разберемся, а заодно напомним нашим читателям историю и текущее положение дел на рынке систем твердотельного моделирования.

Ядра – чистый изумруд

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

Любая САПР представляет собой набор конечно-пользовательских приложений, разделяющих общую платформу, в основе которой лежит несколько базовых технологий, как правило, реализуемых в отдельных модулях, называемых технологическими компонентами. Каждая компонента отвечает за что-то свое: создание и редактирование трехмерной модели, ее визуализацию на дисплее, параметризацию, импорт/экспорт данных в определенном формате и проч. Такие компоненты разработчики САПР либо проектируют, кодируют и поддерживают самостоятельно, либо лицензируют их у сторонних технологических поставщиков (таких как Spatial, Tech Soft 3D или ЛЕДАС). Технологические компоненты – это фундамент, на котором строится здание САПР. От этого фундамента зависит все остальное – возможности различных инструментов, их быстродействие, устойчивость к ошибкам, и даже общая интеллектуальность системы. Заложив в фундамент определенную компоненту, разработчик понимает, что впоследствии заменить ее на другую будет довольно трудно. Часто эта задача решается разборкой старого здания и строительством нового, т.е. выпуском нового поколения (не путать с очередной версией) программного продукта.

С точки зрения программиста каждая компонента – это набор библиотек с программным интерфейсом (API), который позволяет вызывать различные функции из приложения. В случае геометрического ядра речь идет об использовании базовых типов геометрических данных (точка, прямая, кривая, поверхность) и операций с ними (трансформация, проекция, пересечение), моделировании топологии граничной модели, реализации булевых операторов и типичных команд создания и редактирования трехмерных тел и поверхностей (заметание профиля, скругление ребра), построении треугольной сетки и экспорте/импорте данных в разных форматах (родном для ядра или нейтральном IGES/STEP).

Перечисление функций ядра занимает один абзац, но их реализация растягивается на десятки и сотни человеко-лет. Дело в том, что за каждой элементарной операцией (типа пересечения двух NURBS) стоит вычислительный алгоритм, реализация и отладка которого является весьма трудоемкой задачей. А таких операций в ядре – сотни (с учетом разнообразия типов данных, с которыми приходится работать). Далеко не все САПР-вендоры готовы инвестировать в таком объеме в базовую технологию и предпочитают лицензировать готовое ядро, осуществляя компании-разработчику ежегодные платежи (часто включающие определенную сумму с каждой проданной копии конечного продукта). Важно и то, что лицензированное ядро, как правило, уже было «обкатано» в других системах, поэтому обладает богатой функциональностью и высоким уровнем надежности. Наконец, выбрав стороннее ядро, поставщик САПР сможет быстрее закончить разработку своего продукта и вывести его на рынок. Иногда это время является определяющим – если опоздать с релизом на год-другой, то рынок может оказаться занятым конкурентами. Ярчайшим примером является выпуск САПР SolidWorks, ставшей первой системой параметрического твердотельного моделирования для платформы Windows. Этим же путем впоследствии пошли разработчики KeyCreator, Alibre Design, IRONCAD, MicroStation, T-FLEX, ADEM, SpaceClaim и множества других систем.

Немал и лагерь тех, кто ставит во главу угла возможность полного контроля над исходным кодом, оперативного исправления ошибок и наращивания функционала, быстрого переноса на новые платформы и готов расплачиваться за это собственными ресурсами. Этой трудной дорогой идут разработчики CATIA, NX, Creo Elements/Pro, Solid Edge, Autodesk Inventor, think3, КОМПАС-3D.

Кембридж как мировой ядерно-литейный центр

А началось все в далеком 1965 году, когда в компьютерной лаборатории Кембриджского университета было создано подразделение CAD Group. Эта команда ученых, возглавляемая Чарльзом Лэнгом (Charles Lang), проводила исследования в области создания программных средств, лежащих в основе систем MCAD/CAM. Вскоре к CAD Group присоединился Ян Брэйд (Ian Braid), который начал разрабатывать экспериментальную программу BUILD, систему геометрического моделирования на основе революционной для того времени технологии - граничного представления (BRep).

Кембриджский университет
Рис.1. Кембриджский университет.

Здесь опять придется сделать небольшое отступление, чтобы рассказать об этой инновационной технологии – ведь ныне она лежит в основе большинства современных САПР. Граничные модели хранят информацию о границах объемного тела (гранях, ребрах и вершинах), что позволяет максимально точно описать деталь и рассчитать ее объемно-массовые характеристики. Для простоты манипулирования информация в граничной модели подразделяется на геометрические и топологические данные. Геометрические данные для каждой граничной сущности свои: для вершины – ее координаты, для ребра – параметрическое уравнение пространственной кривой (чаще всего – в виде NURBS - неоднородного рационального B-сплайна), для грани – параметрическое уравнение поверхности (опять же часто в виде NURBS). Топологические данные хранят информацию о смежности вершин и ребер, ребер и граней, а также о внутренних и внешних границах грани. Для удобного манипулирования топологической информацией было предложено несколько структур данных, обобщенно называемых BRep (от англ. Boundary Representation – граничное представление). Над разработкой первой в мире граничной структуры данных, которая позволяла описывать геометрию сложной формы, как раз и трудился в Кембридже Ян Брэйд.

Ромул — царь Древнего Рима

В 1974 году ведущие участники CAD Group образуют компанию Shape Data Ltd., которая начинает разработку первого в мире коммерческого геометрического ядра ROMULUS.

Капитолийская волчица, кормящая Ромула и Рема
Рис.2. Капитолийская волчица, кормящая Ромула и Рема.

Разработка ведется на языке Fortran и основывается на идеях, обкатанных в экспериментальных программах BUILD I и BUILD II. Вскоре продается первая коммерческая лицензия на ROMULUS. Покупатель – компания Hewlett-Packard – использует ее для создания своей CAD-системы ME30 (наследником которой является CoCreate OneSpace Modeler, ныне принадлежащая компании PTC и недавно переименованная в CREO Elements/Direct). В 1981 г. Shape Data становится частью хардверной компании Evans & Sutherland (одним из основателей которой был легендарный САПР-пионер Айвэн Сазерлэнд), а в 1985 году начинает разработку пакета Parasolid – прямого наследника геометрического ядра ROMULUS.

На этого наследника довольно скоро объявился серьезный претендент – компания Unigraphics, которая к тому времени осознала, что твердотельное моделирование на основе конструктивного подхода (CSG) – тупиковый путь развития. Основной продукт Unigraphics – САПР UniSolids (ныне всем известная под именем NX и принадлежащий Siemens PLM Software), основанный на собственным CSG-ядре PADL, требовалось перевести на граничное представление твердых тел. Трезво взвесив все варианты, в 1988 г. Unigraphics полностью выкупила Parasolid-бизнес у Evans & Sutherland и начала инвестировать в разработку ядра. Годом позже был выпущен конечно-пользовательский пакет UG/Solids, полностью основанный на Parasolid, но лицензировать Parasolid сторонним разработчикам компания начала лишь с середины 1990-х, когда на время стала частью EDS.

Акид и Галатея

Вскоре после начала работы над Parasolid (активно поучаствовав в составлении соответствующего ТЗ) трое ведущих сотрудников Shape Data – Ян Брэйд, Чарльз Лэнг и Алан Грэйер (Alan Grayer) – оставляют компанию и создают собственную под названием Three-Space Ltd., которая начинает разработку принципиально нового геометрического ядра – ACIS.

Иоганн Генрих Тишбейн Старший. "Акид и Галатея", 1758
Рис.3. Акид (Acis) и Галатея. Иоганн Генрих Тишбейн Старший, 1758 (фрагмент).

Разработка идет по заказу компании Spatial Technology (США), которая намеревается использовать ACIS в собственных целях. Дик Соуэр (Dick Sowar), основавший Spatial в 1986 г., сначала планировал использовать новое ядро для своей инновационной CAM-системы Strata, основанной на твердотельном моделировании, но через несколько лет понял, что бизнес по лицензированию самого ядра другим компаниям оказался более выгодным, и свернул остальные разработки. Дик вообще больше верил в перспективы компаний, поставляющих технологии, а не конечно-пользовательские продукты, поэтому инвестировал часть своих средств в проект еще одного кембриджского ученого – Джона Оуэна (John Owen), создавшего на эти деньги D-Cubed для разработки первого в мире коммерческого решателя геометрических ограничений. В дальнейшем базировавшиеся в Кембридже разработчики Three-Space (со временем поглощенной Spatial) и D-Cubed тесно сотрудничали друг с другом, что сыграло решающую роль в развитии событий вокруг ACIS в начале нового века.

Разработка ACIS с самого начала велась на С++, первая версия вышла в 1989 г. (она работала как на UNIX-платформах, так и на MS DOS), а первым покупателем снова стала HP! Вскоре лицензии на ACIS приобрели компании Control Data и Autodesk. Последний контракт оказался для Spatial очень выгодным – компания получала по $25 с каждой проданной копии AutoCAD (в состав которого, начиная с релиза 13, неизменно входил ACIS). Спустя пару лет Autodesk поняла свою ошибку и убедила Spatial пересмотреть соглашение в сторону $6 с каждой копии плюс $1 млн. в год. Другими крупнейшими клиентами ACIS стали компании Bentley Systems и Intergraph.

Гранитный обелиск

За год до образования Spatial произошло одно знаменательное событие, которое вскоре перевернуло всю отрасль САПР: эмигрант из СССР Самуил Гейзберг основал компанию PTC (Parametric Technology Corp.) для разработки Pro/ENGINEER – первой в мире системы параметрического твердотельного моделирования на основе конструктивных элементов (использующей дерево построения для автоматической регенерации модели при внесении изменений). Pro/ENGINEER (ныне известный под именем CREO Elements/Pro) с самого начала базировался на собственном геометрическом ядре, спроектированном специально для поддержки твердотельного моделирования. Компания, впрочем, долго не решалась предложить свое ядро другим разработчикам, сделав это только в 2001 году. В это время рынок уже принадлежал ACIS и Parasolid, поэтому GRANITE (такое название получило ядро) лицензировался в основном для обмена данными с Pro/E, а не для создания собственных систем твердотельного моделирования. Такое положение это ядро занимает и поныне.

Блицкриг

Успех Pro/E (новообразованная компания уже через несколько лет стала лидером отрасли по объемам продаж, став первой в истории САПР-компанией, пробившей планку в $1 млрд. годового дохода) заставил всех конкурентов срочно реализовывать в своих системах аналогичный функционал. Самыми дальновидными оказались Джон Хёрштик (John Hirshtik) и Майкл Пейн (Michael Payne), которые, покинув PTC, в 1993 году создали собственную компанию с целью разработки аналога Pro/E для платформы Windows. Стремясь ускорить разработку, они решили не разрабатывать собственное геометрическое ядро, а использовать готовое. Испробовав ACIS, разработчики остались неудовлетворенными его функционалом (многие функции, которые правильно работали в Pro/E, в ACIS возвращали ошибки). И, поскольку, попытки Майка договориться с руководителями PTC о лицензировании их геометрического ядра окончились неудачей (PTC прозорливо видела в будущем SolidWorks своего конкурента), а реакция Spatial на указанные ошибки в ACIS его не устроила, он решил протестировать Parasolid. В результате оказалось, что на наборе разработанных тестов Parasolid показал себя много лучше ACIS, и один из главных тендеров в мире САПР был решен в его пользу. Без сомнения, в успехе SolidWorks есть немалая заслуга разработчиков Parasolid.

Путь самурая

Осознав, насколько выгодным может быть лицензирование своего ядра сторонним разработчикам, на рынок вышла японская компания Ricoh со своим продуктом Designbase. Ricoh использовала это ядро для дизайна своих фотоаппаратов, предъявляя высокие требования к сложности поверхностей. Designbase – первое ядро, в котором поверхности и твердые тела можно проектировать отдельно, легко переходя от одного представления к другому. Кроме того, Designbase использовало концепцию мета-моделирования, позволяющую автоматически создавать историю создания модели, позволяющую в дальнейшем легко проводить параметрическую модификацию геометрии. В настоящее время ядро Designbase исчезло с рынка технологических компонент, но до сих пор можно встретить САПР, основанные на нем – это система твердотельного моделирования Helix, распространяемая в Японии компанией Futjitsu, CADRA (SofTech), GMSWorks (C-Solutions) и другие.

Французская артиллерия

Французской компании Dassault Systemes пришлось догонять ушедших вперед конкурентов. Будучи одним из пионеров в области трехмерного проектирования и реализовав возможности твердотельного моделирования еще в четвертой версии CATIA (выпущенной в 1993 г.), компания – как и многие другие старожилы рынка САПР – пропустила появление Windows. Осознав, что полноценный перенос на новую платформу CATIA 4, написанной на языке Fortran и ориентированной на архитектуру UNIX, невозможен, Dassault решила создать новое поколение CATIA с нуля. Новая разработка, получившая кодовое имя CNext, в 1998 году стала известной всему миру под названием CATIA V5 (после чего потребовалось еще несколько долгих лет на доведение V5 до функционального уровня своей предшественницы). Вместо устаревшего Fortran в качестве языка программирования был выбран С++, а геометрическое ядро новой системы получило название CGM – CNext/CATIA Geometric Modeler и было написано с нуля – ни строчки кода из прежней системы в нем не было!

Французская гвардейская конная артиллерия, 1805 - 1815
Рис.4. Французская гвардейская конная артиллерия, 1805-1815.

Выпущенная в 2008 г. PLM-платформа V6 базируется на том же геометрическом ядре CGM. Все эти годы ядро непрерывно совершенствовалось и развивалось. С самого начала CGM позволяло моделировать геометрию, состоящую из многообразий разных размерности: нулевых (точки), 1-manifold (криволинейные каркасы), 2-manifold (поверхности) и 3-manifold (твердые тела), произвольно смешивая их в рамках одной модели.

Сделав ставку на новое современное ядро, Dassault выиграла – CATIA V5 и смежные PLM-продукты вывели компанию в абсолютные лидеры мирового рынка САПР (как когда-то PTC). Однако, за это пришлось заплатить высокую цену: данные, созданные в CATIA 4 (основанной на старом ядре), нельзя полноценно использовать в V5. Точнее расплатиться пришлось крупнейшему клиенту DS – концерну Airbus, который, проектируя самый большой пассажирский самолет A380 одновременно в четвертой и пятой версиях CATIA, сорвал все сроки с вводом его в эксплуатацию и понес убытки в размере $6 млрд. Причина – ошибки при переносе геометрических моделей между разноядерными САПР.

Никто и не думал, что геометрическое ядро CATIA (святая святых компании – как секрет приготовления концентрата Coca-Cola) когда-нибудь будет доступно для лицензирования. Но минувшим летом компания всех удивила, начав через свою дочернюю структуру Spatial предлагать CGM всем желающим (конечно, для этого пришлось изменить расшифровку первой буквы: “C” теперь не “CATIA”, а “Convergence”). Таким образом, последнее ядро из «большой четверки» (Parasolid, ACIS, GRANITE, CGM) стало доступно для лицензирования.

С открытым забралом

Впрочем, CGM было не единственным французским ядром твердотельного моделирования. Еще в начале 1990-х другая компания из этой страны – Matra Datavision – начала работу над средой CAS.CADE, набором компонент, лежащих в основе САПР. Первым основанным на нем продуктом стала CAD/CAM-система EUCLID QUANTUM, выпущенная Matra в 1996 г. Впрочем, особого успеха на рынка она не снискала, а в 1999 Dassault Systemes выкупила у Matra бОльшую часть САПР-бизнеса. Так как ядро CAS.CADE осталось невостребованным (у Dassault в руках уже было собственное ядро CGM), то Matra приняла решение опубликовать его исходный код и организовать сервисную компанию для обслуживания разработчиков, решившихся взять это ядро за основу своих продуктов. Так появился Open CASCADE.

Бизнес, основанный на открытом коде, давно доказал свою эффективность. Одно из подтверждений тому – судьба компании Open CASCADE SAS, которая, сменив несколько владельцев, по-прежнему продолжает свое существование: последний на сегодняшний день релиз ядра (6.4) датируется октябрем 2010 г. Помимо Open CASCADE, компания разрабатывает основанную на нем платформу для инженерных расчетом SALOME, также свободно доступную в исходном коде. Среди заказчиков преобладают европейские компании энергетического сектора.

Забил снаряд я в пушку туго

Многие другие компании подвизались на поприще разработки геометрических ядер, но заметных результатов не достигли. Можно, например, вспомнить почившую в бозе XOX Corporation со своим ядром Shapes (которое использовалось в первых версиях CADKEY, будучи затем заменено на ACIS). Американская компания IntegrityWare с 1996 г. разрабатывает набор библиотек для геометрических вычислений. С 1998 г. их распространением (под именем SMLib) занимается компания Solid Modeling Solutions, которая предлагает каждому купившему лицензию не только объектный, но и исходный код ядра вместе с правом модифицировать его в своих целях. А в 2004 г. IntegrityWare выпустила ядро геометрического моделирования SOLIDS++. Реализованное на языке программирования С++, ядро имеет модульную архитектуру, поддерживает в рамках одной модели топологию разной размерности, обладает настраиваемыми геометрическими допусками, позволяет выполнять триангуляцию модели, реализует скругления вершин со сложной топологией, может моделировать поверхности с контролем кривизны G2 и G3. Впрочем, о коммерческих САПР, созданных на этом ядре, пока ничего не известно.

Царь-пушка. Московский кремль
Рис.5. Царь-пушка. Московский кремль.

Глядя на успехи англичан, французов, американцев и японцев, отечественные разработчики не могли сидеть, сложа руки. Движение возглавила компания АСКОН, выпустившая в 2000 г. первую версию КОМПАС-3D, полностью основанную на собственном геометрическом движке. В 2002 почин поддержали в НТЦ АПМ, где создали собственное ядро APM Engine, используемое в системе твердотельного и поверхностного моделирования APM Studio. Впрочем, оба этих ядра не предлагаются для лицензирования сторонним разработчикам.

Ядерные войны

Конкуренция на рынке геометрических ядер между ACIS, Parasolid и Designbase, сложившаяся во второй половине 1990-х годов, привела к тому, что многие поставщики САПР получили возможность выбора: если они были не удовлетворены качеством используемого ядра или уровнем поддержки со стороны компании-разработчика, то могли сменить поставщика. Этой возможностью воспользовались Bentley Systems и Intergraph, переведя свои САПР – MicroStation и Solid Edge соответственно – с ACIS на Parasolid.

Компания 3D/EYE, разработчик IRONCAD, пошла еще дальше: встроив в 1995 г. в свою систему ядро ACIS, в 1999 она добавила туда Parasolid, разрешив пользователям свободно переключаться между ними! Система до сих пор сохраняет такую архитектуру, что помогает пользователям сократить затраты при работе с импортированной геометрией (созданной в другой САПР). Разные геометрические ядра обычно по-разному трактуют геометрические допуски, с разной точностью вычисляют пересечения кривых и поверхностей, в результате чего вполне корректная модель при переносе ее в систему, основанную на другом ядре, становится неработоспособной из-за многочисленных ошибок, которые приходится исправлять в полуавтоматическом режиме.

Два ядра – кто больше? Больше смогла сделать Dassault. Приобретя в 2000 г. компанию Spatial, французы получили в свое распоряжение ядро ACIS – в дополнение к CGM, лежащему в основе CATIA, и лицензированному Parasolid, работающему в составе SolidWorks. Но руководители Dassault и не думали использовать ACIS в своих САПР. Вместо этого они поставили руководить Spatial Майкла Пейна, основателя SolidWorks, которому поручили провести переговоры с Autodesk – основным лицензиатом ACIS.

Изучив дела Spatial, Майк быстро понял, почему от этого ядра отказались Bentley и Intergraph. Вот слова из его недавнего интервью Дилипу Менезесу: «Продукт был ненадежным. По возможностям он был полуфабрикатом. Клиенты были в бешенстве. Служба поддержки клиентов не существовала. Цены все были разными в зависимости от того, сколько кто-то будет в состоянии заплатить в конце квартала. И там была нулевая система проверки качества».

На встрече с руководителем Autodesk Кэрол Барц Майк пообещал исправить ситуацию. Впрочем, в самой Autodesk тогда посчитали, что Майк, напротив, шантажирует их, угрожая вовсе прекратить развитие ядра, если Autodesk не примет предложение Dassault стать реселлером SolidWorks, убрав с рынка свой конкурирующий продукт Inventor. В результате Autodesk воспользовалась условием лицензионного соглашения и после единовременной выплаты $6.5 млн. получила в свое распоряжение исходный код ACIS. Взяв его за основу, компания приступила к разработке собственного геометрического ядра, получившего название Shape Manager. Ответ на вопрос, где взять квалифицированных программистов для этой специфической работы, долго искать не пришлось – конечно в Кембридже, где же еще! Заключив соглашение с D-Cubed, Autodesk отдала эту разработку на аутсорсинг фактически авторам ACIS (разобраться в генетических связях Spatial и D-Cubed практически невозможно; можно лишь сказать, что компании тесно сотрудничали с 1986 г., а их ключевые сотрудники работали рука об руку в той самой CAD-лаборатории Кембриджского университета). Spatial подала на Autodesk в суд, но проиграла. Таким образом, кембриджское дерево принесло свой пятый плод (BUILD, ROMULUS, Parasolid, ACIS, Shape Manager) – потрясающая продуктивность!

Ядерные войны на этом закончились. А ядро ACIS, кстати, вполне успешно развивается в рамках Dassault. Регулярно выходят новые релизы, наращивается функционал по поддержке прямого редактирования геометрии. Неутомимый Майк Пейн, покинув Dassault, основал SpacaClaim, построив систему в этот раз не на Parasolid, а на ACIS. И благодаря личному знакомству разработчиков двух компаний, у них получилась отличная совместная работа, результатом которой теперь могут воспользоваться все клиенты Spatial. Не случайно, большинство систем прямого моделирования (SpaceClaim, KeyCreator, IRONCAD и частично Creo Elements/Direct) построены на ACIS.

Зал боевой славы

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

ЯдроДоступно сРазработчикСАПР, основанные на ядре
ROMULUS1982Shape DataHP ME30, CAM-I A
Designbase1986RicohCADRA, Helix, ICAD, GMSWorks
ACIS1989Spatial (Dassault Systemes)ADEM, Alibre Design, Bricscad, Creo Elements/Direct (частично), IRONCAD, KeyCreator, TurboCAD, SpaceClaim
Parasolid1989Siemens PLM SoftwareIRONCAD, KeyCreator, MicroStation, NX, Solid Edge, SolidWorks, T-FLEX
SMLib1998Solid Modeling Solutions?
Open CASCADE1999OPEN CASCADE (Areva)CAD-Schroer, FreeCAD
GRANITE2001PTCCreo Elements/Pro (Pro/Engineer)
SOLIDS++2004IntegrityWareRhino (частично)
CGM2010Dassault SystemesCATIA V5, V6, SolidWorks V6

А теперь вернемся к ответу на вопрос, чем грозит SolidWorks пересадка геометрического ядра. Технически замена ядра несложна. Все ядра реализуют примерно одинаковый набор функций, используют похожие модели данных и алгоритмы, поэтому разработчики справятся с этой задачей в разумный срок. А вот пользователям такая пересадка ничего хорошего не сулит. Любой, кто сталкивался с проблемой переноса данных между разноядерными САПР (NX и CATIA, SolidWorks и Inventor, КОМПАС-3D и T-FLEX), хорошо знает, насколько это трудоемко. Даже с использованием специальных инструментов для трансляции и «лечения» CAD-моделей эта операция грозит занять существенную часть времени ваших сотрудников. Несложно предсказать, что переносить данные из SolidWorks V1 в SolidWorks V6 будет так же сложно, как сейчас переносить данные между SolidWorks и CATIA. К счастью, Dassault не собирается убирать с рынка SolidWorks V1, обещая, что по крайней мере несколько лет они будут существовать одновременно – один под управлением Windows, а другой в облаках. Возможно, такое разделение лучше поможет постепенной миграции пользователей с одной платформы на другую.

Отметим еще, что перевод SolidWorks с ядра Parasolid на CGM свидетельствует о том, что Dassault планирует всерьез развивать этот продукт и дальше - в течение многих лет. Это хороший сигнал всем пользователям SolidWorks. Учитывая ресурсы, которые французская компания инвестирует в исследования и разработки (заметная их доля тратится на CGM и другие базовые технологии), SolidWorks от такого перехода однозначно выиграет. А Dassault устранит нежелательную технологическую зависимость от своего прямого конкурента.

Комментариев: 15
id 610     6 февраля 2011, 15:03
 Евгений Ширинян
У меня назрел давний вопрос - в том же райно модель крутится куда быстрее, чем в автокаде. Связано ли это с ядром, если нет, то с чем. Видеокарта одна-то

Ответить   Цитировать выделенное

id 612     6 февраля 2011, 15:42
 Владимир Малюх
Цитата из Евгений Ширинян

У меня назрел давний вопрос - в том же райно модель крутится куда быстрее, чем в автокаде. Связано ли это с ядром, если нет, то с чем. Видеокарта одна-то




Евгений, проcто есть хорошо написанные программы, а есть не очень  

У Дилипа Менезеса есть хорошая серия публикаций по сравнению визуальной производительности разных 3D пакетов:

http://www.deelip.com/?p=2730

Что касается AutoCAD - там намудрено много. NVIDIA даже выпускает специальный драйвер для серии QUADRO -
NVIDIA AutoCAD Perfomrance Driver

Ответить   Цитировать выделенное

id 616     7 февраля 2011, 10:27
 Дмитрий Ушаков
Визуализация трехмерной модели на плоском экране не является функцией геометрического ядра. Ядро отвечает лишь за тесселяцию (перевод NURBS-геометрии граничной модели в набор треугольников), а визуализация треугольников осуществляется посредством GDI/DirectX/OpenGL (кроме того, есть высокоуровневые пакеты для высокопроизводительной визуализации трехмерных сцен посредством GPU - HOOPS и Redsdk).

В AutoCAD используется HOOPS, насколько мне известно, а Rhino напрямую работает с OpenGL.

Ответить   Цитировать выделенное

id 617     7 февраля 2011, 16:44
 Евгений Ширинян
Тогда видео на сайте Дилипа (мерси за ссылку!) демонстрируют сравнение производительности по каким исходным данным - GDI/ DirectX/ OpenGl и др(у дорогих пакетов)?
Тот же OpenGl, как мне известно, в Архикаде ответственен за бодрую прокрутку модели, следовательно в AutoCAD, SW и т.д. используются те самые высокоуровневые пакеты? Т.е. провал Райно в видеотесте Дилипа получается из-за OpenGl?

PS/ Простите за примитивные вопросы, просто для меня это актуально очень

Ответить   Цитировать выделенное

id 619     7 февраля 2011, 18:46
 Владимир Малюх
Цитата из Евгений Ширинян

Тогда видео на сайте Дилипа (мерси за ссылку!) демонстрируют сравнение производительности по каким исходным данным - GDI/ DirectX/ OpenGl и др(у дорогих пакетов)?



По тому, что используют сами пакеты по умолчанию.


Т.е. провал Райно в видеотесте Дилипа получается из-за OpenGl?PS/ Простите за примитивные вопросы, просто для меня это актуально очень



В Rhino много чего понастраивать касательно OpenGL в Display Settings может уронить скорость визуализации в разы. Да дадже без OpenGL- число Isocurve уже влияет на скорость отрисовки. Ребята из МаНил все это объяснили Дилипу - у него есть более поздний пост тюнинге рино.

Ну и - в 5-й версии Rhino все гораздо лучше:

http://www.deelip.com/?p=2758

Ответить   Цитировать выделенное

id 621     7 февраля 2011, 20:38
 Евгений Ширинян
Да я даже подумал, что Дилип и так знает про эти настройки... Настроить триангуляцию NURBS в Райно очень удобно, ровно как и сам перевд в меш. С тяжлыми моделями легче справляться.

Ответить   Цитировать выделенное


Поля, помеченные * обязательны для заполнения

  Имя *

  e-mail

  web

Вы можете ввести не более 3000 символов, осталось:

Введите
первые 3 символа:

 *

Обновить



    

Комментарии:
29 января 2011, 17:24
 Евгений Ширинян
Т.е. получается, что если я открываю модель в двг в райно и там "глючат" сопряжения( например, раковина), а в автокаде все ок, значит проблема в ядрах? Мне казалось, что у них одинаковые.... ACIS

Ответить   Цитировать

29 января 2011, 17:43
 Владимир Малюх
Нет, в Rhino не ACIS, у них свой геометрический движок, строго говоря - не твердотельный, а поверхностный, основанный на NURBS.

Для переноса в Rhino из AutoCAD, Inventor, Revit, SolidWorks и т.д. я бы посветовал экспортировать модель в нейтральный формат, лучше всего в STEP, и уже его читать в Rhino.

Ответить   Цитировать

29 января 2011, 17:48
 Владимир Малюх
Появилась дополнительная информация о будщем SolidWorks V1 и V6
http://www.deelip.com/?p=5510

Смыслл, вкратце, таков - будущая SW для десктопов (необлачная) также булет базироваться на CGM, а не на Parasolid. Возможно 2012 будетпоследней версией с Parasolid.

Ответить   Цитировать

29 января 2011, 20:00
 Владимир Талапов
Да, как мы, в сущности, еще далеки до безъядерного мира...

Ответить   Цитировать

29 января 2011, 22:25
 Владимир Талапов
Может действительно, как советуют старые, опытные охотники, уйти в 2D, там ядер нет, и спокойно жить?

Ответить   Цитировать

30 января 2011, 0:35
 Vasiliev Anton
Не совсем согласен с точкой зрения, что Fortran является устаревшим языком. Этот устаревший язык до сих пор успешно развивается и используется во многих инженерных приложениях. Добрая половина CAE пакетов для расширения своих возможностей предлагает использовать модули написанные на фортране. Другое дело, что этот язык уже давно сошел с позиции общеупотребительного, которые на момент создания v5 усилено захватывал С/С++. Таким образом сейчас фортран из стал уделом скорее научной школы. Впрочем сейчас в программировании происходит очень быстрая смена любви к различным языкам и некоторые даже общеупотребительный С++ называют устаревшим.

Ответить   Цитировать

30 января 2011, 10:55
 Дмитрий Ушаков
Цитата из Владимир Малюх
Нет, в Rhino не ACIS, у них свой геометрический движок, строго говоря - не твердотельный, а поверхностный, основанный на NURBS.

Геометрическое ядро Rhino основано (по крайней мере, частично) на компонентах IntegrityWare, ныне являющихся частью SOLIDS++. Упоминание об этом можно найти на сайте IntegrityWare. В ядре Rhino есть возможности твердотельного моделирования. Конечно, не такие развитые, как в ACIS/Parasolid, но управление структурой BRep и булевы операции над твердыми телами там есть. Я добавил упоминание Rhino в таблицу в статье.

Для переноса в Rhino из AutoCAD, Inventor, Revit, SolidWorks и т.д. я бы посветовал экспортировать модель в нейтральный формат, лучше всего в STEP, и уже его читать в Rhino.

Не всегда это помогает - если модель не является "водонепроницаемой" с точки зрения определенного ядра, она останется такой и при переносе в STEP.

Ответить   Цитировать

30 января 2011, 11:06
 Дмитрий Ушаков
Цитата из Vasiliev Anton
Не совсем согласен с точкой зрения, что Fortran является устаревшим языком. Этот устаревший язык до сих пор успешно развивается и используется во многих инженерных приложениях.

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

Конечно, и для Fortran остались какие-то ниши. Как есть они и у новых языков (Java, VBA, C#). Но серьезной альтернативы С++ в промышленных разработках технологических компонент для САПР пока не видно.

Ответить   Цитировать

31 января 2011, 14:02
 Евгений Ширинян
Спасибо за ответ!

Ответить   Цитировать

6 февраля 2011, 15:03
 Евгений Ширинян
У меня назрел давний вопрос - в том же райно модель крутится куда быстрее, чем в автокаде. Связано ли это с ядром, если нет, то с чем. Видеокарта одна-то

Ответить   Цитировать

6 февраля 2011, 15:42
 Владимир Малюх
Цитата из Евгений Ширинян
У меня назрел давний вопрос - в том же райно модель крутится куда быстрее, чем в автокаде. Связано ли это с ядром, если нет, то с чем. Видеокарта одна-то



Евгений, проcто есть хорошо написанные программы, а есть не очень  

У Дилипа Менезеса есть хорошая серия публикаций по сравнению визуальной производительности разных 3D пакетов:

http://www.deelip.com/?p=2730

Что касается AutoCAD - там намудрено много. NVIDIA даже выпускает специальный драйвер для серии QUADRO -
NVIDIA AutoCAD Perfomrance Driver

Ответить   Цитировать

7 февраля 2011, 10:27
 Дмитрий Ушаков
Визуализация трехмерной модели на плоском экране не является функцией геометрического ядра. Ядро отвечает лишь за тесселяцию (перевод NURBS-геометрии граничной модели в набор треугольников), а визуализация треугольников осуществляется посредством GDI/DirectX/OpenGL (кроме того, есть высокоуровневые пакеты для высокопроизводительной визуализации трехмерных сцен посредством GPU - HOOPS и Redsdk).

В AutoCAD используется HOOPS, насколько мне известно, а Rhino напрямую работает с OpenGL.

Ответить   Цитировать

7 февраля 2011, 16:44
 Евгений Ширинян
Тогда видео на сайте Дилипа (мерси за ссылку!) демонстрируют сравнение производительности по каким исходным данным - GDI/ DirectX/ OpenGl и др(у дорогих пакетов)?
Тот же OpenGl, как мне известно, в Архикаде ответственен за бодрую прокрутку модели, следовательно в AutoCAD, SW и т.д. используются те самые высокоуровневые пакеты? Т.е. провал Райно в видеотесте Дилипа получается из-за OpenGl?

PS/ Простите за примитивные вопросы, просто для меня это актуально очень

Ответить   Цитировать

7 февраля 2011, 18:46
 Владимир Малюх
Цитата из Евгений Ширинян
Тогда видео на сайте Дилипа (мерси за ссылку!) демонстрируют сравнение производительности по каким исходным данным - GDI/ DirectX/ OpenGl и др(у дорогих пакетов)?


По тому, что используют сами пакеты по умолчанию.


Т.е. провал Райно в видеотесте Дилипа получается из-за OpenGl?PS/ Простите за примитивные вопросы, просто для меня это актуально очень


В Rhino много чего понастраивать касательно OpenGL в Display Settings может уронить скорость визуализации в разы. Да дадже без OpenGL- число Isocurve уже влияет на скорость отрисовки. Ребята из МаНил все это объяснили Дилипу - у него есть более поздний пост тюнинге рино.

Ну и - в 5-й версии Rhino все гораздо лучше:

http://www.deelip.com/?p=2758

Ответить   Цитировать

7 февраля 2011, 20:38
 Евгений Ширинян
Да я даже подумал, что Дилип и так знает про эти настройки... Настроить триангуляцию NURBS в Райно очень удобно, ровно как и сам перевд в меш. С тяжлыми моделями легче справляться.

Ответить   Цитировать

Все права защищены. © 2004-2024 Группа компаний «ЛЕДАС»

Перепечатка материалов сайта допускается с согласия редакции, ссылка на isicad.ru обязательна.
Вы можете обратиться к нам по адресу info@isicad.ru.