Is there any way to access the text of a Simulink DocBlock ?

7 views (last 30 days)
Does anybody know a way to access the Text of a Simulink DocBlock in a model via command line, using find_system command ?

Accepted Answer

TAB
TAB on 8 May 2018
Edited: TAB on 8 May 2018
% Find docblocks in model
dBlkH = find_system('MyModel', 'BlockType', 'SubSystem', 'Mask', 'on', 'MaskType', 'DocBlock');
% Extract the docblock text
dBlkUData = get_param(dBlkH(1), 'UserData');
bBlkText = dBlkUData.content;
  2 Comments
Axel Hortsch
Axel Hortsch on 9 May 2018
Thanks Tabrez, this is helpful ! :-)
If I add a 'FindAll', 'on' it is returning me the Handles to the DocBlocks (otherwise a cell array). I can use either of it.
>> dBlkH = find_system('tl_vwe_model', 'FindAll', 'on', 'BlockType', 'SubSystem', 'Mask', 'on', 'MaskType', 'DocBlock')
dBlkH =
5.0002
8.0002
>> dBlkH = find_system('tl_vwe_model', 'BlockType', 'SubSystem', 'Mask', 'on', 'MaskType', 'DocBlock')
dBlkH =
2×1 cell array
'tl_vwe_model/ChangeHistory'
'tl_vwe_model/Requirements'
I still do not know why this only finds the blocks on top model level (not in the lower subsystem levels).
TAB
TAB on 9 May 2018
Edited: TAB on 9 May 2018
Above search command should find the DocBlock in all level of model.
Try to use the 'SearchDepth' option and check there is any difference.

Sign in to comment.

More Answers (1)

liuyan
liuyan on 24 Dec 2020
尝试引用非结构体数组的字段。
出错 Untitled5 (line 31)
bBlkText = dBlkUData.content;

Categories

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

Products

Community Treasure Hunt

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

Start Hunting!