如何在启动时添加加载库、更改目录等?
How to add load libraries, change directory, etc. on startup?
有没有办法在启动 Dymola 时自动加载库、更改到某个工作目录等?
此方法已针对 Dymola 2017FD01 进行测试。以前的版本通过不再可用的 setup.mos
脚本使用不同的方法。在这篇文章中,没有通过 Dymola GUI 执行此操作的选项。
可以通过 .mos 文件轻松完成,步骤如下:
- 在有意义的位置创建一个 .mos 文件。例如,
C:\Users\USERNAME\Documents\Dymola\startup.mos
- 将所需的操作添加到
.mos
文件。例如,要加载库,请添加 openModel("C:\Users\USERNAME\Documents\ModelicaLibrary\package.mo");
- Dymola 始终将其 auto-generated 文件放在当前工作目录中。将该位置设置为同一位置通常是个好主意,这样就无需寻找输出文件的位置。因此,在
.mos
文件的末尾更改当前目录:cd("C:\Users\USERNAME\Documents\Dymola");
- 如果 Dymola.exe 文件不存在快捷方式,则创建一个。
- 右键单击快捷方式并转到
Properties
。在 Shortcut>Target
下,在末尾附加 "C:\Users\USERNAME\Documents\Dymola\startup.mos"
。该单元格的内容现在应如下所示:"C:\Program Files (x86)\Dymola 2017 FD01\bin64\Dymola.exe" "C:\Users\vmg\Documents\Dymola\startup.mos"
- 就是这样。从该快捷方式启动 Dymola 时,应执行
.mos
文件中指定的操作。
这个问题有点模棱两可 - 另一个答案对于一种情况来说非常好。 (步骤2中的openModel调用可以修改。)
但是,如果您总是想要在特定目录等中启动 Dymola,则可以使用 GUI。如何取决于版本。
Dymola 2020 x(及更高版本)
允许通过文件>工作目录
更改start-up目录
并且具有工具>库管理>Modelica 路径,您可以在其中添加包含外部库的目录。
要使库显示为预加载,您必须在相应的库中添加一个 libraryInfo.mos
脚本;您可以查看 Dymola 安装中的 Modelica 标准库以获取灵感。
后者在“更多关于库以及库和演示菜单的构建”部分(在用户手册中的某处)中有更详细的描述。
Dymola 2017 FD01(与 Dymola 2016 FD01 略有不同):
- 更改目录(文件>更改目录)
- 添加到 Modelica 路径(文件>Modelica 路径)
- 保存这些设置(编辑>选项>设置:Select 启动和 Modelica 路径)
如果你想“预加载”库,有一些选项:
在启动脚本中,您可以使用 import MyPackage;
或 openModel("...\MyPackage.mo");
或者如果您是管理员,您可以修改 Dymola/insert/dymodraw.ini 并添加一行:Dymola5LibraryMenu "MyPackage"
(技术上它不会“ load" - 它只是在包浏览器中显示库。
一个重要的区别是,更改 dymodraw.ini 即使在“全部清除”之后仍会保持库“加载”。
不需要将包硬编码到操作系统的环境变量中的另一个建议(对于没有经验的程序员来说可能更安全):
- 转到安装 Dymola 的文件夹(例如 C:\Program Files\Dymola 2020)。
- 在插入文件夹中搜索 Dymola.mos 文件。 'insert' folder
- 打开脚本(例如,在记事本++中)
- 使用 openModel 语句将 link(s) 添加到您的 Dymola-library-package.mo 文件中
例如,openModel("C:/IDEAS/package.mo"); Dymola.mos script
- 保存脚本。现在,每次打开 Dymola 时,您的库都会自动加载。
近年来有两个选项可能对您有所帮助。
File>Library Management>Install 此对话框允许您打开一个
zip 文件或类似的分布式库,安装它,
更新 MODELICAPATH 以再次找到它,甚至更新 File>Libraries
菜单以包含它以备将来使用。一次操作。
模拟>编辑startup.mos如果你喜欢编辑启动
脚本,这是找到它的便捷方式 结束打开它
编辑.
这是一个允许单击一次加载一组库的过程。
它利用了 dymola.exe
可以用 .mos 脚本作为第一个参数启动的事实。
它专为
等情况而设计
- 您正在使用 Windows
- 您正在从事一个或多个项目
- 每个项目都需要加载一组库
- 每个项目都使用自己的工作目录
- 其他用户可能会协作,因此他们需要完全相同的设置
要求
第一次设置需要做一些工作,但对于以后的项目来说很快就可以完成。您需要:
- 您的库中有一个
start.mos
文件
- 环境变量
DYMOLA_WD
和MODELICA_LIBS
(这只是为了允许其他用户为他们的库和工作目录使用不同的路径)
- dymola.exe
的文件快捷方式
这是 start.mos
特定项目的样子(通常您只更改前两行):
// user setup
libs = {"Buildings 6.0.0", "PhotoVoltaics", "MyProject"}
wd = "myproject"
// open all libs
lib_dir = Modelica.Utilities.System.getEnvironmentVariable("MODELICA_LIBS");
lib_dir = Modelica.Utilities.Strings.replace(lib_dir, "\", "/")
for l in libs loop
openModel(lib_dir + "/" + l + "/package.mo");
end for;
// change to wd
wd = Modelica.Utilities.System.getEnvironmentVariable("DYMOLA_WD") + "/" + wd;
wd = Modelica.Utilities.Strings.replace(wd, "\", "/")
Modelica.Utilities.Files.createDirectory(wd)
cd(wd)
现在您在 windows 文件资源管理器中创建 dymola.exe 的快捷方式。在字段 Target
中设置
"C:\Program Files\Dymola 2020\bin64\Dymola.exe" "%MODELICA_LIBS%\MyProject\Resources\scripts\start.mos"
例子
假设用户设置了环境变量
MODELICA_LIBS = E:\modelica
DYMOLA_WD = E:\dymola_wds
用户硬盘上的文件夹结构必须如下所示,上面的脚本才能运行:
E:\modelica
|- Buildings 6.0.0
|- package.mo
|- ...
|- PhotoVoltaics
|- package.mo
|- ...
|- MyProject
|- package.mo
|- ...
|- Resources
| |- scripts
| |- start.mos
|- ...
现在使用dymola.exe-快捷方式启动Dymola,它将自动加载项目所需的库并更改工作目录。
对于另一个项目,需要一个新的快捷方式以及一个新的 start.mos
脚本。
有没有办法在启动 Dymola 时自动加载库、更改到某个工作目录等?
此方法已针对 Dymola 2017FD01 进行测试。以前的版本通过不再可用的 setup.mos
脚本使用不同的方法。在这篇文章中,没有通过 Dymola GUI 执行此操作的选项。
可以通过 .mos 文件轻松完成,步骤如下:
- 在有意义的位置创建一个 .mos 文件。例如,
C:\Users\USERNAME\Documents\Dymola\startup.mos
- 将所需的操作添加到
.mos
文件。例如,要加载库,请添加openModel("C:\Users\USERNAME\Documents\ModelicaLibrary\package.mo");
- Dymola 始终将其 auto-generated 文件放在当前工作目录中。将该位置设置为同一位置通常是个好主意,这样就无需寻找输出文件的位置。因此,在
.mos
文件的末尾更改当前目录:cd("C:\Users\USERNAME\Documents\Dymola");
- 如果 Dymola.exe 文件不存在快捷方式,则创建一个。
- 右键单击快捷方式并转到
Properties
。在Shortcut>Target
下,在末尾附加"C:\Users\USERNAME\Documents\Dymola\startup.mos"
。该单元格的内容现在应如下所示:"C:\Program Files (x86)\Dymola 2017 FD01\bin64\Dymola.exe" "C:\Users\vmg\Documents\Dymola\startup.mos"
- 就是这样。从该快捷方式启动 Dymola 时,应执行
.mos
文件中指定的操作。
这个问题有点模棱两可 - 另一个答案对于一种情况来说非常好。 (步骤2中的openModel调用可以修改。)
但是,如果您总是想要在特定目录等中启动 Dymola,则可以使用 GUI。如何取决于版本。
Dymola 2020 x(及更高版本) 允许通过文件>工作目录
更改start-up目录并且具有工具>库管理>Modelica 路径,您可以在其中添加包含外部库的目录。
要使库显示为预加载,您必须在相应的库中添加一个 libraryInfo.mos
脚本;您可以查看 Dymola 安装中的 Modelica 标准库以获取灵感。
后者在“更多关于库以及库和演示菜单的构建”部分(在用户手册中的某处)中有更详细的描述。
Dymola 2017 FD01(与 Dymola 2016 FD01 略有不同):
- 更改目录(文件>更改目录)
- 添加到 Modelica 路径(文件>Modelica 路径)
- 保存这些设置(编辑>选项>设置:Select 启动和 Modelica 路径)
如果你想“预加载”库,有一些选项:
在启动脚本中,您可以使用 import MyPackage;
或 openModel("...\MyPackage.mo");
或者如果您是管理员,您可以修改 Dymola/insert/dymodraw.ini 并添加一行:Dymola5LibraryMenu "MyPackage"
(技术上它不会“ load" - 它只是在包浏览器中显示库。
一个重要的区别是,更改 dymodraw.ini 即使在“全部清除”之后仍会保持库“加载”。
不需要将包硬编码到操作系统的环境变量中的另一个建议(对于没有经验的程序员来说可能更安全):
- 转到安装 Dymola 的文件夹(例如 C:\Program Files\Dymola 2020)。
- 在插入文件夹中搜索 Dymola.mos 文件。 'insert' folder
- 打开脚本(例如,在记事本++中)
- 使用 openModel 语句将 link(s) 添加到您的 Dymola-library-package.mo 文件中 例如,openModel("C:/IDEAS/package.mo"); Dymola.mos script
- 保存脚本。现在,每次打开 Dymola 时,您的库都会自动加载。
近年来有两个选项可能对您有所帮助。
File>Library Management>Install 此对话框允许您打开一个 zip 文件或类似的分布式库,安装它, 更新 MODELICAPATH 以再次找到它,甚至更新 File>Libraries 菜单以包含它以备将来使用。一次操作。
模拟>编辑startup.mos如果你喜欢编辑启动 脚本,这是找到它的便捷方式 结束打开它 编辑.
这是一个允许单击一次加载一组库的过程。
它利用了 dymola.exe
可以用 .mos 脚本作为第一个参数启动的事实。
它专为
等情况而设计- 您正在使用 Windows
- 您正在从事一个或多个项目
- 每个项目都需要加载一组库
- 每个项目都使用自己的工作目录
- 其他用户可能会协作,因此他们需要完全相同的设置
要求
第一次设置需要做一些工作,但对于以后的项目来说很快就可以完成。您需要:
- 您的库中有一个
start.mos
文件 - 环境变量
DYMOLA_WD
和MODELICA_LIBS
(这只是为了允许其他用户为他们的库和工作目录使用不同的路径) - dymola.exe 的文件快捷方式
这是 start.mos
特定项目的样子(通常您只更改前两行):
// user setup
libs = {"Buildings 6.0.0", "PhotoVoltaics", "MyProject"}
wd = "myproject"
// open all libs
lib_dir = Modelica.Utilities.System.getEnvironmentVariable("MODELICA_LIBS");
lib_dir = Modelica.Utilities.Strings.replace(lib_dir, "\", "/")
for l in libs loop
openModel(lib_dir + "/" + l + "/package.mo");
end for;
// change to wd
wd = Modelica.Utilities.System.getEnvironmentVariable("DYMOLA_WD") + "/" + wd;
wd = Modelica.Utilities.Strings.replace(wd, "\", "/")
Modelica.Utilities.Files.createDirectory(wd)
cd(wd)
现在您在 windows 文件资源管理器中创建 dymola.exe 的快捷方式。在字段 Target
中设置
"C:\Program Files\Dymola 2020\bin64\Dymola.exe" "%MODELICA_LIBS%\MyProject\Resources\scripts\start.mos"
例子
假设用户设置了环境变量
MODELICA_LIBS = E:\modelica
DYMOLA_WD = E:\dymola_wds
用户硬盘上的文件夹结构必须如下所示,上面的脚本才能运行:
E:\modelica
|- Buildings 6.0.0
|- package.mo
|- ...
|- PhotoVoltaics
|- package.mo
|- ...
|- MyProject
|- package.mo
|- ...
|- Resources
| |- scripts
| |- start.mos
|- ...
现在使用dymola.exe-快捷方式启动Dymola,它将自动加载项目所需的库并更改工作目录。
对于另一个项目,需要一个新的快捷方式以及一个新的 start.mos
脚本。