【问题标题】:What is the difference between the openModelFile and openModel commands in Dymola/Modelica?Dymola/Modelica 中的 openModelFile 和 openModel 命令有什么区别?
【发布时间】:2013-08-23 18:46:37
【问题描述】:

this question 中,我询问如何在启动时将自定义包添加到 MODELICAPATH,但答案有些含糊。根据答案,我可以使用任一

openModel("path\to\file.mo")

openModelFile("Fully.Qualified.Model.Name")

我想知道这些命令有何不同(如果有的话),以及何时使用其中一个。

编辑:如果您回答,请在 Modelica 文档中提供来源。我什至不知道如何浏览文档以找到这些命令,所以这可能是一个很大的障碍。

【问题讨论】:

  • 这些命令是特定于 Dymola 的,因此可能应该编辑问题以反映这一点(并且肯定没有 openmodelica 标签)。

标签: modelica dymola


【解决方案1】:

乍得,

关于 Dymola 中“内置”命令的任何问题,请注意,您可以使用 document(...) 函数获取一些基本文档(显然,help 太普通了,elucidate 太普通了自命不凡?)。可以从 Dymola 中“模拟”选项卡底部的命令行调用此命令。它以函数名的字符串作为参数。所以,回答你的问题:

document("openModel");

  function openModel "open a Modelica-file"
    input String path "File-path to open";
    input Boolean mustRead := true "If false we can skip reading the file";
    output Boolean result "true if successful";

    "Opens a Modelica-file and pops up a window with the model in it"
  end openModel;

document("openModelFile");

  function openModelFile "open a Modelica-model from a file"
    input String model "Model to open";
    input String path := "" "File-path to open (can be the empty string)";
    input String version := "" "Version to open (can be the empty string)";
    output Boolean result "true if successful";

    "Opens a Modelica-file and pops up a window with the given model in it"
  end openModelFile;

遗憾的是,我认为文档并没有完全捕捉到这里的差异。事实上,如果你仔细想想,我认为这些名字真的很落后。 openModelfile 作为参数并打开包含在该文件中的定义(通常是 package,但不一定)。另一方面,openModelFilemodel 名称作为参数,并在模型浏览器中打开该模型(如有必要,搜索 MODELICAPATH 以查找并打开模型)。

希望对你有帮助。

【讨论】:

  • 完美!你刚刚教我如何钓鱼。
  • ...除了给我第一条鱼。
  • 虽然elucidate()(还没有?)在 Dymola 中做任何事情,help() 是一个获得额外帮助的有效命令。另请参阅此答案:stackoverflow.com/a/17399473
猜你喜欢
  • 2023-01-26
  • 1970-01-01
  • 2019-08-29
  • 2011-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-13
  • 2016-08-12
相关资源
最近更新 更多