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>
479 lines
26 KiB
Markdown
479 lines
26 KiB
Markdown
---
|
||
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);
|
||
```
|
||
Примечание:
|
||
Метод устанавливает новые параметры для описания спецификации.
|