Уменьшая скорость роста энтропии вселенной. Моделирование механических систем с помощью пакета расширения SimMechanics

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

Механизмы - это автономные кооперации, их контекстом является не какой-то один прецедент или операция, но система в целом. Любой элемент, видимый в некоторой части системы, является кандидатом на участие в механизме.

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

Моделирование механизмов осуществляется следующим образом:

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

2. Представьте каждый механизм в виде кооперации.

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

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

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

Хорошо структурированная кооперация обладает следующими свойствами:

· включает структурную и поведенческую составляющие;

· представляет собой четкую абстракцию некоторого взаимодействия в системе;

· редко является полностью независимой - обычно перекрывается со структурными элементами других коопераций;

· проста и легка для понимания.

Изображая кооперацию в UML, пользуйтесь следующими правилами:

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

· организуйте кооперации в соответствии с представляемыми ими классификаторами или операциями либо помещайте в пакеты, ассоциированные с системой в целом.

Профиль – набор стереотипов


РУКОВОДСТВО К ПРАКТИЧЕСКИМ ЗАНЯТИЯМ

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

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

Выбор оптимального программного обеспечения для моделирования часто бывает трудным, так как непросто найти программу, в которой был бы весь необходимый функционал. FreelanceToday предлагает вашему вниманию 20 бесплатных программ для 3D-моделирования.

Daz Studio – это мощное и при этом совершенно бесплатное программное обеспечение для трехмерного моделирования. Нельзя сказать, что это легкий для освоения инструмент – новичкам придется долго изучать возможности программы. Создатели программы позаботились о пользовательском опыте, но удобство Daz Studio удастся оценить далеко не сразу. Одной из фишек программы является создание 3D-изображений с GPU ускорением во время рендеринга, что дает возможность создавать очень реалистичные модели. Также в Daz Studio имеется поддержка создания сцен и функционал для анимации моделей.

Доступно для : Windows, | OS X

Бесплатное программное обеспечение для 3D-моделирования Open SCAD создано для серьезного проектирования (промдизайн, интерьеры, архитектура). Художественные аспекты создателей программы интересовали в гораздо меньшей степени. В отличие от других программ подобного плана, Open SCAD не является интерактивным инструментом – это 3D-компилятор, который отображает детали проекта в трехмерном виде.

Доступно для: Windows, | OS X | Linux

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

Доступно для: Windows, | OS X | IOS |

Meshmixer 3.0 позволяет проектировать и визуализировать 3D-конструкции путем объединения двух или нескольких моделей всего за несколько простых шагов. В программе для этого имеется удобная функция «cut and paste», то есть можно вырезать из модели нужные части и вставлять их в другую модель. Программа даже поддерживает лепку – пользователь может создавать виртуальную скульптуру, формируя и уточняя поверхность точно так же, как если бы он лепил модель из глины. И все это в режиме реального времени! Программа поддерживает 3D-печать, готовые модели полностью оптимизированы для отправки в принтер.

Доступно для : Windows, | OS X

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

Доступно для : Windows

Бесплатная программа 3D Crafter предназначена для 3D-моделирования в режиме реального времени и создания анимаций. Основная фишка данного редактора – интуитивно понятный подход «drag-and-drop». Сложные модели могут быть построены с помощью простых форм, программа поддерживает скульптурное моделирование и 3D-печать. Это один из самых удобных инструментов для создания анимации.

Доступно для : Windows

PTC Creo – это комплексная система, созданная специально для инженеров, работающих в сфере машиностроения, а также для конструкторов и технологов. Программа также будет полезна для дизайнеров, которые создают продукты, используя методы автоматизированного проектирования. Прямое моделирование позволяет создавать конструкции по существующим чертежам или использовать программу для визуализации новых идей. Изменения в геометрию объекта можно внести очень быстро, что существенно ускоряет процесс работы. Программа, в отличие от предыдущих, платная, однако есть 30-дневный триал и бесплатная версия для преподавателей и студентов.

Доступно для : Windows

Бесплатное программное обеспечение LeoCAD – это система автоматизированного проектирования виртуальных моделей LEGO. Есть версии для Windows, Mac OS и Linux. Программа может стать хорошей альтернативой Lego Digital Designer (LDD), так как имеет простой интерфейс, поддерживает ключевые кадры и работает в режиме анимации. Именно поддержка анимации выделяет LeoCAD на фоне других программ подобного плана.

Доступно для : Windows, | OS X | Linux

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

Доступно для : Windows, | OS X

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

Доступно для : Windows, | OS X | Linux

Бесплатная программа NaroCad – это полноценная и расширяемая система автоматического проектирования, основанная на технологии OpenCascade, и работающая на платформах Windows и Linux. В программе имеется весь необходимый функционал, имеется поддержка основных и усовершенствованных операций трехмерного моделирования. Функции программы могут быть расширены с помощью плагинов и программного интерфейса.

