0

我不是每次都创建文本框来显示块的名称,而是考虑创建一个可重复使用的模板。以下是我创建的

partial block BlockTemplate
  annotation(Icon(coordinateSystem(extent = {{-100,-100},{100,100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2,2}), graphics = {Text(origin = {-0.366361,-0.51471}, lineColor = {0,0,255}, extent = {{-150,150},{150,110}}, textString = "%name"),Text(origin = {0,-260}, lineColor = {0,0,255}, extent = {{-150,150},{150,110}}, textString = "%name")}));
end BlockTemplate;

然后我通过使用将它导入另一个块

extends BlockTemplate

结果我得到了显示在块顶部的 %name 但我无法编辑它。

应该怎么做才能编辑它?

提前致谢, MSK

4

2 回答 2

1

好的,那么你可以这样做,

A座

block A
  annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100}, {100,100}}), graphics={Text(extent={{-52,50},{62,-20}}, lineColor={0,0,255}, textString="%name")}));
end A;

B座

block B
  extends A;
end B;

C座

block C
  B abc annotation (Placement(transformation(extent={{-60,20},{-40,40}})));
end C;
于 2014-06-09T19:36:30.177 回答
0

我认为你不能像这样使用带有扩展的文本注释。您需要创建块的实例。

block A

  annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},
            {100,100}}), graphics={Text(
          extent={{-52,50},{62,-20}},
          lineColor={0,0,255},
          textString="%name")}));
end A;

上面是用 %name 定义文本注释的块。

block B

  A a annotation (Placement(transformation(extent={{-40,20},{-20,40}})));
end B;

Block B 包含 Block A 的一个组件,它将自动显示组件的名称来代替 %name。

于 2014-06-09T12:26:57.913 回答