---
title: "Интерфейсы событий"
type: interface
api: [api7]
tags: [interface, api7, sobutiy]
sources:
  - sobutiy.html
  - ksfindobject3dparametersnotify.html
  - imodelobjectnotifyresult.html
  - ikompasdocument3dnotifyresult.html
  - ksdocument3dnotify7.html
  - kslayoutsheetsnotify.html
  - kslibrarymanagernotify.html
  - ksmodelobjectnotify.html
  - ksplmobjectnotify.html
  - kscontentdialognotify.html
  - ksspecificationdescriptionnotify.html
  - ksspecificationobjectnotify.html
  - ksfindobjectparametersnotify.html
---

*API интерфейсов. Версия 7*

Интерфейс ksDocumentFrameNotify/IDocumentFrameNotify
Интерфейс ksDrawingObjectNotify/IDrawingObjectNotify
Интерфейс ksKompasObjectNotify/IKompasObjectNotify
Интерфейс IProcess3DManipulatorsNotify\ksProcess3DManipulatorsNotify
Интерфейс ksProcess2DNotify\IProcess2DNotify
Интерфейс ksProcess3DNotify\IProcess3DNotify
Интерфейс ksPropertyManagerNotify/IPropertyManagerNotify
Интерфейс ksPropertyTreeNotify\IPropertyTreeNotify
Интерфейс ksPropertyUserControlNotify/IPropertyUserControlNotify
Интерфейс ksViewsAndLayersManagerNotify/IViewsAndLayersManagerNotify


## Интерфейс ksFindObject3DParametersNotify

Интерфейс фильтрации объектов 3D в функциях поиска объектов.
Иерархия:
IDispatch
ksFindObject3DParametersNotify


## FilterObject - Фильтрация объектов

Синтаксис Automation:
```
BOOL FilterObject( IDispatch* Object );
Синтаксис COM :
HRESULT FilterObject( IDispatch* Object, BOOL * Result );
Возвращаемое значение:
TRUE    - TRUE, если объект удовлетворяет условиям поиска.
Входные параметры:
Object    - объект IModelObject.
Версия: Компас v20
```


## Интерфейс IModelObjectNotifyResult

Интерфейс результатов редактирования 3d объекта.
Иерархия:
IDispatch
IModelObjectNotifyResult
Описание:
Позволяет контролировать редактирование объектов документа-модели. Источником событий для подписки является указатель на интерфейс IModelObject.
Примечание:
Получить интерфейс можно с помощью метода IUnknown::QueryInterface у интерфейса компонента IPart7.


## IsRedoMode - Признак работы команды Redo

Тип данных: BOOL
Синтаксис Automation:
```
IsRedoMode = Object.IsRedoMode;    Получить свойство (* )
IsRedoMode = Object.GetIsRedoMode();    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsRedoMode( &IsRedoMode )    Получить свойство
Примечание.
Свойство доступно только для чтения.
```


## IsUndoMode - Признак работы команды Undo

Тип данных: BOOL
Синтаксис Automation:
```
IsUndoMode = Object.IsUndoMode;    Получить свойство (* )
IsUndoMode = Object.GetIsUndoMode();    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsUndoMode( &IsUndoMode )    Получить свойство
Примечание.
Свойство доступно только для чтения.
```


## NotifyObjects - Массив SafeArray удаляемых объектов

Тип данных: VARIANT
Синтаксис Automation:
```
NotifyObjects = Object.NotifyObjects;    Получить свойство (* )
NotifyObjects = Object.GetNotifyObjects();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_NotifyObjects( &NotifyObjects )    Получить свойство
Примечание.
Свойство доступно только для чтения.
```


## NotifyType - Тип события

Тип данных: из перечисления KsObject3DNotifyEnum
Синтаксис Automation:
```
NotifyType = Object.NotifyType;    Получить свойство (* )
NotifyType = Object.GetNotifyType();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_NotifyType( &NotifyType )    Получить свойство
Примечание.
Свойство доступно только для чтения.
```


## ProcessType - Тип процесса

Тип данных: из перечисления ProcessTypeEnum
Синтаксис Automation:
```
ProcessType = Object.ProcessType;    Получить свойство (* )
ProcessType = Object.GetProcessType();    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ProcessType( &ProcessType )    Получить свойство
Примечание.
Свойство доступно только для чтения.
```


## Интерфейс IKompasDocument3DNotifyResult

