SimulinkのGoto/Fromのタグ名を一括変更するの応用の一つ。
Goto/Fromタグのサイズが揃っていないと気持ちが悪い人は必見だ。 (ちなみに複数のGoto/Fromタグの位置を揃えるのはタグを選択して「書式設定」→「◯◯揃え」で揃えるのがお薦め。)
あるブロックパス内のGoto/Fromを根こそぎ同じサイズにする。失敗しても責任は取らないので、自己責任でよろしく。
Simulinkのブロック・パラメーターの”Position”は[“左下角のx座標”, “左下角のy座標”, “右上角のx座標”, “右上角のy座標”]のような座標を返してくる。 だから、左下角の座標に所望の高さと幅を加えたものを右上角の座標に設定すれば良い。
下の例では高さを13にしてある。自分の環境では、これがタグ名が隠れないギリギリの高さ。 tag_w, tag_hを好みに調整してどうぞ。
%%
modelName = "RootModel/blockPath";
blockPaths = find_system(modelName, 'RegExp', 'on','BlockType', 'Goto|From');
pathNum = numel(blockPaths);
%%
tag_w = 100;
tag_h = 13;
for ii = 1:pathNum
blockName = blockPaths{ii};
oldVal = get_param(blockName, 'Position');
newVal = [oldVal(1), oldVal(2), oldVal(1) + tag_w, oldVal(2) + tag_h];
set_param(blockName, 'Position', newVal);
end
%%