Министерство образования и науки РФ
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ
И РАДИОЭЛЕКТРОНКИ (ТУСУР)
Кафедра компьютерных систем в управлении и проектировании (КСУП)
Утверждаю
Зав. кафедрой КСУП
_________
«___» ____________ 2012 г.
ПРОЕКТ СИСТЕМЫ
Реализация динамически подключаемого модуля на базе системы
«КОМПАС 3D»
Руководитель:
аспирант каф. КСУП
___________
Задание принял к исполнению:
студент гр.588–2
__________
Томск 2012
1 Обзор Компас 3D
1.1 Общие сведения
Компас-3D – эталонная система трехмерного моделирования твердых тел. Благодаря крайне обширной внутренней базе параметрических типовых библиотек, содержащей большинство типовых моделей для проектирования деталей машин, механизмов, архитектурных деталей и форм, а также развитому гибкому инструментарию для работы с этой базой.
Компас-3D изначально разрабатывался компанией АСКОН как модульный продукт, предоставляющий пользователю самостоятельно, на основании своих целей подбирать состав и функциональность системы разработки так, чтобы бюджетные затраты были оптимальными. Широчайший набор специализированных приложений для автоматизации проектирования в различных областях архитектуры и/или машиностроения, которые перекладывают на свои плечи основную долю объемов расчетных и проектных работ позволяет сильно сократить время на воплощение любого архитектурного или конструкторского замысла.
Уникальные функции для составления конструкторской и технологической документации на основании уже имеющейся модели, а также возможность выпуска различных спецификаций, ведомостей и характеристик модели практически в любом распространенном формате, от электронных таблиц, текстовых документов – до набора инструкций для производственных роботов, ставит программный комплекс Компас-3D на почетное место среди приоритетов и предпочтений конструкторов большинства производственных предприятий. И все это благодаря не только наличию собственного расчетного математического ядра, параметрических технологий и полной интеграции со всеми популярными CAD/CAM/CAE системами, но и постоянной модернизации пользовательского интерфейса, внедрению новейших программных блоков, призванных оптимизировать и упростить работу клиентов и «фишке» комплекса – мощному модулю проектирования различных спецификаций[1].
1.2 Возможности
КОМПАС-3D базируется на оригинальном ядре, разработанном АСКОН.
Система позволяет:
– быстро сгенерировать комплекты конструкторской и технологической документации, необходимые для выпуска изделий (сборочные чертежи, спецификации, деталировки и т. д.);
– передать геометрию изделий во внешние расчетные пакеты;
– передать геометрии в пакеты разработки управляющих программ для оборудования с ЧПУ;
– создать дополнительные изображения изделий (например, для составления каталогов, создания иллюстраций к технической документации и т. д.);
– импортировать или экспортировать модели (КОМПАС-3D поддерживает форматы IGES, SAT, XT, STEP, VRML).
Моделирование изделий в КОМПАС-3D можно вести как: "снизу вверх" (используя готовые компоненты), так и "сверху вниз" (проектируя компоненты в контексте конструкции), опираясь на компоновочный эскиз (например, кинематическую схему), либо смешанным способом. Благодаря такому подходу обеспечивается легкая модификация получаемых моделей.
Система обладает функционалом, ставший типовым для САПР среднего уровня:
– булевы операции над типовыми формообразующими элементами;
– создание поверхностей;
– ассоциативное задание параметров элементов;
– построение вспомогательных прямых и плоскостей, эскизов, пространственных кривых (ломаных, сплайнов, различных спиралей);
– создание конструктивных элементов — фасок, скруглений, отверстий, ребер жесткости, тонкостенных оболочек;
– специальные возможности, облегчающие построение литейных форм — литейные уклоны, линии разъема, полости по форме детали (в том числе с заданием усадки);
– функционал для моделирования деталей из листового материала-команды создания листового тела, сгибов, отверстий, жалюзи, буртиков, штамповок и вырезов в листовом теле, замыкания углов, а также выполнения развертки полученного листового тела (в том числе формирования ассоциативного чертежа развертки);
– создание любых массивов формообразующих элементов и компонентов сборок;
– вставка в модель стандартных изделий из библиотеки, формирование пользовательских библиотек моделей;
– моделирование компонентов в контексте сборки, взаимное определение деталей в составе сборки;
– наложение сопряжений на компоненты сборки (при этом возможность автоматического наложения сопряжений существенно повышает скорость создания сборки);
– обнаружение взаимопроникновения деталей;
– специальные средства для упрощения работы с большими сборками;
– возможность гибкого редактирования деталей и сборок, в том числе с помощью характерных точек;
– переопределение параметров любого элемента на любом этапе проектирования, вызывающее перестроение всей модели;
– возможность создания таблиц переменных в моделях и графических документах[1].
1.3 Преимущества и недостатки Компас 3D
Преимущества использования Компас 3D:
– система легка для изучения, особенно конструкторами без опыта работы в 3D;
– удобен как «электронный кульман»;
– наличие обширных библиотек стандартизированных по ГОСТ элементов;
– система отечественная, поэтому проблем с локализацией нет;
– относительно невысокая стоимость;
– удобно оформлять чертежи в соответствии с нормами ЕСКД;
– легко достать, распространяется бесплатная учебная версия;
– имеются инструменты трассировки трубопроводов, кабелей и жгутов;
– есть модуль проектирования электрических цепей;
– имеются возможности параметризации;
– продуманный модуль 2D черчения;
– имеется возможность проектирования деталей, гнутых из листового металла;
– поддерживается расчёт упругих деталей;
– есть встроенная система обучения;
– относительно удобный и несложный для обучения интерфейс.
Недостатки использования Компас 3D:
– затруднено последующее переучивание на другие системы, особенно более сложные;
– легко чертить, проектировать – сложнее;
– нет кинематического, прочностного, температурного, частотного анализа;
– недостаточно продумана система спецификации;
– система развивается крайне медленно;
– отсутствует возможность эргономического расчёта;
– очень слабые возможности создания фотореалистичного изображения;
– систему трудно и дорого модифицировать под свои нужды;
– система поверхностного моделирования слабовата;
– отсутствуют инструменты резервирования объёмов;
– иногда возникают проблемы с импортированием моделей из других CAD[2].
1.4 Компас–3D
Основные компоненты «Компас–3D» — собственно система трехмерного твердотельного моделирования, универсальная система автоматизированного проектирования «Компас–График» и модуль проектирования спецификаций.
Система «Компас–3D» предназначена для создания трехмерных ассоциативных моделей отдельных деталей и сборочных единиц, содержащих как оригинальные, так и стандартизованные конструктивные элементы.
Ключевой особенностью «Компас–3D» является использование собственного математического ядра и параметрических технологий, разработанных специалистами АСКОН.
1.5 Обзор API Компас 3D
API–технология предоставляет программисту набор процедур и функций для управления САПР, но не дает прямого доступа к свойствам и методам объектов внутри САПР.
Взаимодействие внешнего приложения или подключаемого модуля с системой КОМПАС осуществляется посредством API [3]. В КОМПАС на данный момент существуют API двух версий: API 5 и API 7. API 7 – это не усовершенствованный и не более новый вариант программных интерфейсов пятой версии. На самом деле обе версии реализуют различные функции системы и взаимно дополняют друг друга. Отсюда очевидно, что обе версии программных интерфейсов в равной мере поддерживаются и развиваются с учетом самих изменений в системе.
В основном, для создания полноценных подключаемых модулей достаточно методов и свойств интерфейсов API 5.
Главным интерфейсом API системы КОМПАС является KompasObject. Методы этого интерфейса реализуют наиболее общие функции работы с документами системы, системными настройками, файлами, а также дают возможность получить указатели на другие интерфейсы (интерфейсы динамического массива, работы с математическими функциями, библиотек моделей или фрагментов и различных структур параметров определенного типа).
Другой важный интерфейс API 5 – интерфейс документа модели ksDocument3D.
Получить его можно с помощью методов интерфейса KompasObject:
¾ ActiveDocument3D – для уже существующего и активного в данный момент документа;
¾ Document3D – если планируется создавать новый трехмерный документ.
Графические документы имеют собственный интерфейс – ksDocument2D, со своими специфическими свойствами и методами.
Свойства интерфейса ksDocument3D позволяют динамически управлять настройками любого трехмерного документа системы из модуля. Методы этого интерфейса позволяют программно управлять трехмерным документом, как сборкой и ее компонентами, так и отдельной деталью. Важно: именно управлять самим документом, но не выполнять в нем трехмерные операции! Методы ksDocument3D лишь управляют состоянием компонента (задают видимость, размещение, определяют, запущено ли редактирование компонента), но не дают возможность ничего создавать (выполнять операции).
Для программной реализации всех трехмерных операций, которые пользователи выполняют в трехмерных документах системы КОМПАС–3D, в API реализован единый интерфейс ksEntity – интерфейс элемента модели. Этот интерфейс можно получить с помощью метода ksPart::NewEntity, которому необходимо передать тип создаваемого элемента. Типов элементов в системе, как и в API системы, большое множество. Каждому из них отвечает своя целочисленная константа и свой собственный интерфейс параметров. Именно с помощью настроек (свойств и методов) этих интерфейсов и создаются любые возможные объекты в деталях и сборках КОМПАС–3D.
Кроме перечисленных, в API системы КОМПАС существует еще большое множество различных интерфейсов, отвечающих за тот или иной аспект работы с программой. Небольшая их часть описана в таблице 1.
Таблица 1.1 – Некоторые дополнительные интерфейсы API КОМПАС
Интерфейс | Описание |
ksPartCollection | Интерфейс массива компонентов сборки |
ksMacro3DDefinition | Интерфейс трехмерного макрообъекта |
ksMateConstraintCollection | Интерфейс набора сопряжений сборки |
ksMateConstraint | Интерфейс структуры параметров сопряжения |
ksMathematic2D | Интерфейс математических функций в графическом документе |
ILibHPObject | Интерфейс для работы с характерными точками графического документа |
ksDynamicArray | Интерфейс динамического массива параметров |
ksPhantom | Интерфейс фантомного отображения |
ksEntityCollection | Интерфейс массива объектов модели |
Таким образом, создание какой–либо трехмерной операции пользовательской программой сводится к такой последовательности шагов.
1) Инициализация главного интерфейса приложения API – KompasObject. Он инициализируется один раз для всего сеанса работы программы.
2) Инициализация интерфейса трехмерного документ ksDocument3D, с последующим созданием нового документа или получением указателя на активный документ.
3) Создание компонента и получение на него указателя (интерфейс ksPart). Для сборки это может быть готовый компонент, компонент, вставленный из файла или созданный «на месте». Для детали необходимо получить указатель на компонент типа pTop_Part.
4) Создание с помощью метода ksPart::NewEntity интерфейса нужной нам операции. При этом в метод передается соответствующий идентификатор (например, для выдавливания – o3d_bossExtrusion).
5) Получение с помощью метода ksEntity::GetDefinition указателя на интерфейс параметров конкретной операции (для выдавливания этим интерфейсом является ksBossExtrusionDefinition). Настройка этих параметров необходимым пользователю образом.
6) Создание операции с помощью метода ksEntity::Create.
2 Постановка задачи
В соответствии с техническим заданием необходимо реализовать динамически подключаемый модуль на базе системы «КОМПАС 3D».
2.1 Сфера применения
Модуль предназначен для использования в сфере проектирования электронных устройств, с использованием USB разъема.
2.2 Основание для разработки
Основанием для разработки является учебный план кафедры компьютерных систем в управлении и проектировании (КСУП),
на 9–й семестр по предмету «Разработка САПР».
2.3 Заказчик
Томский государственный университет систем управления и радиоэлектроники (ТУСУР), факультет вычислительных систем (ФВС), кафедра компьютерных систем в управлении и проектировании (КСУП), аспирант КСУП .
2.4 Разработчик
Студент группы 588—2 ФВС ТУСУР
_________________
3 Требования к программе
3.1 Ввод данных
Ввод исходных данных для их последующей обработки осуществляется посредством мыши.
3.2 Выходные данные
Разрабатываемый продукт должен выдавать пользователю следующие данные:
¾ 3D–модель USB разъем А типа;
¾ 3D–модель USB разъем А типа без верхнего корпуса;
¾ 3D–модель micro USB B типа;
¾ внешний корпус с заданными параметрами;
3.3 Требования к надежности
Система должна сохранять работоспособность и обеспечивать восстановление своих функций при возникновении следующих внештатных ситуаций:
¾ при сбоях в системе электроснабжения аппаратной части, приводящих к перезагрузке ОС, восстановление программы должно происходить после перезапуска ОС и запуска исполняемого файла системы, процесс обработки необходимо начать заново;
¾ при ошибках в работе аппаратных средств (кроме носителей данных и программ) восстановление функции системы возлагается на ОС;
¾ при ошибках, связанных с программным обеспечением (ОС и драйверы устройств), восстановление работоспособности возлагается на ОС.
3.4 Требования к техническим характеристикам ПК
Поддерживаемые операционные системы: Windows 7, WindowsVista.
Процессор: 400 MHzPentium (минимальный), 1GHz Pentium (рекомендуемый) и выше.
Объем RAM: 512 MB и более.
4 Проектирование
4.1 Проектирование GUI
В процессе проектирования был разработан пользовательский интерфейс, представленный на рисунке 4.1.

