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

Жизнь в движении

Итак, был вопрос:

«Было бы очень интересно почитать про моделирование сборок на основе эскизов и анализ, таким образом, построенных механизмов»

Немного задержался я с ответом, да и сейчас не смогу сразу ответить в полной мере, но постараюсь.

image

Одной из наиболее распространенных техник по работе со сборками сверху-вниз является работа на базе управляющих эскизов. В принципе, на данный момент среди наиболее распространенных CAD систем сложнее назвать те которые не позволяют работать таким образом, чем те, которые позволяют. В то же время функционал и принципы работы немного отличаются. Тех кто работает в Autodesk Inventor я сразу пошлю по известному адресу. ;) Ну, по крайней мере, мне известному, а раз я его напишу то, и стало быть, Вам он тоже станет известным. Итак, не смотря на то, что подобная техника не слишком часто освещается в открытом доступе в нормальном виде ресурс TEDCF Publishibg, которые являются Solution Partner у SolidWorks и Authorized Developer у Autodesk, выложил «кусочек» своего курса в качестве рекламы. Кусочек на самом деле не такой уж и маленький, если я все правильно помню, всего там семь видео уроков общей длительностью около часа. В принципе даже если Вы не работаете с Inventor посмотреть видео стоит – основные принципы везде одинаковые. Пояснения к видео, естественно, англоязычные. Дикция могла бы быть и получше, но в целом вполне понятно. Впрочем критикуя дикцию, мне лучше бы помолчать.

 

Если Вы планируете использовать SolidWorks то, первым делом следует обратиться к справке. Вернее к ее интерактивным примерам.

 

Что касается других программ. В Pro/ENGINEER эта техника называется skeleton. Боле подробно можно посмотреть с помощью следующего ролика. Техника моделирования сверху вниз на простом, но неплохом примере, рассмотрена тут часть 1, часть 2. Компасом можно реализовать нечто похожее на оба подхода, но об этом позже. Что касается того же Solid Edge и NX, мы его в учебный процесс только начали внедрять так, что не скажу. По идее оба подхода вполне реализуемы, но это надо смотреть более подробно. Catia у нас, увы нет, T-Flex последний раз видел давно, так что тоже не скажу. Скорее всего, в обоих можно. Как говорится, Катька просто по статусу обязана, ну а T-Flex за компанию.

 

Теперь что же я имел в виду, когда говорил про два подхода:

  • Первый подход заключается в том, что мы рисуем эскиз, который отражает основные кинематические характеристики модели, и дальше, на ее базе, создаем сборку. Эскиз может быть сделан на уровне модели, может быть на уровне сборки. Компоненты сборки создаются либо как многотельная деталь, либо как детали ссылающиеся на справочный, компоновочный  эскиз (Layout Sketch)
  • Второй по списку подход состоит в том, что мы создаем сборку, в которой количество деталей совпадает с количеством деталей в механизме. При этом сами детали состоят из простейших эскизов (типа линий и кружков). Далее они собираются в эскиз посредством точек эскиза. Когда кинематическая схема построена, можно начинать усложнять детали наличием геометрии.

 

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

 

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

 

Следовательно: Первый подход дает б0льшие преимущества на начальном этапе анализа кинематики механизма, Второй на последующих этапах работы.

 

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

 

Если кого-то еще интересует мое личное мнение, то… Если Вы создаете относительно небольшие сборки с числом подвижных деталей (имеются в виду те детали, которые определяют кинематическую схему механизма) до 5-10, и эти модели не обладают сверхсложной геометрией – выбор подхода не важен.

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

Если надо делать так, чтобы одна и та же сборка была одновременно и подвижной, и параметричной, и «top-down» – значит надо, но если можно этого избежать – лучше сделайте две сборки. Вам же будет проще работать.

 

Пока говорили о механизмах затронули вопрос его анализа. Тут два варианта. Хотя нет… три! Первый вариант это работа с механизмом в среде эскиза. Второй это работа механизма в среде сборки и третий – спец.модули.

  • Говоря о работе в эскизе, мы можем работать либо с образмеренными объектами эскиза, на которые наложены ряд геом. Связей, либо работать с блоками, на которые все также наложены взаимосвязи. Либо как вариант – комбинация обоих подходов. Сразу скажу, что работа с блоками обычно расширяет функционал и делает работу более удобной по многим параметрам. В то же время следует заметить, что не все системы поддерживают работу с блоками. В то же время геометрия у нас может быть представлена исключительно в упрощенном, плоском виде.
  • Работая в контексте сборки, мы исследуем кинематику «реальной» не плоской, а объемной геометрии. Это большой плюс. В то же время мы лишаемся некоторых других возможностей. Об этом чуть позже.

