Сoздание параметров¶
Все пользовательские параметры описываются в файле JSON.
Примечание
Для описание параметров можно пользоваться любым текстовым редактором с подсветкой синтаксиса JSON
Файл должен состоять из объекта JSON metadata
, массивов styleParameters
и ports
:
1{
2 "metadata" : {..},
3 "styleParameters" : [..],
4 "ports" : [..]
5}
Метаданные¶
В объекте metadata
описывается общая информация о категории оборудования (отображается в диалоге «Категории», но не в самом стиле объекта Renga).
1{
2 "metadata" : {
3 "defaultName" : "Название оборудования",
4 "description" : "Описание",
5 "version" : "1.0.0",
6 "author" : "Иванов Иван Иванович"
7 },
8 ..
9}
Параметры стиля¶
Массив styleParameters
— это упорядоченная коллекция групп параметров, которые будут представлены в диалоге стиля объекта. Каждая группа параметров — это объект JSON со своими атрибутами. В массиве params
перечисляются параметры, входящие в эту группу.
1{
2 ..
3 "styleParameters" : [
4 {
5 "name" : "General",
6 "text" : "Общие",
7 "params" : [..]
8 },
9 {
10 "name" : "Dimensions",
11 "text" : "Габаритные размеры",
12 "params" : [..]
13 },
14 ..
15 ],
16 ..
17}
Соглашение об описании параметров
Для унификации отображения параметров в диалоге стиля объекта принято группу «Общие» делать первой в списке, второй — группу «Габаритные размеры», а затем указывать группы «Порты» или «Точки подключения».
Пример:
Для любого параметра обязательным является атрибут name
. Он является ключом для получения значения этого параметра в скриптах. См. следующую главу Назначение параметров
Типы параметров диалога стиля объекта¶
Параметры можно создавать различных типов. В зависимости от используемого типа они по-разному отображаются во вкладке «Параметры» диалога стиля объекта.
ID¶
Используется для указания материала объекта.
Примечание
Материал задается один на весь объект.
Задается с помощью следующих атрибутов:
name
— имя параметра,text
— отображаемое имя параметра в диалоге стиля Renga,type
— тип параметра,entityTypeId
— указывает на уникальный идентификатор системного типа Renga — Материал. См. Справку по API Renga.
Соглашение об описании параметров
Параметр «Материал» указывается в группе «Общие»
1{
2 "name" : "material",
3 "text" : "Материал",
4 "type" : "Id",
5 "entityTypeId" : "0abcb18f-0aaf-4509-bf89-5c5fad9d5d8b"
6}
Данный параметр отображается в виде раскрывающегося списка (Combobox) для выбора пользователем нужного материала.
UserEnum¶
Указывается при задании возможных вариантов исполнения объекта.
Для задания параметра типа UserEnum используются следующие атрибуты:
name
— имя параметра,text
— отображаемое имя параметра в диалоге стиля Renga,type
— тип параметра,default
— значение по-умолчанию,items
— список вариантов.
1{
2 "name" : "bodyShape",
3 "text" : "Форма корпуса",
4 "type" : "UserEnum",
5 "default" : "volute",
6 "items" : [
7 {
8 "key" : "rectangle",
9 "text" : "Прямоугольник"
10 },
11 {
12 "key" : "circle",
13 "text" : "Круг"
14 },
15 {
16 "key" : "volute",
17 "text" : "Спираль"
18 }
19 ]
20}
Данный параметр отображается в виде раскрывающегося списка (Combobox) для выбора пользователем нужного значения.
CoreEnum¶
Параметры типа CoreEnum используются для указания:
Вида соединения точек подключения (для трубопроводного оборудования PipeConnectorType, для вентиляционного оборудования DuctConnectorType)
Диаметра резьбы (в случае резьбового соединения труб PipeThreadSize)
Для определения таких параметров используются следующие атрибуты:
name
— имя параметраtext
— отображаемое имя параметра в диалоге стиля Rengatype
— тип параметраcoreEnumType
— идентификатор системных перечисленийdefault
— значение по-умолчанию
1{
2 "name" : "connectorType",
3 "text" : "Вид соединения",
4 "type" : "CoreEnum",
5 "coreEnumType" : "DuctConnectorType",
6 "default" : "DriveSlip"
7}
Данный параметр отображается в виде раскрывающегося списка (Combobox) для выбора пользователем нужного значения.
Length¶
Используется для любого метрического параметра (длина, ширина, диаметр,..) для указания пользовательского значения.
Для задания параметра типа Length используются следующие атрибуты:
name
— имя параметраtext
— отображаемое имя параметра в диалоге стиля Rengatype
— тип параметраdefault
— значение по-умолчаниюmin
— минимально возможное значениеmax
— максимально возможное значение
1{
2 "name" : "nominalDiameter",
3 "text" : "Номинальный диаметр",
4 "type" : "Length",
5 "default" : 225,
6 "min" : 10,
7 "max" : 1000000
8}
Данный параметр отображается в виде поля для ввода пользователем нужного значения.
Если пользователь захочет ввести значение, которое находится вне диапазона, установленного атрибутами min
и max
, то Renga просигнализирует о недопустимом значении красной рамкой в поле ввода и не примет его:
Angle¶
Используется для параметра, указывающего значение угла в градусах.
Для задания параметра типа Angle используются следующие атрибуты:
name
— имя параметраtext
— отображаемое имя параметра в диалоге стиля Rengatype
— тип параметраdefault
— значение по-умолчаниюmin
— минимально возможное значениеmax
— максимально возможное значение
1{
2 "name" : "angleBetweenInletAndBody",
3 "text" : "Угол между входом и корпусом",
4 "type" : "Angle",
5 "default" : 135,
6 "min" : 0,
7 "max" : 180
8}
Данный параметр отображается в виде поля для ввода пользователем нужного значения.
Boolean¶
Параметр, принимающий только два значения — Да/Нет.
Для задания параметра типа Boolean используются следующие атрибуты:
name
— имя параметраtext
— отображаемое имя параметра в диалоге стиля Rengatype
— тип параметраdefault
— значение по-умолчанию
1{
2 "name" : "isMounted",
3 "text" : "Навесное",
4 "type" : "Boolean",
5 "default" : false
6}
Данный параметр отображается в виде раскрывающегося списка (Combobox) для выбора пользователем нужного значения.
Real и Integer¶
Параметры для указания числового значения. Real — действительное число (с дробной частью), Integer — целое число.
Для задания параметров типа Real или Integer используются следующие атрибуты:
name
— имя параметраtext
— отображаемое имя параметра в диалоге стиля Rengatype
— тип параметраdefault
— значение по-умолчаниюmin
— минимально возможное значениеmax
— максимально возможное значение
Данные параметры отображаются в виде поля для ввода пользователем нужного значения.
String¶
Параметры для указания строкового значения (текста).
Для задания параметра типа String используются следующие атрибуты:
name
— имя параметраtext
— отображаемое имя параметра в диалоге стиля Rengatype
— тип параметраdefault
— значение по-умолчанию
Данный параметр отображается в виде поля для ввода пользователем нужного значения.
Параметры точек подключения¶
Массив ports
содержит описание точек подключения (портов) оборудования. Каждое описание порта представляет собой объект JSON, в качестве имени name
которого указывается имя порта. Количество объектов JSON равно количеству портов. В портах перечисляются категории инженерных систем, к которым будет подключаться оборудование и их параметры.
flowDirection
— направление потока. Указывается идентификатор согласно таблице:
идентификатор |
описание |
---|---|
Inlet |
вход |
Outlet |
выход |
InletAndOutlet |
неопределенный |
Внимание
Если в JSON не указан атрибут flowDirection
, то направление потока в порту будет иметь значение InletAndOutlet
systemCategories
представляет собой массив идентификаторов категорий систем (трубопроводных, воздуховодных или электрических), к которым можно будет подключать оборудование в выбранной категории.
1{
2 ..
3 "ports" : [
4 {
5 "name" : "coldWater",
6 "text" : "Бытовое холодное водоснабжение",
7 "flowDirection" : "Inlet"
8 "systemCategories" : [
9 "DomesticColdWater"
10 ]
11 },
12 {
13 "name" : "hotWater",
14 "text" : "Бытовое горячее водоснабжение",
15 "flowDirection" : "Inlet"
16 "systemCategories" : [
17 "DomesticHotWater"
18 ]
19 },
20 {
21 "name" : "sewage",
22 "text" : "Канализация",
23 "flowDirection" : "Outlet"
24 "systemCategories" : [
25 "DomesticSewage",
26 "IndustrialSewage"
27 ]
28 },
29 ..
30 ]
31}
Идентификаторы категорий систем¶
Соглашение о наименовании
Все идентификаторы пишутся в PascalCase
Категории трубопроводных систем
идентификатор |
описание |
---|---|
DomesticColdWater |
бытовое холодное водоснабжение |
DomesticHotWater |
бытовое горячее водоснабжение |
DomesticSewage |
бытовая канализация |
Gas |
бытовое газоснабжение |
Firewater |
водяное пожаротушение |
Heating |
водяное теплоснабжение |
GaseousFireSuppression |
газовое пожаротушение |
Rainwater |
дождевая канализация |
IndustrialColdWater |
производственное холодное водоснабжение |
IndustrialHotWater |
производственное горячее водоснабжение |
IndustrialSewage |
производственная канализация |
OtherPipeSystem |
прочие трубопроводные системы |
Категории воздуховодных систем
идентификатор |
описание |
---|---|
Ventilation |
приточная вентиляция |
Exhaust |
вытяжная вентиляция |
Pressurization |
приточное дымоудаление |
SmokeExhaust |
вытяжное дымоудаление |
Vacuum |
пылеудаление |
OtherDuctSystem |
прочие воздуховодные системы |
Категории электрических систем
идентификатор |
описание |
---|---|
LightingCircuit |
осветительная сеть |
PowerCircuit |
силовая сеть |
OtherElectricalSystem |
прочие электрические системы |