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

16 Ansichten (letzte 30 Tage)
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

Antworten (2)

Sreeram Mohan
Sreeram Mohan am 25 Sep. 2014
Bearbeitet: Sreeram Mohan am 25 Sep. 2014
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

Kategorien

Mehr zu Subsystems finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by