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>
23 KiB
title, type, api, domain, tags, sources
| title | type | api | domain | tags | sources | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Запрос к системе (Интерфейс ksRequestInfo) | interface |
|
|
|
|
*API интерфейсов. Версия 5 > Графический документ (Интерфейсы - ksDocument2D и IDocument2D) > Интерфейсы видов, слоев, запроса к системе *
Запрос к системе (Интерфейс ksRequestInfo)
Интерфейс параметров запроса к системе. Аналог данных параметров при использовании API экспортных функций - RequestInfo. Примечания:
- Данный интерфейс позволяет установить параметры процесcов: ksDocument2D::ksCursor; ksDocument2D::ksPlacement; ksDocument2D::ksCommandWindow.
- Методами данного интерфейса можно получить/изменить: •строку или идентификатор строки приглашения, •строку или идентификатор строки заголовка окна, •строку меню или идентификатор меню состава команд, •строку с именем стандартного курсора или идентификатор курсора, •признак динамического запроса, •идентификатор приложения (dll), в котором размещены ресурсы процесса, •функцию обратной связи процесса.
- Указатель на интерфейс можно получить при помощи метода KompasObject::GetParamStruct.
- В случае динамического запроса функция обратной связи вызывается по перемещению курсора. В случае статического запроса функция обратной связи вызывается по щелчку мыши. Смотрите также: KompasObject
commandsString - Cтрока меню состава команд
Тип данных:строка. Синтаксис Automation:
commandsString = iRequestInfo.commandsString Получить свойство(* )
iRequestInfo.commandsString = commandsString Установить свойство (* )
commandsString = iRequestInfo.GetCommandsString() Получить свойство (**)
iRequestInfo.SetCommandsString (commandsString) Установить свойство (**)
Примечание: Это свойство позволяет сформировать одноуровневое меню (без вложенных пунктов). Восклицательный знак разделяет пункты меню, например, "!Квадрат !Треугольник !Ромб".
commInstance - Идентификатор приложения (dll), в котором размещены ресурсы процесса
Тип данных:long. Синтаксис Automation:
commInstance = iRequestInfo.commInstance Получить свойство(* )
iRequestInfo.commInstance = commInstance Установить свойство (* )
commInstance = iRequestInfo.GetCommInstance() Получить свойство (**)
iRequestInfo.SetCommInstance (commInstance) Установить свойство (**)
Примечание: Функция устарела. Использование данной функции может привести к ошибке в библиотеке, собранной с конфигурацией x64. Рекомендуется использовать функцию ksRequestInfo::commInstanceEx.
commInstanceEx - Идентификатор приложения (dll), в котором размещены ресурсы процесса
Тип данных: VARIANT. Синтаксис Automation:
commInstance = Object.commInstanceEx Получить свойство(* )
Object.commInstanceEx = commInstance Установить свойство (* )
commInstance = Object.GetCommInstanceEx() Получить свойство (**)
Object.SetCommInstanceEx( commInstance ) Установить свойство (**)
Примечание: HINSTANCE библиотеки нужно передать через VARIANT, как VT_I4 в Win32 и VT_I8 в x64. Для правильного формирования _variant_t HINSTANCE нужно передавать через приведение к (LONG_PTR). В библиотеках, использующих автоматизацию, рекомендуется использовать данное свойство вместо ksRequestInfo::commInstance.
cursor - Cтрока с именем стандартного курсора
Тип данных:строка. Синтаксис Automation:
cursor = iRequestInfo.cursor Получить свойство(* )
iRequestInfo.cursor = cursor Установить свойство (* )
cursor = iRequestInfo.GetCursor() Получить свойство (**)
iRequestInfo.SetCursor (cursor) Установить свойство (**)
Примечание: Кроме стандартных констант из WINUSER.H можно использовать стандартные курсоры системы КОМПАС (ldefin2d.h): OCR_SELECT OCR_SNAP OCR_DEFAULT OCR_CATCH
cursorId - Идентификатор курсора из ресурса
Тип данных:long. Синтаксис Automation:
cursorId = iRequestInfo.cursorId Получить свойство(* )
iRequestInfo.cursorId = cursorId Установить свойство (* )
cursorId = iRequestInfo.GetCursorId() Получить свойство (**)
iRequestInfo.SetCursorId (cursorId) Установить свойство (**)
Примечание: Кроме стандартных констант из WINUSER.H можно использовать стандартные курсоры системы КОМПАС (ldefin2d.h): OCR_SELECT OCR_SNAP OCR_DEFAULT OCR_CATCH
dynamic - Признак динамического запроса
Тип данных:long. Значения признака:
| 0 | - статический запрос, |
|---|---|
| 1 | - динамический запрос. |
| Синтаксис Automation: |
dynamic = iRequestInfo.dynamic Получить свойство(* )
iRequestInfo.dynamic = dynamic Установить свойство (* )
dynamic = iRequestInfo.GetDynamic() Получить свойство (**)
iRequestInfo.SetDynamic (dynamic) Установить свойство (**)
Примечание: В случае динамического запроса функция обратной связи вызывается по перемещению курсора. В случае статического запроса функция обратной связи вызывается по щелчку мыши.
GetCallBackC - Получить имя функции обратной связи для процесса Cursor
Синтаксис Automation:
BSTR GetCallBackC();
Возвращаемое значение:
- строка с именем функции обратной связи.
GetCallBackCm - Получить имя функции обратной связи для процесса CommandWindow
Синтаксис Automation:
BSTR GetCallBackCm();
Возвращаемое значение:
- строка с именем функции обратной связи.
GetCallBackP - Получить имя функции обратной связи для процесса Placement
Синтаксис Automation:
BSTR GetCallBackP();
Возвращаемое значение:
- строка с именем функции обратной связи.
GetTakeObjectCallBack - Получить имя (в Automation) или адрес (в COM) функции обратной связи подчиненного процесса
Синтаксис Automation:
BSTR GetTakeObjectCallBack();
Возвращаемое значение:
- имя функции.
Синтаксис COM:
USERTAKEOBJECTCALLBACKPROC GetTakeObjectCallBack();
Возвращаемое значение:
- адрес функции.
Init - Инициализировать параметры
Синтаксис Automation:
BOOL Init();
Возвращаемое значение:
TRUE - в случае удачного завершения.
Примечание: Метод обнуляет все параметры запроса к системе.
menuId - Идентификатор меню состава команд из ресурса
Тип данных:long. Синтаксис Automation:
menuId = iRequestInfo.menuId Получить свойство(* )
iRequestInfo.menuId = menuId Установить свойство (* )
menuId = iRequestInfo.GetMenuId() Получить свойство (**)
iRequestInfo.SetMenuId (menuId) Установить свойство (**)
prompt - Cтрока приглашения
Тип данных:строка. Синтаксис Automation:
prompt = iRequestInfo.prompt Получить свойство(* )
iRequestInfo.prompt = prompt Установить свойство (* )
prompt = iRequestInfo.GetPrompt() Получить свойство (**)
iRequestInfo.SetPrompt (prompt) Установить свойство (**)
promptId - Идентификатор приглашения из ресурса
Тип данных:long. Синтаксис Automation:
promptId = iRequestInfo.promptId Получить свойство(* )
iRequestInfo.promptId = promptId Установить свойство (* )
promptId = iRequestInfo.GetPromptId() Получить свойство (**)
iRequestInfo.SetPromptId (promptId) Установить свойство (**)
SetCallBackC - Установить имя функции обратной связи для процесса Cursor
Синтаксис Automation:
BOOL SetCallBackC (LPCTSTR methodName,
long hInst,
LPDISPATCH dispatchOCX);
Входные параметры:
methodName - строка с именем функции обратной связи,
hInst - идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX - указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE - в случае удачного завершения.
Примечания:
- Если разрабатываемое приложение dll, тогда заполняется параметр hInst, а dispatchOCX = NULL.
- Если разрабатываемое приложение ActiceX DLL, тогда заполняется параметр dispatchOCX, а hInst = 0.
- Функция устарела. Использование данной функции может привести к ошибке в библиотеке, собранной с конфигурацией x64. Рекомендуется использовать функцию ksRequestInfo::SetCallBackCEx.
SetCallBackCEx - Установить имя функции обратной связи для процесса Cursor
Синтаксис Automation:
BOOL SetCallBackCEx(LPCTSTR methodName, VARIANT hInst, LPDISPATCH dispatchOCX);
Входные параметры:
methodName - строка с именем функции обратной связи,
hInst - идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX - указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Примечания: HINSTANCE библиотеки нужно передать через VARIANT, как VT_I4 в Win32 и VT_I8 в x64. Для правильного формирования _variant_t HINSTANCE нужно передавать через приведение к (LONG_PTR). В библиотеках, использующих автоматизацию, рекомендуется использовать данную функцию вместо ksRequestInfo::SetCallBackC.
SetCallBackCm - Установить имя функции обратной связи для процесса CommandWindow
Синтаксис Automation:
BOOL SetCallBackCm (LPCTSTR methodName,
long hInst,
LPDISPATCH dispatchOCX);
Входные параметры:
methodName - строка с именем функции обратной связи,
hInst идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE - в случае удачного завершения.
Примечания:
- Если разрабатываемое приложение dll, тогда заполняется параметр hInst, а dispatchOCX = NULL.
- Если разрабатываемое приложение ActiceX DLL, тогда заполняется параметр dispatchOCX, а hInst = 0.
- Функция устарела. Использование данной функции может привести к ошибке в библиотеке, собранной с конфигурацией x64. Рекомендуется использовать функцию ksRequestInfo::SetCallBackCmEx.
SetCallBackCmEx - Установить имя функции обратной связи для процесса CommandWindow
Синтаксис Automation:
BOOL SetCallBackCmEx(LPCTSTR methodName, VARIANT hInst, LPDISPATCH dispatchOCX);
Входные параметры:
methodName - строка с именем функции обратной связи,
hInst - идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX - указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Примечания: HINSTANCE библиотеки нужно передать через VARIANT, как VT_I4 в Win32 и VT_I8 в x64. Для правильного формирования _variant_t HINSTANCE нужно передавать через приведение к (LONG_PTR). В библиотеках, использующих автоматизацию, рекомендуется использовать данную функцию вместо ksRequestInfo::SetCallBackCm.
SetCallBackP - Установить имя функции обратной связи для процесса Placement
Синтаксис Automation:
BOOL SetCallBackP (LPCTSTR methodName,
long hInst,
LPDISPATCH dispatchOCX);
Входные параметры:
methodName - строка с именем функции обратной связи,
hInst - идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX - указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE - в случае удачного завершения.
Примечания:
- Если разрабатываемое приложение dll, тогда заполняется параметр hInst, а dispatchOCX = NULL.
- Если разрабатываемое приложение ActiceX DLL, тогда заполняется параметр dispatchOCX, а hInst = 0.
- Функция устарела. Использование данной функции может привести к ошибке в библиотеке, собранной с конфигурацией x64. Рекомендуется использовать функцию ksRequestInfo::SetCallBackPEx.
SetCallBackPEx - Установить имя функции обратной связи для процесса Placement
Синтаксис Automation:
BOOL SetCallBackPEx(LPCTSTR methodName, VARIANT hInst, LPDISPATCH dispatchOCX);
Входные параметры:
methodName - строка с именем функции обратной связи,
hInst - идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX - указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Примечания: HINSTANCE библиотеки нужно передать через VARIANT, как VT_I4 в Win32 и VT_I8 в x64. Для правильного формирования _variant_t HINSTANCE нужно передавать через приведение к (LONG_PTR). В библиотеках, использующих автоматизацию, рекомендуется использовать данную функцию вместо ksRequestInfo::SetCallBackP.
SetCursorText - Установить текст курсора
Синтаксис Automation:
BOOL SetCursorText( BSTR Text );
Примечание Функция работает при запущенном процессе. Текст сразу выдается над курсором.
SetTakeObjectCallBack - Установить функцию обратной связи для подчиненного процесса
Синтаксис Automation:
BOOL SetTakeObjectCallBack(LPCTSTR methodName, VARIANT hInst, LPDISPATCH dispatchOCX);
Входные параметры:
methodName - строка с именем функции обратной связи,
hInst - идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX - указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Прототип CallBack-функции:
Синтаксис Automation (пример для Visual C):
BOOL WINAPI TakeObjectCallBack(LPDISPATCH _object);
Входной параметр:
_object - указатель на интерфейс объекта ksEntity для подпроцессов создания объектов, - указатель на интерфейс сопряжения ksMateConstraint для подпроцессов создания сопряжений.
Синтаксис COM:
BOOL SetTakeProcessObject (USERTAKEOBJECTCALLBACKPROC callBack);
Входной параметр:
callBack - адрес функции.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Примечание: Тип функции обратной связи для подчиненного процесса typedef BOOL (__stdcall * USERTAKEOBJECTCALLBACKPROC)(LPUNKNOWN); Прототип CallBack-функции: Синтаксис COM:
BOOL __stdcall SelectFilterProc (LPUNKNOWN _object );
Входной параметр:
_object - указатель на интерфейс объекта ksEntity для подпроцессов создания объектов, - указатель на интерфейс сопряжения ksMateConstraint для подпроцессов создания сопряжений.
Примечание: Функция вызывается при завершении подпроцесса создания\редактирования подчиненного объекта HINSTANCE библиотеки нужно передать через VARIANT, как VT_I4 в Win32 и VT_I8 в x64. Для правильного формирования _variant_t HINSTANCE нужно передавать через приведение к (LONG_PTR).
TakeProcessObject - Объект, редактируемый в подпроцессе
Тип данных: Указатель на интерфейс IUnknown (в COM) или IDispatch ( в Automation ) Синтаксис Automation:
TakeProcessObject = Object.GetTakeProcessObject( ) Получить свойство (* )
Object.SetTakeProcessObject( Index, TakeProcessObject ) Установить свойство (**)
title - Cтрока заголовка окна
Тип данных:строка. Синтаксис Automation:
title = iRequestInfo.title Получить свойство(* )
iRequestInfo.title = title Установить свойство (* )
title = iRequestInfo.GetTitle() Получить свойство (**)
iRequestInfo.SetTitle (title) Установить свойство (**)
titleId - Идентификатор строки заголовка окна из ресурса
Тип данных:long. Синтаксис Automation:
titleId = iRequestInfo.titleId Получить свойство(* )
iRequestInfo.titleId = titleId Установить свойство (* )
titleId = iRequestInfo.GetTitleId() Получить свойство (**)
iRequestInfo.SetTitleId (titleId) Установить свойство (**)



