3

有没有办法使用 simulink API 获取所有选定块的句柄?

假设我使用鼠标选择了几个块,如何使用 simulink API 以数组或单元格的形式获取所有选定块的句柄?

gcbh它只给出最近选择的块的句柄。

基本上我想自动生成所有选定“Goto”块的相应“From”块,反之亦然。

Matlab版本:2010b

4

3 回答 3

6

这将为您提供所有选定块的名称:

blockNames = find_system('Type', 'Block', 'Selected', 'on')

您应该能够通过遍历元胞数组并调用来获取块的句柄get_param(blockName, 'handle')

for i = 1:length(blockNames)
    blockHandles(i)= get_param(blockNames{i},'handle');
end
于 2013-09-30T13:24:02.233 回答
2

这并不能直接回答问题,但如果您想自动生成“来自”块,我建议文件交换中的以下内容:

http://www.mathworks.co.uk/matlabcentral/fileexchange/40117-autofromtag

我以前用过,效果很好。

于 2013-09-30T13:25:40.730 回答
0

如果您使用的是屏蔽子系统,请确保您已'LookUnderMasks'设置为'all'

find_system(gcs, ...
    'SearchDepth'   , 1,...
    'LookUnderMasks', 'all', ...
    'selected'      , 'on');
于 2014-12-10T16:24:50.437 回答