--- title: "Интерфейс ISpecificationDescriptions" type: interface api: [api7] tags: [interface, api7, ispecificationdescriptions] sources: - ispecificationdescriptions.html --- *API интерфейсов. Версия 7 > Работа со спецификацией * ## Интерфейс ISpecificationDescriptions Интерфейс коллекции описаний спецификации у документа. Иерархия: IKompasAPIObject IKompasCollection ISpecificationDescriptions Примечание: 1. Для документа-спецификации возможно только одно описание, и оно есть всегда (т.е. добавлять и удалять нельзя). 2. В текстовом документе описаний нет. 3. Для остальных документов (чертеж, фрагмент, деталь и сборка) описаний может быть сколько угодно, в том числе и ни одного. 4. При добавлении нового описания оно становится текущим. 5. Данный интерфейс может быть получен следующими способами: •от интерфейса документа IKompasDocument с помощью свойства IKompasDocument::SpecificationDescriptions, •от интерфейса чертежа IDrawingDocument с помощью свойства IDrawingDocument::ChangeListDescriptions. ## Active - Текущее описание Тип данных: Указатель на интерфейс ISpecificationDescription описания спецификации Синтаксис Automation: ``` Description = iObject.Active Получить свойство (* ) Description = iObject.GetActive() Получить свойство (**) ``` Синтаксис COM: ``` iObject->get_Active (&Description) Получить свойство ``` Примечание: 1. Если в документе нет описаний спецификаций, возвращается NULL. 2. Свойство доступно только для чтения. ## ActiveFromLibStyle - Текущее описание, соответствующее библиотечному стилю Тип данных: Указатель на интерфейс ISpecificationDescription Синтаксис Automation: ``` ActiveFromLibStyle = Object.ActiveFromLibStyle Получить свойство (* ) ActiveFromLibStyle = Object.GetActiveFromLibStyle() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_ActiveFromLibStyle( &ActiveFromLibStyle ) Получить свойство Возвращаемое значение: \ - если текущее описание соответствует своему описанию-источнику в библиотеке, то просто возвращается оно же, - если текущее описание не соответствует своему описанию-источнику в библиотеке, то возвращается новое описание, созданное по описанию-источнику и сделанное текущим, - если текущего описания нет или для текущего описания не найдено описание-источник (не найдена библиотека-источник), то возвращается NULL. ``` Примечание: Свойство доступно только для чтения. ## Add - Добавить новое описание спецификации в документ и в коллекцию Синтаксис Automation: ``` LPDISPATCH Add (BSTR LayoutName, long StyleID, BSTR SpcName, ISpecificationDescription); ``` Синтаксис COM: ``` HRESULT Add ([in] BSTR LayoutName, [in] long StyleID, [in] BSTR SpcName, [out, retval] ISpecificationDescription** Result); Входные параметры: LayoutName - имя библиотеки стилей, StyleID - номер стиля в библиотеке стилей, SpcName - имя документа спецификации, связанного с описанием спецификации в документе. Возвращаемое значение: - Указатель на интерфейс ISpecificationDescription описания спецификации. ``` Примечание: К одному документу могут быть добавлены описания спецификации только разных стилей. Если LayoutName и StyleID не заданы, то добавляется описание спецификации по умолчанию, если оно не было создано ранее. ## Description - Описание спецификации по имени файла библиотеки оформлений и номеру стиля в библиотеке Тип данных: Указатель на интерфейс ISpecificationDescription описания спецификации Синтаксис Automation: ``` Description = iObject.Description (LayoutName, StyleID) Получить свойство (* ) Description = iObject.GetDescription (LayoutName, StyleID) Получить свойство (**) ``` Синтаксис COM: ``` iObject->get_Description (LayoutName, StyleID, &Description) Получить свойство Входные параметры: LayoutName - имя файла библиотеки оформлений, StyleID - номер стиля в библиотеке оформлений. ``` Примечание: Свойство доступно только для чтения. ## IsSlaveActive - Активно ли окно редактирования описания спецификации Тип данных: из перечисления ksSlaveActiveEnum Синтаксис Automation: ``` IsSlaveActive = Object.IsSlaveActive Получить свойство (* ) IsSlaveActive = Object.GetIsSlaveActive() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_IsSlaveActive( &IsSlaveActive ) Получить свойство ``` Примечание: Свойство доступно только для чтения. КOMPAS v24 ## Item - Описание спецификации, заданное по индексу Тип данных: Указатель на интерфейс ISpecificationDescription описания спецификации Синтаксис Automation: ``` Description = iObject.Item (Index) Получить свойство (* ) Description = iObject.GetItem (Index) Получить свойство (**) ``` Синтаксис COM: ``` iObject->get_Item (Index, &Description) Получить свойство ``` Примечание: Свойство доступно только для чтения.