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

0

このような extends で 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 の代わりにコンポーネントの名前が自動的に表示されます。

于 2014-06-09T12:26:57.913 に答える