![]() |
v2.0
|
|
Файл описания параметров в формате JSON для объектов инженерных систем должен содержать сгруппированные параметры стиля и данные для создания портов в следующем виде:
В секции metadata содержатся данные, которые будут отображаться в окне Категории в Renga Professional. Версия шаблона стиля должна быть задана в виде 3 чисел, разделенных точками, например "1.2.34".
Секция styleParameters содержит группы параметров, в которых описываются все возможные параметры стиля. Видимость групп параметров в редакторе стилей может включаться или отключаться с помощью функций Style Template API.
Каждый параметр должен содержать имя, описание и тип. В зависимости от типа параметра задаются другие данные.
Допустимые типы параметров:
| Значение | Описание |
|---|---|
| Integer | Целое число |
| Real | Действительное число |
| String | Строка |
| CoreEnum | Перечисление Style Template API |
| UserEnum | Пользовательское перечисление |
| Length | Длина в миллиметрах |
| Angle | Угол в десятичных градусах |
| Id | Идентификатор |
| Boolean | Булевый (true/false) |
Для всех типов параметров, кроме Id можно задать ключ default, значение которого будет значением параметра по умолчанию. Значение не может быть пустым.
Для числовых параметров можно задать минимальное и максимальное значения с помощью ключей min и max.
Для перечислений CoreEnum нужно задать ключ CoreEnumType, допустимые значения которого указаны в разделе Системные перечисления.
Для перечислений UserEnum нужно создать массив items, в котором задать значения для выбора из списка:
Чтобы в параметрах стиля пользователь мог выбрать материал, необходимо задать параметр типа Id в следующем виде:
Секция ports содержит группы параметров для описания портов.
Описание порта должно содержать имя, описание порта, направление потока flowDirection и набор допустимых категорий трубопроводной, воздуховодной или электрической системы systemCategories.
Допустимое направление потока flowDirection:
| Значение | Описание |
|---|---|
| Inlet | Вход |
| Outlet | Выход |
| InletAndOutlet | Вход и выход |
Категории трубопроводных систем:
| Значение | Описание |
|---|---|
| DomesticColdWater | Бытовое холодное водоснабжение |
| DomesticHotWater | Бытовое горячее водоснабжение |
| DomesticSewage | Бытовая канализация |
| Gas | Бытовое газоснабжение |
| Firewater | Водяное пожаротушение |
| Heating | Водяное теплоснабжение |
| GaseousFireSuppression | Газовое пожаротушение |
| Rainwater | Дождевая канализация |
| IndustrialColdWater | Производственное холодное водоснабжение |
| IndustrialHotWater | Производственное горячее водоснабжение |
| IndustrialSewage | Производственная канализация |
| OtherPipeSystem | Прочие трубопроводные системы |
Категории воздуховодных систем:
| Значение | Описание |
|---|---|
| Ventilation | Приточная вентиляция |
| Exhaust | Вытяжная вентиляция |
| Pressurization | Приточное дымоудаление |
| SmokeExhaust | Вытяжное дымоудаление |
| Vacuum | Пылеудаление |
| OtherDuctSystem | Прочие воздуховодные системы |
Категории электрических систем:
| Значение | Описание |
|---|---|
| LightingCircuit | Осветительная сеть |
| PowerCircuit | Силовая сеть |
| OtherElectricalSystem | Прочие электрические системы |
Описание портов аксессуара трубопровода и аксессуара воздуховода может содержать параметр portRole, позволяющий определить роль порта. Допустимые значения:
| Значение | Описание |
|---|---|
| TransitPort | Транзитный порт — порт для размещения объекта на трассе. |
| EndPort | Конечный порт — порт для создания трассы от объекта. |
Например, чтобы аксессуар трубопровода можно было и разместить на трубопроводной трассе, и подключить к электрической системе, опишите порты следующим образом:
Скрипт на языке Lua может включать следующие элементы:
Функции для получения параметров, задания геометрии, положения портов, параметров соединения и настройки отображения параметров стиля объекта находятся в пространстве имён Style.
Для получения параметров используется функция Style.GetParameter(), также для доступа к значениям параметров используется функция Style.GetParameterValues(), которая возвращает таблицу параметров.
Пример доступа к значению параметра с помощью Style.GetParameterValues():
В данном случае в лог будет напечатано значение параметра "BodyWidth" из группы параметров "Dimensions".
Для управления видимостью параметров в редакторе стилей объекта необходимо получить доступ к группе параметров или к объекту параметра с помощью функций Style.GetParameterGroup(groupName) и Style.GetParameter(groupName, parameterName).
Детальная геометрия описывает модель объекта. Для установки детальной геометрии используется функция Style.SetDetailedGeometry(modelGeometry), которая принимает в качестве аргумента модельную геометрию, созданную с помощью функций и классов Style Template API.
Например:
Символьная геометрия описывает символьное отображение объекта на чертеже. Её можно создавать для следующих типов объектов:
Для установки символьной геометрии используется функция Style.SetSymbolGeometry(modelGeometry), которая принимает в качестве аргумента модельную геометрию, созданную с помощью функций и классов Style Template API.
Условная геометрия описывает условное отображение объекта на чертеже. Её можно создавать для следующих типов объектов:
Для установки условной геометрии используется функция Style.SetSymbolicGeometry(modelGeometry), которая принимает в качестве аргумента модельную геометрию, созданную с помощью функций и классов Style Template API.
В скрипте можно задать:
Получить доступ к порту можно с помощью функции Style.GetPort(portName), которая в качестве аргумента принимает имя порта, заданное в файле описания параметров и портов.