Я создал тривиальную модель маятника в Modelica.После этого я построил модель так, чтобы были сгенерированы XML-файл и EXE-файл.
model TestJAVA_v2
inner Modelica.Mechanics.MultiBody.World world annotation(
Placement(visible = true, transformation(origin = {-86, 28}, extent = {{-10,
-10}, {10, 10}}, rotation = 0)));
Modelica.Mechanics.MultiBody.Joints.Revolute revolute1(n = {1, 0, 0},
phi(fixed = true, start = 0.785398)) annotation(
Placement(visible = true, transformation(origin = {-46, 28}, extent =
{{-10,
-10}, {10, 10}}, rotation = 0)));
Modelica.Mechanics.MultiBody.Parts.PointMass pointMass1 annotation(
Placement(visible = true, transformation(origin = {16, 28}, extent = {{-10,
-10}, {10, 10}}, rotation = 0)));
Modelica.Mechanics.MultiBody.Parts.BodyShape bodyShape1(r = {0, 1, 1}, r_CM
= bodyShape1.r / 2) annotation(
Placement(visible = true, transformation(origin = {-14, 26}, extent =
{{-10,
-10}, {10, 10}}, rotation = 0)));
equation
connect(bodyShape1.frame_b, pointMass1.frame_a) annotation(
Line(points = {{-4, 26}, {16, 26}, {16, 28}, {16, 28}}, color = {95, 95,
95}));
connect(revolute1.frame_b, bodyShape1.frame_a) annotation(
Line(points = {{-36, 28}, {-24, 28}, {-24, 26}, {-24, 26}}, color = {95, 95,
95}));
connect(world.frame_b, revolute1.frame_a) annotation(
Line(points = {{-76, 28}, {-58, 28}, {-58, 28}, {-56, 28}}, color = {95, 95,
95}));
annotation(
uses(Modelica(version = "3.2.2")),
experiment(StartTime = 0, StopTime = 15, Tolerance = 0.001, Interval =
0.0010002),
__OpenModelica_simulationFlags(iim = "none", lv = "LOG_STATS", s =
"dassl"));
end TestJAVA_v2;
Используя парсер xml, я могу изменить массу BodyShape и вектор r (Вектор с frame_a на frame_b, разрешенный в frame_a).Но после моделирования я обнаружил, что изменилась только масса, а длина компонента не изменилась.Можно ли изменить этот вектор через XML-файл?