Files
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

26 KiB
Raw Permalink Blame History

title, type, api, tags, sources
title type api tags sources
Интерфейс ISpecificationDescription interface
api7
interface
api7
ispecificationdescription
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);

Примечание: Метод устанавливает новые параметры для описания спецификации.