
0aae14ef780f4718c6a26d5ba078141d.ppt
- Количество слайдов: 21
Mechanics Editor. NET 2. 0 Курсовая работа магистра: “Система моделирования пространственных механизмов” Работу выполнил: Магистр 1 -го года обучения, 859 группы Городецкий Евгений Станиславович Научный руководитель: Профессор каф. МО ЭВМ, д. т. н. Турлапов Вадим Евгеньевич Нижний Новгород Май 2006 г.
Задачи и требования к работе Задачи решённые на предыдущем этапе Изучены основы теории пространственных механизмов; Изучена библиотека программирования 3 D графики Managed Direct 3 D; Спроектированы структуры данных, отвечающих за: представление модели пространственного механизма; выполнение операций редактирования механизма; визуализация геометрических объектов, структурной схемы; Разработана графическая программа, решающая задачу синтеза механизма – создан набор инструментальных средств, реализованных в интерфейсе, для создания и редактирования механизмов: Визуализация 3 -х мерного образа структурной схемы механизма; Представление структуры механизма в виде иерархического дерева и её редактирование; Последовательная сборка механизма из 3 -х типов звеньев и элементов 4 -х кинематических пар; Параметрическое редактирование объектов структуры механизма;
Задачи и требования к работе Постановки новых задач Рефакторинг программного кода при переходе с платформы. NET 1. 1 на новую версию платформы. NET Framework 2. 0; Реализация методов сохранения и загрузки механизмов; Исследование методов решения задачи о положении механизма; Решение задач о положениях некоторых основных структурных групп различными подходами; Разработка структур данных выполнения расчётов положений механизма и методов проверки структуры механизма перед выполнением расчётов; Реализация в программе автоматического решения задачи о положениях механизма;
Рефакторинг программы Переход к платформе. NET Framework 2. 0 Синтаксис языка Managed C++. NET кардинально изменился: Использование неуправляемых и управляемых типов в общем программном коде – разделение указателей и ссылок на неуправляемые (*, &, __gc new) и управляемые (^, %, gcnew); Упрощение синтаксиса управляемых расширений: __gc [clas | struct] [ref | value] [class | struct] – ссылочные и размерные типы; __property int Amount_get(); property int Amount{ int get() } – свойства; int A __gc[] = __gc new int[5] array<int>^ A = gcnew array<int>(5); – массивы; Array. List * L = __gc new Array. List(5) Array. List<int>^ L = gcew Array. List<int>(5); – Generic типы, позволяющие избегать множественных операций упаковки и распаковки; Расширение инструментария Visual Studio 2005:
Рефакторинг программы Реструктуризация программы Программа под. NET 1. 1 была написана полностью на Managed C++. NET и представляла 1 исполняемый файл; Программа под. NET 2. 0 разбита на модули: Название Файла Изменение Язык Описание Mech. Editor. exe Переписан C# Формы и логика интерфейса Viewport. dll Новый C# Визуальная компонента вида C# Визуальная компонента настраиваемой самомасштабирующейся сетки контейнеров C# Вспомогательные классы для анимации и хранящий 3 D модели в своих ресурсах Tab. Split. Pan. dll MDXUtility. dll Новый Дополнен
Рефакторинг программы Произведённые изменения Код на C++. NET, вынесен в отдельную DLL и может использоваться как отдельная библиотека для программ моделирования механизмов. Программа мигрирована на новый синтаксис C++/CLI; Программа, реализующая интерфейс написана заново на С# с использованием новых визуальных компонент и разделена на главный модуль с формами и 2 модуля компонент; Все файлы 3 D моделей и текстур (загружаемые раньше из внешних файлов) помещены в ресурс модуля MDXUtility. dll; В процессе рефакторинга улучшена структура программы и графический интерфейс пользователя, но функциональность не изменена.
Рефакторинг программы Новый графический интерфейс После рефакторинга: До
Сохранение и загрузка механизмов Организация данных для хранения механ-ов На рисунке представлена диаграмма организации данных: Таблицы (поля и их типы) – таблица или пара таблиц соответствует классу; Связи между таблицами по ключам – ссылки между классами; Такой способ организации данных позволяет осуществлять хранение данных, описывающих механизмы: в XML-файле, табличной структуры – текущая реализация; в Базе Данных (SQL Server 2005);
Сохранение и загрузка механизмов Методы сохранения и загрузки Создан центральный класс процесса сохранения/загрузки – Load. Manager, который: Представляет источник чтения/записи данных (XML или Data Base); Устанавливает соответствие между идентификаторами записей в базе и ссылками на загруженные из них объекты с помощью словаря; Реализует вспомогательные методы работы с виртуальной базой; Каждый из классов, поддерживающих сохранение и загрузку реализует следующие public методы: Конструктор, выполняющий загрузку из источника Load. Manger по ID в соответствующей таблице; Save. To. Data. Set – метод производящий сохранение объекта в Data. Set и возвращающий идентификатор записи в соответствующей таблице; Сохранение механизма, вместе с настройками видов и стилей отображения производится по иерархии инкапсуляции классов, начиная с класса Prop. Obj. Manager.
Задача о положениях механизма Группы нулевой подвижности и закон Ассура Группа – это совокупность нескольких кинематических пар. Основа метода решения задачи о положениях: Закон образования механизмов по Ассуру: Всякий механизм представляет собою совокупность одного или нескольких двухзвенных (первичных) механизмов и одной или нескольких групп нулевой подвижности. Группой нулевой подвижности называется кинематическая цепь, образованная только подвижными звеньями механизма, подвижность которой равна нулю.
Задача о положениях механизма Иллюстрация закона Ассура
Задача о положениях механизма Последовательность вычислений Пример механизма раскрытия закрылок самолёта; Вычисление положений групп механизма выполняется по уровням
Задача о положениях механизма Формула Чейза – формула 3 -х Задача: ортов найти вектор u по заданным векторам e 1, e 2 и скалярным произведениям c 1, с2: Формула Чейза – решение этой задачи:
Задача о положениях механизма Задача о положении группы ВСп-С Дано: положения точек A и В, направление оси u 1 вращательной пары, постоянный угол наклона звена L 1 относительно u 1 и длины звеньев L 1, L 2; Найти: положение точки С. Решение: - Теорема косинусов;
Задача о положениях механизма Аналитический подход к решению задачи о положениях для групп: В-Сп-С В-П-В П-В-В В-В-В
Задача о положениях механизма Численный подход к решению задачи о положениях для группы В-В-В-С
Задача о положениях механизма Проверка структуры механизма Условия корректности структуры механизма: Механизм связный (все пары соединены звеньями): Определён по крайней мере один первичный механизм; Каждая структурная группа имеет корректную структуру: Группа не пустая (содержит хотя бы одну пару); Группа связная (все пары группы соединены звеньями); Число степеней подвижности равно нулю. Вычисление числа степеней подвижности группы: Распознавание типа группы: Группа плоская, если она содержит только вращательные или поступательные пары и оси все вращательных параллельны и ортогональны всем осям поступательных пар; Иначе, группа пространственная; Если группа плоская: WG = 3·N - 2·P Если группа пространственная: WG = 6·N – (5·P 1 + 4·P 2 + 3·P 3) N – число подвижных звеньев группы, P – число пар в группе, Pi – число i-подвижных пар.
Задача о положениях механизма Структуры данных для выполнения расчётов Слева – классы, моделирующие структуру механизма; Справа – классы, выполняющие расчёт задачи о положениях механизма; Классы, выполняющие расчётные функции связаны с классами структуры механизма отношениями включения
Заключение Веб-сайт проекта “Mechanics Studio. NET” www. mechstd. narod. ru – сайт проекта:
Заключение Результаты выполненной работы и план дальнейшей работы над Изучены и применены несколько подходов к решению программой задачи о положениях механизма. Получены решения для некоторых структурных групп. Разработаны алгоритмы и структуры данных реализации расчётов в программе; Программа усовершенствована и дополнена новыми возможностями сохранения/загрузки, начата реализация структур данных для решения задачи о положениях; В дальнейшем планируется решение следующих задач: Завершение функциональности расчёта задачи о положениях; Реализация алгоритма автоматического распознавания структуры механизма и формирование групп Ассура;
Заключение Вопросы? www. mechstd. narod. ru – сайт проекта evsgor@gmail. com – Городецкий Евгений
0aae14ef780f4718c6a26d5ba078141d.ppt