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>
11 KiB
title, type, api, domain, tags, sources
| title | type | api | domain | tags | sources | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Массив объектов Дерева построения (Интерфейсы ksFeatureCollection, IFeatureCollection) | interface |
|
|
|
|
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D ) > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart > Объект Дерева построения (Интерфейсы ksFeature, IFeature) *
Массив объектов Дерева построения (Интерфейсы ksFeatureCollection, IFeatureCollection)
Интерфейс массива объектов Дерева построения.
| ksFeatureCollection | - интерфейс Automation |
|---|---|
| IFeatureCollection | - интерфейс COM |
| Примечание: | |
| Данный интерфейс может быть получен с использованием методов интерфейсов: | |
| •ksFeature::SubFeatureCollection | |
| •ksMacro3DDefinition::FeatureCollection | |
| •ksDocument3D::FeatureCollection |
Add - Добавить объект в массив
Синтаксис Automation:
BOOL Add (ksFeature* obj);
Синтаксис COM:
BOOL Add (LPFEATURE obj);
Входные параметры:
obj - указатель на интерфейс компонента ksFeature или IFeature.
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
AddAt - Добавить в массив объект с заданным индексом
Синтаксис Automation:
BOOL AddAt (ksFeature* obj, long index );
Синтаксис COM:
BOOL AddAt (LPFEATURE obj, long index );
Входные параметры:
obj - указатель на интерфейс компонента ksFeature или IFeature,
index - индекс нового элемента.
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
Примечание.
При добавлении тела в макроэлемент в макроэлемент добавляются все операции данного тела на момент создания макроэлемента. Само тело в макроэлемент не добавляется.
AddBefore - Добавить объект перед указанным объектом в массиве
Синтаксис Automation:
BOOL AddBefore (ksFeature* obj, ksFeature* base);
Синтаксис COM:
BOOL AddBefore (LPFEATURE obj, LPFEATURE base);
Входные параметры:
obj - указатель на интерфейс компонента ksFeature или IFeature,
base - указатель на элемент массива.
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
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. Структура параметров табличного атрибута.
Clear - Очистить динамический массив объектов
Синтаксис Automation:
BOOL Clear();
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
DetachByBody - Удалить указанный объект из массива
Синтаксис Automation:
BOOL DetachByBody (LPDISPATCH obj);
Синтаксис COM:
BOOL DetachByBody (LPFEATURE obj);
Входные параметры:
obj - указатель на интерфейс удаляемого объекта ksFeature или IFeature.
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
Примечание: Указатель на интерфейс удаляемого объекта obj не должен быть 0.
DetachByIndex - Удалить объект из массива по индексу
Синтаксис Automation:
BOOL DetachByIndex (long index);
Синтаксис COM:
BOOL DetachByIndex (long index);
Входные параметры:
index - индекс элемента.
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
FindIt - Получить индекс элемента в массиве
Синтаксис Automation:
long FindIt (LPDISPATCH entity);
Возвращаемое значение:
индекс элемента - если элемент найден в массиве,
-1 - если элемент не найден.
Синтаксис COM:
unsigned long FindIt(LPFEATURE entity);
Возвращаемое значение:
индекс элемента - если элемент найден в массиве,
SYS_MAX_UINT - если элемент не найден.
Входные параметры:
entity - указатель на интерфейс компонента ksFeature или IFeature.
First - Получить указатель на интерфейс первого объекта в массиве
Синтаксис Automation:
LPDISPATCH First();
Синтаксис COM:
LPFEATURE First();
Возвращаемое значение:
- указатель на интерфейс ksFeature или IFeature.
GetByIndex - Получить указатель на интерфейс объекта в массиве по индексу
Синтаксис Automation:
LPDISPATCH GetByIndex (long index);
Синтаксис COM:
LPFEATURE GetByIndex (long index);
Входной параметр:
index - номер объекта в массиве.
Возвращаемое значение:
- указатель на интерфейс ksFeature или IFeature.
GetByName - Получить указатель на интерфейс объекта в массиве по имени
Синтаксис Automation:
LPDISPATCH GetByName (BSTR name,
BOOL testFullName,
BOOL testIgnoreCase);
Синтаксис COM:
LPFEATURE GetByName (LPOLESTR name,
BOOL testFullName,
BOOL testIgnoreCase);
Входные параметры:
name - имя объекта,
testFullName - признак полного имени: TRUE - name - полное имя, FALSE - имя name может быть частью полного имени,
testIgnoreCase - признак игнорирования регистра символов: TRUE - игнорировать регистр, FALSE - учитывать регистр.
Возвращаемое значение:
- указатель на интерфейс ksFeature или IFeature.
GetCount - Получить количество элементов в массиве
Синтаксис Automation:
long GetCount();
Синтаксис COM:
long GetCount();
Возвращаемое значение:
- количество элементов массива.
Last - Получить указатель на интерфейс последнего объекта в массиве
Синтаксис Automation:
LPDISPATCH Last();
Синтаксис COM:
LPFEATURE Last();
Возвращаемое значение:
- указатель на интерфейс ksFeature или IFeature.
Next - Получить указатель на интерфейс следующего объекта в массиве
Синтаксис Automation:
LPDISPATCH Next();
Синтаксис COM:
LPFEATURE Next();
Возвращаемое значение:
- указатель на интерфейс ksFeature или IFeature.
Prev - Получить указатель на интерфейс предыдущего объекта в массиве
Синтаксис Automation:
LPDISPATCH Prev();
Синтаксис COM:
LPFEATURE Prev();
Возвращаемое значение:
- указатель на интерфейс ksFeature или IFeature.
Refresh - Обновить массив
Синтаксис Automation:
BOOL Refresh();
Синтаксис COM:
BOOL Refresh();
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
Примечание: После вызова данной функции возникает полное соответствие массива с массивом объектов дерева и удаляются все предыдущие изменения в массиве.
SetByIndex - Заменить объект с указанным индексом в массиве на присланный объект
Синтаксис Automation:
BOOL SetByIndex (ksFeature* obj, long index);
Синтаксис COM:
BOOL SetByIndex (LPFEATURE obj, long index);
Входные параметры:
obj - указатель на интерфейс компонента ksFeature или IFeature,
index - индекс элемента в массиве.
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.