Рисунок 4.1 — Пользовательский интерфейс
В диалоговом окне пользователю предоставляется возможность выбора необходимой для построения модели.
Т. к. объект проектирования — USB разъем, для точного моделирования используются стандартные размеры. В соответствии с техническим заданием объектами моделирования являются USB разъемы следующего типа, имеющие следующие размеры: USB разъем А типа – 4х12 мм, USB разъем А типа без верхнего корпуса 2х12 мм, micro USB B типа – 7х8 мм [4].
Также пользователю предоставляется указание габаритов внешнего корпуса. Можно задать длину, ширину и высоту коробки.
4.2 Диаграмма классов
В процессе проектирования была построена диаграмма классов, отображающая иерархию классов и связь между ними. Диаграмма классов представленная на рисунке 4.2.
Рисунок 4.2 – Диаграмма классов
Класс USBDlg представляет собой диалог для ввода параметров детали; класс BaseUSB хранит в себе введенные пользователем параметры и имеет виртуальный метод Create для построения самой детали; классы AUSB1, AUSB2, BUSB являются потомками класса BaseUSB, реализуют виртуальный метод Create для построения детали выбранного типа. Перечисление USBType содержит список допустимых типов разъема USB.
4.3 Диаграмма использования
Диаграмма использования представлена на рисунке 4.3. Она показывает:
– возможные действия пользователя;
– правильную последовательность действий.

