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

44 KiB
Raw Blame History

title, type, api, tags, sources
title type api tags sources
Интерфейс работы с атрибутами (ksAttributeObject) interface
api7
interface
api7
ksattributeobject
ksattributeobject.html

*API интерфейсов. Версия 5 > Интерфейсы работы с атрибутами *

Интерфейс работы с атрибутами (ksAttributeObject)

Интерфейс для работы с атрибутами. Примечание: Указатель на интерфейс можно получить при помощи метода KompasObject::GetAttributeObject. Смотрите также KompasObject

ksAddAttrRow - Добавить строку к табличному атрибуту неопределенной длины

Аналог данного метода при использовании API экспортных функций - ksAddAttrRow. Синтаксис Automation:

long ksAddAttrRow (reference pAttr,
long rowNumb,
LPDISPATCH flagVisible,
LPDISPATCH value,
BSTR password);
Входные параметры:
pAttr    - указатель на атрибут,
rowNumb    - номер строки,
flagVisible    - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего флаги видимости ячеек строки,
value    - указатель на интерфейс ksUserParam, откуда копируются данные,
password    - пароль атрибута.
Возвращаемое значение:
1    - в случае удачного завершения.
Смотрите также ksLtVariant
Примечание.
1. Указатель на атрибут reference pAttr может быть получен следующими способами:
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
2. Перед использованием указатель flagVisible должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_LtVariant, методов интерфейса ksLtVariant, ksDynamicArray.
3. Перед использованием указатель value должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_UserParam с последующим наполнением массива с помощью методов интерфейса ksUserParam, ksLtVariant, ksDynamicArray.

ksChoiceAttr - Вывести диалог для просмотра атрибутов объекта и выбора нужного атрибута

Аналог данного метода при использовании API экспортных функций - ChoiceAttr. Синтаксис Automation:

long ksChoiceAttr (reference pObj);
Входной параметр:
pObj    - указатель на объект, к которому подключены атрибуты.
Возвращаемое значение:
указатель на атрибут    - в случае удачного завершения,
0    - в случае неудачи.

Примечание: Указатель на объект reference pObj может быть получен следующими способами: •с помощью свойства reference интерфейса соответствующего объекта, •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateIterator, ksIterator::ksMoveIterator.

ksChoiceAttr3D - Просмотреть атрибуты объекта документа-модели

Аналог данного метода при использовании API экспортных функций - ksChoiceAttr3D. Синтаксис Automation:

ksAttribute3D * ksChoiceAttr3D (LPDISPATCH pObj);
Входные параметры:
pObj    - указатель на объект.
Возвращаемое значение:
Указатель на интерфейс атрибута ksAttribute3D    - в случае удачного завершения,
0    - в случае неудачи.

ksChoiceAttrTypes - Выбрать указанный пользователем в диалоге тип атрибута из библиотеки или документа

Аналог данного метода при использовании API экспортных функций - ChoiceAttrTypes. Синтаксис Automation:

double ksChoiceAttrTypes (BSTR libName);
Входной параметр:
libName    - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута берется из текущего документа.
Возвращаемое значение:
уникальный номер типа атрибута    - в случае удачного завершения,
0    - в случае неудачи.

Примечание: Диалог "привязан" к главному окну.

ksCreateAttr - Создать атрибут по номеру типа атрибута

Аналог данного метода при использовании API экспортных функций - ksCreateAttr. Синтаксис Automation:

long ksCreateAttr (reference pObj,
LPDISPATCH attr,
double attrID,
BSTR libName);
Входные параметры:
pObj    - указатель на объект (группа, вид, отдельный объект), атрибут которого создается. Если pObj = 0, то создается атрибут документа,
attr    - указатель на интерфейс параметров атрибута ksAttributeParam,
attrID    - уникальный номер типа атрибута,
libName    - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута берется из текущего документа.
Возвращаемое значение:
указатель на атрибут    - в случае удачного завершения,
0    - в случае неудачи.
Примечание.
1. Указатель на объект reference pObj может быть получен следующими способами:
•с помощью свойства reference интерфейса соответствующего объекта,
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
2. Параметры атрибута должны быть заданы с помощью метода KompasObject::GetParamStruct с параметром ko_Attribute с последующим наполнением массива с помощью свойств и методов интерфейса ksAttributeParam.
3. Уникальный номер типа атрибута attrID может быть получен от интерфейса ksLibraryAttrTypeParam с помощью свойства ksLibraryAttrTypeParam::typeid. Тип атрибута должен быть предварительно создан, например, с помощью метода ksAttributeObject::ksCreateAttrType.

