主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

slreportgen.finder.DiagramElementFinder 类

命名空间: slreportgen.finder
超类: mlreportgen.finder.Finder

创建图元素查找器对象

描述

在 Simulink® 模块或 Stateflow® 图中查找元素。

slreportgen.finder.DiagramElementFinder 类是 handle 类。

创建对象

描述

finder = DiagramElementFinder(diagram) 创建一个查找器,用于查找 Simulink 模块或 Stateflow 图的元素。默认情况下,此查找器会在图中查找模块、注解、线条、状态和其他元素。使用查找器的属性将搜索限制到特定类型的元素。

注意

此查找器提供了以下选项来获取搜索结果:

  • 要将搜索结果作为数组返回,请使用 find 方法。将结果直接添加到报告中或在 for 循环中处理结果。

  • 要逐个迭代结果,请在 while 循环中使用 hasNextnext 方法。

这两个选项在性能上都没有优势。

示例

finder = DiagramElementFinder(Name=Value) 使用名称-值参量设置属性。您可以按任意顺序指定多个名称-值参量。

输入参量

全部展开

请参阅 Container 属性。

属性

全部展开

要搜索的图,指定为以下值之一:

  • Simulink 模块的句柄

  • Simulink 模块的路径

  • Stateflow 图模块句柄

  • Stateflow 图模块的路径

  • Stateflow 图 ID

  • Stateflow 图对象

要查找的 Simulink 或 Stateflow 图元素的类型,指定为字符串、字符数组、字符串数组或由字符数组组成的元胞数组。如果类型是数组,则指定一组元素类型。默认值为 Allall,查找所有图中的所有元素。使用这些值之一将搜索限制到特定的图元素类型。您可以使用完全限定名称或简称。

完全限定名称简称
Allall
Simulink.Annotationannotation
Simulink.Blockblock
Simulink.Segmentline
Simulink.Portport
Stateflow.Annotationsf_annotation
Stateflow.Boxbox
Stateflow.EMFunctionemfunction
Stateflow.Functionfunction
Stateflow.Junctionjunction
Stateflow.Portsf_port
Stateflow.SLFunctionslfunction
Stateflow.Statestate
Stateflow.Transitiontransition
Stateflow.TruthTabletruthtable

属性:

GetAccess
公共
SetAccess
公共

数据类型: char | string | cell

选择在搜索结果中包含注释掉的图元素,指定为逻辑值。如果是 false,注释掉的元素将被排除在搜索结果之外。

属性:

GetAccess
公共
SetAccess
公共

数据类型: logical

搜索图的变体,指定为字符串或字符向量。默认值为 Active。有效值为:

描述
"Active"活动变体
"All"所有变体
"ActivePlusCode"活跃变体和代码变体

属性:

GetAccess
公共
SetAccess
公共

数据类型: char | string

搜索 Container 的级别数,指定为以下值之一:

描述
[](默认)
  • 如果 Container 是模块图,则仅搜索图的顶层。

  • 如果 Container 是 Stateflow 图,则仅搜索从图顶层可见的元素。搜索包括嵌套状态中的元素,但排除子图中的元素。

非负整数

搜索指定层数

Inf

搜索所有层级

对查找器结果进行排序,指定为以下值之一:

描述
"none"不对结果进行排序。
"alphabetical"按名称的字母顺序对结果进行排序。
"systemAlpha"按父系统名称的字母顺序对结果进行排序。
"depth"按在模型层次结构中的深度对结果进行排序。排序列表中的第一个对象是层次结构中最高的对象。例如,一个模型及其子系统按以下顺序排序: myModelmyModel/subsystem1myModel/subsystem1/nestedSubststem

属性:

GetAccess
公共
SetAccess
公共

数据类型: char | string

要查找的对象的属性,指定为名称-值参量的元胞数组。查找器仅返回具有指定属性和指定值的对象。

示例: finder.Properties = {'Gain','5'}

属性:

GetAccess
公共
SetAccess
公共

数据类型: cell

方法

全部展开

示例

全部折叠

f14 模型中,查找模块、注解和线图元素,搜索深度为 1。

import mlreportgen.report.*
import slreportgen.report.*
import slreportgen.finder.*

model_name = "f14";
openExample(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);

版本历史记录

在 R2017b 中推出