Пакет: slreportgen.finder
Суперклассы:
Найдите объекты аннотации Simulink
Найдите объекты аннотации в Simulink® или Stateflow® схема.
создает средство поиска, которое находит по умолчанию все аннотации в заданной схеме. Чтобы ограничить поиск к определенным типам аннотаций, используйте свойства этого средства поиска.finder = AnnotationFinder(diagram)
Примечание
Это средство поиска обеспечивает два способа получить результаты поиска:
Чтобы возвратить результаты поиска как массив, используйте find метод. Добавьте результаты непосредственно в отчет или обработайте результаты в a for цикл.
Чтобы выполнить итерации через результаты по одному, используйте hasNext и next методы в a while цикл.
Никакая опция не имеет преимущество эффективности.
свойства наборов с помощью пар "имя-значение". Можно задать несколько аргументов пары "имя-значение" в любом порядке. Заключите каждое имя свойства в одинарные или двойные кавычки.finder = AnnotationFinder(Name,Value)
находит аннотации в results = find(finder)diagram заданный средством поиска. Этот метод возвращает аннотации, которые он находит перенесенным в объекты результата типа slreportgen.finder.DiagramElementResult. Чтобы добавить таблицы свойств аннотации, добавьте объекты результатов непосредственно в отчет или добавьте их в генератор отчетов, который вы затем добавляете в отчет. Отчеты, в которые можно добавить results из этого метода должны быть отчеты типа slreportgen.report.Report.
tf = hasNext(finder) определяет, если схема, что поисковые запросы средства поиска содержат по крайней мере одну аннотацию. Если схема имеет по крайней мере одну аннотацию, hasNext очереди метода, что аннотация как следующая аннотация, что next метод возвратится. hasNext метод затем возвращает true. Используйте next метод, чтобы получить ту аннотацию. На последующих вызовах, hasNext метод определяет, имеет ли схема аннотацию что next метод еще не получил. Это ставит аннотацию в очередь для next метод, чтобы получить и возвращает true. Если больше нет аннотаций, которые будут получены, этот метод возвращает false. Чтобы прогрессивно искать схему аннотации, используйте hasNext метод с next метод в некоторое время цикле.
result = next(finder) возвращает следующий поисковый result в очереди результата, что hasNext метод создается. Этот метод возвращает аннотацию, которую он находит перенесенным в объект результата типа slreportgen.finder.DiagramElementResult. Чтобы добавить таблицы свойств аннотации, добавьте объекты результатов непосредственно в отчет или добавьте их в генератор отчетов, который вы затем добавляете в отчет. Отчеты, в которые можно добавить results из этого метода должен иметь тип slreportgen.report.Report.
Указатель. Чтобы узнать, как классы Handle влияют на операции копирования, см. раздел "Копирование объектов".
Создайте отчет, который находит аннотации в slrgex_sf_car модель.
import mlreportgen.report.*
import slreportgen.report.*
import slreportgen.finder.*
model_name = 'slrgex_sf_car';
load_system(model_name);
rpt = slreportgen.report.Report('output','pdf');
add(rpt, TitlePage("Title",...
sprintf('Annotations in %s Model',model_name)));
add(rpt, TableOfContents);
diagFinder = SystemDiagramFinder(model_name);
diagrams = find(diagFinder);
while hasNext(diagFinder)
diagram = next(diagFinder);
annotFinder = AnnotationFinder(diagram.Object);
annotations = find(annotFinder);
if ~isempty(annotations)
chapter = Chapter("Title",diagram.Name);
add(chapter, diagram);
sect = Section("Title","Annotations");
add(sect,annotations);
add(chapter,sect);
add(rpt,chapter);
end
end
close(rpt);
close_system(model_name);
rptview(rpt);slreportgen.report.Report | slreportgen.finder.SystemDiagramFinder | slreportgen.report.SimulinkObjectProperties | slreportgen.report.Diagram | slreportgen.finder.BlockFinder | slreportgen.finder.DiagramElementResult