Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Анимация кривошипно-шатунного механизма с присоединенной кулисой

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Разработка программы, выводящей на экран механизм с возможностью изменения масштаба, скорости вращения звена, сохранения и считывания входных данных из файла в среде разработки MS Visual C#. Блок-схема ее работы. Принцип работы движущихся элементов.
Краткое сожержание материала:

Размещено на

Федеральное агентство по образованию

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ МАШИНОСТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ

Факультет: машиностроительный

Кафедра: САПР

КУРСОВАЯ РАБОТА

ДИСЦИПЛИНА: “Лингвистическое и программное обеспечение

САПР”

ТЕМА РАБОТЫ: “Анимация кривошипно-шатунного механизма с

присоединенной кулисой”

Вариант №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-образного двигателя, передаваемых коренными...