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>
19 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Интерфейс ksKompasObjectNotify/IKompasObjectNotify | interface |
|
|
|
*API интерфейсов. Версия 7 > Интерфейсы событий *
Интерфейс ksKompasObjectNotify/IKompasObjectNotify
| ksKompasObjectNotify | - интерфейс Automation |
|---|---|
| IKompasObjectNotify | - интерфейс COM |
| Интерфейс событий приложения. | |
| Позволяют контролировать состояние приложения. | |
| В Automation источником событий для подписки являются: | |
| •для API интерфейсов версии 5 - объект KompasObject. | |
| •для API интерфейсов версии 7 - объект IApplication. | |
| В СOM источника нет. |
ApplicationDestroy - Закрытие приложения
Синтаксис Automation:
BOOL ApplicationDestroy();
Возвращаемое значение:
- Не используется.
Синтаксис COM:
BOOL ApplicationDestroy();
Возвращаемое значение:
- Не используется.
Примечание:
- Источником события является интерфейс KompasObject.
- Индекс события задан в перечислении событий приложения....
- При обработке данного события необходимо отписаться от всех событий. Библиотека должна сама следить за отпиской событий.
BeginCloseAllDocument - Начало закрытия всех открытых документов
Синтаксис Automation:
BOOL BeginCloseAllDocument();
Синтаксис COM:
BOOL BeginCloseAllDocument();
Возвращаемое значение:
TRUE - закрытие всех открытых документов,
FALSE - закрытие всех открытых документов запрещено.
Примечание: Индекс события задан в перечислении событий приложения....
BeginConvertToSavePrevious - Начало конвертации документа перед записью в предыдущую версию
Синтаксис Automation:
BOOL BeginConvertToSavePrevious( LPDISPATCH pDoc, long docType, long saveVersion, LPDISPATCH saveToPreviusParam );
Синтаксис COM:
BOOL BeginConvertToSavePrevious( long pDoc, long docType, long saveVersion, LPUNKNOWN saveToPreviusParam );
Возвращаемое значение:
- Не используется.
Входные параметры:
pDoc - документ,
docType - тип документа.
saveVersion - версия сохранения документа из перечисления ksSaveDocumentVersionEnum,
saveToPreviusParam - параметры конвертации при сохранении в предыдущую версию ISaveToPreviusParam\ksSaveToPreviusParam.
BeginCreate - Начало создания документа (до диалога выбора типа)
Синтаксис Automation:
BOOL BeginCreate (long docType);
Синтаксис COM:
BOOL BeginCreate (long docType);
Входные параметры:
docName - тип документа,
0 - если пользователь запросил диалог создания документа.
Возвращаемое значение:
TRUE - создать документ,
FALSE - создание документа запрещено.
Примечание: Источником события является интерфейс KompasObject.
BeginDragOpenFiles - Открытие файлов перетаскиванием в окно Компас
Синтаксис Automation:
BOOL BeginDragOpenFiles( VARIANT * filesList, BOOL insert, BOOL * filesListChanged );
Синтаксис COM:
BOOL BeginDragOpenFiles( VARIANT * filesList, BOOL insert, BOOL * filesListChanged );
Возвращаемое значение:
TRUE - использовать стандартный механизм открытия\вставки файлов,
FALSE - библиотека самостоятельно обработала список файлов или запретила действия с данными файлами.
Входные параметры:
filesList - список файлов,
insert TRUE - выполняется вставка файлов в сборку, FALSE - выполняется открытие файлов.
Выходные параметры:
filesList - список файлов (библиотека может изменить список файлов),
filesListChanged - признак изменения списка файлов.
BeginOpenDocument - Начало открытия документа
Синтаксис Automation:
BOOL BeginOpenDocument (BSTR docName);
Входные параметры:
docName - имя файла документа.
Возвращаемое значение:
TRUE - открыть документ,
FALSE - не открывать документ.
Синтаксис COM:
BOOL BeginOpenDocument (char * docName);
Входные параметры:
docName - имя файла документа.
Возвращаемое значение:
TRUE - открыть документ,
FALSE - не открывать документ.
Примечание:
- Источником события является интерфейс KompasObject.
- Индекс события задан в перечислении событий приложения....
BeginOpenFile - Начало открытия документа (до диалога выбора имени)
Синтаксис Automation:
BOOL BeginOpenFile();
Синтаксис COM:
BOOL BeginOpenFile();
Возвращаемое значение:
TRUE - вызвать диалог открытия документа,
FALSE - вызов диалога открытия документа запрещен.
Примечание: Индекс события задан в перечислении событий приложения....
BeginRequestFiles - Запрос имен файлов
Синтаксис Automation:
BOOL BeginRequestFiles( long requestID, VARIANT * files );
Синтаксис COM:
BOOL BeginRequestFiles( long requestID, VARIANT * files );
Входные параметры:
requestID - тип запроса файлов из перечисления ksRequestFilesTypeEnum.
Выходные параметры:
files - имя файла или список SafeArray файлов.
Возвращаемое значение:
TRUE - использовать стандартный диалог выбора файлов,
FALSE - если список файлов задан - использовать файл или файлы из списка, если список файлов не задан - отмена выбора файлов.
Примечание:
- Если выбран один файл, то в VARIANT его имя можно положить как строку, тип VARIANT-а - VT_BSTR. Если выбрано несколько файлов, то их имена в VARIANT нужно положить как массив строк тип VARIANT-а - VT_ARRAY | VT_BSTR.
- Возможность множественного выбора и допустимые расширения файлов зависят от типа запроса файлов.
- В данных событиях, в отличие от других событий начала какого либо действия, требуется обработка трех состояний: •отказ пользователя или обработка события выполнена полностью на стороне библиотеки - событие возвращает FALSE; •событие возвращает TRUE и имя файла для продолжения выполнения команды - процесс продолжается без запуска диалога выбора файла или файлов; •событие возвращает TRUE, но имя файла не возвращается - запускается стандартный диалог выбора файла из системы КОМПАС.
ChangeActiveDocument - Переключение на другой активный документ
Синтаксис Automation:
BOOL ChangeActiveDocument (LPDISPATCH pDoc, long docType);
Входные параметры:
pDoc - указатель на интерфейс IDispatch открытого документа,
docType - тип документа DocType.
Возвращаемое значение:
- Не используется.
Синтаксис COM:
BOOL ChangeActiveDocument(long pDoc, int docType);
Входные параметры:
pDoc - указатель на открытый документ,
docType - тип документа DocType.
Возвращаемое значение:
- Не используется.
Примечание:
- Источником события является интерфейс KompasObject.
- Индекс события задан в перечислении событий приложения....
ChangeTheme - Событие изменения темы
Версия: КОМПАС v18 Синтаксис Automation:
BOOL ChangeTheme( long newTheme );
Синтаксис COM:
BOOL ChangeTheme( long newTheme );
Возвращаемое значение:
- Не используется.
Входные параметры
newTheme - новая тема из перечисления ksThemeEnum.
CreateDocument - Документ создан
Синтаксис Automation:
BOOL CreateDocument (LPDISPATCH pDoc, long docType);
Входные параметры:
pDoc - указатель на интерфейс IDispatch созданного документа,
docType - тип документа DocType.
Возвращаемое значение:
- Не используется.
Синтаксис COM:
BOOL CreateDocument (long pDoc, int docType);
Входные параметры:
pDoc - указатель на созданный документ,
docType - тип документа DocType.
Возвращаемое значение:
- Не используется.
Примечание:
- Источником события является интерфейс KompasObject.
- Индекс события задан в перечислении событий приложения....
EndConvertToSavePrevious - Завершение конвертации документа перед записью в предыдущую верcию
Синтаксис Automation:
BOOL EndConvertToSavePrevious( LPDISPATCH pDoc, long docType, long saveVersion, LPDISPATCH saveToPreviusParam );
Синтаксис COM:
BOOL EndConvertToSavePrevious( long pDoc, long docType, long saveVersion, LPUNKNOWN saveToPreviusParam );
Возвращаемое значение:
- Не используется.
Входные параметры
pDoc - документ,
docType - тип документа,
saveVersion - версия сохранения документа из перечисления ksSaveDocumentVersionEnum,
saveToPreviusParam - параметры конвертации при сохранении в предыдущую версию ISaveToPreviusParam\ksSaveToPreviusParam.
IsNeedConvertToSavePrevious - Начало сохранения документа в предыдущую верcию
Синтаксис Automation:
BOOL IsNeedConvertToSavePrevious( LPDISPATCH pDoc, long docType, long saveVersion, LPDISPATCH saveToPreviusParam, BOOL * needConvert );
Синтаксис COM:
BOOL IsNeedConvertToSavePrevious( long pDoc, long docType, long saveVersion, LPUNKNOWN saveToPreviusParam, BOOL * needConvert );
Возвращаемое значение:
- Не используется.
Входные параметры
pDoc - документ,
docType - тип документа,
saveVersion - версия сохранения документа из перечисления ksSaveDocumentVersionEnum,
saveToPreviusParam - параметры конвертации при сохранении в предыдущую версию ISaveToPreviusParam\ksSaveToPreviusParam.
Выходной параметр:
needConvert - требуется вернуть TRUE, если для сохранения в предыдущую версию требуется конвертация документа.
KeyDown - Клавиша нажата и удерживается нажатой
Синтаксис Automation:
BOOL KeyDown (long * key, long flags, BOOL sysKey);
Синтаксис COM:
BOOL KeyDown( long * key, long flags, BOOL sysKey);
Входные параметры:
key - код нажатой клавиши,
flags - флаг клавиатуры,
sysKey - признак нажатия системной клавиши.
Выходные параметры:
key - измененный код нажатой клавиши.
Возвращаемое значение:
TRUE - разрешить обработку нажатой клавиши,
FALSE - запретить обработку нажатой клавиши.
Примечание:
- Индекс события задан в перечислении событий приложения...
- Благодаря автоматическому повторению кода клавиши при удержанию ее нажатой, до появления события wm_keyup может выдаваться несколько событий wm_keydown. Значение разряда 30 параметра flags позволяет определить, было ли событие wm_keydown первым или является повторным во время удержания клавиши нажатой.
- Если библиотека обработала событие нажатия клавиши и нужно запретить обработку события другими подписчиками, то нужно обнулить код клавиши т.е. *key = 0 и вернуть FALSE, если нужно запретить обработку события системой КОМПАС.
KeyPress - Одиночное нажатие клавиши
Синтаксис Automation:
BOOL KeyPress (long * key, BOOL sysKey);
Синтаксис COM:
BOOL KeyPress (long * key, BOOL sysKey);
Входные параметры:
key - код нажатой клавиши,
flags - флаг клавиатуры,
sysKey - признак нажатия системной клавиши.
Выходные параметры:
key - измененный код клавиши.
Возвращаемое значение:
TRUE - разрешить обработку нажатой клавиши,
FALSE - запретить обработку нажатой клавиши.
Примечание:
- Индекс события задан в перечислении событий приложения....
- Если syskey = false, была нажата обычная клавиша, что соответствует событию WM_KEYUP, если SYSKEY = true, была нажата системная клавиша, что соответствует событию WM_SYSKEYUP.
- Если библиотека обработала событие нажатия клавиши и нужно запретить обработку события другими подписчиками, то нужно обнулить код клавиши т.е. *key = 0 и вернуть FALSE, если нужно запретить обработку события системой КОМПАС.
KeyUp - Клавиша отпущена
Синтаксис Automation:
BOOL KeyUp (long * key, long flags, BOOL sysKey);
Синтаксис COM:
BOOL KeyUp (long * key, long flags, BOOL sysKey);
Входные параметры:
key - код нажатой клавиши,
flags - флаг клавиатуры,
sysKey - признак нажатия системной клавиши.
Выходные параметры:
key - измененный код нажатой клавиши.
Возвращаемое значение:
TRUE - разрешить обработку нажатой клавиши,
FALSE - запретить обработку нажатой клавиши.
Примечание:
- Индекс события задан в перечислении событий приложения....
- Если syskey = false, была нажата обычная клавиша, что соответствует событию wm_keyup, если syskey = true, была нажата системная клавиша, что соответствует событию WM_KEYUP, если SYSKEY = true, была нажата системная клавиша, что соответствует событию WM_SYSKEYUP.
- Если библиотека обработала событие нажатия клавиши и нужно запретить обработку события другими подписчиками, то нужно обнулить код клавиши т.е. *key = 0 и вернуть FALSE, если нужно запретить обработку события системой КОМПАС.
OpenDocument - Документ открыт
Синтаксис Automation:
BOOL OpenDocument (LPDISPATCH pDoc, long docType);
Входные параметры:
pDoc - указатель на интерфейс IDispatch открытого документа,
docType - тип документа DocType.
Возвращаемое значение:
- Не используется.
Синтаксис COM:
BOOL OpenDocument(long pDoc, int docType);
Входные параметры:
pDoc - указатель на открытый документ,
docType - тип документа DocType.
Возвращаемое значение:
- Не используется.
Примечание:
- Источником события является интерфейс KompasObject.
- Индекс события задан в перечислении событий приложения....