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

20 KiB
Raw Permalink Blame History

title, type, api, tags, sources
title type api tags sources
Интерфейс ISpecificationBaseObject interface
api7
interface
api7
ispecificationbaseobject
ispecificationbaseobject.html

*API интерфейсов. Версия 7 > Работа со спецификацией *

Интерфейс ISpecificationBaseObject

Интерфейс базового объекта спецификации. Иерархия: IKompasAPIObject ISpecificationObject ISpecificationBaseObject Описание: Интерфейс позволяет получить и изменить параметры для базовых объектов спецификации. Для базовых объектов предусмотрена возможность автоматического заполнения колонок, сортировки, подключения графических объектов из сборочного чертежа, подключения деталей из сборки и т.д. Примечание:

  1. После изменения параметров объекта спецификации требуется вызвать метод ISpecificationObject::Update.
  2. Данный интерфейс можно получить у коллекции базовых объектов спецификации ISpecificationBaseObjects.

AttributeNumber - Номер типа атрибута

Тип данных: double Синтаксис Automation:

AttributeNumber = iObject.AttributeNumber    Получить свойство (* )
iObject.AttributeNumber = AttributeNumber    Установить свойство (* )
AttributeNumber = iObject.GetAttributeNumber()    Получить свойство (**)
iObject.SetAttributeNumber( AttributeNumber )    Установить свойство (**)

Синтаксис COM:

iObject->get_AttributeNumber( &AttributeNumber )    Получить свойство
iObject->put_AttributeNumber( AttributeNumber )    Установить свойство

Примечание: Позволяет получить используемый тип атрибута для колонки с типом значения ksValueTypeRecord ISpecificationColumn::ValueType, и установить новый. Если требуется просто удалить тип атрибута, то в качестве значения этого свойства надо присвоить 0. В этом случае значение колонки с типом ksValueTypeRecord будет аналогично типу ksValueTypeString. Изменение этого свойства вступит в силу после вызова метода ISpecificationObject::Update.

ClearGeometry - Очистить геометрию объекта спецификации

Синтаксис Automation:

BOOL ClearGeometry( BOOL ClearGeometry, BOOL ClearLeaders );

Синтаксис COM:

HRESULT ClearGeometry( BOOL ClearGeometry, BOOL ClearLeaders, BOOL * Result );
Входные параметры:
ClearGeometry    - очистить геометрию,
ClearLeaders    - очистить линии выноски.
Возвращаемое значение:
TRUE    - в случае удачного завершения.

CommentObjects - Вспомогательные объекты, прикрепленные к объекту

Тип данных: Указатель на интерфейс ISpecificationCommentObjects коллекции вспомогательных объектов спецификации Синтаксис Automation:

CommentObjects = iObject.CommentObjects    Получить свойство (* )
CommentObjects = iObject.GetCommentObjects()    Получить свойство (**)

Синтаксис COM:

iObject->get_CommentObjects( &CommentObjects )    Получить свойство

Примечание: Свойство доступно только для чтения.

Documents - Документы, связанные с объектом спецификации

Тип данных: VARIANT Синтаксис Automation:

Documents = iObject.Documents    Получить свойство (* )
Documents = iObject.GetDocuments()    Получить свойство (**)

Синтаксис COM:

iObject->get_Documents( &Documents )    Получить свойство

Примечание:

  1. Связанными документами являются документы, в которых находится геометрия, подключенная к данному объекту, поэтому список связанных с объектом спецификации документов можно получить только для объектов в документе спецификации, в остальных документах геометрию можно подключить только из этого же документа.
  2. Свойство возвращает переменную типа VARIANT на безопасный массив имен файлов, связанных с объектом спецификации SAFEARRAY (VT_ARRAY | VT_BSTR).
  3. Свойство доступно только для чтения.

Draw - Показывать объект

Тип данных: BOOL Синтаксис Automation:

Draw = iObject.Draw    Получить свойство (* )
iObject.Draw = Draw    Установить свойство (* )
Draw = iObject.GetDraw()    Получить свойство (**)
iObject.SetDraw( Draw )    Установить свойство (**)

Синтаксис COM:

iObject->get_Draw( &Draw )    Получить свойство
iObject->put_Draw( Draw )    Установить свойство
Значения свойства:
TRUE    - объект виден в таблице спецификации в любом режиме работы с ней,
FALSE    - показывать объект в таблице спецификации не нужно; при этом объект не удаляется (он по-прежнему участвует в расчете номеров позиций).

Примечание: Свойство позволяет скрыть объект спецификации.

DrawPosition - Показывать позицию

Тип данных: BOOL Синтаксис Automation:

DrawPosition = iObject.DrawPosition    Получить свойство (* )
iObject.DrawPosition = DrawPosition    Установить свойство (* )
DrawPosition = iObject.GetDrawPosition()    Получить свойство (**)
iObject.SetDrawPosition( DrawPosition )    Установить свойство (**)

Синтаксис COM:

