有没有办法使用simulink API获取所有选定块的句柄?
假设我使用鼠标选择了几个块,我怎样才能使用simulink API以数组或单元格的形式获取所有选定块的句柄?
使用gcbh
,它只提供最近选定块的句柄。
基本上我想自动生成所有选定“Goto”块的相应“From”块,反之亦然。
Matlab版本:2010b
答案 0 :(得分: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
答案 1 :(得分:2)
这不能直接回答问题,但如果您想自动生成“发件人”块,我建议您从文件交换中提取以下内容:
http://www.mathworks.co.uk/matlabcentral/fileexchange/40117-autofromtag
我以前使用它并且效果很好。
答案 2 :(得分:0)
如果您使用的是蒙面子系统,请确保将'LookUnderMasks'
设置为'all'
:
find_system(gcs, ...
'SearchDepth' , 1,...
'LookUnderMasks', 'all', ...
'selected' , 'on');