Dymola 中的库启动脚本
Library Startup Skript in Dymola
使用 Dymola,我正在寻找一种在加载库时自动执行脚本的方法。目的是使用 defineUnitConversion()
命令定义额外的 displayUnits
,它们特定于加载的库。我仍然认为还有很多其他情况可能会有所帮助。
我在这方面的理解:
- 我知道可以将转换添加到
DymolaInstallDir/insert/displayUnits.mos
中的文件,但这样做的缺点是必须在每台新计算机上或在更新 Dymola 后再次执行。我想避免这种情况。
- 除此之外,我只找到了
libraryinfo.mos
文件,该文件似乎是在 Dymola 启动时读取的。因此我认为它不是放置转换的正确位置,因为它包含有关库的一般信息并且应该只包含相应的函数。
Dymola 2022 有一个新的(特定于工具的)功能,正好涵盖了这个用例。它在第 24 页“库启动脚本”部分的 Dymola 2022 release notes 中提到。
它基本上引入了一个新的注释,它允许指定一个 .mos
脚本的路径,该脚本在加载相应的库时执行。以下是发行说明中的示例:
package ThisPack
annotation(__Dymola_startup =
"modelica://ThisPack/Resources/Scripts/Dymola/startup.mos");
end ThisPack;
注释也可以通过 UI...
设置
使用 Dymola,我正在寻找一种在加载库时自动执行脚本的方法。目的是使用 defineUnitConversion()
命令定义额外的 displayUnits
,它们特定于加载的库。我仍然认为还有很多其他情况可能会有所帮助。
我在这方面的理解:
- 我知道可以将转换添加到
DymolaInstallDir/insert/displayUnits.mos
中的文件,但这样做的缺点是必须在每台新计算机上或在更新 Dymola 后再次执行。我想避免这种情况。 - 除此之外,我只找到了
libraryinfo.mos
文件,该文件似乎是在 Dymola 启动时读取的。因此我认为它不是放置转换的正确位置,因为它包含有关库的一般信息并且应该只包含相应的函数。
Dymola 2022 有一个新的(特定于工具的)功能,正好涵盖了这个用例。它在第 24 页“库启动脚本”部分的 Dymola 2022 release notes 中提到。
它基本上引入了一个新的注释,它允许指定一个 .mos
脚本的路径,该脚本在加载相应的库时执行。以下是发行说明中的示例:
package ThisPack
annotation(__Dymola_startup =
"modelica://ThisPack/Resources/Scripts/Dymola/startup.mos");
end ThisPack;
注释也可以通过 UI...
设置