本技术涉及计算机图像,特别地,涉及一种管路类软件界面的生成方法、装置及电子设备。
背景技术:
1、在软件界面的开发过程中,通常通过采用背景图片、或使用程序绘图的方式来展示管路系统的图形化界面,以便直观展示其分布与运行情况。
2、目前,软件界面中管路系统的图形化功能的开发以下列四种方式为主:第一种方式是使用预先画好的管路图来表示管路系统的结构;第二种方式是通过解析基于其他工具软件绘制的图形文件,获取其图形信息后实现程序绘制,例如使用cad软件绘制管路图,并在程序中通过解析dxf文件获取图形信息,再实现界面图形绘制;第三种方式是使用opengl等图形库及三维模型技术展示三维管路图;第四种方式则是使用开发工具自带的控件构建管路图,并通过定制化的代码实现管路的控制逻辑;
3、针对软件界面的开发过程,这些方式均存在不足之处,第一种方式只能呈现静态的界面效果,且图片的加载也增加了界面渲染的负担;第二种方式依赖于特定软件,若这些技术或工具发生变化或不再维护,将会影响软件功能的稳定性和可维护性;第三种方式则对设备配置和性能要求较高,在处理复杂任务时可能导致设备端承受较大压力,性能下降;第四种方式在管路结构或控制需求发生变化时,需重新设计界面及编写代码,缺乏软件功能的通用性及灵活性。
4、此外,以上前三种方法均无法通过与图形化界面的交互实现对管路中液体流通状态的动态监控效果。
5、综上所述,针对软件界面中管路系统的图形化功能的开发,研究一种动态展示管路内液体流通状态、通用性强、不依赖于特定绘图软件和图形库、不占用过多设备性能的界面生成方法是非常有必要的。
技术实现思路
1、本技术一方面提供了一种管路类软件界面的生成方法,以解决现有技术不支持动态展示管路内液体流通状态、通用性差、依赖于特定绘图软件和图形库、占用过多设备性能的技术问题。
2、一种管路类软件界面的生成方法,包括步骤:
3、s1、解析源文件中的图形元素信息,将图形元素信息按设定分类解析为对应对象的列表,所述设定分类包括圆形、矩形、多段线、文本、附加图元,所述附加图元包括有阀和泵类图形元素;
4、s2、构建管路图形元素对象,将源文件中阀和泵类图形元素构建为管路节点对象pipenode,将多段线图形元素构建为管路段对象pipeline;
5、s3、图元尺寸自适应换算,根据源文件中存储的容器及图形元素尺寸信息,以及当前图形化界面的尺寸信息,按比例将图形元素换算为适应当前界面的真实尺寸值;
6、s4、设置管路初始压力值,确定首端进浆泵和末端排浆泵并为其设置初始压力,再从这两个泵开始循环判断,依次从当前指定泵出发,往泵的上游设置递增的管路压力值,往泵的下游设置递减的管路段压力值,直至所有管路段的压力值设置完成;
7、s5、执行绘图,根据源文件中存储的图形元素信息及解析出的阀、泵管路节点信息,按照设定的顺序,采用操作系统自带的gdi绘图方式,依次绘制图形元素及需被赋予开关意义的阀、泵类节点图形元素,所述阀、泵类节点图形元素为动态添加的按钮、图片类控件,负责接收发送对应开关变量的实时值;
8、s6、执行管路状态自检查及重定义,当检测到阀的开关状态改变时,递归检查并设置阀上下游管路段的压力值,包括管路段本身、管路段的所有支路、当前管路段作为支路汇入的另一管路段,管路段的压力值反应管路段当前的状态,管路段当前的状态指管内当前是否有液体流通,管路系统中各管路段的压力值变化可反应整个系统的液体流通情况;
9、s7、重绘管路图形化界面,根据各个管路段更新后的最终压力值状态,采用不同颜色的画笔绘制不同状态的管路段,以此达到根据阀开关状态自动检查并更新管路状态的视觉效果,动态展示出管路中液体的流通情况。
10、进一步地,步骤s1中,解析源文件中的图形元素信息之前,还包括步骤:
11、读取保存有管路类界面的图形元素信息的源文件,所述源文件保存于外部文件中,并作为嵌入式资源使用。
12、进一步地,步骤s2具体包括步骤:
13、s21、选取类型为阀和泵的图形元素,解析其属性信息,将其构造为管路节点对象pipenode;
14、s22、读取所有的多段线图元,循环判断多段线上是否包含管路节点,如果包含管路节点,则按节点分割多段线图元并构造多个管路段对象pipeline,如果不包含管路节点,则直接将该多段线构造为管路段对象pipeline;
15、s23、确定泵类型管路节点的上下游方向,将其两侧的管路段对象视为pipe1和pipe2,根据泵的方向属性值,将泵方向所指的一侧认为是pipe1;
16、s24、对所有管路段展开循环遍历,根据点线位置关系,计算出管路段之间的主路与支路关系,记录每条管路段的支路信息及其汇入的管路段信息。
17、进一步地,所述步骤s4具体包括步骤:
18、s41、清空管路压力值,根据源文件中指定的管路系统液体流入方向与泵正转时液体流动方向的一致性,识别出进浆泵和排浆泵,若泵正转时液体流动方向与管路系统液体流入方向一致的则为进浆泵,反之则为排浆泵,设置进浆泵初始压力值和排浆泵初始压力值,其中,进浆泵初始压力值大于排浆泵初始压力值;
19、s42、对所有泵类型的管路节点展开循环判断,递归设置泵上下游管路段的初始压力值;
20、s43、判断当前管路段是否已经设置压力值,如果未设置,则继续判断前端管路节点的类型,对于泵类型的管路节点则需要调整原定的压力变化趋势,否则返回步骤s42,继续对循环体内的下一个泵进行操作;
21、s44、确定压力变化趋势后,设置当前管路段的初始压力值,并递归设置当前管路段所有支路的压力值;
22、s45、判断是否已经到达管路末端,如果当前管路段仍存在下游管路段,则递归设置下游管路段的压力值,否则返回步骤s42,继续对循环体内的下一个泵进行操作。
23、进一步地,当阀的开关状态为开阀时,所述步骤s6具体包括步骤:
24、s601、判断阀两侧管路段压力,若一侧有浆另一侧无浆,则管路自检查方向调整为向无浆管路段展开,并视其为当前管路段,其它情况则停止设置;
25、s602、恢复当前无浆管路段的压力值;
26、s603、获取当前管路段的流出支路,对所有无浆的流出支路管路段展开循环判断,恢复无浆管路段压力值;
27、s604、获取当前管路段作为支路汇入的管路段,如果被汇入的管路段无浆,则对该被汇入管路段递归执行步骤s602~ s606进行自检查及压力设置操作,反之则停止设置;
28、s605、设置当前管路段的下游管路段压力,判断下一个管路节点的类型是阀还是泵;
29、s606、如果下一个管路节点为阀且状态为开启,或者管路节点为泵且泵方向与管路自检查方向一致,则执行步骤s602~ s606递归设置下游管路段压力值,其它情况则停止设置。
30、进一步地,当阀的开关状态为关阀时,所述步骤s6具体包括步骤:
31、s611、判断阀两侧管路段压力,若两侧均有浆,继续往下执行,反之则停止设置,将阀两侧管路段压力进行比较,使管路自检查方向调整为其中压力值较低的管路段,并视其为当前管路段;
32、s612、清空当前管路段的压力值,判断当前管路段是否存在其它有效汇入,如果不存在则继续往下执行,否则恢复当前管路段压力值并停止设置;
33、s613、获取当前管路段的流出支路,对所有有浆的流出支路管路段展开递归自检查判断,对各支路执行步骤s612~s616;
34、s614、获取当前管路段作为支路汇入的管路段,如果被汇入管路段有浆,则对该被汇入管路段递归执行步骤s612~s616进行自检查及压力设置操作,反之则停止设置;
35、s615、设置当前管路段的下游管路段压力,判断下一个管路节点是阀还是泵;
36、s616、如果下一个管路节点为阀且状态为开启,或者管路节点为泵且泵方向与管路自检查方向一致,则执行步骤s612~s616递归设置下游管路段压力值,反之则停止设置。
37、本技术另一方面还提供了一种管路类软件界面的生成装置,包括:
38、源文件解析模块,用于解析源文件中的图形元素信息,将图形元素信息按设定分类解析为对应对象的列表,所述设定分类包括圆形、矩形、多段线、文本、附加图元,所述附加图元包括有阀和泵类图形元素;
39、管路图形元素对象构建模块,用于构建管路图形元素对象,将源文件中阀和泵类图形元素构建为管路节点对象,将多段线图形元素构建为管路段对象;
40、自适应换算模块,用于图元尺寸自适应换算,根据源文件中存储的容器及图形元素尺寸信息,以及当前图形化界面的尺寸信息,按比例将图形元素换算为适应当前界面的真实尺寸值;
41、管路初始压力值设置模块,用于设置管路初始压力值,确定首端进浆泵和末端排浆泵并为其设置初始压力,再从这两个泵开始循环判断,依次从当前指定泵出发,往泵的上游设置递增的管路压力值,往泵的下游设置递减的管路段压力值,直至所有管路段的压力值设置完成;
42、绘图模块,用于执行绘图,根据源文件中存储的图形元素信息及解析出的阀、泵管路节点信息,按照设定的顺序,采用操作系统自带的gdi绘图方式,依次绘制图形元素及需被赋予开关意义的阀、泵类节点图形元素,所述阀、泵类节点图形元素为动态添加的按钮、图片类控件,负责接收发送对应开关变量的实时值;
43、管路状态自检查及重定义模块,用于执行管路状态自检查及重定义,当检测到阀的开关状态改变时,递归检查并设置阀上下游管路段的压力值,包括管路段本身、管路段的所有支路、当前管路段作为支路汇入的另一管路段,管路段的压力值反应管路段当前的状态,管路段当前的状态指管内当前是否有液体流通,管路系统中各管路段的压力值变化可反应整个系统的液体流通情况;
44、管路图形化界面重绘模块,用于重绘管路图形化界面,根据各个管路段更新后的最终压力值状态,采用不同颜色的画笔绘制不同状态的管路段,以此达到根据阀开关状态自动检查并更新管路状态的视觉效果,动态展示出管路中液体的流通情况。
45、进一步地,还包括:
46、源文件读取模块,用于读取保存有管路类界面的图形元素信息的源文件,所述源文件保存于外部文件中,并作为嵌入式资源使用。
47、本技术另一方面还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述管路类软件界面的生成方法的步骤。
48、本技术另一方面还提供了一种存储介质,所述存储介质包括存储的程序, 在所述程序运行时控制所述存储介质所在的设备执行所述管路类软件界面的生成方法的步骤。
49、相比现有技术,本技术具有以下有益效果:
50、(1)本技术的技术方案可动态展示管路内液体流通状态,实现了对管路中液体流通状态的动态监控。
51、(2)本技术的技术方案完全通过对管路段压力值的检查及计算来实现管路状态的自动更新,不依赖于外部输入或预定义代码,简化了管路类界面开发的工作量,提高了软件功能的通用性及灵活性。
52、(3)本技术的技术方案采用操作系统自带的gdi绘图技术,无需引入第三方库,且不依赖于其他特定绘图软件和图形库,简化了程序开发过程,提高了软件的独立性和易维护性。
53、(4)本技术的技术方案采用系统自带的二维绘图技术,也降低了对设备配置和性能的要求,不占用过多设备性能,有利于成本的控制。
54、除了上面所描述的目的、特征和优点之外,本技术还有其它的目的、特征和优点。下面将参照图,对本技术作进一步详细的说明。