---
title: "Интерфейс событий объектов графических документов ksObject2DNotify/ IObject2DNotify"
type: interface
api: [api5]
domain: [2d]
tags: [interface, api5, 2d, ksobject2dnotify]
sources:
  - ksobject2dnotify.html
---

*API интерфейсов. Версия 5 > Интерфейсы событий API5  > События в КОМПАС Общие сведения *


## Интерфейс событий объектов графических документов ksObject2DNotify/ IObject2DNotify

| ksObject2DNotify | - интерфейс Automation |
| --- | --- |
| IObject2DNotify | - интерфейс COM |
Позволяют контролировать редактирование объектов графического документа.
В Automation источник событий для подписки Object2DNotify можно получить при помощи метода ksDocument2D::GetObject2DNotify.
В СOM контейнером для подписки является указатель на графический документ.
Дополнительный параметр при подписке задает объекты, для которых предназначен данный интерфейс событий.
Таким параметром является либо тип объекта (ALL_OBJ...AXISLINE_OBJ, VIEW_OBJ), либо указатель на объект.
Если задан тип объекта, события генерируются для всех объектов этого типа.
Если задан указатель на объект, события генерируются только для этого объекта.
Если задан тип объектов ALL_OBJ, события генерируются для всех объектов.
В процессе обработки события можно получить информацию о редактировании объекта при помощи интерфейса IObject2DNotifyResult для COM или ksObject2DNotifyResult для Automation.
В Automation получить интерфейс результата можно при помощи метода ksDocument2D::GetObject2DNotifyResult.
В COM получить интерфейс результата можно при помощи экспортной функции ksGetObject2DNotifyResult.


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

