Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/oformlenie.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

65 lines
4.3 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.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Оформление прикладных библиотек KsAPI"
type: guide
api: [api7]
tags: [guide, api7, oformlenie]
sources:
- oformlenie_ksapi_libs.html
---
*Создание прикладных библиотек *
## Оформление прикладных библиотек KsAPI
Функции оформления библиотек KsAPI
Пример простейшей C++ программы, оформленной в виде библиотеки КОМПАС-3D, выполненной на KsAPI
Функции обработчики приложения KsAPI
## Пример простейшей C++ программы, оформленной в виде библиотеки КОМПАС-3D, выполненной на KsAPI
// ---
#include <KsAPI.h>
#include <KompasLibraryActions.h>
static ksapi::IApplication * kompasApp = nullptr;
//------------------------------------------------------------------------------
/**
Обработчик команд библиотеки.
*/
//---
void RunCommand(unsigned int commandId, ksapi::RunCommandMode mode)
{
if (kompasApp)
kompasApp->ShowMessageBox(L"ПРИВЕТ !!!", L"", ksMessageWarning, ksButtonSetOk, true);
}
//------------------------------------------------------------------------------
/**
Инициализация библиотеки.
*/
//---
APP_EXP_FUNC(bool) LoadKompasLibrary(ksapi::IApplication & app, ksapi::IKompasLibraryActions & libaryActions)
{
libaryActions.AddRunCommandHandler(RunCommand);
kompasApp = &app;
return true;
}
//------------------------------------------------------------------------------
/**
Освобождения ресурсов перед выгрузкой библиотеки.
*/
//---
APP_EXP_FUNC(void) UnloadKompasLibrary()
{
}
Функция LoadKompasLibrary является точкой входа и передает управление КОМПАС-3D приложению. В этой функции происходит инициализация функторов оформления библиотек, использующая методы /*IKompasLibraryActions*/. В данном случае она добавляет обработчик команд приложения, используя метод /*IKompasLibraryActions::AddRunCommandHandler*/, при этом  RunCommand обеспечивает выдачу сообщения при вызове команды приложения.
## Функции оформления библиотек KsAPI
В отличие от ранних версий библиотек систем КОМПАС-3D, создаваемых с помощью  стандартных систем программирования и оформляемых в виде разделяемых DLL-библиотек  WINDOWS, у библиотек, создаваемых на прикладных интерфейсах KsAPI, появилась возможность компилирования и исполнения не только на WINDOWS-системах, но и на устройствах, имеющих операционные системы на базе ядра Linux.
Чтобы создать приложение с использованием интерфейсов KsAPI, следует использовать функции оформления библиотек  KsAPI. Они обеспечивают взаимодействие системы КОМПАС-3D и приложения.
Функции LoadKompasLibrary и UnloadKompasLibrary являются единственными и обязательными в исполняемом файле приложения. Их наличие позволяет системе КОМПАС-3D идентифицировать произвольный DLL-файл как собственную библиотеку.
LoadKompasLibrary является головной функцией библиотеки (точкой входа) и ей передается управление при обращении к приложению.
UnloadKompasLibrary является точкой выхода из KsAPI-приложения и выполняется при закрытии  КОМПАС-3D или при отключении библиотеки из Конфигуратора.