суббота, 27 ноября 2010 г.

Параметризация. Часть 1. Классификация уровней

Наверное хватит уже ходить вокруг да около (часть 1, 2, 3, 4, 5, 6, 7, 8)и травить душу байками. МОзги пищи просят, а их тут запахами кормят. Так недолго и слюной захлебнуться. Так что сегодня начну теоретизировать.
image
Для начала, отошлю к давнешнему посту о классификации CAD систем. После того как обновленны в памяти моменты связанные с уровнем CAD систем и их направленностью, можно перейти к уровням параметризации. За основу была взята классификация из материалов по BMX (Behevioral Modelin eXtension) в ProE. Встречайте в доработанном виде:
0. Без параметризации (No Parametric)
1. “Умные модели” (Smart Models)
2. Объектно-управляеммое моделирование (Objective Driven Design)
3.  Моделирование на базе правил/условий (Rule-Based Design)
4. Открытая расширяемая среда (Open eXtensible Enviroment)
0. С нулевым уровнем у нас все просто - это “кирпич”. Классическим представителем является импортированная геометрия. Про Direct Modeling поговорим отдельно.

1. “Умные” модели. Для начала скажу, что это вольный перевод, а на самом деле слово Smart имеет множество значений: толковый, интеллектуальный, управляемый, дерзкий, наглый, ловкий, хитрый, опрятный, аккуратный, и даже: сильная боль (от удара, раны и т. п.) горе, несчастье, печаль. Те кто не верит в параметризацию наверное скажут что это горе-модель ;) Те кто верят, посчитают что от таких моделей есть толк, значит толковая модель. Любители маркетинга назовут ее же интеллектуальной моделью. Ну а просто логики прочитав дальнейшее описание скажут, что лучше всего подходит  “управляемая модель”. Впрочем у нас слово Smart чаще всего ассоциируется с переводом умный, потому я не стал отходить от такой привычки. Отложим лингвистику и вернемся к описанию. Данный уровень параметризации подразумевает, что у нас есть какая-то стандартная геометрия, в ней есть ряд размеров, они же являются параметрами. Меняем размеры получаем геометрию нужного типорозмера.clip_image002
2. Объектно-управляемая модель. Кроме численных параметров, появляются конструктивные. С одной стороны это кажется просто Feature-based modeling (моделирование на основе фичеров [конструктивных элементов]), к которому все привыкли (Extrude, Revolve ….), с другой стороны это лишь простейший вариант. В таком простейшем варианте мы получаем возможность управлять формой моделируемого объекта активизацией/исключением из расчета отдельных фичеров. Таким образом можем получить варианты геометрии отличающиеся не только размерами, но и видом:
clip_image002[4]
В более сложном варианте под объектами могут пониматься не только относительно простые операции (Extrude, Revolve, Sweep, Shell, Loft/Blend, Round...) но и их более сложная комбинация. Например такой объект, как отверстие, в зависимости от параметра указывающего тип отверстия дает следующие вариации геометрии:
clip_image002[6]
Сюда же можно отнести методы моделирования основанные на гибридных техниках (листовой метал, трубопроводы, сварные конструкции и пр..), а также различные объекты позволяющие создавать конструктив из набора технологических операций (пазы, проточки, лыски, окна, канавки и пр...)

