---
title: "Интерфейс ILibExternalObject"
type: interface
api: [api7]
tags: [interface, api7, ilibexternalobject]
sources:
  - ilibexternalobject.html
---

*API экспортных функций > Функции работы с графическим документом  > Создание графических объектов  > Работа с макроэлементами и библиотечными макроэлементами  > Внешние воздействия на библиотечный элемент *


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

Интерфейс внешних воздействий на библиотечный элемент 2D.
Иерархия:
IUnknown
ILibExternalObject
Описание.
Интерфейс должен быть реализован на стороне библиотеки разработчиком приложения, если необходимо отработать события, возникающие при редактировании библиотечного элемента 2D.
Режим поддержки интерфейса управления характерными точками включается в функции ksSetMacroParam.
Вызывается КОМПАС при редактировании библиотечного элемента 2D через функцию LibObjInterfaceEntry.
Является обработчиком событий, генерирующихся КОМПАС при редактировании библиотечного элемента 2D.
Интерфейс позволяет обработать события сдвига, поворота, деформации, удаления, восстановления из Undo для библиотечного элемента 2D, а также добавление элемента в модель.
Интерфейс реализован еще до реализации механизма событий в КОМПАС API.
Практически полностью дублирует события интерфейса IObject2DNotify.
Отличие состоит в том, что передача интерфейса КОМПАС осуществляется не через подписку а посредством предопределенной функции LibObjInterfaceEntry. Передача интерфейса КОМПАС может быть осуществлена из библиотеки, установленной в функции ksSetMacroParam, в то время как подписка на интерфейс IObject2DNotify может быть осуществлена с любой библиотеки.


## Lib_AddToModel - Библиотечный элемент 2D добавлен в модель

Синтаксис:
```
BOOL Lib_AddToModel();
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечания:
Этот метод позволяет отработать событие добавления библиотечного элемента в модель.


## Lib_Deform - Деформация библиотечного элемента 2D

Синтаксис:
```
BOOL Lib_Deform();
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечания:
Этот метод позволяет отработать событие деформации библиотечного элемента.


## Lib_Delete - Удаление библиотечного элемента 2D

Синтаксис:
```
BOOL Lib_Delete();
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечания:
Этот метод позволяет отработать событие удаления библиотечного элемента.


## Lib_Move - Сдвиг библиотечного элемента 2D

Синтаксис:
```
BOOL Lib_Move();
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечания:
Этот метод позволяет отработать событие сдвига библиотечного элемента.


## Lib_Restore - Воcстановление библиотечного элемента 2D из Undo

Синтаксис:
```
BOOL Lib_Restore();
Выходной параметр:
text    - текст для отображения рядом с курсором.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечания:
Этот метод позволяет отработать событие восстановления библиотечного элемента.


## Lib_Rotate - Поворот библиотечного элемента 2D

Синтаксис:
```
BOOL Lib_Rotate();
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечания:
Этот метод позволяет отработать событие поворота библиотечного элемента.


## Lib_Transform - Трансформация библиотечного элемента 2D

Синтаксис:
```
BOOL Lib_Transform();
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечания:
Этот метод позволяет отработать событие трансформации библиотечного элемента.
