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 comentarios

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".
Also no.

Iniciar sesión para comentar.

Respuestas (1)

Fangjun Jiang
Fangjun Jiang el 30 de Nov. de 2022
I've tried it. You need to disable the library link first.
set_param(gcb,'LinkStatus','inactive')
Simulink.BlockDiagram.arrangeSystem(gcb,FullLayout='true')

2 comentarios

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 el 1 de Dic. de 2022
Editada: Manuel K el 1 de Dic. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Simulink Functions en Centro de ayuda y File Exchange.

Productos

Versión

R2022b

Preguntada:

el 30 de Nov. de 2022

Editada:

el 1 de Dic. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by