---
title: "Интерфейс событий документа-модели ksDocument3DNotify/IDocument3DNotify"
type: interface
api: [api5]
domain: [3d]
tags: [interface, api5, 3d, ksdocument3dnotify]
sources:
  - ksdocument3dnotify.html
---

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


## Интерфейс событий документа-модели ksDocument3DNotify/IDocument3DNotify

| ksDocument3DNotify | - интерфейс Automation |
| --- | --- |
| IDocument3DNotify | - интерфейс COM |
Позволяют контролировать редактирование документа-модели.
В Automation источник событий для подписки Document3DNotify можно получить при помощи метода ksDocument3D::GetDocument3DNotify.
В COM источником для подписки является документ-модель.


## BeginChoiceMarking - Начало выбора обозначения

Синтаксис Automation:
```
BOOL BeginChoiceMarking();
```
Синтаксис COM:
```
BOOL BeginChoiceMarking();
Возвращаемое значение:
TRUE    - выбрать обозначение,
FALSE    - выбор обозначения запрещен.
```
Примечание:
1. Индекс метода задан в перечислении событий документа-модели....
2. Событие может приходить при редактировании параметров тела.


## BeginChoiceMaterial - Начало выбора материала

Синтаксис Automation:
```
BOOL BeginChoiceMaterial();
```
Синтаксис COM:
```
BOOL BeginChoiceMaterial();
Возвращаемое значение:
TRUE    - выбрать материал,
FALSE    - выбор материала запрещен.
```
Примечание:
1. Индекс метода задан в перечислении событий документа-модели....
2. Событие может приходить при редактировании параметров тела.


## BeginChoiceProperty - Начало выбора свойства

Синтаксис Automation:
```
BOOL BeginChoiceProperty( LPDISPATCH obj, double propID );
```
Синтаксис COM:
```
BOOL BeginChoiceProperty( LPUNKNOWN obj, double propID );
Возвращаемое значение:
TRUE    - Разрешить стандартную процедуру выбора свойства,
FALSE    - Запретить стандартную процедуру выбора свойства (библиотека самостоятельно обработала выбор свойства).
```


## BeginCreatePartFromFile - Начало создания компонента в сборке (до диалога выбора имени)

Синтаксис Automation:
```
BOOL BeginCreatePartFromFile (BOOL part, ksEntity * plane);
```
Синтаксис COM:
```
BOOL BeginCreatePartFromFile (BOOL part, LPENTITY plane);
Входные параметры:
part    TRUE - вставить деталь,
FALSE - вставить сборку,
plane    - плоскость, на которой создается деталь.
Возвращаемое значение:
TRUE    - создать компонент в сборке,
FALSE    - создание компонента в сборке запрещено.
```
Примечание:
Индекс метода задан в перечислении событий документа-модели....


## BeginDeleteProperty - Начало удаления значения свойства

Синтаксис Automation:
```
BOOL BeginDeleteProperty(LPDISPATCH obj, double propID);
```
Синтаксис COM:
```
BOOL BeginDeleteProperty(LPUNKNOWN obj, double propID);
Входные параметры:
obj    - указатель на интерфейс объекта,
propID    - идентификатор свойства.
Возвращаемое значение:
TRUE    - разрешить удаление материала,
FALSE    - запретить удаление.
Версия КОМПАС v22
```


## BeginLoadCombinationChange - Начало переключения типа загрузки

Синтаксис Automation:
```
BOOL BeginLoadCombinationChange( long index );
```
Синтаксис COM:
```
BOOL BeginLoadCombinationChange( long index );
Входные параметры:
index    - индекс стандартного или пользовательского набора загрузки.
Возвращаемое значение:
TRUE    - запретить переключение,
FALSE    - разрешить переключение.
```
Примечание
У сборки есть умолчательные стандартные наборы, индексы которых соответствуют перечислению ksLoadStateEnum. Кроме этого, могут быть еще и пользовательские наборы.


## BeginRebuild - Начало перестроения модели

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


## BeginRollbackFeatures - Начало отката дерева модели

