Пакет: slreportgen.report
Создайте генератор отчетов схемы
Создайте генератор отчетов схемы, включая снимок состояния схемы и заголовок, для Simulink® или Stateflow® схема.
Примечание
Чтобы использовать генератор отчетов Схемы в отчете, необходимо создать отчет с помощью slreportgen.report.Report
класс.
создает пустой генератор отчетов схемы. Установите его свойства получить схема Stateflow или Simulink.diagram
= Diagram()
создает генератор отчетов схемы для Simulink или схемы Stateflow, заданной diagram
= Diagram(source
) source
. Добавление этого генератора отчетов к отчету создает снимок состояния схемы. Затем снимок состояния отображается в отчете как изображение с заголовком. Изображение снимка состояния хранится во временной папке отчета. Когда отчет закрывается, изображение снимка состояния копируется в отчет и затем, изображение удалено из временной папки. Чтобы препятствовать тому, чтобы файл изображения снимка состояния был удален, используйте Debug
свойство отчета. Смотрите slreportgen.report.Report
свойства наборов с помощью пар "имя-значение". Можно задать несколько аргументов пары "имя-значение" в любом порядке. Заключите каждое имя свойства в одинарные или двойные кавычки.diagram
= Diagram(Name,Value
)
createTemplate | Создайте шаблон схемы |
customizeReporter | Создайте пользовательский класс генератора отчетов схемы |
getClassFolder | Схематически изобразите расположение файла определения класса |
getSnapshotImage | Схематически изобразите местоположение файла изображения снимка состояния |
Добавьте снимок состояния верхнего уровня 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
модель к нему. Добавьте гиперссылку на подсистему передачи и добавьте абзац как цель для той ссылки.
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 отобразите часть схемы, которую вы хотите получить в снимке состояния. Получите текущую область представления Simulink Editor путем вызова 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.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