Files
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

16 KiB

title, type, api, tags, sources
title type api tags sources
Интерфейс ISpecificationObject interface
api7
interface
api7
ispecificationobject
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.