一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种相通管道区分方法、电子设备及可读存储介质与流程

2022-06-29 14:36:47 来源:中国专利 TAG:


1.本技术涉及模型设计领域,尤其涉及一种相通管道区分方法、电子设备及可读存储介质。


背景技术:

2.制造业领域尤其是模具相关行业,需要使用三维设计软件(如ugnx)设计三维模型,三维模型多数包含管道,例如:水路管道、气路管道或油路管道。管道通常错综复杂,肉眼难以区别设计有无错漏,所以设计员通常会给不同的相通管道涂上不同的颜色以便于区分出各条相通管道,从而排查出管道错漏等异常。但现有技术中ugnx自带的上色功能每次只能修改一个管道面的颜色,当模型较为复杂时,需要上色的管道面多达上千个,因此设计员需要重复操作上千次,重复做相同的上色动作极为耗时,从而极大地增加了三维模型的设计成本。
3.因此,需要一种能自动从三维模型中选出相通管道并加以区分的方法。


技术实现要素:

4.为克服相关技术中存在的问题,本技术提供一种相通管道区分方法、电子设备及可读存储介质,该方法能够在复杂的三维模型体中区分出不同的相通管道,并给不同的相通管道上色。
5.本技术第一方面提供一种相通管道区分方法,包括:
6.获取目标模型体中所有的n个圆柱曲面;
7.在n个圆柱曲面中选择第一圆柱曲面进行相通管道遍历;所述相通管道遍历为由圆柱曲面得到关联的模型边,由关联的模型边得到已遍历面标识符集合的处理过程;其中,n为大于0的整数;
8.将所述已遍历面标识符集合加入相通水路标识符集合,对所述相通水路标识符集合对应的相通管道进行标记,得到第一相通管道。
9.所述在n个圆柱曲面中选择第一圆柱曲面进行相通管道遍历,包括:
10.遍历所述第一圆柱曲面中所有的m1条模型边,从所述m1条模型边筛选出v1条未遍历模型边,将所述v1条未遍历模型边的所述边标识符加入已遍历边标识符集合;筛选所述v1条未遍历模型边的所有k1个有效关联面,循环遍历所述k1个有效关联面;其中,m1为大于2的整数,v1为大于或等于0的整数,k1为大于或等于0的整数;
11.所述已遍历边标识符集合包括已遍历的模型边的边标识符。
12.所述获取目标模型体中所有的n个圆柱曲面,包括:
13.获取目标模型体中所有的x个模型面;
14.对所述x个模型面进行遍历,判断当前的模型面是否为圆柱曲面且所述面标识符不存在于所述相通水路标识符集合,若是,则将当前的模型面标记为圆柱曲面;
15.对所述x个模型面遍历结束,得到n个圆柱曲面,所述n为小于x的整数。
16.进一步地,所述得到第一相通管道之后,还包括:
17.将所述已遍历边标识符集合和已遍历面标识符集合清空;
18.遍历第二圆柱曲面中所有的m2条模型边,从所述m2条模型边筛选出v2条未遍历模型边,将所述v2条未遍历模型边的所述边标识符加入已遍历边标识符集合;筛选所述v2条未遍历模型边的所有k2个有效关联面,循环遍历所述k2个有效关联面;其中,m2为大于2的整数,v2为大于或等于0的整数,k2为大于或等于0的整数;
19.所述第二圆柱曲面为不包含所述第一圆柱曲面的n-1个圆柱曲面中的一个圆柱曲面。
20.所述筛选所述v1条未遍历模型边的所有k1个有效关联面,包括:
21.遍历所述v1条未遍历模型边的所有s1个关联面,从所述s1个关联面中筛选出所述k1个有效关联面;其中,s1为大于或等于1的整数;
22.所述有效关联面为面类型是圆柱曲面且所述面标识符不存在于所述已遍历面标识符集合的面。
23.所述循环遍历所述k1个有效关联面,包括:
24.将所述k1个有效关联面中第一有效关联面作为当前面,遍历所述当前面中所有的e1条模型边,从所述e1条模型边中筛选出f1条未遍历模型边;将所述f1条未遍历模型边的所述边标识符加入所述已遍历边标识符集合,筛选所述f1条未遍历模型边的所有g1个有效关联面,将所述g1个有效关联面加入所述已遍历面标识符集合;其中,e1为大于2的整数,f1为大于或等于0的整数,g1为大于或等于0的整数;
25.所述未遍历模型边为所述边标识符不存在于所述边标识符集合的所述模型边,所述当前面为所述n个圆柱曲面当前进行遍历处理的圆柱曲面。
26.进一步地,所述将所述g1个有效关联面加入所述已遍历面标识符集合之后,还包括:
27.将所述k1个有效关联面中第二有效关联面作为所述当前面,遍历所述当前面中所有的e2条模型边,从所述e2条模型边中筛选出f2条未遍历模型边;将所述f2条未遍历模型边的所述边标识符加入所述已遍历边标识符集合,筛选所述f2条未遍历模型边的所有g2个有效关联面,将所述g2个有效关联面加入所述已遍历面标识符集合;其中,e2为大于2的整数,f2为大于或等于0的整数,g2为大于或等于0的整数。
28.所述相通管道遍历包括:
29.当所述相通管道遍历执行的时间超过预设筛选时间时,所述相通管道遍历结束;
30.所述预设筛选时间为进行相通管道遍历所需的最长时间。
31.进一步地,所述得到第二相通管道之后,还包括:
32.在所述目标模型体中对所述第一相通管道和所述第二相通管道使用不同的颜色进行标记。
33.本技术第二方面提供一种电子设备,包括:
34.处理器;以及
35.存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
36.本技术第三方面提供一种非暂时性机器可读存储介质,其上存储有可执行代码,
当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。
37.本技术提供的技术方案可以包括以下有益效果:
38.在实际应用中,相互连通的管道是通过圆柱曲面进行连通的,因此,本技术选择目标模型体中的圆柱曲面进行遍历;在遍历的过程中,通过选择圆柱曲面中相关联的模型边进行逐一查找,由于两个不连通的管道是不具备相关联的模型边,因此,当遍历的时间足够长,就可以将一组相互连通的管道准确的筛选出来。对相通水路标识符集合进行标记,能够区分出不同的相通管道,相比于人工寻找和区分相通管道降低了执行的时间,从而提高了目标模型体的设计效率。
39.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
40.通过结合附图对本技术示例性实施方式进行更详细的描述,本技术的上述以及其它目的、特征和优势将变得更加明显,其中,在本技术示例性实施方式中,相同的参考标号通常代表相同部件。
41.图1是本技术实施例示出的相通管道区分方法的流程示意图;
42.图2是本技术实施例示出的相通管道遍历方法的流程示意图;
43.图3是本技术实施例示出的相通管道的结构示意图;
44.图4是本技术实施例示出的模型面和模型边的结构示意图;
45.图5是本技术实施例示出的电子设备的结构示意图。
具体实施方式
46.下面将参照附图更详细地描述本技术的优选实施方式。虽然附图中显示了本技术的优选实施方式,然而应该理解,可以以各种形式实现本技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本技术更加透彻和完整,并且能够将本技术的范围完整地传达给本领域的技术人员。
47.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
48.应当理解,尽管在本技术可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
49.实施例一
50.三维模型设计中通常涉及区分相通管道,人工寻找相通管道和区分相通管道会执行大量的时间,使得三维模型的设计效率较低。
51.针对上述问题,本技术实施例提供一种相通管道区分方法,请参阅图1和图3,图1是本技术实施例示出的相通管道区分方法的流程示意图,图3是本技术实施例示出的相通管道的结构示意图。图3中包含2条相通管道,分别为相通管道1和相通管道2,2条相通管道相互独立,无法通过任何一个圆柱曲面相连。
52.该相通管道区分方法具体如下:
53.a1、获得目标模型体的所有面标识符。
54.获得目标模型体的所有面标识符,示例性,目标模型体共有k个面标识符。相通管道区分方法需要循环k次,将当前循环次数d设置为0。
55.a2、判断是否已遍历目标模型体所有的模型面。
56.将当前循环次数d加1,d=d 1。判断当前循环次数d是否大于k。若是,则执行a8,若否,则执行a3。
57.a3、判断当前面是否为圆柱曲面。
58.当前循环次数d对应的当前面sd为在目标模型体中随机选取的模型面,也可以是在目标模型体中按照固定顺序选取的模型面,具体根据实际情况而定,此处不作限定。
59.当d=1时,当前面s1为初始面。
60.判断当前面是否为圆柱曲面,若是,则执行a4,若否,则返回a2。
61.a4、判断当前面的面标识符是否已存在于相通水路标识符集合。
62.判断当前面sd的面标识符是否已存在于相通水路标识符集合。若是,则说明当前面sd已被遍历过,不需要再次遍历,返回a2,若否,则执行a5。
63.a5、对当前面进行相通管道遍历。
64.遍历当前面sd的所有m条模型边,将所述m条模型边的边标识符集合加入已遍历边标识符集合。遍历所述m条模型边的所有s个关联面,将所述s个关联面的面标识符加入已遍历面标识符集合。
65.示例性,对当前面s1进行相通管道遍历,得到关联面s3、s5、s7。
66.a6、将已遍历面标识符集合加入相通水路标识符集合。
67.将已遍历面标识符集合加入相通水路标识符集合,将新添加进相通水路标识符集合的已遍历面标识符集合按照数组的方式进行存储,并在相通水路标识符集合内进行标记,得到数组cd。
68.示例性,将关联面s3,s5以及s7的面标识符加入已遍历面标识符集合,将已遍历面标识符集合加入相通水路标识符集合,将此次循环得到的已遍历面标识符集合在相通水路标识符集合中标记为数组c1,c1={s1、s3、s5、s7}。
69.a7、清空已遍历边标识符集合和已遍历面标识符集合。
70.清空已遍历边标识符集合和已遍历面标识符集合,防止对下一次循环造成影响,返回a2。
71.a8、结束相通管道区分方法。
72.在实际应用中,相互连通的管道是通过圆柱曲面进行连通的,因此,本技术实施例选择目标模型体中的圆柱曲面进行遍历;在遍历的过程中,通过选择圆柱曲面中相关联的模型边进行逐一查找,由于两个不连通的管道是不具备相关联的模型边,因此,当遍历的时间足够长,就可以将一组相互连通的管道准确的筛选出来。并对相通水路标识符集合进行
标记,能够区分出不同的相通管道,相比于人工寻找和区分相通管道降低了执行的时间,从而提高了目标模型体的设计效率。
73.实施例二
74.相通管道遍历方法遍历当前面的所有模型边,再对包含每一条模型边的所有模型面进行遍历,得到一条相通管道的所有模型面。
75.本技术实施例提供一种相通管道遍历方法,请参阅图2和图4,图2是本技术实施例示出的相通管道遍历方法的流程示意图,图4是本技术实施例示出的模型面和模型边的结构示意图。
76.该相通管道遍历方法具体如下:
77.b1、根据当前面的面标识符获得当前面的所有模型边。
78.根据当前面sd的标识符获得当前面的所有模型边m,m为大于2的整数,令循环次数j=0。
79.当d=1时,当前面s1为初始面,当d≠1时,当前面sd为已遍历面标识符集合中的关联面。
80.示例性,初始面s1为圆柱曲面2,获取圆柱曲面2的模型边9、模型边10和模型边11,将圆柱曲面2的面标识符加入已遍历面标识符集合中。
81.b2、判断是否已循环当前面的所有模型边。
82.令j=j 1,判断j是否大于m。若是,则执行b10,若否,则执行b3。
83.b3、判断当前边的边标识符是否存在于已遍历边标识符集合中。
84.判断第j条模型边是否存在于已遍历边标识符集合中。若是,则说明第j条模型边已经遍历过,返回b2,若否,则说明需要遍历第j条模型边,执行b4。
85.b4、将当前边的边标识符加入已遍历边标识符集合中。
86.将当前面sd的第j条模型边的边标识符加入已遍历边标识符集合中,防止后续循环再次遍历此模型边。
87.示例性,将当前边10的边标识符加入已遍历边标识符集合中。
88.b5、获取包含当前边的所有关联面。
89.获取包含当前第j条模型边的关联面的总数n,设置关联面循环标识符u为0,n为大于或等于1的整数。
90.示例性,获取当前边10的关联面7和关联面2。
91.b6、判断是否已遍历完当前边的所有关联面。
92.将关联面循环标识符加1,u=u 1,判断关联面循环标识符u是否大于n。若是,则说明已遍历完包含当前边的所有关联面,返回b2,若否,则说明还需要继续遍历当前边的其他关联面,执行b7。
93.示例性,将关联面循环标识符加1,此时u=1,n=2,u<n。准备对第1个关联面,即关联面7进行遍历。
94.b7、判断关联面是否为圆柱曲面。
95.根据关联面u的面标识符判断关联面u是否为圆柱曲面。若是,则执行b8,若否,则返回b6。
96.示例性,关联面7是圆柱曲面,执行b8。
97.b8、判断关联面是否已被遍历。
98.检测关联面u的面标识符是否存在于已遍历面标识符集合和相通水路标识符集合中。若是,说明关联面u已被遍历,执行b6,若否,说明关联u未被遍历,则执行b9。
99.示例性,关联面7的面标识符不存在于已遍历面标识符集合和相通水路标识符集合中,说明关联面7没有被遍历,执行b9。
100.b9、将关联面的面标识符加入已遍历面标识符集合中。
101.将关联面u的面标识符加入已遍历面标识符集合中,防止下次再遍历关联面u,返回b6。
102.b10、判断相通管道遍历的执行时间是否超出预设筛选时间。
103.判断相通管道遍历的执行时间是否超出预设筛选时间。若是,则执行b12,若否,则执行b11。
104.一个圆柱曲面对应唯一一个相通管道,无论耗费多长时间也不可能通过相通管道遍历由一个圆柱曲面遍历得到另一个相通管道。
105.b11、更新当前面。
106.使用已遍历面标识符集合中遍历得到的圆柱曲面更新当前面,返回b1。
107.示例性,d=2,当前面sd为s2。
108.b12、结束相通管道遍历。
109.本技术实施例提供了一种相通管道遍历方法,该方法获取当前面的所有模型边,并对每一条未遍历的模型边进行遍历,遍历包括未遍历模型边的所有模型面,对包括未遍历模型边的所有模型面进行面类型判断和是否已遍历的判断,将未遍历的圆柱曲面加入已遍历面标识符集合。通过相通管道遍历能够找到当前面所在的整条相通管道,并将整条相通管道的全部模型面的面标识符存储起来。相通管道遍历还能防止再次遍历已遍历过的模型边或模型面,减少了重复操作,提高了寻找相通管道的效率。
110.实施例三
111.与前述应用功能实现方法实施例相对应,本技术还提供了一种电子设备及相应的实施例。
112.图5是本技术实施例示出的电子设备的结构示意图。
113.参见图5,电子设备1000包括存储器1010和处理器1020。
114.处理器1020可以是中央处理单元(centrau processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digitau signau processor,dsp)、专用集成电路(appuication specific integrated circuit,asic)、现场可编程门阵列(fieud-programmabue gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
115.存储器1010可以包括各种类型的存储单元,例如系统内存、只读存储器(rom),和永久存储装置。其中,rom可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性
存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1010可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1010可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、min sd卡、micro-sd卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
116.存储器1010上存储有可执行代码,当可执行代码被处理器1020处理时,可以使处理器1020执行上文述及的方法中的部分或全部。
117.上文中已经参考附图详细描述了本技术的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本技术所必须的。另外,可以理解,本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本技术实施例装置中的模块可以根据实际需要进行合并、划分和删减。
118.此外,根据本技术的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本技术的上述方法中部分或全部步骤的计算机程序代码指令。
119.或者,本技术还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使所述处理器执行根据本技术的上述方法的各个步骤的部分或全部。
120.本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
121.附图中的流程图和框图显示了根据本技术的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
122.以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献