在Modelica中为连接器分配特定的连接样式

时间:2016-04-28 05:43:50

标签: modelica dymola

在Modelica中,可以定义附加到对象(例如连接器)的注释,这些注释会更改其图形外观。

是否还可以定义从一个连接器到另一个连接器的连接方式如何? 例如连接器类“foo”的两个实例将始终使用虚线作为连接,而类“bar”中的两个将具有更粗的实线。

到目前为止,我注意到连接线采用了连接器外部笔触颜色的颜色,但就是这样。我没有在与此相关的文档中找到任何内容。

2 个答案:

答案 0 :(得分:4)

是的,有可能:

如果你看一下Modelica.Blocks.Examples.BusUsage_Utilities.ControlBus,那么你将从图标(Modelica.Icons.SignalBus)延伸出来,并在图标顶部放置一个黄色的小矩形:

Icon with rectangle

如果修改连接器注释中的矩形规范,连接器之间的可见线将以矩形样式显示,例如

changing connection appearance via annotation

连接的ControlBusses如下所示: Connection between ControlBusses

Modelica.Blocks.Examples.BusUsage的信息层上,有关该主题的一些评论。

祝你好运, Rene Just Nielsen

答案 1 :(得分:2)

除了Rene Just Nielsen的回答之外,还可以进行条件分配,如以下示例中的LinePattern所示:

parameter Boolean dashy=true;
.....
equation
  connect(pipe3.port_b,pipe4. port_a) annotation (Line(
      points={{20,0},{20,0},{20,10},{0,10},{0,16},{0,20},{0,20}},
      color={0,127,255},
      thickness=0.5,
      pattern=if dashy then LinePattern.Dash else LinePattern.Solid));

同样的想法也适用于其他地方,包括图标,连接,连接器以及厚度,颜色,可见性等属性。 这样,您可以将Boolean设置为两个类中的不同值,或者如果您需要的选择多于truefalse,请使用枚举或甚至比较if m_flow<0 1}}。