slreportgen.report.Diagram class

Пакет: slreportgen.report

Создайте репортер схем

Описание

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

Примечание

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

Конструкция

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

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 класс. Вам не нужно устанавливать это свойство самостоятельно. The FormalImage объект добавляет снимок схемы к отчету. Чтобы контролировать размер моментального снимка, установите mlreportgen.report.FormalImage свойства.

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

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

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

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

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

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

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

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

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

  • 'tif' - Тег Image File формат, не поддерживается в HTML выходных данных.

  • 'pdf' - PDF.

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

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

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

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

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

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

  • Маскированные блоки подсистемы, не имеющие параметров маски, связываются со схемой блока.

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

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

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

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

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

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

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

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

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

Примечание

A java.lang.OutOfMemoryError может возникнуть при возникновении любой из следующих комбинаций настроек свойств:

  • Scaling установлено на zoom, и Zoom, MaxHeight, и MaxWidth свойства, установленные на большие значения

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

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

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

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

  • cm - сантиметров

  • in - дюймы

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

  • pc - picas

  • pt - точки

Пример: '2in'

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

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

  • cm - сантиметров

  • in - дюймы

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

  • pc - picas

  • pt - точки

Пример: '3in'

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

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

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

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

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

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

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

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

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

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

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

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

Методы

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

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

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

Примеры

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

Добавьте снимок верхнего уровня 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);

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

расширить все

Поведение изменено в R2019b

Введенный в R2017b