Пакет: slreportgen.finder
Суперклассы:
Поиск объектов аннотации Simulink
Поиск объектов аннотации в Simulink® или Stateflow® схема.
создает средство поиска, которое по умолчанию находит все аннотации в указанной схеме. Чтобы ограничить поиск определенными типами аннотаций, используйте свойства этого искателя.finder = AnnotationFinder(diagram)
Примечание
Этот поисковик предоставляет два способа получить результаты поиска:
Чтобы вернуть результаты поиска в виде массива, используйте find способ. Добавьте результаты непосредственно к отчету или обработайте результаты в for цикл.
Чтобы повторить результаты по одному, используйте hasNext и next методы в while цикл.
Опция не имеет преимущества эффективности.
устанавливает свойства с помощью пар "имя-значение". Можно задать несколько аргументы пары "имя-значение" в любом порядке. Заключайте каждое имя свойства в одинарные или двойные кавычки.finder = AnnotationFinder(Name,Value)
находит аннотации в results = find(finder)diagram определяется поиском. Этот метод возвращает найденные аннотации в объектах результатов типа slreportgen.finder.DiagramElementResult. Чтобы добавить таблицы свойств аннотации, добавьте объекты результатов непосредственно в отчет или добавьте их к репортеру, который затем вы добавляете в отчет. Отчеты, в которые можно добавить results этого метода должны быть отчеты типа slreportgen.report.Report.
tf = hasNext(finder) определяет, содержит ли схема, которую ищет поисковик, по крайней мере, одну аннотацию. Если схема имеет хотя бы одну аннотацию, hasNext метод помещает эту аннотацию в очередь как следующую аннотацию, которую представляет next метод вернется. The hasNext затем метод возвращает true. Используйте next способ получения этой аннотации. При последующих вызовах hasNext метод определяет, имеет ли схема аннотацию, что next метод еще не получен. Оно помещает аннотацию в очередь для next метод для извлечения и возвратов true. Если больше нет аннотаций, которые нужно извлечь, этот метод возвращается false. Для постепенного поиска аннотаций в схеме используйте hasNext метод с next метод в цикле while.
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.finder.BlockFinder | slreportgen.finder.DiagramElementResult | slreportgen.finder.SystemDiagramFinder | slreportgen.report.Diagram | slreportgen.report.Report | slreportgen.report.SimulinkObjectProperties