既存のSimulin​kモデルのブロックや​注釈のフォントを一括​して変更するにはどう​すればよいですか?

31 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 25 Oct 2013
既存のSimulinkモデルのブロックや注釈のフォントを変更しようと、Simulinkモデルウィンドウ上から[ファイル] -> [設定] 画面でフォント設定の変更を行ってもモデルに反映されません。どうすれば変更することができますか。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 25 Oct 2013
[ファイル] -> [設定] 画面で設定した内容は、それ以後に新規で作成したモデルに対して適用され、既存のモデルには反映されません。
既存モデル上のすべてのブロック・ライン・注釈のフォントを変更したい場合は、下記の方法で行って下さい。
1. デフォルトフォントサイズを変更
フォントのサイズは、モデルのデフォルトフォントサイズプロパティを変更することで一括変更が可能です。ただし、一度でもフォント設定の変更を行ってしまうと、モデル内にその情報が埋め込まれるため、デフォルトフォントサイズを変更しても、その結果がモデルに反映されません。このような場合は、下記の 2 の方法をご利用ください
% ブロックのデフォルトフォントサイズを変更
set_param(gcs,'DefaultBlockFontSize',14)
% ラインのデフォルトフォントサイズを変更
set_param(gcs,'DefaultLineFontSize',14)
% 注釈のデフォルトフォントサイズを変更
set_param(gcs,'DefaultAnnotationFontSize',14)
※R14SP3をご利用の場合、上記設定によってもブロックのフォントが変更されないブロック(From Workspace, Digital Clock, Merge, Data Type Conversion, etc.)があります。その場合は、下記の 2 の方法にて個別に変更する方法をご利用下さい。
2. フォントサイズ・フォント名・フォント角度・フォント太さを個別に変更
フォントサイズ以外のプロパティ(フォント名・フォント角度・フォント太さ)には、上記のデフォルトフォントサイズに対応したプロパティがないため、1つ1つ変更します。
これをコマンドで記述したものを下記に示します。カレントモデル内の全てのブロック・ライン・注釈をfind_systemコマンドにより検出し、ループ処理により変更しています。ブロックの場合のみ、find_systemコマンドの出力引数がセル配列となるのでご注意ください。
%ブロックの場合
blks = find_system(gcs,'LookUnderMasks','on','Type','block');
for k = 1:length(blks)
set_param(blks{k},'FontName','arial') % フォントをarialに変更
set_param(blks{k},'FontAngle','italic') % 角度をイタリックに変更
set_param(blks{k},'FontWeight','bold') % 太さをボールドに変更
set_param(blks{k},'FontSize',18) % サイズを18に変更
end
%ラインの場合
lins = find_system(gcs,'FindAll','on','LookUnderMasks','on','type','line');
for k = 1:length(lins)
set_param(lins(k),'FontName','arial') % フォントをarialに変更
set_param(lins(k),'FontAngle','italic') % 角度をイタリックに変更
set_param(lins(k),'FontWeight','bold') % 太さをボールドに変更
set_param(lins(k),'FontSize',18) % サイズを18に変更
end
%注釈の場合
annos = find_system(gcs,'FindAll','on','LookUnderMasks','on','type','annotation');
for k = 1:length(annos)
set_param(annos(k),'FontName','arial') % フォントをarialに変更
set_param(annos(k),'FontAngle','italic') % 角度をイタリックに変更
set_param(annos(k),'FontWeight','bold') % 太さをボールドに変更
set_param(annos(k),'FontSize',18) % サイズを18に変更
end

More Answers (0)

Categories

Find more on プログラムによるモデル編集 in Help Center and File Exchange

Products


Release

R2009a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!