Генератор кода в Engee

Генерация кода через командную строку или интерактивный скрипт

Для генерации кода в Engee используется команда engee.generate_code в командной строке или интерактивном скрипте Engee.

Сигнатура функции:

engee.generate_code("path/to/modelname.engee", "path/to/output_dir"; subsystem_name="path/to/subsystem")

где:

  • "path/to/modelname.engee" — абсолютный или относительный путь к модели из которой генерируется код. В качестве аргумента может выступать объект модели (объект типа model, полученный функцией engee.gcm)

  • "path/to/output_dir" — абсолютный или относительный путь к директории, в которую сохранится сгенерированный код. Если директории "output_dir" не существует — она будет создана автоматически.

В случае если не указан путь к подсистеме для генерации кода, код генерируется из верхнего уровня модели.

Вывод
engee> engee.generate_code("models/example_model.engee", "out")
[ Info: Generated code and artifacts: /user/generate_code/out

Генерация кода через графический интерфейс

Генерация кода для подсистемы

Для генерации кода через графический интерфейс Engee используется контекстное меню, возникающее при клике правой кнопкой мыши по подсистеме:

Генерация кода для подсистемы через контекстное меню

Таким образом можно сгенерировать код из любой выбранной подсистемы в модели.

Сгенерированный код находится в директории с именем modelname_subsystem_code в той же директории, где находится модель (либо в текущей директории, если модель еще не сохранялась на диск).

В примере выше modelname — это имя модели, subsystem — это имя подсистемы, а code — суффикс, добавляемый к имени директории со сгенерированным кодом.

Генерация кода для верхнего уровня модели

Для генерации кода через графический интерфейс Engee для всей модели используется кнопка на панели инструментов:

Кнопка генерации кода для вернего уровня модели

В выпадающем меню рядом с кнопкой должна быть выбрана целевая платформа Engee.

Сгенерированный код находится в директории с именем modelname_code в той же директории, где находится модель (либо в текущей директории, если модель еще не сохранялась на диск).

В примере выше modelname — это имя модели, а code — суффикс, добавляемый к имени директории со сгенерированным кодом.