В этом примере показано, как включить содержимое блоков Simulink DocBlock в отчет Microsoft ® Word, сгенерированный Report API. Модель примера, slreportgen_demo_docblock, содержит только блоки DocBlock с одним блоком для каждого типа документа DocBlock:
RTF
HTML
Текст
В сгенерированном отчете содержимое блоков DocBlock выглядит следующим образом:

Импортируйте пакеты 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. The 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);
DocBlock | slreportgen.finder.BlockFinder | slreportgen.finder.BlockResult | slreportgen.finder.SystemDiagramFinder | slreportgen.report.DocBlock