разработка САПР11

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФГБО ВПО «Брянский государственный технический
университет»
Кафедра «Компьютерные технологии и системы»
Курсовой проект по дисциплине «Разработка САПР»
На тему:
«Разработка системы автоматизированного
проектирования для расчета и построения червячного
редуктора»
Студентка группы 07-САПР
_________ Алексеева О.А.
Преподаватель к.т.н. доц.
_________ Беспалов В.А.
Брянск 2011 г.
ЗАДАНИЕ
на курсовой проект
специальности 230104 – Системы автоматизированного проектирования
Студенту Алексеевой Ольге Алексеевне
Группы 07-САПР
Тема работы: Разработка системы автоматизированного проектирования для
расчета и построения цилиндрического редуктора.
Руководитель проекта: ктн. доц. Беспалов Виталий Александрович
2
Содержание:
Введение ................................................................................................... 5
1. Актуальность разрабатываемой системы автоматизированного
проектирования ....................................................................................... 6
2. Назначение и область применения разрабатываемой САПР ......... 7
3. Анализ методов автоматизации проектирования
цилиндрического редуктора .................................................................. 8
3.1 Анализ возможных подходов к разработке САПР ..................... 8
3.1.1 Создание внешнего приложения ............................................ 8
3.1.2 Создание параметрической модели с расчетами в нутрии
CAD-системы..................................................................................... 9
3.1.3 Создание расчетного приложения внутри САПР................. 9
3.2 Обзор ядер систем твердотельного моделирования .................. 9
3.3 Обзор CAD-системы КОМПАС-3D ........................................... 10
3.4 Обзор CAD-системы T-FLEX CAD 3D ..................................... 12
3.5 Обзор CAD-системы Autodesk Inventor ..................................... 13
3.6 Выбор CAD-системы в качестве средства моделирования ..... 15
4. Разработка алгоритмов и методики автоматизированного
проектирования ..................................................................................... 17
4.1 Структурно-функциональная модель САПР редуктора .......... 17
4.2 Способы доступа к API Autodesk Inventor ................................ 18
5. Обеспечение САПР ........................................................................... 21
5.1 Математическое обеспечение САПР ......................................... 21
5.2 Информационное обеспечение САПР ....................................... 24
5.3 Лингвистическое обеспечение САПР ........................................ 25
3
5.4 Программное обеспечение САПР .............................................. 26
5.4 Техническое обеспечение САПР................................................ 27
5.5 Методическое обеспечение САПР ............................................. 27
5.6 Организационное обеспечение САПР ....................................... 28
6. Пример программы ........................................................................... 29
7. Заключение ........................................................................................ 30
8 . Список используемой литературы ................................................. 31
Приложение А ....................................................................................... 32
4
Введение
В
данном
курсовом
проекте
по
разработке
системы
автоматизированного проектирования редуктора цилиндрического был
проведен анализ существующих CAD-систем по некоторому набору
параметров и в последующем сделан выбор в пользу одной из них для
создания модели редуктора. А так же рассмотрены возможные варианты
подходов и методов в области создания систем автоматизированного
проектирования. Результатом проекта является рабочая программа, которая
осуществляет расчет червячного редуктора, а также его построение в
выбранной CAD системе.
5
1. Актуальность разрабатываемой системы
автоматизированного проектирования
В условия современной экономики, на предприятии (заводе), необходимо
обеспечить быстрое и качественное решение задач, связанных с получением
тендеров. Решением подобной задачи является предоставление расчетов, а
также моделей изделия, по которым в свою очередь и будет производиться
дальнейшая разработка проекта. Для обеспечения качества и скорости, в
настоящее
время,
применяются
CAD-CAM-CAE
САПР.
Существует
множество формализованных задач, реализацию которых можно сделать
полностью автоматизированными, одной из таких задач является расчет и
построение редуктора. Разрабатываемая САПР предназначена для ускорения
и облегчения процесса проектирования цилиндрических редукторов мелкой
серии, а также при добавлении новой модели и нового модуля построения
можно расширить серийность, что делает данную систему достаточно
гибкой, и жизнеспособной.
6
2. Назначение и область применения разрабатываемой
САПР
Объектом курсового проекта является разработка программы для
проектирования редуктора, в который входит большинство деталей и узлов
общемашиностроительного
применения,
проектирование
передачи,
зубчатой
обеспечивающие
вращательные
а
представлена
также
движение
в
задании
сборочные
(подшипники),
на
единицы,
различные
соединения (болтовые) и детали (валы, корпус и др.). При их проектировании
решается
комплексная
инженерная
задача,
включающая
подбор
электродвигателя, кинематические и силовые расчеты, выбор материалов и
расчеты
на
прочность,
конструкторской
вопросы
документации.
конструирования
Проектирование
и
разработки
рассматривается
как
процесс, направленный на преобразование документации технического
задания в рабочую документацию на основе выполнения комплекса работ
исследовательского, расчетного и конструкторского характера.
Полученные в результате проектного расчета геометрические параметры
передачи, значение сил и крутящего момента являются исходными данными
для построения 3D модели и проведение последующих расчетов деталей
привода и сборочных единиц. Рассмотрены методы расчета валов,
подшипников, конструирование узла редуктора.
Данная САПР создана для избавления инженера от рутинной работы, и
ускорения проектирования.
7
3. Анализ методов автоматизации проектирования
цилиндрического редуктора
Алгоритмический подход основан на предположении о том, что любой
процесс можно проектировать. Центральную роль в этом играют алгоритмы,
а главным результатом проектирования – программа, проект, модель и т.п.
В связи с высокой степенью формализации задачи конструирования
цилиндрического редуктора оптимальным вариантом создания САПР будет
являться алгоритмический подход. Его плюсами является обязательное
наличие решения, четкая последовательность действий, а так же простота
реализации.
Данный раздел посвящен анализу методов проектирования САПР,
обзору и выбору CAD-системы.
3.1 Анализ возможных подходов к разработке САПР
Во многих отраслях связанных с конструированием возникает задача
создания САПР для передачи рутинной работы по стандартизованным
расчетам, а также построениям машине.
Для решения данной задачи возможны несколько методов подхода:
 Создание внешнего расчетного модуля с последующей передачей
данных в систему трехмерного моделирования.
 Создание параметрической модели, где все расчеты завязаны во
внутренних формулах.
 Создание расчетного приложения внутри САПР.
3.1.1 Создание внешнего приложения
Данный подход подразумевает написание внешнего приложения в
средах программирования, таких как С++, Delphi, VB.NET. При таком
подходе все расчеты осуществляются во внешнем модуле, а в модель
передаются уже готовые значения. Плюсами такого метода является то что
мы полностью не зависим от возможной языка встроенного в САПР систему,
8
для которой написан данный модуль, а также возможность замены САПР
системы, и предоставление независимых расчетных подходов.
3.1.2 Создание параметрической модели с расчетами в нутрии CADсистемы
При таком подходе инженер освобождается от задач программирования,
т.к. все расчеты проводятся внутри модели, однако при этом возникают
трудности с выборками значений из баз данных, ввода исходных данных, и
работа с такой моделью будет затруднена при передаче ее стороннему
пользователю. Такой подход удобен при создании баз данных стандартных
элементов, где нет большого числа расчетов. Так же нет возможности
создания отчетов, что затрудняет проверку правильности выполненной
работы.
3.1.3 Создание расчетного приложения внутри САПР
Многие современные САПР включают в себя интегрированный язык
программирования, что позволяет создавать программы для автоматизации
выполнения различных процедур, не прибегая к сторонним программным
продуктам. Данный способ удобен при создании пользовательских панелей
инструментов,
расчетов,
создания
дополнительных
конструктивных
элементов. Однако при таком подходе возникают трудности с освоение
нового языка программирования (в случае если вы его не изучали ранее), что
приводит к увеличению срока разработки.
3.2 Обзор ядер систем твердотельного моделирования
Рассмотрим существующие системы твердотельного моделирования и
выберем одну из них.
На сегодняшний день наибольшее распространение получили два
геометрических ядра: ACIS и Parasolid. Особняком стоят системы CATIA и
Pro/ENGINEER, использующие свой математический аппарат. При этом
считается, что ядро ACIS больше ориентировано на поверхностное
9
моделирование,
а
Parasolid
—
на
твердотельное.
В
базовой
функциональности эти ядра сейчас практически не применяются —
разработчики сами дописывают требуемые им функции. На Parasolid
базируются такие известные системы, как Unigraphics, Solid Edge и
SolidWorks. На ACIS основаны многие специализированные CAM-системы.
Типичными представителями в этом классе являются Cimatron и ADEM.
Убежденным приверженцем ядра ACIS является AutoCAD. Исторически
сложилось так, что на сегодняшний день CAD-системы на основе ядра
Parasolid обладают большей функциональностью, чем системы на ACIS.
Кроме того, Solid Edge и T-FLEX CAD и вовсе были переведены с ядра ACIS
на Parasolid. Это было сделано в основном для совместимости с их
«старшими братьями» — Unigraphics и I-DEAS. Однако сторонники ядра
ACIS не сдаются, и новая версия Autodesk Inventor базируется именно на
нем.[1]
Для данного курсового проекта достаточно системы среднего класса. К
этому классу относятся такие системы как Autodesk Inventor, КОМПАС-3D,
T-FLEX CAD 3D. Рассмотрим возможности этих систем более подробно.
3.3 Обзор CAD-системы КОМПАС-3D
Система КОМПАС-3D позволяет реализовать классический процесс
трехмерного параметрического проектирования — от идеи к ассоциативной
объемной модели, от модели к конструкторской документации.
Основные
компоненты
КОМПАС-3D
-
система
трехмерного
твердотельного моделирования, универсальная система автоматизированного
проектирования КОМПАС-График и модуль проектирования спецификаций.
Все они легки в освоении, имеют русскоязычные интерфейс и справочную
систему.
Компанией АСКОН разработаны различные приложения в области
трехмерного
эффективным
моделирования, дополняющие функционал КОМПАС-3D
инструментарием
для
решения
специализированных
инженерных задач. Модульность системы позволяет пользователю самому
10
определить набор необходимых ему приложений, обеспечивающих только
востребованную функциональность, за счет чего достигается оптимизация
стоимости решения.
Система КОМПАС-3D предназначена для создания трехмерных
ассоциативных
моделей
отдельных
деталей
и
сборочных
единиц,
содержащих как оригинальные, так и стандартизованные конструктивные
элементы. Параметрическая технология позволяет быстро получать модели
типовых изделий на основе однажды спроектированного прототипа.
Многочисленные сервисные функции облегчают решение вспомогательных
задач проектирования и обслуживания производства.
Ключевой
собственного
особенностью
математического
КОМПАС-3D
ядра
и
является
использование
параметрических
технологий,
разработанных специалистами АСКОН. [2]
Базовый функционал системы включает в себя:
 развитый инструментарий трехмерного моделирования;
 средства работы над проектами, включающими несколько тысяч
