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>
20 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Интерфейс ISpecificationBaseObject | interface |
|
|
|
*API интерфейсов. Версия 7 > Работа со спецификацией *
Интерфейс ISpecificationBaseObject
Интерфейс базового объекта спецификации. Иерархия: IKompasAPIObject ISpecificationObject ISpecificationBaseObject Описание: Интерфейс позволяет получить и изменить параметры для базовых объектов спецификации. Для базовых объектов предусмотрена возможность автоматического заполнения колонок, сортировки, подключения графических объектов из сборочного чертежа, подключения деталей из сборки и т.д. Примечание:
- После изменения параметров объекта спецификации требуется вызвать метод ISpecificationObject::Update.
- Данный интерфейс можно получить у коллекции базовых объектов спецификации 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 ) Получить свойство
Примечание:
- Связанными документами являются документы, в которых находится геометрия, подключенная к данному объекту, поэтому список связанных с объектом спецификации документов можно получить только для объектов в документе спецификации, в остальных документах геометрию можно подключить только из этого же документа.
- Свойство возвращает переменную типа VARIANT на безопасный массив имен файлов, связанных с объектом спецификации SAFEARRAY (VT_ARRAY | VT_BSTR).
- Свойство доступно только для чтения.
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 - номер блока исполнений.
Примечание:
- Свойство доступно только для чтения.
- Данное свойство возвращает суммарное значение в колонке "Количество" указанного номера колонки для одинаковых объектов указанного блока исполнений.
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 ) Получить свойство
Примечание Свойство доступно только для чтения