![]() |
v4.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 в следующем виде:
Скрипт на языке Lua должен включать следующие элементы:
Для управления параметрами стиля армирования необходимо описать функцию SetStyleParameterStates(). В эту функцию передается экземпляр класса ParameterContainer(), с помощью которого можно менять состояние параметров.
Пример управления состоянием параметра с помощью SetStyleParameterStates():
Чтобы создать армирование объекта необходимо описать функцию CreateObjectReinforcement(). В эту функцию передается армируемый объект и параметры стиля армирования. CreateObjectReinforcement() должна возвращать экземпляр класса ReinforcementContainer().
Армирование располагается в объектах относительно центра локальной системы координат объекта. Положение центра локальной системы координат зависит от типа объекта.
Центр локальной системы координат столбчатого фундамента расположен в центре его нижней грани. Координатные оси расположены следующим образом:

Центр локальной системы координат стены расположен в начале основания прямого участка слоя основы без учета участка соединения. Ось OX' направлена по касательной к центральной линии слоя основы стены.

Центр локальной системы координат перекрытия расположен в первой точке контура перекрытия по центру слоя основы. Ось OX' локальной системы координат перекрытия направлена под углом армирования перекрытия к оси OX глобальной системы координат модели здания.

Для получения стиля арматурного стержня используется функция GetRebarStyle(), которая возвращает стиль арматурного стержня по идентификатору. Затем можно получить значения параметров стиля с помощью функции GetParameterValues().
Пример получения диаметра арматурного стержня:
Для решения различных задач армирования, например задания защитных слоёв от грани объекта или описания выпусков, необходимо выбрать грани объектов. Для этого в Renga STDL предусмотрены селекторы граней армируемого объекта. Существуют следующие виды селекторов:
Для описания ряда стержней арматурной сетки используется структура RebarRowParameters. Ее можно создать, передав необходимые параметры: стиль арматурного стержня, тип раскладки.
Раскладка с защитой граней. Раскладка арматурных стержней между опорными стержнями, которые расставляются у вертикальных или горизонтальных граней. При такой раскладке расстояние между стержнями не всегда равно заданному шагу и может быть скорректировано для некоторых стержней алгоритмом раскладки. Для исключения ситуации с наложением стержней используется минимальный просвет между стержнями, определяющий наименьшее расстояние между стержнями. Если в процессе выполнения алгоритма раскладки получается расстояние меньше минимального просвета, то стержень, который нарушает это условие, не добавляется в ряд. По умолчанию минимальный просвет – 25 мм.
Равномерная раскладка. Раскладка с соблюдением равномерного шага по всей длине области армирования позволяет синхронизировать армирование объекта с армированием объектов, расположенных, сверху или снизу. Для синхронизации положения стержней с объектом сверху или снизу может понадобиться сместить стержни на небольшое расстояние, чтобы выпуски армирования объектов не накладывались, а примыкали друг к другу. Для этого используется смещение всех арматурных стержней.
Пример создания структуры параметров ряда сетки:
Выпуски арматурных стержней задаются с помощью селекторов граней. Чтобы задать выпуски необходимо передать таблицу из пар, где первый элемент пары это селектор грани, из которой нужно сделать выпуск, а второй элемент – параметры выпуска. Параметры выпуска содержат величины выпусков и параметры отгиба арматурного стержня.
Выпуски не выходят в грани, образованные окнами, дверьми, проёмами, отверстиями.
Величины защитных слоев задаются с помощью селекторов граней. Для создания правил защитных слоев необходимо передать таблицу из пар, где первый элемент пары — это Селектор грани от которой обеспечить защитный слой, а второй — величина защитного слоя.
Для описания армирования сеткой используется структура ReinforcingMeshParameters. Ее можно создать, передав необходимые параметры: параметры продольной и поперечной раскладки, свободные концы продольных и поперечных стержней.
Чтобы управлять взаимным положением стержней в сетке используйте перечисление ReinforcingMeshRowsOrder. Перечисление определяет относительный порядок рядов сетки арматурных стержней. Для горизонтальных объектов, таких как перекрытие, направление взгляда — сверху. Для вертикальных объектов, таких как стена, направление взгляда — спереди:
За счёт управления аппроксимацией формы области армирования можно заменить стороны сечения, изначально неортогональные направлениям стержней, на ортогональные. Таким образом можно уменьшить количество уникальных стержней, которые могут появиться при наличии наклонных и криволинейных граней.
Арматурная сетка в слое основы объекта создается функцией CreateReinforcingMeshInBaseLayer(), в которую необходимо передать армируемый объект, защитные слои, параметры сетки и опционально положение сетки в слое и смещение.
Для описания армирования двумя сетками используется структура DoubleReinforcingMeshParameters. Ее можно создать, передав параметры двух сетки. Управления положением стержней и аппроксимацией формы задается так же как для одной сетки.
Для описания арматуры усиления торцов слоя основы используется структура EdgeReinforcementParameters, для создания которой нужно задать деталь армирования, тип раскладки детали вдоль торца.
В параметрах усиления торцов можно с помощью списка селекторов грани задать грани, которые нужно усилить:
Для описания фиксаторов двух арматурных сеток, таких как хомуты или лягушки, используется структура ReinforcingMeshSupportsParameters. Для её создания нужно задать форму фиксатора и способ раскладки.
Раскладка с указанием количества пройденных ячеек между элементами. Шаг фиксаторов задан в количестве пройденных ячеек сетки. Смещения рядов фиксаторов арматуры измеряются в количестве пройденных ячеек. Значения смещения применяются последовательно к каждому горизонтальному ряду. Этот параметр позволяет задать вид расположения деталей, например, шахматный.
Раскладка с указанием расстояния между элементами. Шаг фиксаторов задан в миллиметрах. Смещения рядов применяются к горизонтальным рядам и определяют через какое расстояние от края должен быть расположен первый фиксатор соответствующего ряда.
Пример создания фиксаторов арматуры с раскладкой с указанием количества пройденных ячеек:
Две арматурные сетки в слое основы объекта создаются функцией CreateDoubleReinforcingMeshInBaseLayer(), в которую необходимо передать армируемый объект, параметры защитных слоёв, параметры сетки и опционально параметры усиления торцов.