- •Введение
- •1. Создание проектов прикладных библиотек
- •2. Работа с графическими объектами на плоскости
- •2.1. Функции для работы с графическими документами
- •2.2. Функции построения составных объектов
- •2.3. Функции ввода параметров
- •3. Методы и их составляющие для проведения вспомогательных построений
- •3.1. Математические функции
- •3.2. Функции вычисления пересечений
- •3.3. Функции вычисления длин, расстояний, углов
- •4. Работа с базами данных
- •5. Примеры проектирования библиотек в 2d
- •5.1. Построение графиков функций
- •5.2. Построение фигур
- •5.3. Построение эскизов
- •6. Твердотельное моделирование объектов в компас 3d
- •6.1. Построение твердотельных деталей посредством операций вращения и выдавливания
- •Элементы системы координат
- •Элементы детали
- •Конструктивные элементы
- •Операции
- •6.2. Построение фасок и скруглений в твердотельных моделях прикладных библиотек
- •6.3. Построение объектов в цвете
- •6.4. Работа со сборками
- •6.5. Включение в сборочные узлы твердотельных моделей без истории построения
- •6.6. Построение сборочных узлов и компонентов с параметрами посредством диалога
- •7. Пример Разработки твердотельных моделей компонентов и Сборочного узла направляющего патрубка
- •Заключение
- •Библиографический список
- •Оглавление
- •3 94026 Воронеж, Московский просп., 14
6. Твердотельное моделирование объектов в компас 3d
В системе Компас 3D, наряду с программным построением на плоскости, возможно моделирование твердотельных деталей и узлов посредством команд и функций АPI. Посредством моделирования или программным способом можно подготовить к работе два типа документов 3D: детали и сборки. Сборки включают в себя модели деталей и узлы.
Для того, что начать работу с документом 3D, необходимо внести в проект файл kAPI3D5.lib. Указанный файл размещен в папке lib каталога SDK. Проект можно создать с помощью мастера проектов (об этом подробно написано в разделе по созданию 2D документов) или изменить имеющиеся проекты примеров из папки Examples SDK VisualC++. Кроме того, требуется импортировать пути для подключаемых библиотек, указав их месторасположение на диске. Все изменения необходимо произвести в файле StdAfx.h.
#ifndef
__STDAFX_H #define
__STDAFX_H #if
_MSC_VER > 1000 #pragma
once #endif
// _MSC_VER > 1000 #define
VC_EXTRALEAN //Exclude rarely-used stuff from headers #include
<afxwin.h> // MFC core and standard components #include
<afxext.h> // MFC extensions #ifndef
_AFX_NO_OLE_SUPPORT #include
<afxole.h> // MFC OLE classes #include
<afxodlgs.h> // MFC OLE dialog classes #include
<afxdisp.h> // MFC Automation classes #endif
// _AFX_NO_OLE_SUPPORT #ifndef
_AFX_NO_DB_SUPPORT #include
<afxdb.h> // MFC ODBC database classes #endif
// _AFX_NO_DB_SUPPORT #pragma
warning( disable : 4192 ) //Указать
пути
расположения
библиотек! #import
"d:\SDK\lib\ksConstants3D.tlb" no_namespace named_guids #import
"d:\SDK\lib\ksConstants.tlb" no_namespace named_guids #import
"d:\SDK\lib\kAPI2D5COM.tlb" no_namespace named_guids #import
"d:\SDK\lib\kAPI3D5COM.tlb" no_namespace named_guids
#import
"d:\SDK\lib\kAPI7.tlb" no_namespace
named_guids #pragma
warning( once : 4192 )
#ifndef
__LHEAD3D_H #include
<LHead3d.h> #endif
#ifndef
__LIBTOOL_H #include
<libtool.h> #endif
//{{AFX_INSERT_LOCATION}} #endif
// !defined(__STDAFX_H)
Далее приводится пример кода, позволяющий создать новый документ в 3D-деталь с указанием одноименного имени.
//
Головная функция библиотеки void
WINAPI LIBRARYENTRY( UINT comm ) { IDocument3DPtr
Doc3d( ksGet3dDocument(), false ); Doc3d->Create(
false, true ); Doc3d->SetAuthor(
_T( "Иванов Андрей" ) ); Doc3d-> SetComment(_T("Проектирование
прикладных библиотек в API 3D")); Doc3d->SetFileName(_T("C:\\Деталь.m3d"
)); Doc3d->UpdateDocumentParam(); Doc3d->Save();
Doc3d->Close(); }
В первой строке вышеприведенного кода создается указатель на интерфейс IDocument3DPtr трехмерного документа, который в последствии необходимо использовать для обращения к методам и свойствам указанного интерфейса. Далее по методу Create в прикладной библиотеке производится создание документа. Первый параметр указывает на признак режима редактирования документа (TRUE - невидимый режим, FALSE - видимый режим), второй параметр отвечает за тип документа (TRUE - деталь, FALSE - сборка). Следующие несколько строк отвечают за свойства документа (имя автора - SetAuthor, комментарий к проекту- SetComment, имя файла для записи- SetFileName). За обновление документа, запись модели на носитель информации и закрытие документа отвечают последние три метода в тексте функции (UpdateDocumentParam, Save, Close).