Пакет: slreportgen.finder
Суперклассы:
Создайте поисковик диаграммы Stateflow
Находит Stateflow® чарты.
создает средство поиска, которое по умолчанию находит все необработанные диаграммы Stateflow в заданной finder
= ChartDiagramFinder(container
)container
. Чтобы ограничить поиск определенными типами схем, используйте свойства этого искателя.
Примечание
Этот искатель может работать или в режиме поиска, или в итераторе. В режиме поиска используйте его find
метод для возврата результатов поиска как массива результатов. В режиме итератора используйте его hasNext
и next
методы для возврата результатов поиска один за другим. При поиске в моделях, которые имеют много модели-ссылки, используйте режим итератора. Режим итератора закрывает модель после компиляции и поиска, в то время как режим поиска сохраняет все модели, которые он ищет, открытыми. Наличие многих открытых моделей может потреблять всю системную память и медленную генерацию отчетов. Режим итератора медленнее, чем режим поиска, поэтому используйте режим поиска для поиска моделей, которые ссылаются на несколько других моделей или нет.
устанавливает свойства с помощью пар "имя-значение". Можно задать несколько аргументы пары "имя-значение" в любом порядке. Заключайте каждое имя свойства в одинарные кавычки.finder
= ChartDiagramFinder(Name,Value
)
results = find(finder)
находит график схемы в container
определяется поиском. The finder
является slreportgen.finder.ChartDiagramFinder
объект. results
является массивом slreportgen.finder.DiagramResult
объекты, каждый из которых содержит график схему, найденную этим методом. Добавление этого массива к отчету или репортеру добавляет изображения содержащихся в нем графиков. Отчеты, в которые можно добавить results
этого метода являются отчеты типа slreportgen.report.Report
или другой объект, такой как slreportgen.report.Chapter
репортер.
tf = hasNext(finder)
определяет, содержит ли контейнер, который ищет поисковик, по крайней мере, один график. Если контейнер имеет хотя бы один график, hasNext
метод ставит график в очередь как следующую диаграмму, которую next
метод вернется. The hasNext
затем метод возвращает true
. Используйте next
метод для получения этого графика. При последующих вызовах hasNext
метод определяет, имеет ли контейнер график, которую next
еще не извлечен. График ставится в очередь для next
метод для извлечения и возвратов true
. Если для извлечения больше не существует графиков, этот метод возвращает false
. Чтобы постепенно искать графики в контейнере, используйте hasNext
метод с next
метод в цикле while.
Примечание
Если текущий результат является последним результатом в очереди поиска для текущего графика и AutoCloseModel
свойство true
этот метод закрывает текущий график перед открытием следующего графика. Хотя это увеличивает время поиска, это уменьшает потребление памяти при поиске графика, которая ссылается на многие другие графики. Если ваш график не ссылается на многие другие графики, чтобы ускорить поиск, установите AutoCloseModel
свойство к false
или используйте find
способ.
result = next(result)
возвращает следующую result
поиска в очереди результатов, которую
hasNext
создан метод. Результат поиска содержит получившийся график. Добавление этого result
объект в отчет или репортер добавляет репортер схемы для графика.
Указатель. Чтобы узнать, как классы handle влияют на операции копирования, см. раздел «Копирование объектов».
Создайте отчет, который включает изображения всех диаграмм Stateflow в sldemo_fuelsys
модель. Используйте отдельную главу для каждого графика.
import mlreportgen.report.* import slreportgen.report.* import slreportgen.finder.* model_name = 'sldemo_fuelsys'; load_system(model_name); rpt = slreportgen.report.Report('output','pdf'); add(rpt, TitlePage('Title', sprintf('%s Charts',... model_name))); add(rpt, TableOfContents); chapter = Chapter('Root System'); add(chapter, Diagram(model_name)); add(rpt,chapter); chapter = Chapter('Charts'); finder = ChartDiagramFinder(model_name); results = find(finder); for result = results section = Section('Title',result.Name); add(section,result); add(chapter,section); end add(rpt, chapter); close(rpt); close_system(model_name); rptview(rpt);
slreportgen.finder.DiagramElementFinder
| slreportgen.finder.DiagramFinder
| slreportgen.finder.DiagramResult
| slreportgen.finder.StateFinder
| slreportgen.finder.StateflowDiagramElementFinder
| slreportgen.report.Report
| slreportgen.report.StateflowObjectProperties