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

Статьи

15 октября 2010

Синхронная технология: попытка № 3

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

В одну телегу впрячь не можно
Коня и трепетную лань.
Забылся я неосторожно:
Теперь плачу безумствам дань...

А.С. Пушкин, «Полтава»

Редакция портала isicad.ru регулярно выделяет ресурсы на тестирование новых возможностей последних версий популярных САПР и не менее регулярно делится с читателями своими выводами о них (см., например, «3D шагает в массы с AutoCAD 2011», «Новинки в Inventor 2011», «Онлайновый КОМПАС — в руках isicad»). Мы давно хотели написать обзор возможностей Solid Edge с синхронной технологией. К сожалению, наша попытка получить ознакомительную лицензию на этот продукт успехом не увенчалась: представители российского офиса Siemens PLM Software отказались выдать нам такую лицензию, указав на то, что сотрудники редакции isicad.ru одновременно работают в компании ЛЕДАС, которая продает свои технологии и услуги многим САПР-вендорам, включая конкурентов Siemens. (Надо заметить, что это не мешает Siemens плодотворно сотрудничать с нашим порталом, размещая у нас собственные рекламные и информационные материалы.)

К счастью, Siemens отказывает далеко не всем желающим протестировать его ПО. В частности, это удалось сделать Дилипу Менезесу, главе компании SYCODE (которая, кстати, в силу специфики разрабатываемых продуктов — модулей трансляции данных — находится в самых тесных контактах со всеми разработчиками САПР) и известному блогеру, активному участнику недавнего форума isicad-2010/COFES-Россия. Дилип выразил свои ощущения от Solid Edge ST3 (третьей реинкарнации синхронной технологии) в серии из 12 постов в своем блоге.

Информации, которой он поделился со своими читателями, достаточно, чтобы сделать выводы об ST3, что я и попытаюсь сделать ниже. Возможно, эта публикация побудит компанию Siemens все-таки предоставить нашей редакции ознакомительную лицензию на Solid Edge.

Синхронная технология третьего поколения

Итак, согласно Дилипу (Menezes 2010), дерево конструктивных элементов в новой версии Solid Edge ST3 претерпело существенные изменения. Теперь оно состоит из трех частей: упорядоченные элементы (Ordered), синхронные элементы (Synchronous) и упрощенное представление (Simplify). Первая часть традиционна для всех систем, которые следуют концепции Семена Гейзберга, впервые реализованной в Pro/Engineer (и повторенной затем в CATIA, NX, Solid Edge, SolidWorks, Inventor и многих других САПР). Это обычные параметрические конструктивные элементы (плоские эскизы, построенные на их основе призмы, отверстия, фаски, скругления, карманы и т.п.) Все они образуют упорядоченное дерево, которое отражает историю их создания и зависимость друг от друга. Редактировать такие элементы можно с помощью специальных диалоговых форм (например, у отверстия можно изменить тип, диаметр, глубину, местоположение). Все это хорошо известно профессиональным пользователям машиностроительных САПР.

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

Третья часть дерева Solid Edge (Simplify) содержит упрощенное представление модели, с помощью которого из модели можно легко удалить любую грань, регион, отверстие или скругление. К концепции деления элементов на упорядоченные и синхронные эта часть отношения не имеет.

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

Дилип в своем блоге цитирует Дэна Стэплза (Staples 2008), директора по разработке Solid Edge, который указывает на ряд ключевых отличий синхронных элементов от упорядоченных. В частности, синхронные элементы не основываются на плоском эскизе. Точнее, такие элементы как призма, конечно же, строятся по эскизу, но затем их можно параметрически модифицировать, не меняя самого эскиза — это в корне отличается от традиционного подхода, который требует модификации исходного эскиза для изменения формы основания призмы. Благодаря отсутствию связи с эскизом, синхронный элемент можно свободно перемещать по модели, перенося его на другие грани, что, безусловно, является одним из важнейших преимуществ этого подхода.

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

Из такого описания ясно следует, что синхронный элемент — это такой набор граней тела, в котором автоматически обеспечивается сохранение геометрических связей между ними. Как разработчики Siemens добились этого? У меня есть собственная гипотеза на этот счет, подробнее о которой — ниже.

Процедурные и декларативные элементы

