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>
413 lines
20 KiB
Markdown
413 lines
20 KiB
Markdown
---
|
||
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 ) Получить свойство
|
||
```
|
||
Примечание
|
||
Свойство доступно только для чтения
|