0

我有一个内部带有 DocBlock 的 Simulink 模型,我想创建一个脚本来在这个 DocBlock 中编写。我已经有这个代码:

A = find_system('MyModel', 'BlockType', 'SubSystem', 'Mask', 'on', 'MaskType', 'DocBlock');
B = get_param(A, 'UserData');
B = cell2mat(B);
B.content = 'Test';
disp(B.content);
set_param(string(A), 'UserData', B.content);

问题是在我运行脚本之后,如果我双击 DocBlock,数据不会改变,我不知道为什么。有人知道如何更改 DocBlock 的内容吗?

编辑:我稍微修改了 set_param 行并添加了一个 get_param 行来验证更改是否正在发生:

set_param(Hndle, 'UserData', B);
C = get_param(Hndle, 'UserData');

当我显示 C 时,它实际上显示了更改,但是当我双击 DocBlock 时它不会更改我真的不明白的数据

谢谢 !

4

1 回答 1

0

我找到了如何做到这一点(感谢 mathworks 论坛中的某个人):

set_param(Hndle, 'UserData', B,'UserDataPersistent','On');

只需添加'UserDataPersistent','On'set_param 行。

于 2020-02-25T14:25:20.297 回答