--- 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 ```