> For the complete documentation index, see [llms.txt](https://windows.help.formit.autodesk.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://windows.help.formit.autodesk.com/ru/plugins/how-to-develop-plugins/additional-development-options/creating-a-toolbar-based-plugin.md).

# Создание подключаемого модуля панели инструментов

![](/files/GxIh1bnXWUnHhzcd7EYW)

### Структура файла manifest.json подключаемого модуля панели инструментов

Подключаемый модуль панели инструментов содержит файл *manifest.json* со следующей структурой.

```
{
    "PluginName": "Flip Along",
    "PluginType": "Toolbar",
    "PluginDescription": "Creates a toolbar with X, Y, and Z buttons to quickly flip selected geometry in the direction of the selected axis.",
    "ToolbarURL": "PLUGINLOCATION/toolbar.json",
    "Scripts": [
        "PLUGINLOCATION/flipalong.js"
    ]
}               
```

В дополнение к [стандартным свойствам JSON](/ru/plugins/how-to-develop-plugins/advanced-development/general-plugin-setup-in-the-manifest.md) подключаемый модуль панели инструментов содержит следующее специальное свойство JSON.

* ToolbarURL сообщает FormIt, что этот подключаемый модуль представляет собой панель инструментов и содержит ссылку на другой файл JSON, где описываются функциональные возможности панели инструментов.

### Настройка формата панели инструментов с помощью JSON

После создания файла манифеста, аналогичного файлу, описанному выше, необходимо создать файл toolbar.json, который определяет кнопки панели инструментов, их имена, текст, значки и функцию onClick, назначенную каждой кнопке. Файл JSON панели инструментов будет иметь следующий формат.

```
{
    "name": "Flip Along Toolbar",
    "buttons": [
        {
            "name": "Flip Along X",
            "command": "FlipAlongPlugin.ButtonX",
            "iconText": "X",
            "iconURL": "[Icon URL]"
        },
        {
            "name": "Flip Along Y",
            "command": "FlipAlongPlugin.ButtonY",
            "iconText": "Y",
            "iconURL": "[Icon URL]"
        },
        {
            "name": "Flip Along Z",
            "command": "FlipAlongPlugin.ButtonZ",
            "iconText": "Z",
            "iconURL": "[Icon URL]"
        }
    ]
}               
```

Файл toolbar.json содержит следующие свойства JSON.

* Свойство name представляет собой имя всей панели инструментов и используется для внутреннего связывания всех кнопок с единым меню панели инструментов.
* Свойство buttons — это отдельные кнопки, добавленные на панель инструментов. Панель инструментов может иметь любое количество кнопок.
* Свойство name определяет внутреннее имя кнопки, которое используется для связи кнопки с панелью инструментов, а также с функцией onClick кнопки.
* Свойство command определяет функцию кнопки, которая может быть реализована в одной из следующих форм: как функция JavaScript (которая может быть определена в сценарии, содержащемся в поле Scripts файла manifest.json) или как команда FormIt, например Draw: Circle. Для получения списка команд FormIt можно запустить подключаемый модуль Messages.
* Свойство iconText определяет текст подсказки и описания для кнопки. Если URL-адрес значка не указан, введенный текст создаст автоматически формируемый значок с отформатированным текстом.
* Свойство iconURL можно задать для определения пользовательского значка кнопки.

Когда все кнопки будут определены в файле toolbar.json, подключаемый модуль будет готов к работе.

Если требуется определить какие-то другие функции JavaScript, добавьте их в ту же папку, где находится файл manifest.json. Обязательно добавьте ссылку на файл в поле Scripts файла манифеста, чтобы программа FormIt могла найти файлы.
