v1.1
|
|
Шаблон стиля состоит из:
Файл описания параметров и портов в формате 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
необходимо задать ключ entityTypeId
, значение которого нужно указать в соответствии со справкой Renga API. В текущей версии, можно задать только ссылку на материал:
Секция 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 можно создать описание стиля объекта, т.е.:
Скрипт на языке 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)
, которая в качестве аргумента принимает имя порта, заданное в файле описания параметров и портов.