подсборок, деталей и стандартных изделий;
 функционал моделирования деталей из листового материала —
команды создания листового тела, сгибов, отверстий, жалюзи,
буртиков, штамповок и вырезов в листовом теле, замыкания
углов и т.д., а также выполнения развертки полученного
листового тела (в том числе формирования ассоциативного
чертежа развертки);
 специальные возможности, облегчающие построение литейных
форм — литейные уклоны, линии разъема, полости по форме
детали (в том числе с заданием усадки);
 средства создания поверхностей;
 инструменты
создания
пользовательских
библиотек типовых элементов;
11
параметрических
 возможность получения конструкторской и технологической
документации: встроенная система КОМПАС-График позволяет
выпускать чертежи, спецификации, схемы, таблицы, текстовые
документы;
 возможность простановки размеров и обозначений в трехмерных
моделях (поддержка стандарта ГОСТ 2.052–2006 «ЕСКД.
Электронная модель изделия»);
 поддержку стандарта Unicode;
 средства интеграции с различными CAD/CAM/CAE системами;
 средства защиты пользовательских данных, интеллектуальной
собственности и сведений, составляющих коммерческую и
государственную тайну (реализовано отдельным программным
модулем КОМПАС-Защита).
3.4 Обзор CAD-системы T-FLEX CAD 3D
САПР T-FLEX CAD - профессиональная конструкторская программа.
САПР T-FLEX CAD объединяет мощные параметрические возможности 2D и
3D-моделирования со средствами создания и оформления чертежей и
конструкторской документации.
Средства трехмерного моделирования САПР T-FLEX CAD позволяют
инженеру-конструктору легко создавать как простые детали, так и сборочные
модели, состоящие из тысяч компонентов. САПР T-FLEX CAD основана на
известном, проверенном практикой, геометрическом ядре Parasolid®,
разработанном компанией UGS. Передовые средства параметрического 3Dмоделирования позволяют конструкторам быстро создавать основную форму
детали и легко дорабатывать ее, добавляя как обычные элементы (отверстия,
фаски, скругления и др.), так и операции, создающие элементы с более
сложной геометрией (тела с параметрическим изменением профиля,
сглаживание трех граней, тело по сечениям, уклон граней и др.).
Документ САПР T-FLEX CAD может содержать любые типы объектов,
с которыми работает конструктор: чертежи деталей, сборочные чертежи,
12
трехмерные тела и поверхности, из которых состоят детали, трехмерные
сборочные модели, многостраничные спецификации и различные текстовые
документы, результаты конечно-элементного анализа и др. Для работы с
любым документом используется общий набор команд создания и
редактирования элементов модели. [3]
Вместе с САПР T-FLEX CAD поставляется обширный набор библиотек
параметрических элементов, куда входят библиотека стандартных элементов,
охватывающая более 250 ГОСТов, библиотека конструктивных элементов
(отверстия, канавки, элементы валов и т.п), библиотека элементов схем
(гидравлика, пневматика, радиодетали, кинематика и т.п.), библиотека
станочных приспособлений и другие. Особенностью САПР T-FLEX CAD
является
возможность
создания
и
редактирования
инженерами-
конструкторами библиотечных элементов только средствами самой САПР
без использования программирования и других специальных средств.
Библиотеки элементов поставляются как в двухмерном, так и в трехмерном
варианте.
3.5 Обзор CAD-системы Autodesk Inventor
AutoCAD Inventor Professional Suite (прежнее название – Autodesk
Inventor Professional) – система трехмерного твердотельного проектирования,
предназначенная для организаций, разрабатывающих сложные
машиностроительные изделия.
Функционал относящийся к Autodesk Inventor 10:
 Проектирование сложных сборок.
 Встроенная система управления проектом.
 Проектирование сварных конструкций.
 Быстрое проектирование типовых конструкций.
 Проектирование деталей.
 Тонколистовое проектирование.
 Выпуск чертежей.
13
 Поддержка формата DWG.
 Визуализация и анализ.
