Simulink - automatically hide the name of a new block?
44 views (last 30 days)
Show older comments
Hi all -
When I build Simulink models I tend to immediately hide the name of a block unless it's not obvious exactly what it's doing (and then I rename it). For instance, I will hide the name of "Gain", "Sum", etc.
Is there a setting or way to automatically hide the name of a block I drop into a model? It gets tedious to do this manually, especially as there is no keyboard shortcut to do so.
Thanks!
1 Comment
Kaustubha Govind
on 7 Dec 2011
How exactly do you hide the name? Do you delete the label? Or do you set it to blankspaces?
Accepted Answer
Abhishek Gupte
on 7 Dec 2011
There is no way of automatically hiding the block names the moment you drop a block into a model. There is no setting in Simulink Preferences ( http://www.mathworks.com/help/releases/R2011b/toolbox/simulink/gui/briaid4.html ) to do this.
The workaround is:
1. Once you are done adding blocks to the model,
blockNames = find_system( bdroot , 'Type' , 'Block' );
for k = 1 : length( blockNames )
set_param( blockNames{k} , 'ShowName' , 'off' );
end;
2. If you run the above lines in the command window and then drag the lines from the Command History Window to the Shortcuts Toolbar, you can have a nice shortcut without having to type the lines each time.
3. I would recommend having a shortcut for:
set_param( blockNames{k} , 'ShowName' , 'on' );
as well.
2 Comments
Robert
on 3 Jul 2023
Maybe the link in Simon Greenwold's reply has broken, as I returned to this thread to remember how to hide block names and could not find the answer. To avoid future confusion, the answer in 17b onwards is to go to "Format" tab in simulink > "name" dropdown in BLOCK LAYOUT section > tickbox for "hide automatic block names".
More Answers (3)
Simon Greenwold
on 14 Nov 2017
We added a feature in R2017b to automatically hide block names when the names are default. It's documented here.
Does that help?
1 Comment
Robert
on 3 Jul 2023
As link has changed, process in 17b onwards is: "Format" tab in simulink > "name" dropdown in BLOCK LAYOUT section > tickbox for "hide automatic block names".
Abhijit Das
on 30 Mar 2012
Abhishek,
Thanks for the answer and it is helpful. Although it is working only with the main simulink window but not for munsked or subsystems. Are you aware of any tip for that too?
Thanks.
Abhijit
1 Comment
Abhay khemka
on 21 Feb 2019
Edited: Abhay khemka
on 21 Feb 2019
instead of this,
set_param( blockNames{k} , 'ShowName' , 'on' );
we can make it more generalised
set_param( pathTotheBlockName , 'ShowName' , 'on'/'off' ); this should work for all subsystems and blocks...
for masked systems, refer to the link below:
https://in.mathworks.com/help/simulink/ug/control-masks-programmatically.html
also, if you are working on a big system,make sure to name blocks or subsystems in a systematic order, so that u can access all the blocks/subsystems in one loop. That will reduce lot of effort.
Robert
on 30 Nov 2018
If you have switched off "automatic" hide/display feature for all existing blocks, you can use
set(find_system(get_param(bdroot,'Handle'),'HideAutomaticName','on'),'HideAutomaticName','off','ShowName','off');
to hide the name of all newly added blocks of the current model.
If you need to switch off the "automatic name" in your models blocks i the first place, use
set(find_system(get_param('mymodelroot','Handle'),'HideAutomaticName','on'),'HideAutomaticName','off');
Generally switching off 'HideAutomaticName' is very useful when working with models that have to follow modelling rules such as MAAB or MISRA SLSF that do not allow spaces or line breaks that are found in most of the simulink default block names.
Best regs,
Robert
0 Comments
See Also
Categories
Find more on Interactive Model Editing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!