【问题标题】:How to set Advanced.EnableCodeExport flag in Dymola through Python?如何通过 Python 在 Dymola 中设置 Advanced.EnableCodeExport 标志?
【发布时间】:2020-10-29 17:03:30
【问题描述】:

在工作流程中,我尝试使用 dymola.egg 中的 Python 函数自动执行从 Dymola 生成 fmu 的过程。我能够使用以下功能实现这一点。

dymola.translateModelFMU(model, True, 
                              fmiVersion ="2",
                              fmiType ="all");

但是,这会生成 fmus 而无需二进制导出(生成依赖于许可证的 fmus)。
我有可用的二进制导出浮动许可证,因此我想通过脚本签出并返回二进制导出许可证。为了实现这一点,有没有办法通过Python设置Advanced.EnableCodeExport = True
有没有其他方法(其他库)来实现这一点?目标是根据需要检查浮动二进制导出许可证。我想dymola.close() 将返回 Dymola 和二进制导出许可证供其他人使用。

【问题讨论】:

    标签: python modelica dymola


    【解决方案1】:

    dymola.ExecuteCommand() 作为可从 Dymola 的命令窗口设置的所有内容的后备解决方案存在,但在 python 界面中不可用。

    因此您可以使用以下方式设置标志:

    dymola.ExecuteCommand("Advanced.EnableCodeExport=true")
    

    请注意,true 在此处必须小写(与 Modelica 和 Dymola 一样,与 python 不同)。

    【讨论】:

    • RequestOption() 也可以用于此目的吗?
    • @Priyanka 不,你需要设置标志;仅 RequestOption() 是不够的。设置标志后,该选项会在需要时签出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-26
    • 2019-04-10
    相关资源
    最近更新 更多