Engee 文档

模型文件的软件管理

使用模型

创建新模型

使用公共方法create

使用以下代码在 Engee 中创建一个模型:

model = "model_name"
engee.create(model)

该代码用 "model_name "值初始化模型变量,通过 engee.create 访问该变量后,将返回模型对象并创建模型。您也可以用另一种方法创建模型:

engee.create("model_name")

在这里,模型的名称会立即以字符串(数据类型 String)的形式传递,不需要事先对变量进行初始化。

因此,根据上述代码

  • 创建了一个带有 model_name 和默认参数的模型。

  • 该模型成为当前模型。其根系统成为当前系统。

    模型名称(model_name)不得包含字符/
错误.

如果该名称的模型已经存在,则会抛出一个 ModelAlreadyExistsException 异常。

输出
engee.create("model_name")
"Model(model_name)"

从文件加载模型

使用公共方法加载

engee.load(file_path; force = false)
  • 从位于 file_path 路径下扩展名为 .engee 的文件中加载模型。

  • 返回一个类型为 Model 的对象。

  • 该模型将成为当前模型。其根系统成为当前系统。

错误.
  • 如果该名称的模型已经存在,且参数 force = true 为 true,则会重新加载该模型,任何未保存的更改都将丢失;如果 force = false 为 false,则会抛出一个 ModelAlreadyExistsException 异常。 默认值是 force = false

  • 如果文件的扩展名无效,则会产生`InvalidFileExtension`异常。

  • 如果该文件不存在,则会产生`FileNotFound`异常。

输出
engee.load("NewModel.engee"; force = true)
Model(NewModel)

打开以前使用过的模型

公共方法open 被使用

engee.open(model_name)
engee.open(path)
engee.open(model)
engee.open(system)
  • 如果指定了先前打开的模型的 model_name,它将成为当前模型。其根系统将成为当前系统。返回一个 Model 对象。

  • 返回打开的 System

  • 如果指定了通往现有系统 system_path 的路径,则包含该系统的模型将成为当前模型,而系统本身将成为显示在可视化编辑器中的当前系统。返回一个 System 对象。

  • 也可以直接传递一个 ModelSystem 实例来代替路径。

错误.
  • 如果模型不存在,则抛出 ModelDoesntExistException 异常。

  • 如果系统不存在,则抛出`SystemIsNotExistException`异常。

输出
# open model:
m1 = engee.open("NewModel")
Model(NewModel)
engee.gcm(), engee.gcs()
(Model(NewModel), System(root))
# open system:
engee.open("AnotherModel/Subsystem-1")
System(Subsystem-1)
engee.gcm(), engee.gcs()
(Model(AnotherModel), System(Subsystem-1))

参考开流模式

使用公共方法gcm

engee.get_current_model()
engee.gcm()
  • 返回当前激活的模型。

打开当前系统(模型和子系统)

使用公共方法gcs

engee.get_current_system()
engee.gcs()
  • 返回当前活动系统。

错误
  • 如果当前系统不存在,则抛出 "NoModelOpenedException "异常。

查看打开的模型列表

使用公共方法get_all_models

engee.get_all_models(; sorted=true)
  • 返回当前会话中打开的模型列表,以 Vector{Model}.

  • 如果 sorted=true 则按名称对模型排序,如果 sorted=false 则按打开顺序输出模型。默认情况下 sorted=true

检查未保存的更改

编辑模型前,请使用open 方法打开模型。编辑后,不要忘记使用save 保存结果。

要检查未保存的更改,请使用公共方法is_dirty

engee.is_dirty(model)
  • 检查模型是否有未保存的更改。如果有未保存的更改,则返回 true,否则返回 false

  • 如果模型已关闭,则返回 false

将模型保存到文件

使用公共方法save

engee.save(model_name, file_path; force = false)
engee.save(model, file_path; force = false)
  • 将名为 model_name 的模型保存到路径 file_path 中的扩展名为 .engee 的文件中。

  • 必要时会创建中间目录。

  • 返回

错误.
  • 如果文件已经存在,且参数 force = true,则覆盖该文件;如果 force = false,则以 FileAlreadyExists 错误结束。

默认情况下,force = false

关闭模型

使用公共方法关闭

engee.close(model_name; force = false)
engee.close(model; force = false)
engee.close(; force = false)
  • 关闭可视化编辑器中名称为 model_name 的模型(将其从会话中删除)。

  • 在可视化编辑器标签页左侧打开的模型将成为当前模型。

  • 返回 Model_name

  • 如果未指定模型,则关闭当前模型。如果未指定当前模型,则不执行任何操作。

  • 如果模型已关闭,则不执行任何操作。

错误_.
  • 如果存在未保存的更改且参数 force=false 为假,则会以 UnsavedModelException 错误结束;如果 force=true 为真,则会以 UnsavedModelException 错误结束、 则未保存的更改将丢失。

文章计划管理的公共方法 提供了 Engee 中可用的所有程序控制公共方法。

示例

engee.create("newmodel_1") # создает модель с именем newmodel_1
engee.load("/user/newmodel_1.engee"; force = true) # принудительно загружает модель с именем newmodel_1 по указанному пути
engee.gcm() # возвращает текущую активную модель
engee.gcs() # возвращает текущую активную систему
engee.get_all_models(; sorted=true) # возвращает список открытых в текущей сессии моделей и сортирует их по имени
engee.is_dirty("newmodel_1") # проверяет есть ли несохраненные изменения, если после исполнения команды выводит true, значит есть несохраненные изменения
engee.open("newmodel_1") # возвращает открытую систему system и делает модель с именем newmodel_1 текущей моделью, может быть задана через путь к модели
engee.save("newmodel_1", "/user/newmodel_2.engee") # сохраняет модель newmodel_1 как модель newmodel_2 по указанному пути
engee.close("newmodel_1") # закрывает модель с именем newmodel_1 (удаляет из сессии)