DocBlock ブロックについてのレポート
この例では、Report API によって生成された Microsoft® Word レポートに Simulink® DocBlock ブロックの内容を含める方法を説明します。モデル例 slreportgen_demo_docblock には DocBlock ブロックのみが含まれ、DocBlock ドキュメント タイプの種類ごとに 1 つのブロックがあります。
RTF
HTML
テキスト
生成されたレポートでは、DocBlock ブロックの内容は次のようになります。

API クラスを非修飾名で (つまり、API クラスが含まれるクラス名前空間の名前を使用せずに) 参照できるよう、API 名前空間をインポートします。
import mlreportgen.report.* import slreportgen.report.* import slreportgen.finder.* import mlreportgen.dom.*
この例のモデルを読み込みます。
model = 'slreportgen_demo_docblock';
load_system(model);レポートの内容を保持するコンテナーを作成します。モデルがバーチャル ブロックのみを含むことによるコンパイル エラーを回避するため、レポート オブジェクトの CompileModelBeforeReporting プロパティを false に設定します。
rpt = slreportgen.report.Report('ModelDoc', 'docx'); rpt.CompileModelBeforeReporting = false;
タイトル ページと目次を追加します。
add(rpt,TitlePage('Title',sprintf('%s Model Documentation',model))); add(rpt,TableOfContents);
モデル内のすべてのシステムを検索し、ループ処理します。
finder = SystemDiagramFinder(model);
for system = find(finder)各システムの章を作成します。システム名を章のタイトルに含めます。章を使用して、システムの DocBlock コンテンツについてレポートします。
ch = Chapter('Title',sprintf('System %s', system.Name));
現在のシステム内ですべての DocBlock ブロックを検索します。各結果では、検出された DocBlock に対し DocBlock レポーターが返されます。add メソッドは DocBlock レポーターを呼び出します。
docBlockFinder = BlockFinder(system);
docBlockFinder.Properties = {'MaskType', 'DocBlock'}';
results = find(docBlockFinder);
if ~isempty(results)
add(ch, results);
else
add(ch, "This system does not have documentation.");
end
add(rpt,ch)
end レポートを閉じて表示します。
close(rpt); close_system(model); rptview(rpt);
参考
slreportgen.report.DocBlock | slreportgen.finder.BlockFinder | slreportgen.finder.BlockResult | slreportgen.finder.SystemDiagramFinder | DocBlock