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>
26 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Интерфейс ISpecificationDescription | interface |
|
|
|
*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 - описание неактивно.
Примечание:
- Свойство возвращает признак активности описания и позволяет сделать описание активным. Tо есть установить свойство можно только в TRUE.
- После изменения параметров оформления метод Update вызывать не требуется.
BaseObjects - Базовые объекты спецификации
Тип данных: указатель на интерфейс ISpecificationBaseObjects коллекции базовых объектов спецификации Синтаксис Automation:
Objects = iObject.BaseObjects Получить свойство (* )
Objects = iObject.GetBaseObjects() Получить свойство (**)
Синтаксис COM:
iObject->get_BaseObjects (&Objects) Получить свойство
Примечание:
- Свойство позволяет получить коллекцию базовых объектов спецификации.
- Свойство доступно только для чтения.
CommentObjects - Объекты спецификации - комментарии
Тип данных: указатель на интерфейс ISpecificationCommentObjects коллекции вспомогательных объектов спецификации Синтаксис Automation:
Objects = iObject.CommentObjects Получить свойство (* )
Objects = iObject.GetCommentObjects() Получить свойство (**)
Синтаксис COM:
iObject->get_CommentObjects (&Objects) Получить свойство
Примечание:
- Свойство позволяет получить коллекцию вспомогательных объектов спецификации.
- Свойство доступно только для чтения.
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) Установить свойство
Примечание:
- С помощью данного свойства можно получить и установить текущий объект спецификации.
- В графическом документе или документе-модели метод работает, если открыто окно спецификации в подчиненном режиме.
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 - указатель на структуру параметров библиотечной панели свойств.
Возвращаемое значение:
- Имя исполнения.
Метод позволяет получить имя исполнения, номер исполнения и номер блока по индексу исполнения.
Примечание:
- Индекс исполнения начинается с единицы.
- В групповой спецификации по варианту Б, созданной по сборке, у которой есть исполнения с непоследовательными номерами исполнений, часть колонок исполнений может быть отключена и отображаться будут только те исполнения, которые пришли из сборки. В такой спецификации в одной строке объекта спецификации могут отображаться исполнения и количество из нескольких блоков.
- В групповой спецификации по варианту A также могут быть непоследовательные номера исполнений, если спецификация создана по сборке.
- Метод рекомендуется использовать вместо свойства 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) Установить свойство
Примечание:
- Свойство позволяет получить и установить имя библиотеки стилей, из которой будет взят стиль спецификации для данного описания.
- После изменения параметров оформления нужно вызвать метод 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 ) Установить свойство
Примечание:
- Свойство позволяет временно отключить обновление окна документа спецификации из функций API при создании и изменении объектов спецификации. А также ускорить: •создание и изменение большого количества объектов, •работу функции изменения имен исполнений в групповых спецификациях.
- При изменении объектов спецификации можно воспользоваться свойством ISpecificationDescription::PerformanceName или методом ISpecificationObject::Update.
Objects - Объекты спецификации
Тип данных: VARIANT Синтаксис Automation:
Objects = iObject.Objects Получить свойство (* )
Objects = iObject.GetObjects() Получить свойство (**)
Синтаксис COM:
iObject->get_Objects (&Objects) Получить свойство
Примечание:
- Свойство позволяет получить полный список объектов спецификации. Порядок и состав списка соответствует визуальному отображению данного описания спецификации.
- Свойство возвращает переменную типа VARIANT на безопасный массив интерфейсов SAFEARRAY (VT_ARRAY | VT_DISPATCH). Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.
- Свойство доступно только для чтения.
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).
Примечание:
- В текст обозначения исполнения, которое редактируется, нужно включать разделитель.
- Для получения имен исполнений рекомендуется использовать метод ISpecificationDescription::GetPerformanceParam.
- Для ускорения работы функции при массовом изменении спецификации рекомендуется воспользоваться методом 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 - описание не отображается на чертеже.
Примечание:
- Свойство позволяет отобразить или скрыть спецификацию в чертеже.
- Свойство работает только в чертеже.
SpecificationDocumentName - Имя подключенного файла документа спецификации
Тип данных: BSTR Синтаксис Automation:
DocumentName = iObject.SpecificationDocumentName Получить свойство (* )
iObject.SpecificationDocumentName = DocumentName Установить свойство (* )
DocumentName = iObject.GetSpecificationDocumentName() Получить свойство (**)
iObject.SetSpecificationDocumentName (DocumentName) Установить свойство (**)
Синтаксис COM:
iObject->get_SpecificationDocumentName (&DocumentName) Получить свойство
iObject->put_SpecificationDocumentName (DocumentName) Установить свойство
Примечание:
- Свойство позволяет получить и установить полное имя файла документа спецификации подключенной к данному чертежу или сборке. Доступно только для чертежа или сборки.
- После изменения параметров оформления нужно вызвать метод Update, чтобы новые данные вступили в силу.
SpecificationStyle - Стиль спецификации
Тип данных: указатель на интерфейс ISpecificationStyle cтиля спецификации Синтаксис Automation:
Style = iObject.SpecificationStyle Получить свойство (* )
Style = iObject.GetSpecificationStyle() Получить свойство (**)
Синтаксис COM:
iObject->get_SpecificationStyle( &Style ) Получить свойство
Примечание:
- Полученный интерфейс отражает содержимое стиля в библиотеке стилей для данного описания на момент получения и в дальнейшем не отслеживает изменений в библиотеке стилей.
- Свойство доступно только для чтения.
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) Установить свойство
Примечание:
- Свойство позволяет получить и установить номер стиля в библиотеке стилей, из которой будет взят стиль спецификации для данного описания (см. LayoutName).
- После изменения параметров оформления нужно вызвать метод Update, чтобы новые данные вступили в силу.
Update - Изменить описание
Синтаксис Automation:
BOOL Update();
Синтаксис COM:
HRESULT Update ([out, retval] BOOL* Result);
Примечание: Метод устанавливает новые параметры для описания спецификации.