Этот пример показывает для 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);