Реализация динамически подключаемого модуля на базе системы «компас 3D»





Скачать 347.75 Kb.
НазваниеРеализация динамически подключаемого модуля на базе системы «компас 3D»
страница4/7
Дата публикации16.11.2014
Размер347.75 Kb.
ТипКурсовая
100-bal.ru > География > Курсовая
1   2   3   4   5   6   7

1.4 Компас 3D


Основные компоненты «Компас 3D» — собственно система трехмерного твердотельного моделирования, универсальная система автоматизированного проектирования «Компас – График» и модуль проектирования спецификаций.

Система «Компас–3D» предназначена для создания трехмерных ассоциативных моделей отдельных деталей и сборочных единиц, содержащих как оригинальные, так и стандартизованные конструктивные элементы.

Ключевой особенностью «Компас–3D» является использование собственного математического ядра и параметрических технологий, разработанных специалистами АСКОН.

1.5 Обзор API Компас 3D


Организация взаимодействия расчетного модуля и САПР представляет большую сложность. Большинство современных САПР не поддерживают СОМ–технологию, что затрудняет управление объектами из внешней программы. Как правило, такое управление осуществляется при помощи технологии API (Application Programming Interface) [4].

API–технология предоставляет программисту набор процедур и функций для управления САПР, но не дает прямого доступа к свойствам и методам объектов внутри САПР.

Взаимодействие внешнего приложения или подключаемого модуля с системой КОМПАС (с функциями моделирования, математическими функциями ядра системы и пр.) осуществляется посредством API [5]. В КОМПАС на данный момент существуют API двух версий: API 5 и API 7. API 7 – это не усовершенствованный и не более новый вариант программных интерфейсов пятой версии. На самом деле обе версии реализуют различные функции системы и взаимно дополняют друг друга. Отсюда очевидно, что обе версии программных интерфейсов в равной мере поддерживаются и развиваются с учетом самих изменений в системе.

В основном, для создания полноценных подключаемых модулей достаточно методов и свойств интерфейсов API 5.

Главным интерфейсом API системы КОМПАС является KompasObject. Получить указатель на этот интерфейс можно с помощью экспортной функции CreateKompasObject(). Методы этого интерфейса, главные из которых представлены в таблице1.2, реализуют наиболее общие функции работы с документами системы, системными настройками, файлами, а также дают возможность получить указатели на другие интерфейсы (интерфейсы динамического массива, работы с математическими функциями, библиотек моделей или фрагментов и различных структур параметров определенного типа).

Таблица 1.2 – Методы интерфейса KompasObject

Метод

Описание

ActiveDocument2D

Позволяет получить указатель на активный графический документ

ActiveDocument3D

Позволяет получить указатель на активный трехмерный документ

Document2D

Позволяет получить указатель на интерфейс графического документа (чертежа или фрагмента)

Document3D

Позволяет получить указатель на интерфейс трехмерного документа (детали или сборки)

GetDynamicArray

Возвращает указатель на интерфейс динамического массива

GetMathematic2D

Возвращает указатель на интерфейс для работы с математическими функциями в графическом документе

GetParamStruct

Позволяет получить интерфейс структуры параметров объекта определенного типа (параметры прямоугольника, эллипса и т.д.)

ksAttachKompasLibrary

Подключает библиотеку (добавляет ее в пункт главного меню Библиотеки)

ksChoiceFile

Выводит диалог для выбора файла для чтения

ksDetachKompasLibrari

Отключает библиотеку

ksDrawKompasDocument

Отрисовывает КОМПАС-документ, присланный из внешней программы или прикладного модуля, как слайд в указанном окне

Продолжение табл.1.2

ksEnableTaskAccess

Позволяет разрешить или запретить доступ пользователя к окну КОМПАС (применяется для работ библиотек)

ksError

Выдает сообщение об ошибке

ksGetApplication7

Возвращает указатель на интерфейс приложения API 7

ksGetDocOptions

Позволяет получить определенную структуру параметров настроек текущего документа

ksSetDocOptions

Позволяет установить определенную структуру параметров настроек текущего документа

ksGetHWindow

Позволяет получить дескриптор главного окна КОМПАС

ksGetSysOptions

Позволяет получить системные настройки по определенному типу

ksSetSysOptions

Позволяет установить системные настройки по определенному типу

ksGetSystemVersion

Позволяет получить номер версии системы

ksMessage

Выдает сообщение произвольного содержания в окне КОМПАС

ksPrintKompasDocument

Выполняет печать КОМПАС-документа

ksPrintPreviewWindow

Запускает окно просмотра документа перед печатью

ksResultNULL

