Forwarding Table delete a block

2 views (last 30 days)
John D
John D on 9 Jan 2019
Commented: Fangjun Jiang on 10 Jan 2019
I have old models that contain a custom annotation block. Simulink has for some time supported much nicer annotation blocks so I my goal is to replace the old custom block with a native annotation using a forwarding table upgrade process.
I have succesfully created the forwarding table upgrade script that takes the text from the old annotation block and creates a new native annotation using Simulink.Annotation(.... ) of the same size and position.
The problem I have is that I now need to delete the old block. The delete_block() function cannot be used within the forwarding table upgrade script (within a callback).
So here are my questions:
  • Is there another way to schedule the deletion of a block during the forwarding table upgrade process ?
  • Is there a different method to convert a block to an annotation ?
Thanks
John
  3 Comments
John D
John D on 10 Jan 2019
Hi Jiang
The problem is that the 'new block' is not a block but an annotation. In the past I have upgraded blocks but in this case I want to replace a block with an annotation.
To do this I can create an annotation but I cannot delete the old block.
John
Fangjun Jiang
Fangjun Jiang on 10 Jan 2019
Then don't use the forwarding table approach. Since you couldn't specify the "New Block Path" to point to the annotation, you probably did all the conversion in the "Transformation Function". Just put the same script in the "PostLoadFcn" callback of the model. It checks the existence of you old block, makes the conversion and you can use delete_block().

Sign in to comment.

Answers (0)

Categories

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

Products


Release

R2016a

Community Treasure Hunt

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

Start Hunting!