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

8.6 KiB

title, type, api, tags, sources
title type api tags sources
Интерфейс IPropertyKeeper interface
api7
interface
api7
ipropertykeeper
ipropertykeeper.html

*API интерфейсов. Версия 7 > Документ  > Свойства *

Интерфейс IPropertyKeeper

Интерфейс получения/редактирования значения свойств Иерархия: IDispatch IPropertyKeeper Описание: Позволяет получать и редактировать значения свойств объектов. Примечание: Дополнительный интерфейс. Данный интерфейс можно получить у IPart7, IBody7, IEmbodiment, IMacroObject, IInsertionObject или IKompasDocument2D посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif). •IPropertyKeeper - свойства •IPropertyKeeper - методы

GetComplexPropertyValue - Получить значение составного свойства

Синтаксис Automation:

BSTR GetComplexPropertyValue( IProperty * Property, BOOL * FromSource );

Синтаксис COM:

HRESULT GetComplexPropertyValue( IProperty * Property, BOOL * FromSource, BSTR * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
Property    - интерфейс свойства.
Выходные параметры:
FromSource    - признак получения значения свойства из источника.

GetPropertyAdditionalStorage - Получить дополнительные данные, связанные со свойством

Синтаксис Automation:

LPDISPATCH GetPropertyAdditionalStorage( IProperty * Property,
BOOL Create,
BOOL * FromSource );

Синтаксис COM:

HRESULT GetPropertyAdditionalStorage( IProperty * Property,
BOOL Create,
BOOL * FromSource,
IUserDataStorage ** Result );
Возвращаемое значение:
указатель на интерфейс пользовательского хранилища с дополнительными данными для свойства.
Входные параметры:
Property    - указатель на интерфейс свойства,
Create    - создавать хранилище, если оно отсутствует.
Выходные параметры:
FromSource    - хранилище было получено из источника.

Примечание: При первом изменении значения свойства дополнительные данные очищаются автоматически.

GetPropertyValue - Получить значение свойства

Синтаксис Automation:

BOOL GetPropertyValue( LPDISPATCH Property, VARIANT * Value, BOOL BaseUnit, BOOL * FromSource );

Синтаксис COM:

HRESULT GetPropertyValue(IProperty* Property, VARIANT * Value, BOOL BaseUnit, BOOL * FromSource, BOOL * Result );
Входные параметры:
Property    - интерфейс свойства,
BaseUnit    - TRUE - значение в базовых единицах измерения (СИ), - FALSE - в настроенных единицах измерения,
Выходные параметры:
FromSource    - хранилище было получено из источника,
Value    - значение свойства.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

GetUserDataStoragesManager - Менеджер для работы с пользовательским хранилищем данных

Синтаксис Automation:

LPDISPATCH GetUserDataStoragesManager( BOOL FromSource );

Синтаксис COM:

HRESULT GetUserDataStoragesManager( BOOL FromSource, IUserDataStoragesMng** PVal);
Входные параметры:
FromSource    - TRUE вернуть менеджер из файла источника объекта, - FALSE - вернуть менеджер из файла владельца объекта.
Возвращаемое значение:
- Указатель на интерфейс менеджера пользовательских данных IUserDataStoragesMng,

InsertHypertextReference - Добавить ссылку в свойство

Синтаксис Automation:

BOOL InsertHypertextReference( IProperty * Property,
IKompasAPIObject * Object,
ksHypertextTypeEnum Type,
BOOL Brackets,
long TextLineIndex,
long Precision,
double PropertyId;

Синтаксис COM:

HRESULT InsertHypertextReference( IProperty * Property,
IKompasAPIObject * Object,
ksHypertextTypeEnum Type,
BOOL Brackets,
long TextLineIndex,
long Precision,
double PropertyId,
BOOL * Result );
Входные параметры:
Property    - свойство, в которое добавляется ссылка,
Object    - объект, на свойство или текст которого ссылаемся,
Type    - тип ссылки,
Brackets    - добавлять скобки,
TextLineIndex    - индекс строки в тексте объекта,
Precision    - количество знаков после запятой,
PropertyId    - идентификатор свойства, на которое ссылаемся.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

IsComplexPropertyValue - Признак комплексного значения свойства

Синтаксис Automation:

BOOL IsComplexPropertyValue( IProperty * Property );

Синтаксис COM:

HRESULT IsComplexPropertyValue( IProperty * Property, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
Property    - интерфейс свойства.

Properties - Метаданные объекта

Тип данных: BSTR Синтаксис Automation:

Properties = Object.Properties    Получить свойство (* )
Object.Properties = Properties    Установить свойство (* )
Properties = Object.GetProperties()    Получить свойство (**)
Object.SetProperties( Properties )    Установить свойство (**)

Синтаксис COM:

Object.get_Properties( &Properties )    Получить свойство
Object.put_Properties( Properties )    Установить свойство

SetComplexPropertyValue - Установить значение составного свойства

Синтаксис Automation:

BOOL SetComplexPropertyValue( IProperty * Property, BSTR Value );

Синтаксис COM:

HRESULT SetComplexPropertyValue( IProperty * Property, BSTR Value, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
Property    - интерфейс свойства,
Value    - xml-строка с описанием структуры значения составного свойства.

SetPropertyValue - Установить значение свойства

Синтаксис Automation:

BOOL SetPropertyValue( LPDISPATCH Property, VARIANT Value, BOOL BaseUnit );

Синтаксис COM:

HRESULT SetPropertyValue(IProperty* Property, VARIANT Value, BOOL BaseUnit, BOOL * Result );
Входные параметры:
Property    - интерфейс свойства,
Value    - значение свойства,
BaseUnit    -TRUE - значение в базовых единицах измерения (СИ), - FALSE в настроенных единицах измерения.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

UniqueMetaObjectKey - Уникальный идентификатор объекта

Тип данных: BSTR Синтаксис Automation:

UniqueMetaObjectKey = Object.UniqueMetaObjectKey    Получить свойство(* )
UniqueMetaObjectKey = Object.GetUniqueMetaObjectKey()    Получить свойство (**)

Синтаксис COM:

Object.get_UniqueMetaObjectKey( &UniqueMetaObjectKey )    Получить свойство

Примечание: Свойство доступно только для чтения.