Пакет: slreportgen.report
Создайте репортер схем
Создайте репортер схемы, включая снимок схемы и подпись, для Simulink® или Stateflow® схема.
Примечание
Чтобы использовать репортера схем в отчете, необходимо создать отчет с помощью slreportgen.report.Report класс.
создает пустой репортер схемы. Установите его свойства, чтобы захватить схему Simulink или Stateflow.diagram = Diagram()
создает репортер схем Simulink или Stateflow, заданный как diagram = Diagram(source) source. Добавление этого репортера к отчету создает моментальный снимок схемы. Затем снимок отображается в отчете как изображение с подписью. Изображение снимка хранится во временной папке отчета. Когда отчет закроется, изображение моментального снимка копируется в отчет, а затем изображение удаляется из временной папки. Чтобы предотвратить удаление файла изображения моментального снимка, используйте Debug свойство отчета. См. slreportgen.report.Report
устанавливает свойства с помощью пар "имя-значение". Можно задать несколько аргументы пары "имя-значение" в любом порядке. Заключайте каждое имя свойства в одинарные или двойные кавычки.diagram = Diagram(Name,Value)
| createTemplate | Создайте шаблон схемы |
| customizeReporter | Создайте пользовательский класс reporter схемы |
| getClassFolder | Расположение файла определения класса схемы |
| getSnapshotImage | Расположение файла изображения снимка схемы |
Добавьте снимок верхнего уровня vdp модель для отчета.
load_system('vdp')
import slreportgen.report.*
import mlreportgen.report.*
rpt = slreportgen.report.Report('output','pdf');
chapter = Chapter();
chapter.Title = 'Diagram Reporter Example';
diagram = Diagram("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 модель к нему. Добавьте гиперссылку к подсистеме передачи и добавьте абзац в качестве целевого для этой ссылки.
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, а затем устанавливает SnapshotArea свойство для этого представления путем вызова slreportgen.utils.getCurrentEditorView.
Откройте модель.
f14
В редакторе Simulink отобразите часть схемы, которую вы хотите захватить в снимке. Получите текущую область просмотра Редактор путем вызова slreportgen.utils.getCurrentEditorView.
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);
slreportgen.finder.AnnotationFinder | slreportgen.finder.BlockFinder | slreportgen.finder.ChartDiagramFinder | slreportgen.finder.DiagramElementFinder | slreportgen.finder.DiagramFinder | slreportgen.finder.StateFinder | slreportgen.finder.StateflowDiagramElementFinder | slreportgen.finder.SystemDiagramFinder | slreportgen.report.Report | slreportgen.report.SimulinkObjectProperties | slreportgen.report.StateflowObjectProperties