2013-10-31 82 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的存在,我認爲這個屬性沒有記錄。 謝謝。 –