Programmatically route outports to inports
2 次查看(过去 30 天)
显示 更早的评论
Hello friends,
I have a model with several hundred inports and inports connected to various subsystems. Searching for Outports and Inports with a matching name, and moving the lines around is tedious. I want to programmatically go from the first image, to the second.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/747129/image.png)
At the bottom is some script I've been trying, but I'm not making progress at this point. Script and dummy model included.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/747134/image.png)
%Automatically connect Outports and Inports with the same name
%Search all inports
%Replace blocks with connecting line
%Find all Outports
% a = find_system(gcs,'findall','on','SearchDepth','1','blocktype','Outport');
a = find_system(gcs,'findall','on','SearchDepth','1','blocktype','Outport')
% a=find_system(gcs, 'Selected', 'on');
% a = find_system(gcs,'Selected', 'on','blocktype','Outport');
blkp = get_param(a, 'porthandles')
% blkp = get_param(a, 'name')
dstp = blkp.Inport
%
% for i = 1:length(a)
% blkp = get_param(a(i),'porthandles');
% dstp = blkp.Inport;
% lh = get_param(dstp,'line');
% srcp = get_param(lh,'srcporthandle');
% pn = get_param(srcp,'PropagatedSignals');
%
% if ~isempty(pn)
% repn = regexprep(pn,'(^\w*) .*$','$1');
% set(a(i),'name',repn);
% end
%
% end
0 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Types 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!