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>
397 lines
24 KiB
Markdown
397 lines
24 KiB
Markdown
---
|
||
title: "Интерфейс ksDrawingObjectNotify/IDrawingObjectNotify"
|
||
type: interface
|
||
api: [api7]
|
||
domain: [drawing]
|
||
tags: [interface, api7, drawing, ksdrawingobjectnotify]
|
||
sources:
|
||
- 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.
|