Пакет: 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