Clean up Simulink block diagram

284 views (last 30 days)
Is there an automatic way rearrange a Simulink block diagram so that it is easy to read? For example:
  • Straighten paths where possible
  • Minimize use of white space so map is compact
  • Align blocks along program flow path
For example, clean_up_simulink(myModel) would perform these tasks then save the revised model.
  1 Comment
Ben
Ben on 14 Nov 2012
Edited: Ben on 14 Nov 2012
Mathworks should invest the energy to develop an auto-cleanup feature. Tools like these are expected for serious and relevant 21st century software. Yes, it is non-trivial, but take a look at National Instrument's LabView--they've implemented such a feature beautifully and it saves hours of aggravation especially if you are developing complex code.

Sign in to comment.

Accepted Answer

Andreas Goser
Andreas Goser on 14 Mar 2012
A year ago, I worked with users and developers ( I called it myself Simulink Beautifier :-) ) to find out if such things are possible. I found myself convinced, that this is a non-trivial undertaking, if you try this in a generic way, as there are too many criteria/rules.
But I know they are customers out there implemented some parts of this. But they all authored own tools. Typically man months of (student) time was invested. I cannot help more specific than saying they created larger MATLAB codes using FIND_SYSTEM, ADD_LINE, SET_PARAM etc.
  4 Comments
Anh Tran
Anh Tran on 31 Jan 2020
From MATLAB R2019b, you can improve your diagram layout and appearance by opening the FORMAT tab on the toolstrip and click on Auto Arrange. This command can realign, resize, and move blocks and straighten signal lines.
In MATLAB R2019a, select Diagram > Arrange > Arrange Automatically.
For more information, see Improve Model Layout.
Amartya Banerjee
Amartya Banerjee on 23 Jun 2022
Rightclick selection>Format> Arrange Automatically [ in 2021b]

Sign in to comment.

More Answers (4)

Anh Tran
Anh Tran on 31 Jan 2020
From MATLAB R2019b, you can improve your diagram layout and appearance by opening the FORMAT tab on the toolstrip and click on Auto Arrange. This command can realign, resize, and move blocks and straighten signal lines.
In MATLAB R2019a, select Diagram > Arrange > Arrange Automatically.
For more information, see Improve Model Layout.
Hope this helps.
  1 Comment
Naga Sai Sameer Sathwick Atyam
how to do in 2016a version as this feature is not available

Sign in to comment.


João
João on 21 May 2014
I know that this post is from two years ago, but I want to check if this function as already been implemented.
Thanks,

Joe
Joe on 11 Mar 2016
I completely agree with Ben. LabVIEW has a very nice solution and has had one for years. I always find myself very frustrated working with the Simulink editor. I find it clunky and time consuming. TMW really needs to invest in a utility to automatically clearn up at least a single wire but preferably the entire diagram.
I also find it absolutely annoying that Simulink doesn't follow the standard set by other applications that the scroll wheel pans the diagram instead of zooming. Very annoying.

Monika Jaskolka
Monika Jaskolka on 13 Apr 2017
Doesn't look like anything is built-in for Simulink. In 2017a there is "Stateflow Layout" which automatically improves the layout of charts.
However, there is this tool on the File Exchange that works on Simulink models: https://www.mathworks.com/matlabcentral/fileexchange/51228-auto-layout-tool
  2 Comments
Rashmi Bharadwaja
Rashmi Bharadwaja on 31 May 2017
This link can help clean your Simulink models to some extent.
http://blogs.mathworks.com/pick/2014/04/25/clean-up-your-simulink-model/
Praveen Potluri
Praveen Potluri on 1 Aug 2017
You can use the goto block and the from block from the simulink library so that there won't be too many overlapping lines. It is not a automatic way but your block diagram looks clean.

Sign in to comment.

Categories

Find more on Programmatic Model Editing in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!