Этот пример показывает для PDF и отчетов HTML, как настроить гиперссылки навигации схем Simulink, встроенных в отчеты. По умолчанию нажатие на элемент диаграммы перешло к разделу отчета, это документирует тот элемент. Чтобы задать различное место назначения для гиперссылок, выполните процедуру в этом примере.
Настройте отчет и загрузите модель Simulink
Импортируйте DOM и пакеты API Отчета, таким образом, вы не должны использовать долго, полностью определенные имена классов.
import mlreportgen.dom.* import slreportgen.report.*
Создайте и откройте отчет Simulink.
rpt = Report("myreport","pdf"); open(rpt);
Загрузите модель Simulink.
model = "sf_car";
load_system(model);
Включайте sf_car схему корневой системы с помощью генератора отчетов Схемы
Diagram
генератор отчетов накладывает каждый элемент sf_car
схематически изобразите снимок состояния с гиперссылкой, чтобы перейти к разделу отчета, который описывает тот элемент. Гиперссылка и ее ID создаются с помощью пути элемента в модели. Например, блок подсистемы, такой как Engine
или transmission
, включает гиперссылку, используемую в навигации к соответствующему снимку состояния схемы подсистемы в отчете.
diag1 = Diagram(model);
diag1.Snapshot.Caption = strcat("Diagram snapshot for root system: ",model);
add(rpt,diag1);
add(rpt,PageBreak);
Включайте sf_car/Engine схему подсистемы с помощью генератора отчетов Схемы
Этот генератор отчетов снабжает предисловием объект отчета, который он создает с целью гиперссылки, ID которой также основан на пути сообщаемого элемента в модели. Diagram
генератор отчетов (diag1
) для корневой системы sf_car
также использует тот же ID, чтобы создать гиперссылку на Engine
блокируйтесь в снимке состояния. Так, нажатие на Engine
блок автоматически предназначается к этому снимку состояния схемы подсистемы в отчете.
engine = strcat(model,"/","Engine"); diag2 = Diagram(engine); diag2.Snapshot.Caption = strcat("Diagram snapshot for subsystem: ",engine); add(rpt,diag2); add(rpt,PageBreak);
Включайте sf_car/transmission схему подсистемы с помощью генератора отчетов Схемы
Нажатие на transmission
блокируйтесь в sf_car
снимок состояния схемы корневой системы перешел к transmission
схема подсистемы создает снимки в отчете.
Чтобы настроить цель для гиперссылки, удалите цель ссылки для этого генератора отчетов путем установки LinkTarget
свойство генератора отчетов к пустой строке. Это гарантирует то нажатие на transmission
блокируйтесь в sf_car
снимок состояния схемы корневой системы не перешел к transmission
схема подсистемы. Затем создайте пользовательскую цель для гиперссылки как описано в следующем разделе.
transmission = strcat(model,"/","transmission"); diag3 = Diagram(transmission); diag3.LinkTarget = ""; diag3.Snapshot.Caption = strcat("Diagram snapshot for subsystem: ",transmission); add(rpt,diag3); add(rpt,PageBreak);
Создайте пользовательскую цель для гиперссылки блока sf_car/transmission
Чтобы поставить новую цель для гиперссылки, сначала используйте slreportgen.utils.getObjectID
функция, чтобы получить тот же ID, который использует генератор отчетов Схемы. Используйте SimulinkObjectProperties
генератор отчетов, чтобы сгенерировать таблицу свойства для transmission
блок. Измените LinkTarget
свойство генератора отчетов к ID получено с slreportgen.utils.getObjectID
. Генератор отчетов Схемы (diag1
) для корневой системы sf_car
также использует тот же ID, чтобы создать гиперссылку на transmission
блокируйтесь в снимке состояния, таким образом нажимание на блок теперь предназначается для этой таблицы свойства блока.
id = slreportgen.utils.getObjectID(transmission); props = SimulinkObjectProperties(transmission); props.LinkTarget = id; add(rpt,props);
Закройте и просмотрите отчет
close(rpt); rptview(rpt);