ksCreateAttr3D - Cоздать атрибут по номеру типа атрибута из библиотеки

Аналог данного метода при использовании API экспортных функций - ksCreateAttr3D. Синтаксис Automation:

ksAttribute3D* ksCreateAttr3D (LPDISPATCH pObj,
LPDISPATCH attr,
double attrID,
BSTR libname);
Входные параметры:
pObj    - указатель на объект для которого создается атрибут,
attr    - указатель на интерфейс параметров атрибута ksAttributeParam,
attrID    - уникальный номер типа атрибута,
libname    - имя библиотеки атрибутов если libname = NULL - тип атрибута берется в документе.
Возвращаемое значение:
Указатель на интерфейс атрибута ksAttribute3D    - в случае удачного завершения,
0    - в случае неудачи.

Примечание:

  1. Атрибут можно добавить ко всем объектам дерева построений, кроме компонентов, сопряжений, группы сопряжений.
  2. Параметры атрибута должны быть заданы с помощью метода KompasObject::GetParamStruct с параметром ko_Attribute с последующим наполнением массива с помощью свойств и методов интерфейса ksAttributeParam.
  3. Уникальный номер типа атрибута attrID может быть получен от интерфейса ksLibraryAttrTypeParam с помощью свойства ksLibraryAttrTypeParam::typeid. Тип атрибута должен быть предварительно создан, например, с помощью метода ksAttributeObject::ksCreateAttrType.

ksCreateAttr3DEx - Cоздать атрибут по номеру типа атрибута из библиотеки libname

Аналог данного метода при использовании API экспортных функций - ksCreateAttr3DEx. Синтаксис Automation:

ksAttribute3D * ksCreateAttr3DEx (LPDISPATCH pObj,
LPDISPATCH pSourcePart,
LPDISPATCH attr,
double attrID,
BSTR libname);
Входные параметры:
pObj    - указатель на объект для которого создается атрибут,
sourcePart    - указатель на интерфейс вставки детали IPart,
attr    - указатель на структуру параметров атрибута ksAttribute,
attrID    - уникальный номер типа атрибута,
libName    - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута берется в документе.
Возвращаемое значение:
Указатель на атрибут IAttribute3D    - в случае удачного завершения,
0    - в случае неудачи.

Примечание:

  1. Если libname = NULL - тип атрибута берется в документе.
  2. pObj - может быть равен: •NULL или указателю на интерфейс 3d документа IDocument3D - создается атрибут у документа, •указателю на интерфейс коллекции объектов дерева IFeatureCollection - атрибут групповой, •указателю на интерфейс объекта дерева IFeature - атрибут у определенного объекта.
  3. Атрибут можно добавить ко всем объектам дерева построений, кроме верхнего компонентов, сопряжений, группы сопряжений.
  4. sourcePart - может быть: •NULL - атрибут будет создан в текущем документе, •указателю на интерфейс детали или подсборки вставленной в сборку IPart - атрибут будет создан в документе-источнике, •если sourcePart == pObj создается атрибут документа в источнике.

ksCreateAttrType - Создать тип атрибута в библиотеке

Аналог данного метода при использовании API экспортных функций - ksCreateAttrType. Синтаксис Automation:

double ksCreateAttrType (LPDISPATCH attrType,
BSTR libName);
Входные параметры:
attrType    - указатель на интерфейс параметров типа табличного атрибута ksAttributeTypeParam,
libName    - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута создается в текущем документе.
Возвращаемое значение:
уникальный номер типа атрибута    - в случае удачного завершения,
0    - в случае неудачи.

Примечание: Параметры атрибута должны быть заданы с помощью метода KompasObject::GetParamStruct с параметром ko_AttributeType с последующим наполнением массива с помощью свойств и методов интерфейса ksAttributeTypeParam.