Интерфейс дополнительных параметров для событий документа-модели.
Примечание:
1. Интерфейс позволяет получить указатель на объект, для которого посылается данное событие. Например, выбор материала и обозначения доступны для верхнего компонента, вставки и тела.
2. Интерфейс является дополнительным для IKompasDocument3D.
3. Интерфейс можно получить с помощью метода IUnknown::QueryInterface у IKompasDocument3D.


## NotifyObject - Тип объекта

Тип данных: указатель на интерфейс IKompasAPIObject
Синтаксис Automation:
```
NotifyObject = Object.NotifyObject    Получить свойство (* )
NotifyObject = Object.GetNotifyObject()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_NotifyObject( &NotifyObject )    Получить свойство
Возвращаемое значение:
В зависимости от типа объекта, возвращаемого методом NotifyObjectType возвращается:
тип объекта    Интерфейс
o3d_part    - IPart7
o3d_body    - IBody7
o3d_uknown    - NULL
Примечание.
Свойство доступно только для чтения.
```


## NotifyObjectType - Тип объекта

Тип данных: из перечисления ksObj3dTypeEnum
Синтаксис Automation:
```
NotifyObjectType = Object.NotifyObjectType    Получить свойство (* )
NotifyObjectType = Object.GetNotifyObjectType()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_NotifyObjectType( &NotifyObjectType )    Получить свойство
Возвращаемое значение:
- Тип объекта из перечисления ksObj3dTypeEnum. Допустимыми значениями являются o3d_part, o3d_body или o3d_uknown.
Примечание.
Свойство доступно только для чтения.
```


## NotifyType - Тип события

Тип данных: из перечисления ksDocument3DNotifyEnum
Синтаксис Automation:
```
NotifyType = Object.NotifyType    Получить свойство (* )
NotifyType = Object.GetNotifyType()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_NotifyType( &NotifyType )    Получить свойство
Примечание.
Свойство доступно только для чтения.
```


## RequestFilesType - Тип процесса, запрашивающего файл

Тип данных: из перечисления ksRequestFilesTypeEnum
Синтаксис Automation:
```
RequestFilesType = Object.RequestFilesType    Получить свойство (* )
RequestFilesType = Object.GetRequestFilesType()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_RequestFilesType( &RequestFilesType )    Получить свойство
Возвращаемое значение:
Возвращает идентификатор процесса, запрашивающего файл.
Примечание.
Свойство доступно только для чтения.
```


## Интерфейс ksDocument3DNotify7

Интерфейс событий документа-модели в API7 (disp-интерфейс).
Позволяет контролировать редактирование документа-модели.
Источником для подписки является документ-модель.


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

Синтаксис Automation:
```
VARIANT_BOOL BeginChoiceMarking();
Возвращаемое значение:
TRUE    - выбрать обозначение,
FALSE    - выбор обозначения запрещен.
```


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

Синтаксис:
```
VARIANT_BOOL BeginChoiceMaterial();
Возвращаемое значение:
TRUE    - выбрать материал,
FALSE    - выбор материала запрещен.
```


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

Синтаксис:
```
VARIANT_BOOL BeginCreatePartFromFile (VARIANT_BOOL typeDoc, LPDISPATCH * plane);
Входные параметры:
typeDoc    TRUE - вставить деталь,
FALSE - вставить сборку,
plane    - плоскость типа IModelObject, на которой создается компонент.
Возвращаемое значение:
TRUE    - установить компонент в сборку,
FALSE    - установка компонента в сборку запрещена.
```


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

Синтаксис:
```
VARIANT_BOOL BeginRebuild();
Возвращаемое значение:
TRUE    - перестроить модель,
FALSE    - перестройка модели запрещена.
```


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

Синтаксис:
```
VARIANT_BOOL BeginSetPartFromFile();
Возвращаемое значение:
TRUE    - установить компонент в сборку,
FALSE    - установка компонента в сборку запрещена.
```


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

Синтаксис:
```
VARIANT_BOOL ChoiceMarking( BSTR marking );
Входные параметры:
marking    - обозначение.
Возвращаемое значение:
TRUE    - выбрано обозначение,
FALSE    - выбор обозначения запрещен.
```


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

Синтаксис:
```
VARIANT_BOOL ChoiceMaterial (BSTR material, double density);
Возвращаемое значение:
TRUE    - выбран материал,
FALSE    - выбор материала запрещен.
```


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

