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

24 KiB
Raw Blame History

title, type, api, domain, tags, sources
title type api domain tags sources
Интерфейс ksDrawingObjectNotify/IDrawingObjectNotify interface
api7
drawing
interface
api7
drawing
ksdrawingobjectnotify
ksdrawingobjectnotify.html

*API интерфейсов. Версия 7 > Интерфейсы событий *

Интерфейс ksDrawingObjectNotify/IDrawingObjectNotify

ksDrawingObjectNotify - интерфейс Automation
Интерфейс событий для графического объекта.
Позволяет контролировать состояние объектов графического документа.
В Automation источником событий для подписки на данный интерфейс являются объекты IDrawingObject - базового интерфейса для графических объектов (события генерируются только для этого объекта) или коллекции объектов 2D IDrawingObjects (события генерируются для всех объектов данной коллекции).
Для получения указателей на документ и объект можно использовать свойство IKompasAPIObject::Reference.
В API5 аналогом является интерфейс событий объектов графических документов ksObject2DNotify, поэтому перечисления событий совпадают с перечислением событий для объектов графических документов KsObject2DNotifyEnum.
В процессе обработки события можно получить дополнительную информацию о редактировании объекта при помощи интерфейса ksObject2DNotifyResult, который можно получить при помощи метода IKompasDocument2D::GetDrawingObjectNotifyResult.

BeginCopy - Начало копирования объекта

Интерфейс.. Синтаксис Automation:

BOOL BeginCopy ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
TRUE    - копировать объект,
FALSE    - запрещает копирование объекта.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.

BeginDelete - Начало удаления объекта

Интерфейс.. Синтаксис Automation:

BOOL BeginDelete ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
TRUE    - удалить объект,
FALSE    - запрещает удаление объекта.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.
  3. Для обеспечения корректной обработки события удаления вида, нужно учитывать следующее: •при удалении системного вида собственно сам системный вид не удаляется: удаляются только все объекты в нем; •номер 0 может иметь служебный вид, создаваемый КОМПАС для режима визуального редактирования макроэлементов, это можно проверить по свойству IView1::EditMacroVisibleRegime.

BeginDestroyObject - Начало разрушения объекта

Интерфейс.. Синтаксис Automation:

VARIANT_BOOL BeginDestroyObject(VARIANT Objects );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
TRUE    - разрушить объект,
FALSE    - запрещает разрушение объекта.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects

BeginMove - Начало сдвига объекта

Интерфейс.. Синтаксис Automation:

BOOL BeginMove ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
TRUE    - сдвинуть объект,
FALSE    - запрещает сдвиг объекта.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.

BeginProcess - Начало редактирования\создания объекта

Интерфейс.. Синтаксис Automation:

BOOL BeginProcess (long pType, IDrawingObject* iObj);
Входные параметры:
pType    - тип объекта из перечисления DrawingObjectTypeEnum,
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
TRUE    - редактировать\создать объект,
FALSE    - запрещает редактирование\создание объекта объекта.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects

BeginPropertyChanged - Начало изменения свойств объекта

Интерфейс.. Синтаксис:

BOOL BeginPropertyChanged( VARIANT Objects );
Входной параметр:
Objects    - указатель на объект VT_DISPATCH и/или массив объектов VT_ARRAY    VT_DISPATCH.
Возвращаемое значение:
TRUE    - Разрешить изменение свойств объекта,
FALSE    - Запретить изменение свойств объекта.

BeginRotate - Начало поворота объекта

Интерфейс.. Синтаксис Automation:

BOOL BeginRotate ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
TRUE    - повернуть объект,
FALSE    - запрещает поворот объекта.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.

BeginScale - Начало масштабирования объекта

Интерфейс.. Синтаксис Automation:

BOOL BeginScale ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
TRUE    - масштабировать объект,
FALSE    - запрещает масштабирование объекта.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.

BeginSymmetry - Начало симметрии объекта

Интерфейс.. Синтаксис Automation:

BOOL BeginSymmetry ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
TRUE    - симметрия объекта,
FALSE    - запрещает симметрию объекта.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects

BeginTransform - Начало трансформации объекта

Интерфейс.. Синтаксис Automation:

BOOL BeginTransform ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
TRUE    - трансформировать объект,
FALSE    - запрещает трансформацию объекта.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects

ChangeActive - Переключена активность объекта (вид, слой)

Синтаксис Automation:

BOOL ChangeActive ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.

Copy - Объект скопирован

Интерфейс.. Синтаксис Automation:

BOOL Copy ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.

CreateObject - Создание объекта

Синтаксис Automation:

BOOL CreateObject ( VARIANT Obj );
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.

Delete - Объект удален

Интерфейс.. Синтаксис Automation:

BOOL Delete ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.
  3. Для обеспечения корректной обработки события удаления вида, нужно учитывать следующее: •при удалении системного вида собственно сам системный вид не удаляется: удаляются только все объекты в нем; •номер 0 может иметь служебный вид, создаваемый КОМПАС для режима визуального редактирования макроэлементов, это можно проверить по свойству IView1::EditMacroVisibleRegime.

DestroyObject - Разрушение объекта

Интерфейс.. Синтаксис Automation:

VARIANT_BOOL DestroyObject(VARIANT Objects);
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects

EndProcess - Конец редактирования\создания объекта

Синтаксис Automation:

BOOL EndProcess ( long pType );
pType    - тип объекта из перечисления DrawingObjectTypeEnum.
Возвращаемое значение:
- Не используется.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.

Move - Объект сдвинут

Интерфейс.. Синтаксис Automation:

BOOL Move ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.

PropertyChanged - Изменения свойств объекта

Интерфейс.. Синтаксис:

BOOL PropertyChanged( VARIANT Objects );
Входной параметр:
Objects    - указатель на объект VT_DISPATCH и/или массив объектов VT_ARRAY    VT_DISPATCH.
Возвращаемое значение:
- Не используется.

Rotate - Объект повернут

Интерфейс.. Синтаксис Automation:

BOOL Rotate ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects

Scale - Завершение масштабирования объекта

Интерфейс.. Синтаксис Automation:

BOOL Scale ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH если событие генерируется для одного объекта, - массив SafeArray объектов если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.

Symmetry - Симметрия объекта

Интерфейс.. Синтаксис Automation:

BOOL Symmetry ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects/

Transform - Объект трансформирован

Интерфейс.. Синтаксис Automation:

BOOL Transform ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.

UpdateObject - Редактирование объекта

Интерфейс.. Синтаксис Automation:

BOOL EndProcess ( VARIANT Obj );
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.

Примечание:

  1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
  2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.