Вообще, идея двух представлений конструктивных элементов не нова. В монографии Shah & Mantyla 1995 описываются два подхода к представлению параметрических конструктивных элементов: процедурный и декларативный. В рамках первого, каждый конструктивный элемент кодируется на процедурном языке и комбинирует определение свойств элемента и его отношений с другими элементами с процедурами для вычисления этих свойств и отношений. При декларативном определении конструктивные элементы задаются на непроцедурном языке, где спецификация свойств и отношений отделена от их вычисления. В частности, в рамках декларативного подхода свойства конструктивного элемента и его отношения с другими могут задаваться с помощью правил и ограничений.

В обоих случаях, конструктивные элементы (features) не заменяют собой геометрию, а лишь дублируют ее на более высоком уровне. Геометрия всегда создается и поддерживается в рамках системы геометрического моделирования (мы знаем, что Siemens использует Parasolid — одну из первых коммерческих систем геометрического моделирования на основе граничного представления геометрии, разработанную компанией ShapeData в 1988 г.), а конструктивные элементы служат высокоуровневым интерфейсом между конечным пользователем и геометрическим ядром.

Упорядоченные элементы Solid Edge ST3 очевидно реализуют традиционный процедурный подход. По сути, упорядоченная часть дерева этой системы представляет собой инструкцию для построения геометрии: последовательный вызов процедуры построения для каждого элемента в дереве в соответствии с их порядком позволяет обновлять модель при изменении параметров. По другому обстоит дело с синхронными элементами.

Я имею основания подозревать, что синхронные элементы Siemens реализуют декларативный подход, в рамках которого свойства элемента и его отношения с другими задаются с помощью геометрических ограничений (скрытых от конечного пользователя), а вычисление этих свойств и отношений (при модификации элемента) происходит с помощью решения системы ограничений (у Siemens есть соответствующие технологии для этого — решатели D-Cubed, связь которых с синхронной технологией упоминается в пресс-релизах компании).

В своей монографии Shah и Mantyla описывают следующие области использования ограничений для задания конструктивных элементов:

  • зависимости внутри элемента,
  • композитные зависимости для задания шаблонов (например, расположения одинаковых отверстий по кругу с заданным шагом),
  • зависимости между элементами в рамках детали,
  • зависимости между деталями в сборке.

Все ограничения классифицируются на две группы — для задания ориентации элемента (параллельность, перпендикулярность, заданный угол, копланарность, соосность) и для задания положения (расстояния). Таким образом, синхронный элемент Siemens — это скрытый от пользователя набор геометрических и размерных ограничений, связывающих подмножество граней тела (графически представляющих соответствующий элемент) между собой и с гранями других элементов.

Что происходит при прямом редактировании этих граней (перетаскивании их с помощью «мышки» в новое положение)? При таком перемещении должна вызываться процедура динамического решения ограничений, которая обеспечивает в каждый момент времени сохранение конструктивной концепции элемента.

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

О том, как успешно можно применять геометрические и размерные ограничения для параметризации трехмерных тел в граничном представлении, мы в компании ЛЕДАС знаем непонаслышке. Такой подход мы развиваем в рамках своей технологии вариационного прямого моделирования (Ushakov 2008). Наша идея состоит в том, что конечный пользователь работает непосредственно с геометрией — без промежуточного уровня в виде конструктивных элементов. В частности, наш пользователь может вручную задать любое геометрическое или размерное ограничение между любыми элементами модели без истории построения. Еще важнее то, что наша система способна автоматически распознавать большинство геометрических ограничений (параллельность, перпендикулярность, копланарность, соосность, касание, равенство расстояний и радиусов) и учитывать их при операциях прямого редактирования модели. Желающие могут загрузить свежую бета-версию плагина RhinoDirect и убедиться в том, насколько эта концепция проста в использовании и как сильно она экономит время, необходимое для внесения в модель параметрических изменений с сохранением ее конструктивной концепции.

Но вернемся к Solid Edge ST 3.

Как сочетать два подхода в рамках одной системы?

Итак, пользователь Solid Edge ST3 стоит перед выбором: создавая очередной конструктивный элемент, он может сделать его традиционным (упорядоченным) способом или синхронным. Этот выбор очень важен, и вот почему. В Solid Edge ST 3 конструктивные элементы можно переносить из упорядоченной части дерева в синхронную.