Синтаксис:
```
VARIANT_BOOL Rebuild();
Возвращаемое значение:
TRUE    - модель перестроена,
FALSE    - перестройка модели запрещена.
```


## Интерфейс ksLayoutSheetsNotify

Интерфейс событий для листов оформления.
Позволяют контролировать состояние листов оформления.
Источником событий для подписки на данный интерфейс являются объекты ILayoutSheets - Интерфейс коллекции листов оформления.


## Add - Добавлен лист оформления

Синтаксис Automation:
```
BOOL Add (ILayoutSheet * PSheet);
Входные параметры:
PSheet    - указатель на интерфейс ILayoutSheet добавленного листа оформления.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для листов оформления ksLayoutSheetsNotifyEnum.


## Delete - Удален лист оформления

Синтаксис Automation:
```
BOOL Delete (ILayoutSheet * PSheet);
Входные параметры:
PSheet    - указатель на интерфейс ILayoutSheet удаляемого листа оформления.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для листов оформления ksLayoutSheetsNotifyEnum.


## Update - Изменены параметры листа оформления

Синтаксис Automation:
```
BOOL Update (ILayoutSheet * PSheet);
Входные параметры:
PSheet    - указатель на интерфейс ILayoutSheet листа оформления, у которого изменились параметры.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для листов оформления ksLayoutSheetsNotifyEnum.


## Интерфейс ksLibraryManagerNotify

Интерфейс событий Менеджера библиотек.
Позволяют следить и при необходимости управлять основными событиями менеджера библиотек.
Источником событий для подписки на данный интерфейс является объект ILibraryManager.


## AddInsert - Добавлен документ в библиотеку документов

Функция не поддерживается
Синтаксис Automation:
```
BOOL AddInsert (IInsert * PInsert, BOOL create);
```
Синтаксис COM:
```
BOOL AddInsert (IUnknown * PInsert, BOOL create);
Входные параметры:
PInsert    - интерфейс вставки документа,
create    - TRUE - создали новый, - FALSE - добавили с диска.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksLibraryManagerNotifyEnum.


## AddLibraryDescription - Добавлено описание библиотеки

Синтаксис Automation:
```
BOOL AddLibraryDescription (ILibrary * PLibrary);
```
Синтаксис COM:
```
BOOL AddLibraryDescription (IUnknown * PLibrary);
Входные параметры:
PLibrary    - интерфейс библиотеки.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksLibraryManagerNotifyEnum.


## Attach - Библиотека подключена

Синтаксис Automation:
```
BOOL Attach (ILibrary * PLibrary);
```
Синтаксис COM:
```
BOOL Attach (IUnknown * PLibrary);
Входные параметры:
PLibrary    - интерфейс библиотеки.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для Менеджера библиотек ksLibraryManagerNotifyEnum.


## BeginAttach - Подключить библиотеку

Синтаксис Automation:
```
BOOL BeginAttach (ILibrary * PLibrary);
```
Синтаксис COM:
```
BOOL BeginAttach (IUnknown * PLibrary);
Входные параметры:
PLibrary    - интерфейс библиотеки.
Возвращаемое значение:
TRUE    - можно подключить библиотеку,
FALSE    - библиотеку подключать нельзя.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksLibraryManagerNotifyEnum.


## BeginDetach - Отключить библиотеку

Синтаксис Automation:
```
BOOL BeginDetach (ILibrary * PLibrary);
```
Синтаксис COM:
```
BOOL BeginDetach (IUnknown * PLibrary);
Входные параметры:
PLibrary    - интерфейс библиотеки.
Возвращаемое значение:
TRUE    - можно отключить библиотеку,
FALSE    - библиотеку отключить нельзя.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksLibraryManagerNotifyEnum.


## BeginExecute - Запуск выполнения команды библиотеки

Синтаксис Automation:
```
BOOL BeginExecute (ILibrary * PLibrary);
```
Синтаксис COM:
```
BOOL BeginExecute (IUnknown * PLibrary);
Входные параметры:
PLibrary    - интерфейс библиотеки.
Возвращаемое значение:
TRUE    - можно выполнять команду библиотеки,
FALSE    - выполнять команду библиотеки нельзя.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksLibraryManagerNotifyEnum.


## BeginInsertDocument - Запуск вставки документа из библиотеки

Синтаксис Automation:
```
BOOL BeginInsertDocument( LPDISPATCH PLibrary, long InsertionType, BSTR Insertion );
```
Синтаксис COM:
```
BOOL BeginInsertDocument( LPUNKNOWN PLibrary, long InsertionType, BSTR Insertion );
Возвращаемое значение:
TRUE    - запретить запуск стандартного процесса вставки,
FALSE    - разрешить запуск стандартного процесса вставки.
```


## DeleteInsert - Удален документ из библиотеки документов

Функция не поддерживается
Синтаксис Automation:
```
BOOL DeleteInsert (IInsert * PInsert);
```
Синтаксис COM:
```
BOOL DeleteInsert (IUnknown * PInsert);
Входные параметры:
PInsert    - интерфейс вставки документа.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksLibraryManagerNotifyEnum.


## DeleteLibraryDescription - Удалено описание библиотеки

Синтаксис Automation:
```
BOOL DeleteLibraryDescription (ILibrary * PLibrary);
```
Синтаксис COM:
```
BOOL DeleteLibraryDescription (IUnknown * PLibrary);
Входные параметры:
PLibrary    - интерфейс библиотеки.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksLibraryManagerNotifyEnum.


## Detach - Библиотека отключена

Синтаксис Automation:
```
BOOL Detach (ILibrary * PLibrary);
```
Синтаксис COM:
```
BOOL Detach (IUnknown * PLibrary);
Входные параметры:
PLibrary    - интерфейс библиотеки.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksLibraryManagerNotifyEnum.


## EditInsert - Редактирование документа из библиотеки документов

Функция не поддерживается
Синтаксис Automation:
```
BOOL EditInsert (ILibrary * PLibrary, IKompasDocument * pDoc, BOOL newFrw);
```
Синтаксис COM:
```
BOOL DeleteInsert (IUnknown * PInsert);
Входные параметры:
PLibrary    - интерфейс библиотеки,
pDoc    - интерфейс редактируемого документа,
newFrw    - TRUE - редактирование нового документа, - FALSE - редактирование существующего документа.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksLibraryManagerNotifyEnum.


## EndExecute - Завершение выполнения команды библиотеки

Синтаксис Automation:
```
BOOL EndExecute (ILibrary * PLibrary);
```
Синтаксис COM:
```
BOOL EndExecute (IUnknown * PLibrary);
Входные параметры:
PLibrary    - интерфейс библиотеки.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksLibraryManagerNotifyEnum.


## SystemControlStart - Передача управления системе

Синтаксис Automation:
```
BOOL SystemControlStart (ILibrary * PLibrary);
```
Синтаксис COM:
```
BOOL SystemControlStart (IUnknown * PLibrary);
Входные параметры:
PLibrary    - интерфейс библиотеки.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksLibraryManagerNotifyEnum.


## SystemControlStop - Передача управления библиотеке

Синтаксис Automation:
```
BOOL SystemControlStop (ILibrary * PLibrary);
```
Синтаксис COM:
```
BOOL SystemControlStop (IUnknown * PLibrary);
Входные параметры:
PLibrary    - интерфейс библиотеки.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksLibraryManagerNotifyEnum.


## TryExecute - Попытка выполнения команды библиотеки

Синтаксис Automation:
```
BOOL TryExecute( ILibrary * PLibrary, long CommandID );
```
Синтаксис COM
```
HRESULT TryExecute( ILibrary * PLibrary, long CommandID, BOOL * Result );
Возвращаемое значение:
TRUE    - если нужно разрешить запуск команды.
Входные параметры:
PLibrary    - указатель на интерфейс библиотеки,
CommandID    - номер команды.
```


## Интерфейс ksModelObjectNotify

Интерфейс событий для объектов документа-модели.
Описание:
Позволяют контролировать состояние объектов документа - модели.
В Automation источником событий для подписки на данный интерфейс являются объекты IModelObject (события генерируются только для этого объекта) или коллекции объектов 3D IModelObjects (события генерируются для всех объектов данной коллекции).
В процессе обработки события можно получить дополнительную информацию о редактировании объекта при помощи интерфейса IModelObjectNotifyResult.
В API 5 аналогом является Интерфейс событий объектов документа-модели ksObject3DNotify, поэтому перечисления событий совпадают с перечислением событий для объектов документа-модели KsObject3DNotifyEnum.


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

Синтаксис Automation:
```
BOOL BeginDelete ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
TRUE    - удалить объект,
FALSE    - запрещает удаление объекта.
```
Примечание:
1. Индекс события задан в перечислении событий для объектов документов-моделей KsObject3DNotifyEnum.
2. Контейнером событий ksModelObjectNotify может использоваться объект документа-модели IModelObject и коллекция объектов IModelObjects.


