在https://trac.modelica.org/Modelica/ticket/2229#comment:2中提到,当将更改应用于库时,Dymola具有自动更新转换脚本的功能。我在搜索Dymola手册,但找不到如何应用此功能的实际指南。
但是,我可以在选项中找到一些设置,但是我不能强迫Dymola创建/更新转换脚本。
有人对如何启用自动创建转换脚本的功能有一些指导吗?
答案 0 :(得分:3)
为此,有三个高级变量:
Integer Advanced.ActivateSmartDelete = 3 "Updates other classes when deleting class/component [0 - no, 1 - ask, 2 yes (if possible)]";
Integer Advanced.ActivateSmartRename = 3 "Updates other classes when renaming component [0 - no, 1 - ask, 2 yes, 3 - also script]";
Integer Advanced.ActivateSmartRenameClass = 3 "Updates other classes when renaming class [0 - no, 1 - ask, 2 yes, 3 - also script]";
如注释所示,将这些变量设置为3(使用Dymola命令窗口或在更新的Dymola版本中,可以在屏幕快照中看到的选项)会自动创建转换命令。
Dymola将转换命令写入您的库的模型注释中。他们将看起来像这样:
from(
version="3.2.3",
to="Intermediate",
change(item=convertClass("Modelica.Blocks.Continuous.PID", "Modelica.Blocks.Continuous.PID_Controller"),
item=convertClass("Modelica.Blocks.Continuous.FirstOrder", "Modelica.Blocks.Continuous.PT1")))
请注意,如果要将转换脚本存储在单独的文件(而不是库的package.mo
)中,则必须稍微转换一下。
在脚本中,以上命令如下所示:
convertClear()
convertClass("Modelica.Blocks.Continuous.PID", "Modelica.Blocks.Continuous.PID_Controller"),
convertClass("Modelica.Blocks.Continuous.FirstOrder", "Modelica.Blocks.Continuous.PT1")
所以是相同的命令,但是没有item=
并且没有尾随,
。