SimulinkのGoto/Fromのタグ名を一括変更するの応用のひとつである。
Goto/Fromタグのサイズが揃っていないと、なんだか気持ちが悪い──そんな人は必見だ。 (ちなみに、複数のGoto/Fromタグの位置を揃えるなら、タグを選択して「書式設定」→「◯◯揃え」で揃えるのがおすすめだ。)
ここでは指定したブロックパス内のGoto/Fromを根こそぎ同じサイズにする。失敗しても責任は取らないので、自己責任でよろしく。
Simulinkのブロック・パラメーターの”Position”は[“左下角のx座標”, “左下角のy座標”, “右上角のx座標”, “右上角のy座標”]の形式で座標を返してくる。 だから、左下角の座標に所望の高さと幅を加えたものを右上角の座標に設定すれば良い。
下の例では高さを13にしてある。私の環境では、これがタグ名が隠れないギリギリの高さ。 tag_w
, tag_h
を好みに調整してどうぞ。
下の例でBlockTypeを’Constant|FromWorkspace’にすれば、constantブロックやFromWorkspaceブロックのサイズも揃えることが可能だ。 バラバラなブロックサイズがどうしても気になる強迫症なひとはぜひ試してね。
%%
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
%%