## BeginPlacementChanged - Начало изменения положения объекта

Синтаксис Automation:
```
BOOL BeginPlacementChanged(VARIANT obj);
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH если событие генерируется для одного объекта, - массив SafeArray объектов если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.
```
Примечание:
1. Индекс события задан в перечислении событий для объектов документов-моделей KsObject3DNotifyEnum.
2. Контейнером событий ksModelObjectNotify может использоваться объект документа-модели IModelObject и коллекция объектов IModelObjects.


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

Синтаксис Automation:
```
BOOL BeginProcess (long pType, VARIANT Obj);
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта,
pType    - тип объекта из перечисления ksObj3dTypeEnum.
Возвращаемое значение:
TRUE    - редактировать\создать объект,
FALSE    - запрещает редактирование\создание объекта объекта.
```
Примечание:
1. Индекс события задан в перечислении событий для объектов документов-моделей KsObject3DNotifyEnum.
2. Контейнером событий ksModelObjectNotify может использоваться объект документа-модели IModelObject и коллекция объектов IModelObjects.


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

Синтаксис Automation:
```
BOOL BeginPropertyChanged(VARIANT obj);
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.
```
Примечание:
1. Индекс события задан в перечислении событий для объектов документов-моделей KsObject3DNotifyEnum.
2. Контейнером событий ksModelObjectNotify может использоваться объект документа-модели IModelObject и коллекция объектов IModelObjects.


## CreateObject - Создание объекта

Синтаксис Automation:
```
BOOL CreateObject ( VARIANT Obj );
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.
```
Примечание:
1. Индекс события задан в перечислении событий для объектов документов-моделей KsObject3DNotifyEnum.
2. Контейнером событий ksModelObjectNotify может использоваться объект документа-модели IModelObject и коллекция объектов IModelObjects.


## Delete - Объект удален

Синтаксис Automation:
```
BOOL Delete ( VARIANT Obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.
```
Примечание:
1. Индекс события задан в перечислении событий для объектов документов-моделей KsObject3DNotifyEnum.
2. Контейнером событий ksModelObjectNotify может использоваться объект документа-модели IModelObject и коллекция объектов IModelObjects.


## EndProcess - Конец редактирования\создания объекта

Синтаксис Automation:
```
BOOL EndProcess ( long pType );
pType    - тип объекта из перечисления ksObj3dTypeEnum.
Возвращаемое значение:
- не используется.
```
Примечание:
1. Индекс события задан в перечислении событий для объектов документов-моделей KsObject3DNotifyEnum.
2. Контейнером событий ksModelObjectNotify может использоваться объект документа-модели IModelObject и коллекция объектов IModelObjects.


## Excluded - Oбъект исключен/включен в расчет

Синтаксис Automation:
```
BOOL Excluded(VARIANT obj, VARIANT_BOOL excluded);
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
TRUE    - объект исключен из расчета,
FALSE    - объект включен в расчет.
```
Примечание:
1. Индекс события задан в перечислении событий для объектов документов-моделей KsObject3DNotifyEnum.
2. Контейнером событий ksModelObjectNotify может использоваться объект документа-модели IModelObject и коллекция объектов IModelObjects.


## Hidden - Oбъект скрыт/показан

Синтаксис Automation:
```
BOOL Hidden(VARIANT obj, VARIANT_BOOL _hidden);
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
TRUE    - объект скрыт,
FALSE    - объект показан.
```
Примечание:
1. Индекс события задан в перечислении событий для объектов документов-моделей KsObject3DNotifyEnum.
2. Контейнером событий ksModelObjectNotify может использоваться объект документа-модели IModelObject и коллекция объектов IModelObjects.


## PlacementChanged - Изменено положения объекта

Синтаксис Automation:
```
BOOL PlacementChanged( VARIANT obj );
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.
```
Примечание:
1. Индекс события задан в перечислении событий для объектов документов-моделей KsObject3DNotifyEnum.
2. Контейнером событий ksModelObjectNotify может использоваться объект документа-модели IModelObject и коллекция объектов IModelObjects.


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

