> For the complete documentation index, see [llms.txt](https://mp4.gitbook.io/standard/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mp4.gitbook.io/standard/knowledge/plugins/2.2-korporativnye-plaginy/bim/nastroika-rabochikh-naborov.md).

# Настройка рабочих наборов

{% hint style="info" %}
Плагин предназначен для настройки файла конфигурации "WorksetConfig.json", который применяется плагином "[Рабочие наборы](/standard/knowledge/plugins/2.2-korporativnye-plaginy/shared/rabochie-nabory.md)" для распределения элементов по рабочим наборам, соответствующим [требованиям BIM стандарта](https://mp4.gitbook.io/standard/requirements/worksets).&#x20;
{% endhint %}

Файл конфигурации "WorksetConfig.json" представляет из себя [файл JSON](/standard/knowledge/bim/dev/format-json.md), который представляет из строгий формат, а поэтому может вызвать множество ошибок при ручном редактировании. Плагин предназначен для минимизации риска ошибок конфигурации и более наглядной визуализации правил распределения.

### Области интерфейса плагина

<figure><img src="https://2028123183-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq0Ee0SvSzmZfXRXepEDT%2Fuploads%2FGmmcqWxnVAfYpBFo893i%2F111.png?alt=media&amp;token=1f15d0ab-0e30-4e4c-bce7-fb9d92ca7a1d" alt=""><figcaption></figcaption></figure>

1 - **Область групп рабочих наборов**: общих или по разделу;

2 - Область списка рабочих наборов выбранной группы наборов;

{% hint style="info" %}
Значения вышеобозначенных областей строго регламентируются требованиями BIM-стандарта и недоступны для редактирования.
{% endhint %}

3 - Область правил, которая состоит из следующих критериев:

* **Включить/Исключить** – позволяет настроить включение или исключение элементов в выбранном рабочем наборе;
* **Категория** – представляет из себя список категорий, которым можно назначить рабочий набор;
* **Имя семейства содержит** – правило позволяет четко обозначить имя семейства, либо набор символов, которые должны содержаться в имени семейства. Значение поля может представлять из себя текст или цифры (например, для кода семейства), а также набор текста или чисел, разделенных между собой символом-разделителем ";".
* **Имя типоразмера содержит** – правило позволяет четко обозначить имя типоразмера семейства, либо набор символов, которые должны содержаться в имени типоразмера семейства.

4 - **Добавить правило** – кнопка добавления новых правил в выбранный рабочий набор;

5 - **Удалить правило** – кнопка удаления правил в выбранном рабочем наборе, которая доступна только при выборе конкретного правила;

6 - **Сохранить изменения** - кнопка сохранения измененных или новых правил.

{% hint style="info" %}
Новые или измененные правила подсвечиваются другим цветом, а пустые правила автоматически удаляются при сохранении.
{% endhint %}

### Правила распределения

Примеры:

<figure><img src="https://2028123183-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq0Ee0SvSzmZfXRXepEDT%2Fuploads%2F9T1pv64HK2ijlbRIIuuk%2Fimage.png?alt=media&amp;token=d6e2e3d2-761d-455c-8161-cda73fd54c04" alt=""><figcaption></figcaption></figure>

1. Рабочий набор данного правила будет назначен всем элементам в категории "Обобщённые модели";
2. Рабочий набор данного правила будет назначен всем семействам в модели, которые содержат в имени символы "120";
3. Рабочий набор данного правила будет назначен всем семействам в модели, которые содержат в имени или число от 130 до 145, или 160, или 256;
4. Рабочий набор данного правила будет назначен всем типоразмерам в модели, которые содержат в имени типоразмера слово "Обьем";
5. Из рабочего набора данного правила будут исключены элементы в категории "Обобщённые модели", имена семейств которых содержат в имени "300" и при этом содержат в имени типоразмера слово "пример" или "пример 2";

Символ "-" вводится для обозначения диапазона и работает только в случаях, когда обе границы диапазона - числа. Символ ";" вводится для обозначения логического "ИЛИ" и позволяет обозначать несколько критериев в одном правиле.

{% hint style="info" %}
Работа плагина не блокирует работу в Revit, что позволяет удобнее формировать правила.
{% endhint %}

### Структура файла конфигурации

Короткий пример структуры JSON с одной группой рабочих наборов и двумя рабочими наборами внутри, в каждом из которых по одному правилу;

```json
{
  "WorksetConfigFileVersion": null,
  "Description": null,
  "Disciplines": [
    {
      "DisciplineName": "Общие рабочие наборы",
      "Worksets": [
        {
          "Name": "#_Опорные плоскости",
          "Rules": [
            {
              "Action": "Включить",
              "Category": "OST_GenericModel",
              "FamilyNameContains": "",
              "TypeNameContains": ""
            }
          ]
        },
        {
          "Name": "#_Общие уровни и сетки",
          "Rules": [
            {
              "Action": "Включить",
              "Category": "OST_PlaceHolderDucts",
              "FamilyNameContains": "2213",
              "TypeNameContains": "322323"
            }
          ]
        }
      ]
    }
```

{% hint style="info" %}
Не рекомендуется вносить ручные правки напрямую в файл JSON, однако в случае необходимости необходимо строго соблюдать правила [работы с JSON](/standard/knowledge/bim/dev/format-json.md).
{% endhint %}