Обнуляет результат, если ошибка не фатальна

ksSaveFile

Выдает диалог сохранения файла

ksSystemPath

Позволяет получить системный путь определенного типа

Quit

Закрывает КОМПАС

SpsDocument

Дает возможность получить указатель на интерфейс документа-спецификации

Описание прототипов всех приведенных функций, а также других методов, составляющих интерфейс KompasObject, можно найти в справке по API КОМПАС. Файл этой справки размещается в каталоге SDK, находящейся в папке, в которой установлен КОМПАС.

Другой важный интерфейс API 5 – интерфейс документа модели ksDocument3D.

Получить его можно с помощью методов интерфейса KompasObject:

  • ActiveDocument3D – для уже существующего и активного в данный момент документа;

  • Document3D – если планируется создавать новый трехмерный документ.

Графические документы имеют собственный интерфейс – ksDocument2D, со своими специфическими свойствами и методами.

Свойства (члены данных) интерфейса ksDocument3D позволяют динамически управлять настройками любого трехмерного документа системы из модуля. Наиболее используемые приведены в таблице 1.3.

Таблица 1.3 – Свойства интерфейса ksDocument3D

Свойство

Тип данных

Описание

author

WideString

Имя автора документа

DrawMode

Integer

Тип отображения модели (каркас, безвидимых линий и др.)

fileName

WideString

Имя файла документа модели

hideAllAxis

WordBool

Скрыть/показать конструктивные оси

hideAllPlace

WordBool

Скрыть/показать начала координат

hideAllPlanes

WordBool

Скрыть/показать плоскости

hideAllSketches

WordBool

Скрыть/показать эскизы

hideAllSurface

WordBool

Скрыть/показать поверхности

hideAllThreads

WordBool

Скрыть/показать изображения резьбы

invisibleMode

WordBool

Режим редактирования документа (видимый или невидимый)

perspective

WordBool

Признак отображения перспективной модели

reference

Integer

Указатель документа (детали или сборки)

shadedWireframe

WordBool

Полутоновое изиображения с каркасом модели

Методы этого интерфейса позволяют программно управлять трехмерным документом, как сборкой и ее компонентами, так и отдельной деталью. Важно: именно управлять самим документом, но не выполнять в нем трехмерные операции! Методы, которые могут пригодиться при программировании подключаемых модулей, собраны в таблице 1.4.

Таблица 1.4 – Методы интерфейса ksDocument3D

Метод

Описание

Close

Позволяет закрыть документ

Create

Позволяет создать пустой документ (деталь или сборку)

CreatePartFromFile

Позволяет создать деталь в сборке

CreatePartInAssembly

Возвращает указатель на интерфейс детали, создаваемой в сборке

DeleteObject

Позволяет удалить трехмерный объект (деталь, операцию, сопряжения и др.)

EntityCollection

Позволяет получить указатель на массив элементов, выбранных в документе

GetObjParam

Позволяет прочитать парметры объекта в структуру данных (по определенному типу параметров)

ksSetObjParam

Позволяет установить параметры объекта в структуру данных (по определенному типу параметров)

GetObjectType

Позволяет получить тип трехмерного объекта

GetPart

Возвращает указатель на интерфейс компонента (детали или подсборки) в сборке

Продолжение табл.1.4

IsActive

Позволяет проверить активен ли документ

IsDetail

Возвращает TRUE, если трехмерный документ является деталью

Open

Позволяет запустить редактирование документа-модели

PartCollection

Возвращает указатель на интерфейс динамического массива компонентов, вставленных в сборку

RebuildDocument

Позволяет перестроить документ

Save

Позволяет сохранить трехмерный документ в файл с именем ksDocument3D::fileName

SaveAs

Дает возможность сохранить трехмерный документ под указанным именем

SetActive

Позволяет активировать документ

SetPartFromFile

Позволяет вставить в сборку компонент из файла или библиотеки модели

UpdateDocumentParam

Позволяет обновить настройки докумнта

Важнейший из перечисленных в таблице 1.4 методов – ksDocument3D::GetPart. Входящим параметром этой функции является целочисленная переменная type_, которая определяет, интерфейс какого именно компонента сборки возвращать. Данная переменная имеет несколько предопределенных значений (констант):

  • plnPlace_Part (равняется –4) – метод возвращает указатель на компонент, который находится в режиме контекстного редактирования (то есть редактирования «на месте»);

  • pNew_Part (–3) – создает в модели новый компонент и возвращает указатель на него;

  • pEdit_Part (–2) – возвращает указатель на редактируемый компонент (с помощью библиотеки);

  • pTop_Part (–1) – верхний компонент, в состав которого входит или новый, или редактируемый, или указанный компонент;

  • все остальные значения (от 0 и выше) отвечают номеру компонента в дереве построения, то есть возвращается указатель на существующий в сборке компонент.