Работая в контексте эскиза мы можем провести полный анализ нашего механизма, не только в стиле, а будет ли оно вообще двигаться, но и в полном соответствии с законами механики. Для этого следует обратиться к инструментарию графо-аналитического подхода из разряда Теории Механизмов и Машин. Т.е. вспомнить молодость и курсовики по ТММ и рисовать в нужных точках скорости, ускорения, силы. Для более точного задания скоростей и пр. можно воспользоваться возможностями по связям различных размеров через системы уравнений. Подобные дополнения, обычно, чуть уменьшают динамичность изменения картинки (нужно время на пересчет уравнений, изменения начинают происходить как-бы пошагово, а не непрерывно), зато получается гораздо больше информации. Если немного поиграться, можно и графики нарисовать и совместить все 12-20-100 положений. Прелесть, да и только. Особенно для тех, кто клепает на заказы все те же курсовики. Один раз нарисовал кинематическую схему.  Прописал десяток параметров и все – чертежи перестраиваются автоматом. А вот для реальной практики это не так удобно. В реальной практике вырисовывать эту кучу векторов…. Свихнуться можно. Так что обычно если и рисуют механизм в эскизах то просто, чтобы убедиться в его работоспособности по геометрическим параметрам.

 

Работая в режиме сборки, у нас по сути пропадает возможность построения графиков перемещений, скоростей и пр… Зато появляются другие: Определение положения «реального» центра масс. Остановка движения при начале интерференции или соприкасания и многое другое.

 

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

 

Вот то, что я могу сказать по основным вопросам теории “top-down” работы с механизмами в CAD.  Если будет интерес, можно будет и более детально рассмотреть практическую сторону.

 

Спасибо за внимание, всем удачных выходных.

 

P.S. Пока искал картинки попал на сайт Digital Mechanism and Gear Library. Думаю тем кто связан с проектированием механизмов она не будет бесполезной. Для того чтобы посмотреть анимацию нужна java.

2 комментария:

  1. Спасибо огромное за столь развёрнутый ответ!

    Хотел бы задать один вопрос по практике... Сам я работаю в среде SolidWorks. Недавно столкнулся с проблемой моделирования кабель-каналов. Думаю, что подобные проблемы могут появиться и в других проектах.

    Кабель канал представляет собой цепь подобного типа:
    http://www.cpsystem.co.kr/german/products/products_04_sub.php?idx=583&PHPSESSID=917ae2456d25e8f467f273b3eb632806

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

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

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

    Заранее Спасибо!

    ОтветитьУдалить
  2. Я уже говорил, что не люблю делать парметричные сборки одновременно и подвижными. В данном случае у Вас не просто числовой параметр - у Вас "обобщенный" параметр. В том плане, что целая геометрия.
    Могу долго объяснять почему это не нужно, и почему так нельзя делать ;) Но сам знаю что есть такое слово надо. Иногда просто интересно, а можно ли это сделать, иногда требует начальство/заказчик.
    Без самой сборки тяжело что-то сказать, но так как это скорее всего "commercial information", все же попробую дать первичные намеки какие моменты уточнить.
    1. Исходя из приведенной ссылки видно что геометрию кабель-канала, можно определить с помощью эскиза из трех элементов: линия, дуга,еще одна линия. Чтобы было проще делать привязки и не зависеть от переходов привязок между элементами лучше всего использовать комманду "разместить сплайн" ("Fit Spline"). Она Вам даст одну непрерывную траекторию, которая максимально близка к исходным элементам
    2.Попробуйте соединить эскизом контрольные точки на уровне сборки верхнего уровня, а потом в Вашей "подвижной" сборке сослаться на него.
    3. Создайте на базе эскиза 1 дополнительную деталь и привяжите элементы кабель-канала на нее. Потом ее можно просто скрыть.
    4. Сделайте подсборку для кабель канала, а после вставки ее в сборку верхнего уровня - расформируйте и переведите все элементы в сборку верхнего уровня
    5. Проверьте перестраивается ли Ваша сборка после нескольких регенераций. Иногда одной регенерации мало. Иногда для успешного перестроения необходимо открыть компонент который не обновился. Если такое происходит часто, лучше всего на это действие записать макрос и вывесить кнопку на панель.

    Если что-то из перечисленного Выше поможет решить задачу - отпишитесь.
    Более корректный ответ, возможно, смогу дать, либо когда увижу сборку, либо когда попробую решить подобную задачу. В любом случае это будет не очень быстро. В общем буду думать.

    ОтветитьУдалить

Related Posts Plugin for WordPress, Blogger...
Rambler's Top100