3. Управление на базе условий/правил. На этом моменте следует остановиться чуть подробнее. С одной стороны он частично совпадает с 1 и 2, ведь размеры это какое-никакое условие, а комбинация различных простейших операций в боле сложные без правил не возможна, т.е. вроде бы этот уровень просто обобщает первые два уровня параметризации. А с другой стороны есть и отличия. Отличие заключается в том, что начинает присутствовать логическая составляющая. Логика может выступать в создании взаимосвязей между различными размерами и параметрами
рис болт с полными размерами и только с двумя
между разными объектами (например совпадение диаметров сопрягаемых деталей) тем самым она как бы уменьшает размерность пространства параметров. И в то же время, с другой стороны она может добавлять дополнительную размерность в пространство параметров позволяя менять не конструктив.  Хорошим примером тут является классическое If-Then-Else. На пример если (If) диаметр болта меньше 5 мм то  (Then) вырез под ключ должен быть в форме звездочки, иначе (Else) 5 и более то шестигранник:
clip_image002[8]
Как видно из примера проще всего подобное реализовать на базе исключения из расчета ненужной операции и активации нужной.
О том что такое размерность пространства параметров, отчего оно зависит, что его увеличивает, что уменьшает и пр., мы поговорим чуть позже. Пока же продолжим. Типовыми примерами параметризации на базе условий являются уравнения/выраженя (Equation, Expressin) и конфигурации/исполнения/версии (Configuration/Version). Также к условиям, в принципе,  можно отнести и геометрические взаимосвязи.
Что же касается таблиц (таблицы семейств, таблицы конфигураций, таблицы параметров и пр.) то это лишь одна из наиболее удобных форм работы с множественными конфигурациями и версиями.
4. Последний в данной классификации , уровень параметризации, переводится в стиле: “открытая расширяемая среда”. Общий смысл этого уровня состоит в том, что мы добавляем в качестве параметров то, на что геометрия изначально не планировалась. Т.е. например:
  • вводим какие-то физические условия (привет BMX’у),
  • или непосредственно меняем модель в обход ее параметров, а может даже и вообще без них (привет Direct Modeling’у и Synchronous Technology)
  • или система сама модифицирует конструктив ориентируясь на опыт предыдущих подобных разработок (привет Knowledge Base) 
К сожалению нормальную картинку, на которой было бы хорошо видно принципы работы Катишного модуля для KBE - Knowledgeware я так и не нашел. Потому взял картинку из САПРи Графики В комментариях к ней говорится, что серенькое на зелененьком, это изоляция, которую умная база знаний сама добавила на трубы в тех местах где они подвергаются высокотемпературному воздействию.
К сожалению у большинства приведенных картинок есть минус. Он состоит в том, что практически любые картинки можно реализовать с помощью двух первых уровней параметризации (максимум придется сделать поверх легкий налет “третьего уровня”). А это значит что людей со вторым мнением на базе такой классификации и картинок переубедить не удастся. Единственная польза от них состоит в том, что, если Вы относитесь к апологетам второго мнения, приведенные примеры, возможно, могут заставить Вас проанализировать собственные задач  и увеличить количественные показатели использования параметризации в Вашей работе.
Еще одной проблемой является то, что без использования программирования третий и четвертый уровень параметризации  больше всего подходят к CADам верхнего уровня (по стандартной классификации)- ProE, NX, CATIA... либо к специфическим CAD’ам - IronCAD, SolidThink и пр..
Можно ли сделать параметризацию учитывающую не только геометрические, но и физические параметры без программирования в CAD среднего уровня? Можно! Возвращаясь к тому же бедному редуктору, Вы вполне можете сделать сборку которая будет меняться от того какие Вы ей подадите на вход данные (момент, обороты, ресурс). Но! В алгоритме проектирования есть точки принятия решений и без программирования, либо придется плодить параметры, либо у нас всегда будут выбираться одни и те же “вещи” (к примеру нельзя будет поменять тип упрочнения). Это было во первых. А во вторых, уже на третьем уровне параметризации тот же SolidWorks уже затыкается. К примеру, чтобы применились новые параметры недостаточно нажать Rebuild Model (даже если не один раз), необходимо открыть на редактирование все компоненты. Конечно, это все равно быстрее, чем с нуля все собирать, но даже 50 компонентов так перебрать… это ж сколько терпения нужно? Особенно если это придется делать не один раз… По сему в рамках «основ параметризации» я ограничиваюсь третьим уровнем, но при этом даю еще и зачатки программирования под SW, чтобы автоматизировать некоторую рутину.
Дальнейшее повествование начнем с понедельника.
Related Posts Plugin for WordPress, Blogger...
Rambler's Top100