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