Анимация кривошипно-шатунного механизма с присоединенной кулисой
Краткое сожержание материала:
Размещено на
Федеральное агентство по образованию
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ МАШИНОСТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ
Факультет: машиностроительный
Кафедра: САПР
КУРСОВАЯ РАБОТА
ДИСЦИПЛИНА: “Лингвистическое и программное обеспечение
САПР”
ТЕМА РАБОТЫ: “Анимация кривошипно-шатунного механизма с
присоединенной кулисой”
Вариант №3-9
Выполнил:
Студент
группы М27-4к
Копылов О.В.
Москва - 2013
Содержание
Задание к курсовой работе
Содержание
Введение
1. Этапы выполнения курсовой работы
2. Этапы разработки программы
2.1 Блок-схема работы программы
2.2 Создание проекта «Kopylov_Mechanics» в MS Visual C#
2.3 Создаем меню
2.4 Описание использованных в программе функций
2.5 Принцип работы Движущихся элементов
2.6 Void Picture
Заключение
Листинг программы
Main.cs
Options.cs
Задание к курсовой работе
по дисциплине «Программное обеспечение САПР»
ДАНО
1. Кинематическая схема плоского рычажного механизма согласно номеру задания.
2. Ведущее звено АВ совершает полный оборот относительно начала системы координат XY (кинематическая пара А на схеме механизма).
3. Некоторые размеры рычажного механизма согласно варианту задания.
ЗАДАНИЕ
Разработать многооконное программное обеспечение. Главное окно должно иметь стандартную панель падающих меню, панель инструментов и клиентскую область.
Программное обеспечение должно обеспечивать:
1. Ввод незаданных исходных данных, выполненный в виде отдельного диалогового окна:
1.1 скорости вращения ведущего звена в зависимости от времени;
1.2 размеров и длин звеньев механизма в мм;
1.3 координат размещения кинематических пар, связанных с неподвижным основанием, в мм;
1.4 число положений механизма;
1.5 масштаб отображения кинематической схемы механизма.
2. Вывод в клиентской области исходных данных механизма.
3. Проверку условий проворачиваемости механизма.
4. Графическое построение в клиентской области минимум 12 положений механизма в зависимости от угла поворота ведущего звена АВ, выполненных в мм согласно выбранному масштабу.
5. Анимацию движения механизма, построенному в мм согласно выбранному масштабу, в зависимости от величины угловой скорости ведущего звена АВ.
6. Сохранение и восстановление заданных исходных данных в пункте 1.
7. Сохранение и восстановление графического отображения механизма и заданных исходных данных в клиентской области.
Длина звена АВ = 150 мм
Т. D-Lx = -270
Т. D-Ly = -40
Т.D-Le = 150
Введение
Данная курсовая работа посвящена разработке программы, которая выводит на экран заданный механизм. Механизм анимирован, пользователь может изменять длины звеньев, не нарушая при этом целостность механизма, так же в программе предусмотрена возможность изменения скорости вращения входного звена. Есть возможность изменения масштаба.
Предусмотрена возможность сохранения и считывания входных данных из файла.
1. Этапы выполнения курсовой работы
* Анализ задания
* Проверка механизма
* Аналитический расчет механизма
* Создание программы на языке C#
2. Этапы разработки программы
2.1 Блок-схема работы программы
2.2 Создание проекта «Kopylov_Mechanics» в MS Visual C#
1. Запускаем Visual С#. Нажимаем Файл -> Создать -> Проект
2. Выбираем Visual C#?В окне по середине выбираем Приложение Windows Forms
В графе имя вводим название проекта, в графе Расположение выбираем путь где будет хранится исходные файлы программы.
3. Нажимаем ОК чтобы создать проект
2.3 Создаем меню
Для меню нам понадобятся:
Открываем «Панель инструментов» на форме размещаем 5(Старт, Стоп, Параметры, Save, Load) кнопок , 1 NumericUpDown (для контроливания скорости вращения) и PictureBox
Далее расположим все элементы на форме должным образом
2.4 Описание использованных в программе функций
Main.cs:
1.1 Создание точек на экране вывода (шарниры)
void Hinge
1.2 Создание «треугоников» для шарниров
void Pillar
1.3 Маштабирование:
void NewSizes
1.4 Создание Прямоугольников:
void Plunger
1.5 Создание плоскости, которая ограничивает движение «точки» E :
void Base
1.6 Расчет и построение точек и дальнейшее построение по ним необходимым линий для окна вывода:
void Picture()
1.7 Действия происходящие после нажатия на кнопку «Старт»:
private void pysk_Click
1.8 Таймер для контролирования выполнений операций за опр. Кол-во времени(скорость движения)(осуществляется после того как мы изменили данные в NumericUpDown с Name DgUD) :
private void DgUD_ValueChanged
1.9 Вызов второго окна для изменения данных:
private void btPrm_Click
Options.cs:
1.10 Выполняется при первом отображении формы:
private void PrmForm_Shown
1.11 Выполняется при закрытии формы:
private void PrmForm_FormClosing
1.12 Выполняется при изменении TextBox с name “mash”:
private void mash_TextChanged
1.13 Выполняется по нажатию кнопки ОК:
private void ok_Click
1.14 Выполняется по нажатию кнопки cancel
private void cancel_Click
Для создания второй формы необходимо:
Кликнуть правой клавишей мыши на наименование проекта в «обозревателе решений». Далее кнопка «добавить», а после «Форма Windows…». И у нас создастся новая форма с именем «FormN.cs» где N порядковый номер формы (если не менять её название)
2.5 Принцип работы движущихся элементов
Для осуществления передвижения всех необходимых элементов используем следующие формулы:
1.1 точка B
Находим угол:
Ang = Math.Acos(CyA / AB) + Math.PI / 2;
Находим точку B по 2 осям x и y:
Bx = Ax + AB * Scl * (float)Math.Cos(Ang);
By = Ay - AB * Scl * (float)Math.Sin(Ang);
1.2 точка D
Находим угол:
a = Math.Atan2(Cy - By, Bx - Cx)
Находим точку D по 2 осям x и y:
Dx = Cx + CD * (float)Math.Cos(a) * Scl;
Dy = Cy - CD * (float)Math.Sin(a) * Scl;
1.3 Точка E
Находим угол:
a = Math.Asin((Dx - Ex) / DE / Scl);
Находим точку E по 2 осям x и y:
Ey = Dy + DE * (float)Math.Cos(a) * Scl;
Ex - нам дана по условию
2.6 Viod Picture именно в нем происходят расчеты тотрисовка всех элементов на pirtureBox
void Picture()
{
using (Graphics Gr = Graphics.FromImage(PB.Image))
{
Gr.SmoothingMode = SmoothingMode.HighQuality;
Gr.Clear(Color.White);
Font Fn = new Font("Bodoni MT", 10, FontStyle.Bold);
Gr.DrawString("AB = " + AB.ToString() + " mm", Fn, Brushes.Black, 0, 0);
Gr.DrawString("CD = " + CD.ToString() + " mm", Fn, Brushes.Black, 0, 20);
Gr.DrawString("DE = " + DE.ToString() + " mm", Fn, Brushes.Black, 0, 40);
Gr.DrawString("CyA = " + CyA.ToString() + " mm", Fn, Brushes.Black, 0, 60);
Gr.DrawString("Масштаб = " + Scl.ToString() + " pix/mm", Fn, Brushes.Black, 0, 80);
Pillar(Gr, Ax, Ay, "A");
Base(Gr);
Bx = Ax + AB * Scl * (float)Math.Cos(Ang);
By = Ay - AB * Scl * (float)Math.Sin(Ang);
Gr.DrawLine(Pens.Black, Bx, By, Ax, Ay);
double a = Math.Atan2(Cy - By, Bx - Cx);
Dx = Cx + CD * (float)Math.Cos(a) * Scl ;
Dy = Cy - CD * (float)Math.Sin(a) * Scl;
Gr.DrawLine(Pens.Black, Dx, Dy, Cx, Cy);
Hinge(Gr, Ax, Ay, "A");
Pillar(Gr, Cx, Cy, "C");
Ремонт кривошипно–шатунного механизма
Техническое обслуживание кривошипно–шатунного механизма. Возможные его неисправности и способы их устранения. Общие требования безопасности труда при...
Устройство кривошипно-шатунного механизма двигателя
Характеристика конструктивного оформления, предназначения и принципа работы блока цилиндров двигателя легкового автомобиля. Ознакомление с устройством...
Проектирование технологических процессов восстановления деталей
Дефектация деталей кривошипно-шатунного механизма, измерение блока цилиндров, поршней, шатунов и оценка их состояния. Разработка карты дефектации и ре...
Устройство и ремонт кривошипно-шатунного механизма
Краткая характеристика кривошипно-шатунного механизма. Подвижные детали: поршни, шатун, коленчатый вал, маховик. Устройство и принцип работы блока цил...
Расчёт динамики кривошипно-шатунного механизма V-образного двигателя
Расчёт динамики кривошипно-шатунного механизма для дизеля 12Д49. Расчет сил и крутящих моментов в отсеке V-образного двигателя, передаваемых коренными...