Modelica 可重用模板

Modelica 可重用模板,modelica,openmodelica,Modelica,Openmodelica,我不想每次都创建文本框来显示块的名称,而是想为块创建一个可重用的模板。下面是我创建的 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},

我不想每次都创建文本框来显示块的名称,而是想为块创建一个可重用的模板。下面是我创建的

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

我想你不能像这样使用文本注释。您需要创建块的实例

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。

好的,然后您可以这样做

块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;

这不符合目的,阿德尔。以你的答案为例,我想要的是块A有一个模板,可以帮助命名B。因此,当我将B拖放到另一个模型C上时,我想要A在C的图表视图中显示B的名称。按照你所说的,将在B的图表视图中显示A的名称