Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/ksvariablecollection.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

197 lines
7.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Массив переменных (Интерфейсы ksVariableCollection, IVariableCollection)"
type: interface
api: [api7]
domain: [assembly, feature]
tags: [interface, api7, assembly, feature, ksvariablecollection]
sources:
- 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. Массив автоматически обновляется в случае удачного завершения.