有没有办法使用 simulink API 获取所有选定块的句柄?
假设我使用鼠标选择了几个块,如何使用 simulink API 以数组或单元格的形式获取所有选定块的句柄?
gcbh
它只给出最近选择的块的句柄。
基本上我想自动生成所有选定“Goto”块的相应“From”块,反之亦然。
Matlab版本:2010b
这将为您提供所有选定块的名称:
blockNames = find_system('Type', 'Block', 'Selected', 'on')
您应该能够通过遍历元胞数组并调用来获取块的句柄get_param(blockName, 'handle')
:
for i = 1:length(blockNames)
blockHandles(i)= get_param(blockNames{i},'handle');
end
这并不能直接回答问题,但如果您想自动生成“来自”块,我建议文件交换中的以下内容:
http://www.mathworks.co.uk/matlabcentral/fileexchange/40117-autofromtag
我以前用过,效果很好。
如果您使用的是屏蔽子系统,请确保您已'LookUnderMasks'
设置为'all'
:
find_system(gcs, ...
'SearchDepth' , 1,...
'LookUnderMasks', 'all', ...
'selected' , 'on');