Доступно для : Windows, | Linux

LEGO Digital Designer позволяет строить трехмерные модели с использованием виртуальных кирпичиков (блоков) конструктора LEGO. Результат можно экспортировать в различные форматы и продолжить работу в других 3D-редакторах.

Доступно для : Windows, | OS X

Бесплатную программу ZCAD можно использовать для создания 2D и 3D- чертежей. Редактор поддерживает различные платформы и обеспечивает большие углы обзора. Наличие множества удобных инструментов, позволяет решить большинство проблем, связанных с моделированием трехмерных объектов. Пользовательский интерфейс программы простой и понятный, что существенно облегчает процесс рисования. Готовый проект можно сохранить в формате AutoCAD и других популярных 3D-форматах.

Доступно для : Windows, | Linux

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

Доступно для : Windows, | OS X | Linux

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

Доступно для : Windows

FreeCAD – это параметрический 3D-моделлер, разработанный для создания реальных объектов любого размера. Пользователь может легко изменить дизайн, используя историю модели и изменяя отдельные параметры. Программа мультиплатформенная, умеет считывать и записывать различные форматы файлов. FreeCAD позволяет создавать собственные модули и затем использовать их в дальнейшей работе.

Доступно для : Windows, | OS X | Linux

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

Доступно для: Windows, | Linux

Программу MeshMagic можно использовать для 3D-рендеринга файлов, а также для создания двухмерных объектов или их конвертации в 3D. Программное обеспечение имеет интуитивно понятный интерфейс и может использоваться для решения самых разных задач. В настоящее время Mesh Magic поддерживает только Windows. Результат сохраняется в популярном формате STL, который можно открыть и редактировать в большинстве онлайн и оффлайн инструментов для 3D-моделирования.

Доступно для : Windows

Open Cascade – это комплект разработчика программного обеспечения, предназначенный для создания приложений, связанных с 3D-CAD. Он включает в себя специальные, разработанный сообществом C++ библиотеки классов, которые можно использовать для моделирования, визуализации и обмена данных, а также для быстрой разработки приложений.

Доступно для : Windows, | OS X | Linux

Сергей Афонин, Наталья Григорьева, Александр Иноземцев, Дмитрий Троицкий

Если верить журналу CADalyst, 74% пользователей САПР работают с AutoCAD различных версий. Поэтому вопрос о назначении и, главное, о промышленном применении «автокадовского» трехмерного моделирования касается очень и очень многих. А вопрос этот, честно говоря, весьма неоднозначный.

Общение с заинтересованными лицами - конструкторами и разработчиками САПР - позволило выявить две большие группы претензий, предъявляемых к 3D-моделированию AutoCAD в его исходном, без дополнительных модулей, варианте (версии 14 и 2000).

Конструктор, работающий на обычном машиностроительном заводе: «А зачем мне все это нужно? Создание 3D-модели гораздо более хлопотно, чем вычерчивание ее проекций, и у меня просто нет на это времени. Визуализация? Но я и так прекрасно себе представляю, как выглядит моя конструкция. Расчет объема и массоинерционных характеристик? Для серьезных приложений он не годится, а объем подавляющего большинства деталей ни мне, ни технологу знать не нужно».

Разработчик САПР: «3D-моделирование в AutoCAD неполноценное, модели практически невозможно модифицировать, отсутствует ряд важных функций. Или ставьте Mechanical Desktop, или переходите на тяжелые САПР».

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

Что же получается? Несмотря на все усилия разработчиков, 3D-моделирование, похоже, остается очень специфическим средством для решения действительно сложных задач, а средний конструктор как рисовал в AutoCAD версии 10 проекции, так и рисует их до сих пор, только теперь уже в AutoCAD 2000. Для такого положения дел есть как минимум одна объективная причина. При широком применении оборудования с ЧПУ создание трехмерной модели становится неотъемлемым этапом подготовки производства - ведь по ней разрабатывается управляющая программа. Увы, в условиях российской действительности автоматизированное оборудование, потихоньку стареющее и выходящее из строя, редко применяется в основном производстве, а выпуск новых станков с ЧПУ упал чуть ли не до нуля. Отсутствие полноценной интеграции подготовки производства и самого производственного процесса - главный сдерживающий фактор в массовом переходе от проекционных чертежей к трехмерным моделям изделий.

Итак, зачем же нам в нынешних условиях «автокадовская» трехмерка? Обидно осознавать, что столь мощное средство пока не нашло должного применения в промышленности, тем более что оно встроено в систему и по умолчанию доступно всем пользователям AutoCAD начиная с 12-й версии. Размышления на эту тему привели к формулировке класса конструкторских задач, которые, с одной стороны, постоянно встречаются в общем машиностроении, а с другой - прекрасно решаются 3D-средствами AutoCAD. Речь идет о проектировании механизмов с самоустанавливающимися элементами (МСЭ).

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

