how to delete (all) Requirement Traceability links of Stateflow transition-lines by command

Hello,
I want to delete all Requirement Traceabilities of the stateflow transition-lines by command (they are too many, it so suffering to delete one by one manually)
all my efforts only reach bellows
1. % remove the Requirement-links
set_param(#Targtet#, 'RequirementInfo', '');
2. % get all stateflow transitions
S = sfroot;
myModel = S.find('-isa', 'Simulink.BlockDiagram', '-and', 'Name', bdroot);
charts = myModel.find('-isa', 'Stateflow.Chart');
charts.find('-isa', 'Stateflow.Transition') % ans = Stateflow.Transition: 55-by-1
BTW: I know I could select several lines and delete at once, while it helps few for my very-complicated model.
Thanks to all reviewing/answering it.

 Respuesta aceptada

I'm assuming that you have your 55x1 array of transition objects with you. Post that you can use 'rmi' API to programmatically handle requirements. Here's a doc link: https://www.mathworks.com/help/slrequirements/ref/rmi.html#d120e5121
Continuing your code, assuming all 55x1 transitions are in a variable tr:
tr = charts.find('-isa', 'Stateflow.Transition') % ans = Stateflow.Transition: 55-by-1
for i=1:length(tr)
current_object = tr(i);
if(rmi('count',current_object)~=0) %Check if no of requirements linked to the transition is nonzero
rmi('clearAll', current_object,'noprompt') % Delete the requirements without throwing a dialog prompt
end
end
You can use rmi and automate this process for other stateflow objects like states as well.

Más respuestas (0)

Categorías

Productos

Versión

R2019b

Preguntada:

el 21 de Mayo de 2020

Comentada:

el 29 de Mayo de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by