System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及大数据,特别涉及一种自动布局的方法、装置、电子设备及存储介质。
技术介绍
1、随着工业控制系统的发展,逻辑图的质量对于排查系统是否存在安全性问题、减少各方之间的信息传递误差等,具有重大的意义。但是在相关技术中,逻辑图的绘制完全依赖技术人员的人工进行,会大量消耗人力资源,同时通过人工绘制不可避免地会出现绘制缺陷,影响逻辑图的准确性。
技术实现思路
1、有鉴于此,本申请实施例提供了一种自动布局的方法、装置、电子设备及存储介质,旨在高效实现准确的自动布局,避免人力资源的浪费。
2、第一方面,本申请实施例提供了一种自动布局的方法,应用于绘图系统,所述绘图系统中的绘图元素包括功能块及所述功能块之间的连线,所述方法包括:
3、响应于自动布局请求,获取所述自动布局请求对应的数据集,所述数据集包括功能块与功能块位号的对应关系信息;
4、设置所述功能块的第一位置排布规则,基于所述第一位置排布规则利用拓扑排序算法确定所述功能块的第一位置布局;
5、设置所述功能块之间的连线的第二位置排布规则,基于所述第二位置排布规则利用寻路算法确定所述功能块之间的连线的第二位置布局;
6、根据所述第一位置布局、所述第二位置布局及所述对应关系信息,进行所述功能块及所述功能块之间的连线的自动布局。
7、可选的,所述功能块包括x轴位置,所述第一位置排布规则包括所述x轴位置的排布规则,所述基于所述第一位置排布规则利用拓扑排序算法确定所述功能块的第
8、利用拓扑排序算法计算所述功能块在逻辑链路中的第一层级和第二层级,所述第一层级为按照所述逻辑链路的第一走向计算得到的层级数,所述第二层级为按照所述逻辑链路的第二走向计算得到的层级数,所述第一走向与所述第二走向相反;
9、判断所述第一层级与所述第二层级的大小关系;
10、基于所述大小关系的判断结果,确定所述功能块的x轴位置。
11、可选的,所述功能块包括y轴位置,所述第一位置排布规则包括所述y轴位置的排布规则,所述基于所述第一位置排布规则利用拓扑排序算法确定所述功能块的第一位置布局,包括:
12、基于拓扑排序算法确定的所述功能块的层级,确定第一功能块的y轴位置;
13、获取所述第一功能块的子功能块,所述子功能块为输入端与所述第一功能块的输出端具有连接关系的功能块;
14、基于所述第一功能块的y轴位置确定所述子功能模块的y轴位置。
15、可选的,所述第二位置布局包括功能块之间的拐点位置的确定,所述基于所述第二位置排布规则利用寻路算法确定所述功能块之间的连线的第二位置布局,包括:
16、对所述功能块进行拐点计算,判断所述功能块的起点和终点形成的路径区域是否存在其他功能块;
17、若所述功能块的起点和终点形成的路径区域不存在其他功能块,则以所述起点的x轴位置和终点的x轴位置的平均值作为拐点的x轴位置,根据所述起点及所述终点的y轴位置作为拐点的y轴位置;
18、若所述功能块的起点和终点形成的路径区域存在其他功能块,则利用寻路算法对拐点的位置进行确定。
19、可选的,所述利用寻路算法对拐点的位置进行确定之后所述第二位置布局包括功能块之间的拐点位置的确定,所述基于所述第二位置排布规则利用寻路算法确定所述功能块之间的连线的第二位置布局,所述方法还包括:
20、根据所述功能块的起点位置和终点位置,对所述功能块进行分组得到功能块组;
21、判断所述功能块组中的功能块之间是否存在重复拐点;
22、若所述功能块组中的功能块之间不存在重复拐点,则计算所述功能块组中的拐点的x轴位置的平均值,基于所述平均值确定所述功能块组中的拐点的位置;
23、若所述功能块组中的功能块之间存在重复拐点,则根据所述重复拐点确定所述功能块组中的拐点的位置。
24、可选的,所述计算所述功能块组中的拐点的x轴位置的平均值,基于所述平均值确定所述功能块组中的拐点的位置,包括:
25、分别计算所述功能块组中的拐点的x轴位置与所述拐点的x轴位置的平均值之间的差值;
26、将所述拐点的x轴位置与所述平均值之间的差值符合预设差值阈值的所述拐点的x轴位置确定为标准位置;
27、基于所述标准位置调整所述功能块组中的拐点的x轴位置。
28、可选的,所述利用寻路算法对拐点的位置进行确定之后所述第二位置布局包括功能块之间的连线的确定,所述基于所述第二位置排布规则利用寻路算法确定所述功能块之间的连线的第二位置布局,,所述方法还包括:
29、对所述功能块按照终点进行分组,得到待处理功能块组;
30、对所述待处理功能块组进行连线的遍历确定划分线;
31、基于所述划分线对所述功能块进行重新分组,得到目标功能块组;
32、对所述目标功能块组利用前面所述的拐点位置确定的方法确定拐点的位置,并完成所述目标功能块组的连线。
33、第二方面,本申请实施例提供了一种自动布局的装置,应用于绘图系统,所述绘图系统中的绘图元素包括功能块及所述功能块之间的连线,所述装置包括:获取模块、第一确定模块、第二确定模块及布局模块;
34、所述获取模块,用于响应于自动布局请求,获取所述自动布局请求对应的数据集,所述数据集包括功能块与功能块位号的对应关系信息;
35、所述第一确定模块,用于设置所述功能块的第一位置排布规则,基于所述第一位置排布规则利用拓扑排序算法确定所述功能块的第一位置布局;
36、所述第二确定模块,用于设置所述功能块之间的连线的第二位置排布规则,基于所述第二位置排布规则利用寻路算法确定所述功能块之间的连线的第二位置布局;
37、所述布局模块,用于根据所述第一位置布局、所述第二位置布局及所述对应关系信息,进行所述功能块及所述功能块之间的连线的自动布局。
38、第三方面,本申请提供了一种电子设备,所述设备包括:处理器、存储器、系统总线;
39、所述处理器以及所述存储器通过所述系统总线相连;
40、所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行实现第一方面所述方法。
41、第四方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现前述第一方面任一项所述方法。
42、本申请提供了一种自动布局的方法、装置、电子设备及存储介质,在执行所述方法时,首先响应于自动布局请求,获取自动布局请求对应的数据集,数据集包括功能块与功能块位号的对应关系信息,然后设置功能块的第一位置排布规则,基于第一位置排布规则利用拓扑排序算法确定功能块的第一位置布局,设置功能块之间的连线的第二位置排布规则,基于第二本文档来自技高网...
【技术保护点】
1.一种自动布局的方法,其特征在于,应用于绘图系统,所述绘图系统中的绘图元素包括功能块及所述功能块之间的连线,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述功能块包括x轴位置,所述第一位置排布规则包括所述x轴位置的排布规则,所述基于所述第一位置排布规则利用拓扑排序算法确定所述功能块的第一位置布局,包括:
3.根据权利要求2所述的方法,其特征在于,所述功能块包括y轴位置,所述第一位置排布规则包括所述y轴位置的排布规则,所述基于所述第一位置排布规则利用拓扑排序算法确定所述功能块的第一位置布局,包括:
4.根据权利要求1所述的方法,其特征在于,所述第二位置布局包括功能块之间的拐点位置的确定,所述基于所述第二位置排布规则利用寻路算法确定所述功能块之间的连线的第二位置布局,包括:
5.根据权利要求4所述的方法,其特征在于,所述利用寻路算法对拐点的位置进行确定之后,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述计算所述功能块组中的拐点的x轴位置的平均值,基于所述平均值确定所述功能块组中的拐点的位置,
7.根据权利要求4所述的方法,其特征在于,所述利用寻路算法对拐点的位置进行确定之后,所述方法还包括:
8.一种自动布局的装置,其特征在于,应用于绘图系统,所述绘图系统中的绘图元素包括功能块及所述功能块之间的连线,所述装置包括:获取模块、第一确定模块、第二确定模块及布局模块;
9.一种电子设备,其特征在于,所述设备包括:处理器、存储器、系统总线;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有实现自动布局的方法的实现程序,所述实现自动布局的方法的实现程序被处理器执行时实现如权利要求1-7任意一项所述方法的步骤。
...【技术特征摘要】
1.一种自动布局的方法,其特征在于,应用于绘图系统,所述绘图系统中的绘图元素包括功能块及所述功能块之间的连线,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述功能块包括x轴位置,所述第一位置排布规则包括所述x轴位置的排布规则,所述基于所述第一位置排布规则利用拓扑排序算法确定所述功能块的第一位置布局,包括:
3.根据权利要求2所述的方法,其特征在于,所述功能块包括y轴位置,所述第一位置排布规则包括所述y轴位置的排布规则,所述基于所述第一位置排布规则利用拓扑排序算法确定所述功能块的第一位置布局,包括:
4.根据权利要求1所述的方法,其特征在于,所述第二位置布局包括功能块之间的拐点位置的确定,所述基于所述第二位置排布规则利用寻路算法确定所述功能块之间的连线的第二位置布局,包括:
5.根据权利要求4所述的方法,其特征在于,所述利用寻...
【专利技术属性】
技术研发人员:曹钲晨,钟世平,张立飞,黄旭,
申请(专利权)人:中控技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。