MATLAB Answers

What's the best way to change a simulink library name?

11 views (last 30 days)
Jorhabib Eljaik
Jorhabib Eljaik on 27 May 2014
Answered: Lukas on 24 Sep 2020
Hello there, I have created a simulink library for which I now want to change its name and propagate this to the paths of my library blocks. I understand you can use forwarding tables to update the paths of singles blocks but this way I would have to change them one by one and I already have too many blocks. I also tried changing the name given in the slblocks.m but the blocks paths won't automatically update. Is there any way to make my life easier?
Thanks in advance
  2 Comments
madhan ravi
madhan ravi on 21 Mar 2019
@Raghunandan please do!, OP may not reply because it's too old but you can provide your own to demonstrate.

Sign in to comment.

Answers (1)

Lukas
Lukas on 24 Sep 2020
What about this?
% Find the library blocks in current system
h = find_system(gcs,'LinkStatus','resolved');
origlib = get_param(h,'ReferenceBlock');
oldlibname = 'myoldlib';
newlibname = 'mynewlib';
% Update the references to the new library
newlib = strrep(origlib,[oldlibname '/'],[newlibname '/']);
set_func = @(x,y) set_param(x,'ReferenceBlock',y);
cellfun(set_func,h, newlib);

Community Treasure Hunt

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

Start Hunting!