iObject->get_DrawPosition( &DrawPosition )    Получить свойство
iObject->put_DrawPosition( DrawPosition )    Установить свойство
Значения свойства:
TRUE    - в колонке "Позиция" объекта отображается ее содержимое,
FALSE    - колонка "Позиция" будет показываться пустой.

Примечание: Свойство позволяет скрыть номер позиции объекта в спецификации.

EditSourceObject - Передавать изменения в документ - владелец объекта

Тип данных: BOOL Синтаксис Automation:

EditSourceObject = Object.EditSourceObject    Получить свойство (* )
Object.EditSourceObject = EditSourceObject    Установить свойство (* )
EditSourceObject = Object.GetEditSourceObject()    Получить свойство (**)
Object.SetEditSourceObject( EditSourceObject )    Установить свойство (**)

Синтаксис COM:

Object.get_EditSourceObject( &EditSourceObject )    Получить свойство
Object.put_EditSourceObject( EditSourceObject )    Установить свойство

FillNameByMaterial - Синхронизировать наименование с материалом

Тип данных: BOOL Синтаксис Automation:

FillNameByMaterial = Object.FillNameByMaterial    Получить свойство (* )
Object.FillNameByMaterial = FillNameByMaterial    Установить свойство (* )
FillNameByMaterial = Object.GetFillNameByMaterial()    Получить свойство(**)
Object.SetFillNameByMaterial( FillNameByMaterial )    Установить свойство (**)

Синтаксис COM:

Object.get_FillNameByMaterial( &FillNameByMaterial )    Получить свойство
Object.put_FillNameByMaterial( FillNameByMaterial )    Установить свойство

Geometry - Геометрия объекта спецификации

Тип данных: VARIANT Значения свойства: | Массив SafeArray типа VT_ARRAY | VT_DISPATCH | | | --- | --- | Синтаксис Automation:

Geometry = iObject.Geometry    Получить свойство (* )
iObject.Geometry = Geometry    Установить свойство (* )
Geometry = iObject.GetGeometry()    Получить свойство (**)
iObject.SetGeometry(Geometry)    Установить свойство (**)

Синтаксис COM:

iObject->get_Geometry(&Geometry)    Получить свойство
iObject->put_Geometry(Geometry)    Установить свойство

Примечание: У базового объекта СП может быть установлена геометрия, которая ассоциируется с данным объектом. Для 2D документа это массив IDrawingObject. Для 3D документа это массив объектов: •IPart7(может быть один компонент), •IBody7 (тела верхнего уровня сборки), •IPositionLeader ( обозначения позиций верхнего уровня сборки). •Получить можно всегда массив объектов. Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH. •Установить можно как массив, так и одиночный объект. При установке геометрии старая геометрия очищается. При установке геометрии используется текущее значение флага ISpecificationBaseObject::SyncronizeWithProperties. Версия: Компас v20

IncludeGeometry - Добавить геометрию к объекту спецификации

Синтаксис Automation:

BOOL IncludeGeometry( VARIANT PVal, BOOL FillText );

Синтаксис COM:

HRESULT IncludeGeometry( VARIANT PVal, BOOL FillText, BOOL * Result );
Входные параметры:
PVal    - Объект VT_DISPATCH или список объектов VT_ARRAY    VT_DISPATCH,
FillText    - признак автоматического заполнения колонок: наименование, обозначение, масса взяты из свойств объекта.
Возвращаемое значение:
TRUE    - в случае удачного завершения.

Примечание: Если при подключении компонента присылается флаг fillTexts = true, в объекте спецификации взводится флаг ISpecificationBaseObject::SyncronizeWithProperties.

IsFirstObject - TRUE - первый одинаковый объект, FALSE - последующие одинаковые объекты

Тип данных: BOOL Синтаксис Automation:

IsFirstObject = Object.IsFirstObject    Получить свойство (* )
IsFirstObject = Object.GetIsFirstObject()    Получить свойство (**)

Синтаксис COM:

Object.get_IsFirstObject( &IsFirstObject )    Получить свойство (* )

Примечание: Свойство доступно только для чтения. Версия: Компас v20

IsGroupObject - Признак группового объекта спецификации

Тип данных: BOOL Синтаксис Automation:

IsGroupObject = Object.IsGroupObject    Получить свойство (* )
IsGroupObject = Object.GetIsGroupObject()    Получить свойство (**)

Синтаксис COM:

Object.get_IsGroupObject( &IsGroupObject )    Получить свойство (* )

Примечание: Свойство доступно только для чтения. Версия КОМПАС v22

Performance - Объект является исполнением

Тип данных: BOOL Синтаксис Automation:

Performance = iObject.Performance    Получить свойство (* )
iObject.Performance = Performance    Установить свойство (* )
Performance = iObject.GetPerformance()    Получить свойство (**)
iObject.SetPerformance( Performance )    Установить свойство (**)

Синтаксис COM:

iObject->get_Performance( &Performance )    Получить свойство
iObject->put_Performance( Performance )    Установить свойство
Значения свойства:
TRUE    - Объект является исполнением,
FALSE    - Объект не является исполнением.

