Пакет: slreportgen.finder
Суперклассы:
Создайте объект поиска элемента схемы
Находит элементы в Simulink® блок или Stateflow® график.
создает средство поиска, которое находит элементы массива блока Simulink или диаграммы Stateflow. По умолчанию этот поисковик находит блоки, аннотации, линии, состояния и другие элементы в схеме. Используйте свойства искателя, чтобы ограничить поиск определенными типами элементов.finder
= DiagramElementFinder(diagram
)
Примечание
Этот поисковик предоставляет два способа получить результаты поиска:
Чтобы вернуть результаты поиска в виде массива, используйте find
способ. Добавьте результаты непосредственно к отчету или обработайте результаты в for
цикл.
Чтобы повторить результаты по одному, используйте hasNext
и next
методы в while
цикл.
Опция не имеет преимущества эффективности.
устанавливает свойства с помощью пар "имя-значение". Можно задать несколько аргументы пары "имя-значение" в любом порядке. Заключайте каждое имя свойства в одинарные кавычки.finder
= DiagramElementFinder(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
метод в a while
цикл.
result = next(finder)
возвращает следующую result
поиска в очереди результатов, которую
hasNext
создан метод. Этот метод возвращает элемент схемы, который он находит завернутым в объект результата типа slreportgen.finder.DiagramElementResult
. Чтобы добавить таблицы свойств элемента схемы, добавьте объекты результатов непосредственно к отчету или добавьте их к репортеру, который затем вы добавляете к отчету. Отчеты, в которые можно добавить results
этого метода должен быть типа slreportgen.report.Report
.
Указатель. Чтобы узнать, как классы handle влияют на операции копирования, см. раздел «Копирование объектов».
Найдите элементы блока, аннотации и линейной схемы на глубину поиска 1 в f14
модель.
import mlreportgen.report.* import slreportgen.report.* import slreportgen.finder.* model_name = 'f14'; load_system(model_name); rpt = slreportgen.report.Report('output','pdf'); add(rpt, TitlePage("Title",sprintf('%s Model',... model_name))); add(rpt, TableOfContents); diagFinder = SystemDiagramFinder("Container", ... model_name,"SearchDepth",1); while hasNext(diagFinder) system = next(diagFinder); chapter = Chapter("Title",system.Name); add(chapter,system); sect = Section("Title","Diagram Elements"); elemFinder = DiagramElementFinder("Container", ... system.Object, "Types",... ["block" "annotation" "line"]); elems = find(elemFinder); for elem = elems add(sect, elem); end add(chapter, sect); add(rpt, chapter); end close(rpt); close_system(model_name); rptview(rpt);
slreportgen.finder.AnnotationFinder
| slreportgen.finder.BlockFinder
| slreportgen.finder.ChartDiagramFinder
| slreportgen.finder.DiagramElementResult
| slreportgen.finder.DiagramFinder
| slreportgen.finder.StateFinder
| slreportgen.finder.StateflowDiagramElementFinder
| slreportgen.finder.SystemDiagramFinder
| slreportgen.report.Diagram
| slreportgen.report.Report