Проектирование сложных сборок
Адаптивные
технологии
Autodesk
Inventor
обеспечивают
проектирование изделия высокой сложности в контексте сборки – от
предварительного эскизного проекта до имитации работы изделия с учетом
наложенных сборочных зависимостей.
Технология iMate позволяет задавать набор поверхностей базирования,
которые определяют способ крепления детали в сборке. Когда такой набор
задан, вставка и крепление детали осуществляются буквально одним
щелчком мыши. Эта же технология работает и при создании пользователем
так называемых семейств деталей (Family-of-Parts). Новые варианты,
типоразмеры и исполнения конструктор получает, используя единожды
заданную геометрию детали и изменяя параметры модели.
Встроенная система управления проектом
В состав Autodesk Inventor входит Autodesk Vault – система управления
проектными
данными,
обеспечивающая
централизованное
хранение
проектных данных и их совместное использование. Autodesk Vault
поддерживает контроль версионности, блокирует изменение файлов при их
редактировании другим пользователем, а также позволяет управлять всеми
файлами, связанными с проектом, в том числе файлами Autodesk Inventor,
AutoCAD, систем конечно-элементного анализа, ЧПУ-систем, Microsoft
Word, Microsoft Excel и т.д. [5]
Проектирование деталей
В
основе
методов
проектирования
деталей
лежит
эскизное
проектирование, когда сначала намечаются контуры изделия, уточняются
размеры и геометрические формы. Твердое тело будущей детали получают
различными методами (вращение, выдавливание, сдвиг по направляющей,
построение по сечениям). Затем производится доработка детали с помощью
конструктивных элементов и других эскизов. Особенностью Autodesk
14
Inventor является то, что эскизы, используемые при построении, можно
импортировать из ранее созданных чертежей AutoCAD, а детальную
проработку детали проводить в контексте сборки, заимствуя контуры
сопрягаемых поверхностей, определяя размеры «по месту» и адаптируя тем
самым будущую деталь к ее окружению.
Удобный интерфейс системы и ее высокая интеллектуальность
дополняются набором конструктивных элементов, позволяющих быстро
преобразовывать облик изделия: создавать ребра жесткости, решетки,
выступы или пазы и т.д. Для проектирования прессформ и корпусных
деталей задействуются возможности построения тел по сечениям с
заданными ограничивающими кривыми, придание различного направления
уклона для наружного и внутреннего контуров сечения, возможности
поверхностного моделирования.
Визуализация и анализ
Autodesk Inventor обеспечивает улучшенную визуализацию текстур, в
том числе прозрачных, что позволяет работать с реальным видом изделия.
Использование наложения растровых изображений на поверхности детали
позволяет
имитировать
маркировку,
наклейки,
нанесение
местных
изображений и т.д. [4]
Среди других возможностей анализа – средства точного определения
пересечений деталей и узлов в сборке (в том числе в процессе работы
механизма), визуализация кинематических связей в механизме, контроль
контактного взаимодействия.
3.6 Выбор CAD-системы в качестве средства моделирования
При рассмотрении данных систем твердотельного моделирования выбор
делался между Autodesk Inventor и T-FLEX CAD. Компас был исключен в
связи с выявленными недостатками данной системы при работе с
параметризацией.
Система T-FLEX CAD удобна для создания параметрических деталей,
однако вызывает некоторое неудобство устройство ее интерфейса и
15
выполнение некоторых функций, в том числе отсутствие конструктивных
элементов. Также было выявлено,
что при допущении ошибки в самом
начале создание модели придется перестраивать всю модель, что замедляет
процесс разработки, а также возможность кардинального ее изменения.
Также большим плюсов в пользу Autodesk Inventor стало то, что модель,
созданная в нем, смотрится наиболее реалистично.
16
4. Разработка алгоритмов и методики
автоматизированного проектирования
В данном разделе представлена структура разрабатываемой САПР, а
также вынесены алгоритмы. Разработка структурно функциональной модели
позволяет наглядно представить возможности, плюсы и минусы, а также
проблемные моменты разрабатываемого объекта, что позволит ускорить
процесс создания, а также проверки объекта.
4.1 Структурно-функциональная модель САПР редуктора
На рисунке 1 представлена структурно функциональная схема системы
автоматизированного проектирования. В нее входят модуль ввода данных,
расчетный модуль передающий расчеты в файл, который возможно
просмотреть при помощи дополнительного модуля представления данных,
также часть расчетов передается в файл построения модели.
Константы
Входные
параметры
Ввод данных
Параметры
выбираемые
конструктор
Расчетная часть
Файл исходных
данных
Формирование
отчетов
Подключение к
API Autodesk
Inventor
3D Сборка
редуктора
Рисунок 1. Общая структура системы автоматизированного проектирования
17
На рисунке 2 представлена структура расчетного модуля, здесь
производится выбор двигателя, подбор материала, расчет геометрических
параметров, создание файла отчета, а также файла для построений.
База данных
электродвигателей
Базы данных
ГОСТ
Входные
параметры
Модуль подбора
двигателя
Параметры ЭД
Входные
параметры
Модуль расчета
крутящих
моментов, частот и
выбора материала
Модуль расчета
межосевого
расстояния,
проверки на
долговечность
Выбор
другого
материала
Моменты, частоты
Расчетные параметры
Файл отчета по
расчетам
Параметры материала,
межосевое растояние
Файл данных
для построения
Модуль проверки
выбранного
материала на
выносливость
Заключение о
выбранном материале
Модуль расчета
геометрических
параметров
зацепления
Рисунок 2. Структурная схема расчетного модуля
4.2 Способы доступа к API Autodesk Inventor
В рамках данного курсового проекта были рассмотрены различные
варианты доступа к API Autodesk Inventor.
18
Программный интерфейс Inventor API открывает доступ к таким
возможностям, как создание и редактирование эскизов, элементов деталей,
динамическое создание информационных атрибутов и наложение сборочных
зависимостей, печать, выбор и подсветка объектов.
В Autodesk Inventor предусмотрено два способа доступа к созданию
моделей, либо к изменению уже существующих через управляющую
программу.
Первый
способ
-
это
доступ
из
встроенного
языка
программирования VBA. Второй обеспечивает возможность доступа из
сторонних программных продуктов через COM1.
Autodesk Inventor включает Microsoft Visual Basic for Applications
(VBA) и позволяет создавать программы для автоматизации выполнения
различных процедур. Данный способ удобен при создание пользовательских
панелей инструментов, расчетов, создания дополнительных конструктивных
элементов. Он в полной мере удовлетворяет потребностям пользователя,
однако для людей, привыкших к другим языкам программирования, и
имеющих большое количество расчетных модулей реализованных на этих
языках удобнее использовать подключение к API через COM.
Подключение через COM целесообразнее использовать, когда уже
было создано расчетное приложение, и после этого возникла необходимость
добавить визуализацию (3D-модель, чертежи), или же когда производятся
сложные расчеты и количество затраченных ресурсов играет большую роль.
Плюсами VBA является то, что при использование VBA нет
необходимости помнить точные названия всех команд, для того чтобы их
вызвать достаточно ассоциативной связи с интерфейсной реализацией. Также
в VBA удобно создавать новые панели инструментов.
Минусы VBA связаны с тем, что под данный язык в настоящее время
не выпускается дополнительных модулей. Это связано с переходом на более
новые его модернизации, в том числе VB.NET. А также по этим причинам
СОМ – общая технология взаимодействия объектов стандартизующая как сами объекты, так и методы их
взаимодействия. Это спецификация, строящаяся на базе эталонных реализаций.
1
19
нет возможности быстрого создания приложений из большого числа уже
существующих модулей.
Плюсы других языков и оболочек заключаются в том, что под такие
оболочки как Delphi реализовано множество дополнительных модулей,
которые позволяют быстро создавать достаточно сложные приложения.
Минусы других языков и оболочек вызваны необходимостью помнить
все команды точно, т.к. ко внешним программным продуктам библиотека
подключается не всегда корректно.
В связи с выявленными плюсами и минуса, сжатых сроков, и простотой
модели, которая заключается в том, что необходимо менять лишь параметры
без перестроений, было принято решение использовать подключение через
COM. Основой это выбора стало хорошее знание языка pascal, и работы с
оболочкой для программирования Turbo Delphi.
Пример обращения к API Autodesk Inventor из Delphi.
inv:=CreateOleObject('Inventor.Application');
inv.visible:=true;
doc1:=inv.documents;
doc1.Open('c:\редуктор_модель\подшипник1.ipt',true);
doc2:=inv.ActiveDocument;
params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=B_pod/10;{изменение
первого
параметра}
doc2.Update;{обновление модели}
doc2.save;{сохранение файла}
doc2.close;{закрытие файла}
20
5. Обеспечение САПР
В структуре САПР выделяют следующие элементы: компоненты
обеспечения, подсистемы. Каждая подсистема состоит из компонентов,
обеспечивающих функционирование подсистемы. Компонент выполняет
определенную функцию в подсистеме и представляет собой наименьший
(неделимый) самостоятельно разрабатываемый или покупной элемент САПР
(программа, файл модели транзистора, графический дисплей, инструкция
и т. п.).
Совокупность
однотипных
компонентов
образует
средство
обеспечения САПР. Выделяют следующие виды обеспечения САПР.
5.1 Математическое обеспечение САПР
Математическое обеспечение САПР представляет собой совокупность
математических
методов,
математических
проектирования.
Элементами
моделей
математического
и
алгоритмов
обеспечения
являются
алгоритмы расчета и проектирования.
В
данном
проекте
применяется
набор
методов
расчета
цилиндрического редуктора, таких как выбор электродвигателя, выбор
материала, расчет геометрических параметров зацепления и другие.
Далее представлено описание нескольких методов проектирования.
1) Выбор электродвигателя производится по его мощности и в
соответствии с желаемым диапазоном частоты вращения его ротора.
Pэд 
Pпр.в
 прив
где Рпр - мощность на приводном валу;  прив - коэффициент полезного
действия привода.
 общ   муф   черв   рем   прив
21
Т.к. заданными параметрами являются мощность на приводном валу и
его частота вращения, то определение крутящих моментов на валах начинаем
с приводного вала.
Частота на входном (быстроходном) валу редуктора:
п1  пэд / u г.с.  1440 / 1,99  723,61об / мин .
Частота на выходном (тихоходном) валу редуктора:
п2  п1 и цил  723,62 / 2,5  289,45об / мин .
Частота на приводном валу:
ппр  п2  289,45об / мин .
Крутящий момент на валу электродвигателя:
Т эд  9550  Рэд пэд  9550  6 / 1440  44,06Н  м .
Крутящий момент на входном валу:
Т 1  Т эд  u г.с.  г.с.  44,06  1,99  0,95  83,3Н  м .
Крутящий момент на выходном валу:
Т 2  Т 1  и цил  цил  83,3  2,5  0,97  202 Н  м .
Крутящий момент на приводном валу:
Т пр  Т 2  м уф  202  0,98  197,96 Н  м .
2) Проектировочный расчет зубчатого зацепления
1. Межосевое расстояние
a'  K a  u цил  1  3
K H  T2
2
u цил
  H  р  ba
2
.
1
Ka = 430 МПа 3 .
KH = 1,2 (коэффициент, учитывающий концентрацию нагрузки – при симметричном
расположении колес).
ba =
b2
 0,4 (коэффициент ширины колеса).
aw
a'  430  2,5  1  3
1,2  202
 104,78 мм.
2,5  536 2  0,4
2
По рекомендации [3, с. 246] выбираем стандартное рекомендуемое межосевое
расстояние а ст = 100 мм.
2. Назначаем нормальный модуль по соотношению:
mn = (0,01…0,02)·а  2 мм,
mn = (0,01…0,02)·100 = (1…2) мм.
Изм.
Лист
№ докум.
Подпись
Дата
22 ДМ 30.12.00.000 ПЗ
Лист
5
По ГОСТ 9563-80 принимаем стандартный m = 2, так как для силовых передач
m  2 мм.
3. Определяем число зубьев шестерни и колеса
Число зубьев шестерни:
2  a  Cos100
z1 
 17 Сos100,
mn  u  1
2 100  Cos100
z1 =
 28,14>16.
2  2,5  1
Принимаем z1 = 28.
Число зубьев колеса:
z2 = u·z1 = 2,5·28 = 70.
4. Уточняем передаточное число:
uф =
z 2 70

 2,5 - отклонений от требуемого u нет (допускается  4%).
z1 28
5. Уточняем угол наклона зубьев
  arccos[mn z1 (1  uф ) /( 2аw )]  arccos[2  28(1  2,5) /( 2 100)]  11,478340950
6. Определяем диаметры делительных окружностей колёс
d1 = mn ·z1/Cos  = 2·28/ Cos 11,47834095 = 57,14 мм.
d2 = mn ·z2/Cos  = 2·70/ Cos 11,47834095 = 142,86 мм.
7. Проверка межосевого расстояния:
а = 0,5·(d1+d2) = a ст ,
а = 0,5·(57,14+142,86) =100 мм = а ст =100 мм.
8. Определяем ширину зубчатых колёс:
b2 = ba·a = 0,4·100 = 40мм.
По ГОСТ 6636-69 округляем до стандартного значения
b2 = 40 мм.
Ширину шестерни назначим на (5…8) мм больше
b1 = b2+(5…8) = 40+(5…8) = 45…48 мм, принимаем b1 = 48 мм.
3) Расчет валов
Определим наименьший диаметр вала из расчета только на кручение при пониженных
допускаемых напряжениях:
d к  10  3
T
,
0,2   
где Т – крутящий момент на валу, Н·мм;    25МПа - для углеродистых сталей.
а) наименьший диаметр быстроходного вала:
23
d1  1,110  3
83,3
 28,1мм ;
0,2  25
б) наименьший диаметр тихоходного вала:
d 2  1,1 10  3
202
 37,7 мм .
