Main Content

MATLAB コマンド ウィンドウからのプログラムによるモデルの印刷

プログラムによって Simulink® モデルのブロック線図の印刷およびイメージ ファイル形式へのエクスポートを行うことができます。対話的にモデルのブロック線図を印刷およびエクスポートするには、モデル ブロック線図の印刷を参照してください。

印刷コマンド

MATLAB® print コマンドには、複数の印刷オプションが用意されています。たとえば、sldemo_enginewc モデル内の Compression サブシステムを既定のプリンターで印刷するには、MATLAB コマンド ウィンドウで以下のコマンドを入力します。

openExample('sldemo_enginewc');
print -sCompression

print コマンドを使用する場合、印刷できるのは 1 つのブロック線図だけです。モデルの階層構造内の複数のレベルを印刷するには、印刷するブロック線図ごとに 1 つの print コマンドを繰り返し使用します。

ヒント

あるいは、対話的に印刷することを検討します。Simulink ツール バーの [シミュレーション] タブの [ファイル] セクションで [印刷] をクリックします。次に、Simulink エディターの [モデルの印刷] ダイアログ ボックスを使用して、印刷するブロック線図を指定します。詳細については、印刷するシステムの選択を参照してください。

以下のパラメーターを指定して関数 set_param を使用して、モデルの印刷オプションを指定できます。

印刷のモデル パラメーター

パラメーター

説明

PaperOrientation

印刷用紙の方向。

'portrait' | {'landscape'}

PaperPositionMode

用紙の位置のモード。

  • auto – 印刷時に、Simulink ソフトウェアによってブロック線図のサイズが印刷ページに合わせて変更されます。ブロック線図をグラフィックス イメージとしてエクスポートする場合、Simulink ソフトウェアによって、エクスポートされるイメージのサイズが、ブロック線図の元の画面上でのサイズと同じサイズに変更されます。

  • tiled – 複数のページにまたがってブロック線図を印刷またはエクスポートします。詳細については、ブロック線図の複数ページへの印刷を参照してください。

{'auto'} | 'tiled'

PaperType

印刷用紙のタイプ。

'usletter' | 'uslegal' | 'a0' | 'a1' | 'a2' | 'a3' | 'a4' | 'a5' | 'b0' | 'b1' | 'b2' | 'b3' | 'b4' | 'b5' | 'arch-A' | 'arch-B' | 'arch-C' | 'arch-D' | 'arch-E' | 'A' | 'B' | 'C' | 'D' | 'E' | 'tabloid'

PaperUnits

印刷用紙のサイズの単位。

'normalized' | {'inches'} | 'centimeters' | 'points'

TiledPaperMargins

各タイル配置ページに関する余白のサイズ。ベクトルの各要素は、個々の端での余白を表します。

ベクトル — [left, top, right, bottom]

複数行の名前またはスペースを含む名前をもつシステムの印刷

名前が複数の行で表示されるシステムを印刷するには、変数にその名前を割り当て、その変数を print コマンドで使用します。以下の例では、Aircraft Dynamics Model という名前のサブシステムを印刷する方法を示します。

openExample('simulink_aerospace/AircraftLongitudinalFlightControlExample')
open_system('slexAircraftExample/Aircraft Dynamics Model');
sys = sprintf('slexAircraftExample/Aircraft\nDynamics\nModel');
print (['-s' sys])

名前に 1 つ以上のスペースが含まれるシステムを印刷する場合、名前を文字ベクトルとして指定します。たとえば、Throttle & Manifold サブシステムを印刷するには、以下のコマンドを入力します。

openExample('sldemo_enginewc');
open_system('sldemo_enginewc/Throttle & Manifold');
print (['-sThrottle & Manifold'])

用紙の向きと種類の設定

用紙の向きだけを設定するには、関数 orient を使用します。あるいは、PaperOrientation モデル パラメーターを指定して関数 set_param を使用することでも、用紙の向きを設定できます。

