Примеры

Добавление префикса в наименование автогрупп

Наименование автогрупп берется из значений атрибута, указанного в autoGroupBy. Опциональный атрибут prefixGroupName добавляет префикс в наименование групп. Рассмотрим пример правила для группы «Стены»:

Правило декомпозиции группы «Стены».
 1{
 2  "groupName": "Стены",
 3  "filter": {
 4    "valueName": "ObjectType",
 5    "instruction": "exact",
 6    "value": "Wall"
 7  },
 8  "subgroups": [
 9    {
10      "autoGroupBy": "Многослойный материал/Name",
11      "subgroups": [
12        {
13          "autoGroupBy": "parameter/Толщина стены",
14          "prefixGroupName": "Толщина стены: "
15        }
16      ]
17    }
18  ]
19}

В группу «Стены» отбираются все объекты ЦИМ с ObjectType равным Wall. Декомпозиция объектов данной группы будет строится в два уровня. На первом уровне все объекты будут распределены по автогруппам по атрибуту Многослойный материал/Name. На втором - каждая сформированная подгруппа будет декомпозирована ещё на более мелкие подгруппы по атрибуту parameter/Толщина стены. Значение данного атрибута - это расчетная характеристика (численное значение) толщины стены. Чтобы наименование автогрупп сделать более информативным добавляем префикс «Толщина стены: « в параметре prefixGroupName:

_images/prefixGroupName.png

Группировка без объектов

Существует возможность создавать группы, которые не будут хранить объекты, а только подгруппы. Рассмотрим пример правила для группы «Трубопроводные системы»:

Правило декомпозиции группы «Трубопроводные системы».
 1{
 2    "groupName": "Трубопроводные системы",
 3    "storeSubgroupsOnly": true,
 4    "subgroups": [
 5        {
 6            "groupName": "Оборудование",
 7            // параметры группы
 8        },
 9        {
10            "groupName": "Отопительное оборудование",
11            // параметры группы
12        },
13        {
14            "groupName": "Санитарные приборы",
15            // параметры группы
16        },
17        {
18            "groupName": "Трубы",
19            // параметры группы
20        },
21        {
22            "groupName": "Детали трубопровода",
23            // параметры группы
24        },
25        {
26            "groupName": "Трубопроводная арматура",
27            // параметры группы
28        }
29    ]
30}

Группа «Трубопроводные системы» является подобием раздела для входящих в нее подгрупп, но сама по себе объектов не хранит, так как указан параметр "storeSubgroupsOnly": true (по-умолчанию значение равно false). При значении, равным false, все объекты, не вошедшие в подгруппы, стали бы принадлежать данной группе, поскольку у группы «Трубопроводные системы» не указан фильтр, т.е. она будет принимать все несгруппированные объекты ЦИМ:

storeSubgroupsOnly = true

storeSubgroupsOnly = false

_images/storesubgroupsonly_true.png _images/storesubgroupsonly_false.png