Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/ksfeature.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
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>
2026-05-26 20:00:05 +03:00

14 KiB
Raw Blame History

title, type, api, domain, tags, sources
title type api domain tags sources
Объект Дерева построения (Интерфейсы ksFeature, IFeature) interface
api7
3d
assembly
feature
interface
api7
3d
assembly
feature
ksfeature
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.

Примечание: Метод позволяет получать и изменять переменные в исходном документе детали без открытия документа в отдельном окне или вслепую.