用紙の種類を設定するには、PaperType モデル パラメーターを指定して関数 set_param を使用します。たとえば、US Letter サイズの用紙に印刷するには、用紙の種類を 'usletter' に設定します。

ブロック線図の複数ページへの印刷

既定では、各ブロック線図は 1 枚のページに収まるように印刷処理中にスケーリングされます。大きいブロック線図の場合、このような自動スケーリングにより印刷イメージが見にくくなる場合があります。

タイル配列された印刷により、大きいブロック線図でも明確さや詳細さを失うことなく、印刷を行うことができます。タイル配置印刷により、ブロック線図を複数ページに印刷することができます。たとえば次の図に示すように、タイル配置を使ってモデルを分割し、白いボックスと灰色のボックスでそれぞれ個別の印刷ページを表すことができます。

Simulink model overlaid onto a uniform grid of white and gray tiles

タイル配置の印刷の有効化

  1. 関数 set_param を使用して PaperPositionMode パラメーターを tiled に設定します。

  2. print コマンドで -tileall 引数を指定します。

たとえば、sldemo_enginewc モデルの Compression サブシステムに対してタイル配置印刷を有効にするには、以下のコマンドを使用します。

openExample('sldemo_enginewc');
set_param('sldemo_enginewc/Compression', 'PaperPositionMode', ...
'tiled');
print('-ssldemo_enginewc/Compression', '-tileall')

タイル配置ページの境界の表示

プログラムからページの境界を表示するには、モデル パラメーター ShowPageBoundarieson に設定して、関数 set_param を使用します。

openExample('sldemo_enginewc');
set_param('sldemo_enginewc', 'ShowPageBoundaries', 'on')

タイル配置ページの余白の設定

余白のサイズを減らすことによって、タイル配置ページ内の印刷可能領域が広くなります。タイル配置ページに関連付けられた余白のサイズを指定するには、関数 set_paramTiledPaperMargins パラメーターを使用します。既定では、各余白は 0.5 インチです。TiledPaperMargins の値は、[left top right bottom] の順番で余白を指定するベクトルです。各要素は、ページの特定の端における余白サイズを指定します。PaperUnits パラメーターの値は、余白の測定単位を決定します。

印刷するタイル配置ページの範囲の指定

プログラムによりタイル配置ページのページ番号範囲を指定するには、-tileall 引数および -pages 引数を指定して print コマンドを使用します。-pages の後に範囲を指定する 2 要素ベクトルを追加します。

メモ

Simulink によりタイル配置ページの番号は行優先で付けられます。たとえば、行 1 の 1 ページ目は 1、行 1 の 2 ページ目は 2 というようになります。

たとえば、2、3、4 ページ目を印刷するには、以下のコマンドを使用します。

openExample('simulink_general/VanDerPolOscillatorExample');
print('-svdp','-tileall','-pages[2 4]')

イメージ ファイル形式へのモデルの出力

モデルを .png または .jpeg などのイメージ ファイル形式に出力するには、MATLAB print コマンドで -device 引数を使用します。たとえば、vdp モデルを .png 形式に出力するには、次のコマンドを使用します。

openExample('simulink_general/VanDerPolOscillatorExample');
print -dpng -svdp vdp_model.png

プログラムによりモデルをイメージ形式にエクスポートするには、次のようにします。

  • モデルを MATLAB コマンド ラインで呼び出します。

    model %model is your model name
  • 印刷コマンドを使用してモデルを .jpeg 形式で保存します。

    print('-smodel', '-djepg', 'new_name')

既定では、エクスポート対象のモデルのキャンバス (背景) は、モデルの色と一致します。別のファイル形式にエクスポートするモデル ファイルで白または透明のキャンバスを使用する場合は、[Simulink 基本設定][一般][エクスポート] の基本設定を設定します。詳細については、Simulink Preferencesを参照してください。

参考

|

関連する例

詳細