我想知道如何以动画的形式可视化Modelica模拟的结果 .
想象一下,我有一个简单的模拟如下:
model test
//parameters
parameter Real m_1 = 1;
parameter Real m_2 = 10;
parameter Real K_c = 100000;
//variables
Real x_1;
Real v_1;
Real x_2;
Real v_2;
Real f_1;
Real f_12;
initial equation
x_1 = 0;
v_1 = 0;
x_2 = 0.2;
v_2 = 0;
equation
v_1 = der(x_1);
m_1 * der(v_1) = f_1 - f_12;
v_2 = der(x_2);
m_2 * der(v_2) = f_12;
f_12 = if x_2 >= x_1 then 0 else K_c * (x_1 - x_2);
f_1 = 1;
end test;
(它实际上是一个非常简单的弹性碰撞)
我有part1.obj和part2.obj(或其他可能的格式而不是.obj),在其他CAD软件中设计,我想导入并分配给x_1和x_2,然后设置动画 . OpenModelica 1.11.0已经使用these instructions安装在Ubuntu上 .
到目前为止我发现了什么以及我遇到的问题:
-
来自this page我了解到还应该安装Modelica3D . 但是我找不到使用apt或aptitude的这个库 .
-
我找到了the installation instructions for windows and mac on OpenModelica official website,但没有找到Ubuntu(或其他Linux发行版) .
-
我还发现this github repo声称是原始发行版的定期维护镜像,但最新的提交是2年前!更不用说original website已经死了 .
我是否仍需要单独安装此库,或者它是否已集成到最新的稳定OpenModelica版本中?如果是,我该怎么安装呢?可能需要哪些其他库/包?
编辑:Modelica3D似乎已经过折旧(对于OMVisualize也是如此) . 现在ModelicaServices正用于动画 . 更多信息here
- This post给出了一个使用Wolfram SystemModeller进行动画制作的非常简单的示例 . 当我打开它进入OpenModelica时,它会编译并显示结果 . 我尝试将模型导出为FMU和XML,然后使用顶部菜单中的动画图标导入模型 .
但是当试图导入.mat文件时,我得到了错误:
脚本错误无法找到可视XML文件/tmp/OpenModelica_user/OMEdit/SimpleCarModel_visual.xml .
此示例是否与OpenModelica兼容?如果是,问题是什么以及如何解决? (您也可以从this Github gist下载示例)
编辑:此示例与OpenModelica兼容 . 我正在干嘛 . 我不得不选择“使用动画模拟”而不是“模拟” . 我仍然无法将外部CAD对象分配给模拟,而是显示圆柱体 .
-
我还尝试学习使用OMShell脚本从this page运行Modelica3D示例 . 然而,似乎代码是错误的,因为我在OMShell中运行它时遇到很多错误 .
-
One of the linked websites已经提到可以使用blender来制作动画效果,但是作者没有成功这样做 . 如果您能以简单明了的步骤帮助您学习,我将不胜感激 .
1 回答
目前只能对
.stl
和.dxf
可视化CAD文件 . 您可以在形状的shapeType参数中指定CAD文件的URI . 请使用以下表示法:也可以在模拟结果中生成的
*_visual.xml
中设置绝对路径(如果要从OMEdit加载模拟,则应该在同一目录中) .如果要移动动画形状,只需将变量分配给位置矢量即可