【问题标题】:Command manual in DymolaDymola 中的命令手册
【发布时间】:2019-12-10 08:35:00
【问题描述】:

Dymola 中是否有命令集或参考手册?例如,如果我想知道当前的工作目录,我应该使用哪个命令?我尝试了pwddir,但它们不起作用。

【问题讨论】:

    标签: modelica dymola


    【解决方案1】:

    有多个来源可以找到我检查的命令 - 没有特殊顺序 - 在查找新命令时:

    1. 在 Dymola 2020x 中,“用户手册 1B”包含“2.5.19 Dymola 中的内置函数”部分,该部分很好地概述了该主题。
    2. 启动 Dymola 时,将自动加载名为 DymolaCommands 的库。这可以使用包浏览器的“搜索”条目进行搜索(通过右键单击 DymolaCommands -> 搜索)。
    3. 在“命令”窗口中,您可以调用函数listfunctions() 以了解可以从 Dymola 命令行本地调用的函数的概览。通常,之后使用 CTRL+F 搜索文本最有意义。
    4. 库也可以提供有用的功能。例如,Modelica 标准库提供了包Modelica.Utilities,其中例如Modelica.Utilities.Streams.print 可用于通过将字符串绘制到仿真日志来调试模型。另一个非常有用的库是ModelManagement

    获取当前目录有多种可能。

    1. cd():不幸的是,这只会将目录打印到命令输出并返回true。所以这更多地用于手动检查,尽管输出可以通过getLastError() 检索。这也是 Dmyola 特有的。
    2. 使用 Modelica 标准库,这些是用于管理工作目录的命令:Modelica.Utilities.System.getWorkDirectory()Modelica.Utilities.System.setWorkDirectory()
    3. 如果您想获取当前执行脚本的目录,函数 classDirectory() 将使用 Dymola >2021 来完成。

    【讨论】:

    • 按照 OP 的要求,在所有这些资源中,pwd()ls() 的命令可以找到...?
    • 将其添加到答案中。
    • 谢谢!所以我认为没有ls() 命令可以列出当前文件夹中的文件,就像dir 在Windows 上所做的那样?
    • 您可以使用Modelica.Utilities.System.command(),这将使您能够从操作系统的命令行运行任何命令。但是输出只会是truefalse,因此需要一些额外的努力才能获得所需的输出。我会尝试找出是否有更有效的方法...
    • 要在 Modelica 工具中获得像 ls 这样的系统命令的输出,您必须将输出重定向到一个文件,然后读取该文件:Modelica.Utilities.System.command("ls > out.txt"); Modelica.Utilities.Streams.readFile("out.txt")
    【解决方案2】:

    包浏览器中应该有一个名为“Dymola Commands”或“DymolaCommands”的包(至少从 Dymola 2018 开始)。

    您可以将其作为任何其他软件包打开,也可以通过浏览器通过命令或右键单击并使用“搜索”(勾选“完整文档”)。

    【讨论】:

      猜你喜欢
      • 2014-09-29
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-17
      • 1970-01-01
      相关资源
      最近更新 更多