How do i automatically rename blocks following to the subsystem name?

79 次查看(过去 30 天)
Hi all,
does someone knows how to write a script that renames every element in a subsystem of simulink(or of every element) following a pattern? The pattern could be for example then: #subsystemname#-#elementname# (result for example: 'Subsystem1-Scope1')
Is there somewhere a built in funcion or what are the commands to do so?
Thanks
Adrian

回答(2 个)

Sreeram Mohan
Sreeram Mohan 2014-9-25
编辑:Sreeram Mohan 2014-9-25
Hi Adrian,
Here is a small pointer to the solution.
%the following code below should return a list of the blocks in the subsystem
list_of_block_in_subsystem = find_system('modelName/subsystem', 'type', 'block');
%now on the obtained list one could just run a loop and set the name using set_params
for i = 1:length(list_of_block_in_subsystem)
if (i==1)
% cache the subsystem name
subsystem_name = get_param(list_of_block_in_subsystem{i}, 'Name');
else
old_name = get_param(list_of_block_in_subsystem{i}, 'Name');
new_name = [subsystem_name '-' old_name];
set_param(list_of_block_in_subsystem{i}, 'Name', new_name);
end
end
Hope this helps !!
Sreeram Mohan

Adrian Miguel Schiffer Gonzalez
Hi Sreeam,
this helped me a lot! thank you.
Adrian

类别

Help CenterFile Exchange 中查找有关 Sources 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by