e1337e4016
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>
227 lines
8.6 KiB
Markdown
227 lines
8.6 KiB
Markdown
---
|
|
title: "Интерфейс IPropertyKeeper"
|
|
type: interface
|
|
api: [api7]
|
|
tags: [interface, api7, ipropertykeeper]
|
|
sources:
|
|
- 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 ) Получить свойство
|
|
```
|
|
Примечание:
|
|
Свойство доступно только для чтения.
|