slreportgen.report.Diagram class

Пакет: slreportgen.report

Создайте генератор отчетов схемы

Описание

Создайте генератор отчетов схемы, включая снимок состояния схемы и заголовок, для схемы Stateflow® или Simulink®.

Примечание

Чтобы использовать генератор отчетов Схемы в отчете, необходимо создать отчет с помощью slreportgen.report.Report класс.

Конструкция

diagram = Diagram() создает пустой генератор отчетов схемы. Установите его свойства получить схема Stateflow или Simulink.

diagram = Diagram(source) создает генератор отчетов схемы для Simulink или схемы Stateflow, заданной source. Добавление этого генератора отчетов к отчету создает снимок состояния схемы. Затем снимок состояния отображается в отчете как изображение с заголовком. Изображение снимка состояния хранится во временной папке отчета. Когда отчет закрывается, изображение снимка состояния копируется в отчет и затем, изображение удалено из временной папки. Чтобы препятствовать тому, чтобы файл изображения снимка состояния был удален, используйте Debug свойство отчета. Смотрите slreportgen.report.Report

diagram = Diagram(Name,Value) свойства наборов с помощью пар "имя-значение". Можно задать несколько аргументов пары "имя-значение" в любом порядке. Заключите каждое имя свойства в одинарные или двойные кавычки.

Входные параметры

развернуть все

Смотрите свойство Source.

Свойства

развернуть все

Схематически изобразите источник изображения снимка состояния в виде одного из этих значений.

  • Имя открытой или загруженной модели Simulink

  • Путь блока Подсистемы Simulink, который содержит схему Simulink или диаграмму Stateflow

  • slreportgen.finder.DiagramResult объект

  • Обработайте к блоку подсистемы, содержащему схему Simulink или диаграмму Stateflow

  • Stateflow.Chart или объект субдиаграммы Stateflow. Субдиаграммы являются графическими объектами, которые могут содержать те же объекты как график верхнего уровня, включая другие субдиаграммы. Субдиаграммы обычно задаются Stateflow.State, Stateflow.Function, или Stateflow.Box объект.

Создайте снимки генератор отчетов, установите по умолчанию на объект mlreportgen.report.FormalImage класс. Вы не должны устанавливать это свойство сами. FormalImage объект добавляет снимок состояния схемы в отчет. Чтобы управлять размером снимка состояния, установите mlreportgen.report.FormalImage свойства.

Схематически изобразите область, чтобы получить в снимке состояния в виде массива типа double 1 на 4. Первые два значения массива являются координатами X и Y, в пикселях, левого верхнего угла области схемы в Редакторе Simulink координатное пространство. Последние два значения являются шириной и высотой в пикселях. Пустой массив задает целую схему.

Можно настроить представление, что вы хотите получить в Редакторе Simulink и затем установить SnapshotArea свойство к выходу slreportgen.utils.getCurrentEditorView функция. Для примера см. Снимок состояния Взятия Части Схемы.

Создайте снимки формат изображения в виде вектора символов или строкового скаляра. Поддерживаемые форматы:

  • 'bmp' — Растровое изображение.

  • 'gif' — Формат обмена графическими данными.

  • 'jpg' — Изображение JPEG.

  • 'png' — Изображение PNG.

  • 'emf' — Расширенный метафайл, поддержанный только в DOCX выход на платформах Windows®.

  • 'svg' — Масштабируемая векторная графика.

  • 'tif' — Пометьте формат Файла изображения, не поддержанный в выводе HTML.

  • 'pdf' — Изображение PDF.

См. Вопросы совместимости.

Выбор включать гиперссылку каждого элемента диаграммы в виде логического. Если этим свойством является true, каждый элемент становится гиперссылкой на объект в отчете, который описывает его. Это свойство применяется только к PDF и отчетам HTML. Гиперссылки позволяют вам перемещаться по отчету с помощью Simulink и диаграмм Stateflow.

Diagram, SimulinkObjectProperties, и StateflowObjectProperties генераторы отчетов работают совместно, чтобы включить навигацию с помощью гиперссылок. Каждый генератор отчетов снабжает предисловием объект отчета, который он создает с целью гиперссылки. ID той цели основан на пути элемента, о котором сообщают, в модели. Генератор отчетов Схемы также накладывает элементы снимка состояния схемы с гиперссылками на соответствующий основанный на элементе целевой ID. Объект отчета, к которому элемент диаграммы ссылки зависит от типа элемента.

  • Основанный на схеме блок (подсистема, график, модель) соединяется со схемой блока.

  • Другие блоки соединяются с текстовыми описаниями блока, обычно блокируют таблицы свойства.

  • Блоки подсистемы маскированные, которые имеют ссылку параметров маски на текстовое описание блока, такого как таблицы параметров маски. Это соединение с текстовыми описаниями верно только если MaskedSystemLinkPolicy свойство генератора отчетов Схемы установлено в 'block' или 'default'. В противном случае системный блок маскированный соединяется со своей схемой.

  • Блоки подсистемы маскированные, которые не имеют ссылки параметров маски на схему блока.

Чтобы настроить основанную на схеме навигацию, создайте цели настраиваемой ссылки на основе целевых идентификаторов, сгенерированных slreportgen.utils.getObjectID служебная функция.

Политика определить цели для гиперссылок системы маскированной блокируется в виде одного из этих значений.

  • 'default' — Системные блоки маскированные, которые имеют ссылку параметров на текстовые описания, такие как таблицы параметров маски. Системные блоки маскированные, которые не имеют ссылки параметров на соответствующую блок-схему в отчете.

  • 'system' — Системные блоки маскированные соединяются со своей блок-схемой в отчете.

  • 'block' — Системные блоки маскированные соединяются со своим текстовым описанием, таким как таблица параметров маскированных или параметров подсистемы.

