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>
471 lines
21 KiB
Markdown
471 lines
21 KiB
Markdown
---
|
||
title: "Интерфейс IProductDataManager"
|
||
type: interface
|
||
api: [api7]
|
||
tags: [interface, api7, iproductdatamanager]
|
||
sources:
|
||
- iproductdatamanager.html
|
||
---
|
||
|
||
*API интерфейсов. Версия 7 > Дерево СЧИ *
|
||
|
||
|
||
## Интерфейс IProductDataManager
|
||
|
||
Менеджер Дерева СЧИ.
|
||
Иерархия:
|
||
IDispatch
|
||
IProductDataManager
|
||
Интерфейс является дополнительным к интерфейсу IKompasDocument. Данный интерфейс можно получить посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif).
|
||
КОМПАС версия v18
|
||
|
||
|
||
## AddProductObject - Добавить объект дерева СЧИ по идентификатору
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH AddProductObject( IPropertyKeeper * Parent, BSTR Name, ksProductObjectTypeEnum ObjectType );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT AddProductObject( IPropertyKeeper * Parent, BSTR Name, ksProductObjectTypeEnum ObjectType, IPropertyKeeper * * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
Входные параметры:
|
||
Parent - владелец информационного объекта,
|
||
Name - имя объекта,
|
||
ObjectType - тип объекта.
|
||
```
|
||
Примечание:
|
||
В зависимости от типа информационного объекта выбирается владелец объекта. Например, для вставок моделей и тел владелец - исполнение.
|
||
|
||
|
||
## AddReferenceData - Добавить справочные данные
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BSTR AddReferenceData( BSTR ReferenceDataType, BSTR ReferenceDataInfo );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT AddReferenceData( BSTR ReferenceDataType, BSTR ReferenceDataInfo, BSTR * Result );
|
||
Возвращаемое значение:
|
||
- идентификатор справочных данных.
|
||
Входные параметры:
|
||
ReferenceDataType - тип справочных данных,
|
||
ReferenceDataInfo - заголовок справочных данных.
|
||
```
|
||
|
||
|
||
## ChildObjects - Список подчиненных объектов в исполнении
|
||
|
||
Тип данных: VARIANT
|
||
Синтаксис Automation:
|
||
```
|
||
ChildObjects = Object.ChildObjects( EmbodimentObject ) Получить свойство (* )
|
||
ChildObjects = Object.GetChildObjects( EmbodimentObject ) Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ChildObjects( EmbodimentObject, &ChildObjects ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
КOMPAS v24
|
||
|
||
|
||
## DeleteProductObject - Удалить объект из дерева СЧИ по идентификатору
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL DeleteProductObject( BSTR UniqueMetaObjectKey );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT DeleteProductObject( BSTR UniqueMetaObjectKey, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
Входные параметры:
|
||
UniqueMetaObjectKey - идентификатор объекта СЧИ.
|
||
```
|
||
|
||
|
||
## DeleteReferenceData - Удалить справочные данные
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL DeleteReferenceData( BSTR ReferenceDataType, BSTR ReferenceDataId );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT DeleteReferenceData( BSTR ReferenceDataType, BSTR ReferenceDataId, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
Входные параметры:
|
||
ReferenceDataType - тип справочных данных,
|
||
ReferenceDataId - идентификатор справочных данных.
|
||
```
|
||
|
||
|
||
## FindProductObjectByGeometry - Найти объект дерева СЧИ по геометрии
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH FindProductObjectByGeometry( IKompasAPIObject * Geometry );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT FindProductObjectByGeometry( IKompasAPIObject * Geometry, IPropertyKeeper * * Result );
|
||
Возвращаемое значение:
|
||
- Указатель на интерфейс IPropertyKeeper.
|
||
Входные параметры:
|
||
Geometry - указатель на объект.
|
||
Версия КОМПАС v22
|
||
```
|
||
|
||
|
||
## Geometry - Геометрия, подключенная к информационному объекту
|
||
|
||
Тип данных: VARIANT
|
||
Синтаксис Automation:
|
||
```
|
||
Geometry = Object.Geometry( PropObject ) Получить свойство (* )
|
||
Object.Geometry( PropObject ) = Geometry Установить свойство (* )
|
||
Geometry = Object.GetGeometry( PropObject ) Получить свойство (**)
|
||
Object.SetGeometry( PropObject, Geometry ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_Geometry( PropObject, &Geometry ) Получить свойство
|
||
Object.put_Geometry( PropObject, Geometry ) Установить свойство
|
||
Входные параметры:
|
||
IPropertyKeeper * PropObject - указатель на объект СЧИ.
|
||
```
|
||
Примечание:
|
||
Свойство возвращает переменную типа VARIANT на безопасный массив SAFEARRAY (VT_ARRAY | VT_DISPATCH).
|
||
|
||
|
||
## GetObjectLinkPropertyValue - Получить значение свойства в исполнении
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetObjectLinkPropertyValue( IPropertyKeeper * PropObject, IPropertyKeeper * EmbodimentObject, BSTR PropertyPath, VARIANT * Value, BOOL * FromSource );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetObjectLinkPropertyValue( IPropertyKeeper * PropObject, IPropertyKeeper * EmbodimentObject, BSTR PropertyPath, VARIANT * Value, BOOL * FromSource, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
PropObject - указатель на объект СЧИ IPropertyKeeper,
|
||
EmbodimentObject - указатель на объект исполнения в СЧИ IPropertyKeeper,
|
||
PropertyPath - строковый идентификатор свойства.
|
||
Выходные параметры:
|
||
Value - значение свойства,
|
||
FromSource - значение было получено из источника.
|
||
Версия КОМПАС v23
|
||
```
|
||
|
||
|
||
## GetObjectPropertyValue - Получить значение свойства по строковому идентификатору в метаданных
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetObjectPropertyValue( IPropertyKeeper * PropObject, BSTR PropertyPath, VARIANT * Value, BOOL * FromSource );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetObjectPropertyValue( IPropertyKeeper * PropObject, BSTR PropertyPath, VARIANT * Value, BOOL * FromSource, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
PropObject - указатель на объект СЧИ IPropertyKeeper,
|
||
PropertyPath - строковый идентификатор свойства.
|
||
Выходные параметры:
|
||
Value - значение свойства,
|
||
FromSource - значение было получено из источника.
|
||
Версия КОМПАС v23
|
||
```
|
||
|
||
|
||
## MetaProductInfo - Метаданные дерева СЧИ
|
||
|
||
Тип данных: BSTR
|
||
Синтаксис Automation:
|
||
```
|
||
MetaProductInfo = Object.MetaProductInfo Получить свойство (* )
|
||
Object.MetaProductInfo = MetaProductInfo Установить свойство (* )
|
||
MetaProductInfo = Object.GetMetaProductInfo() Получить свойство (**)
|
||
Object.SetMetaProductInfo( MetaProductInfo ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_MetaProductInfo( &MetaProductInfo ) Получить свойство
|
||
Object.put_MetaProductInfo( MetaProductInfo ) Установить свойство
|
||
```
|
||
|
||
|
||
## ObjectAttachedDocuments - Список подключенных к объекту документов
|
||
|
||
Тип данных: VARIANT
|
||
Синтаксис Automation:
|
||
```
|
||
ObjectAttachedDocuments = Object.ObjectAttachedDocuments( PropObject ) Получить свойство (* )
|
||
Object.ObjectAttachedDocuments( PropObject ) = ObjectAttachedDocuments Установить свойство (* )
|
||
ObjectAttachedDocuments = Object.GetObjectAttachedDocuments( PropObject ) Получить свойство (**)
|
||
Object.SetObjectAttachedDocuments( PropObject, ObjectAttachedDocuments ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ObjectAttachedDocuments( PropObject, &ObjectAttachedDocuments ) Получить свойство
|
||
Object.put_ObjectAttachedDocuments( PropObject, ObjectAttachedDocuments ) Установить свойство
|
||
Входные параметры:
|
||
IPropertyKeeper * PropObject - указатель на объект СЧИ.
|
||
```
|
||
Примечание:
|
||
Свойство возвращает переменную типа VARIANT на безопасный массив имен файлов, связанных с объектом СЧИ SAFEARRAY (VT_ARRAY | VT_BSTR).
|
||
|
||
|
||
## ObjectAttribute - Значение атрибута объекта дерева СЧИ
|
||
|
||
Тип данных: VARIANT
|
||
Синтаксис Automation:
|
||
```
|
||
ObjectAttribute = Object.ObjectAttribute( PropObject, PropertyPath, Attribute ) Получить свойство (* )
|
||
ObjectAttribute = Object.GetObjectAttribute( PropObject, PropertyPath, Attribute ) Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ObjectAttribute( PropObject, PropertyPath, Attribute, &ObjectAttribute ) Получить свойство
|
||
Возвращаемое значение:
|
||
- Значение атрибута.
|
||
Входные параметры:
|
||
PropObject - указатель на объект СЧИ IPropertyKeeper
|
||
PropertyPath - cтроковый идентификатор свойства,
|
||
Attribute - cтроковый идентификатор атрибута.
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия Компас v23
|
||
|
||
|
||
## ObjectEmbodiments - Список исполнений, в которые входит объект
|
||
|
||
Тип данных: VARIANT
|
||
Синтаксис Automation:
|
||
```
|
||
ObjectEmbodiments = Object.ObjectEmbodiments( PropObject ) Получить свойство (* )
|
||
ObjectEmbodiments = Object.GetObjectEmbodiments( PropObject ) Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ObjectEmbodiments( PropObject, &ObjectEmbodiments ) Получить свойство
|
||
Возвращаемое значение:
|
||
- Массив VT_ARRAY VT_BSTR идентификаторов объектов исполнений в СЧИ.
|
||
Входные параметры:
|
||
PropObject - указатель на объект СЧИ IPropertyKeeper.
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия Компас v23
|
||
|
||
|
||
## ObjectLinkAttribute - Значение атрибута объекта дерева СЧИ в заданном исполнении
|
||
|
||
Тип данных: VARIANT
|
||
Синтаксис Automation:
|
||
```
|
||
ObjectLinkAttribute = Object.ObjectLinkAttribute( PropObject, EmbodimentObject, PropertyPath, Attribute ) Получить свойство (* )
|
||
ObjectLinkAttribute = Object.GetObjectLinkAttribute( PropObject, EmbodimentObject, PropertyPath, Attribute ) Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ObjectLinkAttribute( PropObject, EmbodimentObject, PropertyPath, Attribute, &ObjectLinkAttribute ) Получить свойство
|
||
Возвращаемое значение:
|
||
- Значение атрибута.
|
||
Входные параметры:
|
||
PropObject - указатель на объект СЧИ IPropertyKeeper,
|
||
EmbodimentObject - указатель на объект исполнения в СЧИ IPropertyKeeper,
|
||
PropertyPath - cтроковый идентификатор свойства,
|
||
Attribute - cтроковый идентификатор атрибута.
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия Компас v23
|
||
|
||
|
||
## ObjectMetaProductInfo - Метаданные объекта дерева СЧИ
|
||
|
||
Тип данных: BSTR
|
||
Синтаксис Automation:
|
||
```
|
||
ObjectMetaProductInfo = Object.ObjectMetaProductInfo( PropObject ) Получить свойство (* )
|
||
Object.ObjectMetaProductInfo( PropObject ) = ObjectMetaProductInfo Установить свойство (* )
|
||
ObjectMetaProductInfo = Object.GetObjectMetaProductInfo( PropObject ) Получить свойство (**)
|
||
Object.SetObjectMetaProductInfo( PropObject, ObjectMetaProductInfo ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ObjectMetaProductInfo( PropObject, &ObjectMetaProductInfo ) Получить свойство
|
||
Object.put_ObjectMetaProductInfo( PropObject, ObjectMetaProductInfo ) Установить свойство
|
||
Входные параметры:
|
||
IPropertyKeeper * PropObject - указатель на объект СЧИ.
|
||
```
|
||
|
||
|
||
## ObjectSpcUsed - Признаки использования в спецификации
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
ObjectSpcUsed = Object.ObjectSpcUsed( PropObject, SpcUsed ) Получить свойство (* )
|
||
Object.ObjectSpcUsed( PropObject, SpcUsed ) = ObjectSpcUsed Установить свойство (* )
|
||
ObjectSpcUsed = Object.GetObjectSpcUsed( PropObject, SpcUsed ) Получить свойство (**)
|
||
Object.SetObjectSpcUsed( PropObject, SpcUsed, ObjectSpcUsed ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ObjectSpcUsed( PropObject, SpcUsed, &ObjectSpcUsed ) Получить свойство
|
||
Object.put_ObjectSpcUsed( PropObject, SpcUsed, ObjectSpcUsed ) Установить свойство
|
||
Входные параметры:
|
||
PropObject - указатель на объект СЧИ IPropertyKeeper
|
||
SpcUsed - признаки использования в спецификации из перечисления ksSpcUsedTypeEnum.
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия Компас v23
|
||
|
||
|
||
## ProductObject - Получить объект дерева СЧИ по идентификатору
|
||
|
||
Тип данных: Указатель на интерфейс IPropertyKeeper
|
||
Синтаксис Automation:
|
||
```
|
||
ProductObject = Object.ProductObject( UniqueMetaObjectKey ) Получить свойство (* )
|
||
ProductObject = Object.GetProductObject( UniqueMetaObjectKey ) Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ProductObject( UniqueMetaObjectKey, &ProductObject ) Получить свойство
|
||
Входные параметры:
|
||
BSTR UniqueMetaObjectKey - уникальный идентификатор объекта.
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## ProductObjects - Получить массив объектов дерева СЧИ
|
||
|
||
Тип данных: VARIANT
|
||
Синтаксис Automation:
|
||
```
|
||
ProductObjects = Object.ProductObjects( Filter ) Получить свойство (* )
|
||
ProductObjects = Object.GetProductObjects( Filter ) Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ProductObjects( Filter, &ProductObjects ) Получить свойство
|
||
Входные параметры:
|
||
long Filter - фильтр по типам объектов.
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Фильтр формируется из комбинации нужных типов объектов из перечисления ksProductObjectTypeEnum.
|
||
|
||
|
||
## ReferenceData - Справочные данные свойств
|
||
|
||
Тип данных: BSTR
|
||
Синтаксис Automation:
|
||
```
|
||
ReferenceData = Object.ReferenceData Получить свойство (* )
|
||
Object.ReferenceData = ReferenceData Установить свойство (* )
|
||
ReferenceData = Object.GetReferenceData() Получить свойство (**)
|
||
Object.SetReferenceData( ReferenceData ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ReferenceData( &ReferenceData ) Получить свойство
|
||
Object.put_ReferenceData( ReferenceData ) Установить свойство
|
||
```
|
||
|
||
|
||
## ReferenceDataIds - Идентификаторы справочных данных
|
||
|
||
Тип данных: VARIANT
|
||
Синтаксис Automation:
|
||
```
|
||
ReferenceDataIds = Object.ReferenceDataIds( ReferenceDataType ) Получить свойство (* )
|
||
ReferenceDataIds = Object.GetReferenceDataIds( ReferenceDataType ) Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ReferenceDataIds( ReferenceDataType, &ReferenceDataIds ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Свойство возвращает переменную типа VARIANT на безопасный массив идентификаторов справочных данных SAFEARRAY (VT_ARRAY | VT_BSTR).
|
||
|
||
|
||
## ReferenceDataInfo - Справочные данные свойства
|
||
|
||
Тип данных: BSTR
|
||
Синтаксис Automation:
|
||
```
|
||
ReferenceDataInfo = Object.ReferenceDataInfo( ReferenceDataType, ReferenceDataId ) Получить свойство (* )
|
||
Object.ReferenceDataInfo( ReferenceDataType, ReferenceDataId ) = ReferenceDataInfo Установить свойство (* )
|
||
ReferenceDataInfo = Object.GetReferenceDataInfo( ReferenceDataType, ReferenceDataId ) Получить свойство (**)
|
||
Object.SetReferenceDataInfo( ReferenceDataType, ReferenceDataId, ReferenceDataInfo ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ReferenceDataInfo( ReferenceDataType, ReferenceDataId, &ReferenceDataInfo ) Получить свойство
|
||
Object.put_ReferenceDataInfo( ReferenceDataType, ReferenceDataId, ReferenceDataInfo ) Установить свойство
|
||
Входные параметры:
|
||
BSTR ReferenceDataType - тип справочных данных,
|
||
BSTR ReferenceDataId - идентификатор справочных данных.
|
||
```
|
||
|
||
|
||
## SetObjectLinkPropertyValue - Установить значение свойства в исполнении
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetObjectLinkPropertyValue( IPropertyKeeper * PropObject, IPropertyKeeper * EmbodimentObject, BSTR PropertyPath, VARIANT Value );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetObjectLinkPropertyValue( IPropertyKeeper * PropObject, IPropertyKeeper * EmbodimentObject, BSTR PropertyPath, VARIANT Value, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
PropObject - указатель на объект СЧИ IPropertyKeeper,
|
||
EmbodimentObject - указатель на объект исполнения в СЧИ IPropertyKeeper,
|
||
PropertyPath - строковый идентификатор свойства,
|
||
Value - значение свойства.
|
||
Версия КОМПАС v23
|
||
```
|
||
|
||
|
||
## SetObjectPropertyValue - Установить значение свойства по строковому идентификатору в метаданных
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetObjectPropertyValue( IPropertyKeeper * PropObject, BSTR PropertyPath, VARIANT Value );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetObjectPropertyValue( IPropertyKeeper * PropObject, BSTR PropertyPath, VARIANT Value, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
PropObject - указатель на объект СЧИ IPropertyKeeper,
|
||
PropertyPath - строковый идентификатор свойства,
|
||
Value - значение свойства.
|
||
Версия КОМПАС v23
|
||
```
|