e1337e4016
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается. - .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным (safety-net на случай повторной локальной выгрузки). - CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1721 lines
86 KiB
Markdown
1721 lines
86 KiB
Markdown
---
|
||
title: "Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )"
|
||
type: interface
|
||
api: [api7]
|
||
domain: [3d]
|
||
tags: [interface, api7, 3d, ksdocument3d]
|
||
sources:
|
||
- ksdocument3d.html
|
||
---
|
||
|
||
*API интерфейсов. Версия 5*
|
||
|
||
|
||
## Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )
|
||
|
||
Интерфейс документа-модели.
|
||
Интерфейс событий документа-модели; работа с файлом...
|
||
| ksDocument3D | - интерфейс Automation |
|
||
| --- | --- |
|
||
| IDocument3D | - интерфейс COM |
|
||
Примечание:
|
||
1. Данный интерфейс в автоматизации может быть получен от интерфейса API Kompas KompasObject с помощью методов KompasObject::Document3D, KompasObject::ActiveDocument3D;
|
||
2. Данный интерфейс в СОМ может быть получен с помощью экспортных функций: ksGet3dDocument, ksGetActive3dDocument.
|
||
ksDocument3D, IDocument3D - свойства
|
||
ksDocument3D, IDocument3D - методы
|
||
Массив компонентов сборки (Интерфейсы ksPartCollection и IPartCollection)
|
||
Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart
|
||
Запрос к сиcтеме (Интерфейсы ksRequestInfo3D, IRequestInfo)
|
||
Менеджер выбора (подсветки) объектов (Интерфейсы ksChooseMng, IChooseMng)
|
||
Менеджер выделенных объектов (Интерфейсы ksSelectionMng, ISelectionMng)
|
||
Параметры сохранения растра (Интерфейсы ksRasterFormatParam, IRasterFormatParam)
|
||
Конвертация в дополнительные форматы (Интерфейсы ksAdditionFormatParam, IAdditionFormatParam)
|
||
Интерфейсы спецификации ksSpecification, ISpecification
|
||
Интерфейс управления положением компонентов в сборке (Интерфейсы ksComponentPositioner, IComponentPositioner)
|
||
Источник событий для документа модели
|
||
Параметры отображения точки, позволяющей определить место применения контрола (Интерфейс IMouseEnterLeaveParameters)
|
||
Интерфейс коллекции проекций отображения модели (Интерфейсы ksViewProjectionCollection, IViewProjectionCollection)
|
||
Интерфейс коллекции атрибутов объектов модели (Интерфейс Attribute3DCollection)
|
||
Интерфейс коллекции трехмерных координат (Интерфейсы ksCoordinate3dCollection, ICoordinate3dCollection)
|
||
Интерфейс сопряжения (Интерфейсы ksMateConstraint, IMateConstraint)
|
||
МЦХ тела вращения или выдавливания (Интерфейсы ksMassInertiaParam, IMassInertiaParam)
|
||
Интерфейс области применения для тел в операции (Интерфейсы ksChooseBodies, IChooseBodies)
|
||
Интерфейс булевой операции над твердыми телами(Интерфейсы ksAggregateDefinition, IAggregateDefinition)
|
||
|
||
|
||
## AddImportedSurfaces - Добавить импортированные поверхности
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
AddImportedSurfaces (BSTR fileName, BOOL together)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPENTITYCOLLECTION AddImportedSurfaces (LPOLESTR fileName, BOOL together)
|
||
Входные параметры:
|
||
fileName - имя файла (*.igs, *.sat) импортированной поверхности,
|
||
together - Если параметр имеет значение TRUE, то импортированные поверхности будут сшиваться; - если параметр имеет значение FALSE, то будет импортирован массив импортированных поверхностей.
|
||
Возвращаемое значение:
|
||
Указатель на интерфейс ksEntityCollection или IEntityCollection, - в случае успеха,
|
||
NULL - в случае неудачи.
|
||
```
|
||
Примечания:
|
||
В документ можно вставить импортированную поверхность из файла, причем в общем случае может импортироваться массив импортированных поверхностей, если together = FALSE.
|
||
|
||
|
||
## AdditionFormatParam - Получить указатель на интерфейс параметров сохранения модели в дополнительном формате
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH AdditionFormatParam();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPADDITIONFORMATPARAM AdditionFormatParam();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksAdditionFormatParam или IAdditionFormatParam.
|
||
```
|
||
|
||
|
||
## AddMateConstraint - Добавить сопряжение в сборку
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL AddMateConstraint (long constraintType,
|
||
LPDISPATCH object1,
|
||
LPDISPATCH object2,
|
||
short direction,
|
||
short fixed,
|
||
double value);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL AddMateConstraint (long constraintType,
|
||
LPENTITY obj1,
|
||
LPENTITY obj2,
|
||
short direction,
|
||
short fixed,
|
||
double val);
|
||
Входные параметры:
|
||
constraintType - тип сопряжения из перечисления MateConstraintType,
|
||
object1 - указатель на интерфейс первого объекта, на который накладывается сопряжение (ksEntity или IEntity),
|
||
object2 - указатель на интерфейс второго объекта, на который накладывается сопряжение (ksEntity или iEntity),
|
||
direction - ориентация (1 - объекты однонаправленные, 0 - направление не учитывается, -1 - объекты разнонаправленные),
|
||
fixed - признак фиксации деталей перед выполнением (0 - детали не фиксируются, 1 - фиксируется первая деталь, 2 - фиксируется вторая деталь),
|
||
val - параметр для ограничений (расстояние или угол между объектами).
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
Примечание:
|
||
Направление задаётся знаком параметра val.
|
||
|
||
|
||
## AttributeCollection - Получить массив атрибутов
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
ksAttribute3DCollection* AttributeCollection (long key1,
|
||
long key2,
|
||
long key3,
|
||
long key4,
|
||
double numb,
|
||
LPDISPATCH pObj);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPATTRIBUTE3DCOLLECTION AttributeCollection (long key1,
|
||
long key2,
|
||
long key3,
|
||
long key4,
|
||
double numb,
|
||
LPUNKNOWN pObj);
|
||
Входные параметры:
|
||
key1, key2, key3, key4 - ключи для поиска по ключам либо 0,
|
||
numb - номер типа атрибута для поиска по номеру либо 0,
|
||
pObj - указатель на ksDocument3D - атрибуты документа, ksFeatureCollection - атрибуты для данной группы объектов, ksFeature - атрибуты определенного объекта.
|
||
Возвращаемое значение:
|
||
- указатель на массив атрибутов ksAttribute3DCollection.
|
||
```
|
||
Примечания:
|
||
Атрибут - это дополнительная неграфическая информация, связанная с объектом или несколькими объектами чертежа. Такая информация может быть представлена в виде числа, строки текста, а также таблицы с фиксированным или переменным числом строк.
|
||
В дальнейшем значения атрибутов могут использоваться для поиска объектов, а также обрабатываться различными приложениями (например, системой проектирования спецификаций, различными расчетными программами и т.п.).
|
||
Типы (описания структуры) атрибутов могут храниться как непосредственно в документе, так и в специальных файлах (библиотеках типов атрибутов). Эти файлы имеют расширение lat.
|
||
|
||
|
||
## author - Имя автора документа
|
||
|
||
Тип данных: строка
|
||
Синтаксис Automation:
|
||
```
|
||
author = document.author Получить свойство (* )
|
||
document.author = author Установить свойство (* )
|
||
author = document.GetAuthor () Получить свойство (**)
|
||
document.SetAuthor(author) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
author = document->GetAuthor () Получить свойство
|
||
document->SetAuthor(author) Установить свойство
|
||
```
|
||
|
||
|
||
## ChangeObjectInLibRequest - Изменить фантом или компоненты команд
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ChangeObjectInLibRequest();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL ChangeObjectInLibRequest();
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Вызов этого метода позволяет принудительно, не из CallBack-функции изменить параметры текущего процесса. Предварительно, используя интерфейс ksRequestInfo3d, можно изменить:
|
||
•состав команд командного окна,
|
||
•строку-приглашение,
|
||
•идентификатор или имя курсора,
|
||
•заголовок командного окна.
|
||
Все сделанные изменения будут активизированы сразу после вызова данной функции.
|
||
Процесс должен быть предварительно запущен функцией UserGetPlacementAndEntity.
|
||
|
||
|
||
## close - Закрыть документ-модель (деталь или сборку)
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL close();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL close();
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
|
||
|
||
## comment - Комментарий документа
|
||
|
||
Тип данных: строка
|
||
Синтаксис Automation:
|
||
```
|
||
comment = document.comment Получить свойство (* )
|
||
document.comment = comment Установить свойство (* )
|
||
comment = document.GetComment () Получить свойство (**)
|
||
document.SetComment (comment) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
comment = document->GetComment () Получить свойство
|
||
document->SetComment (comment) Установить свойство
|
||
```
|
||
|
||
|
||
## ComponentPositioner - Получить указатель на интерфейс управления положением компонентов в сборке
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
ksComponentPositioner * ComponentPositioner();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPCOMPONENTPOSITIONER ComponentPositioner();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksComponentPositioner.
|
||
```
|
||
|
||
|
||
## CopyPart - Создать копию заданного компонента с заданным положением
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH CopyPart (LPDISPATCH sourcePart, LPDISPATCH newPlacement);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPPART CopyPart (LPPART sourcePart, LPPLACEMENT newPlacement);
|
||
Входные параметры:
|
||
sourcePart - указатель на интерфейс исходного компонента ksPart или IPart, подлежащего копированию,
|
||
newPlacement - указатель на интерфейс положения создаваемой копии ksPlacement или IPlacement.
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс компонента ksPart или IPart.
|
||
```
|
||
Примечание:
|
||
Если не задано положение копии компонента, она создается в начале координат.
|
||
|
||
|
||
## Create - Создать документ-модель (деталь или сборку)
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL Create (BOOL invisible, BOOL typeDoc);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL Create (BOOL invisible, BOOL _typeDoc);
|
||
Входные параметры:
|
||
invisible - признак режима редактирования документа (TRUE - невидимый режим, FALSE - видимый режим),
|
||
typeDoc - тип документа (TRUE - деталь, FALSE - сборка).
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
|
||
|
||
## CreatePartInAssembly - Получить указатель на интерфейс детали, создаваемой в сборке
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH CreatePartInAssembly (BSTR fileName,
|
||
LPDISPATCH plane);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPPART CreatePartInAssembly (LPOLESTR fileName,
|
||
LPENTITY plane);
|
||
Входные параметры:
|
||
fileName - имя файла детали создаваемой в сборке,
|
||
plane - указатель на интерфейс плоского объекта ksEntity или IEntity, к которому приклеивается деталь.
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс детали, создаваемой в сборке ksPart или IPart.
|
||
```
|
||
|
||
|
||
## DefaultPlacement - Получить указатель на интерфейс умолчательной системы координат
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
ksPlacement * DefaultPlacement();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPPLACEMENT DefaultPlacement();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksPlacement.
|
||
```
|
||
|
||
|
||
## DeleteObject - Удалить объект: деталь, операцию, сопряжение
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL DeleteObject (LPDISPATCH obj);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL DeleteObject (LPUNKNOWN obj);
|
||
Входной параметр:
|
||
obj - указатель на интерфейс IDispatch или IUnknown удаляемого объекта.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
Примечания:
|
||
1. Удалить можно любой трехмерный объект.
|
||
2. Если в качестве входного параметра переданы:
|
||
•поверхность ksFaceDefinition,
|
||
•ребро ksEdgeDefinition,
|
||
•вершина ksVertexDefinition,
|
||
то будет удален весь формообразующий элемент, которому принадлежит удаляемый объект.
|
||
3. Если в качестве входного параметра передано описание объекта, полученное методом ksEntity::GetDefinition, то после удаления недопустимо использование интерфейса описания удаленного объекта, породившего его интерфейса ksEntity и других интерфейсов удаленного объекта.
|
||
|
||
|
||
## dismantleMode - Разнесенный вид
|
||
|
||
Тип данных: BOOL
|
||
Значения свойства:
|
||
| TRUE | - разнесенный вид включен, |
|
||
| --- | --- |
|
||
| FALSE | - разнесенный вид выключен, |
|
||
Синтаксис:
|
||
```
|
||
dismantleMode = iDocument3D.dismantleMode Получить свойство(* )
|
||
iDocument3D.dismantleMode = dismantleMode Установить свойство (* )
|
||
dismantleMode = iDocument3D.GetDismantleMode() Получить свойство (**)
|
||
iDocument3D.SetDismantleMode(dismantleMode) Установить свойство (**)
|
||
```
|
||
|
||
|
||
## drawMode - Тип отображения модели
|
||
|
||
Тип данных: long
|
||
Значения свойства:
|
||
Из перечисления ViewMode
|
||
Синтаксис Automation:
|
||
```
|
||
drawMode = iDocument3D.drawMode Получить свойство (* )
|
||
iDocument3D.drawMode = drawMode Установить свойство (* )
|
||
drawMode = iDocument3D.GetDrawMode() Получить свойство(**)
|
||
iDocument3D.SetDrawMode(drawMode) Установить свойство (**)
|
||
```
|
||
|
||
|
||
## enableRollBackFeaturesInCollections - Выдавать в коллекциях объекты, исключенные указателем в дереве
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
enable = iDocument3D.enableRollBackFeaturesInCollections Получить свойство (* )
|
||
iDocument3D.enableRollBackFeaturesInCollections = enable Установить свойство (* )
|
||
enable = document.GetenableRollBackFeaturesInCollections() Получить свойство(**)
|
||
document.SetenableRollBackFeaturesInCollections(enable) Установить свойство(**)
|
||
```
|
||
Примечание:
|
||
По умолчанию объекты, исключенные с помощью указателя (зеленая полоска) дерева, не выдаются. Свойство используется для получения исключенных объектов дерева, которые можно использовать для изменения положения указателя в дереве.
|
||
См. функции ksDocument3D::GetRollBackFeature и ksDocument3D::SetRollBackFeature.
|
||
|
||
|
||
## EntityCollection - Получить указатель на интерфейс динамического массива объектов заданного типа, выбранных в документе
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH EntityCollection (short objType, BOOL checkEntity);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPENTITYCOLLECTION EntityCollection (short objType,BOOL checkEntity);
|
||
Входные параметры:
|
||
objType - тип объектов, содержащихся в массиве,
|
||
checkEntity - признак проверки для вновь добавляемых объектов на NULL (TRUE - проверка включена, FALSE - проверка выключена и в массив можно добавить NULL).
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс динамического массива объектов ksEntityCollection или IEntityCollection.
|
||
```
|
||
Примечание:
|
||
Массив создается пустым. Метод Refresh для полученного массива не работает.
|
||
|
||
|
||
## ExcludeFeaturesAfter - Исключить\включить объекты после заданного
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ExcludeFeaturesAfter( LPDISPATCH obj,
|
||
BOOL exclude );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL ExcludeFeaturesAfter( LPFEATURE obj,
|
||
BOOL exclude );
|
||
Входные параметры:
|
||
obj - указатель на интерфейс объекта дерева ksFeature или IFeature, после которого нужно исключить из расчета объекты,
|
||
exclude - TRUE - выключить объекты, - FALSE - включить объекты.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успеха,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## FeatureCollection - Получить массив объектов, имеющих данный атрибут
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
ksFeatureCollection * FeatureCollection (long key1,
|
||
long key2,
|
||
long key3,
|
||
long key4,
|
||
double numb,
|
||
int objType);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPFEATURECOLLECTION * FeatureCollection (long key1,
|
||
long key2,
|
||
long key3,
|
||
long key4,
|
||
double numb,
|
||
int objType);
|
||
Входные параметры:
|
||
key1, key2, key3, key4 - ключи для поиска по ключам либо 0,
|
||
numb - номер типа атрибута для поиска по номеру либо 0.
|
||
objType - тип трехмерного объекта. Если objType = o3d_unknown - выдавать все объекты.
|
||
Возвращаемое значение:
|
||
указатель на интерфейс ksFeatureCollection группы массива объектов Дерева построения,
|
||
```
|
||
Примечания:
|
||
Атрибут - это дополнительная неграфическая информация, связанная с объектом или несколькими объектами чертежа. Такая информация может быть представлена в виде числа, строки текста, а также таблицы с фиксированным или переменным числом строк.
|
||
В дальнейшем значения атрибутов могут использоваться для поиска объектов, а также обрабатываться различными приложениями (например, системой проектирования спецификаций, различными расчетными программами и т.п.).
|
||
Типы (описания структуры) атрибутов могут храниться как непосредственно в документе, так и в специальных файлах (библиотеках типов атрибутов). Эти файлы имеют расширение lat.
|
||
|
||
|
||
## fileName - Имя файла документа (трехмерной модели)
|
||
|
||
Тип данных: строка
|
||
Синтаксис Automation:
|
||
```
|
||
fileName = document.fileName Получить свойство (* )
|
||
document.fileName = fileName Установить свойство (* )
|
||
fileName = document.GetFileName() Получить свойство (**)
|
||
document.SetFileName(fileName) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
fileName = document->GetFileName() Получить свойство
|
||
document->SetFileName(fileName) Установить свойство
|
||
```
|
||
|
||
|
||
## GetChooseMng - Получить указатель на интерфейс менеджера выбора (подсветки) объектов
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetChooseMng();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPCHOOSEMNG GetChooseMng();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksChooseMng или IChooseMng.
|
||
```
|
||
|
||
|
||
## GetDocument3DNotify - Получить указатель на интерфейс источника событий для документа-модели
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
Document3DNotify* GetDocument3DNotify();
|
||
Возвращаемое значение:
|
||
Указатель на источник событий Document3DNotify - в случае успеха.
|
||
```
|
||
|
||
|
||
## GetDocument3DNotifyResult - Дополнительные параметры для событий документа 3D
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetDocument3DNotifyResult();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
IDocument3DNotifyResult * GetDocument3DNotifyResult();
|
||
Возвращаемое значение:
|
||
Указатель на интерфейс дополнительных параметров для события 3D документа IDocument3DNotifyResult, ksDocument3DNotifyResult
|
||
```
|
||
Примечание:
|
||
Интерфейс позволяет получить указатель на объект для которого посылается данное событие. Например, выбор материала и обозначения доступны для верхнего компонента, вставки и тела.
|
||
|
||
|
||
## GetEditMacroObject - Получить редактируемый макроэлемент 3D
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetEditMacroObject();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPENTITY GetEditMacroObject();
|
||
Возвращаемое значение:
|
||
- Указатель на интерфейс редактируемого макроэлемента ksEntity.
|
||
```
|
||
|
||
|
||
## GetInterface - Получить интерфейс 3D объекта по типу
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetInterface (long o3dType);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPUNKNOWN GetInterface (long o3dType);
|
||
Входные параметры:
|
||
o3dType - тип интерфейса.
|
||
Возвращаемое значение:
|
||
Указатель на заданный интерфейс - в случае успеха,
|
||
NULL - в случае неудачи.
|
||
Список интерфейсов, возвращаемых функцией GetInterface и функцией ksDocument3D::GetInterface.
|
||
```
|
||
|
||
|
||
## Интерфейсы, возвращаемые функцией ksDocument3D::GetInterface
|
||
|
||
| Идентификатор объекта | Название объекта | Интерфейс |
|
||
| --- | --- | --- |
|
||
| o3d_coordinate3dCollection | Интерфейс коллекции координат | ksCoordinate3dCollection |
|
||
| o3d_faceCollection | Интерфейс коллекции граней | ksFaceCollection |
|
||
|
||
|
||
## GetLastFeature - Получить последний объект в дереве
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetLastFeature()
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPFEATURE GetLastFeature()
|
||
Возвращаемое значение:
|
||
Указатель на объект дерева ksFeature или IFeature - в случае успеха,
|
||
NULL - в случае неудачи.
|
||
```
|
||
|
||
|
||
## GetMateConstraint - Получить указатель на интерфейс нового временного сопряжения
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetMateConstraint();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPMATECONSTRAINT GetMateConstraint();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс нового сопряжения ksMateConstraint или IMateConstraint.
|
||
```
|
||
Примечания:
|
||
1. Сопряжения бывают постоянными и временными. Временные сопряжения, в отличие от постоянных, существуют только в течении процесса указания местоположения или объектов. Процесс запускается методом ksDocument3D::UserGetPlacementAndEntity. Постоянные сопряжения создаются с помощью метода ksDocument3D::AddMateConstraint.
|
||
2. Для создания временного сопряжения в модели после получения указателя на его интерфейс с помощью данного метода и изменения параметров создаваемого сопряжения используется метод ksMateConstraint::Create.
|
||
3. Пример использования методов создания временных и постоянных сопряжений приведен в демонстрационной библиотеке построения модели стандартного изделия (шпильки), которая сохранена в файле STUDS3D.rtw.
|
||
|
||
|
||
## GetObjectType - Получить тип объекта
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
long GetObjectType (LPDISPATCH obj);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
int GetObjectType (LPUNKNOWN obj);
|
||
Входной параметр:
|
||
obj - указатель на интерфейс IDispatch или IUnknown трехмерного объекта.
|
||
Возвращаемое значение:
|
||
- тип объекта Obj3dType.
|
||
```
|
||
Примечания:
|
||
Данный метод удобно использовать для приведения базового интерфейса (IUnknown в COM и IDispatch в Automation) к конечному трехмерному интерфейсу. Зная тип объекта, можно привести его к соответствующему интерфейсу.
|
||
|
||
|
||
## GetObjParam - Получить параметры объекта
|
||
|
||
Аналог данного метода при использовании API экспортных функций - GetObjParam.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetObjParam (long reference, LPDISPATCH param, long paramType);
|
||
Входные параметры:
|
||
reference - указатель на объект,
|
||
paramType - тип параметров,
|
||
param - указатель на интерфейс параметров ksUserParam.
|
||
Возвращаемое значение:
|
||
тип объекта - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
|
||
|
||
## GetPart - Получить указатель на интерфейс компонента в соответствии с заданным типом
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetPart (long type);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPPART GetPart(int type);
|
||
Входной параметр:
|
||
type - тип компонента из перечисления Типы компонентов.
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс компонента ksPart или IPart.
|
||
```
|
||
Примечание:
|
||
Тип задается для нового, редактируемого или главного компонента либо тип равен номеру компонента в документе.
|
||
Функция используется, чтобы получить доступ к компоненту документа.
|
||
Деталь или сборка являются компонентами. Сборка, в свою очередь, состоит из компонентов - деталей и подсборок.
|
||
|
||
|
||
## GetRequestInfo - Получить указатель интерфейса параметров запроса к системе ksRequestInfo3D
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetRequestInfo (LPDISPATCH part);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPREQUESTINFO GetRequestInfo (LPPART part);
|
||
Входной параметр:
|
||
part - указатель на интерфейс компонента (детали или подсборки) ksPart или IPart.
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс параметров запроса к системе ksRequestInfo3D или IRequestInfo.
|
||
См. также интерфейс параметров запроса к системе ksRequestInfo3D
|
||
```
|
||
|
||
|
||
## GetRollBackFeature - Получить положение указателя в дереве
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetRollBackFeature( );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPFEATURE GetRollBackFeature();
|
||
Возвращаемое значение:
|
||
- указатель на объект дерева ksFeature или IFeature, после которого установлен указатель, - в случае успешного завершения,
|
||
FALSE. - в случае неудачи.
|
||
```
|
||
|
||
|
||
## GetSelectionMng - Получить указатель на интерфейс менеджера выделенных объектов
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetSelectionMng();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPSELECTIONMNG GetSelectionMng();
|
||
Возвращаемое значение:
|
||
указатель на интерфейс ksSelectionMng или ISelectionMng.
|
||
```
|
||
|
||
|
||
## GetSpecification - Получить указатель на интерфейс для работы с объектами спецификации
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetSpecification();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс для работы с объектами спецификации ksSpecification.
|
||
```
|
||
|
||
|
||
## GetViewProjectionCollection - Получить указатель на интерфейс массива проекций отображения модели в окне
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetViewProjectionCollection();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPVIEWPROJECTIONCOLLECTION GetViewProjectionCollection();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksViewProjectionCollection или IViewProjectionCollection.
|
||
```
|
||
|
||
|
||
## hideAllAuxiliaryGeom - Скрыть/показать все вспомогательные объекты
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис:
|
||
```
|
||
hideAllAuxiliaryGeom = Object.hideAllAuxiliaryGeom Получить свойство (* )
|
||
Object.hideAllAuxiliaryGeom = hideAllAuxiliaryGeom Установить свойство (* )
|
||
hideAllAuxiliaryGeom = Object.GetHideAllAuxiliaryGeom() Получить свойство (**)
|
||
Object.SetHideAllAuxiliaryGeom( hideAllAuxiliaryGeom ) Установить свойство (**)
|
||
```
|
||
Примечание:
|
||
В зависимости от флага hideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.
|
||
|
||
|
||
## hideAllAxis - Скрыть\показать конструктивные оси
|
||
|
||
Тип данных: BOOL
|
||
Значения свойства:
|
||
| TRUE | - скрыть конструктивные оси, |
|
||
| --- | --- |
|
||
| FALSE | - показать конструктивные оси. |
|
||
Синтаксис Automation:
|
||
```
|
||
hideAllAxis = iDocument3D.hideAllAxis Получить свойство(* )
|
||
iDocument3D.hideAllAxis = hideAllAxis Установить свойство(* )
|
||
hideAllAxis = iDocument3D.GetHideAllAxis() Получить свойство(**)
|
||
iDocument3D.SetHideAllAxis(hideAllAxis) Установить свойство (**)
|
||
```
|
||
Примечание:
|
||
В зависимости от флага hideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.
|
||
|
||
|
||
## HideAllControlPoints - Скрыть/показать контрольные точки
|
||
|
||
Тип данных: BOOL
|
||
Значения свойства:
|
||
| TRUE | - контрольные точки скрыты, |
|
||
| --- | --- |
|
||
| FALSE | - контрольные очки показаны. |
|
||
Синтаксис COM:
|
||
```
|
||
BOOL HideAllControlPoints = iObject->GetHideAllControlPoints() Получить свойство
|
||
iObject->SetHideAllControlPoints (HideAllControlPoints) Установить свойство
|
||
Примечание.
|
||
Свойство только для СОМ-интерфейса IDocument3D.
|
||
```
|
||
|
||
|
||
## HideAllCurves - Скрыть/показать пространственные кривые
|
||
|
||
Тип данных: BOOL
|
||
Значения свойства:
|
||
| TRUE | - пространственные кривые скрыты, |
|
||
| --- | --- |
|
||
| FALSE | - пространственные кривые показаны. |
|
||
Синтаксис:
|
||
```
|
||
BOOL HideAllCurves = iObject->GetHideAllCurves() Получить свойство
|
||
iObject->SetHideAllCurves (HideAllCurves) Установить свойство
|
||
Примечание.
|
||
Свойство только для СОМ-интерфейса IDocument3D.
|
||
```
|
||
|
||
|
||
## hideAllDesignations - Скрыть/показать условные обозначения
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис:
|
||
```
|
||
hideAllDesignations = Object.hideAllDesignations Получить свойство (* )
|
||
Object.hideAllDesignations = hideAllDesignations Установить свойство(* )
|
||
hideAllDesignations = Object.GetHideAllDesignations() Получить свойство (**)
|
||
Object.SetHideAllDesignations(hideAllDesignations ) Установить свойство (**)
|
||
```
|
||
Примечание:
|
||
В зависимости от флага hideInComponentsMode позволяет скрыть или показать условные обозначения в документе или, если документ является сборкой, во вставках.
|
||
|
||
|
||
## hideAllDimensions - Скрыть/показать размеры
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис:
|
||
```
|
||
hideAllDimensions = Object.hideAllDimensions Получить свойство (* )
|
||
Object.hideAllDimensions = hideAllDimensions Установить свойство (* )
|
||
hideAllDimensions = Object.GetHideAllDimensions() Получить свойство (**)
|
||
Object.SetHideAllDimensions( hideAllDimensions ) Установить свойство (**)
|
||
```
|
||
Примечание:
|
||
В зависимости от флага hideInComponentsMode позволяет скрыть или показать размеры в документе или, если документ является сборкой, во вставках.
|
||
|
||
|
||
## hideAllPlaces - Скрыть\показать начала координат
|
||
|
||
Тип данных: BOOL
|
||
Значения свойства:
|
||
| TRUE | - скрыть начала координат, |
|
||
| --- | --- |
|
||
| FALSE | - показать начала координат. |
|
||
Синтаксис Automation:
|
||
```
|
||
iDocument3D.hideAllPlaces Получить свойство (* )
|
||
iDocument3D.hideAllPlaces = hideAllPlaces Установить свойство (* )
|
||
hideAllPlaces = iDocument3D.GetHideAllPlaces() Получить свойство (**)
|
||
iDocument3D.SetHideAllPlaces(hideAllPlaces) Установить свойство(**)
|
||
```
|
||
Примечание:
|
||
В зависимости от флага hideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.
|
||
|
||
|
||
## hideAllPlanes - Скрыть\показать конструктивные плоскости
|
||
|
||
Тип данных: BOOL
|
||
Значения свойства:
|
||
| TRUE | - скрыть конструктивные плоскости, |
|
||
| --- | --- |
|
||
| FALSE | - показать конструктивные плоскости. |
|
||
Синтаксис Automation:
|
||
```
|
||
hideAllPlanes = iDocument3D.hideAllPlanes Получить свойство (* )
|
||
iDocument3D.hideAllPlanes = hideAllPlanes Установить свойство (* )
|
||
hideAllPlanes = iDocument3D.GetHideAllPlanes() Получить свойство (**)
|
||
iDocument3D.SetHideAllPlanes( hideAllPlanes ) Установить свойство (**)
|
||
```
|
||
Примечание:
|
||
В зависимости от флага hideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.
|
||
|
||
|
||
## hideAllSketches - Скрыть\показать эскизы
|
||
|
||
Тип данных: BOOL
|
||
Значения свойства:
|
||
| TRUE | - скрыть конструктивные эскизы, |
|
||
| --- | --- |
|
||
| FALSE | - показать конструктивные эскизы. |
|
||
Синтаксис Automation:
|
||
```
|
||
iDocument3D.hideAllSketches Получить свойство (* )
|
||
iDocument3D.hideAllSketches = hideAllSketches Установить свойство (* )
|
||
hideAllSketches = iDocument3D.GetHideAllSketches() Получить свойство (**)
|
||
iDocument3D.SetHideAllSketches(hideAllSketches ) Установить свойство (**)
|
||
```
|
||
Примечание:
|
||
В зависимости от флага hideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.
|
||
|
||
|
||
## hideAllSurfaces - Скрыть\показать поверхности
|
||
|
||
Тип данных: BOOL
|
||
Значения свойства:
|
||
| TRUE | - скрыть поверхности, |
|
||
| --- | --- |
|
||
| FALSE | - показать поверхности. |
|
||
Синтаксис Automation:
|
||
```
|
||
hideAllSurfaces = iDocument3D.hideAllSurfaces Получить свойство (* )
|
||
iDocument3D.hideAllSurfaces = hideAllSurfaces Установить свойство (* )
|
||
hideAllSurfaces = iDocument3D.GetHideAllSurfaces() Получить свойство (**)
|
||
iDocument3D.SetHideAllSurfaces(hideAllSurfaces) Установить свойство(**)
|
||
```
|
||
Примечание:
|
||
В зависимости от флага hideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.
|
||
|
||
|
||
## hideAllThreads - Скрыть\показать обозначения резьбы
|
||
|
||
Тип данных; BOOL
|
||
Значения свойства:
|
||
| TRUE | - скрыть поверхности, |
|
||
| --- | --- |
|
||
| FALSE | - показать поверхности. |
|
||
Синтаксис Automation:
|
||
```
|
||
hideAllThreads = iDocument3D.hideAllThreads Получить свойство (* )
|
||
iDocument3D.hideAllThreads = hideAllThreads Установить свойство (* )
|
||
hideAllThreads = iDocument3D.GetHideAllThreads() Получить свойство (**)
|
||
iDocument3D.SetHideAllThreads(hideAllThreads) Установить свойство (**)
|
||
```
|
||
Примечание:
|
||
В зависимости от флага hideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.
|
||
|
||
|
||
## hideInComponentsMode - Режим скрытия вспомогательной геометрии в компонентах
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис:
|
||
```
|
||
hideInComponentsMode = Object.hideInComponentsMode Получить свойство (* )
|
||
Object.hideInComponentsMode = hideInComponentsMode Установить свойство (* )
|
||
hideInComponentsMode = Object.GetHideInComponentsMode() Получить свойство(**)
|
||
Object.SetHideInComponentsMode(hideInComponentsMode ) Установить свойство(**)
|
||
```
|
||
Примечание:
|
||
Флаг позволяет для сборки включить режим работы с флагами скрытия вспомогательной геометрии во вставках или в документе.
|
||
Если флаг включен, то свойства: hideAllPlanes, hideAllAxis, hideAllSketches, hideAllPlaces, hideAllSurfaces, hideAllThreads, hideAllCurves, hideAllControlPoints, hideAllDimensions, hideAllDesignations, hideAllAuxiliaryGeom управляют признаками скрытия вспомогательной геометрии во вставках.
|
||
|
||
|
||
## hideLayoutGeometry - Скрыть/показать компоновочную геометрию
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис:
|
||
```
|
||
hideLayoutGeometry = Object.hideLayoutGeometry Получить свойство (* )
|
||
Object.hideLayoutGeometry = hideLayoutGeometry Установить свойство (* )
|
||
hideLayoutGeometry = Object.GetHideLayoutGeometry() Получить свойство (**)
|
||
Object.SetHideLayoutGeometry( hideLayoutGeometry ) Установить свойство (**)
|
||
```
|
||
Примечание:
|
||
В зависимости от флага hideInComponentsMode позволяет скрыть или показать компоновочную геометрию в документе или, если документ является сборкой, во вставке.
|
||
|
||
|
||
## invisibleMode - Режим редактирования документа
|
||
|
||
Тип данных: BOOL
|
||
Значения свойства:
|
||
| TRUE | - невидимый режим, |
|
||
| --- | --- |
|
||
| FALSE | - видимый режим. |
|
||
Синтаксис Automation:
|
||
```
|
||
InvisibleMode = document.invisibleMode Получить свойство (* )
|
||
InvisibleMode = document.GetInvisibleMode () Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
InvisibleMode = document->GetInvisibleMode () Получить свойство
|
||
```
|
||
Примечание:
|
||
Данное свойство предназначено только для чтения.
|
||
|
||
|
||
## IsActive - Получить состояние активности документа
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL IsActive();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL IsActive();
|
||
Возвращаемое значение:
|
||
TRUE - документ является активным.
|
||
```
|
||
|
||
|
||
## IsDetail - Определить, является ли модель деталью
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL IsDetail();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL IsDetail();
|
||
Возвращаемое значение:
|
||
TRUE - деталь,
|
||
FALSE - сборка.
|
||
```
|
||
|
||
|
||
## IsEditMode - Определить, запущен ли какой-либо из компонентов на редактирование через библиотеку
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL IsEditMode();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL IsEditMode();
|
||
Возвращаемое значение:
|
||
TRUE - редактирование компонента через библиотеку,
|
||
FALSE - редактируемых компонентов нет.
|
||
```
|
||
Примечание:
|
||
Редактируемый компонент можно получить методом GetPart (pEdit_Part).
|
||
|
||
|
||
## ksDeleteObj - Удалить объект
|
||
|
||
Аналог данного метода при использовании API экспортных функций - DeleteObj.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksDeleteObj (long ref);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
long ksDeleteObj (long ref);
|
||
Входные параметры:
|
||
ref - указатель на удаляемый объект.
|
||
Возвращаемое значение:
|
||
1 - в случае успешного завершения.
|
||
```
|
||
|
||
|
||
## ksGetObjParam - Получить параметры объекта
|
||
|
||
Аналог данного метода при использовании API экспортных функций - GetObjParam.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetObjParam (long reference, LPDISPATCH param, long paramType);
|
||
Входные параметры:
|
||
reference - указатель на объект,
|
||
paramType - тип параметров объекта или индекс строки в массиве для объектов TECHNICALDEMAND_OBJ и TEXT_OBJ или номер страницы (габаритного прямоугольника) технических требований (TECHNICALDEMAND_OBJ),
|
||
Param - указатель на интерфейс параметров ksUserParam.
|
||
Возвращаемое значение:
|
||
Тип объекта - в случае успешного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Вызов метода с нулевыми значениями параметров param и parType позволяет получить тип объекта по его reference.
|
||
|
||
|
||
## ksIsSlaveSpcOpened - Открыто ли окно спецификации в Slave режиме
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
int ksIsSlaveSpcOpened();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
int ksIsSlaveSpcOpened();
|
||
Возвращаемое значение:
|
||
0 - окно спецификации в Slave режиме не откр\ыто,
|
||
1 - окно спецификации в Slave режиме открыто,
|
||
2 - окно спецификации в Slave режиме открыто и активно.
|
||
```
|
||
|
||
|
||
## ksSetObjParam - Установить параметры объекта
|
||
|
||
Аналог данного метода при использовании API экспортных функций - SetObjParam.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksSetObjParam (long reference, LPDISPATCH param, long paramType);
|
||
Входные параметры:
|
||
reference - указатель на объект,
|
||
paramType - тип параметров объекта или индекс строки в массиве для объектов TECHNICALDEMAND_OBJ и TEXT_OBJ или номер страницы (габаритного прямоугольника) технических требований (TECHNICALDEMAND_OBJ),
|
||
Param - указатель на интерфейс параметров ksUserParam.
|
||
Возвращаемое значение:
|
||
1 - в случае успешного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
|
||
|
||
## LoadFromAdditionFormat - Загрузить документ из дополнительных форматов jgs, sat, xt, x_b, step, stl, jt, C3D
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL LoadFromAdditionFormat( BSTR fileName, LPDISPATCH additionPar );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL LoadFromAdditionFormat( LPOLESTR fileName, LPADDITIONFORMATPARAM additionPar );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Выходные параметры:
|
||
fileName - имя файла,
|
||
additionPar - указатель на интерфейс ksAdditionFormatParam или IAdditionFormatParam, определяющий параметры записи в дополнительный формат,
|
||
```
|
||
|
||
|
||
## MateConstraintCollection - Получить интерфейс параметров массива сопряжений компонента сборки
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH MateConstraintCollection();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPMATECONSTRAINTCOLLECTION MateConstraintCollection();
|
||
Возвращаемое значение:
|
||
Указатель на интерфейс коллекции сопряжений текущей редактируемой сборки или подсборки IMateConstraintCollection ksMateConstraintCollection
|
||
```
|
||
|
||
|
||
## matesMultiCreatedMode - Режим группового создания сопряжений
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис:
|
||
```
|
||
matesMultiCreatedMode = Object.matesMultiCreatedMode Получить свойство (* )
|
||
Object.matesMultiCreatedMode = matesMultiCreatedMode Установить свойство (* )
|
||
matesMultiCreatedMode = Object.GetMatesMultiCreatedMode() Получить свойство (**)
|
||
Object.SetMatesMultiCreatedMode( matesMultiCreatedMode ) Установить свойство (**)
|
||
```
|
||
|
||
|
||
## Open - Открыть на редактирование документ-модель (деталь или сборку)
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL Open (BSTR fileName, BOOL invisible);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL Open (LPOLESTR fileName, BOOL invisible);
|
||
Входные параметры:
|
||
fileName - имя файла открываемого документа,
|
||
invisible - признак режима редактирования документа (TRUE – невидимый режим, FALSE - видимый режим).
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
|
||
|
||
## PartCollection - Получить указатель на интерфейс динамического массива компонентов, вставленных в сборку
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH PartCollection (BOOL refresh)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPPARTCOLLECTION PartCollection (BOOL refresh);
|
||
Входные параметры:
|
||
refresh - TRUE - полученный массив будет заполнен компонентами данной сборки или детали, - FALSE - полученный массив будет пустым.
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс динамического массива компонентов, вставленных в сборку ksPartCollection или IPartCollection.
|
||
```
|
||
|
||
|
||
## perspective - Признак отображения модели в перспективной проекции
|
||
|
||
Тип данных: BOOL
|
||
Значения свойства:
|
||
| TRUE | - перспективная проекция включена, |
|
||
| --- | --- |
|
||
| FALSE | - перспективная проекция выключена. |
|
||
Синтаксис Automation:
|
||
```
|
||
perspective = iDocument3D.perspective Получить свойство (* )
|
||
iDocument3D.perspective = perspective Установить свойство (* )
|
||
perspective = iDocument3D.GetPerspective() Получить свойство (**)
|
||
iDocument3D.SetPerspective(perspective) Установить свойство (**)
|
||
```
|
||
|
||
|
||
## PlaceFeatureAfter - Поставить объект дерева после другого объекта дерева
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL PlaceFeatureAfter( LPDISPATCH obj, LPDISPATCH afterObj );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL PlaceFeatureAfter( LPFEATURE obj, LPFEATURE afterObj );
|
||
Входные параметры:
|
||
obj - указатель на перемещаемый объект дерева ksFeature или IFeature,
|
||
afterObj - указатель на объект дерева, после которого нужно установить заданный объект ksFeature или IFeature,
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## RasterFormatParam - Получить указатель на интерфейс параметров сохранения документа в растровом формате
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH RasterFormatParam();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPRASTERFORMATPARAM RasterFormatParam();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksRasterFormatParam или IRasterFormatParam.
|
||
```
|
||
|
||
|
||
## RebuildDocument - Перестроить документ-модель
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL RebuildDocument();
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## reference - Указатель документа-модели (детали, сборки)
|
||
|
||
Тип данных: long
|
||
Синтаксис Automation:
|
||
```
|
||
ref = iDocument3D.reference Получить свойство (* )
|
||
iDocument3D.reference = ref Установить свойство(* )
|
||
ref = document.GetReference () Получить свойство (**)
|
||
document.SetReference (ref) Установить свойство (**)
|
||
```
|
||
Примечание:
|
||
Свойство определяет указатель на трехмерную модель в стиле API графических документов. Позволяет использовать функционал атрибутов и итераторов.
|
||
|
||
|
||
## RemoveMateConstraint - Удалить сопряжение из сборки
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL RemoveMateConstraint (long constraintType,
|
||
LPDISPATCH object1,
|
||
LPDISPATCH object2);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL RemoveMateConstraint (unsigned int constraintType,
|
||
LPENTITY obj1,
|
||
LPENTITY obj2);
|
||
Входные параметры:
|
||
constraintType - тип сопряжения из перечисления MateConstraintType,
|
||
object1 - указатель на интерфейс первого объекта, на который наложено сопряжение (ksEntity или IEntity),
|
||
object2 - указатель на интерфейс второго объекта, на который наложено сопряжение (ksEntity или ksEntity).
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
|
||
|
||
## RunTakeCreateObjectProc - Запустить подчиненный режим создания объектов
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL RunTakeCreateObjectProc( long processType, LPDISPATCH takeObject, BOOL needCreateTakeObj, BOOL lostTakeObj )
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL RunTakeCreateObjectProc( long processType, LPUNKNOWN takeObject, BOOL needCreateTakeObj, BOOL lostTakeObj );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Выходные параметры:
|
||
ProcessType - тип подпроцесса,
|
||
TakeObject - указатель на интерфейс редактируемого в подпроцессе объекта.
|
||
NeedCreateTakeObj - необходимость создания объекта в подпроцессе,
|
||
LostTakeObj - TRUE - фиксировать параметры создаваемого объекта.
|
||
Функция позволяет запустить следующие подпроцессы
|
||
prPoint3D Точка 3D
|
||
prAxisByDirection Ось через вершину по объекту
|
||
prCAxis2Points Ось по двум точкам
|
||
prCAxis2Planes Ось по двум плоскостям
|
||
prCAxisConeface Ось конической грани
|
||
prCAxisEdge Ось, проходящая через ребро
|
||
prContour3D Контур 3D
|
||
prLocalCoordinateSystem Локальная система координат
|
||
prIsoparamCurve Изопараметрическая кривая
|
||
prEquidistant3D Эквидистанта 3D
|
||
prCPlaneOffset Смещённая плоскость
|
||
prCPlane3Points Плоскость по 3-м точкам
|
||
prCPlaneAngle Плоскость под углом
|
||
prCPlaneEdgePoint Плоскость через ребро и вершину
|
||
prCPlaneParallel Плоскость через вершину параллельно другой плоскости
|
||
prCPlanePerpendicular Плоскость через вершину перпендикулярно ребру
|
||
prCPlaneNormalToSurface Нормальная плоскость
|
||
prCPlaneTangentToSurface Касательная плоскость
|
||
prCPlaneLineToEdge Плоскость через ребро параллельно/перпендикулярно другому ребру
|
||
prCPlaneLineToFlat Плоскость через ребро параллельно/перпендикулярно грани
|
||
prCPlaneMiddle Средняя плоскость
|
||
prCPlaneTangentAtPoint Плоскость, касательная к грани в точке
|
||
prCPlaneAtCurve Плоскость через плоскую кривую
|
||
prMateParallel Сопряжения компонентов - Параллельность
|
||
prMatePerpendicular Сопряжения компонентов - Перпендикулярность
|
||
prMateOnDistance Сопряжения компонентов - На расстоянии
|
||
prMateOnAngle Сопряжения компонентов - Под углом
|
||
prMateTangent Сопряжения компонентов - Касание
|
||
prMateConcentric Сопряжения компонентов - Соосность
|
||
prMateCoincident Сопряжения компонентов - Совпадение
|
||
prMateSymmetry Сопряжения компонентов - Симметрия
|
||
prMateDependent Сопряжения компонентов - Зависимое положение
|
||
```
|
||
|
||
|
||
## Save - Cохранить документ-модель (деталь или сборку) в файл с заданным ранее именем
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL Save();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL Save();
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
Примечание:
|
||
Имя файла документа задается свойством fileName.
|
||
|
||
|
||
## SaveAs - Cохранить документ-модель (деталь или сборку) с новым именем
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SaveAs (BSTR fileName);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL SaveAs (LPOLESTR fileName);
|
||
Входной параметр:
|
||
fileName - имя файла документа.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
|
||
|
||
## SaveAsEx - Сохранить документ с новым именем файла
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SaveAsEx (BSTR fileName, long saveMode);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL SaveAsEx (LPOLESTR fileName, long saveMode);
|
||
Входные параметры:
|
||
fileName - новое имя файла документа,
|
||
saveMode - версия для сохранения: -1 - в предыдущую версию, 0 - в текущую версию, 1 - в версию 5.11.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Если fileName = NULL, то используется имя файла из документа. Если же и в документе отсутствует имя файла, то взводится ошибка.
|
||
|
||
|
||
## SaveAsToAdditionFormat - Сохранить модель в файле формата SAT, XT, STEP, IGES, VRML, STL
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SaveAsToAdditionFormat (BSTR fileName,
|
||
LPDISPATCH additionPar);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL SaveAsToAdditionFormat (LPOLESTR fileName,
|
||
LPADDITIONFORMATPARAM additionPar );
|
||
Входные параметры:
|
||
fileName - полное имя файла, в который сохраняется модель,
|
||
additionPar - указатель на интерфейс ksAdditionFormatParam или IAdditionFormatParam, определяющий параметры записи в дополнительный формат.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
|
||
|
||
## SaveAsToRasterFormat - Сохранить документ в растровом файле
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SaveAsToRasterFormat (BSTR fileName,
|
||
LPDISPATCH rasterPar);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL SaveAsToRasterFormat (LPOLESTR fileName,
|
||
LPRASTERFORMATPARAM rasterPar );
|
||
Входные параметры:
|
||
fileName - полное имя файла, в который сохраняется модель,
|
||
rasterPar - указатель на интерфейс ksRasterFormatParam или IRasterFormatParam, определяющий параметры записи в растровый формат.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
Примечание:
|
||
Метод позволяет сохранить присланный документ в растровом формате (BMP, GIF, JPG, PNG, TIF, TGA, PCX, EMF и WMF) с заданными свойствами.
|
||
Сохранение в WMF формат не поддерживается. При сохранении в WMF формате файл записывается в формате EMF.
|
||
|
||
|
||
## SaveAsToUncompressedRasterFormat - Cохранить документ в растровый формат
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SaveAsToUncompressedRasterFormat (BSTR fileName, LPDISPATCH rasterPar);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL SaveAsToUncompressedRasterFormat (LPOLESTR fileName, LPRASTERFORMATPARAM rasterPar );
|
||
Выходные параметры:
|
||
fileName - Имя файла документа. Задается полное имя файла,
|
||
rasterPar - Указатель на интерфейс ksRasterFormatParam или IRasterFormatParam, определяющий параметры конвертации в растровый формат.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успеха,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
Примечания:
|
||
Метод позволяет сохранить документ в растровый формат (BMP, GIF, JPG, PNG, TIF, TGA, PCX, EMF и WMF) без сжатия, с заданными свойствами.
|
||
Сохранение в WMF формат не поддерживается. При сохранении в WMF формате файл записывается в формате EMF.
|
||
Подробнее см. описание интерфейса ksRasterFormatParam. Для API экспортных функций - метод ksSaveAsToUncompressedRasterFormat.
|
||
|
||
|
||
## SetActive - Сделать документ текущим
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetActive();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL SetActive();
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
|
||
|
||
## SetPartFromFile - Вставить в модель компонент ссылкой на внешний файл или телом
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetPartFromFile (BSTR fileName,
|
||
LPDISPATCH part,
|
||
BOOL externalFile);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL SetPartFromFile (LPOLESTR fileName,
|
||
LPPART part,
|
||
BOOL externalFile);
|
||
Входные параметры:
|
||
fileName - имя файла, из которого будет вставлен компонент,
|
||
part - указатель на интерфейс компонента, который будет вставлен в документ (ksPart или IPart),
|
||
externalFile - признак сохранения связи с файлом-источником (TRUE - вставка со ссылкой на внешний файл, FALSE - вставка "телом", без сохранения ссылки на источник).
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
Примечание:
|
||
При вставке из файла указывается полный путь к файлу. При вставке из библиотеки моделей указывается полный путь к файлу библиотеки и путь внутри библиотеки моделей (например, "C:\\standard.l3d|Крепежные элементы|Болты|Болт_1").
|
||
|
||
|
||
## SetPartFromFileEx - Вставить в модель компонент из файла или из библиотеки моделей
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetPartFromFileEx (BSTR fileName, LPDISPATCH part, BOOL externalFile, BOOL redraw);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL SetPartFromFileEx (LPOLESTR fileName, LPPART part, BOOL externalFile, BOOL redraw);
|
||
Входные параметры:
|
||
fileName - имя файла, из которого будет вставлен компонент,
|
||
part - указатель на интерфейс компонента, который будет вставлен в документ (ksPart или IPart),
|
||
externalFile - признак сохранения связи с файлом-источником: (TRUE - вставка со ссылкой на внешний файл, FALSE - вставка "телом", без сохранения ссылки на источник),
|
||
redraw - признак перестроения документа после вставки компонента: (TRUE - перестроить документ, FALSE - не перестраивать).
|
||
Возвращаемое значение:
|
||
TRUE - в случае успеха,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
Примечания:
|
||
При вставке из файла указывается полный путь к файлу. При вставке из библиотеки моделей указывается полный путь к файлу библиотеки и путь внутри библиотеки моделей (например, "C:\\standard.l3d|Крепежные элементы|Болты|Болт_1").
|
||
|
||
|
||
## SetRollBackFeature - Установить положение указателя в дереве
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetRollBackFeature( LPDISPATCH obj );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL SetRollBackFeature( LPFEATURE obj );
|
||
Входные параметры:
|
||
obj - указатель на объект дерева ksFeature или IFeature, после которого нужно установить указатель.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## shadedWireframe - Полутоновое изображение с каркасом объектов активного окна документа-модели
|
||
|
||
Тип данных: BOOL
|
||
Значения свойства:
|
||
| TRUE | - полутоновое изображение с каркасом объектов включено, |
|
||
| --- | --- |
|
||
| FALSE | - полутоновое изображение с каркасом объектов выключено. |
|
||
Синтаксис:
|
||
```
|
||
shadedWireframe = iDocument3D.shadedWireframe Получить свойство (* )
|
||
iDocument3D.shadedWireframe = shadedWireframe Установить свойство(* )
|
||
shadedWireframe = iDocument3D.GetShadedWireframe() Получить свойство (**)
|
||
iDocument3D.SetShadedWireframe(shadedWireframe) Установить свойство (**)
|
||
```
|
||
|
||
|
||
## StopLibRequest - Остановить текущий процесс
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL StopLibRequest();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL StopLibRequest();
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Процесс должен быть предварительно запущен функцией UserGetPlacementAndEntity.
|
||
|
||
|
||
## treeNeedRebuild - Необходимость перестроения дерева при изменении его состава
|
||
|
||
Тип данных: BOOL
|
||
Значения свойства:
|
||
| TRUE | - разрешить перестраивать дерево, |
|
||
| --- | --- |
|
||
| FALSE | - запретить перестраивать дерево. |
|
||
Синтаксис:
|
||
```
|
||
treeNeedRebuild = iDocument3D.treeNeedRebuild Получить свойство(* )
|
||
iDocument3D.treeNeedRebuild = treeNeedRebuild Установить свойство (* )
|
||
treeNeedRebuild = iDocument3D.GetTreeNeedRebuild() Получить свойство (**)
|
||
iDocument3D.SetTreeNeedRebuild (treeNeedRebuild) Установить свойство (**)
|
||
```
|
||
Примечания:
|
||
1. Так как после вызова ksEntity::Update у любого объекта модель будет перестраиваться, то для ускорения при перестроении группы объектов, кроме закрытия самого перестроения ksPart::needRebuild, можно также закрыть отрисовку дерева, если она не нужна.
|
||
2. При использовании данного свойства нужно запоминать его значение и после окончания работы с ним возвращать его в первоначальное состояние.
|
||
|
||
|
||
## UpdateDocumentParam - Активизировать измененные параметры документа
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL UpdateDocumentParam();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL UpdateDocumentParam();
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
|
||
|
||
## UserGetCursor - Запустить процесс указания местоположения точки
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL UserGetCursor (BSTR prompt, double * x, double * y, double * z);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL UserGetCursor (LPOLESTR prompt, double * x, double * y, double * z);
|
||
Входные параметры:
|
||
promt - строка подсказки для пользователя.
|
||
Выходные параметры:
|
||
x - координата x точки, указанной пользователем,
|
||
y - координата y точки, указанной пользователем,
|
||
z - координата z точки, указанной пользователем.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения (пользователь указал точку).
|
||
```
|
||
|
||
|
||
## UserGetPlacementAndEntity - Запустить процесс указания местоположения или объектов
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL UserGetPlacementAndEntity(long entityCount);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL UserGetPlacementAndEntity(long entityCount);
|
||
Входной параметр:
|
||
entityCount - максимальное количество объектов, которое может быть одновременно указано в процессе.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
Примечание:
|
||
Параметры настройки процесса задаются с помощью интерфейса ksRequestInfo3D.
|
||
Массив объектов необходимо заполнить вручную в CallBack-функции.
|
||
В интерфейсе ksRequestInfo3D определен доступ к массиву объектов, который заполняется в процессе.
|
||
Для процесса можно задать строку приглашения и функции обратной связи для фильтрации объектов и выбора объекта.
|
||
Алгоритм работы процесса:
|
||
Разработчик определяет значение entityCount, текст строки приглашения, функции обратной связи и запускает процесс.
|
||
При захвате курсором объекта модели этот объект передается в функцию фильтрации, где можно проверить его тип и сообщить процессу, подходит объект или нет.
|
||
Если объект подходит, то он подсвечивается на экране.
|
||
После указания объекта он передается в функцию выбора, где его можно добавить в массив объектов и изменить строку приглашения.
|
||
Объекты, попавшие в массив, выделяются на экране.
|
||
После выхода из процесса массив остается доступным до очередного вызова функции GetRequestInfo.
|
||
|
||
|
||
## UserSelectEntity - Запустить процесс выбора объекта
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH UserSelectEntity (LPDISPATCH defObject,
|
||
LPCTSTR methodName,
|
||
LPCTSTR prompt,
|
||
long hInstance,
|
||
LPDISPATCH dispatchOCX);
|
||
Входные параметры:
|
||
defObject - указатель на объект по умолчанию, который будет подсвечен при запуске процесса,
|
||
methodName - название функции фильтрации или NULL,
|
||
prompt - строка подсказки или NULL,
|
||
hInstance - hInstance модуля, в котором находится функция фильтрации,
|
||
dispatchOCX - интерфейс, в котором находится функция фильтрации, если hInstance не доступен.
|
||
Тип функции фильтрации:
|
||
bool WINAPI SELECTFILTERPROC (LPDISPATCH _entity)
|
||
Пользователь может указать процессу, подходит ему по каким-то соображениям присланный объект или нет. Если функция фильтрации возвращает TRUE, значит, объект подходит, и он будет подсвечен процессом.
|
||
Возвращаемое значение:
|
||
указатель на интерфейс ksEntity объекта, который выделили в процессе выбора - в случае успешного завершения,
|
||
NULL - в случае отказа.
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPENTITY UserSelectEntity (LPENTITY defObject,
|
||
USERSELECTFILTERPROC methodName,
|
||
LPOLESTR prompt);
|
||
Входные параметры:
|
||
defObject - указатель на объект по умолчанию, который будет подсвечен при запуске процесса,
|
||
methodName - название функции фильтрации или NULL,
|
||
prompt - строка приглашения или NULL.
|
||
Тип функции фильтрации:
|
||
typedef BOOL (__stdcall * USERSELECTFILTERPROC)(LPENTITY);
|
||
Пользователь может указать процессу, подходит ему по каким-то соображениям присланный объект или нет. Если функция фильтрации возвращает TRUE, значит, объект подходит, и он будет подсвечен процессом.
|
||
Возвращаемое значение:
|
||
указатель на интерфейс IEntity объекта, который выделили в процессе выбора - в случае успешного завершения,
|
||
NULL - в случае отказа.
|
||
```
|
||
|
||
|
||
## UserSelectEntityEx - Запустить процесс выбора объекта (позволяет использовать Панель свойств)
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH UserSelectEntityEx( LPDISPATCH filterObject,
|
||
BSTR methodName,
|
||
BSTR prompt,
|
||
long hInst,
|
||
LPDISPATCH val,
|
||
LPUNKNOWN processParam );
|
||
Входные параметры:
|
||
filterObject - указатель на объект по умолчанию, который будет подсвечен при запуске процесса,
|
||
methodName - название функции фильтрации или NULL,
|
||
prompt - строка подсказки или NULL,
|
||
hInst - hInstance модуля, в котором находится функция фильтрации,
|
||
val - интерфейс, в котором находится функция фильтрации, если hInstance не доступен,
|
||
processParam - Параметры процесса IProcessParam.
|
||
Тип функции фильтрации:
|
||
bool WINAPI SELECTFILTERPROC (LPDISPATCH _entity)
|
||
Пользователь может указать процессу, подходит ему по каким-то соображениям присланный объект или нет. Если функция фильтрации возвращает TRUE, значит, объект подходит, и он будет подсвечен процессом.
|
||
Возвращаемое значение:
|
||
указатель на интерфейс ksEntity объекта, который выделили в процессе выбора - в случае успешного завершения,
|
||
NULL - в случае отказа.
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPENTITY UserSelectEntityEx(LPENTITY defSelectObject,
|
||
void* fnFilter,
|
||
LPOLESTR prompt,
|
||
LPUNKNOWN processParam );
|
||
Входные параметры:
|
||
defSelectObject - указатель на объект по умолчанию, который будет подсвечен при запуске процесса,
|
||
fnFilter - название функции фильтрации или NULL,
|
||
prompt - строка приглашения или NULL,
|
||
processParam - Параметры процесса IProcessParam.
|
||
Тип функции фильтрации:
|
||
typedef BOOL (__stdcall * USERSELECTFILTERPROC)(LPENTITY);
|
||
Пользователь может указать процессу, подходит ему по каким-то соображениям присланный объект или нет. Если функция фильтрации возвращает TRUE, значит, объект подходит, и он будет подсвечен процессом.
|
||
Возвращаемое значение:
|
||
указатель на интерфейс IEntity объекта, который выделили в процессе выбора - в случае успешного завершения,
|
||
NULL - в случае отказа.
|
||
```
|
||
Примечание:
|
||
Функция устарела. Использование данной функции может привести к ошибке в библиотеке, собранной с конфигурацией x64.
|
||
Рекомендуется использовать функцию ksDocument3D::UserSelectEntityEx2.
|
||
|
||
|
||
## UserSelectEntityEx2 - Запустить процесс выбора объекта (позволяет использовать Панель свойств)
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH UserSelectEntityEx2(LPDISPATCH filterObject,
|
||
BSTR methodName, BSTR prompt,
|
||
VARIANT hInst, [defaultvalue(0)]LPDISPATCH val, [defaultvalue(0)]LPUNKNOWN processParam );
|
||
Входные параметры:
|
||
filterObject - указатель на объект по умолчанию, который будет подсвечен при запуске процесса,
|
||
methodName - название функции фильтрации или NULL,
|
||
prompt - строка подсказки или NULL,
|
||
hInst - hInstance модуля, в котором находится функция фильтрации,
|
||
val - интерфейс, в котором находится функция фильтрации, если hInstance не доступен,
|
||
processParam - параметры процесса IProcessParam.
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FАLSE - в случае неудачи.
|
||
Аналог функции в COM см. IRequestInfo3D::SetCallBack.
|
||
Тип функции фильтрации:
|
||
bool WINAPI SELECTFILTERPROC (LPDISPATCH _entity)
|
||
Пользователь может указать процессу, подходит ему по каким-то соображениям присланный объект или нет. Если функция фильтрации возвращает TRUE, значит объект подходит, и он будет подсвечен процессом.
|
||
Возвращаемое значение:
|
||
указатель на интерфейс IEntity объекта, который выделили в процессе выбора - в случае успешного завершения,
|
||
NULL - в случае отказа.
|
||
```
|
||
Примечание:
|
||
HINSTANCE библиотеки нужно передать через VARIANT, как VT_I4 в Win32 и VT_I8 в x64.
|
||
Для правильного формирования _variant_t HINSTANCE нужно передавать через приведение к (LONG_PTR).
|
||
В библиотеках, использующих автоматизацию, рекомендуется использовать данную функцию вместо ksDocument3D::UserSelectEntityEx.
|
||
|
||
|
||
## windowNeedRebuild - Свойство необходимости перерисовки окна документа
|
||
|
||
Тип данных: BOOL
|
||
Значения свойства:
|
||
| TRUE | - надо перерисовывать, |
|
||
| --- | --- |
|
||
| FALSE | - не надо перерисовывать. |
|
||
Синтаксис:
|
||
```
|
||
windowNeedRebuild = object.windowNeedRebuild Получить свойство (* )
|
||
object.windowNeedRebuild = windowNeedRebuild Установить свойство (* )
|
||
windowNeedRebuild = object.GetWindowNeedRebuild() Получить свойство (**)
|
||
object.SetWindowNeedRebuild(windowNeedRebuild) Установить свойство (**)
|
||
```
|
||
Примечание:
|
||
Свойство позволяет временно отключить перерисовку окна документа.
|
||
Используется для ускорения создания, удаления или изменения группы объектов.
|
||
|
||
|
||
## ZoomPrevNextOrAll - Показать модель в активном окне полностью или установить предыдущий или последующий масштаб изображения
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ZoomPrevNextOrAll (short type);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL ZoomPrevNextOrAll (short type);
|
||
Входные параметры:
|
||
type - признак устанавливаемого масштаба (0 - следующий масштаб изображения, 1 - предыдущий масштаб изображения, 2 - показать модель полностью).
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
```
|
||
Примечание:
|
||
В настоящий момент метод работает только при type=2.
|