Синтаксис Automation:
```
BOOL BeginRollbackFeatures();
```
Синтаксис COM:
```
BOOL BeginRollbackFeatures();
Возвращаемое значение:
FALSE    - запретить откат дерева.
```


## BeginSetPartFromFile - Начало установки компонента в сборку (до диалога выбора имени)

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


## ChangeCurrentEmbodiment - Исполнение установлено текущим

Синтаксис Automation:
```
BOOL ChangeCurrentEmbodiment( BSTR marking );
```
Синтаксис COM:
```
BOOL ChangeCurrentEmbodiment( LPCSTR marking );
Возвращаемое значение:
- не используется.
```


## ChoiceMarking - Закончен выбор обозначения

Синтаксис Automation:
```
BOOL СhoiceMarking (BSTR material);
```
Синтаксис COM:
```
BOOL СhoiceMarking (char * material);
Возвращаемое значение:
- Не используется.
```
Примечание:
1. Индекс метода задан в перечислении событий документа-модели....
2. Событие может приходить при редактировании параметров тела.


## СhoiceMaterial - Закончен выбор материала

Синтаксис Automation:
```
BOOL СhoiceMaterial (BSTR material, double density);
```
Синтаксис COM:
```
BOOL СhoiceMaterial (char * material, double density);
Возвращаемое значение:
- Не используется.
```
Примечание:
1. Индекс метода задан в перечислении событий документа-модели....
2. Событие может приходить при редактировании параметров тела.


## ChoiceProperty - Закончен выбор свойства

Синтаксис Automation:
```
BOOL ChoiceProperty( LPDISPATCH obj, double propID );
```
Синтаксис COM:
```
BOOL ChoiceProperty( LPUNKNOWN obj, double propID );
Возвращаемое значение:
- Не используется.
```


## CreateEmbodiment - Добавлено новое исполнение

Синтаксис Automation:
```
BOOL CreateEmbodiment( LPCSTR marking );
```
Синтаксис COM:
```
BOOL DeleteEmbodiment( LPCSTR marking );
Возвращаемое значение:
- Не используется.
```


## DeleteEmbodiment - Удалено исполнение

Синтаксис Automation:
```
BOOL DeleteEmbodiment( BSTR marking );
```
Синтаксис COM:
```
BOOL DeleteEmbodiment( LPCSTR marking );
Возвращаемое значение:
- Не используется.
```


## DeleteMaterial - Материал удален

Синтаксис Automation:
```
BOOL DeleteMaterial();
```
Синтаксис COM:
```
BOOL DeleteMaterial();
Возвращаемое значение:
TRUE    - разрешить удаление материала,
FALSE    - запретить удаление.
Версия КОМПАС v22
```


## DeleteProperty - Значение свойства удалено

Синтаксис Automation:
```
BOOL DeleteProperty(LPDISPATCH obj, double propID);
```
Синтаксис COM:
```
BOOL DeleteProperty(LPUNKNOWN obj, double propID);
Входные параметры:
obj    - указатель на интерфейс объекта,
propID    - идентификатор свойства.
Возвращаемое значение:
TRUE    - разрешить удаление материала,
FALSE    - запретить удаление.
Версия КОМПАС v22
```


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

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


## LoadCombinationChange - Завершение переключения типа загрузки

Синтаксис Automation:
```
BOOL LoadCombinationChange( long index );
Синтаксис COM :
BOOL LoadCombinationChange( long index );
Входные параметры:
index    - индекс стандартного или пользовательского набора загрузки.
Возвращаемое значение:
- не используется.
```
Примечание
У сборки есть умолчательные стандартные наборы, индексы которых соответствуют перечислению ksLoadStateEnum. Кроме этого, могут быть еще и пользовательские наборы.


## Rebuild - Модель перестроена

Синтаксис Automation:
```
BOOL Rebuild();
```
Синтаксис COM:
```
BOOL Rebuild();
Возвращаемое значение:
- Не используется.
```
Примечание:
Индекс метода задан в перечислении событий документа-модели....


## RollbackFeatures - Завершение отката дерева модели

Синтаксис Automation:
```
BOOL RollbackFeatures();
```
Синтаксис COM:
```
BOOL RollbackFeatures();
Возвращаемое значение:
Не используется
```