ksDeleteAttr - Удалить атрибут

Аналог данного метода при использовании API экспортных функций - DeleteAttr. Синтаксис Automation:

long ksDeleteAttr (reference pObj,
reference pAttr,
BSTR password);
Входные параметры:
pObj    - указатель на объект, к которому подключен атрибут. Если pObj = 0 - атрибут текущего документа,
pAttr    - указатель на удаляемый атрибут,
password    - пароль атрибута.
Возвращаемое значение:
1    - в случае удачного завершения.

Примечание:

  1. Указатель на объект reference pObj может быть получен следующими способами: •с помощью свойства reference интерфейса соответствующего объекта, •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateIterator, ksIterator::ksMoveIterator.
  2. Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.

ksDeleteAttr3D - Удалить атрибут объекта 3D документа

Аналог данного метода при использовании API экспортных функций - ksDeleteAttr3D. Синтаксис Automation:

long ksDeleteAttr3D (LPDISPATCH pObj, ksAttribute3D *pAttr, BSTR password);
Входные параметры:
pObj    - указатель на объект, у которого удаляется атрибут,
pAttr    - указатель на атрибут,
password    - пароль.
Возвращаемое значение:
1    - в случае удачного завершения,
0    - в случае неудачи.

ksDeleteAttrRow - Удалить строку табличного атрибута неопределенной длины

Аналог данного метода при использовании API экспортных функций - ksDeleteAttrRow. Синтаксис Automation:

long ksDeleteAttrRow (reference pAttr,
long rowNumb,
BSTR password);
Входные параметры:
pAttr    - указатель на атрибут,
rowNumb    - номер строки,
password    - пароль атрибута.
Возвращаемое значение:
1    - в случае удачного завершения.

Примечание: Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.

ksDeleteAttrType - Удалить тип атрибута из библиотеки

Аналог данного метода при использовании API экспортных функций - DeleteAttrType. Синтаксис Automation:

long ksDeleteAttrType (double attrID,
BSTR libName,
BSTR password);
Входные параметры:
attrID    - уникальный номер типа,
libName    - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута удаляется из текущего документа,
password    - пароль типа атрибута.
Возвращаемое значение:
1    - в случае удачного завершения,
0    - в случае неудачи.

Примечание: Уникальный номер типа атрибута attrID может быть получен от интерфейса ksLibraryAttrTypeParam с помощью свойства ksLibraryAttrTypeParam::typeid или с помощью метода ksAttributeObject::ksGetAttrKeysInfo.

ksGetAttrColumnInfo - Получить информацию о столбце атрибута

Аналог данного метода при использовании API экспортных функций - GetAttrColumnInfo. Синтаксис Automation:

long ksGetAttrColumnInfo (reference pAttr,
long columnNumb,
LPDISPATCH columnInfo);
Входные параметры:
pAttr    - указатель на атрибут,
columnNumb    - номер колонки.
Выходной параметр:
columnInfo    - указатель на интерфейс параметров столбца табличного атрибута ksColumnInfoParam.
Возвращаемое значение:
1    - в случае удачного завершения,
0    - в случае неудачи.

Примечание: Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.

ksGetAttrKeysInfo - Получить информацию о ключах атрибута

Аналог данного метода при использовании API экспортных функций - GetAttrKeysInfo. Синтаксис Automation:

long ksGetAttrKeysInfo (reference pAttr,
long* key1,
long* key2,
long* key3,
long* key4,
double* attrID);
Входной параметр:
pAttr    - указатель на атрибут.
Выходные параметры:
key1, key2, key3, key4    - ключи атрибута,
attrID    - уникальный номер типа атрибута.
Возвращаемое значение:
1    - в случае удачного завершения,
0    - в случае неудачи.

Примечание: Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.

ksGetAttrRow - Получить строку атрибута

Аналог данного метода при использовании API экспортных функций - ksGetAttrRow. Синтаксис Automation:

long ksGetAttrRow (reference pAttr,
long rowNumb,
LPDISPATCH flagVisible,
LPDISPATCH columnKeys,
LPDISPATCH value);
Входные параметры:
pAttr    - указатель на атрибут,
rowNumb    - номер строки.
Выходной параметр:
value    - указатель на интерфейс ksUserParam, куда копируются данные.
flagVisible    - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего флаги видимости ячеек строки,
columnKeys    - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего ключи строки.
Возвращаемое значение:
1    - в случае удачного завершения.
Смотрите также:ksLtVariant

Примечание:

  1. Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
  2. Перед использованием указатель flagVisible должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_LtVariant.
  3. Перед использованием указатель value должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_UserParam.
  4. Для получения размера данных строки атрибута может быть использован метод ksAttributeObject::ksGetSizeAttrRow.

ksGetAttrTabInfo - Получить информацию о количестве строк и столбцов атрибута

Аналог данного метода при использовании API экспортных функций - GetAttrTabInfo. Синтаксис Automation:

long ksGetAttrTabInfo (long pAttr,
long* rowsCount,
long* columnsCount);
Входной параметр:
pAttr    - указатель на атрибут.
Выходные параметры:
rowsCount    - количество строк атрибута,
columnsCount    - количество столбцов атрибута.
Возвращаемое значение:
1    - в случае удачного завершения,
0    - в случае неудачи.

Примечание: Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.

ksGetAttrType - Получить описание типа табличного атрибута из библиотеки или текущего документа

Аналог данного метода при использовании API экспортных функций - ksGetAttrType. Синтаксис Automation:

long ksGetAttrType (double attrID,
BSTR libName,
LPDISPATCH attrType);
Входной параметр:
attrID    - уникальный номер типа атрибута,
libName    - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута из текущего документа.
Выходной параметр:
attrType    - указатель на интерфейс параметров типа табличного атрибута ksAttributeTypeParam.
Возвращаемое значение:
1    - в случае удачного завершения,
0    - в случае неудачи.

Примечание:

  1. Уникальный номер типа атрибута attrID может быть получен от интерфейса ksLibraryAttrTypeParam с помощью свойства ksLibraryAttrTypeParam::typeid или с помощью метода ksAttributeObject::ksGetAttrKeysInfo. Тип атрибута должен быть предварительно создан, например, с помощью метода ksAttributeObject::ksCreateAttrType.
  2. Перед использованием указатель attrType должен быть получен с помощью метода KompasObject::GetParamStruct с параметром ko_AttributeType.

ksGetAttrValue - Получить значение ячейки из таблицы атрибута

Аналог данного метода при использовании API экспортных функций - ksGetAttrValue. Синтаксис Automation:

long ksGetAttrValue (reference pAttr,
long rowNumb,
long columnNumb,
LPDISPATCH flagVisible,
LPDISPATCH columnKeys,
LPDISPATCH value);
Входные параметры:
pAttr    - указатель на атрибут,
rowNumb    - номер строки,
columnNumb    - номер колонки.
Выходной параметр:
value    - указатель на интерфейс ksUserParam, куда копируется значение ячейки,
flagVisible    - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего флаги видимости ячеек,
columnKeys    - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего ключи полей колонки.
Возвращаемое значение:
1    - в случае удачного завершения,
0    - в случае неудачи.
Смотрите также:ksLtVariant

Примечание

  1. Для нетабличного атрибута номер колонки равен нулю.
  2. Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
  3. Перед использованием указатель flagVisible должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_LtVariant.
  4. Перед использованием указатель value должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_UserParam.
  5. Для получения размера данных ячейки атрибута может быть использован метод ksAttributeObject::ksGetSizeAttrValue.

ksGetLibraryAttrTypesArray - Получить указатель на динамический массив типов атрибутов типа LIBRARY_ATTR_TYPE_ARR, находящихся в заданной библиотеке типов - ksDynamicArray

Аналог данного метода при использовании API экспортных функций - ksGetLibraryAttrTypesArray. Синтаксис Automation:

LPDISPATCH ksGetLibraryAttrTypesArray (BSTR libName);
Входной параметр:
libName    - имя библиотеки типов атрибутов. Если libname = NULL, то типы атрибутов из текущего документа.
Возвращаемое значение:
указатель на интерфейс массива ksDynamicArray типа LIBRARY_ATTR_TYPE_ARR    - в случае удачного завершения,
0    - в случае неудачи.

