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

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.