How to check if Constant and Gain blocks are too small

How can I write a script to identify all Constant and Gain blocks in a Simulink model that are too small to fully display their values?
Currently, I compare the actual block size (obtained via
get_param(block, 'Position')
) with an estimated required size. This estimation is based on the length of the Value parameter multiplied by an assumed pixel width per character. However, this approach leads to inaccuracies, especially for blocks that are borderline too small.
Is there a more robust or straightforward method to determine if the block size is adequate?

2 Comments

While I probably would do a similar approach than you, I wonder what the underlying reason could be for this happening in the first place.
The issue arises from the inaccuracy of the current method. When setting the required height and width to a specific estimation, I encounter corner cases where, for example, the Gain blocks are on the verge of being unreadable but aren't quite there yet. However, the code returns a failure, incorrectly indicating that the block is already unreadable. This happens because the estimations are not accurate enough. I'm looking for a better way to solve this.

Sign in to comment.

Answers (1)

There is currently no documented way to do this in a more robust way. I agree with @Andreas Goser that it might be good to better understand the root cause.
If you can use undocumented features, please contact our Technical Support team via an official case and let us know your use case and we can check if we can send you a better way to do that.
Also please share the full use case with us (if you want to code a Model Advisor check for example).

Categories

Find more on Simulink in Help Center and File Exchange

Products

Release

R2023a

Asked:

on 4 Dec 2024

Commented:

on 11 Dec 2024

Community Treasure Hunt

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

Start Hunting!