2 Описание предмета проектирования

advertisement
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра компьютерных систем в управлении и проектировании (КСУП)
РАЗРАБОТКА ПЛАГИНА «СМАРТФОН» НА БАЗЕ СИСТЕМЫ
«КОМПАС-3D»
Проект системы на курсовой проект
по дисциплине «Разработка систем автоматизированного проектирования»
Руководитель:
м.н.с ЛИКС, каф. КСУП
___________ Калентьев А.А.
«___»_______________2014
Задание выполнил:
студент гр.580–2
_____________ Кузьменов А.С.
«___»_______________2014
Томск 2014
2
Оглавление
Введение ....................................................................................................................... 3
1 Описание САПР........................................................................................................ 4
1.1 Назначение плагина .............................................................................................. 4
1.2 Описание API......................................................................................................... 4
1.3 Описание аналогов разрабатываемого продукта ............................................... 6
1.3.1 Модуль ЧПУ. Токарная обработка ............................................................ 6
1.3.2 Плагин PDF3D .............................................................................................. 8
1.3.3 Плагин для экспорта и импорта чертежей САПР КОМПАС в формат
DWG ....................................................................................................................... 9
2 Описание предмета проектирования.................................................................... 10
3 Проект программы ................................................................................................ 11
3.1 Диаграмма вариантов использования ......................................................... 11
3.2 Диаграмма классов........................................................................................ 12
3.3 Макеты пользовательского интерфейса ..................................................... 16
Заключение ................................................................................................................ 17
Список использованных источников ...................................................................... 18
Приложение А ........................................................................................................... 19
3
Введение
Узкоспециализированные
небольшие
программы,
узкопрофильной
человеческой
задачи
модули
(плагины)
автоматизирующие
конкретной
деятельности.
Эти
отрасли
–
это, как
решение
правило,
нетипичной
промышленности
приложения
могут
быть
или
как
самостоятельными, так и базироваться на каких-либо программных пакетах
тяжелого или среднего классов (так называемые подключаемые модули или
библиотеки) [1].
Библиотека – это приложение, созданное для расширения стандартных
возможностей КОМПАС ЗД и работающее в его среде [2]. Возможности
использования библиотек отнюдь не ограничиваются простым вводом в чертеж
параметризованных стандартных элементов. Библиотека может представлять
собой
сложную,
ориентированную
на
конкретную
задачу
подсистему
автоматизированного проектирования, которая после выполнения проектных
расчетов формирует готовые конструкторские документы или их комплекты.
Можно
сказать, что
в виде
прикладных
библиотек
вполне
реально
разрабатывать целые САПР объектов определенного класса.
Система КОМПАС 3D является открытой. Это означает, что при
необходимости можно создавать для нее собственные библиотеки, сколь
угодно усложняя и развивая ее функционал [1]. Такие пользовательские
библиотеки выполняются с помощью функций API (Application Programming
Interface) и являются своеобразной надстройкой КОМПАСА.
4
1 Описание САПР
1.1
Назначение плагина
Назначение разрабатываемого плагина обусловлено выбором сферы его
применения. В данном проекте выбором сферы применения стало разработка
промышленного образца [3] модели смартфона.
Разрабатываемый плагин позволяет заметно облегчить процесс создания
промышленного образца, т.к. он имеет возможности по автоматизированной
генерации образца модели, используя определенные в функциональности
плагина параметры.
Плагин
разрабатывается
на
языке
программирования
C#
с
использованием платформы .NET Framework 4.5.1.
Результат проектирования при помощи плагина является трехмерной
моделью, который можно использовать для построения реального прототипа
проектируемой модели и дальнейшей ее передачи в производство.
Плагин, разрабатываемый в рамках данного проекта, позволяет изменять
входные параметры, а именно: высота корпуса, ширина корпуса, толщина
корпуса, радиус закругления углов корпуса, длину и ширину главной кнопки,
форму главной кнопки, размер камеры, форму камеры, длину и ширину качели
громкости, длину и ширину динамика, радиус закругления задней крышки.
1.2
Описание API
Взаимодействие плагина с системой КОМПАС 3D осуществляется
посредством интерфейсов, называемых API. В КОМПАС 3D на данный момент
существует API двух версий API 5 и API 7. Явных преимуществ между
версиями нет, поскольку обе версии реализуют различные функции системы и
взаимно дополняют друг друга. Для курсового проекта была выбрана версия
API 5, так как для полноценной реализации плагина достаточно методов и
свойств интерфейсов API 5.
5
Главным интерфейсом API системы КОМПАС является KompasObject.
Получить указатель на этот интерфейс можно с помощью экспортной функции
CreateKompasObject().
Методы интерфейса KompasObject реализуют наиболее общие функции
работы с документами системы, системными настройками, файлами, а также
дают возможность получить указатели на другие интерфейсы (интерфейсы
динамического массива, работы с математическими функциями, библиотек
моделей или фрагментов и различных структур параметров определенного
типа).
Другой важный интерфейс API 5 – интерфейс документа модели
ksDocument3D. Получить его можно с помощью методов интерфейса
KompasObject:

