v2.0
 
Шаблоны стилей арматурных изделий

Файл описания параметров

Файл описания параметров в формате JSON для арматурных изделий должен содержать сгруппированные параметры стиля арматурного изделия в следующем виде:

{
"metadata":{
"defaultName": "DefaultName",
"description": "Описание",
"version": "1.0.0",
"author": "Автор"
},
"styleParameters":[
{
"name": "Group1",
"text": "Группа 1",
"params": [
{
"name": "ParameterName",
"text": "Имя параметра",
"type": "Id",
"entityTypeId": "0000000-0000-0000-0000-000000000000"
}
]
},
{
"name": "Group2",
"text": "Группа 2",
"params": [
{
"name": "ParameterName",
"text": "Имя параметра",
"type": "Length",
"default": 595,
"min": 1,
"max": 1000000.0
}
]
}
]
}

В секции 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, в котором задать значения для выбора из списка:

"items" : [
{
"key" : "Item1",
"text" : "Значение 1"
},
{
"key" : "Item2",
"text" : "Значение 2"
},
{
"key" : "Item3",
"text" : "Значение 3"
}
]

Чтобы в параметрах стиля арматурного изделия пользователь мог выбрать стиль арматурного стержня, необходимо задать параметр типа Id в следующем виде:

{
"name": "RebarStyleId",
"text": "Стиль арматурного стержня",
"type": "Id",
"entityTypeId": "608edb78-96f3-40a6-a0ec-71000105581b"
}

Файлы скриптов

Скрипт на языке Lua может включать следующие элементы:

  1. Получение параметров из файла описания параметров.
  2. Получение стиля арматурного стержня из проекта.
  3. Описание геометрии арматурного стержня и набора арматурных стержней.
  4. Описание условной геометрии для условного отображения на чертеже.
  5. Настройка отображения параметров в редакторе стилей объекта.

Функции для получения параметров, добавления арматурных стержней и наборов арматурных стержней, задания условной геометрии и настройки отображения параметров стиля арматурного изделия находятся в пространстве имён Style. Функция получения стиля арматурного стержня находится в пространстве имен Project.

Получение параметров

Для получения параметров используется функция Style.GetParameter(), также для доступа к значениям параметров используется функция Style.GetParameterValues(), которая возвращает таблицу параметров.

Пример доступа к значению параметра с помощью Style.GetParameterValues():

local parameters = Style.GetParameterValues()
print(parameters.Dimensions.Width)
Пространство имён Style содержит функции задания геометрии, получения параметров и портов.
Definition GeometryStyleMethodRegistrator.h:12

В данном случае в лог будет напечатано значение параметра "Width" из группы параметров "Dimensions".

Для управления видимостью параметров в редакторе стилей объекта необходимо получить доступ к группе параметров или к объекту параметра с помощью функций Style.GetParameterGroup(groupName) и Style.GetParameter(groupName, parameterName).

Получение стиля арматурного стержня и его параметров

Для получения стиля арматурного стержня используется функция Project.GetRebarStyle(), которая возвращает стиль арматурного стержня по идентификатору. Затем необходимо привести полученный стиль арматурного стержня к контейнеру параметров с помощью функции CastToParameterContainer(). А затем можно получить параметры стиля с помощью функции GetParameterValues().

Пример получения диаметра арматурного стержня:

local style = Project.GetRebarStyle(rebarStyleId)
local parameters = CastToParameterContainer(style)
print(parameters:GetParameterValues().RebarDiameter)
ParameterContainer CastToParameterContainer(Entity entity)
Приводит сущность к контейнеру параметров, если преобразование разрешено.
Пространство имён Project содержит функции для получения стилей.

Описание арматурных стержней

Для описания арматурных стержней используются функции:

  • Style.AddRebar(), которая добавляет арматурный стержень и в качестве аргументов принимает стиль арматурного стержня и кривую, по которой он будет построен.
  • Style.AddRebarSet(), которая добавляет набор арматурных стержней и в качестве аргументов принимает стиль арматурного стержня и кривую, по которой он будет построен, а также шаг и количество.

Пример добавления группы арматурных стержней:

Style.AddRebarSet(rebarStyleId, CreateLineSegment3D(Point3D(-500, 0, 0),
Point3D(500, 0, 0)),
Vector3D(1, 0, 0), 200, 5)
Точка в трёхмерном пространстве.
Вектор в трёхмерном пространстве.
Curve3D CreateLineSegment3D(Point3D startPoint, Point3D endPoint)
Создаёт отрезок.

Детальная и упрощенная геометрия арматурных изделий создаётся из описания арматурных стержней автоматически.

Условная геометрия

Условная геометрия описывает условное отображение арматурного изделия на чертеже.

Для установки условной геометрии используется функция Style.SetSymbolicGeometry(modelGeometry), которая принимает в качестве аргумента модельную геометрию, созданную из двумерных геометрических примитивов.