Simulink.B​lockDiagra​m.arrangeS​ystem does not work inside library

Hello,
I'm using the command:
Simulink.BlockDiagram.arrangeSystem(gcb,FullLayout='true');
to sort and rearrange the blocks inside a masked subsystem. This worked fine until I converted this subsystem into a library block.
Now this command does nothing and the internal structure remains cluttered and unreadabel. Because this blocks heavily modifies itself, I can't establish a pleasant alignment beforehand.
Is there any way to get this working?

4 commentaires

Is the library block un-locked?
No, it is locked.
Further testing showed, that the command seems to work only once (after getting a fresh copy of the library-block into the model) and then does nothing.
Sorry, to be acurate, for the library block, I shall refer it as "is the LinkStatus inactive".

Connectez-vous pour commenter.

Réponses (1)

I've tried it. You need to disable the library link first.
set_param(gcb,'LinkStatus','inactive')
Simulink.BlockDiagram.arrangeSystem(gcb,FullLayout='true')

2 commentaires

Although that's working, I don't want to keep the 'LinkStatus' in the 'inactive' state.
(Restoring it isn't possible because the local instance has different blocks inside, which will get deleted.)
Manuel K
Manuel K le 1 Déc 2022
Modifié(e) : Manuel K le 1 Déc 2022
Since the command only works the first time after placing the library-block (as mentioned in my comment above), my workaround is the following:
Everytime I need to change / update a setting inside the mask of the librry-block, I place a new instance and delete the old one.

Connectez-vous pour commenter.

Catégories

Produits

Version

R2022b

Question posée :

le 30 Nov 2022

Modifié(e) :

le 1 Déc 2022

Community Treasure Hunt

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

Start Hunting!

Translated by