Files
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

7.3 KiB

title, type, api, domain, tags, sources
title type api domain tags sources
Массив переменных (Интерфейсы ksVariableCollection, IVariableCollection) interface
api7
assembly
feature
interface
api7
assembly
feature
ksvariablecollection
ksvariablecollection.html

*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект Дерева построения (Интерфейсы ksFeature, IFeature) *

Массив переменных (Интерфейсы ksVariableCollection, IVariableCollection)

Интерфейс динамического массива внешних переменных.

ksVariableCollection - интерфейс Automation
IVariableCollection - интерфейс COM
Примечание:
Данный интерфейс может быть получен с использованием методов интерфейсов ksFeature::VariableCollectionEx, ksFeature::VariableCollection, ksPart::VariableCollection.
Внешняя переменная (Интерфейсы ksVariable, IVariable)

AddNewVariable - Добавить новую переменную

Интерфейс.. Синтаксис Automation:

LPDISPATCH AddNewVariable( BSTR name, double value, BSTR note );

Синтаксис COM:

LPVARIABLE AddNewVariable( LPOLESTR name, double value, LPOLESTR note );
Входные параметры:
name    - имя переменной,
value    - значение переменной,
Note    - комментарий к переменной.
Возвращаемое значение:
- указатель на интерфейс внешней переменной модели ksVariable или IVariable.

Примечание: Переменную можно добавлять только для ksFeature и IFeature.

First - Получить указатель на интерфейс первого элемента массива

Интерфейс.. Синтаксис Automation:

LPDISPATCH First();

Синтаксис COM:

LPVARIABLE First();
Возвращаемое значение:
- указатель на интерфейс внешней переменной модели ksVariable или IVariable.

GetByIndex - Получить указатель на интерфейс элемента массива по индексу

Интерфейс.. Синтаксис Automation:

LPDISPATCH GetByIndex (long index);

Синтаксис COM:

LPVARIABLE GetByIndex (long index);
Входной параметр:
index    - индекс элемента в массиве.
Возвращаемое значение:
- указатель на интерфейс внешней переменной модели ksVariable или IVariable.

GetByName - Получить указатель на интерфейс элемента массива по имени

Интерфейс.. Синтаксис Automation:

LPDISPATCH GetByName (BSTR name,
BOOL testFullName,
BOOL testIgnoreCase);

Синтаксис COM:

LPVARIABLE GetByName (LPOLESTR name,
BOOL testFullName,
BOOL testIgnoreCase);
Входные параметры:
name    - имя объекта,
testFullName    - признак полного имени: TRUE - name - полное имя, FALSE - имя name может быть частью полного имени,
testIgnoreCase    - признак игнорирования регистра символов имени: TRUE - игнорировать регистр, FALSE - учитывать регистр.
Возвращаемое значение:
- указатель на интерфейс внешней переменной модели ksVariable или IVariable.

GetCount - Получить количество элементов массива

Интерфейс.. Синтаксис Automation:

long GetCount();

Синтаксис COM:

long GetCount();
Возвращаемое значение:
- количество элементов массива.

Last - Получить указатель на интерфейс последнего элемента массива

Интерфейс.. Синтаксис Automation:

LPDISPATCH Last();

Синтаксис COM:

LPVARIABLE Last();
Возвращаемое значение:
- указатель на интерфейс внешней переменной модели ksVariable или IVariable.

Next - Получить указатель на интерфейс следующего элемента массива

Интерфейс.. Синтаксис Automation:

LPDISPATCH Next();

Синтаксис COM:

LPVARIABLE Next();
Возвращаемое значение:
- указатель на интерфейс внешней переменной модели ksVariable или IVariable.

Prev - Получить указатель на интерфейс предыдущего элемента массива

Интерфейс.. Синтаксис Automation:

LPDISPATCH Prev();

Синтаксис COM:

LPVARIABLE Prev();
Возвращаемое значение:
- указатель на интерфейс внешней переменной модели ksVariable или IVariable.

Refresh - Обновить массив внешних переменных

Интерфейс.. Синтаксис Automation:

BOOL Refresh();

Синтаксис COM:

BOOL Refresh();
Возвращаемое значение:
TRUE    - в случае успешного завершения.

Примечание: После вызова данной функции удаляются все изменения в массиве внешних переменных компонента, которые не были закреплены вызовом функции RebuildModel. Таким образом, возникает полное соответствие массива внешних переменных в памяти с массивом внешних переменных компонента. Вызов данной функции эквивалентен отказу пользователя от перестроения модели после изменения значений внешних переменных (модель не перестраивается, а измененные значения переменных "забываются", переменные принимают прежние значения).

RemoveVariable - Удалить переменную

Интерфейс.. Синтаксис Automation:

BOOL RemoveVariable (BSTR name);

Синтаксис COM:

BOOL RemoveVariable (LPOLESTR name);
Входные параметры:
name    - имя переменной.
Возвращаемое значение:
TRUE    - в случае успешного завершения.

Примечание:

  1. Переменную можно удалить только для ksFeature и IFeature.
  2. Массив автоматически обновляется в случае удачного завершения.