Работа с параметрами ==================== После импорта шаблона категории в Renga, все параметры, описанные в JSON, будут являться объектами таблицы ``Style`` и храниться в группе, к которой они принадлежат. .. note:: Имена групп параметров и параметров берутся из JSON .. _parameter_group: Доступ к группе параметров -------------------------- Получить группу параметров по имени ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. lua:function:: GetParameterGroup(groupName) :param groupName: Задает идентификатор (имя) группы параметров. :type groupName: String :return: Группа параметров :rtype: ParameterGroup Методы группы параметров ------------------------ Получить параметр по имени из группы ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. lua:method:: :GetParameter(parameterName) :param parameterName: Задает идентификатор (имя) :ref:`параметра `. :type parameterName: String :return: Параметр :rtype: :ref:`Parameter ` .. _parameter: Доступ к параметрам ------------------- Получить доступ к нужному параметру в скриптовой части можно следующими способами: Получить таблицу значений всех параметров ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. lua:function:: GetParameterValues() :return: Таблица значений всех параметров вида [имя группы][имя параметра][значение параметра]. :rtype: table of :ref:`Parameters ` .. code-block:: lua :caption: Пример 1. Присвоение локальной переменной ``width`` значения параметра ``bodyWidth`` из группы параметров ``Dimensions`` :linenos: local parameters = Style.GetParameterValues() -- получение таблицы значений всех параметров local width = parameters["Dimensions"].bodyWidth Эта запись эквивалентна: .. code-block:: lua :caption: Пример 2. :linenos: local width = parameters.Dimensions.bodyWidth Получить параметр по имени группы и параметра ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. lua:function:: GetParameter(groupName, parameterName) :param groupName: Задает идентификатор (имя) :ref:`группы параметров `. :type groupName: String :param parameterName: Задает идентификатор (имя) :ref:`параметра `. :type parameterName: String :return: Параметр :rtype: :ref:`Parameter ` .. note:: Имена групп параметров и параметров берутся из JSON .. code-block:: lua :caption: Пример 3. Присвоение локальной переменной ``width`` значения параметра ``bodyWidth`` из группы параметров ``Dimensions`` с использованием функций ``GetParameter()`` и метода ``GetValue()`` :linenos: local width = Style.GetParameter("Dimension", "bodyWidth"):GetValue() Методы параметров ----------------- Получить значение параметра ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. lua:method:: :GetValue() :return: Значение параметра. Общие методы групп параметров и параметров ------------------------------------------ Включить или отключить отображение в редакторе стилей объекта ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. lua:method:: :SetVisible(isVisible) :param isVisible: Булевое значение (true/false) :rtype: Boolean .. code-block:: lua :caption: Пример 3. Скрытие группы параметров ``Dimension`` из диалога стилей объекта. :linenos: Style.GetParameterGroup("Dimension"):SetVisible(false) Установить возможность редактирования в редакторе стилей объекта ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. lua:method:: :SetEnabled(isEnabled) :param isEnabled: Булевое значение (true/false) :rtype: Boolean .. _params_container: Доступ к контейнеру параметров сущности проекта ----------------------------------------------- Контейнер параметров может быть получен из :ref:`Entity `. .. versionadded:: 2.0 .. lua:function:: CastToParameterContainer(entity) :param entity: Задает сущность Renga, объект или стиль. :type entity: :ref:`Entity ` :return: Контейнер параметров сущности :rtype: :ref:`ParameterContainer ` Получить значения параметров контейнера ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. versionadded:: 2.0 .. lua:method:: :GetParameterValues() :return: Таблица значений параметров. :rtype: table of :ref:`Parameters ` .. code-block:: lua :caption: Пример 4. Получение стиля арматурного стержня и его параметров :linenos: local style = Project.GetRebarStyle(rebarStyleId) local rebarParameters = CastToParameterContainer(style):GetParameterValues() local rebarDiameter = rebarParameters.RebarDiameter