Синтаксис Automation:
```
BOOL BeginCopy (long objRef);
```
Синтаксис COM:
```
BOOL BeginCopy(long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
TRUE    - копировать объект,
FALSE    - копирование объекта запрещено.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


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

Синтаксис Automation:
```
VARIANT_BOOL BeginDestroy (long objRef );
```
Синтаксис COM:
```
BOOL BeginDelete (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
TRUE    - удалить объект,
FALSE    - удаление объекта запрещено.
```
Примечание:
1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
2. Для обеспечения корректной обработки события удаления вида, нужно учитывать следующее:
•при удалении системного вида, собственно сам системный вид не удаляется, удаляются только все объекты в нем;
•номер 0 может иметь служебный вид, создаваемый КОМПАС для режима визуального редактирования макроэлементов, это можно проверить по свойству IView1::EditMacroVisibleRegime.


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

Синтаксис Automation:
```
VARIANT_BOOL BeginDestroyObject( long objRef );
```
Синтаксис COM:
```
BOOL BeginDestroyObject( long objRef );
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
TRUE    - разрушить объект,
FALSE    - разрушение объекта запрещено.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


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

Синтаксис Automation:
```
BOOL BeginMove (long objRef);
```
Синтаксис COM:
```
BOOL BeginMove (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
TRUE    - сдвинуть объект,
FALSE    - сдвиг объекта запрещен.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


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

Синтаксис Automation:
```
BOOL BeginProcess (long pType, long objRef);
```
Синтаксис COM:
```
BOOL BeginProcess (long pType, long objRef);
Входные параметры:
pType    - тип объекта (LINESEG_OBJ...AXISLINE_OBJ, VIEW_OBJ)
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
TRUE    - преобразовать объект,
FALSE    - преобразование объекта запрещено.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


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

Синтаксис Automation:
```
BOOL BeginPropertyChanged( long objRef );
```
Синтаксис COM:
```
BOOL BeginPropertyChanged( long objRef );
Входной параметр:
objRef    - указатель на объект.
Возвращаемое значение:
TRUE    - Разрешить изменение свойств объекта,
FALSE    - Запретить изменение свойств объекта.
```


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

Синтаксис Automation:
```
BOOL BeginMove (long objRef);
```
Синтаксис COM:
```
BOOL BeginRotate (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
TRUE    - повернуть объект,
FALSE    - поворот объекта запрещен.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


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

Синтаксис Automation:
```
BOOL BeginScale (long objRef);
```
Синтаксис COM:
```
BOOL BeginScale (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
TRUE    - масштабировать объект,
FALSE    - масштабирование объекта запрещено.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


## BeginSymmetry - Начало симметричного преобразования объекта

Синтаксис Automation:
```
BOOL BeginSymmetry (long objRef);
```
Синтаксис COM:
```
BOOL BeginSymmetry (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
TRUE    - преобразовать объект,
FALSE    - преобразование объекта запрещено.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


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

Синтаксис Automation:
```
BOOL BeginTransform (long objRef);
```
Синтаксис COM:
```
BOOL BeginTransform (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
TRUE    - трансформировать объект,
FALSE    - трансформация объекта запрещена.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


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

Синтаксис Automation:
```
BOOL ChangeActive (long objRef);
```
Синтаксис COM:
```
BOOL ChangeActive (long objRef);
Входные параметры:
objRef    - указатель на вид или слой.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


## Copy - Завершение копирования объекта

Синтаксис Automation:
```
BOOL Copy (long objRef);
```
Синтаксис COM:
```
BOOL Copy (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


## CreateObject - Объект создан

Синтаксис Automation:
```
BOOL CreateObject (long objRef);
```
Синтаксис COM:
```
BOOL CreateObject (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


## Delete - Завершение удаления объекта

Синтаксис Automation:
```
VARIANT_BOOL Delete( long objRef );
```
Синтаксис COM:
```
BOOL Delete (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
- не используется.
```
Примечание:
1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
2. Метод используется при редактировании макроэлементов.
3. Для обеспечения корректной обработки события удаления вида, нужно учитывать следующее:
– при удалении системного вида собственно сам системный вид не удаляется, удаляются только все объекты в нем;
– номер 0 может иметь служебный вид, создаваемый КОМПАС для режима визуального редактирования макроэлементов, это можно проверить по свойству IView1::EditMacroVisibleRegime.


## DestroyObject - Завершение удаления объекта

Синтаксис Automation:
```
BOOL DestroyObject (long objRef);
```
Синтаксис COM:
```
VARIANT_BOOL DestroyObject( VARIANT Objects );
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
- не используется.
```
Примечание:
1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
2. Разрушить объекты можно см. описание ksDocument2D::ksDestroyObjects.


## EndProcess - Завершение редактирования/создания объекта

Синтаксис Automation:
```
BOOL EndProcess (long pType);
```
Синтаксис COM:
```
BOOL EndProcess (long pType);
Входные параметры:
pType    - тип объекта (LINESEG_OBJ...AXISLINE_OBJ, VIEW_OBJ)
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


## IsNotIifyProcess - Ограничение обрабатываемых событий

Синтаксис Automation:
```
Не используется.
```
Синтаксис COM:
```
BOOL IsNotifyProcess (int notifyType);
Входной параметр:
notifyType    - номер события в перечислении событий.
Возвращаемое значение:
TRUE    - событие будет обрабатываться,
FALSE    - событие обрабатываться не будет.
```
Примечание:
В COM перед любым вызовом события система сделает запрос о возможности его обработки с использованием данного метода. Библиотека сама может ограничивать обрабатываемые события.


## Move - Завершение сдвига объекта

Синтаксис Automation:
```
BOOL Move (long objRef);
```
Синтаксис COM:
```
BOOL Move (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


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

Синтаксис Automation:
```
BOOL PropertyChanged( long objRef );
```
Синтаксис COM:
```
BOOLPropertyChanged( long objRef );
Входной параметр:
objRef    - указатель на объект.
Возвращаемое значение:
- Не используется.
```


## Rotate - Завершение поворота объекта

Синтаксис Automation:
```
BOOL Rotate (long objRef);
```
Синтаксис COM:
```
BOOL Rotate (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


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

Синтаксис Automation:
```
BOOL Scale (long objRef);
```
Синтаксис COM:
```
BOOL Scale (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


## Symmetry - Завершение симметричного преобразования объекта

Синтаксис Automation:
```
BOOL Symmetry (long objRef);
```
Синтаксис COM:
```
BOOL Symmetry (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


## Transform - Завершение трансформации объекта

Синтаксис Automation:
```
BOOL Transform (long objRef);
```
Синтаксис COM:
```
BOOL Transform (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.


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

Синтаксис Automation:
```
BOOL UpdateObject (long objRef);
```
Синтаксис COM:
```
BOOL UpdateObject (long objRef);
Входные параметры:
objRef    - указатель на объект или группу объектов.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum.
