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>
325 lines
14 KiB
Markdown
325 lines
14 KiB
Markdown
---
|
||
title: "Объект Дерева построения (Интерфейсы ksFeature, IFeature)"
|
||
type: interface
|
||
api: [api7]
|
||
domain: [3d, assembly, feature]
|
||
tags: [interface, api7, 3d, assembly, feature, ksfeature]
|
||
sources:
|
||
- ksfeature.html
|
||
---
|
||
|
||
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D ) > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart *
|
||
|
||
|
||
## Объект Дерева построения (Интерфейсы ksFeature, IFeature)
|
||
|
||
Интерфейс объекта Дерева построения.
|
||
| ksFeature | - интерфейс Automation |
|
||
| --- | --- |
|
||
| IFeature | - интерфейс COM |
|
||
Примечание:
|
||
Данный интерфейс может быть получен с использованием методов следующих интерфейсов:
|
||
•Интерфейса объекта Дерева построения ksFeatureCollection,
|
||
•Интерфейса детали или подсборки в составе сборки ksPart.
|
||
Массив объектов Дерева построения (Интерфейсы ksFeatureCollection, IFeatureCollection)
|
||
Массив переменных (Интерфейсы ksVariableCollection, IVariableCollection)
|
||
Интерфейс массива атрибутов объектов модели (Интерфейсы ksAttribute3DCollection, IAttribute3DCollection)
|
||
Измерение расстояния и угла между двумя примитивами (Интерфейсы ksMeasurer, IMeasurer)
|
||
Расчет координат точек при S-образном соединении прямолинейных ребер (Интерфейс ISTrackingPointsMeasurer)
|
||
Визуальные свойства материала (Интерфейсы ksColorParam, IColorParam)
|
||
Интерфейс результатов редактирования объекта (Интерфейсы ksObject3DNotifyResult, IObject3DNotifyResult)
|
||
|
||
|
||
## AttributeCollection - Получить массив атрибутов
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
ksAttribute3DCollection* AttributeCollection (long key1,
|
||
long key2,
|
||
long key3,
|
||
long key4,
|
||
double numb);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPATTRIBUTE3DCOLLECTION AttributeCollection (long key1,
|
||
long key2,
|
||
long key3,
|
||
long key4,
|
||
double numb);
|
||
Входные параметры:
|
||
key1, key2, key3, key4 - ключи для поиска по ключам либо 0,
|
||
Numb - номер типа атрибута для поиска по номеру либо 0.
|
||
Возвращаемое значение:
|
||
- указатель на массив атрибутов ksAttribute3DCollection.
|
||
```
|
||
Примечание:
|
||
Атрибут - это дополнительная неграфическая информация, связанная с объектом или несколькими объектами чертежа. Такая информация может быть представлена в виде числа, строки текста, а также таблицы с фиксированным или переменным числом строк.
|
||
В дальнейшем значения атрибутов могут использоваться для поиска объектов, а также обрабатываться различными приложениями (например, системой проектирования спецификаций, различными расчетными программами и т.п.).
|
||
Типы (описания структуры) атрибутов могут храниться как непосредственно в документе, так и в специальных файлах (библиотеках типов атрибутов). Эти файлы имеют расширение lat.
|
||
|
||
|
||
## AttributeCollectionEx - Получить массив атрибутов из источника вставки
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH AttributeCollectionEx (long key1,
|
||
long key2,
|
||
long key3,
|
||
long key4,
|
||
double numb,
|
||
LPDISPATCH sourcePart);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPATTRIBUTE3DCOLLECTION AttributeCollectionEx (long key1,
|
||
long key2,
|
||
long key3,
|
||
long key4,
|
||
double numb,
|
||
LPPART sourcePart);
|
||
Входные параметры:
|
||
key1, key2, key3, key4 - ключи для поиска по ключам либо 0,
|
||
Numb - номер типа атрибута для поиска по номеру либо 0,
|
||
sourcePart - указатель на интерфейс вставки-источника ksPart или IPart.
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс коллекции атрибутов ksAttribute3DCollection или IAttribute3DCollection.
|
||
```
|
||
Примечание:
|
||
Атрибут - это дополнительная неграфическая информация, связанная с объектом или несколькими объектами чертежа. Такая информация может быть представлена в виде числа, строки текста, а также таблицы с фиксированным или переменным числом строк.
|
||
В дальнейшем значения атрибутов могут использоваться для поиска объектов, а также обрабатываться различными приложениями (например, системой проектирования спецификаций, различными расчетными программами и т.п.).
|
||
Типы (описания структуры) атрибутов могут храниться как непосредственно в документе, так и в специальных файлах (библиотеках типов атрибутов). Эти файлы имеют расширение lat.
|
||
|
||
|
||
## BodyCollection - Получить указатель на интерфейс массива трехмерных тел
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPBODYCOLLECTION BodyCollection();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPBODYCOLLECTION BodyCollection();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс массива тел ksBodyCollection или IBodyCollection.
|
||
```
|
||
|
||
|
||
## EntityCollection - Получить массив объектов (грани, ребра, вершины)
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
ksEntityCollection * EntityCollection (short objType);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPENTITYCOLLECTION EntityCollection (short objType);
|
||
Входные параметры:
|
||
objType - тип объектов (грани, ребра, вершины).
|
||
Возвращаемое значение:
|
||
указатель на интерфейс ksEntityCollection или IEntityCollection - в случае успеха,
|
||
NULL - в случае неудачи.
|
||
```
|
||
|
||
|
||
## excluded - Признак включения или выключения из расчета
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
excluded = iFeature.excluded Получить свойство (* )
|
||
iFeature.excluded = excluded Установить свойство (* )
|
||
excluded = iFeature.GetExcluded() Получить свойство (**)
|
||
iFeature.SetExcluded(excluded) Установить свойство (**)
|
||
```
|
||
|
||
|
||
## GetObject - Получить объект модели, связанный с объектом дерева
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetObject();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPUNKNOWN GetObject();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс объекта.
|
||
```
|
||
Примечание:
|
||
Тип возвращаемого объекта выбирается из Obj3dType. Может принимать значение:
|
||
| o3d_part | - деталь, | |
|
||
| --- | --- | --- |
|
||
| o3d_entity | - объект, | |
|
||
| o3d_mateConstraint | - сопряжение, | |
|
||
| o3d_body | -тело | IBody или kIsBody |
|
||
|
||
|
||
## GetOwnerFeature - Получить указатель на интерфейс объекта, в состав которого входит данный объект
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH GetOwnerFeature();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPFEATURE GetOwnerFeature();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksFeature или IFeature.
|
||
```
|
||
|
||
|
||
## IsModified - Определить, модифицирована ли модель с момента последнего перестроения
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL IsModified (BOOL recursive);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL IsModified (BOOL recursive);
|
||
Входной параметр:
|
||
recursive TRUE Определять по вложенным объектам.
|
||
Возвращаемое значение:
|
||
TRUE - модель изменена с момента последнего перестроения,
|
||
FALSE - модель не изменена.
|
||
```
|
||
|
||
|
||
## IsRollBacked - Лежит ли объект ниже конца построения модели
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL IsRollBacked();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL IsRollBacked();
|
||
Возвращаемое значение:
|
||
TRUE - объект лежит ниже конца построения модели,
|
||
FALSE - объект лежит выше конца построения модели.
|
||
```
|
||
|
||
|
||
## IsVIalid - Получить индикатор доступности объекта
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL IsValid();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
BOOL IsValid();
|
||
Возвращаемое значение:
|
||
TRUE - объект доступен,
|
||
FALSE - объект недоступен.
|
||
```
|
||
Примечание:
|
||
Метод позволяет получить информацию о том, что элемент дерева построения доступен для редактирования. Элемент дерева построения может стать недоступным, например, если он исключен из расчета или указатель окончания построения перемещен в дереве выше этого элемента.
|
||
|
||
|
||
## name - Имя объекта
|
||
|
||
Тип данных: BSTR
|
||
Синтаксис Automation:
|
||
```
|
||
name = iFeature.name Получить свойство (* )
|
||
name = iFeature.GetName() Получить свойство (**)
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## objectError - Признак ошибки объекта
|
||
|
||
Тип данных: long.
|
||
Синтаксис Automation:
|
||
```
|
||
objectError = object.objectError Получить свойство (* )
|
||
objectError = object.GetObjectError() Получить свойство (**)
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## SubFeatureCollection - Получить массив объектов, входящих в данный объект
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH SubFeatureCollection (BOOL through, BOOL libObject);
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPFEATURECOLLECTION SubFeatureCollection (BOOL through, BOOL libObject);
|
||
Входные параметры:
|
||
Through TRUE - выдавать все объекты, включая скрытые,
|
||
libObject TRUE - выдавать состав библиотечных элементов.
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksFeatureCollection или IFeatureCollection.
|
||
```
|
||
|
||
|
||
## type - Тип объекта модели
|
||
|
||
Тип данных: short
|
||
Синтаксис Automation:
|
||
```
|
||
type = iFeature.type Получить свойство (* )
|
||
type = iFeature.GetType() Получить свойство (**)
|
||
```
|
||
Примечание:
|
||
1. Свойство доступно только для чтения.
|
||
2. Тип возвращаемого объекта может принимать значения:
|
||
| o3d_part | - деталь, | |
|
||
| --- | --- | --- |
|
||
| o3d_entity | - объект, | |
|
||
| o3d_mateConstraint | - сопряжение, | |
|
||
| o3d_body | -тело. | IBody или ksBody. |
|
||
Выбирается из Obj3dType.
|
||
|
||
|
||
## updateStamp - Значение, определяющее время изменения геометрии
|
||
|
||
Тип данных: long
|
||
Синтаксис Automation:
|
||
```
|
||
updateStamp = iFeature.updateStamp Получить свойство (* )
|
||
updateStamp = iFeature.GetUpdateStamp( Получить свойство (**)
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## VariableCollection - Получить указатель на интерфейс массива переменных
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH VariableCollection();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPVARIABLECOLLECTION VariableCollection();
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс ksVariableCollection или IVariableCollection.
|
||
```
|
||
Примечание:
|
||
Изменения в полученном массиве не отображаются в модели немедленно. Чтобы изменения вступили в силу, необходимо вызвать метод ksPart::RebuildModel.
|
||
|
||
|
||
## VariableCollectionEx - Получить массив переменных из источника
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH VariableCollectionEx( BOOL sourсe );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
LPVARIABLECOLLECTION VariableCollectionEx( BOOL sourсe );
|
||
Входные параметры:
|
||
Sourсe - признак получения списка переменных и значений из источника.
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс коллекции переменных ksVariableCollection или IvariableCollection.
|
||
```
|
||
Примечание:
|
||
Метод позволяет получать и изменять переменные в исходном документе детали без открытия документа в отдельном окне или вслепую.
|