2014-06-09 4 views
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 

내가 블록의 상단에 표시되는 % 이름을 얻을하지만 난 그것을 편집 할 수 끈다을 사용하여 다른 블록이 가져온 것입니다.

수정하려면 어떻게해야합니까? 사전에

감사합니다, MSK

답변

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

,536,913을 그것을 할 수 있습니다
block C 
    B abc annotation (Placement(transformation(extent={{-60,20},{-40,40}}))); 
end C; 
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; 

블록 B에는 % name 대신 구성 요소의 이름이 자동으로 표시되는 블록 A의 구성 요소가 들어 있습니다.

+0

이것은 Adeel의 목적을 달성하지 못합니다. 예를 들어 답을 얻으려면 블록 A에 B라는 이름을 지정하는 데 도움이되는 템플릿이 있어야합니다. 따라서 B를 다른 모델 C로 드래그 앤 드롭하면 A가 B의 이름을 C의 다이어그램보기에 표시하도록합니다. – MSK

+0

당신이 말한 것을하면 B의 다이어그램보기에 A의 이름이 표시됩니다. – MSK