slreportgen.report.Diagram クラス
パッケージ: slreportgen.report
スーパークラス: slreportgen.report.Reporter
ブロック線図レポーターの作成
説明
Simulink® または Stateflow® のブロック線図用に、ブロック線図のスナップショットと表題が含まれるブロック線図レポーターを作成します。
メモ
レポートでブロック線図レポーターを使用するには、slreportgen.report.Report
クラスを使用してレポートを作成する必要があります。
slreportgen.report.Diagram
クラスは handle
クラスです。
作成
説明
は、空のブロック線図レポーターを作成します。Simulink または Stateflow のブロック線図を取得するように、そのプロパティを設定します。diagram
= Diagram()
は、diagram
= Diagram(source
) source
によって指定された Simulink または Stateflow のブロック線図用のブロック線図レポーターを作成します。このレポーターをレポートに追加すると、ブロック線図のスナップショットが作成されます。次に、スナップショットがレポート内にイメージとして表題と共に表示されます。スナップショット イメージは、レポートの一時フォルダーに保存されます。レポートを閉じると、スナップショット イメージはレポートにコピーされ、イメージは一時フォルダーから削除されます。スナップショット イメージ ファイルが削除されないようにするには、レポートの Debug
プロパティを使用します。slreportgen.report.Report
を参照してください。
は、名前と値のペアを使用してプロパティを設定します。複数の名前と値のペアの引数を任意の順序で指定できます。diagram
= Diagram(Name=Value
)
プロパティ
Source
— ブロック線図のスナップショット イメージのソース
string スカラー | 文字ベクトル | ハンドル | slreportgen.finder.DiagramResult
| ...
ブロック線図のスナップショット イメージのソース。次のいずれかの値として指定します。
開いている、または読み込まれている Simulink モデルの名前
Simulink ブロック線図または Stateflow チャートを含む Simulink サブシステム ブロックのパス
Simulink ブロック線図または Stateflow チャートを含むサブシステム ブロックのハンドル
Stateflow.Chart
または Stateflow サブチャート オブジェクト。サブチャートは、他のサブチャートを含め、最上位のチャートと同じオブジェクトを含むことができるグラフィカル オブジェクトです。サブチャートは一般にStateflow.State
、Stateflow.Function
、またはStateflow.Box
オブジェクトで指定されます。
Snapshot
— スナップショット レポーター
mlreportgen.report.FormalImage
オブジェクト
スナップショット レポーター。既定で mlreportgen.report.FormalImage
クラスのオブジェクトに設定されます。このプロパティを手動で設定する必要はありません。FormalImage
オブジェクトは、ブロック線図のスナップショットをレポートに追加します。スナップショットのサイズを制御するには、mlreportgen.report.FormalImage
プロパティを設定します。
SnapshotArea
— スナップショットをキャプチャするブロック線図領域
[]
(既定値) | 1 行 4 列の double 配列
スナップショットをキャプチャするブロック線図領域。1 行 4 列の double 配列として指定します。配列の最初の 2 つの値は、Simulink エディターの座標空間のブロック線図領域の左上隅にある x 座標と y 座標 (ピクセル単位) です。最後の 2 つの値は、幅と高さ (ピクセル単位) です。空の配列は、ブロック線図全体を指定します。
Simulink エディターでキャプチャするビューを設定してから、SnapshotArea
プロパティを関数 slreportgen.utils.getCurrentEditorView
の出力に設定できます。例については、ブロック線図の一部のスナップショットのキャプチャを参照してください。
SnapshotFormat
— スナップショット イメージの形式
'svg'
(既定値) | ...
スナップショット イメージの形式。文字ベクトルまたは string スカラーとして指定します。サポートされる形式は、次のとおりです。
'bmp'
— ビットマップ イメージ。'gif'
— グラフィックス交換形式。'jpg'
— JPEG イメージ。'png'
— PNG イメージ。'emf'
— 拡張メタファイル。Windows® プラットフォームの DOCX 出力でのみサポートされます。'svg'
— Scalable Vector Graphics。'tif'
— タグ イメージのファイル形式。HTML 出力ではサポートされません。'pdf'
— PDF イメージ。
バージョン履歴を参照してください。
HyperlinkDiagram
— ブロック線図要素のハイパーリンク
true
(既定値) | false
各ブロック線図要素のハイパーリンクを含めるかどうかの選択。logical として指定します。このプロパティが true
の場合、各要素は、その要素を説明するレポート内のオブジェクトへのハイパーリンクになります。このプロパティは、PDF と HTML のレポートにのみ適用されます。ハイパーリンクによって、Simulink と Stateflow のチャートを使用してレポートをナビゲートできます。
Diagram
、SimulinkObjectProperties
、および StateflowObjectProperties
レポーターが連携することで、ハイパーリンクを使用したナビゲーションが可能になります。各レポーターは、作成するレポート オブジェクトの前にハイパーリンク ターゲットを付けます。そのターゲットの ID は、モデル内のレポートされる要素のパスに基づきます。また、ブロック線図レポーターは、ブロック線図のスナップショットの要素と、対応する要素ベースのターゲット ID へのハイパーリンクを重ね合わせます。ブロック線図要素がリンクするレポート オブジェクトは、要素のタイプによって異なります。
ブロック線図ベースのブロック (サブシステム、チャート、モデル) は、ブロックのブロック線図にリンクされます。
その他のブロックは、ブロックのテキスト説明 (通常、ブロックのプロパティ テーブル) にリンクされます。
マスク パラメーターをもつマスク サブシステム ブロックは、ブロックのテキスト説明 (マスク パラメーター テーブルなど) にリンクされます。テキスト説明へのこのリンクは、ブロック線図レポーターの
MaskedSystemLinkPolicy
プロパティが'block'
または'default'
に設定されている場合にのみ真になります。それ以外の場合、マスク システム ブロックはそのブロック線図にリンクされます。マスク パラメーターをもたないマスク サブシステム ブロックは、ブロックのブロック線図にリンクされます。
ブロック線図ベースのナビゲーションをカスタマイズするには、ユーティリティ関数 slreportgen.utils.getObjectID
によって生成されたターゲット ID に基づいてカスタム リンク ターゲットを作成します。
MaskedSystemLinkPolicy
— マスク システム ブロックのハイパーリンク ターゲットのポリシー
文字ベクトル | 文字列
マスク システム ブロックのハイパーリンクのターゲットを特定するためのポリシー。次のいずれかの値として指定します。
'default'
— パラメーターをもつマスク システム ブロックは、テキスト説明 (マスク パラメーター テーブルなど) にリンクされます。パラメーターをもたないマスク システム ブロックは、レポート内の対応するブロック線図にリンクされます。'system'
— マスク システム ブロックは、レポート内のそのブロック線図にリンクされます。'block'
— マスク システム ブロックは、そのテキスト説明 (マスク パラメーターやサブシステム パラメーターのテーブルなど) にリンクされます。
Scaling
— ブロック線図のスナップショット イメージのスケーリング オプション
auto
(既定値) | custom
| zoom
ブロック線図のスナップショット イメージのスケーリング オプション。string、auto
、custom
、または zoom
として指定します。Scaling
は、イメージ ファイル内のブロック線図スナップショット イメージのサイズを制御します。
auto
— PDF または Word (docx) 出力の場合、auto
は、ブロック線図のスナップショット イメージを、縦横比を保ちながら現在のページ レイアウトに収まるようにスケーリングします。まず、ブロック線図のスナップショット イメージは、ページ幅に合わせてスケーリングされます。イメージの高さがページの高さを超える場合は、イメージは再度スケール ダウンされます。この追加のスケーリングで、イメージは余分な 1 インチの間隔を空けて現在のページに収まるようになります。余分な間隔によって、表題などの追加テキストが可能になります。スケーリングは HTML 出力には適用されません。custom
—Height
およびWidth
プロパティの値に基づいてブロック線図のスナップショット イメージをスケーリングします。zoom
—Zoom
プロパティで指定されているパーセント値にスナップショット イメージのサイズを拡大または縮小します。イメージの最大高さと最大幅を指定するには、MaxHeight
プロパティとMaxWidth
プロパティをそれぞれ使用します。
メモ
次のいずれかのプロパティ設定の組み合わせでは、java.lang.OutOfMemoryError
が発生する可能性があります。
Scaling
をzoom
に設定し、かつZoom
、MaxHeight
、およびMaxWidth
プロパティを大きい値に設定するScaling
をcustom
に設定し、かつHeight
およびWidth
プロパティを大きい値に設定する
このエラーを回避するには、ズームの Scaling
には、より小さい Zoom
、MaxHeight
、および MaxWidth
プロパティ値を使用します。カスタムの Scaling
には、より小さい Height
および Width
プロパティ値を使用します。より小さい値を使用すると、ブロック線図がページに収まるようになります。
Height
— スナップショット イメージの高さ
文字ベクトル | string スカラー
スナップショット イメージの高さ。数値とそれに続く測定単位の略語で構成される文字ベクトルまたは string スカラーとして指定します。たとえば、'2in' は 2 インチを指定します。有効な略語は次のとおりです。
px
— ピクセル (既定)cm
— センチメートルin
— インチmm
— ミリメートルpc
— パイカpt
— ポイント
例: '2in'
Width
— スナップショット イメージの幅
文字ベクトル | string スカラー
スナップショット イメージの幅。数値とそれに続く測定単位の略語で構成される文字ベクトルまたは string スカラーとして指定します。たとえば、'2in' は 2 インチを指定します。有効な略語は次のとおりです。
px
— ピクセル (既定)cm
— センチメートルin
— インチmm
— ミリメートルpc
— パイカpt
— ポイント
例: '3in'
Zoom
— ブロック線図のスナップショット イメージのズーム量
文字列
ブロック線図のスナップショット イメージのズーム量。string として指定します。Zoom
の形式は value% です。ここで、value はブロック線図のスナップショット イメージが拡大または縮小されるパーセントです。
MaxHeight
— ズーム スケーリングの最大高さ
文字列
ズーム スケーリングの最大高さ。string として指定します。このプロパティは、Scaling
が zoom
に設定されている場合にのみ適用されます。
MaxHeight
の形式は valueUnits です。ここで、Units は高さの単位の略語で、value は単位の数です。Units の有効な略語の表については、Height
プロパティを参照してください。
MaxWidth
— ズーム スケーリングの最大幅
文字列
ズーム スケーリングの最大幅。string として指定します。このプロパティは、Scaling
が zoom
に設定されている場合にのみ適用されます。
MaxWidth
の形式は valueUnits です。ここで、Units は高さの単位の略語で、value は単位の数です。Units の有効な略語の表については、Height
プロパティを参照してください。
TemplateSrc
— このレポーターのテンプレートのソース
[]
(既定値) | 文字ベクトル | string スカラー | レポーターまたはレポート | DOM ドキュメントまたはドキュメント パーツ
このレポーターのテンプレートのソース。次のいずれかのオプションとして指定します。
このレポーターのテンプレートを含むファイルのパスを指定する、文字ベクトルまたは string スカラー
このレポーターに使用されているテンプレートをもつか、このレポーター用のテンプレートを含むテンプレート ライブラリをもつ、レポーターまたはレポート
このレポーターに使用されているテンプレートをもつか、このレポーター用のテンプレートを含むテンプレート ライブラリをもつ、DOM ドキュメントまたはドキュメント パーツ
指定されるテンプレートは、このレポーターが追加されるレポートと同じタイプでなければなりません。たとえば、Microsoft® Word レポートの場合、TemplateSrc
は Word レポーター テンプレートでなければなりません。TemplateSrc
プロパティが空の場合、このレポーターはレポートの出力タイプで既定のレポーター テンプレートを使用します。
TemplateName
— このレポーターのテンプレートの名前
文字ベクトル | string スカラー
このレポーターのテンプレートの名前。文字ベクトルまたは string スカラーとして指定します。このレポーターのテンプレートは、このレポーターのテンプレート ソース (TemplateSrc
) のテンプレート ライブラリになければなりません。
LinkTarget
— このレポーターのハイパーリンク ターゲット
[]
(既定値) | 文字ベクトル | string スカラー | mlreportgen.dom.LinkTarget
オブジェクト
このレポーターのハイパーリンク ターゲット。リンク ターゲット ID を指定する文字ベクトルまたは string スカラー、あるいは mlreportgen.dom.LinkTarget
オブジェクトとして指定します。文字ベクトルまたは string スカラーの値は LinkTarget
オブジェクトに変換されます。リンク ターゲットは、出力レポートでこのレポーターのコンテンツの直前に配置されます。
メソッド
パブリック メソッド
slreportgen.report.Diagram.createTemplate | ブロック線図テンプレートを作成する |
slreportgen.report.Diagram.customizeReporter | Create custom diagram reporter class |
slreportgen.report.Diagram.getClassFolder | ブロック線図のクラス定義ファイルの場所 |
getSnapshotImage | ブロック線図のスナップショット イメージ ファイルの場所 |
copy | Create copy of a Simulink reporter object and make deep copies of certain property values |
getImpl | レポーターの実装を取得する |
例
最上位のモデル ブロック線図の追加
vdp
モデルの最上位のスナップショットをレポートに追加します。
load_system("slrgex_vdp") import slreportgen.report.* import mlreportgen.report.* rpt = slreportgen.report.Report("output","pdf"); chapter = Chapter(); chapter.Title = "Diagram Reporter Example"; diagram = Diagram("slrgex_vdp"); diagram.Snapshot.Caption = "The van der Pol Equation"; diagram.SnapshotFormat = "svg"; diagram.Snapshot.Height = "4in"; add(chapter,diagram); add(rpt,chapter); rptview(rpt);
ハイパーリンクされたブロック線図のレポートへの追加
PDF レポートを作成し、それに slrgex_sf_car
モデルのルート システムとサブシステムのブロック線図スナップショットを追加します。transmission サブシステムにハイパーリンクを追加し、そのリンクのターゲットとして段落を追加します。
import mlreportgen.report.* import slreportgen.report.* import slreportgen.utils.* import mlreportgen.dom.* rpt = slreportgen.report.Report('output','pdf'); chapter = Chapter('slrgex_sf_car'); load_system('slrgex_sf_car'); diag1 = Diagram('slrgex_sf_car'); diag1.Snapshot.Caption = 'Root System: slrgex_sf_car'; add(chapter,diag1); add(chapter,PageBreak); diag2 = Diagram('slrgex_sf_car/Engine'); diag2.Snapshot.Caption = 'Subsystem: slrgex_sf_car/Engine'; add(chapter,diag2); add(chapter, PageBreak); para = Paragraph('Custom target for slrgex_sf_car/transmission'); id = getObjectID('slrgex_sf_car/transmission'); append(para,mlreportgen.dom.LinkTarget(id)); add(chapter,para); add(chapter,PageBreak); add(rpt,chapter); close(rpt); rptview(rpt);
ブロック線図の一部のスナップショットのキャプチャ
SnapshotArea
プロパティを使用して、スナップショットをキャプチャするブロック線図の領域を指定します。この例では、Simulink エディターでビューを設定してから、slreportgen.utils.getCurrentEditorView
を呼び出してそのビューに SnapshotArea
プロパティを設定します。
モデルを開きます。
f14
Simulink エディターで、スナップショットをキャプチャするブロック線図の一部を表示します。slreportgen.utils.getCurrentEditorView
を呼び出して、Simulink エディターの現在のビュー領域を取得します。
editorViewArea = getCurrentEditorView();
レポートとブロック線図レポーターを作成します。ブロック線図のスナップショット領域をエディターの現在の表示領域に設定します。ブロック線図レポーターをレポートに追加します。
import slreportgen.report.* import Slreportgen.utils.* rpt = Report('output','pdf'); diag = Diagram('f14'); diag.SnapshotArea = editorViewArea; add(rpt, diag); close(rpt); rptview(rpt);
バージョン履歴
R2017b で導入R2019b: SnapshotFormat
の既定値は、すべてのレポート タイプで 'svg'
です。
R2019b 以降は、Scalable Vector Graphics (SVG) のイメージが Word レポートでサポートされています。すべてのレポート タイプ (HTML、PDF、および Word) で、SnapshotFormat
プロパティの既定値は 'svg'
であり、値 'auto'
は 'svg'
を示します。以前のリリースでは、SnapshotFormat
プロパティの既定値は 'auto'
であり、プラットフォームに応じて HTML レポートおよび PDF レポートの場合は 'svg'
、Word レポートの場合は 'emf'
または 'png'
を示していました。
SVG イメージを含む Word レポートには、Word 2016 以降のバージョンが必要です。MATLAB® R2019b 以降のリリースで、以前のバージョンの Word と互換性のあるイメージを含むレポートを生成するには、SnapshotFormat
プロパティを 'svg'
以外の値に設定します。以前のリリースの MATLAB で既定で使用されていたイメージ形式を指定するには、SnapshotFormat
を次のように設定します。
Windows プラットフォームの場合、
'emf'
UNIX® または Mac プラットフォームの場合、
'png'
参考
slreportgen.report.Report
| slreportgen.finder.DiagramFinder
| slreportgen.finder.DiagramElementFinder
| slreportgen.finder.SystemDiagramFinder
| slreportgen.finder.ChartDiagramFinder
| slreportgen.finder.StateflowDiagramElementFinder
| slreportgen.finder.StateFinder
| slreportgen.report.StateflowObjectProperties
| slreportgen.report.SimulinkObjectProperties
| slreportgen.finder.BlockFinder
| slreportgen.finder.AnnotationFinder
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)