0,2  25
Назначаем длины участков быстроходного вала.
L1=Lст1+2Х+W1 ; Lст1=(1,0…1,5)dст1 ; Х=5…10 мм.
W – ширина конструктивного элемента в месте установки подшипников в зависимости
от крутящего момента. Т1 = 83,3 Н·м – W1=83,3–50 мм.
Т2=202 Н·м – W2=30-60 мм.
5.2 Информационное обеспечение САПР
Информационное обеспечение САПР представляет собой совокупность
документов, описывающих стандартные проектные процедуры, типовые
проектные решения,
типовые
элементы
и
комплектующие
изделия,
материалы и другие данные, а также файлы и блоки данных на машинных
носителях с записью указанных документов. Главной целью создания
информационного обеспечения САПР является разработка информационной
системы, позволяющей правильно и быстро решать проектные задачи. Это
может быть достигнуто своевременной выдачей источнику запроса полной и
достоверной информации для выполнения определенной части проектноконструкторского процесса.
В качестве информационного обеспечения в данной курсовой выделено
2 направления: внутренние базы данных T_Flex, содержащие необходимые
данные для расчетов внутренних переменных (рис. 1). Они создаются
непосредственно в CAD-системе при помощи редактора баз данных.
24
Рис. 1. Внутренняя база данных T-Flex.
Так же используются базы данных, используемые непосредственно в
программе. Они хранятся
во
внешних
файлах, подключаются при
необходимости и участвуют в расчетах. (рис. 2)
Рисунок 2. База данных в Delphi
5.3 Лингвистическое обеспечение САПР
Лингвистическое обеспечение - совокупность языков, используемых в
САПР для представления информации о проектируемых объектах, процессе
и
средствах
проектирования,
а
также
для
осуществления
диалога
проектировщик - ЭВМ и обмена данными между техническими средствами
САПР,
включает
термины,
определения,
правила
формализации
естественного языка, методы сжатия и развертывания.
В данном курсовом проекте лингвистическим обеспечением является
язык
программирования
Paskal,
на
котором
основана
среда
программирования Delphi 7.
Язык Pascal — высокоуровневый язык программирования общего
назначения. Один из наиболее известных языков программирования, широко
25
применяется
в
промышленном
программировании,
обучении
программированию в высшей школе, является базой для большого числа
других языков.
Особенностями языка являются строгая типизация и наличие средств
структурного (процедурного) программирования. Этот язык отличается
простотой понимания, стройностью и структурностью алгоритмов,
быстротой компилятора и удобными средствами создания и отладки
программ.
Достоинствами языка Паскаль являются:
1. Простой синтаксис языка. Небольшое число базовых понятий.
Программы на Паскале достаточно легко читаемы.
2. Достаточно низкие аппаратные и системные требования как самого
компилятора, так и программ, написанных на Паскале.
3. Универсальность языка. Язык Паскаль применим для решения
практически всех задач программирования.
4. Поддержка структурного програмирования, программирования
"сверху-вниз", а также объектно-ориентированного программирования.
5.4 Программное обеспечение САПР
Программное обеспечение, представляемое компьютерными программами
необходимыми для осуществления процесса проектирования. Программное
обеспечение САПР подразделяется на общесистемное и прикладное:

Общесистемное
программное
обеспечение
предназначено
для
управления компонентами технического обеспечения и обеспечения
функционирования прикладных программ. Примером компонента
общесистемного программного обеспечения является операционная
система.

Прикладное программное обеспечение реализует математическое
обеспечение для непосредственного выполнения проектных процедур,
включает программы пакеты прикладных программ, предназначенные
для обслуживания определенных этапов проектирования или групп
однотипных задач внутри различных этапов (модуль проектирования
26
трубопроводов,
пакет
схемотехнического
моделирования,
геометрический решатель САПР).
При разработке данного проекта было задействовано общесистемное
программное обеспечение Windows XP, Delphi project, Autodesk Inventor, MS
Excel.
5.4 Техническое обеспечение САПР
Техническое
обеспечение
-
совокупность
связанных
и
взаимодействующих технических средств, обеспечивающих работу САПР,
включающая
различные
аппаратные
средства
(ЭВМ,
периферийные
устройства, сетевое оборудование, линии связи, измерительные средства).
В качестве технического обеспечение для данного курсового проекта
выступают:
1) ЭВМ с минимальными системными требованиями:



