2013-10-31 64 views
2

通过右键单击Simulink块=>排列,可以实现“Send to Back”和“带到前面”功能。 是否有任何解决方案以编程方式访问这些功能。 目标是通过使用matlab脚本发回或带到一个块。Simulink块显示顺序

感谢您的帮助。

+0

据我所知,这是不可能以编程方式做到这一点(或至少如果它是,它没有记录)。 – am304

回答

2

每个Simulink块都有一个名为“ZOrder”的属性。具有较低值的块出现在具有较高值的​​块后面。调用“发回”设置一个较低值,也可能为负值,调用“带到最前”设置一个很高且可能为正的值。

为了模拟这两个函数,您需要将块的ZOrder设置为小于/大于同一系统中任何其他块的ZOrder的值。将SearchDepth设置为1使用find_system来标识这些块。

使用这两个功能获取和设置ZORDER:

get(block_handle, 'ZOrder'); 

set(block_handle, 'ZOrder', newValue); 
+0

谢谢你的帮助opticdelusion。 按照你的建议,我用** find_system **来检索我的程序框图中的所有元素,然后我搜索'ZOrder'是最低的元素并应用属性** set_param(myBlock,'ZOrder',lowestZOrder - 1)**。 我在搜索max ZOrder并增加它应用于我的块时做了同样的事情。 我以前不知道'ZOrder'proprtty的存在,我认为这个属性没有记录。 谢谢。 –