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>
351 lines
16 KiB
Markdown
351 lines
16 KiB
Markdown
---
|
|
title: "Интерфейс ISpecificationObject"
|
|
type: interface
|
|
api: [api7]
|
|
tags: [interface, api7, ispecificationobject]
|
|
sources:
|
|
- ispecificationobject.html
|
|
---
|
|
|
|
*API интерфейсов. Версия 7 > Работа со спецификацией *
|
|
|
|
|
|
## Интерфейс ISpecificationObject
|
|
|
|
Интерфейс объекта спецификации.
|
|
Иерархия:
|
|
IKompasAPIObject
|
|
ISpecificationObject
|
|
Описание:
|
|
Различаются несколько типов объектов спецификации (см. ksSpecificationObjectTypeEnum). Данный интерфейс позволяет получить общие параметры для объектов спецификации и изменить общие параметры для базовых и вспомогательных объектов спецификации.
|
|
Примечание:
|
|
1. После изменения параметров объекта спецификации требуется вызвать метод ISpecificationObject::Update.
|
|
2. Данный интерфейс можно получить у базового ISpecificationBaseObject и вспомогательного ISpecificationCommentObject объектов спецификации и через безопасный массив ISpecificationDescription::Objects для остальных типов объектов спецификации.
|
|
|
|
|
|
## AdditionalBlock - Номер блока дополнительных разделов
|
|
|
|
Тип данных: long
|
|
Синтаксис Automation:
|
|
```
|
|
AdditionalBlock = iObject.AdditionalBlock Получить свойство (* )
|
|
iObject.AdditionalBlock = AdditionalBlock Установить свойство (* )
|
|
AdditionalBlock = iObject.GetAdditionalBlock() Получить свойство (**)
|
|
iObject.SetAdditionalBlock (AdditionalBlock) Установить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_AdditionalBlock (&AdditionalBlock) Получить свойство
|
|
iObject->put_AdditionalBlock (AdditionalBlock) Установить свойство
|
|
```
|
|
Примечание:
|
|
1. Свойство доступно только для базового и вспомогательного объекта спецификации.
|
|
2. Изменение этого свойства вступит в силу после вызова метода ISpecificationObject::Update.
|
|
|
|
|
|
## AdditionalColumns - Дополнительные колонки
|
|
|
|
Тип данных: указатель на интерфейс ISpecificationColumns коллекции колонок объекта спецификации
|
|
Синтаксис Automation:
|
|
```
|
|
AdditionalColumns = iObject.AdditionalColumns Получить свойство (* )
|
|
AdditionalColumns = iObject.GetAdditionalColumns() Получить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_AdditionalColumns (&AdditionalColumns) Получить свойство
|
|
```
|
|
Примечание:
|
|
Свойство доступно только для чтения.
|
|
|
|
|
|
## AdditionalSection - Номер дополнительного раздела
|
|
|
|
Тип данных: long
|
|
Синтаксис Automation:
|
|
```
|
|
AdditionalSection = iObject.AdditionalSection Получить свойство (* )
|
|
iObject.AdditionalSection = AdditionalSection Установить свойство (* )
|
|
AdditionalSection = iObject.GetAdditionalSection() Получить свойство (**)
|
|
iObject.SetAdditionalSection (AdditionalSection) Установить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_AdditionalSection (&AdditionalSection) Получить свойство
|
|
iObject->put_AdditionalSection (AdditionalSection) Установить свойство
|
|
```
|
|
Примечание:
|
|
1. Свойство доступно только для базового и вспомогательного объекта спецификации.
|
|
2. Изменение этого свойства вступит в силу после вызова метода ISpecificationObject::Update.
|
|
|
|
|
|
## AttachedDocuments - Присоединенные документы
|
|
|
|
Тип данных: указатель на интерфейс IAttachedDocuments коллекции присоединенных документов
|
|
Синтаксис Automation:
|
|
```
|
|
AttachedDocuments = iObject.AttachedDocuments Получить свойство (* )
|
|
AttachedDocuments = iObject.GetAttachedDocuments() Получить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_AttachedDocuments (&AttachedDocuments) Получить свойство
|
|
```
|
|
Примечание:
|
|
1. Получить коллекцию можно только для базовых и вспомогательных объектов спецификации, если в стиле для заданного раздела установлен признак ручное заполнение или чтение из основной надписи.
|
|
2. Свойство доступно только для чтения.
|
|
|
|
|
|
## BlockNumberByIndex - Номер блока
|
|
|
|
Тип данных: long
|
|
Синтаксис Automation:
|
|
```
|
|
BlockNumber = iObject.BlockNumberByIndex (index) Получить свойство (* )
|
|
BlockNumber = iObject.GetBlockNumberByIndex (index) Получить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_BlockNumberByIndex (index, &BlockNumber) Получить свойство
|
|
Входные параметры:
|
|
index - индекс объекта в общем массиве объектов спецификации.
|
|
```
|
|
Примечание:
|
|
1. Свойство позволяет получить номер блока объекта спецификации.
|
|
2. Один и тот же базовый объект спецификации может быть вставлен в спецификации несколько раз в нескольких блоках.
|
|
3. Свойство доступно только для чтения.
|
|
|
|
|
|
## Columns - Колонки объекта спецификации
|
|
|
|
Тип данных: указатель на интерфейс ISpecificationColumns коллекции колонок объекта спецификации
|
|
Синтаксис Automation:
|
|
```
|
|
Columns = iObject.Columns Получить свойство (* )
|
|
Columns = iObject.GetColumns() Получить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_Columns( &Columns ) Получить свойство
|
|
```
|
|
Примечание:
|
|
Свойство доступно только для чтения.
|
|
|
|
|
|
## Delete - Удалить объект
|
|
|
|
Синтаксис Automation:
|
|
```
|
|
BOOL Delete();
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
HRESULT Delete( [out, retval] BOOL* Result );
|
|
```
|
|
Примечание:
|
|
Метод позволяет удалить базовый или вспомогательный объект спецификации из документа и из коллекции.
|
|
|
|
|
|
## Edit - Редактировать объект
|
|
|
|
Синтаксис Automation:
|
|
```
|
|
BOOL Edit();
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
HRESULT Edit ([out, retval] BOOL* Result);
|
|
```
|
|
Примечание:
|
|
Метод позволяет запустить процесс визуального редактирования для базового или вспомогательного объекта спецификации.
|
|
|
|
|
|
## FirstOnSheet - Размещать объект в начале нового листа спецификации
|
|
|
|
Тип данных: BOOL
|
|
Синтаксис Automation:
|
|
```
|
|
FirstOnSheet = iObject.FirstOnSheet Получить свойство (* )
|
|
iObject.FirstOnSheet = FirstOnSheet Установить свойство (* )
|
|
FirstOnSheet = iObject.GetFirstOnSheet() Получить свойство (**)
|
|
iObject.SetFirstOnSheet (FirstOnSheet) Установить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_FirstOnSheet (&FirstOnSheet) Получить свойство
|
|
iObject->put_FirstOnSheet (FirstOnSheet) Установить свойство
|
|
Значения свойства:
|
|
TRUE - объект спецификации разместить в начале новой страницы спецификации,
|
|
FALSE - объект спецификации разместить после предыдущего.
|
|
```
|
|
Примечание:
|
|
1. Свойство доступно только для базового и вспомогательного объекта спецификации.
|
|
2. Изменение этого свойства вступит в силу после вызова метода ISpecificationObject::Update.
|
|
|
|
|
|
## IncrementPosition - Позиция объекта возрастает
|
|
|
|
Тип данных: BOOL
|
|
Синтаксис Automation:
|
|
```
|
|
IncrementPosition = iObject.IncrementPosition Получить свойство (* )
|
|
iObject.IncrementPosition = IncrementPosition Установить свойство (* )
|
|
IncrementPosition = iObject.GetIncrementPosition() Получить свойство (**)
|
|
iObject.SetIncrementPosition (IncrementPosition) Установить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_IncrementPosition (&IncrementPosition) Получить свойство
|
|
iObject->put_IncrementPosition (IncrementPosition) Установить свойство
|
|
Значения свойства:
|
|
TRUE - номер позиции объекта должен быть на единицу больше номера позиции предшествующего ему объекта,
|
|
FALSE - номер позиции объекта совпадает с номером позиции предыдущего объекта.
|
|
```
|
|
Примечание:
|
|
1. Свойство доступно только для базового и вспомогательного объекта спецификации.
|
|
2. Изменение этого свойства вступит в силу после вызова метода ISpecificationObject::Update.
|
|
|
|
|
|
## NestedBlock - Номер блока вложенных разделов
|
|
|
|
Тип данных: long
|
|
Синтаксис Automation:
|
|
```
|
|
NestedBlock = iObject.NestedBlock Получить свойство (* )
|
|
iObject.NestedBlock = NestedBlock Установить свойство (* )
|
|
NestedBlock = iObject.GetNestedBlock() Получить свойство (**)
|
|
iObject.SetNestedBlock (NestedBlock) Установить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_NestedBlock (&NestedBlock) Получить свойство
|
|
Object->put_NestedBlock (NestedBlock) Установить свойство
|
|
```
|
|
Примечание:
|
|
1. Свойство доступно только для базового и вспомогательного объекта спецификации.
|
|
2. Изменение этого свойства вступит в силу после вызова метода ISpecificationObject::Update.
|
|
|
|
|
|
## NestedSection - Номер вложенного раздела
|
|
|
|
Тип данных: long
|
|
Синтаксис Automation:
|
|
```
|
|
NestedSection = iObject.NestedSection Получить свойство (* )
|
|
iObject.NestedSection = NestedSection Установить свойство (* )
|
|
iObject.GetNestedSection() Получить свойство (**)
|
|
iObject.SetNestedSection (NestedSection) Установить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_NestedSection (&NestedSection) Получить свойство
|
|
iObject->put_NestedSection (NestedSection) Установить свойство
|
|
```
|
|
Примечание:
|
|
1. Свойство доступно только для базового и вспомогательного объекта спецификации.
|
|
2. Изменение этого свойства вступит в силу после вызова метода ISpecificationObject::Update.
|
|
|
|
|
|
## ObjectType - Тип объекта
|
|
|
|
Тип данных: из перечисления ksSpecificationObjectTypeEnum
|
|
Синтаксис Automation:
|
|
```
|
|
ObjectType = iObject.ObjectType Получить свойство (* )
|
|
ObjectType = iObject.GetObjectType() Получить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_ObjectType (&ObjectType) Получить свойство
|
|
```
|
|
Примечание:
|
|
Свойство доступно только для чтения.
|
|
|
|
|
|
## Section - Номер раздела
|
|
|
|
Тип данных: long
|
|
Синтаксис Automation:
|
|
```
|
|
Section = iObject.Section Получить свойство (* )
|
|
Section = iObject.GetSection() Получить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_Section (&Section) Получить свойство
|
|
```
|
|
Примечание:
|
|
1. При создании базового или вспомогательного объекта спецификации номер раздела передается в метод Add. Переместить уже созданные объекты из одного раздела в другой нельзя.
|
|
2. Свойство доступно только для чтения.
|
|
|
|
|
|
## State - Состояние объекта
|
|
|
|
Тип данных: из перечисления ksSpecificationObjectStateEnum
|
|
Синтаксис Automation:
|
|
```
|
|
State = iObject.State Получить свойство (* )
|
|
State = iObject.GetState() Получить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_State (&State) Получить свойство
|
|
Значения свойства:
|
|
ssIndependent - объект создан в данном документе,
|
|
ssFromInsert - объект пришел из вставки другого документа (фрагмента, детали или подсборки),
|
|
ssEdit - объект из вставки другого документа, но редактировался в данном документе.
|
|
```
|
|
Примечание:
|
|
Свойство доступно только для чтения.
|
|
|
|
|
|
## Subsection - Номер подраздела
|
|
|
|
Тип данных: long
|
|
Синтаксис Automation:
|
|
```
|
|
Subsection = iObject.Subsection Получить свойство (* )
|
|
iObject.Subsection = Subsection Установить свойство (* )
|
|
Subsection = iObject.GetSubsection() Получить свойство (**)
|
|
iObject.SetSubsection (Subsection) Установить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_Subsection (&Subsection) Получить свойство
|
|
iObject->put_Subsection (Subsection) Установить свойство
|
|
```
|
|
Примечание:
|
|
1. Свойство доступно только для базового и вспомогательного объекта спецификации.
|
|
2. Изменение этого свойства вступит в силу после вызова метода ISpecificationObject::Update.
|
|
|
|
|
|
## UniqueNumber - Уникальный номер, присваивается при создании
|
|
|
|
Тип данных: double
|
|
Синтаксис Automation:
|
|
```
|
|
UniqueNumber = iObject.UniqueNumber Получить свойство (* )
|
|
Objects = iObject.GetBaseObjects() Получить свойство (**)
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
iObject->get_UniqueNumber (&UniqueNumber) Получить свойство
|
|
```
|
|
Примечание:
|
|
Свойство доступно только для чтения.
|
|
|
|
|
|
## Update - Обновить данные
|
|
|
|
Синтаксис Automation:
|
|
```
|
|
BOOL Update();
|
|
```
|
|
Синтаксис COM:
|
|
```
|
|
HRESULT Update ([out, retval] BOOL* Result);
|
|
```
|
|
Примечание:
|
|
После изменения параметров объекта спецификации требуется вызвать данный метод, чтобы новые данные попали в модельный объект спецификации. Если объект спецификации еще не создан, метод Update создает объект спецификации в документе.
|
|
Для ускорения работы функции при массовом изменении спецификации рекомендуется воспользоваться методом ISpecificationDescription::NeedRebuild.
|