Пространственные механизмы

Автор работы: Пользователь скрыл имя, 29 Мая 2012 в 15:00, дипломная работа

Краткое описание

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

Содержание

Введение 4
1. Описание предметной области: теория механизмов и машин 5
1.1 Структура строения механизма 5
1.1.1 Общее понятие механизма 5
1.1.2 Звенья механизмов 5
1.1.3 Кинематические пары 7
1.1.4 Кинематические цепи 10
1.1.5 Виды механизмов и их структурные схемы 11
1.2Механизм и его подвижность 13
1.2.1 Структурная формула 13
1.2.2 Пассивные связи и лишние степени свободы 15
1.3 Закон образования механизмов по Ассуру 16
1.3.1.Сущность закона Ассура 16
1.3.2 Двухзвенные механизмы 17
1.3.3 Группы нулевой подвижности 17
2 Задачи кинематики механизмов и их решение 20
2.1 Теоретические основы и определения 20
2.1.1 Геометрическая модель звеньев и пар пространственного рычажного механизма 20
2.1.2 Геометрическая модель группы 22
2.1.3 Формула Чейза определения направления оси по 2-м углам 23
2.2 Решение прямой задачи о положениях механизма 24
2.2.1 Механизм как набор первичных механизмов и наслоение структурных групп 24
2.2.2 Определения величин, используемых при расчете положения группы 26
2.3 Аналитический подход к расчету положения структурной группы 28
2.3.1 Двухзвенная пространственная группа В-Сп-С 28
2.3.2 Двухзвенная плоская группа В-В-В 29
2.4 Алгоритм построения последовательности расчета положений структурных групп, составляющих механизм 30
3. Конструирование системы моделирования механизмов 31
3.1 Предварительные условия 31
3.1.1 Определение проблемы 31
3.1.2 Выработка требований к будущей программной системе 31
3.2 Проектирование архитектуры 32
3.3 Пользовательский интерфейс программы 34
3.3.1 Окно программы 34
3.3.2 Условные обозначения программы 34
Заключение 35
Литература 36
Приложение 1 37
GeomObject.cs 37
Holder.cs 37
Link.cs 38
Pair.cs 39
MechManager.cs 40
RRRGroup.cs 44
TestMech.cs 45

Вложенные файлы: 1 файл

диплом.doc

— 1.73 Мб (Скачать файл)

            }

            Gl.glEnd();

        }

 

    }

Pair.cs

 

class Pair:GeomObject

    {

        public const int TYPE_UNKNOWN = 0;

        public const int TYPE_ROTATE = 1;

        public const int TYPE_MAIN = 2;

 

        public int mId;

        public int mType;

        public Vector3D mPos;

        public bool isHolded;

 

        public static Vector3D bad = new Vector3D(1000000f, 1000000f, 1000000f);

 

        public Pair(int id,Vector3D pos, int type, bool hold)

        {

            mId = id;

            mPos = new Vector3D(pos);

            if (id == 1)

            {

                mType = 2;

            }

            else

                mType = type;

            isHolded = hold;

        }

 

        public Pair(int id, int type, bool hold)

        {

            mId = id;

            mPos = bad;

            mType = type;

            isHolded = hold;

        }

 

        override public void draw()

        {

            if (isHolded)

            {

                MechManager.getInstance().getHolderForPair(mId).draw();

            }

            Gl.glPushMatrix();

            {

                Gl.glTranslated(mPos.X, mPos.Y, mPos.Z);

                Gl.glRotated(90, 1, 0, 0);

                Gl.glTranslated(0, 0, -1);

 

                Gl.glColor3d(1, 0, 0);

                Glut.glutSolidCylinder(0.15, 2, 20, 20);

 

                Gl.glTranslated(0, 0, 0.5);

 

                Glut.glutSolidCylinder(0.3, 1, 20, 20);

            }

            Gl.glPopMatrix();

        }

    }

MechManager.cs

 

class MechManager

    {

        public Dictionary<Int32, Pair> mPairs;

        public List<Holder> mHolderList;

        public List<Link> mLinkList;

 

        private static MechManager sInstance = null;

        private static int sPairId;

        private static int sLinkId;

 

        private MechManager()

       {

            sPairId = 1;

            sLinkId = 1;

            mPairs = new Dictionary<int,Pair>();

            mHolderList = new List<Holder>();

            mLinkList = new List<Link>();

        }

 

        public static MechManager getInstance()

       {

            if (sInstance == null)

            {

                sInstance = new MechManager();

            }

            return sInstance;

        }

 

        public void addPair(Vector3D pos, int type, bool hold)

        {

            Pair pair = new Pair(sPairId,pos,Pair.TYPE_ROTATE,hold);

            mPairs.Add(sPairId, pair);

            sPairId++;

        }

 

        public void addEmptyPair(int type, bool hold)

        {

            Pair pair = new Pair(sPairId,Pair.TYPE_ROTATE,hold);

            mPairs.Add(sPairId, pair);

            sPairId++;

        }

 

        public Pair findPairById(int id)

        {

            Pair pair;

            if (mPairs.TryGetValue(id, out pair))

            {

                return pair;

            }

            else

            {

                return null;

            }

        }

 

        public bool addHolder(int pairId)

        {

            Holder holder = new Holder(pairId);

            if (findPairById(pairId) != null)

            {

                mHolderList.Add(holder);

                return true;

            }

            return false;

        }

 

        public Holder getHolderForPair(int pairId)

        {

            for (int i = 0; i < mHolderList.Count; i++)

            {

                if (mHolderList.ElementAt(i).mHoldedPairId == pairId)

                {

                    return mHolderList.ElementAt(i);

                }

            }

            return null;

        }

 

        public bool addLink(int pairId1,int pairId2,float length, float angle)

Информация о работе Пространственные механизмы