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

413 lines
20 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: "Интерфейс ISpecificationBaseObject"
type: interface
api: [api7]
tags: [interface, api7, ispecificationbaseobject]
sources:
- 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 ) Получить свойство
```
Примечание
Свойство доступно только для чтения