Метод ksDocument3D::GetPart возвращает указатель на интерфейс детали или компонента сборки – ksPart. Свойства и методы этого интерфейса (таблица 1.5 и таблица 1.6) управляют состоянием компонентов сборки, они почти полностью дублируют команды контекстного меню и панели свойств, доступные пользователю при работе с тем или иным компонентом.

Таблица 1.5 – Свойства интерфейса ksPart

Свойство

Тип данных

Описание

Excluded

WordBool

Определяет, исключен или нет компонент из расчета (из дерева построения)

faleName

WordString

Имя файла из которого вставлен компонент

FixedComponent

WordBool

Определяет, является ли компонент зафиксированным

hidden

WordBool

Задает видимость компонента (скрыт или нет)

Name

WordString

Имя компонента в дереве построений

standartComponent

WordBool

Определяет, является ли данный компонент стандартным (библиотечным элементом)

Видно, что все эти методы лишь управляют состоянием компонента (задают видимость, размещение, определяют, запущено ли редактирование компонента), но не дают возможность ничего создавать (выполнять операции).

Для программной реализации всех трехмерных операций, которые пользователи выполняют в трехмерных документах системы КОМПАС–3D, в API реализован единый интерфейс ksEntity – интерфейс элемента модели. Этот интерфейс можно получить с помощью метода ksPart::NewEntity, которому необходимо передать тип создаваемого элемента. Типов элементов в системе, как и в API системы, большое множество. Каждому из них отвечает своя целочисленная константа и свой собственный интерфейс параметров. Именно с помощью настроек (свойств и методов) этих интерфейсов и создаются любые возможные объекты в деталях и сборках КОМПАС–3D. Некоторые константы с описанием типа элемента и интерфейса, к которому они относятся, приведены в таблице 1.7. Сведения об остальных можно получить из файла справки SDK.hlp, поставляемого вместе с системой КОМПАС.

Таблица 1.6 – Методы интерфейса ksPart

Метод

Описание

BeginEdit

Позволяет запустить режим редактирования компонента

ColorParam

Дает возможность получить указатель на интерфейс параметров цвета и визуальных свойств компонента

EndEdit

Закрывает режим редактирования компонента «на месте»

EntityCollection

Формирует динамический массив трехмерных объектов и возвращает указатель на его интерфейс

Продолжение табл.1.6

GetDefaultEntity

Возвращает указатель на интерфейс объекта, создаваемого системой в трехмерном документе по умолчанию. Таких объектов всего четыре: начало координат и три ортогональные плоскости

GetPart

Позволяет получить указатель на интерфейс компонента

GetPlacement

Позволяет получить указатель на интерфейс местоположения компонента в сборке

SetPlacement

Позволяет установить новое положение компонента в сборке

IsDetail

Позволяет проверить, является ли компонент деталью

NewEntity

Создает интерфейс нового трехмерного объекта и возвращает указатель на него

UpdatePlacement

Позволяет изменить местоположение компонента, заданное в ksPart::SetPlacement


Таблица 1.7 – Типы объектов трехмерного документа

Идентификатор

Числовое значение

Описание

Интерфейс параметров

o3d_sketch

5

Эскиз трехмерной операции

ksSketchDefinition

o3d_axis2Planes

9

Вспомогательная ось на пересечении двух плоскостей

ksAxis2PlanesDefinition

o3d_planeOffset

14

Смещенная плоскость

ksPlaneOffsetDefinition

o3d_planeAngle

15

Плоскость под углом

ksPlaneAngleDefinition

o3d_bossExtrusion

25

Операция выдавливания

ksBossExtrusionDefinition

o3d_cutExtrusion

26

Операция вырезания выдавливанием

ksCutExtrusionDefinition

o3d_bossRotated

28

Операция вращения

ksBossRotatedDefinition

o3d_cutRotated

29

Вырезание вращением

ksCutRotatedDefinition

o3d_bossLoft

31

Приклеить материал по сечениям

ksBossLoftDefinition

o3d_Loft

32

Вырезать по сечениям

ksCutLoftDefinition

o3d_meshCopy

35

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

ksMeshCopyDefinition

o3d_circularCopy

36

Копирование по концентричной сетке

ksCircularCopyDefinition

o3d_circPartArray

38

Массив по концентрической сетке в сборке

ksCircularPartArrayDefinition

o3d_meshPartArray

39

Массив по сетке в сборке