ActiveDocument3D – для уже существующего и активного в данный
момент документа;

Document3D – если необходимо создавать новый трехмерный
документ.
Методы интерфейса ksDocument3D позволяют программно управлять
трехмерным документом, как сборкой и ее компонентами, так и отдельной
деталью. Обратите внимание: именно управлять самим документом, но не
выполнять в нем трехмерные операции.
Графические документы имеют собственный интерфейс – ksDocument2D,
со своими специфическими свойствами и методами. Методами интерфейса
ksDocument2D создаются изображения в эскизах трехмерных операций.
Свойства (члены данных) этого интерфейса позволяют динамически управлять
настройками любого трехмерного документа системы из текущего модуля
Для программной реализации всех трехмерных операций, которые
пользователи выполняют в трехмерных документах системы КОМПАС-3D, в
API реализован единый интерфейс ksEntity – интерфейс элемента модели. Этот
интерфейс можно получить с помощью метода NewEntity, которому
необходимо передать тип создаваемого элемента. Типов элементов в системе,
6
как и в API системы, большое множество. Каждому из них отвечает своя
целочисленная константа и свой собственный интерфейс параметров.
Таким
образом,
используя
свойства
и
методы
перечисленных
интерфейсов, можно создавать, требуемые объекты в деталях и сборках
КОМПАС-3D.
1.3 Описание аналогов разрабатываемого продукта
КОМПAС-3D является открытой системой, что позволяет создавать
дополнительные программные модули (пользовательские библиотеки) и
применять их во время работы над документами. Таким образом, стандартные
возможности чертежно-графического редактора и трехмерного моделирования
могут быть дополнены исходя из тех специальных задач, которые приходится
решать пользователю.
В настоящее время система КОМПAС-3D непрерывно расширяется
плагинами и модулями [4], которые можно разделить на два условных класса:
плагины или модули, реализующие (моделирующие) конкретные трехмерный
объекты в зависимости от сферы применения, наиболее известным является
«Модуль ЧПУ. Токарная обработка», плагины или модули для формирования
документации, на основе созданных моделей: для конвертации чертежей в
формат DWG [5], PDF3D для экспорта моделей и сборок из КОМПАС-3D в
формат PDF.
1.3.1 Модуль ЧПУ. Токарная обработка
«Модуль ЧПУ. Токарная обработка»
приложением,
полностью
интегрированным
является первым CAM [6]
в
систему
трехмерного
моделирования КОМПАС-3D. Приложение предназначено для автоматизации
разработки управляющих программ для токарных станков с ЧПУ [7] (Рисунок
1.1).
7
Рисунок 1.1 — Пример работы модуля «Модуль ЧПУ. Токарная обработка
«Модуль ЧПУ. Токарная обработка» разработан в Национальном
исследовательском
Мордовском
государственном
университете
им.
Н.
П.Огарева коллективом специалистов, имеющих десятилетний опыт создания
приложений для КОМПАС-3D.
Возможности
CAM-приложения
включают
построение
контуров
обработки, автоматический расчет траекторий, генерацию управляющей
программы, постпроцессирование, поддержку станочных циклов, визуализацию
и контроль процесса обработки. Все операции выполняются в рабочем
пространстве
системы
КОМПАС-3D
с
использованием
элементов
ее
интерфейса. «Модуль ЧПУ. Токарная обработка» функционирует в составе 32 и
64-разрядной версии КОМПАС-3D V14.
С появлением модуля весь процесс от проектирования детали до
передачи 3D-модели на станок с ЧПУ (2-координатная токарная обработка)
будет проходить в единой среде КОМПАС-3D. Для предприятия это в первую
очередь означает, сокращение срока подготовки изделий к производству − нет
необходимости экспортировать данные из КОМПАС-3D в CAM-системы, нет
потерь времени на конвертацию и исправление ошибок при некорректной
передаче. Упрощается и работа инженера-технолога — он использует одну 3D-
8
систему, не отвлекаясь на сторонние приложения, и уверен в точности данных,
на основе которых разработана управляющая программа.
«Модуль ЧПУ. Токарная обработка» обладает большим набором
многопроходных,
токарно-сверлильных
и
резьбонарезных
стратегий.
Поддерживается создание следующих видов обработки:

Контур — контурное точение (как правило, чистовое);

Канавка — простая канавка, параллельная координатным осям;

Сверление — одно- и многопроходное сверление, центрование,
обработка отверстий осевым инструментом;

Нарезание резьбы резцом — многопроходное нарезание резьбы
резцом (цилиндрических, конических, торцевых);

Нарезание резьбы — нарезание резьбы плашкой или метчиком.
1.3.2 Плагин PDF3D
Данный плагин позволяет производить экспорт моделей и сборок из
КОМПАС-3D в формат PDF формат.
Основной
особенностью
является
возможность
интерактивного
взаимодействия пользователя с сохраненной 3D сценой внутри PDF файла.
Например, пользователь может вращать, масштабировать, передвигать детали и
сборки внутри 3D PDF файла.
Также доступно создание анимации сборки и разборки изделий. Это
полезно для подготовки интерактивных сборочных инструкций, создания
маркетинговых
материалов,
презентаций,
а
также
для
налаживания
взаимодействия между проектировщиками и заказчиками. В подобных
ситуациях традиционным подходом являлся экспорт сборки или детали
КОМПАС-3D в промежуточный формат и дальнейшее сохранение в формат 3D
PDF.
Используемый
промежуточных
файлов
подход
для
в
плагине
осуществления
исключает
3D
использование
преобразования,
существенно повышает качество выходной 3D модели в формате PDF.
Ключевые возможности:
что
9

сохранение деталей и сборок в формате 3D PDF для интерактивного
просмотра при помощи бесплатной программы Adobe Reader;

создание анимаций имитирующих естественный порядок сборки и
разборки создание имитации анимации гибки листовых тел;

вставка в существующие PDF документы, содержащие основной
текст, фоновые картинки, таблицы спецификаций, эмблемы, логотипы;

