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>
16 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Интерфейс ISpecificationObject | interface |
|
|
|
*API интерфейсов. Версия 7 > Работа со спецификацией *
Интерфейс ISpecificationObject
Интерфейс объекта спецификации. Иерархия: IKompasAPIObject ISpecificationObject Описание: Различаются несколько типов объектов спецификации (см. ksSpecificationObjectTypeEnum). Данный интерфейс позволяет получить общие параметры для объектов спецификации и изменить общие параметры для базовых и вспомогательных объектов спецификации. Примечание:
- После изменения параметров объекта спецификации требуется вызвать метод ISpecificationObject::Update.
- Данный интерфейс можно получить у базового 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) Установить свойство
Примечание:
- Свойство доступно только для базового и вспомогательного объекта спецификации.
- Изменение этого свойства вступит в силу после вызова метода 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) Установить свойство
Примечание:
- Свойство доступно только для базового и вспомогательного объекта спецификации.
- Изменение этого свойства вступит в силу после вызова метода ISpecificationObject::Update.
AttachedDocuments - Присоединенные документы
Тип данных: указатель на интерфейс IAttachedDocuments коллекции присоединенных документов Синтаксис Automation:
AttachedDocuments = iObject.AttachedDocuments Получить свойство (* )
AttachedDocuments = iObject.GetAttachedDocuments() Получить свойство (**)
Синтаксис COM:
iObject->get_AttachedDocuments (&AttachedDocuments) Получить свойство
Примечание:
- Получить коллекцию можно только для базовых и вспомогательных объектов спецификации, если в стиле для заданного раздела установлен признак ручное заполнение или чтение из основной надписи.
- Свойство доступно только для чтения.
BlockNumberByIndex - Номер блока
Тип данных: long Синтаксис Automation:
BlockNumber = iObject.BlockNumberByIndex (index) Получить свойство (* )
BlockNumber = iObject.GetBlockNumberByIndex (index) Получить свойство (**)
Синтаксис COM:
iObject->get_BlockNumberByIndex (index, &BlockNumber) Получить свойство
Входные параметры:
index - индекс объекта в общем массиве объектов спецификации.
Примечание:
- Свойство позволяет получить номер блока объекта спецификации.
- Один и тот же базовый объект спецификации может быть вставлен в спецификации несколько раз в нескольких блоках.
- Свойство доступно только для чтения.
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 - объект спецификации разместить после предыдущего.
Примечание:
- Свойство доступно только для базового и вспомогательного объекта спецификации.
- Изменение этого свойства вступит в силу после вызова метода 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 - номер позиции объекта совпадает с номером позиции предыдущего объекта.
Примечание:
- Свойство доступно только для базового и вспомогательного объекта спецификации.
- Изменение этого свойства вступит в силу после вызова метода 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) Установить свойство
Примечание:
- Свойство доступно только для базового и вспомогательного объекта спецификации.
- Изменение этого свойства вступит в силу после вызова метода 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) Установить свойство
Примечание:
- Свойство доступно только для базового и вспомогательного объекта спецификации.
- Изменение этого свойства вступит в силу после вызова метода 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) Получить свойство
Примечание:
- При создании базового или вспомогательного объекта спецификации номер раздела передается в метод Add. Переместить уже созданные объекты из одного раздела в другой нельзя.
- Свойство доступно только для чтения.
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) Установить свойство
Примечание:
- Свойство доступно только для базового и вспомогательного объекта спецификации.
- Изменение этого свойства вступит в силу после вызова метода 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.