DYMOLA/Modelica 中图标层和图表层之间的界面图标位置链接错误

问题描述 投票:0回答:1

这篇文章讲述了有关 Modelica 语言 (DYMOLA GUI) 中端口图标位置的恼人问题。

我有一个使用 Heatport 和 Fluid 端口接口的模型。

应该发生什么,并且大多数时候都会发生:

  • 端口及其图标在图表层中以某种方式定位,以便在检查组件时具有良好的可读性。
  • 在图标层,端口以另一种方式定位,以便在系统级别具有良好的可读性。

我使用的几种型号通常一切正常。

然而,最近对于一个模型,图表层中的一个端口神秘地链接到图标层中的一个端口。因此,它们无法在两个图层(图标和图表)中移动到正确的位置。

故障端口(port_a_RES1)和正常端口(所有其他端口)之间的文本代码完全相同,包括注释:

 Fluid.Interfaces.FluidPort_a port_a_RES1(redeclare package Medium = Medium)    annotation (Placement(transformation(extent={{90,-110},{70,-90}}), iconTransformation(extent={{50,-110},{70,-90}})));
 Fluid.Interfaces.FluidPort_b port_b_RES2(redeclare package Medium = Medium)    annotation (Placement(transformation(extent={{-70,-110},{-90,-90}}),  iconTransformation(extent={{90,60},{110,80}})));

 Fluid.Interfaces.FluidPort_a port_a_RES2(redeclare package Medium = Medium)    annotation (Placement(transformation(extent={{-20,-110},{-40,-90}}), iconTransformation(extent={{90,30},{110,50}})));
 Fluid.Interfaces.FluidPort_b port_b_RES1(redeclare package Medium = Medium)    annotation (Placement(transformation(extent={{40,-110},{20,-90}}), iconTransformation(extent={{90,-80},{110,-60}})));

根据 Modelica 规范 https://specation.modelica.org/maint/3.5/annotations.html#annotations-for-graphical-objects Extend 是一个包含 2 个点的列表,定义了一个矩形,该矩形定义了图标的位置和形状。

当尝试从其他图标或图表视图中以图形方式移动 port_a_RES1 时,错误的 port_a_RES1 conversion.extent[2] 中的第二个范围似乎出于某种原因坚持 iconTransformation.extent[2]。

我能够通过修改 iconTransformation.extent 来手动纠正该行为。
但是,DYMOLA 中似乎存在一些隐藏变量, 很高兴知道这一点......

感谢您的见解!

icons modelica dymola
1个回答
0
投票

您勾选了此选项吗?

Screenshot of Dymola's settings for Graphical Editor

或相应的标志:

Advanced.Editor.MoveConnectorsTogether

据我所知,仅当图标和图形视图中的位置相同时才会应用移动。但不是 100% 确定...

© www.soinside.com 2019 - 2024. All rights reserved.