matlab

[matlab]ブロックの背景色を一括で変更する方法

はじめに

・matlabのスクリプトmファイルを使って、ブロックの背景色を一括で変更する方法をご紹介します。

ブロックの背景色を変更するmファイルの作り方について解説していきます。
本記事のゴール(読む事によってできる事)は以下とします。

・スクリプトmファイルを使って、ブロックの背景色を一括で変更する。

ふくろう
ふくろう
それではいきましょう。

仕様

やりたい事

・色を変えたいブロックを選択して実行する。
・色は選択したブロック以下を対象とする。
・色は白色とする。

できない事(制限事項)

マスクブロックの中までは色を変えない。

つくり方

  • STEP1
    選択したブロックのパスを取得する
    c_path = gcb;
  • STEP2
    マスクブロックの中身は検索しない
    Input_list = find_system(c_path,’LookUnderMasks’,’all’,’FollowLinks’,’off’);
  • STEP3
    見つけたパスすべてに対して実施する。
    for i=1:numel(Input_list)
    end
  • STEP4
    取得したパスに対して色を変える
    set_param(Input_list{i},‘BackgroundColor’,‘white’);

    BackgroundColor箇所は以下のように変更する事で対象物を変える事もできます。
    ForegroundColor:前景色

    white箇所は以下のように変更する事で変更する色を変える事もできます。
    black:黒
    red:赤
    green:緑
    blue:青
    cyan:シアン
    magenta:マゼンタ
    yellow:イエロー
    gray:グレー
    lightBlue:薄い青(ライトブルー)
    orange:オレンジ
    darkGreen:濃い緑

上記をまとめると、以下のようになります。

change_color_1.m

c_path = gcb;
Input_list = find_system(c_path,’LookUnderMasks’,’all’,’FollowLinks’,’off’);
for i=1:numel(Input_list)
set_param(Input_list{i},’BackgroundColor’,’white’);
end

さいごに

今回は、スクリプトmファイルで選択したブロックの背景色を一括で白色に変える方法をご紹介しました。
少し変えるだけで、入力ポートや出力ポートに対してのみ実行する事も可能になります。
その辺りは、また次の機会に記載しようと思います。

以上、参考になればうれしいです。
最後までお読みいただきありがとうございました。