slreportgen.finder.DiagramElementFinder类

包:slreportgen.finder
超:

创建图元件取景器对象

描述

在Simulink中发现元素金宝app®块或状态流®图表图。

施工

发现者= DiagramElementFinder(创建一个取景器,一个Simulink模块或状态流程图的认定的元件。金宝app默认情况下此发现取景器块,注释,线,状态,并在图中的其他元素。使用取景器的性能将搜索范围限制到特定类型的元素。

注意

这个取景器提供了两种方式来获得的搜索结果:

  1. 要返回的搜索结果作为数组,使用方法。直接添加到结果的报告或处理的结果对于环。

  2. 迭代通过一次的结果之一,使用hasNext下一个在方法环。

无论是选择具有性能上的优势。

发现者= DiagramElementFinder(名称,值设定使用的名称 - 值对的特性。您可以按任意顺序指定多个名称 - 值对的参数。单引号括起来每个属性的名称。

输入参数

展开全部

看到容器属性。

属性

展开全部

图,其中进行搜索,指定为下列值之一:

  • 处理到Simulink模金宝app块

  • 路径到Simulin金宝appk模块

  • 句柄状态流图表块

  • 路径的状态流图表块

  • 状态流图表ID

  • 状态流图表对象

的Simulink金宝app或Stateflow的图元素的类型的查找,指定为字符串,字符数组,字符串数组,或字符阵列的单元阵列。如果类型是数组,其指定一组元素类型。默认值是所有要么所有,其发现在所有图的所有元素。使用这些值中的一个搜索范围限制在特定的图元素类型。您可以使用完全合格的名称或者简称。

完全合格的名称 简称
所有 所有
金宝appSimulink.Annotation 注解
金宝appSimulink.Block
金宝appSimulink.Segment 线
金宝appSimulink.Port 港口
Stateflow.Annotation sf_annotation
Stateflow.Box
Stateflow.EMFunction emfunction
Stateflow.Function 功能
Stateflow.Junction 连接点
Stateflow.SLFunction slfunction
Stateflow.State
Stateflow.Transition 过渡
Stateflow.TruthTable truthtable

选择包括在搜索结果中注释的图元素,指定为逻辑。如果,注释的元素被排除在搜索结果。

变体来搜索图,指定为字符串或字符向量。默认值是活性。有效值是:

  • 所有- 所有变种

  • 活性- 只有活动变种

  • ActivePlusCode- 所有活性变体和代码变种

对象的属性,以找到,指定为名称 - 值对的单元阵列。只有取景器返回具有与指定的值指定属性的对象。

例:finder.Properties = { '增益', '5'}

方法

结果=查找(取景器)发现在图元素通过取景器指定。此方法返回类型的图表元素发现包裹在结果对象slreportgen.finder.DiagramElementResult。要添加图表元素属性表,直接将结果相加对象的报告或将它们添加到一个记者,你再加入到报表中。该报告您可以添加结果这种方法的类型必须为报告slreportgen.report.Report

TF = hasNext(取景器)确定该图,该取景器的搜索包含至少一种元素。如果图具有至少一个元件,所述hasNext方法队列该元素作为所述下一个元素下一个方法将返回。该hasNext方法然后返回真正。使用下一个方法来获得该元素。在随后的通话中,hasNext方法确定是否该图具有元件,所述下一个方法尚未检索。它队列的元素下一个方法来检索并返回真正。如果没有更多的元素存在于被检索,该方法返回。逐步搜索的图的元件,可以使用hasNext方法与下一个方法在一个环。

导致=下一个(取景器)返回下一个搜索结果在结果队列,所述hasNext方法创建的。此方法返回图元件它找到包裹在类型的结果对象slreportgen.finder.DiagramElementResult。要添加图表元素属性表,直接将结果相加对象的报告或将它们添加到一个记者,你再加入到报表中。该报告您可以添加结果这种方法的类型必须为slreportgen.report.Report

复制语义

处理。要了解手柄类如何影响复制操作,请参阅复制对象(MATLAB)。

例子

找块,注释和线元

找到块,注释和到的1中的一个搜索深度线图要素F14模型。

导入mlreportgen.report *进口slreportgen.report *进口slreportgen.finder *模型名称= 'F14'。;load_system(模型名称);RPT = slreportgen.report.Report( '输出', 'PDF');加(RPT,扉页( “标题”,sprintf的( '%S模式',...... MODEL_NAME)));添加(RPT,TableOfContents);diagFinder = SystemDiagramFinder( “容器”,... MODEL_NAME, “SearchDepth”,1);而hasNext(diagFinder)系统=下(diagFinder);章=章( “标题”,system.Name);添加(章,系统);节=科(“标题”,“图元素”); 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