参照モデルブロックのInport/Outportの座標を求めたい
8 ビュー (過去 30 日間)
古いコメントを表示
モデル参照しているブロックの入出力ポートの座標を求めたく、コマンドをご教授いただけませんか。
<知りたいこと>
モデル参照ブロックのInportの端子位置を求めたい。
<やりたいこと>
モデル参照ブロックのInport端子と、Inportブロックを、add_linkコマンドで結線したい。
そのとき、Inportブロックの座標位置を、モデル参照ブロックのInport端子位置に合わせ平行に並ばせたい。
モデル参照ブロック・Inportブロックの端子位置は、横限定で考えています。
→ 
0 件のコメント
回答 (1 件)
Yoko
2020 年 7 月 23 日
ブロックの端子の座標を取得するには、ブロックの 'PortConnectivity' プロパティを取得します。ブロックを選択した状態で、下記コマンドを実行してみてください。
>> pc = get_param(gcb,'PortConnectivity')
pc =
フィールドをもつ 6×1 の struct 配列:
Type
Position
SrcBlock
SrcPort
DstBlock
DstPort
pc の中の Position フィールドに、ポートの座標が格納されています。実行すると、下記のように出力されます。Inport と Outport の両方の座標が出力されます。
>> pc.Position
ans =
300 125
ans =
300 170
ans =
300 215
ans =
420 125
ans =
420 170
ans =
420 215
Inport は最初の3つなので、この座標を使って調整してみてください。
他のブロックプロパティを組み合わせることで、Inport との接続も自動化できると思います。
ブロックに関するプロパティのリストと、取得できる情報に関して、ドキュメントページを参照しつつ、試してみてください。ブロックプロパティの情報は、下記コマンドを実行することでページが開きます。
>> web(fullfile(docroot, 'simulink/slref/common-block-parameters.html'))
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!