exponenta event banner

slreportgen.report.Diign класс

Пакет: 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) задает свойства, используя пары имя-значение. Можно указать несколько аргументов пары имя-значение в любом порядке. Заключите каждое имя свойства в одинарные или двойные кавычки.

Входные аргументы

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

См. свойство Источник.

Свойства

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

Источник изображения снимка схемы, указанный как одно из этих значений.

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

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

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

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

  • Stateflow.Chart или объект вложенной диаграммы Stateflow. Вложенные диаграммы - это графические объекты, которые могут содержать те же объекты, что и диаграмма верхнего уровня, включая другие вложенные диаграммы. Подшаблоны обычно определяются Stateflow.State, Stateflow.Function, или Stateflow.Box объект.

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

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

Можно настроить представление, которое требуется захватить, в редакторе 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 репортеры работают вместе, чтобы включить навигацию с помощью гиперссылок. Каждый репортер предвещает создаваемый объект отчета с целью гиперссылки. Идентификатор этого целевого объекта основан на пути элемента, о котором сообщается в модели. Репортер диаграмм также накладывает элементы моментального снимка диаграммы с гиперссылками на соответствующий идентификатор целевого объекта на основе элементов. Объект отчета, с которым связан элемент диаграммы, зависит от типа элемента.

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

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

  • Маскированные блоки подсистемы, имеющие параметры маски, связаны с текстовым описанием блока, например таблицами параметров маски. Эта ссылка на текстовые описания верна только в том случае, если MaskedSystemLinkPolicy свойство репортера Diign имеет значение '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 - пикас

  • pt - точки

Пример: '2in'

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

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

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

  • in - дюймы

  • mm - миллиметров

  • pc - пикас

  • pt - точки

Пример: '3in'

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

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

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

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

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

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

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

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

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

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

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

Цель гиперссылки для этого репортера, указанная как вектор символов или скаляр строки, указывающий идентификатор цели связи, или 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 Editor, а затем устанавливается 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