Пакет: 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