如何在源代码控制的项目中标准化 Simulink mdl 文件保存方法?
How to standardize Simulink mdl file saving method in a source controlled project?
我有一个 SVN 存储库,其中提交了各种 .mdl 文件。有时,用户会在模型中保存带有许多打开选项卡的 .mdl 文件,以及各种缩放设置,并将此文件提交到存储库中。我想知道 Simulink 中是否有任何 options/scripts/parameters 用于保存和标准化文件,仅打开主选项卡(根级别),并且在每个 model/library 级别中具有正常的 100% 视图.
根据@Navan 的评论,我提出了一个解决方案,主要包括遍历模型的所有子系统块并执行带有 ZoomFactor
参数的 set_param
命令每个系统级别。我还找到了一个删除所有打开的子系统选项卡的命令,以便只打开主根系统选项卡。这是我的代码,它似乎完全符合我的要求:
% Making sure that the root level is open
open_system(bdroot, 'tab')
% Get all the tabs that are open, excluding the root level
tabOpened = find_system(bdroot,'LookUnderMasks','all',...
'FollowLinks','on',...
'Variants','AllVariants',...
'IncludeCommented', 'on', ...
'blocktype','SubSystem',...
'open','on');
% Close all the unnecessary tabs tabs
cellfun(@close_system, tabOpened)
% Get a list of all the subsystem levels
blocksList = find_system(bdroot,'LookUnderMasks','all',...
'FollowLinks','on',...
'Variants','AllVariants',...
'IncludeCommented', 'on', ...
'blocktype','SubSystem');
% Set the zoom factor of each subsystem level to Normal (i.e. 100%)
for ii = 1:length(blocksList)
set_param(blocksList{ii},'Zoomfactor','100')
end
我有一个 SVN 存储库,其中提交了各种 .mdl 文件。有时,用户会在模型中保存带有许多打开选项卡的 .mdl 文件,以及各种缩放设置,并将此文件提交到存储库中。我想知道 Simulink 中是否有任何 options/scripts/parameters 用于保存和标准化文件,仅打开主选项卡(根级别),并且在每个 model/library 级别中具有正常的 100% 视图.
根据@Navan 的评论,我提出了一个解决方案,主要包括遍历模型的所有子系统块并执行带有 ZoomFactor
参数的 set_param
命令每个系统级别。我还找到了一个删除所有打开的子系统选项卡的命令,以便只打开主根系统选项卡。这是我的代码,它似乎完全符合我的要求:
% Making sure that the root level is open
open_system(bdroot, 'tab')
% Get all the tabs that are open, excluding the root level
tabOpened = find_system(bdroot,'LookUnderMasks','all',...
'FollowLinks','on',...
'Variants','AllVariants',...
'IncludeCommented', 'on', ...
'blocktype','SubSystem',...
'open','on');
% Close all the unnecessary tabs tabs
cellfun(@close_system, tabOpened)
% Get a list of all the subsystem levels
blocksList = find_system(bdroot,'LookUnderMasks','all',...
'FollowLinks','on',...
'Variants','AllVariants',...
'IncludeCommented', 'on', ...
'blocktype','SubSystem');
% Set the zoom factor of each subsystem level to Normal (i.e. 100%)
for ii = 1:length(blocksList)
set_param(blocksList{ii},'Zoomfactor','100')
end