我正在从dymola python界面运行这个例子(见下文),我如何在表/文本文件或类似的东西中绘制/存储输出?
from dymola.dymola_interface import DymolaInterface
from dymola.dymola_exception import DymolaException
dymola = None
try:
# Instantiate the Dymola interface and start Dymola
dymola = DymolaInterface()
# Call a function in Dymola and check its return value
result = dymola.simulateModel("Modelica.Mechanics.Rotational.Examples.CoupledClutches")
if not result:
print("Simulation failed. Below is the translation log.")
log = dymola.getLastError()
print(log)
exit(1)
dymola.plot(["J1.w", "J2.w", "J3.w", "J4.w"])
dymola.ExportPlotAsImage("C:/temp/plot.png")
print("OK")
except DymolaException as ex:
print("Error: " + str(ex))
finally:
if dymola is not None:
dymola.close()
dymola = None
答案 0 :(得分:1)
在Dymola手册第2卷“Dymola的第6.7节Python接口”(发布的示例似乎来自)中,您可以找到与多线程相关的示例。在此示例中,您可以找到直接创建绘图的方法。
有一个很好的工具可以在https://www.j-raedler.de/projects/dymat/找到。您可以使用它来读取默认结果文件(这是存储在工作目录中的#ModelName#.mat文件),有效地在Python中进一步处理它。
要从默认.mat文件切换到基于文本的文件,您可以在此处找到命令:Modelica - Dymola Python interface: Set output format to textual
还有其他方法,但这应该是第一步......