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

조회 수: 33 (최근 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
Adrian Miguel Schiffer Gonzalez 2014년 10월 11일
Hi Sreeam,
this helped me a lot! thank you.
Adrian

카테고리

Help CenterFile Exchange에서 Scopes and Data Logging에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by