Синтаксис Automation:
```
BOOL PropertyChanged(VARIANT obj);
Входные параметры:
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.
```
Примечание:
1. Индекс события задан в перечислении событий для объектов документов-моделей KsObject3DNotifyEnum.
2. Контейнером событий ksModelObjectNotify может использоваться объект документа-модели IModelObject и коллекция объектов IModelObjects.


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

Синтаксис Automation:
```
BOOL EndProcess ( VARIANT Obj );
iObj    - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта.
Возвращаемое значение:
- Не используется.
```
Примечание:
1. Индекс события задан в перечислении событий для объектов документов-моделей KsObject3DNotifyEnum.
2. Контейнером событий ksModelObjectNotify может использоваться объект документа-модели IModelObject и коллекция объектов IModelObjects.


## Интерфейс ksPLMObjectNotify

Интерфейс событий объектов версионирования.
Иерархия:
IDispatch
ksPLMObjectNotify
Примечание:
Источником событий объектов версионирования является 3D документ IKompasDocument3D.
Версия: KOMPAS v19


## PLMChangeChanged - Изменение признака отличия

Синтаксис Automation:
```
BOOL PLMChangeChanged( IDispatch* Object, long newValue );
```
Синтаксис COM:
```
HRESULT PLMChangeChanged( IDispatch* Object, long newValue, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
Object    - объект версионирования,
newValue    - новое значение признака отличия из перечисления ksPLMChangesEnum.
```


## PLMCompositionChanged - Изменение состояния состава в системе версионирования

Синтаксис Automation:
```
BOOL PLMCompositionChanged( IDispatch* Object, long NewValue );
```
Синтаксис COM:
```
HRESULT PLMCompositionChanged( IDispatch* Object, long NewValue, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
Object    - указатель на объект версионирования,
NewValue    - новое значение из перечисления ksPLMCompositionEnum.
Версия Компас v23
```


## PLMStatusChanged - Изменение статуса в системе версионирования

Синтаксис Automation:
```
BOOL PLMStatusChanged( IDispatch* Object, long newValue );
```
Синтаксис COM:
```
HRESULT PLMStatusChanged( IDispatch* Object, long newValue, BOOL * Result );
Возвращаемое значение:
- не используется.
Входные параметры:
Object    - объект версионирования,
newValue    - новое значение статуса из перечисления ksPLMStatusEnum.
```


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

Синтаксис Automation:
```
BOOL PLMValueChanged( IDispatch* Object, long ValueId, VARIANT NewValue );
```
Синтаксис COM:
```
HRESULT PLMValueChanged( IDispatch* Object, long ValueId, VARIANT NewValue, BOOL * Result );
Возвращаемое значение:
- не используется.
Входные параметры:
Object    - указатель на объект версионирования,
ValueId    - идентификатор значения,
NewValue    - новое значение.
Версия Компас v23
```


## Интерфейс ksContentDialogNotify

Интерфейс событий диалога с произвольным контентом IContentDialogParam.
Иерархия:
IDispatch
ksContentDialogNotify
Методы интерфейса позволяют обрабатывать события диалога с произвольным наполнением.
Источником событий для подписки является объект IContentDialogParam.
КОМПАС версия v18


## ButtonUpdate - Установка состояния кнопки панели

Синтаксис Automation:
```
BOOL ButtonUpdate( long ButtonID, long * Check, BOOL * Enable );
```
Синтаксис COM:
```
HRESULT ButtonUpdate( long ButtonID, long * Check, BOOL * Enable, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
ButtonID    - идентификатор команды панели диалога,
Check    - состояние кнопки (Нажата\Отжата),
Enable    - доступность команды.
```


## CreateContentCallback - Создание контента

Синтаксис Automation:
```
BOOL CreateContentCallback( OLE_HANDLE ParentHwnd, OLE_HANDLE * NewContentHwnd );
```
Синтаксис COM:
```
HRESULT CreateContentCallback( OLE_HANDLE ParentHwnd, OLE_HANDLE * NewContentHwnd, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
ParentHwnd    - родительское окно.
Выходные параметры:
NewContentHwnd    - новое окно контента.
```


## DestroyContent - Удаление контента

Синтаксис Automation:
```
BOOL DestroyContent();
```
Синтаксис COM:
```
HRESULT DestroyContent( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```


## ExecuteCommand - Выполнить команду

Синтаксис Automation:
```
BOOL ExecuteCommand( long ButtonID );
```
Синтаксис COM:
```
HRESULT ExecuteCommand( long ButtonID, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
ButtonID    - идентификатор команды панели диалога.
```


## Интерфейс ksSpecificationDescriptionNotify

Интерфейс событий описания спецификации.
Позволяют контролировать редактирование описания спецификации.
Источником событий для подписки на данный интерфейс являются объекты:
•ISpecificationDescriptions - Интерфейс коллекции описаний спецификации,
•ISpecificationDescription - Интерфейс описания спецификации.


## BeginCalcPositions - Начало расчета позиций

Синтаксис Automation:
```
BOOL BeginCalcPositions();
Возвращаемое значение:
TRUE    - расчет позиций,
FALSE    - запрещает расчет позиций.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksSpecificationNotifyEnum.


## BeginCreateObject - Начало создания объекта СП (до диалога выбора раздела)

Синтаксис Automation:
```
BOOL BeginCreateObject (long typeObj);
Входные параметры:
typeObj    0 - базовый объект, 1 - объект вспомогательный, -1 - тип объекта не определен.
Возвращаемое значение:
TRUE    - создать объект спецификации,
FALSE    - запрещает создание объекта спецификации.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksSpecificationNotifyEnum.


## CalcPositions - Проведен расчет позиций

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


## ChangeCurrentSpcDescription - Изменилось текущее описание спецификации

Синтаксис Automation:
```
BOOL ChangeCurrentSpcDescription (ISpecificationDescription * Descr);
Входные параметры:
Descr    - указатель на интерфейс ISpecificationDescription текущего описания спецификации.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksSpecificationNotifyEnum.


## SpcDescriptionAdd - Добавилось описание спецификации

Синтаксис Automation:
```
BOOL SpcDescriptionAdd (ISpecificationDescription * Descr);
Входные параметры:
Descr    - указатель на интерфейс ISpecificationDescription добавленного описания спецификации.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksSpecificationNotifyEnum.


## SpcDescriptionBeginEdit - Начало редактирования описания спецификации

Синтаксис Automation:
```
BOOL SpcDescriptionBeginEdit (ISpecificationDescription * Descr);
Входные параметры:
Descr    - указатель на интерфейс ISpecificationDescription редактируемого описания спецификации.
Возвращаемое значение:
TRUE    - редактировать описание спецификации,
FALSE    - запрещает редактирование описания спецификации.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksSpecificationNotifyEnum.


## SpcDescriptionEdit - Отредактировано описание спецификации

Синтаксис Automation:
```
BOOL SpcDescriptionEdit (ISpecificationDescription * Descr, BOOL isOk);
Входные параметры:
Descr    - указатель на интерфейс ISpecificationDescription редактируемого описания спецификации,
isOk    - результат изменения описания спецификации.
Возвращаемое значение:
- Не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksSpecificationNotifyEnum.


## SpcDescriptionRemove - Удалилось описание спецификации

Синтаксис Automation:
```
BOOL SpcDescriptionRemove (ISpecificationDescription * Descr);
Входные параметры:
Descr    - указатель на интерфейс ISpecificationDescription удаляемого описания спецификации.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksSpecificationNotifyEnum.


## Synchronization - Синхронизация проведена

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


## SynchronizationBegin - Начало синхронизации

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


## TuningSpcStyleBeginChange - Начало изменения настроек спецификации

Синтаксис Automation:
```
BOOL TuningSpcStyleBeginChange( ISpecificationDescription * Descr );
Входные параметры:
Descr    - указатель на интерфейс ISpecificationDescription редактируемого описания спецификации.
Возвращаемое значение:
TRUE    - изменить настройки спецификации,
FALSE    - запрещает изменения настроек спецификации.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksSpecificationNotifyEnum.


## TuningSpcStyleChange - Настройки спецификации изменились

Синтаксис Automation:
```
BOOL TuningSpcStyleChange (ISpecificationDescription * Descr, BOOL isOk);
Входные параметры:
Descr    - указатель на интерфейс ISpecificationDescription редактируемого описания спецификации.
isOk    - результат изменения настроек спецификации.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для для Менеджера библиотек ksSpecificationNotifyEnum.


## Интерфейс ksSpecificationObjectNotify

Интерфейс событий объектов спецификации.
Предназначен для того, чтобы следить и при необходимости управлять редактированием объектов спецификации.
Источником событий для подписки на данный интерфейс являются объекты:
•ISpecificationObject - Интерфейс объекта спецификации (базового или вспомогательного),
•ISpecificationBaseObjects - Интерфейс коллекции базовых объектов спецификации,
•ISpecificationCommentObjects - Интерфейс коллекции вспомогательных объектов спецификации.


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

Синтаксис Automation:
```
BOOL BeginCopy( ISpecificationObject * Obj );
```
Синтаксис COM:
```
HRESULT BeginCopy( ISpecificationObject * Obj, BOOL * Result );
Возвращаемое значение:
TRUE    - изменить геометрию объекта спецификации,
FALSE    - запрещает изменение геометрии объекта спецификации.
Входные параметры:
Obj    - указатель на интерфейс ISpecificationObject копируемого объекта спецификации.
Версия Компас v23
```


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

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


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

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


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

Синтаксис Automation:
```
BOOL BeginProcess( long pType, ISpecificationObject * obj );
Входные параметры:
obj    - указатель на интерфейс ISpecificationObject редактируемого объекта спецификации,
pType    - тип объекта из перечисления ksSpecificationObjectTypeEnum( SPC_BASE_OBJECT, SPC_COMMENT ).
Возвращаемое значение:
TRUE    - редактировать\создать объект,
FALSE    - запрещает редактирование\создание объекта объекта.
```
Примечание:
Индекс события задан в перечислении событий для объектов спецификации ksSpcObjectNotifyEnum.


## CellBeginEdit - Начало редактирования в ячейке

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


## CellDblClick - Двойной щелчок в ячейке

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


## ChangeCurrent - Изменился текущий объект

Синтаксис Automation:
```
BOOL ChangeCurrent( ISpecificationObject * obj );
Входные параметры:
obj    - указатель на интерфейс ISpecificationObject текущего объекта спецификации.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для объектов спецификации ksSpcObjectNotifyEnum.


## Copy - Копирование объекта

Синтаксис Automation:
```
BOOL Copy( ISpecificationObject * Obj );
```
Синтаксис COM:
```
HRESULT Copy( ISpecificationObject * Obj, BOOL * Result );
Возвращаемое значение:
- не используется.
Входные параметры:
Obj    - указатель на интерфейс ISpecificationObject нового объекта спецификации.
Версия Компас v23
```


## CreateObject - Создание объекта спецификации

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


## Delete - Удаление объекта

Синтаксис Automation:
```
BOOL Delete (ISpecificationObject * obj);
Входные параметры:
obj    - указатель на интерфейс ISpecificationObject удаляемого объекта спецификации.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для объектов спецификации ksSpcObjectNotifyEnum.


## DocumentAdd - Добавление документа в объекте спецификации

Синтаксис Automation:
```
BOOL DocumentAdd( ISpecificationObject * obj, BSTR docName );
Входные параметры:
obj    - указатель на интерфейс ISpecificationObject редактируемого объекта спецификации,
docName    - имя файла добавленного документа.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для объектов спецификации ksSpcObjectNotifyEnum.


## DocumentBeginAdd - Начало добавления документа

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


## DocumentRemove - Удаление документа из объекта спецификации

Синтаксис Automation:
```
BOOL DocumentRemove( ISpecificationObject * obj, BSTR docName );
Входные параметры:
obj    - указатель на интерфейс ISpecificationObject редактируемого объекта спецификации,
docName    - имя файла удаляемого документа.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для объектов спецификации ksSpcObjectNotifyEnum.


## EndProcess - Конец редактирования\создания объекта

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


## GeomChange - Геометрия объекта спецификации изменилась

Синтаксис Automation:
```
BOOL GeomChange( ISpecificationObject * obj );
Входные параметры:
obj    - указатель на интерфейс ISpecificationObject редактируемого объекта спецификации.
Возвращаемое значение:
- не используется.
```
Примечание:
Индекс события задан в перечислении событий для объектов спецификации ksSpcObjectNotifyEnum.


## UpdateObject - Редактирование объекта спецификации

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


## Интерфейс ksFindObjectParametersNotify

Интерфейс фильтрации объектов в функциях поиска объектов под курсором.
Иерархия:
IDispatch
ksFindObjectParametersNotify
Версия: KOMPAS v19


## FilterObject - Фильтрация объектов

Интерфейс..
Синтаксис Automation:
```
BOOL FilterObject( IDispatch* Object );
```
Синтаксис COM:
```
HRESULT FilterObject( IDispatch* Object, BOOL * Result );
Возвращаемое значение:
TRUE    - если объект подходит.
Входные параметры:
Object    - указатель на объект под курсором.
```