ksGetSizeAttrRow - Получить размер данных строки атрибутов

Аналог данного метода при использовании API экспортных функций - ksGetSizeAttrRow. Синтаксис Automation:

long ksGetSizeAttrRow (reference pAttr,
long* count);
Входной параметр:
pAttr    - указатель на атрибут.
Выходной параметр:
count    - число ячеек с учетом записей.
Возвращаемое значение:
длина строки атрибута    - в случае удачного завершения,
0    - в случае неудачи.

Примечание:

  1. Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
  2. При использовании данного метода, не использующего Unicode, размер данных строкового типа будет рассчитываться для unicode строк, как для ANSI строк.

ksGetSizeAttrRowW - Получить размер данных строки атрибутов (Unicode)

Аналог данного метода при использовании API экспортных функций - ksGetSizeAttrRowW. Синтаксис Automation:

long ksGetSizeAttrRowW (reference pAttr,
long* count);
Входной параметр:
pAttr    - указатель на атрибут.
Выходной параметр:
count    - число ячеек с учетом записей.
Возвращаемое значение:
длина строки атрибута    - в случае удачного завершения,
0    - в случае неудачи.

Примечание:

  1. Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
  2. При использовании метода ksAttributeObject::ksGetSizeAttrRow, не использующего Unicode, размер данных строкового типа будет расcчитываться для unicode строк, как для ANSI строк.

ksGetSizeAttrValue - Получить размер данных ячейки

Аналог данного метода при использовании API экспортных функций - ksGetSizeAttrValue Синтаксис Automation:

long ksGetSizeAttrValue (reference pAttr,
long columnNumb,
long* count);
Входные параметры:
pAttr    - указатель на атрибут,
columnNumb    - номер колонки.
Выходной параметр:
count    - число ячеек с учетом записей.
Возвращаемое значение:
длина строки ячейки атрибута    - в случае удачного завершения,
0    - в случае неудачи.

Примечание:

  1. Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
  2. При использовании данного метода, не использующего Unicode, размер данных строкового типа будет расcчитываться для unicode строк, как для ANSI строк.

ksGetSizeAttrValueW - Получить размер данных ячейки (Unicode)

Аналог данного метода при использовании API экспортных функций - ksGetSizeAttrValueW Синтаксис Automation:

long ksGetSizeAttrValueW (reference pAttr,
long columnNumb,
long* count);
Входные параметры:
pAttr    - указатель на атрибут,
columnNumb    - номер колонки.
Выходной параметр:
Count    - число ячеек с учетом записей.
Возвращаемое значение:
длина строки ячейки атрибута    - в случае удачного завершения,
0    - в случае неудачи.

Примечание:

  1. Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
  2. При использовании метода ksAttributeObject::ksGetSizeAttrValue, не использующего Unicode, размер данных строкового типа будет расcчитываться для unicode строк, как для ANSI строк.

ksSetAttrRow - Установить данные строки в таблице атрибута

Аналог данного метода при использовании API экспортных функций - ksSetAttrRow. Синтаксис Automation:

long ksSetAttrRow (reference pAttr,
long rowNumb,
LPDISPATCH flagVisible,
LPDISPATCH сolumnKeys,
LPDISPATCH value,
BSTR password);
Входные параметры:
pAttr    - указатель на атрибут,
rowNumb    - номер строки,
flagVisible    - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего флаги видимости ячеек строки,
columnKeys    - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего ключи строки,
value    - указатель на интерфейс ksUserParam, откуда копируются данные,
password    - пароль атрибута.
Возвращаемое значение:
1    - в случае удачного завершения.
Смотрите также:ksLtVariant

Примечание:

  1. Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
  2. Указатель flagVisible может быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_LtVariant, методов интерфейса ksLtVariant, ksDynamicArray.
  3. Указатель value может быть получен от интерфейса KompasObject с помощью метода ompasObject::GetParamStruct с параметром ko_UserParam с последующим наполнением массива с помощью методов интерфейса ksUserParam, ksLtVariant, ksDynamicArray.

ksSetAttrType - Изменить тип атрибута в библиотеке или текущем документе

Аналог данного метода при использовании API экспортных функций - ksSetAttrType. Синтаксис Automation:

