Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/iprocedureslibrary.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

267 lines
12 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Интерфейс IProceduresLibrary"
type: interface
api: [api7]
tags: [interface, api7, iprocedureslibrary]
sources:
- iprocedureslibrary.html
---
*API интерфейсов. Версия 7 > Менеджер библиотек  > Интерфейс ILibrary  > ILibrary - методы *
## Интерфейс IProceduresLibrary
Интерфейс прикладной библиотеки КОМПАС.
Иерархия:
IKompasAPIObject
ILibrary
IProceduresLibrary
Примечание:
1. Интерфейс позволяет работать с прикладной библиотекой (*.rtw или *.dll), зарегистрированной в Менеджере библиотек. Можно получить стиль отображения библиотеки (панель, окно, диалог, меню) и массив процедур, реализованных в библиотеке.
2. Данный интерфейс можно получить следующими способами:
•у интерфейса коллекции прикладных библиотек IProceduresLibraries c помощью свойства IProceduresLibraries::Item,
•у интерфейса ILibraryManager с помощью свойства ILibraryManager::CurrentLibrary,
ILibraryManager::SystemControlStartLibrary.
## AddIns - Признак AddIn-библиотеки
Тип данных: BOOL
Синтаксис Automation:
```
AddIns = iObject.AddIns Получить свойство (* )
AddIns = iObject.GetAddIns Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_AddIns (&AddIns) Получить свойство
```
Примечание:
Если библиотека является расширением, свойство вернет TRUE.
## CurrentCommand - Текущая команда библиотеки
Тип данных: long
Синтаксис Automation:
```
CurrentCommand = iObject.CurrentCommand Получить свойство (* )
CurrentCommand = iObject.GetCurrentCommand Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_CurrentCommand (&CurrentCommand) Получить свойство
```
Примечание:
Свойство позволяет получить текущую команду библиотеки. Текущая команда - это команда, которая выполняется в данный момент времени.
## Delete - Удалить описание библиотеки
Синтаксис Automation:
```
BOOL Delete();
```
Синтаксис COM:
```
HRESULT Delete( BOOL* PVal );
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
```
## Dictionary - Словарь
Тип данных: Указатель на интерфейс IKompasDictionary
Синтаксис Automation:
```
Dictionary = Object.Dictionary Получить свойство (* )
Dictionary = Object.GetDictionary() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Dictionary( &Dictionary ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v23
## Executable - Признак выполнения библиотеки
Тип данных: BOOL
Синтаксис Automation:
```
Executable = iObject.Executable Получить свойство (* )
Executable = iObject.GetExecutable() Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Executable( &Executable ) Получить свойство
```
Примечание:
Если выполняется команда библиотеки или отрабатывается событие, на которое подписалась библиотека, то свойство вернет TRUE.
## ExternalInterface - Получить указатель внешнего интерфейса
Тип данных: Указатель на интерфейс IDispatch
Синтаксис Automation:
```
ExternalInterface = Object.ExternalInterface Получить свойство (* )
ExternalInterface = Object.GetExternalInterface() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ExternalInterface( &ExternalInterface ) Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Addref на выдаваемый интерфейс не выполняется.
3. Внешний интерфейс можно использовать для обмена данными между двумя приложениями. Первое приложение передает интерфейс при вызове метода ILibrary::Execute.
4. После выполнения ILibrary::Execute свойство ExternalInterface возвращает NULL.
## IconsFont - Имя файла шрифта для панели команд библиотеки
Тип данных: BSTR
Синтаксис Automation:
```
IconsFont = Object.IconsFont Получить свойство (* )
IconsFont = Object.GetIconsFont() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IconsFont( &IconsFont ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.
## LibraryName - Имя библиотеки, возвращаемое функцией LIBRARYNAME или LIBRARYID
Тип данных: BSTR
Синтаксис Automation:
```
LibraryName = Object.LibraryName Получить свойство (* )
LibraryName = Object.GetLibraryName() Получить свойство (**)
```
Синтаксис COM:
```
Object.get_LibraryName( &LibraryName ) Получить свойство
```
Примечание:
Свойство возвращает имя библиотеки, возвращаемое функцией LIBRARYNAME или LIBRARYID.
Отображаемое имя библиотеки может отличаться, если в библиотеке реализована функция DisplayLibraryName.
Для получения отображаемого имени библиотеки используется свойство ILibrary::Name.
При получении библиотеки по имени из коллекции можно использовать как отображаемое, так и внутреннее имя.
Свойство доступно только для чтения.
## OpenHelp - Открыть справку приложения
Синтаксис Automation:
```
BOOL OpenHelp( long HelpId );
```
Синтаксис COM:
```
HRESULT OpenHelp( long HelpId, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
Входные параметры:
HelpId - идентификатор страницы справки.
Версия КОМПАС v22
```
## Procedures - Коллекция процедур библиотеки
Тип данных: указатель на интерфейс IProcedures
Синтаксис Automation:
```
Procedures = iObject.Procedures Получить свойство (* )
Procedures = iObject.GetProcedures Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Procedures (&Procedures) Получить свойство
```
Примечание:
Свойство позволяет получить коллекцию процедур библиотеки.
## Style - Стиль отображения библиотеки
Тип данных: ksLibraryStyleEnum
Синтаксис Automation:
```
Style = iObject.Style Получить свойство (* )
iObject.Style = Style Установить свойство (* )
Style = iObject.GetStyle() Получить свойство (**)
iObject.SetStyle (Style) Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Style (&Style) Получить свойство
iObject->put_Style (Style) Установить свойство
```
Примечание:
Позволяет получить и установить стиль отображения библиотеки.
## SystemControlStart - Передать управление системе из под библиотеки
Синтаксис Automation:
```
ksSystemControlStartEnum SystemControlStart( BSTR menuCommand );
```
Синтаксис COM:
```
HRESULT SystemControlStart([in] BSTR menuCommand, [out, retval] ksSystemControlStartEnum* pVal);
Входные параметры:
PathFolder - путь к папке,
post - TRUE - отложенное выполнение.
Возвращаемое значение:
ksSystemControlStartEnum
```
Примечание:
Библиотечная функция отдает управление КОМПАС-ГРАФИК для интерактивной доработки документа. Возврат в библиотечную функцию будет осуществлен после нажатия команды в меню Библиотеки, обозначенной строкой menuCommand.
Если строка не задана, то ей автоматически будет присвоено значение "Вернуться в библиотеку" (функция вернет ksSCStoppedByMenuCommand). Или при вызове из этой же библиотеки SystemControlStop (функция вернет ksSCStopItself). Библиотека, находясь в этом режиме, как бы замирает на вызове SystemControlStart. Если этот режим вызван в другой библиотеке, то в данной библиотеке режим выполняться не будет (функция вернет ksSCStartedByAnotherLibrary). Только одна библиотека может находиться в режиме SystemControlStart.
## SystemControlStop - Вернуть управление в библиотеку
Синтаксис Automation:
```
BOOL SystemControlStop();
```
Синтаксис COM:
```
HRESULT SystemControlStop ([out, retval] VARIANT_BOOL* pVal);
Возвращаемое значение:
TRUE - в случае успеха,
FALSE - в случае неудачи.
```
Примечание:
Метод позволяет вернуть управление в библиотеку, если она находится в режиме SystemControlStart.
## UniqueId - Идентификатор библиотеки
Тип данных: long
Синтаксис Automation:
```
UniqueId = iObject.UniqueId Получить свойство (* )
UniqueId = iObject.GetUniqueId Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_UniqueId (&UniqueId) Получить свойство
```
Примечание:
Свойство позволяет получить идентификатор библиотеки. Идентификатор присваивается библиотеке, когда она подключена к системе. В этот момент библиотека отображается в меню Библиотеки и в Менеджере библиотек рядом с именем библиотеки взводится «галочка». У подключенной библиотеки можно выполнять команды (процедуры).