ksMeshPartArrayDefinition

o3d_bossEvolution

46

Приклеить кинематически

ksBossEvolutionDefinition

o3d_cutEvolution

47

Вырезать кинематически

ksCutEvolutionDefinition

o3d_cutByPlane

50

Сечение плоскостью

ksCutByPlaneDefinition

o3d_cutBySketch

51

Сечение по эскизу

ksCutByScetchDefinition

Кроме перечисленных, в API системы КОМПАС существует еще большое множество различных интерфейсов, отвечающих за тот или иной аспект работы с программой. Небольшая их часть описана в таблице 1.8.

Таблица 1.8 – Некоторые дополнительные интерфейсы 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.


1   2   3   4   5   6   7

Похожие:

Реализация динамически подключаемого модуля на базе системы «компас 3D» iconРеализация динамически подключаемой библиотеки элемента «Шестигранного...

Реализация динамически подключаемого модуля на базе системы «компас 3D» iconПояснительная записка к курсовому проекту по дисциплине: «Разработка сапр»
Целью данной работы является разработка и реализация модуля к сапр «Зубчатая передача с пересекающимися осями колес» на базе системы...
Реализация динамически подключаемого модуля на базе системы «компас 3D» iconПояснительная записка к курсовому проекту по дисциплине «Разработка сапр»
Целью работы является разработка и реализация библиотеки элементов «Отвертка» на базе системы компас 3D, с использованием методов...
Реализация динамически подключаемого модуля на базе системы «компас 3D» iconПояснительная записка к курсовому проекту по дисциплине «Разработка...
Курсовой проект содержит: страниц –19, источников – 5, рисунков – 6, таблиц – 2
Реализация динамически подключаемого модуля на базе системы «компас 3D» iconПояснительная записка к курсовой работе по дисциплине «Разработка...
Курсовой проект содержит: страниц –22, источников – 5, рисунков – 6, таблиц – 2
Реализация динамически подключаемого модуля на базе системы «компас 3D» iconПояснительная записка к курсовой работе по дисциплине «Разработка...
Курсовой проект содержит: страниц –20, источников – 5, рисунков – 6, таблиц – 2
Реализация динамически подключаемого модуля на базе системы «компас 3D» iconАннотация рабочей программы профессионального модуля реализация различных...
Нормативный срок освоения опоп на базе среднего (полного) общего образования – 1год 10 месяцев
Реализация динамически подключаемого модуля на базе системы «компас 3D» icon21 января 2011 года
Презентация авторской адаптационной программы «Инженерная графика на базе сапр компас 3d v9»
Реализация динамически подключаемого модуля на базе системы «компас 3D» iconПояснительная записка на курсовой проект по дисциплине «Разработка...
Целью данной работы является разработка программы для автоматизации проектирования систем молниезащиты на базе сапр компас 3D, с...
Реализация динамически подключаемого модуля на базе системы «компас 3D» iconУрок по информатике 6 класс Тема урока: Черепашка идет по компасу
Давайте дадим компас нашему исполнителю и научим его пользоваться им. Но компас у нашей черепашке будет не совсем обычный, он не...
Реализация динамически подключаемого модуля на базе системы «компас 3D» iconРабочая программа профессионального модуля пм. 01 «Реализация лекарственных...
«Фармация» и примерной программы профессионального модуля пм. 01 «Реализация лекарственных средств и товаров аптечного ассортимента»,...
Реализация динамически подключаемого модуля на базе системы «компас 3D» iconТема открытого урока
Изучить приемы построения трехмерного изображения детали «Корпус» с помощью системы компас-3d lt
Реализация динамически подключаемого модуля на базе системы «компас 3D» iconПрограмма по формированию навыков безопасного поведения на дорогах...
Компас-3d lt. Мастер-класс обобщить опыт такого преподавания и выявить возможности методической поддержки педагогов на основе использования...
Реализация динамически подключаемого модуля на базе системы «компас 3D» iconРабочая программа профессионального модуля пм. 01 «Реализация лекарственных...
Программа профессионального модуля разработана на основе Федерального государственного образовательного стандарта по специальности...
Реализация динамически подключаемого модуля на базе системы «компас 3D» iconИспользование системы трехмерного моделирования Компас-3D при построении...
Д т н., профессор кафедры «Инженерная геометрия и сапр» Янишевская А. Г
Реализация динамически подключаемого модуля на базе системы «компас 3D» iconЛабораторная работа №1. Интерфейс Компас-3D и построение графических примитивов
Первым делом запускаем программу нажатием значка на рабочем столе компьютера или через меню «пуск» «Все программы», как Вам удобнее....


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск