質問: 参照モデルブロックのinport/outportの座標を求めたい モデル参照しているブロックの入出力ポートの座標を求めたく、コマンドをご教授いただけませんか。 <知りたいこと> モデル参照ブロックのinportの端子位置を求めたい。 <やりたいこと> モデル参照ブロックのinport端子と、inportブロックを、add_linkコマンドで結線したい。 そのとき、inportブロックの座標位置を、モデル参照ブロックのinport端子位置に合わせ平行に並ばせたい。 モデル参照ブロック・inportブロックの端子位置は、横限定で考えています。 →
回答: ブロックの端子の座標を取得するには、ブロックの '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'))