32-разрядный (x86) процессор с тактовой частотой 1 гигагерц (ГГц) или выше;
1 гигабайт (ГБ) (для 32-разрядной системы) или 2 ГБ (для 64-разрядной системы)
оперативной памяти (ОЗУ);
15 Мб (для 32-разрядной системы) или 20 ГБ (для 64-разрядной системы)
пространства на жестком диске;
2) Принтер для печати отчетов.
5.5 Методическое обеспечение САПР
Методическое обеспечение — описание технологии функционирования
САПР, методов выбора и применения пользователями технологических
приемов для получения конкретных результатов, включающее в себя теорию
процессов, происходящих в проектируемых объектах, методы анализа,
синтеза систем и их составных частей, различные методики проектирования.
Методичка по работе с САПР
27
При запуске системы выводится модуль для ввода исходных данных,
также исходные данные можно загрузить из пункта меню файл/загрузить
исходные данные. После ввода исходных исходных данных необходимо
выполнить настройку САПР: в меню файл выбрать пункт настройка, здесь
предоставляется выбор о выходной документации (отчет в MS Excel, модель
в Autodesk Inventor). Когда САПР настроена можно выполнять расчет выбрав
из меню файл, пункт рассчитать.
5.6 Организационное обеспечение САПР
Организационное
определяющих
подразделениями,
состав
обеспечение
проектной
организационную
—
совокупность
организации,
структуру
документов,
связь
объекта
и
между
системы
автоматизации, деятельность в условиях функционирования системы, форму
представления результатов проектирования. В организационное обеспечение
входят
штатные
расписания,
должностные
эксплуатации, приказы, положения и т. п.
28
инструкции,
правила
6. Пример программы
На рисунке 8 представлен внешний вид САПР расчета цилиндрического
редуктора.
Рисунок 8. Внешний вид САПР.
В приложении А представлен результат работы программы построение
3D модели..
29
7. Заключение
В современном мире с нынешним разнообразием систем трехмерного
моделирования встает вопрос о том, которая из них сможет в полной мере
удовлетворить потребность инженера проектировщика. А так же которую из
систем
удобнее
использовать
для
создания
своей
системы
автоматизированного проектирования. При выполнении данной курсовой
работы была разработана система автоматизированного проектирования,
выбрана CAD система для построения модели.
Была выбрана система Autodesk Inventor в связи с тем, что она крайне
удобна в использовании, а так же проста в освоение, имеет хорошо
отлаженную параметризацию. И помимо всего она обладает инструментами
позволяющими приблизить создаваемую модель к реальной.
Также была проведена работа по изучению некоторых команд API
Autodesk Inventor, а также по доступу к нему.
30
8 . Список используемой литературы
1. Архив статей журнала «САПР и графика» [электронный ресурс];
http://www.sapr.ru/Article.aspx?id=19696
2. Серия
продуктов
АСКОН
Компас
[электронный
ресурс];
http://machinery.ascon.ru/software/tasks/items/?prcid=6&prpid=7
3. Серия
продуктов
T-FLEX
[электронный
ресурс];
http://tflex.ru/products/complex/differents.php
4. Серия
продуктов
Autodesk
Inventor
[электронный
ресурс];
http://www.cad.ru/ru/software/detail.php?ID=12012
5. Издания. Система стандартов по информации, библиотечному и
издательскому делу: ГОСТ 7.53-2001
6. Издания. Отчёт о научно-исследовательской работе. Структура и
правила оформления: ГОСТ 7.32-2001
7. Издания. Библиографическая запись. Сокращение слов на русском
языке. Общие требования и правила: ГОСТ 7.12-2001
8. В.Г. Концевич, Современный самоучитель работы в Autodesk Inventor,
Лань, 2006
9. В.П. Тихомиров, А.Г. Стриженок, Проектирование машин, Брянск
издательство БГТУ, 2005
10. П.Ф. Дунаев, О.П. Леликов, Конструирование узлов и деталей машин,
Высшая школа, 1998
31
Приложение А
Рисунок А – Модель редуктора
32
Листинг программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Math, XPMan, OleCtrls, ComObj, ComCtrls, Grids;
type
TForm1 = class(TForm)
lbl1: TLabel;
edt1: TEdit;
lbl2: TLabel;
edt2: TEdit;
lbl3: TLabel;
edt3: TEdit;
btn1: TButton;
mmo1: TMemo;
btn2: TButton;
btn3: TButton;
btn4: TButton;
btn5: TButton;
btn6: TButton;
lbl4: TLabel;
lbl5: TLabel;
lbl6: TLabel;
lbl7: TLabel;
lbl8: TLabel;
edt4: TEdit;
edt5: TEdit;
edt6: TEdit;
edt7: TEdit;
lbl9: TLabel;
edt8: TEdit;
lbl10: TLabel;
edt9: TEdit;
lbl11: TLabel;
edt10: TEdit;
lbl12: TLabel;
edt11: TEdit;
btn7: TButton;
xpmnfst1: TXPManifest;
procedure FormCreate(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure btn4Click(Sender: TObject);
procedure btn5Click(Sender: TObject);
procedure btn6Click(Sender: TObject);
procedure btn7Click(Sender: TObject);
33
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
P_pr, n_priv: Real;
t: Integer;
n1, n2, T1, T2:Real;
u, aw_gl,m_gl,B_gl, sigma_H_ras_gl, sigma_H_min_gl, sigma_F_min_gl, sigma_h_max_gl,
sigma_F_max_gl:Real;
z1_gl, z2_gl : Integer;
d1, d2 :Real;
b1, b2, tn :Integer;
T_bl1, T_bl2, T_bl3, t_1, t_2, t_3, Tmax_Tnom: real;
da1, da2, df1, df2 :Real;
inv, doc1, doc2, params : Variant;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
mmo1.Lines.Clear;
mmo1.ScrollBars:=ssVertical;
mmo1.Lines.Add('Инструкция');
mmo1.Lines.Add('');
{mmo1.Text:='Для корректной работы программы проводите все расчеты посредством
нажатия кнопок сверху вниз, а именно соблюдайте последовательность: 1. "Выбор
двигателя", 2. "Расчет напряжений", 3."Геометрические характеристики", 4. "Оценка КПД
редуктора", 5. "Определение усилий". После этого нажмите кнопку "Построить в TFlex".';}
P_pr:=strtofloat(edt1.text);
n_priv:= StrToInt(edt2.text);
t:=StrToInt(edt3.text);
Tmax_Tnom:=strtofloat(edt4.text);
T_bl1:=strtofloat(edt5.text);
T_bl2:=strtofloat(edt6.text);
T_bl3:=strtofloat(edt7.text);
t_1:=strtofloat(edt8.text);
t_2:=strtofloat(edt9.text);
t_3:=strtofloat(edt10.text);
tn:=strtoInt(edt11.text);
34
end;
procedure TForm1.btn1Click(Sender: TObject);
var kpd, kpd_sv, kpd_m, kpd_pr_v, kpd_red, P_ed, P_pr : real;
mark:string;
P,na,ns, u_f, T_ed:real;
f:TStringList;
i,n:integer;
tempP,tempn:real;
tempmass:array[0..100] of real;
begin
mmo1.Lines.Clear;
{Рассчет мощности электродвигателя}
kpd_sv:=0.95; kpd_m:=0.98; kpd_pr_v:=0.99; kpd_red:=0.97;
kpd:=kpd_sv*kpd_m*kpd_pr_v*kpd_red;
P_pr:=strtofloat(edt1.text);
P_ed:= P_pr/kpd;
f:=TStringList.Create();
f.LoadFromFile('engines.txt');
for i:=0 to f.count-1 do
if pos('P',f.strings[i])<>0 then
begin
tempP:=strtofloat(copy(f.Strings[i],pos('P',f.Strings[i])+1,pos('na',f.Strings[i])pos('P',f.Strings[i])-2));
tempn:=strtofloat(copy(f.Strings[i],pos('na',f.Strings[i])+2,pos('ns',f.Strings[i])pos('na',f.Strings[i])-2));
if ((tempP-P_ed)>=0) and ((tempn/n_priv/2)>1.8) and ((tempn/n_priv/2)<4) then
tempmass[i]:=tempP-P_ed
else tempmass[i]:=1000;
end;
for i:=1 to f.Count-1 do
begin
if tempmass[i]<1000 then
begin
n:=i;
Break;
end;
end;
na:=strtofloat(copy(f.Strings[n],pos('na',f.Strings[n])+2,pos('ns',f.Strings[n])pos('na',f.Strings[n])-2));
ns:=strtofloat(copy(f.Strings[n],pos('ns',f.Strings[n])+2,length(f.strings[n])));
mark:=copy(f.Strings[n],1,pos('P',f.Strings[n])-3);
P:=strtofloat(copy(f.Strings[n],pos('P',f.Strings[n])+1,pos('na',f.Strings[n])-pos('P',f.Strings[n])2));
35
mmo1.Lines.Add('');
mmo1.Lines.Add('Мощность выбранного двигателя, кВт');
mmo1.Lines.Add(floattostr(P));
u:=na/n_priv/2;
u_f:=u;
u:=Round(u);
mmo1.Lines.Add('');
mmo1.Lines.Add('u двигателя');
mmo1.Lines.Add(floattostr(u));
T_ed:=9550*P_ed / na;
T1:=T_ed*kpd_sv*u_f;
mmo1.Lines.Add('');
mmo1.Lines.Add('T1=');
mmo1.Lines.Add(floattostr(RoundTo(T1,-2)));
T2:=T1*u*kpd_red;
mmo1.Lines.Add('');
mmo1.Lines.Add('T2=');
mmo1.Lines.Add(floattostr(RoundTo(T2,-2)));
n1:=na/u_f;
mmo1.Lines.Add('');
mmo1.Lines.Add('n1=');
mmo1.Lines.Add(floattostr(Round(n1)));
n2:=n1/u;
mmo1.Lines.Add('');
mmo1.Lines.Add('n2=');
mmo1.Lines.Add(floattostr(Round(n2)));
end;
procedure TForm1.btn2Click(Sender: TObject);
var HB1, HB2, sigma_T_1, sigma_T_2: Integer;
sigma_H_lim_b1, K_HL : Integer;
N_HE1, N_HO1, HB1_res, S_H, sigma_H1 :Real;
sigma_H_lim_b2: Integer;
N_HE2, N_HO2, HB2_res, sigma_H2 :Real;
sigma_H_ras, sigma_H_min, sigma_h_max2, sigma_F_max2 : Real;
N_FO, K_FL : Integer;
S_F, sigma_F_min, sigma_h_max: Real;
sigma_F_lim_b1, sigma_F1, N_FE1: Real;
sigma_F_lim_b2, sigma_F2, N_FE2: Real;
36
begin
{Допускаемые контактные напряжения}
HB1:=270;
HB2:=250;
sigma_T_1:=700;
sigma_T_2:=550;
{для шестерни}
sigma_H_lim_b1:=2*HB1+70;
N_HE1:=60*n1*t*(T_bl1*T_bl1*T_bl1*t_1+T_bl2*T_bl2*T_bl2*t_2+T_bl3*T_bl3*T_bl3*t_3
);
HB1_res:=Exp(2.4*ln(HB1));
N_HO1:=30*HB1_res;
K_HL:=1;
S_H:=1.1;
sigma_H1:=sigma_H_lim_b1*K_HL/S_H;
mmo1.Lines.Add('');
mmo1.Lines.Add('Допускаемые контактные напряжения:');
mmo1.Lines.Add('');
mmo1.Lines.Add('для шестерни');
mmo1.Lines.Add(floattostr(sigma_H1));
{для колеса}
sigma_H_lim_b2:=2*HB2+70;
N_HE2:=N_HE1/u;
HB2_res:=Exp(2.4*ln(HB2));
N_HO2:=30*HB2_res;
sigma_H2:=sigma_H_lim_b2*K_HL/S_H;
mmo1.Lines.Add('');
mmo1.Lines.Add('для колеса');
mmo1.Lines.Add(floattostr(sigma_H2));
{Выбор расчетного значения допускаемых контактных напряжений для колес с зубьями}
sigma_H_ras:=0.5*(sigma_H1+sigma_H2);
if sigma_H1>sigma_H2 then sigma_H_min:=1.25*sigma_H2
else sigma_H_min:=1.25*sigma_H1;
sigma_H_min_gl:=sigma_H_min;
if sigma_H_ras>sigma_H_min then ShowMessage('Неверные исходные данные');
mmo1.Lines.Add('');
mmo1.Lines.Add('Расчетное значение допускаемых контактных напряжений');
mmo1.Lines.Add(floattostr(sigma_H_ras));
sigma_H_ras_gl:=sigma_H_ras;
37
{допускаемые контактные напряжения при перегрузке}
sigma_h_max2:=2.8*sigma_T_2;
sigma_h_max_gl:=sigma_h_max2;
mmo1.Lines.Add('');
mmo1.Lines.Add('Допускаемые контактные напряжения при перегрузке');
mmo1.Lines.Add(floattostr(sigma_H_max2));
{Допускаемые изгибные напряжения}
{для шестерни}
S_F:=1.75;
N_FO:=4000000;
K_FL:=1;
sigma_F_lim_b1:=1.8*HB1;
N_FE1:=60*n1*t*(T_bl1*T_bl1*T_bl1*T_bl1*T_bl1*T_bl1*t_1+T_bl2*T_bl2*T_bl2*T_bl2*
T_bl2*T_bl2*t_2+T_bl3*T_bl3*T_bl3*T_bl3*T_bl3*T_bl3*t_3);
sigma_F1:=sigma_F_lim_b1*K_FL/S_F;
mmo1.Lines.Add('');
mmo1.Lines.Add('Допускаемые изгибные напряжения:');
mmo1.Lines.Add('');
mmo1.Lines.Add('для шестерни');
mmo1.Lines.Add(floattostr(sigma_F1));
{для колеса}
sigma_F_lim_b2:=1.8*HB2;
N_FE2:=N_FE1/u;
sigma_F2:=sigma_F_lim_b2*K_FL/S_F;
mmo1.Lines.Add('');
mmo1.Lines.Add('для колеса');
mmo1.Lines.Add(floattostr(sigma_F2));
{допускаемые изгибные напряжения при перегрузке}
sigma_F_max2:=0.8*sigma_T_1;
sigma_F_max_gl:=sigma_F_max2;
mmo1.Lines.Add('');
mmo1.Lines.Add('Допускаемые изгибные напряжения при перегрузке');
mmo1.Lines.Add(floattostr(sigma_F_max2));
if sigma_F2<sigma_F1 then sigma_F_min:=sigma_F2 else
sigma_F_min:=sigma_F1;
sigma_F_min_gl:=sigma_F_min;
end;
procedure TForm1.btn3Click(Sender: TObject);
var sigma_H_ras : Real;
K_a, K_hb, psi_ba, x, x1, x2 : Real;
38
aw, aw_2, m_2, z1, z2, b2_2 : Integer;
aw_1,m_1, m, z1_1, z2_1, kontr, aw_kontr, b2_1:Single;
u_t, B, A, E, mu, E_pr, E_B, K_E, E_A, E_B_2 :Real;
sigma_H_min, sigma_F_min, sigma_H_max, sigma_H_max_1, sigma_F_max_1, sigma_F_max
: Real;
Z_H, Z_M, Z_E:Real;
E_B_1, F_t, psi_bd, psi_bd_1, psi_bd_2, K_o_HB, xi, K_HB_1, v, K_HV :real;
E_B_3, psi_bd_3, st_tochn, v_1 :Integer;
sigma_H, K_HV_1, delta_sigma_H: Real;
z_v1, z_v2, Y_F1, Y_F2, Y_E, Y_B, koef1, koef2, sigma_F : Real;
z_v1_1, z_v2_1 : Integer;
begin
{Расчет цилиндрической косозубой передачи}
sigma_H_ras:=sigma_H_ras_gl;
sigma_F_min:=sigma_F_min_gl;
sigma_H_max:=sigma_H_max_gl;
sigma_F_max:=sigma_F_max_gl;
{mmo1.Lines.Add(floattostr(sigma_H_ras_gl));}
K_a:=430;
K_hb:=1.2;
psi_ba:=0.315;
x1:=u*u*sigma_H_ras*sigma_H_ras*psi_ba;
x2:=K_hb*T2;
{mmo1.Lines.Add(floattostr(x1));
mmo1.Lines.Add(floattostr(x2));}
x:=x2/x1;
aw_1:=k_a*(u+1)*power(x, 1/3);
aw_2:=Round(aw_1);
mmo1.Lines.Add('');
mmo1.Lines.Add('');
mmo1.Lines.Add('Межосевое расстояние');
mmo1.Lines.Add(floattostr(aw_2));
case aw_2 of
0..40: aw:=40;
41..50: aw:=50;
51..63: aw:=63;
64..80: aw:=80;
81..100: aw:=100;
101..125: aw:=125;
126..160: aw:=160;
161..200: aw:=200;
201..250: aw:=250;
else ShowMessage('Неверные исходные данные');
end;
39
mmo1.Lines.Add('');
mmo1.Lines.Add('Назначаем межосевое расстояние по ГОСТ 2185-66');
mmo1.Lines.Add(floattostr(aw));
{Назначаем модуль}
m_1:=0.02*aw;
m_2:=Trunc(m_1);
case m_2 of
0..2: m:=2;
3: m:=3;
4: m:=4;
5,6: m:=6;
7,8: m:=8;
9,10: m:=10;
else ShowMessage('Неверные исходные данные');
end;
mmo1.Lines.Add('');
mmo1.Lines.Add('Назначаем модуль по ГОСТ 9563-80');
mmo1.Lines.Add(floattostr(m));
{Определим число зубьев шестерни и колеса}
z1_1:=(2*aw*cos(Pi/18))/(m*(1+u));
kontr:=17*cos(Pi/18)*cos(Pi/18)*cos(Pi/18);
if z1_1>=kontr then begin
z1:=Round(z1_1);
z2_1:=u*z1;
z2:=Round(z2_1);
mmo1.Lines.Add('');
mmo1.Lines.Add('Число зубьев шестерни');
mmo1.Lines.Add(floattostr(z1));
mmo1.Lines.Add('');
mmo1.Lines.Add('Число зубьев колеса');
mmo1.Lines.Add(floattostr(z2));
end else ShowMessage('Неверные исходные данные');
{Уточняем передаточное число}
u_t:=z2/z1;
if ((u-0.04*u)<=u_t) and ((u+0.04*u)>=u_t) then begin
{Уточняем угол наклона зубьев}
B:=arccos(m*z1*(1+u)/(2*aw));
if (B>=2*pi/45)and (B<=Pi/9) then begin
{Определяем диаметры делительных окружностей колес}
d1:=m*z1/cos(B);
40
d2:=m*z2/cos(B);
mmo1.Lines.Add('');
mmo1.Lines.Add('Диаметр шестерни');
mmo1.Lines.Add(floattostr(d1));
mmo1.Lines.Add('');
mmo1.Lines.Add('Диаметр колеса');
mmo1.Lines.Add(floattostr(d2));
{Проверка межосевого расстояния}
aw_kontr:=0.5*(d1+d2);
if aw_kontr=aw then begin
{Определяем ширину зубчатых колес}
b2_1:=psi_ba*aw;
b2_2:=Round(b2_1);
case b2_2 of
9,10: b2:=10;
11: b2:=11;
12: b2:=12;
13,14: b2:=14;
15,16: b2:=16;
17,18: b2:=18;
19,20: b2:=20;
21,22: b2:=22;
23..25: b2:=25;
26..28: b2:=28;
29..32: b2:=32;
33..36: b2:=36;
37..40: b2:=40;
41..45: b2:=45;
46..50: b2:=50;
51..56: b2:=56;
57..63: b2:=63;
64..71: b2:=71;
72..80: b2:=80;
81..100: b2:=100;
else ShowMessage('Неверные исходные данные');
end;
mmo1.Lines.Add('');
mmo1.Lines.Add('Назначаем ширину зубчатого колеса по ГОСТ 6636-69');
mmo1.Lines.Add(floattostr(b2));
b1:=b2+5;
if (b1 mod 2=0) then b1:=b1 else b1:=b1+1;
mmo1.Lines.Add('');
mmo1.Lines.Add('Назначаем ширину шестерни');
mmo1.Lines.Add(floattostr(b1));
41
end else ShowMessage('Неверные исходные данные: недопустимое значение
межосевого расстояния');
end
else ShowMessage('Неверные исходные данные: недопустимое значение угла B');
end
else ShowMessage('Неверные исходные данные: недопустимое отклонение от требуемого
u');
{Проверочный расчет цилиндрической косозубой передачи}
sigma_H_min:=sigma_H_min_gl;
{mmo1.Lines.Add(floattostr(sigma_H_min)); }
A:=Pi/9;
E:=210000;
mu:=0.3;
Z_H:=Sqrt((2*cos(B)*cos(B))/sin(A));
{mmo1.Lines.Add(floattostr(Z_H));}
E_pr:=2*E*E/(E+E);
Z_M:=Sqrt(E_pr/(Pi*(1-mu*mu)));
{mmo1.Lines.Add(floattostr(Z_M));}
E_A:=(1.88-3.2*(1/z1+1/z2))*cos(B);
E_B:=b2*sin(B)/(Pi*m);
E_B_2:=RoundTo(E_B, -2);
E_B_1:=E_B_2*100;
E_B_3:=Trunc(E_B_1);
case E_B_3 of
0..5: K_E:=1;
6..30: K_E:=0.95;
else K_E:=0.9;
end;
Z_E:=Sqrt(1/(K_E*E_A));
{ mmo1.Lines.Add(floattostr(Z_E));}
{Окружная сила}
{F_t:=2*T1/d1;}
F_t:=2*T2*1000/d2;
42
mmo1.Lines.Add('');
mmo1.Lines.Add('Окружная сила в зацеплении');
mmo1.Lines.Add(floattostr(F_t));
{Коэффициент нагрузки}
psi_bd:=b2/d1;
psi_bd_1:=RoundTo(psi_bd,-2);
psi_bd_2:=psi_bd_1*100;
psi_bd_3:=Trunc(psi_bd_2);
{ mmo1.Lines.Add('');
mmo1.Lines.Add('psi_bd');
mmo1.Lines.Add(floattostr(psi_bd));
mmo1.Lines.Add('');
mmo1.Lines.Add('psi_bd округленная до сотых');
mmo1.Lines.Add(floattostr(psi_bd_1));
mmo1.Lines.Add('');
mmo1.Lines.Add('psi_bd округлнная до сотых и умножить на 100');
mmo1.Lines.Add(floattostr(psi_bd_2));}
case psi_bd_3 of
0..20: K_o_HB:=1.05;
21..40: K_o_HB:=1.08;
41..60: K_o_HB:=1.14;
61..80: K_o_HB:=1.26;
81..100: K_o_HB:=1.4;
101..120: K_o_HB:=1.6;
121..140: K_o_HB:=1.8;
141..160: K_o_HB:=2;
else ShowMessage('Неверные исходные данные');
end;
xi:=t_bl1*t_1+t_bl2*t_2+t_bl3*t_3;
K_HB_1:=(1-xi)*K_o_HB+xi;
{Определяем K_HV}
v:=Pi*d1*n1/(60*1000);
if v<=4 then st_tochn:=9 else
if (v>4) and (v<=10) then st_tochn:=8 else
if (v>10) and (v<=15) then st_tochn:=7 else
ShowMessage('Неверные исходные данные');
v_1:=Round(v);
if st_tochn=7 then
begin
case v_1 of
0,1: K_HV:=1.02;
2: K_HV:=1.03;
43
3,4: K_HV:=1.05;
5,6: K_HV:=1.06;
7,8: K_HV:=1.07;
9,10: K_HV:=1.08;
else ShowMessage('Неверные исходные данные');
end;
end;
if st_tochn=8 then begin
case v_1 of
0,1: K_HV:=1;
2: K_HV:=1.01;
3,4: K_HV:=1.02;
5,6: K_HV:=1.03;
7,8: K_HV:=1.03;
9,10: K_HV:=1.04;
else ShowMessage('Неверные исходные данные');
end;
end;
if st_tochn=9 then begin
case v_1 of
0,1: K_HV:=1.01;
2: K_HV:=1.01;
3,4: K_HV:=1.02;
5,6: K_HV:=1.03;
7,8: K_HV:=1.04;
9,10: K_HV:=1.05;
else ShowMessage('Неверные исходные данные');
end
end;
mmo1.Lines.Add('');
mmo1.Lines.Add('Степень точности');
mmo1.Lines.Add(floattostr(st_tochn));
mmo1.Lines.Add('');
mmo1.Lines.Add('V');
mmo1.Lines.Add(floattostr(v));
{mmo1.Lines.Add('');
mmo1.Lines.Add('K_HV');
mmo1.Lines.Add(floattostr(K_HV));}
K_HV_1:=K_HB*K_HV;
sigma_H:=Z_H*Z_M*Z_E*sqrt((F_t*K_HV_1*(u+1))/(d1*b2*(u+1)));
{mmo1.Lines.Add('');
mmo1.Lines.Add('Z_H');
mmo1.Lines.Add(floattostr(Z_H));
44
mmo1.Lines.Add('');
mmo1.Lines.Add('Z_M');
mmo1.Lines.Add(floattostr(Z_M));
mmo1.Lines.Add('');
mmo1.Lines.Add('Z_E');
mmo1.Lines.Add(floattostr(Z_E));
mmo1.Lines.Add('');
mmo1.Lines.Add('K_HV');
mmo1.Lines.Add(floattostr(K_HV_1));}
mmo1.Lines.Add('');
mmo1.Lines.Add('Контактная выносливость зубьев');
mmo1.Lines.Add(floattostr(sigma_H));
mmo1.Lines.Add('');
mmo1.Lines.Add('sigma_H_ras');
mmo1.Lines.Add(floattostr(sigma_H_ras));
if (sigma_H <= sigma_H_ras) then
begin
{Считаем недогрузку передачи}
delta_sigma_H:= (sigma_H_ras-sigma_H)/sigma_H_ras*100;
if delta_sigma_H < 15 then begin
mmo1.Lines.Add('');
mmo1.Lines.Add('Недогрузка передачи составляет, %');
mmo1.Lines.Add(floattostr(delta_sigma_H));
end
end else ShowMessage('Неверные исходные данные: недопустимая недогрузка
передачи');
{else ShowMessage('Неверные исходные данные');}
{Проверка пердачи на изгибную выносливость}
Z_v1:=z1/(cos(B)*cos(B)*cos(B));
Z_v1_1:=Round(Z_v1);
case Z_v1_1 of
0..17: Y_F1:=4.27;
18..20: Y_F1:=4.07;
21..25: Y_F1:=3.9;
26..30: Y_F1:=3.8;
31..40: Y_F1:=3.7;
41..50: Y_F1:=3.65;
51..60: Y_F1:=3.63;
61..80: Y_F1:=3.61;
81..100: Y_F1:=3.6;
101..120: Y_F1:=3.59;
else ShowMessage('Неверные исходные данные');
45
end;
mmo1.Lines.Add('');
mmo1.Lines.Add('Y_F1');
mmo1.Lines.Add(floattostr(Y_F1));
Z_v2:=z2/(cos(B)*cos(B)*cos(B));
Z_v2_1:=Round(Z_v2);
case Z_v2_1 of
0..17: Y_F2:=4.27;
18..20: Y_F2:=4.07;
21..25: Y_F2:=3.9;
26..30: Y_F2:=3.8;
31..40: Y_F2:=3.7;
41..50: Y_F2:=3.65;
51..60: Y_F2:=3.63;
61..80: Y_F2:=3.61;
81..100: Y_F2:=3.6;
101..120: Y_F2:=3.59;
else ShowMessage('Неверные исходные данные');
end;
mmo1.Lines.Add('');
mmo1.Lines.Add('Y_F2');
mmo1.Lines.Add(floattostr(Y_F2));
{Коэффициент, учитывающий перекрытие зубьев}
k_a:=1;
Y_E:=Z_E*Z_E;
{Коэффициент, учитывающий угол наклона зубьев}
Y_B:=1-B/140;
{Условие прочности}
koef1:=sigma_F_min/Y_F1;
koef2:=sigma_F_min/Y_F2;
if koef2<koef1 then
sigma_F:=(F_t*K_HV_1/(2*b2))*Y_F2*Y_E*Y_B
else sigma_F:=(F_t*K_HV_1/(2*b1))*Y_F1*Y_E*Y_B;
mmo1.Lines.Add('');
mmo1.Lines.Add('Изгибная выносливость зубьев');
mmo1.Lines.Add(floattostr(sigma_F));
mmo1.Lines.Add('');
mmo1.Lines.Add('sigma_F_min');
46
mmo1.Lines.Add(floattostr(sigma_F_min));
if sigma_F>sigma_F_min then ShowMessage('Неверные исходные данные: недопустимая
изгибная выносливость');
{Проверка передачи на контатную прочность при пиковых перегрузках}
sigma_H_max_1:=sigma_H*sqrt(Tmax_Tnom);
if (sigma_H_max_1 > sigma_H_max) then ShowMessage('Неверные исходные данные:
недопустимая контактная прочность при перегрузке');
mmo1.Lines.Add('');
mmo1.Lines.Add('Контактная прочность при перегрузке');
mmo1.Lines.Add(floattostr(sigma_H_max_1));
mmo1.Lines.Add('');
mmo1.Lines.Add('sigma_H_max');
mmo1.Lines.Add(floattostr(sigma_H_max));
{Проверка передачи на изгибную прочность при пиковых перегрузках}
sigma_F_max_1:=sigma_F*Tmax_Tnom;
if (sigma_F_max_1 > sigma_F_max) then ShowMessage('Неверные исходные данные:
недопустимая изгибная прочность при перегрузке');
mmo1.Lines.Add('');
mmo1.Lines.Add('Изгибная прочность при перегрузке');
mmo1.Lines.Add(floattostr(sigma_F_max_1));
mmo1.Lines.Add('');
mmo1.Lines.Add('sigma_F_max');
mmo1.Lines.Add(floattostr(sigma_F_max));
m_gl:=m;
aw_gl:=aw;
B_gl:=B;
z1_gl:=z1;
z2_gl:=z2;
end;
procedure TForm1.btn4Click(Sender: TObject);
var m, aw, B : Real;
ha, x, c: Real;
begin
ha:=1;
x:=0;
c:=0.25;
m:=m_gl;
aw:=aw_gl;
47
B:=B_gl;
{mmo1.Lines.Add('');
mmo1.Lines.Add('m');
mmo1.Lines.Add(floattostr(m));
mmo1.Lines.Add('');
mmo1.Lines.Add('aw');
mmo1.Lines.Add(floattostr(aw));
mmo1.Lines.Add('');
mmo1.Lines.Add('B');
mmo1.Lines.Add(floattostr(B));}
{Диамтры оружностей вершин зубьев}
da1:=d1+2*(ha+x)*m;
da2:=d2+2*(ha+x)*m;
mmo1.Lines.Add('');
mmo1.Lines.Add('Диаметры окружностей вершин зубьев da1');
mmo1.Lines.Add(floattostr(da1));
mmo1.Lines.Add('');
mmo1.Lines.Add('Диаметры окружностей вершин зубьев da2');
mmo1.Lines.Add(floattostr(da2));
{Диамтры оружностей впадин зубьев}
df1:=d1-2*(ha+c-x)*m;
df2:=d2-2*(ha+c-x)*m;
mmo1.Lines.Add('');
mmo1.Lines.Add('Диаметры окружностей впадин зубьев df1');
mmo1.Lines.Add(floattostr(df1));
mmo1.Lines.Add('');
mmo1.Lines.Add('Диаметры окружностей впадин зубьев df2');
mmo1.Lines.Add(floattostr(df2));
end;
procedure TForm1.btn5Click(Sender: TObject);
var f, psi_z, psi_p_psi_g, kpd_red : Real;
z1, z2 :Integer;
begin
f:=0.08;
z1:=z1_gl;
z2:=z2_gl;
48
psi_z:=2.3*f*(1/z1+1/z2);
psi_p_psi_g:=0.03;
kpd_red:=1-psi_z-psi_p_psi_g;
mmo1.Lines.Add('');
mmo1.Lines.Add('КПД редуктора');
mmo1.Lines.Add(floattostr(kpd_red));
end;
procedure TForm1.btn6Click(Sender: TObject);
var F_t, F_a, F_r, B :Real;
begin
B:=B_gl;
{Окружная сила}
F_t:=2*T2*1000/d2;
mmo1.Lines.Add('');
mmo1.Lines.Add('Окружная сила, H');
mmo1.Lines.Add(floattostr(F_t));
{Осевая сила}
F_a:=F_t*tan(b);
mmo1.Lines.Add('');
mmo1.Lines.Add('Осевая сила, H');
mmo1.Lines.Add(floattostr(F_a));
{Радиальная сила}
F_r:=F_t*tan(Pi/9)/cos(B);
mmo1.Lines.Add('');
mmo1.Lines.Add('Радиальная сила, H');
mmo1.Lines.Add(floattostr(F_r));
end;
procedure TForm1.btn7Click(Sender: TObject);
var dk1, dp1, d_pod_0, B_pod, d_pod_2, d_pod_1, d_pod_3:real;
dk2, dp2, d2_pod_0, B2_pod, d2_pod_2, d2_pod_1, d2_pod_3:real;
d_kr1l, d_kr2l, vis: Real;
d_bol, Del, d2_bol, Del2 : Integer;
dp1_1, dp1_2, dp2_1, dp2_2:Integer;
begin
inv:=CreateOleObject('Inventor.Application');
inv.visible:=True;
doc1:=inv.documents;
{Вал 1 с шестерней}
doc1.Open('D:\inv\val-sh1.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=((da1-df1)/2+df1)/10;
49
params.item[2].value:=b1/10;
dk1:=1.1*10*power((T1/(0.5*27.5)),1/3);
params.item[16].value:=Round(dk1)/10;
dp1:=da1/2.8;
dp1_1:=Trunc(dp1);
dp1_2:=dp1_1 div 5;
case dp1_1 of
1: dp1:=dp1_1+4;
2: dp1:=dp1_1+3;
3: dp1:=dp1_1+2;
4: dp1:=dp1_1+1;
else dp1:=dp1_1;
end;
params.item[10].value:=dp1/10;
doc2.update;
doc2.save;
doc2.close;
{Вал 2}
doc1.Open('D:\inv\val-sh2.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=(((da2-df2)/2+df2)/3.32075)/10;
params.item[2].value:=b2/10;
dk2:=1.1*10*power((T2/(0.5*27.5)),1/3);
params.item[16].value:=Round(dk2)/10;
dp2:=b2*1.09;
dp2_1:=Trunc(dp2);
dp2_2:=dp2_1 div 5;
case dp2_1 of
1: dp2:=dp2_1+4;
2: dp2:=dp2_1+3;
3: dp2:=dp2_1+2;
4: dp2:=dp2_1+1;
else dp2:=dp2_1;
end;
params.item[10].value:=dp2/10;
doc2.update;
doc2.save;
doc2.close;
{Подшипник 1}
doc1.Open('D:\inv\podshipnik1.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=dp1/10;
50
dp1_1:=Trunc(dp1);
case dp1_1 of
10: begin d_pod_0:=10; d_pod_2:=35; B_pod:=11; d_pod_1:=17.9; d_pod_3:=27.1; end;
15: begin d_pod_0:=15; d_pod_2:=42; B_pod:=13; d_pod_1:=23.6; d_pod_3:=33.8; end;
20: begin d_pod_0:=20; d_pod_2:=52; B_pod:=15; d_pod_1:=30.3; d_pod_3:=41.7; end;
25: begin d_pod_0:=25; d_pod_2:=62; B_pod:=17; d_pod_1:=36.6; d_pod_3:=50.4; end;
30: begin d_pod_0:=30; d_pod_2:=72; B_pod:=19; d_pod_1:=44.6; d_pod_3:=59.4; end;
35: begin d_pod_0:=35; d_pod_2:=80; B_pod:=21; d_pod_1:=48.9; d_pod_3:=66.1; end;
40: begin d_pod_0:=40; d_pod_2:=90; B_pod:=23; d_pod_1:=56.5; d_pod_3:=74.5; end;
else ShowMessage('Ошибка подшипника');
end;
params.item[2].value:=d_pod_1/10;
params.item[3].value:=d_pod_2/10;
params.item[4].value:=d_pod_3/10;
params.item[5].value:=B_pod/10;
doc2.update;
doc2.save;
doc2.close;
{Подшипник 2}
doc1.Open('D:\inv\podshipnik2.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=dp2/10;
dp2_1:=Trunc(dp2);
case dp2_1 of
10: begin d2_pod_0:=10; d2_pod_2:=35; B2_pod:=11; d2_pod_1:=17.9; d2_pod_3:=27.1; end;
11..15: begin d2_pod_0:=15; d2_pod_2:=42; B2_pod:=13; d2_pod_1:=23.6; d2_pod_3:=33.8;
end;
16..20: begin d2_pod_0:=20; d2_pod_2:=52; B2_pod:=15; d2_pod_1:=30.3; d2_pod_3:=41.7;
end;
21..25: begin d2_pod_0:=25; d2_pod_2:=62; B2_pod:=17; d2_pod_1:=36.6; d2_pod_3:=50.4;
end;
26..30: begin d2_pod_0:=30; d2_pod_2:=72; B2_pod:=19; d2_pod_1:=44.6; d2_pod_3:=59.4;
end;
31..35: begin d2_pod_0:=35; d2_pod_2:=80; B2_pod:=21; d2_pod_1:=48.9; d2_pod_3:=66.1;
end;
36..40: begin d2_pod_0:=40; d2_pod_2:=90; B2_pod:=23; d2_pod_1:=56.5; d2_pod_3:=74.5;
end;
else ShowMessage('Ошибка подшипника');
end;
51
params.item[2].value:=d2_pod_1/10;
params.item[3].value:=d2_pod_2/10;
params.item[4].value:=d2_pod_3/10;
params.item[5].value:=B2_pod/10;
doc2.update;
doc2.save;
doc2.close;
{Сальник 1}
doc1.Open('D:\inv\salnik1.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=Round((d_pod_2/2)/10);
params.item[2].value:=Round((dp1/2)/10);
doc2.update;
doc2.save;
doc2.close;
{Сальник 2}
doc1.Open('D:\inv\salnik2.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=Round((d2_pod_2/2)/10);
params.item[2].value:=Round((dp2/2)/10);
doc2.update;
doc2.save;
doc2.close;
{Крышка 1 левая}
doc1.Open('D:\inv\krishka1l.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=Round((d_pod_2/2)/10);
if (d_pod_2>=50) and (d_pod_2<63) then begin d_bol:=5; del:=5 end else
if (d_pod_2>=63) and (d_pod_2<100) then begin d_bol:=8; del:=6 end else
if (d_pod_2>=100) and (d_pod_2<150) then begin d_bol:=10; del:=7 end else
if (d_pod_2>=150) and (d_pod_2<=220) then begin d_bol:=12; del:=8 end else
ShowMessage('Ошибка крышки 1 левой');
d_kr1l:=d_pod_2+4.4*d_bol;
params.item[2].value:=Round((d_kr1l/2)/10);
params.item[3].value:=Round(del/10);
params.item[4].value:=Round((d_pod_0/2)/10);
params.item[5].value:=Round((d_pod_1/2)/10);
doc2.update;
52
doc2.save;
doc2.close;
{Крышка 2 левая}
doc1.Open('D:\inv\krishka2l.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=Round((d2_pod_2/2)/10);
if (d2_pod_2>=50) and (d2_pod_2<63) then begin d2_bol:=5; del2:=5 end else
if (d2_pod_2>=63) and (d2_pod_2<100) then begin d2_bol:=8; del2:=6 end else
if (d2_pod_2>=100) and (d2_pod_2<150) then begin d2_bol:=10; del2:=7 end else
if (d2_pod_2>=150) and (d2_pod_2<=220) then begin d2_bol:=12; del2:=8 end else
ShowMessage('Ошибка крышки 2 ');
d_kr2l:=d2_pod_2+4*d2_bol;
params.item[2].value:=Round((d_kr2l/2)/10);
params.item[3].value:=Round(del2/10);
params.item[4].value:=Round((d2_pod_0/2)/10);
params.item[5].value:=Round((d2_pod_1/2)/10);
doc2.update;
doc2.save;
doc2.close;
{Крышка 1 правая}
doc1.Open('D:\inv\krishka1p.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=Round((d_kr1l/2)/10);
params.item[2].value:=Round(del/10);
params.item[3].value:=Round((d_pod_2/2)/10);
doc2.update;
doc2.save;
doc2.close;
{Крышка 2 правая}
doc1.Open('D:\inv\krishka2p.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=Round((d_kr2l/2)/10);
params.item[2].value:=Round(del2/10);
params.item[3].value:=Round((d2_pod_2/2)/10);
doc2.update;
doc2.save;
doc2.close;
53
{Втулка 1}
doc1.Open('D:\inv\vtulka1.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=Round((d_pod_2/2)/10);
doc2.update;
doc2.save;
doc2.close;
{Втулка 2}
doc1.Open('D:\inv\vtulka2.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=Round((d2_pod_2)/2/10);
doc2.update;
doc2.save;
doc2.close;
{Колесо}
doc1.Open('D:\inv\kol.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=((da2-df2)/2+df2)/2/10;
params.item[2].value:=(((da2-df2)/2+df2)/3.32075)/2/10;
params.item[2].value:=b2/10;
doc2.update;
doc2.save;
doc2.close;
{Крышка корпуса}
doc1.Open('D:\inv\krishka.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
vis:=((da1-df1)/2+df1+(da2-df2)/2+df2)/2;
params.item[1].value:=Round(vis/10);
params.item[2].value:=Round((d_kr1l+6+6)/10);
params.item[3].value:=Round(((d_kr1l+6+6)/2)/10);
params.item[5].value:=Round(b2/10);
params.item[6].value:=Round((b1+8*4+B_pod*2+6*2+5*2)/10);
params.item[7].value:=Round(d_pod_2/10);
params.item[8].value:=Round(d2_pod_2/10);
54
params.item[9].value:=Round(d_kr1l/10);
params.item[10].value:=Round(d_kr2l/10);
doc2.update;
doc2.save;
{doc2.close; }
{корпус}
doc1.Open('D:\inv\korp.ipt',true);
doc2:=inv.ActiveDocument;
Params:=doc2.ComponentDefinition.Parameters;
params.item[1].value:=Round(((d_kr1l+6+6)/2)/10);
params.item[2].value:=Round(d_kr2l);
params.item[4].value:=Round((b1+8*4+B_pod*2+6*2+5*2)/10);
params.item[5].value:=Round(d2_pod_2/10);
params.item[6].value:=Round(d_kr2l/10);
doc2.update; {
doc2.save;
doc2.close;}
doc1.Open('D:\inv\red.iam',true);
doc2:=inv.ActiveDocument;
doc2.update;
end;
end.
55
Download