Действительно, концептуально в этом нет ничего сложного — просто автоматически меняется способ определения элемента: от процедуры построения система переходит к набору геометрических и размерных ограничений на граничных элементах. Проблема в том, что обратная операция невозможна: любой элемент в упорядоченной части дерева имеет свое место в иерархии — такова природа процедурного подхода, в то время как все синхронные элементы равноправны, они могут образовывать не только иерархические, но и циклические зависимости (последнее, впрочем, нуждается в проверке, которую мы сделать не можем в силу отсутствия лицензии на Solid Edge).

Кстати, и прямой перенос не так прост и очевиден для пользователя — дело в том, что при переносе элемента из упорядоченной части в синхронную Solid Edge автоматически переносит вслед за ним все родительские элементы (от которых зависит переносимый). Это косвенно говорит о том, что синхронная часть модели в Solid Edge обрабатывается до упорядоченной части.

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

Зависимости между параметрами

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

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

Мы в компании ЛЕДАС считаем, что параметрическое моделирование с помощью формул слишком ограничивает пользователя в выразительных возможностях. В частности, далеко не все зависимости можно выразить в явном виде, ведь в общем случае параметры могут быть связаны неявным уравнением (например, x^2+y^2=1) или даже системой уравнений. Более того, четкое выделение в каждой формуле лишь одного выходного параметра вынуждает пользователя полностью переделывать спецификацию при переходе от прямой задачи к обратной. В рамках технологии вариационного прямого моделирования инженерные переменные могут связываться друг с другом не формулами, а уравнениями. При этом не будет никаких ограничений на отсутствие циклических зависимостей между параметрами, равно как не потребуется переписывать уравнения при изменении набора входных параметров задачи.

Заключение

Давайте задумаемся над тем, что на самом деле получили пользователи Solid Edge с синхронной технологией. С одной стороны, разработчики Siemens реализовали весьма мощную и простую в использовании концепцию конструктивных элементов с декларативным заданием свойств (такие элементы они называют синхронными). Хотя самой концепции декларативных элементов на основе ограничений уже почти двадцать лет (см. Balakrishnan 1993 и Ali 1994), в популярном коммерческом продукте она была реализована впервые.

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

С другой стороны, попытка представить в одном дереве элементы двух типов (процедурные и декларативные, т.е. упорядоченные и синхронные в терминах Siemens) выглядит ненужным усложнением для пользователя. Одним махом специалисты Siemens добились того, что дерево стало выглядит в два раза сложнее, с нетривиальной семантикой копирования элементов между разными его частями (что-то можно скопировать, что-то нельзя, что-то потянет за собой другие элементы и т.п.) Возможно, разработчиками двигало желание помочь пользователям, привыкшим к традиционному подходу на основе истории построения, освоить новую синхронную технологию. Возможно, в следующих версиях Solid Edge упорядоченная часть дерева исчезнет навсегда. Ведь единственным преимуществом подхода на основе истории построения перед подходом на основе ограничений является скорость пересчета модели при изменении параметров. Однако, с развитием методов решения ограничений и появлением все более производительных компьютеров это преимущество сходит на нет и остаются одни недостатки: невозможность задания циклических зависимостей между параметрами, необходимость повторного проектирования модели при отсутствии в дереве нужного параметра, ограниченность средств прямого редактирования модели.

За синхронной технологией будущее, но зачем это будущее подавать в одной связке с устаревшим аппаратом параметрического моделирования на основе истории? Эти два подхода очень плохо стыкуются друг с другом из-за серьезных концептуальных различий, в результате комбинированное решение получается противоречивым и неестественным для пользователя. Не получится ли так, что Siemens разочарует своих пользователей чрезмерной сложностью комбинированного решения? Не лучше ли было оставить синхронную технологию в чистом виде — без какой-либо связи с традиционным подходом? Теперь ответов на эти вопросы мы не узнаем, зато своим решением Siemens открыл дорогу другим вендорам, которые могут предпочесть иные стратегии вывода аналогичного аппарата на рынок. Поживем — увидим. Мы в компании ЛЕДАС намерены принять активное участие в этом процессе.

Библиография

Добавить комментарий

Комментарии:

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

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