Задача проектирования МСЭ нелюбима конструкторами в первую очередь в силу своей неопределенности. Геометрию деталей можно менять в широких пределах, но как узнать заранее, будет ли конструкция выполнять все задуманные движения и защелкивания? Увы, по сей день наиболее часто применяющийся способ проверки - ручная прорисовка (!) положений деталей с заданным шагом и затем анализ полученных кадров.

Вид конструктора Тульского патронного завода, который в течение недели в масштабе 10:1 отрисовывал 50 кадров, потряс нас до глубины души. Проектировался типичнейший МСЭ - захват автоматической роторной линии по производству спортивно-охотничьих пуль (рис. 1). Захват состоит из двух подпружиненных губок и толкателя, установленного на роторе в подпружиненном гнезде. При его вращении круглая заготовка, находящаяся на другом роторе, нажимает на губку сбоку, отжимает толкатель с губками, проходит мертвую точку, затем, отжимая губку в сторону, заходит внутрь и защелкивается второй губкой. Если заготовку перекосит и захват заклинит, последствия могут быть самыми печальными - усилие на роторе доходит до двух тонн (в цехе мы видели вал ротора в руку толщиной, скрученный в спираль в результате заклинивания).

Поскольку частая смена выпускаемых изделий даже в таком массовом производстве стала насущной необходимостью, мы поставили перед собой задачу автоматизировать проектирование МСЭ при помощи того средства автоматизации, которое есть на каждом предприятии, - AutoCAD 14. Разумеется, первой идеей было блеснуть эрудицией и предложить вырезать шаблоны из картона и обводить их (более продвинутый вариант - перемещать проекции контуров деталей в графическом редакторе AutoCAD). Идея была отвергнута по ряду причин: во-первых, не удавалось добиться нужной точности (захваты промышленного оборудования проектируются с точностью до 0,01 мм), во-вторых, трудоемкость снижается ненамного, в-третьих, реальные детали имеют сложный профиль по толщине, а плоский шаблон часто не позволяет смоделировать их перемещение, и, наконец, никак не автоматизируется ответ на главный вопрос: «заклинит - не заклинит?» Отметим, что вопрос «удержит - не удержит?» в данном случае оказался неактуальным из-за малой массы заготовок - усилия пружин с запасом хватало для их удержания.

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

Вот тут-то и пригодилась «автокадовская» трехмерка! Возникла следующая идея: по определению в самоустанавливающемся механизме детали принимают то или иное положение в результате соприкосновения с другими деталями. Таким образом, если 3D-модель перемещать, подбирая такое ее положение, в котором она касается сопряженных поверхностей, и делать это с заданным шагом, то можно с любой требуемой точностью промоделировать работу МСЭ. Сразу же решилась и задача «заклинит - не заклинит»: на каждом шаге нужно проверять, по скольким поверхностям базируется заготовка и какова суммарная величина пятна контакта (и губки, и заготовка могут иметь сложный профиль в вертикальной плоскости, поэтому высота пятна контакта вовсе не равна высоте губки). Зная массу заготовки, шероховатость поверхности и коэффициент трения, легко найти минимально необходимую площадь ее соприкосновения с зажимом, гарантирующую отсутствие перекосов. Дополнительным условием можно ввести требование базирования заготовки либо по двум поверхностям достаточной высоты, либо по трем поверхностям, которое также легко проверяется.

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

Разумеется, вся процедура выполняется программным путем. Мы использовали AutoLISP, но подойдет и Visual Basic, и ActiveX. Для любопытных приводим текст функции, проверяющей два трехмерных объекта на пересечение:

(DEFUN checkint (e1 e2 / obj ret)

; Проверка пересечения трехмерных объектов e1 и e2

; Возвращаемое значение: T или NIL

(COMMAND “UNDO” “MARK” “INTERSECT” e1 e2 “”)

(SETQ obj (SSGET “X”))

(IF (/= obj NIL)

(SETQ ret (NOT (AND (= (SSMEMB e1 obj) NIL)

(= (SSMEMB e2 obj) NIL))))

(COMMAND “UNDO” “BACK”)

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

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

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

Два режима работы в процессе анализа

    После построения и сохранения статической сборки вы должны впервые перейти из режима (из приложения)Моделирование в режим (в приложение)

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

    • И в режиме Моделирование

      И в режиме Симуляция кинематических механизмов

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

    Как только вы окажетесь в режиме Симуляция кинематических механизмов , вы сразу обратите внимание на новые инструментальные панели (рис.7).

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

Преобразование ограничений сборки в кинематические пары

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

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

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



Просмотров