我没有为每次显示块的名称创建文本框,而是考虑为相同的模板创建一个可重用的模板。以下是我创建的
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
事实证明我在块顶部显示%名称,但我无法编辑它。
应该怎么做以便我能够编辑它?
提前致谢, MSK
答案 0 :(得分: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;
答案 1 :(得分:0)
我认为你不能像这样使用扩展来使用Text注释。您需要创建块的实例。
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;
块B包含块A的组件,它将自动显示组件的名称而不是%name。