Примечание: Объекты спецификации, являющиеся исполнением, отличаются от простого объекта наличием суффикса исполнения. Их обозначение должно заканчиваться суффиксом с номером исполнения. Например: -02, -03, -10. Отображение объектов, являющимися исполнениями зависит от настроек стиля спецификации.

SetMaterial - Установить материал в объект спецификации и связанный с ним документ

Синтаксис Automation:

BOOL SetMaterial( BSTR Material, double Density );

Синтаксис COM:

HRESULT SetMaterial( BSTR Material, double Density, BOOL * Result );
Входные параметры:
Material    - материал,
Density    - плотность.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.

SetSection - Установить номер раздела

Синтаксис Automation:

BOOL SetSection( long Val );

Синтаксис COM:

HRESULT SetSection( long Val, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Val    - номер раздела.

Примечание: Задаваемый номер раздела должен присутствовать в данной спецификации. Узнавать текущий номер раздела объекта надо у базового интерфейса ISpecificationObject.

SpcUsed - Признаки использования в спецификации

Тип данных: BOOL Синтаксис Automation:

SpcUsed = Object.SpcUsed(SpcUsedType)    Получить свойство (* )
Object.SpcUsed(SpcUsedType) = SpcUsed    Установить свойство (* )
SpcUsed = Object.GetSpcUsed(SpcUsedType)    Получить свойство (**)
Object.SetSpcUsed( SpcUsedType, SpcUsed )    Установить свойство (**)

Синтаксис COM:

Object.get_SpcUsed( SpcUsedType, &SpcUsed )    Получить свойство
Object.put_SpcUsed( SpcUsedType, SpcUsed )    Установить свойство
Входные параметры:
SpcUsedType    - Признаки использования в спецификации из перечисления ksSpcUsedTypeEnum.

SummaryCount - Суммарное количество для исполнения

Тип данных: double Синтаксис Automation:

SummaryCount = iObject.SummaryCount( ColumnTypeNumber, BlockNumber )    Получить свойство (* )
SummaryCount = iObject.GetSummaryCount( ColumnTypeNumber, BlockNumber )    Получить свойство (**)

Синтаксис COM:

iObject->get_SummaryCount( ColumnTypeNumber, BlockNumber, &SummaryCount )    Получить свойство
Входные параметры:
ColumnTypeNumber    - номер колонки данного типа,
BlockNumber    - номер блока исполнений.

Примечание:

  1. Свойство доступно только для чтения.
  2. Данное свойство возвращает суммарное значение в колонке "Количество" указанного номера колонки для одинаковых объектов указанного блока исполнений.

SummaryCountText - Суммарное количество для исполнения

Тип данных: Указатель на интерфейс IText Синтаксис Automation:

SummaryCountText = Object.TemplatePath( ColumnTypeNumber, BlockNumber )    Получить свойство (* )
SummaryCountText = Object.GetSummaryCountText( ColumnTypeNumber, BlockNumber )    Получить свойство (**)

Синтаксис COM:

Object.get_SummaryCountText( DocumentType, DocumentTypeId, &SummaryCountText )    Получить свойство
Входные параметры:
ColumnTypeNumber    - номер колонки количество,
BlockNumber    - номер блока исполнений.

Примечание: •В разных разделах количество может иметь различный тип. •В разделе Детали, стандартные изделия, например, имеют целочисленное значение. При объединении нескольких объектов спецификации в этом случае количество суммируется. •В разделе Материал количество строковое, и текст возвращается с объекта, у которого задано не пустое значение. •В разделе Документация также формируется объединенное значение. В отличие от ISpecificationBaseObject::SummaryCount метод может вернуть не пустое значение для строковых колонок.

SyncronizeWithProperties - Брать данные из свойств и передавать данные в свойства объекта

Тип данных: BOOL Синтаксис Automation:

SyncronizeWithProperties = Object.SyncronizeWithProperties    Получить свойство (* )
Object.SyncronizeWithProperties = SyncronizeWithProperties    Установить свойство (* )
SyncronizeWithProperties = Object.GetSyncronizeWithProperties()    Получить свойство (**)
Object.SetSyncronizeWithProperties( SyncronizeWithProperties )    Установить свойство (**)

Синтаксис COM:

Object.get_SyncronizeWithProperties( &SyncronizeWithProperties )    Получить свойство
Object.put_SyncronizeWithProperties( SyncronizeWithProperties )    Установить свойство

UniqueMetaObjectKey - Уникальный идентификатор объекта

Тип данных: BOOL Синтаксис Automation:

UniqueMetaObjectKey = Object.UniqueMetaObjectKey    Получить свойство (* )
UniqueMetaObjectKey = Object.GetUniqueMetaObjectKey()    Получить свойство (**)

Синтаксис COM:

Object.get_UniqueMetaObjectKey( &UniqueMetaObjectKey )    Получить свойство

Примечание Свойство доступно только для чтения