e1337e4016
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>
27 lines
5.1 KiB
Markdown
27 lines
5.1 KiB
Markdown
---
|
|
title: "Общие сведения о прикладных библиотеках системы КОМПАС"
|
|
type: guide
|
|
api: [api7]
|
|
tags: [guide, api7, kompas]
|
|
sources:
|
|
- kompas_libs.html
|
|
---
|
|
|
|
*Создание прикладных библиотек *
|
|
|
|
Прикладная библиотека представляет собой набор команд. Команды библиотеки можно вызывать следующими способами:
|
|
•использование меню библиотеки,
|
|
•использование кнопок библиотечной или пользовательской панели инструментов,
|
|
•использование механизма хот-точек,
|
|
•обработка событий, например, сдвиг, перемещение библиотечного элемента и т.п.,
|
|
•команды контекстного меню Редактировать для библиотечного элемента 3D,
|
|
•двойной щелчок мышью по библиотечному элементу в окне документа.
|
|
Идентификатор меню команд определяется с помощью предопределенной функции LIBRARYID. Если эта функция отсутствует, то считается, что библиотека имеет одну команду, имя которой совпадает с именем библиотеки.
|
|
Имя библиотеки определяется с помощью предопределенной функции LIBRARYNAME. Если имя библиотеки не определено, то ей присваивается имя Неименованная библиотека. Имя библиотеки, полученное при помощи функции LIBRARYNAME, передается в создаваемые библиотекой макроэлементы. При редактировании таких макроэлементов по двойному щелчку мыши или через интерфейс хот-точек, система находит библиотеку для редактирования по имени файла, имени библиотеки, по номеру команды.
|
|
Функция DisplayLibraryName позволяет получить имя библиотеки, которое будет отображаться на экране во время работы системы КОМПАС (в меню, в менеджере библиотек, на панелях). Функция DisplayLibraryName является необязательной. Если эта функция не используется, то в качестве имени библиотеки будет отображаться возвращаемое значение функции LibraryName.
|
|
Отображаемых команд может быть не более 1000. Номера команд должны лежать в диапазоне 1...1000. В ресурсном файле для каждой команды можно определить слайд или битмап для отрисовки в окне менеджера библиотек, в окне или диалоге библиотеки. Чтобы слайд отрисовывался, нужно определить размер окна слайда с помощью предопределенной функции LIBRARYBMPSIZE, размер слайда произвольный. Этот же слайд или битмап масштабируется и отрисовывается в виде иконки размером 22 на 22 пиксела рядом с именем команды в менеджере библиотек, если задан режим отображения библиотеки Панель. Идентификаторы слайдов равны номерам соответствующих команд.
|
|
Для каждой команды можно определить значок на кнопке Панели инструментов. Для использования значков нескольких размеров, в библиотеке следует определить функцию LibraryBmpBeginID.
|
|
Если она не будет определена, система будет использовать старую систему использования значков (интервал идентификаторов значков начинается с 1000, значки автоматически масштабируются к нужному размеру).
|
|
Если такой значок не определен, то кнопку вызова команды разместить на Панели инструментов нельзя.
|
|
Для команд меню библиотеки или кнопок вызова команд на инструментальных панелях может быть организован вызов разделов справочной системы библиотеки.
|