Масштабирование опций для схемы создает снимки изображение в виде строки, auto, custom, или zoomМасштабирование размер средств управления схемы создает снимки изображение в файле изображения.

  • auto — Для PDF или Word (docx) выход, auto масштабирует изображение снимка состояния схемы, чтобы поместиться в текущий макет страницы при поддержании его соотношения сторон. Во-первых, изображение снимка состояния схемы масштабируется к странице width. Если высота изображения превышает высоту страницы, то изображение снова уменьшено масштаб. Это дополнительное масштабирование гарантирует, что изображение помещается в текущую страницу с дополнительным 1-дюймовым интервалом. Дополнительный интервал допускает дополнительный текст, такой как заголовок. Масштабирование не применяется к выводу HTML.

  • custom — Масштабирует изображение снимка состояния схемы на основе значений Height и Width свойства

  • zoom — Увеличивает или уменьшает размер изображения снимка состояния до процентного значения, заданного Zoom свойство. Чтобы задать максимальную высоту изображения и максимальную ширину изображения, используйте MaxHeight и MaxWidth свойства, соответственно.

Примечание

java.lang.OutOfMemoryError может произойти, когда любая из этих комбинаций настроек свойства происходит:

  • Scaling установите на zoom, и Zoom'maxHeight' , и MaxWidth набор свойств к большим значениям

  • Scaling установите на custom, и Height и Width набор свойств к большим значениям

Избегать этой ошибки, для изменения масштаба Scaling, используйте меньший Zoom'maxHeight' , и MaxWidth значения свойств. Для пользовательского Scaling, используйте меньший Height и Width значения свойств. Используя меньшие значения гарантирует, что схема соответствует на странице.

Высота снимка состояния отображает в виде вектора символов или строкового скаляра, который состоит из номера, сопровождаемого сокращением от единицы измерения. Например, '2 дюйма' задает два дюйма. Допустимые сокращения:

  • px — пиксели (значение по умолчанию)

  • cm 'centimeters'

  • in 'inches'

  • mm — миллиметры

  • pc — цицеро

  • pt 'points'

Пример: '2in'

Ширина снимка состояния отображает в виде вектора символов или строкового скаляра, который состоит из номера, сопровождаемого сокращением от единицы измерения. Например, '2 дюйма' задает два дюйма. Допустимые сокращения:

  • px — пиксели (значение по умолчанию)

  • cm 'centimeters'

  • in 'inches'

  • mm — миллиметры

  • pc — цицеро

  • pt 'points'

Пример: '3in'

Означайте, чтобы масштабировать изображение снимка состояния схемы в виде строки. Zoom формат является % value, где value является процентом, которым изображение снимка состояния схемы увеличивается или уменьшается.

Максимальная высота для изменения масштаба, масштабирующегося в виде строки. Это свойство применяется только если Scaling установлен в zoom.

MaxHeight форматом является valueUnits, где Units является сокращением от единиц высоты, и value является количеством модулей. Смотрите Height свойство для таблицы допустимых сокращений Units.

Максимальная ширина для изменения масштаба, масштабирующегося в виде строки. Это свойство применяется только если Scaling установлен в zoom.

MaxWidth форматом является valueUnits, где Units является сокращением от единиц высоты, и value является количеством модулей. Смотрите Height свойство для таблицы допустимых сокращений Units.

Источник шаблона для этого генератора отчетов, заданного одним из этих способов:

  • Вектор символов или строковый скаляр, который задает путь файла, который содержит шаблон для этого генератора отчетов

  • Генератор отчетов или отчет, шаблон которого используется для этого генератора отчетов или чья библиотека шаблонов содержит шаблон для этого генератора отчетов

  • Документ DOM или часть документа, шаблон которой используется для этого генератора отчетов или чья библиотека шаблонов содержит шаблон для этого генератора отчетов

Заданный шаблон должен быть тем же типом как отчет, к которому добавлен этот генератор отчетов. Например, для отчета Word Microsoft®, TemplateSrc должен быть шаблон генератора отчетов Word. Если TemplateSrc свойство пусто, этот генератор отчетов использует шаблон генератора отчетов по умолчанию для выходного типа отчета.

Имя шаблона для этого генератора отчетов в виде вектора символов или строкового скаляра. Шаблон для этого генератора отчетов должен быть в библиотеке шаблонов источника шаблона (TemplateSrc) для этого генератора отчетов.

Цель гиперссылки для этого генератора отчетов в виде вектора символов или строкового скаляра, который задает ID цели ссылки или mlreportgen.dom.LinkTarget объект. Значение вектора символов или строкового скаляра преобразовано в LinkTarget объект. Цель ссылки сразу предшествует содержимому этого генератора отчетов в выходном отчете.

Методы

createTemplate Создайте шаблон схемы
customizeReporter Создайте пользовательский класс генератора отчетов схемы
getClassFolder Схематически изобразите расположение файла определения класса
getSnapshotImage Схематически изобразите местоположение файла изображения снимка состояния

Унаследованные методы

copyСоздайте копию генератора отчетов Simulink, возражают и делают глубокие копии определенных значений свойств
getImplПолучите реализацию генератора отчетов

Примеры

Добавьте верхний уровень диаграммы модели

Добавьте снимок состояния верхнего уровня 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 отобразите часть схемы, которую вы хотите получить в снимке состояния. Получите текущую область представления 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);

Вопросы совместимости

развернуть все

Поведение изменяется в R2019b

Введенный в R2017b