模型文件的软件管理
使用模型
创建新模型
使用公共方法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
对象。 -
也可以直接传递一个
Model
或System
实例来代替路径。
错误.
-
如果模型不存在,则抛出
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))
打开当前系统(模型和子系统)
使用公共方法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
。
检查未保存的更改
要检查未保存的更改,请使用公共方法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 (удаляет из сессии)