Lua-интерфейс Renga#

Скрипты, описывающие геометрическое представление шаблона стиля, расположение портов и поведение параметров из файла описания параметров JSON, создаются в отдельном файле с расширением LUA. Описанию встроенных функций, взаимодействующих с Renga, посвященна данная часть руководства.

Примечание

Кроме использования встроенных функций, разработчики могут использовать в скриптах стандартные библиотеки Lua package library, string manipulation, table manipulation, mathematical functions.

Style Template API предоставляет средства для описания шаблонов стилей (объекты, классы, функции и системные перечисления). Функции, создающие различные геометрические примитивы в Renga, а также системные перечисления (enums), доступны в любой части скрипта. Условно можно сказать, что они относятся к глобальному пространству имён (или в терминах Lua — в глобальном окружении). Также выделяются в отдельное пространство имён Style функции для работы с текущим стилем:

Примечание

Подробнее см. справочное руководство Renga STDL

Style Template API#

Namespace

Объекты

глобальный

Модельная геометрия

Функции, порождающие

геометрические примитивы

Базовые типы геометрии

Графические примитивы

Плоская 2D-геометрия

Твёрдотельная 3D-геометрия

Системные перечисления

Вспомогательные функции

Style

Функции для работы с текущим стилем

Parameter

Таблицы групп параметров (определенных в JSON)

Port

Точки подключения (порты) оборудования

Общие примеры:

Пример 1. Создание твердотельной 3D-геометрии в виде сферы, радиусом radius и с центром в точке origin:#
1local solid = CreateSphere(radius, origin)
Пример 2. Создание экземпляра двумерной геометрии GeometrySet2D() :#
1local planarGeometry = GeometrySet2D()
Пример 3. Создание точки в трёхмерном пространстве:#
1local origin = Point3D(x, y, z)

Функции для работы с текущим стилем#

Пространство имён Style (или в терминах Lua - таблица) содержит функции, которые создают различный уровень детализации стиля (детальный, условный или символьный), а также функции, управляющие доступом к параметрам и портам.

Таблицы Parameters и Ports также являются объектами таблицы Style.

Добавить детальную модельную геометрию объекта в стиль#

SetDetailedGeometry(detailedGeometry)#
Parameters:

detailedGeometry (ModelGeometry) – Задает модельную геометрию.

Пример 4. Добавление детальной модельной геометрии в стиль:#
1Style.SetDetailedGeometry(detailedGeometry)

Добавить условную модельную геометрию объекта в стиль#

SetSymbolicGeometry(symbolicGeometry)#
Parameters:

symbolicGeometry – Задает модельную геометрию.

Пример 5. Добавление условной модельной геометрии в стиль:#
1Style.SetSymbolicGeometry(symbolicGeometry)

Добавить символьную модельную геометрию объекта в стиль#

SetSymbolGeometry(symbolGeometry)#
Parameters:

symbolGeometry – Задает модельную геометрию.

Пример 5. Добавление символьной модельной геометрии в стиль:#
1Style.SetSymbolGeometry(symbolGeometry)