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 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Итератор (Интерфейс ksIterator) | interface |
|
|
|
|
*API интерфейсов. Версия 5 > Графический документ (Интерфейсы - ksDocument2D и IDocument2D) *
Итератор (Интерфейс ksIterator)
Интерфейс итератора. Примечание: Указатель на интерфейс можно получить при помощи метода KompasObject::GetIterator. Смотрите также: KompasObject
ksCreateAttrIterator - Создать итератор для перебора атрибутов объекта
Аналог данного метода при использовании API экспортных функций - CreateAttrIterator. Синтаксис Automation:
BOOL ksCreateAttrIterator(long obj,
long key1,
long key2,
long key3,
long key4,
double numb);
Входные параметры:
obj - указатель на объект,
key1, key2, key3, key4 - ключи для поиска по ключам,
numb - номер типа атрибута для поиска по номеру.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание:
- Если obj = 0, то производится перемещение по объектам с заданным атрибутом внутри графического документа.
- Если obj не равен 0, то объектом может быть объект вида, вид, группа, слой, тогда движение будет происходить по атрибутам этого объекта.
- Если obj не равен 0, то объектом может быть документ, тогда движение будет происходить по атрибутам документа.
- Итератор работает с атрибутами активного документа.
ksCreateIterator - Cоздать итератор для перемещения по объектам документа
Аналог данного метода при использовании API экспортных функций - CreateIterator. Синтаксис Automation:
BOOL ksCreateIterator (long tipSearch,
long parent);
Входные параметры:
tipSearch - тип объекта,
parent - указатель на объект (для движения по группе, внутри макроэлемента, по слою).
Типы объектов и интерфейсы...
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание:
- Для перемещения по документам, видам, группам, слоям parent = 0.
- Передвижение по объектам документа ("навигация") производится в соответствии с условиями, заданными в специальном блоке параметров. Он содержит тип объектов tipSearch, определяющий режим перемещения (например, по видам, по слоям, по всем объектам, по объектам заданного типа) и указатель комплексного объекта (макроэлемента, контура, группы) при перемещении по составляющим его объектам. Итератор "привязан" к конкретному режиму графического редактора (например, документу, виду), поэтому невозможно использовать один и тот же итератор для навигации в разных видах, штампах и т.п. Итератор сохраняет свое действие до окончания сеанса работы с библиотекой. При переходе внутри библиотечной функции под управление КОМПАС-ГРАФИК после возврата значение всех итераторов будет "сброшено".
- Итератор работает с атрибутами активного документа.
ksCreateQualityIterator - Создать итератор для перемещения по квалитетам
Аналог данного метода при использовании API экспортных функций - ksCreateQualityIterator. Синтаксис Automation:
BOOL ksCreateQualityIterator (short system,
short withLimitation);
Входные параметры:
system - система допуска 1 - система отверстия, 0 - система вала,
withLimitation - признак учета ограничений, наложенных в системе: 0 - без учёта ограничений, 1 - с учётом ограничений.
Возвращаемое значение:
указатель на итератор - в случае успешного завершения,
0 - в случае неудачи.
ksCreateSpcIterator - Создать итератор для перебора объектов спецификации
Аналог данного метода при использовании API экспортных функций - CreateSpcIterator. Синтаксис Automation:
BOOL ksCreateSpcIterator (BSTR nameLib,
long styleNumb,
long spcObjType);
Входные параметры:
nameLib - имя библиотеки стилей спецификации,
styleNumb - номер стиля спецификации в библиотеке,
spcObjType - тип объектов: 0 - базовые, 1 - вспомогательные, 2 - базовые и вспомогательные из сортированного массива, 3 - все объекты.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Если функция вызывается в графическом документе, то итератор создается для объектов, образованных по описанию, определяемому именем библиотеки стилей спецификации и номером стиля. В документе-спецификации параметры nameLib и styleNumb не используются (т.к. все объекты в ней создаются по единственному описанию, однозначно определяемому текущим стилем).
ksDeleteIterator - Удалить блок параметров навигации по модели
Аналог данного метода при использовании API экспортных функций - DeleteIterator. Синтаксис Automation:
long ksDeleteIterator();
Возвращаемое значение:
1 - в случае успешного завершения,
0 - в случае неудачи.
ksMoveAttrIterator - Перемещаться по атрибутам
Аналог данного метода при использовании API экспортных функций - MoveAttrIterator. Синтаксис Automation:
long ksMoveAttrIterator (BSTR ch,
long* pObj);
Входные параметры:
ch - направление перемещения итератора: F - первый атрибут, N - следующий атрибут,
pObj - указатель на группу.
Возвращаемое значение:
указатель на атрибут - в случае успешного завершения,
0 - в случае неудачи.
Примечание: Если итератор создан для движения по элементам с определенным атрибутом, то pObj - указатель на объект с данным атрибутом.
ksMoveIterator - Переместить итератор (позиционироваться на объекте)
Аналог данного метода при использовании API экспортных функций - MoveIterator. Синтаксис Automation:
long ksMoveIterator (BSTR ch);
Входной параметр:
ch - направление перемещения итератора: F - первый объект, N - следующий объект.
Возвращаемое значение:
указатель на объект - в случае успешного завершения,
0 - в случае неудачи.
Примечание: Функция перемещает текущий указатель итератора (блока параметров навигации) на очередной объект модели. Режим позиционирования (тип объектов, участвующих в поиске) определяется при создании итератора методом ksCreateIterator. При позиционировании на именованную группу она автоматически становится текущей (рабочей). К ней будут относиться операции добавления и исключения объектов (при исключении всех объектов из именованной группы она автоматически удаляется).
ksMoveQualityIterator - Перемещаться по квалитетам
Аналог данного метода при использовании API экспортных функций - ksMoveQualityIterator. Синтаксис Automation:
BOOL ksMoveQualityIterator (LPDISPATCH param,
short inMM,
BSTR ch);
Входные параметры:
param - указатель на интерфейс параметров квалитета ksQualityContensParam,
inMM - размерность параметров интервала квалитета minLimit, maxLimit, high, low: 1 - миллиметры, 0 - единицы измерения текущего документа.
ch - направление перемещения итератора: F - предыдущий квалитет, N - следующий квалитет.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
reference - Указатель на итератор
Тип данных: long Синтаксис Automation:
ref = iIterator.reference Получить свойство (* )
iIterator.reference = ref Установить свойство (* )
ref = iIterator.GetReference() Получить свойство (**)
iIterator.SetReference(ref) Установить свойство (**)