пакетный режим для поочередной конвертации всех файлов.
1.3.3 Плагин для экспорта и импорта чертежей САПР КОМПАС в
формат DWG
Формат DWG является одной из основ современного проектирования с
использованием компьютера.
Плагин разрабатывается для того, чтобы компенсировать недостатки
стандартного модуля экспорта и импорта DWG/DXF системы КОМПАС.
Экспорт в формат DWG по задумке должен происходить максимально
точно, насколько это возможно.
Вся информация об исходных типах кривых будет сохранена в DWG, без
разбиения на отрезки, как это делается сейчас.
Задача нового плагина − сделать конвертацию чертежей в формат DWG,
с минимальным временем конвертирования.
В настоящее время плагин на стадии разработки, окончательная версия
плагина планируется на выпуск в конце две тысячи четырнадцатого года.
10
2 Описание предмета проектирования
Смартфон (от англ. умный телефон) – телефон с расширенным
органайзером, офисными возможностями, возможностью загрузки приложений
и работы с ними, поддерживающие многозадачность. Смартфоны представляют
собой устройство, совмещающее функции мобильного телефона и карманного
компьютера. Смартфоны – это аппараты, у которых отсутствует алфавитная
клавиатура.
Корпус смартфона выполнен в виде прямоугольника с закругленными
краями. Центральная клавиша, отвечающая за возврат в главное меню,
практически не выпирает из корпуса устройства. На правом ребре расположена
кнопка блокировки, а на левом качелька громкости. С задней стороны
расположена камера в верхней части, выполненная в виде квадрата с
закругленными краями, и прямоугольная решетка динамика в нижней части.
Примерный внешний вид модели смартфона представлен на рисунке 2.1:
Рисунок 2.1 – Внешний вид модели смартфона
11
3
Проект программы
Для формального описания поведенческих особенностей интерфейса,
пользовательского сценария системы был выбран унифицированный язык
моделирования (UML). С использованием UML построены: диаграммы
вариантов использования диаграммы классов, диаграммы пакетов.
Достаточно важным моментом при проектировании программы, является
внешний вид программы. Интерфейс должен соответствовать заявленной
функциональности, чтобы пользователь за минимальное время мог освоить
программу
и
воспользоваться
ей.
Подробное
описание
макетов
пользовательского интерфейса и сами макеты приведены в подразделе 3.4.
3.1
Диаграмма
Диаграмма вариантов использования
вариантов
использования
отражает
возможный
выбор
действий (выбора состояния) пользователя внутри системы, установлено
тридцать одно состояние (Рисунок 3.1).
12
Рисунок 3.1 — Диаграмма вариантов использования
3.2
Предмет
Диаграмма классов
проектирования
состоит
из
множества
индивидуальных
особенностей, которые определяют его в целом, поэтому удобно проектировать
систему снизу вверх, поэтому был выбран восходящий метод проектирования.
Исходя из конструктивных особенностей и возможностей предмета
проектирования, для реализации подсистемы в целом, проведено разделение
системы по отдельным функциональным частям. Каждую функциональную
часть системы реализует определенный класс, взаимосвязь между классами
отражает диаграмма классов (Рисунок 3.2).
Для реализации подсистемы были спроектированы следующие классы:
13

IGraphicsObject – интерфейс, определяющий простой составляющий
элемент, содержащийся в модели, подробное описание в приложении А
(Таблица А.1);

Detail – базовый абстрактный класс, определяющий параметры
деталей;

Body – производный класс от Detail, определяющий корпус
смартфона, подробное описание в приложении А (Таблица А.2);

Camera – производный класс от Detail, определяющий камеру
смартфона, подробное описание в приложении А (Таблица А.3);

Dynamic – производный класс от Detail, определяющий динамик,
подробное описание в приложении А (Таблица А.4);

Button – базовый абстрактный класс, определяющий параметры
кнопок, подробное описание в приложении А (Таблица А.5);

LockButton – производный класс от Button, определяющий кнопку
блокировки;

VolumeButton – производный класс от Button, определяющий
качельку громкости;

MainButton – производный класс от Button, определяющий главную
кнопку, подробное описание в приложении А (Таблица А.6);

MainForm – диалоговый класс, обеспечивающий взаимодействие
между пользователем и программой через форму, подробное описание в
приложении А (Таблица А.7);

Manager – класс, управляющий построением смартфона, подробное
описание в приложении А (Таблица А8);

DataStorage – класс хранения данных, подробное описание в
приложении А (Таблица А.9);

SmartphoneBuilder – класс построения смартфона в программе
КОМПАС 3D, подробное описание в приложении А (Таблица А.10);
14