double ksSetAttrType (double attrID,
BSTR libName,
LPDISPATCH attrType,
BSTR password);
Входные параметры:
attrID    - уникальный номер типа атрибута,
libName    - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута изменяется в текущем документе,
attrType    - указатель на интерфейс параметров типа табличного атрибута ksAttributeTypeParam,
password    - пароль типа атрибута.
Возвращаемое значение:
уникальный номер типа атрибута    - в случае удачного завершения,
0    - в случае неудачи.

Примечание:

  1. Уникальный номер типа атрибута attrID может быть получен от интерфейса ksLibraryAttrTypeParam с помощью свойства ksLibraryAttrTypeParam::typeid или с помощью метода ksAttributeObject::ksGetAttrKeysInfo. Тип атрибута типа должен быть предварительно создан, например, с помощью метода ksAttributeObject::ksCreateAttrType.
  2. Перед использованием указатель attrType должен быть получен с помощью метода KompasObject::GetParamStruct с параметром ko_AttributeType с последующим наполнением параметрами с помощью свойств и методов интерфейса ksAttributeTypeParam.

ksSetAttrValue - Установить значение ячейки в таблице атрибута

Аналог данного метода при использовании API экспортных функций - ksSetAttrValue. Синтаксис Automation:

long ksSetAttrValue (reference pAttr,
long rowNumb,
long columnNumb,
LPDISPATCH
flagVisible,
LPDISPATCH columnKeys,
LPDISPATCH value,
BSTR password);
Входные параметры:
pAttr    - указатель на атрибут,
rowNumb    - номер строки,
columnNumb    - номер колонки,
flagVisible    - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего флаги видимости ячеек,
columnKeys    - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего ключи полей колонки,
value    - указатель на интерфейс ksUserParam, откуда копируется значение ячейки,
password    - пароль атрибута.
Возвращаемое значение:
1    - в случае удачного завершения.
Смотрите также:ksLtVariant

Примечание:

  1. Для нетабличного атрибута номер колонки равен нулю.
  2. Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
  3. Перед использованием указатель flagVisible должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_LtVariant, методов интерфейса ksLtVariant, интерфейса ksDynamicArray, метода ksDynamicArray::ksSetArrayItem, ksDynamicArray::ksAddArrayItem.
  4. Перед использованием указатель value должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_UserParam с последующим наполнением массива с помощью методов интерфейса ksUserParam, ksLtVariant, ksDynamicArray.

ksViewEditAttr - Вывести диалог для просмотра или редактирования атрибута

Аналог данного метода при использовании API экспортных функций - ViewEditAttr. Синтаксис Automation:

long ksViewEditAttr (reference pAttr,
long type,
BSTR password);
Входные параметры:
pAttr    - указатель на атрибут,
type    - режим работы: - 1 - режим просмотра, 2 - режим редактирования
password    - пароль типа атрибута.
Возвращаемое значение:
1    - в случае удачного завершения.

Примечание:

  1. Диалог "привязан" к главному окну.
  2. Указатель на атрибут reference pAttr может быть получен следующими способами: •с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator, •с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.

ksViewEditAttrType - Вывести диалог для просмотра или редактирования типа атрибута

Аналог данного метода при использовании API экспортных функций - ViewEditAttrType. Синтаксис Automation:

long ksViewEditAttrType (BSTR libName,
long type,
double attrID,
BSTR password);
Входные параметры:
libName    - имя библиотеки типов атрибутов. Если libname = NULL, типы атрибутов берутся из текущего документа,
type    - режим работы: 1 - режим просмотра, 2 - режим редактирования,
attrId    - уникальный номер типа атрибута,
password    - пароль типа атрибута.
Возвращаемое значение:
1    - в случае удачного завершения.

Примечание: Уникальный номер типа атрибута attrID может быть получен от интерфейса ksLibraryAttrTypeParam с помощью свойства ksLibraryAttrTypeParam::typeid или от интерфейса ksAttributeObject с помощью метода ksAttributeObject::ksGetAttrKeysInfo. Тип атрибута должен быть предварительно создан, например, с помощью метода ksAttributeObject::ksCreateAttrType.