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

397 lines
24 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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.