Kompas – класс, обеспечивающий запуск программы КОМПАС 3D,
подробное описание в приложении А (Таблица А.11).
15
Рисунок 3.2 — Диаграмма классов
3.3
Макеты пользовательского интерфейса
Программа будет состоять из одного диалогового окна с четырнадцатью
полями ввода, двумя полями со списком и двумя кнопками: «Запустить
КОМПАС» и «Построить модель» (Рисунок 3.3).
Рисунок 3.3 — Диалоговое окно программы при старте
17
Заключение
В ходе проектирования системы были изучены предметная область
проектирования, предмет проектирования, аналоги предмета проектирования,
API и на основании полученных данных была спроектированы архитектура
системы и макет системы. Таким образом, на основе, полученных результатов
можно реализовать плагин «Смартфон».
18
Список использованных источников
1)
Интерфейс программы и управление рабочей средой [Электронный
ресурс]. Режим доступа:
http://www.piter.com/upload/contents/978538800701/978538800701_p.pdf
(дата обращения: 17.11.2014)
2)
Кудрявцев Е.М. (2009) Компас-3D. Проектирование в машиностроении
[Электронный ресурс]. Режим доступа: http://lib-bkm.ru/load/19-1-0-2292.
(дата обращения: 17.11.2014)
3)
Промышленный образец [Электронный ресурс]. − Режим доступа:
http://www.copyright.ru/documents/patentnoe_pravo/promishlennie_obraztsi/
(дата обращения 20.11.2014)
4)
Модуль
[Электронный
ресурс].
−
Режим
доступа:
http://it.kgsu.ru/Ob_Pas/obpas109.html (дата обращения 20.11.14)
5)
DWG
[Электронный
ресурс].
−
Режим
доступа:
http://www.autodesk.ru/products/dwg (дата обращения 20.11.14)
6)
CAM. [Электронный ресурс]. − Режим доступа: http://rucadcam.ru/ (дата
обращения 20.11.14)
7)
ЧПУ [Электронный ресурс]. − Режим доступа: http://xn----8sbyhojpig2b.xn-p1ai/cnc.html (дата обращения 20.11.14)
19
Приложение А
(Справочное)
В таблицах приложения для обозначения модификаторов доступа полей
приняты следующие условные знаки:
 «#» − обозначение protected (защищенного) поля;
 «−» − обозначение private (открытого) поля;
 «+» − обозначение public (открытого) поля.
Таблица A.1 – Описание полей и методов интерфейса IGraphicsObject
Наименование
Описание
Метод,
который
графический объект
+ Build
отрисовывает
Таблица A.2 – Описание полей и методов класса Body
Наименование
Описание
+Width : double
Ширина корпуса
+Height : double
Высота корпуса
+Depth : double
Глубина корпуса
+AngleRadius : double
Радиус закругления углов
+BackRadius : double
Радиус закругления крышки
Таблица A.3 – Описание полей и методов класса Camera
Наименование
Описание
+TypeOfCamera : CameraType
Форма камеры
+SideSize : double
Размер стороны камеры
Таблица A.4 – Описание полей и методов класса Dynamic
Наименование
Описание
+Width : double
Ширина динамика
+Height : double
Высота динамика
20
Таблица A.5 – Описание полей и методов класса Button
Наименование
Описание
+ Width : double
Ширина кнопки
+ Height : double
Высота кнопки
Таблица A.6 – Описание методов статического класса MainButton
Наименование
+ TypeOfMainButton : MainButtonType
Описание
Форма главной кнопки
Таблица A.7 – Описание методов статического класса MainForm
Наименование
− _manager : Manager
Описание
Менеджер
Таблица A.8 – Описание методов статического класса Manager
Наименование
Описание
− _smartphone : SmartphoneBuilder
Построитель смартфона
− _data : DataStorage
Данные о модели
+ BuildSmartphone() :void
Построение смартфона
Таблица A.9 – Описание методов статического класса DataStorage
Наименование
Описание
Parametrs : Dictionary<Paramеtr,doublе> Параметры составляющих смартфона
Таблица A.10 – Описание методов статического класса SmartphoneBuilder
Наименование
− _parts : List <IGraphicObjеct>
Описание
Части смартфона
+ BuildParts(Kompas,DataStoragе) : void Построить все части смартфона
21
Таблица A.11 – Описание методов статического класса Kompas
Наименование
Описание
Kompas : KompasObjеct
Ссылка на интерфейс KompasObjеct
Doc : ksDocumеnt3D
Ссылка на интерфейс ksDocumеnt3D
Download