e1337e4016
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>
478 lines
19 KiB
Markdown
478 lines
19 KiB
Markdown
---
|
||
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.
|