Рисунок 4.3 – Диаграмма использования
5 Стадии и этапы разработки
Таблица 5.1 – Стадии и этапы разработки
№ Этапа | Наименование этапа | Содержание работы | Сроки выполнения | Чем заканчивается этап | Ответственный | |
Начало | Окончание | |||||
1 | Составление технического задания (ТЗ) | Требования к программе, вводу и выводу данных | 14.09.12 | 28.09.12 | Сдача ТЗ | |
2 | Составление проекта | Изучение прототипов системы | 28.09.12 | 13.10.12 | Сдача проекта системы | |
3 | Составление пояснительной записки (ПЗ) | Написание программы, составление документации | 13.10.12 | 02.11.12 | Готовый программный продукт | |
4 | Защита курсового проекта | Выступле-ние с докладом | 02.11.12 | 01.12.11 | Готовый курсовой проект |
6 Порядок контроля и приемки
6.1 Виды, состав, объем и методы испытаний системы и ее составных частей (виды испытаний в соответствии с действующими нормами, распространяющимися на разрабатываемую систему)
Ответственный за проект осуществляет проверку выполнения указанного перечня задач в отведенный срок. Логистик проектной группы проводит на предварительном этапе проектирования проверку на соответствия входных и выходных данных. Программист проектной группы создает программу. Тестер проектной группы проводит испытания и делает выводы о правильности системы. Документатор выполняет оформление всех отчетов.
В связи с тем, что разработка динамически подключаемой библиотеки проводится в рамках курсовой работы, все лица, ответственные за определенный этап, представлены – исполнителя.
6.2 Общие требования к приемке работ по стадиям (перечень участвующих предприятий и организаций, место и сроки проведения), порядок согласования и утверждения приемочной документации
Отчет о проделанной работе, а также текст программы и принцип её действия должны быть предоставлены на согласование, утверждение проверку и внешнее тестирование заказчикам не позже указанных сроков, при этом необходимо присутствие участников проектной группы, ответственных за данный этап работы.
6.3 Статус приемной комиссии
Приемная комиссия носит статус кафедральной. В состав комиссии входят:
аспирант каф. КСУП .
Список литературы
1. Описание программы Компас 3–D [Электронный ресурс] url:– http://www. *****/sapr-graf/compas3d/151-kompas3dopis#.UJFihm_ZbYg (дата обращения: 15.10.2012г.)
2. Создание САПР на базе Компас 3D [Электронный ресурс] url:–http://window. *****/resource/860/52860/files/ascon21.pdf (дата обращения: 15.10.2012г.)
3. Базовые интерфейсы API системы КОМПАС [Электронный ресурс] url:– http://www. /br/?b=115812&p=107 (дата обращения: 26.10.2012г.)
4. USB [Электронный ресурс] url:-http://ru. wikipedia. org/wiki/USB (дата обращения: 29.10.2012г.)
[U1]Айайай



