Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/ispecificationdescription.md
T
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

479 lines
26 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Интерфейс ISpecificationDescription"
type: interface
api: [api7]
tags: [interface, api7, ispecificationdescription]
sources:
- ispecificationdescription.html
---
*API интерфейсов. Версия 7 > Работа со спецификацией *
## Интерфейс ISpecificationDescription
Интерфейс описания спецификации у документа.
Иерархия:
IKompasAPIObject
ISpecificationDescription
Описание:
Описание спецификации включает в себя имя файла спецификации, подключенной к графическому документу и стиль этой спецификации.
Для фрагмента и детали описание спецификации содержит только стиль спецификации. Это связано с тем, что фрагмент и деталь непосредственно к спецификации не подключаются, но в них можно создавать объекты спецификации для передачи в чертежи и сборки.
Примечание:
Установка свойств доступна только для графических документов и документов-моделей. Для документа спецификации свойства интерфейса работают в режиме "только для чтения". После изменения параметров оформления нужно вызвать метод Update, чтобы новые данные вступили в силу.
Данный интерфейс можно получить у коллекции описаний спецификации ISpecificationDescriptions.
## Active - Текущее описание
Тип данных: BOOL
Синтаксис Automation:
```
Active = iObject.Active Получить свойство (* )
iObject.Active = Active Установить свойство (* )
Active = iObject.GetActive() Получить свойство (**)
iObject.SetActive (Active) Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Active (&Active) Получить свойство
iObject->put_Active (Active) Установить свойство
Значения свойства:
TRUE - описание активно,
FALSE - описание неактивно.
```
Примечание:
1. Свойство возвращает признак активности описания и позволяет сделать описание активным. Tо есть установить свойство можно только в TRUE.
2. После изменения параметров оформления метод Update вызывать не требуется.
## BaseObjects - Базовые объекты спецификации
Тип данных: указатель на интерфейс ISpecificationBaseObjects коллекции базовых объектов спецификации
Синтаксис Automation:
```
Objects = iObject.BaseObjects Получить свойство (* )
Objects = iObject.GetBaseObjects() Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_BaseObjects (&Objects) Получить свойство
```
Примечание:
1. Свойство позволяет получить коллекцию базовых объектов спецификации.
2. Свойство доступно только для чтения.
## CommentObjects - Объекты спецификации - комментарии
Тип данных: указатель на интерфейс ISpecificationCommentObjects коллекции вспомогательных объектов спецификации
Синтаксис Automation:
```
Objects = iObject.CommentObjects Получить свойство (* )
Objects = iObject.GetCommentObjects() Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_CommentObjects (&Objects) Получить свойство
```
Примечание:
1. Свойство позволяет получить коллекцию вспомогательных объектов спецификации.
2. Свойство доступно только для чтения.
## CompareStyleWithLibStyle - Отличие стиля СП от библиотечного: 0 - не отличается, 1 - отличается, -1 - стиль не найден
Синтаксис Automation:
```
ksSpecificationStyleDifferenceTypeEnum CompareStyleWithLibStyle();
```
Синтаксис COM:
```
HRESULT CompareStyleWithLibStyle( ksSpecificationStyleDifferenceTypeEnum * Result );
Возвращаемое значение:
0 - не отличается,
1 - отличается,
-1 - стиль не найден.
```
## CurrentObject - Текущий объект спецификации (выделенный или редактируемый в таблице спецификации)
Тип данных: указатель на интерфейс ISpecificationObject объекта спецификации.
Синтаксис Automation:
```
CurrentObject = iObject.CurrentObject Получить свойство (* )
iObject.CurrentObject = CurrentObject Установить свойство (* )
CurrentObject = iObject.GetCurrentObject() Получить свойство (**)
iObject.SetCurrentObject (CurrentObject) Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_CurrentObject (&CurrentObject) Получить свойство
iObject->put_CurrentObject (CurrentObject) Установить свойство
```
Примечание:
1. С помощью данного свойства можно получить и установить текущий объект спецификации.
2. В графическом документе или документе-модели метод работает, если открыто окно спецификации в подчиненном режиме.
## DelegateMode - Режим редактирования внешних объектов для описания спецификации сборки
Тип данных: BOOL
Синтаксис Automation:
```
DelegateMode = Object.DelegateMode Получить свойство (* )
Object.DelegateMode = DelegateMode Установить свойство (* )
DelegateMode = Object.GetDelegateMode() Получить свойство (**)
Object.SetDelegateMode( DelegateMode ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DelegateMode( &DelegateMode ) Получить свойство
Object.put_DelegateMode( DelegateMode ) Установить свойство
```
Примечание:
Позволяет получать и создавать внешние объекты спецификации в документе типа "сборка".
## Delete - Удалить описание
Синтаксис Automation:
```
BOOL Delete();
```
Синтаксис COM:
```
HRESULT Delete( [out, retval] BOOL* Result );
```
Примечание:
Метод удаляет описание спецификации.
## GetPerformanceParam - Получить параметры и имя колонки исполнения по индексу
Синтаксис Automation:
```
LPCTSTR GetPerformanceParam( long DisplayPerformanceIndex, long * PerformanceIndex, long * BlockIndex );
```
Синтаксис COM:
```
HRESULT GetPerformanceParam( long DisplayPerformanceIndex, long * PerformanceIndex, long * BlockIndex, BSTR * PerformanceName );
Входные параметры:
DisplayPerformanceIndex - индекс отображаемого исполнения (начинается с единицы).
Выходные параметры:
PerformanceIndex - номер колонки исполнения,
BlockIndex - указатель на структуру параметров библиотечной панели свойств.
Возвращаемое значение:
- Имя исполнения.
Метод позволяет получить имя исполнения, номер исполнения и номер блока по индексу исполнения.
```
Примечание:
1. Индекс исполнения начинается с единицы.
2. В групповой спецификации по варианту Б, созданной по сборке, у которой есть исполнения с непоследовательными номерами исполнений, часть колонок исполнений может быть отключена и отображаться будут только те исполнения, которые пришли из сборки. В такой спецификации в одной строке объекта спецификации могут отображаться исполнения и количество из нескольких блоков.
3. В групповой спецификации по варианту A также могут быть непоследовательные номера исполнений, если спецификация создана по сборке.
4. Метод рекомендуется использовать вместо свойства ISpecificationDescription::PerformanceName.PerformanceIndex и BlockIndex позволяют сопоставить имя исполнения и значение количества в конкретной колонке количество объектов спецификации.
## GetSpecificationObjectsForGeom - По геометрии получить массив объектов спецификации в виде SAFEARRAY'я DISPATCH - VT_ARRAY | VT_DISPATCH или одиночный VT_DISPATCH
Синтаксис Automation:
```
VARIANT GetSpecificationObjectsForGeom( VARIANT PGeom, long SectionNumb, double AttrNumb );
```
Синтаксис COM:
```
HRESULT GetSpecificationObjectsForGeom( VARIANT PGeom, long SectionNumb, double AttrNumb, VARIANT * Result );
Входные параметры:
PGeom - массив SafeArray типа VT_ARRAY VT_DISPATCH объектов геометрии,
SectionNumb - номер раздела объектов СП,
AttrNumb - номер типа атрибута объектов СП или 0.
Возвращаемое значение:
- Массив SafeArray типа VT_ARRAY VT_DISPATCH объектов спецификации.
Версия Компас v23
```
## LayoutName - Имя файла библиотеки стилей
Тип данных: BSTR
Синтаксис Automation:
```
LayoutName = iObject.LayoutName Получить свойство (* )
iObject.LayoutName = LayoutName Установить свойство (* )
LayoutName = iObject.GetLayoutName() Получить свойство (**)
iObject.SetLayoutName (LayoutName) Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_LayoutName (&LayoutName) Получить свойство
iObject->put_LayoutName (LayoutName) Установить свойство
```
Примечание:
1. Свойство позволяет получить и установить имя библиотеки стилей, из которой будет взят стиль спецификации для данного описания.
2. После изменения параметров оформления нужно вызвать метод Update, чтобы новые данные вступили в силу.
## NeedRebuild - Необходимость перестроения спецификации
Тип данных: BOOL
Синтаксис Automation:
```
NeedRebuild = Object.NeedRebuild Получить свойство (* )
Object.NeedRebuild = NeedRebuild Установить свойство (* )
NeedRebuild = Object.GetNeedRebuild() Получить свойство (**)
Object.SetNeedRebuild (NeedRebuild) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_NeedRebuild( &NeedRebuild ) Получить свойство
Object.put_NeedRebuild( NeedRebuild ) Установить свойство
```
Примечание:
1. Свойство позволяет временно отключить обновление окна документа спецификации из функций API при создании и изменении объектов спецификации. А также ускорить:
•создание и изменение большого количества объектов,
•работу функции изменения имен исполнений в групповых спецификациях.
2. При изменении объектов спецификации можно воспользоваться свойством ISpecificationDescription::PerformanceName или методом ISpecificationObject::Update.
## Objects - Объекты спецификации
Тип данных: VARIANT
Синтаксис Automation:
```
Objects = iObject.Objects Получить свойство (* )
Objects = iObject.GetObjects() Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Objects (&Objects) Получить свойство
```
Примечание:
1. Свойство позволяет получить полный список объектов спецификации. Порядок и состав списка соответствует визуальному отображению данного описания спецификации.
2. Свойство возвращает переменную типа VARIANT на безопасный массив интерфейсов SAFEARRAY (VT_ARRAY | VT_DISPATCH). Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.
3. Свойство доступно только для чтения.
## PerformanceCount - Количество исполнений
Тип данных: long
Синтаксис Automation:
```
PerformanceCount = Object. PerformanceCount Получить свойство (* )
Object. PerformanceCount = PerformanceCount Установить свойство (* )
PerformanceCount = Object.Get PerformanceCount() Получить свойство (**)
Object.Set PerformanceCount ( PerformanceCount) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ PerformanceCount( & PerformanceCount ) Получить свойство
Object.put_ PerformanceCount( PerformanceCount ) Установить свойство
```
## PerformanceCountInBlock - Количество исполнений в блоке
Тип данных: long
Синтаксис Automation:
```
PerformanceCountInBlock = Object.PerformanceCountInBlock Получить свойство (* )
PerformanceCountInBlock = Object.GetPerformanceCountInBlock() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_PerformanceCountInBlock( &PerformanceCountInBlock ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
## PerformanceName - Отображаемое имя исполнения
Тип данных: BSTR
Синтаксис Automation:
```
PerformanceName = iObject.PerformanceName( PerformanceIndex, BlockIndex ) Получить свойство (* )
iObject.PerformanceName( PerformanceIndex, BlockIndex ) = PerformanceName Установить свойство (* )
PerformanceName = iObject.GetPerformanceName( PerformanceIndex, BlockIndex ) Получить свойство (**)
iObject.SetPerformanceName( PerformanceIndex, BlockIndex, PerformanceName ) Установить свойство (**)
```
Синтаксис COM:
```
iObject.get_PerformanceName( PerformanceIndex, BlockIndex, &PerformanceName ) Получить свойство
iObject.put_PerformanceName( PerformanceIndex, BlockIndex, PerformanceName ) Установить свойство
Входные параметры:
PerformanceIndex - номер колонки типа "количество", начиная с 1(актуально для СП по варианту Б),
BlockIndex - номер блока, начиная с 0 (актуально для СП по варианту A).
```
Примечание:
1. В текст обозначения исполнения, которое редактируется, нужно включать разделитель.
2. Для получения имен исполнений рекомендуется использовать метод ISpecificationDescription::GetPerformanceParam.
3. Для ускорения работы функции при массовом изменении спецификации рекомендуется воспользоваться методом ISpecificationDescription::NeedRebuild.
## SheetSpecification - Спецификация или таблица изменений на листе
Тип данных: Указатель на интерфейс ISheetSpecification
Синтаксис Automation:
```
SheetSpecification = Object.SheetSpecification Получить свойство (* )
SheetSpecification = Object.GetSheetSpecification() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_SheetSpecification( &SheetSpecification ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
КOMPAS v24
## ShowAllObjects - Показывать все объекты
Тип данных: BOOL
Синтаксис Automation:
```
ShowAllObjects = iObject.ShowAllObjects Получить свойство (* )
iObject.ShowAllObjects = ShowAllObjects Установить свойство (* )
ShowAllObjects = iObject.GetShowAllObjects() Получить свойство (**)
iObject.SetShowAllObjects (ShowAllObjects) Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShowAllObjects (&ShowAllObjects) Получить свойство
iObject->put_ShowAllObjects ( ShowAllObjects) Установить свойство
Значения свойства:
TRUE - отображаются все объекты в описании,
FALSE - одинаковые объекты отображаются одной строкой, а в колонке количество отображается.
```
Примечание:
Свойство позволяет получить или установить состояние режима работы, в котором на экране отображаются все объекты спецификации, в том числе базовые объекты спецификации, имеющие одинаковую текстовую часть, а также базовые объекты спецификации, в настройках дополнительных параметров которых выключена опция показа объекта в таблице.
Одинаковые объекты могут иметь одинаковые или разные номера позиций, могут находиться в соседних строках или в разных местах таблицы (в пределах одного раздела спецификации). Если объекты с одинаковой текстовой частью находятся в разных разделах спецификации, то они считаются разными.
## ShowExcludedObjects - Показывать только исключенные объекты
Тип данных: BOOL
Синтаксис Automation:
```
ShowExcludedObjects = Object.ShowExcludedObjects Получить свойство (* )
Object.ShowExcludedObjects = ShowExcludedObjects Установить свойство (* )
Object.SetShowExcludedObjects( ShowExcludedObjects ) Получить свойство (**)
iObject.SetShowOnSheet (ShowOnSheet) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ShowExcludedObjects( &ShowExcludedObjects ) Получить свойство
Object.put_ShowExcludedObjects( ShowExcludedObjects ) Установить свойство
```
## ShowOnSheet - Показывать на листе
Тип данных: BOOL
Синтаксис Automation:
```
ShowOnSheet = iObject.ShowOnSheet Получить свойство (* )
iObject.ShowOnSheet = ShowOnSheet Установить свойство (* )
ShowOnSheet = iObject.GetShowOnSheet() Получить свойство (**)
iObject.SetShowOnSheet (ShowOnSheet) Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShowOnSheet (&ShowOnSheet) Получить свойство
iObject->put_ShowOnSheet (ShowOnSheet) Установить свойство
Значения свойства:
TRUE - описание отображается на чертеже,
FALSE - описание не отображается на чертеже.
```
Примечание:
1. Свойство позволяет отобразить или скрыть спецификацию в чертеже.
2. Свойство работает только в чертеже.
## SpecificationDocumentName - Имя подключенного файла документа спецификации
Тип данных: BSTR
Синтаксис Automation:
```
DocumentName = iObject.SpecificationDocumentName Получить свойство (* )
iObject.SpecificationDocumentName = DocumentName Установить свойство (* )
DocumentName = iObject.GetSpecificationDocumentName() Получить свойство (**)
iObject.SetSpecificationDocumentName (DocumentName) Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_SpecificationDocumentName (&DocumentName) Получить свойство
iObject->put_SpecificationDocumentName (DocumentName) Установить свойство
```
Примечание:
1. Свойство позволяет получить и установить полное имя файла документа спецификации подключенной к данному чертежу или сборке. Доступно только для чертежа или сборки.
2. После изменения параметров оформления нужно вызвать метод Update, чтобы новые данные вступили в силу.
## SpecificationStyle - Стиль спецификации
Тип данных: указатель на интерфейс ISpecificationStyle cтиля спецификации
Синтаксис Automation:
```
Style = iObject.SpecificationStyle Получить свойство (* )
Style = iObject.GetSpecificationStyle() Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_SpecificationStyle( &Style ) Получить свойство
```
Примечание:
1. Полученный интерфейс отражает содержимое стиля в библиотеке стилей для данного описания на момент получения и в дальнейшем не отслеживает изменений в библиотеке стилей.
2. Свойство доступно только для чтения.
## SpecificationTuning - Настройки спецификации
Тип данных: указатель на интерфейс ISpecificationTuning настроек спецификации
Синтаксис Automation:
```
SpecificationTuning = iObject.SpecificationTuning Получить свойство (* )
SpecificationTuning = iObject.GetSpecificationTuning() Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_SpecificationTuning (&SpecificationTuning) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
## StyleID - Номер стиля в библиотеке стилей
Тип данных: long
Синтаксис Automation:
```
StyleID = iObject.StyleID Получить свойство (* )
iObject.StyleID = StyleID Установить свойство (* )
StyleID = iObject.GetStyleID() Получить свойство (**)
iObject.SetStyleID (StyleID) Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_StyleID (&StyleID) Получить свойство
iObject->put_StyleID (StyleID) Установить свойство
```
Примечание:
1. Свойство позволяет получить и установить номер стиля в библиотеке стилей, из которой будет взят стиль спецификации для данного описания (см. LayoutName).
2. После изменения параметров оформления нужно вызвать метод Update, чтобы новые данные вступили в силу.
## Update - Изменить описание
Синтаксис Automation:
```
BOOL Update();
```
Синтаксис COM:
```
HRESULT Update ([out, retval] BOOL* Result);
```
Примечание:
Метод устанавливает новые параметры для описания спецификации.