识别图纸中面域的方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:30650914 阅读:26 留言:0更新日期:2021-11-04 01:10
本发明专利技术提供了一种识别图纸中面域的方法、装置、计算机设备和存储介质。该方法包括:读取单元格队列中的单元格,得到目标单元格,其中,单元格为预置尺寸和形状的区域,将在图纸待识别的面域中生成的初始单元格作为单元格队列中的首个单元格;检测目标单元格是否存在相交线条;若目标单元格存在相交线条,则确定相交线条为关键线条;若目标单元格不存在相交线条,则在图纸中获取与目标单元格相邻的单元格加入单元格队列;以及当单元格队列被清空时,根据所有的关键线条进行多边形搜索,以识别面域。通过本发明专利技术,能够提升面域搜索效率。能够提升面域搜索效率。能够提升面域搜索效率。

【技术实现步骤摘要】
识别图纸中面域的方法、装置、计算机设备和存储介质


[0001]本专利技术涉及BIM算量
,尤其涉及一种识别图纸中面域的方法、装置、计算机设备和存储介质。

技术介绍

[0002]在BIM算量行业的不同细分领域,均会涉及CAD、PDF等不同类型图纸中的不规则区域的识别,识别的主要目的和作用是快速拾取图纸上的不规则多边形,也即面域,进而支撑不同业务依据多边形生成相应模型,提高BIM算量效率。
[0003]在现有技术中,识别不规则面域的基本原理在于:将图纸中所有线条作为搜索范围,依据一个参考点,找到其附近的一条基准线条,然后根据线与线的连接关系,通过一定的深度遍历算法,一步步找到后续连接线,直到封闭为止。针对简洁清晰的图纸来说,也即针对从图层、颜色、或者样式等角度划分比较清晰,且不同专业元素很少同时出现的图纸来说,现有技术中的该方法搜索复杂性较低,效率较高。
[0004]但是,随着图纸中包含的元素越来越复杂,特别是遇到线条纵横交错的复杂图纸,上述方法搜索效率较低,用户体验较差。
[0005]因此,如何提升复杂图纸中不规则面域的识别效率,成为本领域亟需解决的技术问题。

技术实现思路

[0006]本专利技术的目的是提供一种识别图纸中面域的方法、装置、计算机设备和存储介质,用于解决现有技术中的上述技术问题。
[0007]一方面,为实现上述目的,本专利技术提供了一种识别图纸中面域的方法。
[0008]该识别图纸中面域的方法包括:读取单元格队列中的单元格,得到目标单元格,其中,所述单元格为预置尺寸和形状的区域,将在图纸待识别的面域中生成的初始单元格作为所述单元格队列中的首个单元格;检测所述目标单元格是否存在相交线条;若所述目标单元格存在相交线条,则确定所述相交线条为关键线条;若所述目标单元格不存在相交线条,则在所述图纸中获取与所述目标单元格相邻的所述单元格加入所述单元格队列;以及当所述单元格队列被清空时,根据所有的所述关键线条进行多边形搜索,以识别所述面域。
[0009]进一步地,在图纸待识别的面域中生成初始单元格包括:获取所述图纸的比例;根据所述比例确定所述单元格的尺寸;根据用户操作在所述图纸待识别的面域中确定所述初始单元格的位置;根据所述单元格的尺寸和所述初始单元格的位置生成所述初始单元格。
[0010]进一步地,该方法还包括:提取所述图纸中的所有线条,并确定各所述线条的包围盒,存储所述线条及其包围盒的对应关系;检测所述目标单元格是否存在相交线条包括:查找与所述目标单元格相交的所述包围盒,得到目标包围盒,检测所述目标单元格与所述目标包围盒对应的线条是否相交。
[0011]进一步地,该方法还包括:在确定所述线条的包围盒之后,将所述包围盒的最大点
坐标Nmax(x,y)和最小点坐标Nmin(x,y)存储在基于四象限的树状数据结构中;查找与所述目标单元格相交的所述包围盒,得到目标包围盒包括:计算所述目标单元格的最大点坐标Bmax(x,y)和最小点坐标Bmin(x,y);比较所述树状数据结构中当前节点处所述包围盒的最大点坐标Nmax(x,y)与所述目标单元格的最小点坐标Bmin(x,y);当Nmax.x>Bmin.x,且Nmax.y<Bmin.y时,确定所述树状数据结构中当前节点处所述包围盒为所述目标包围盒;比较所述树状数据结构中当前节点处所述包围盒的最小点坐标Nmin(x,y)与所述目标单元格的最大点坐标Bmax(x,y);当Nmin.x<Bmax.x,且Nmin.y>Bmax.y时,确定下一个节点为所述树状数据结构中当前节点第一象限内的节点;当Nmin.x<Bmax.x,且Nmin.y<Bmax.y时,确定下一个节点为所述树状数据结构中当前节点第四象限内的节点;当Nmin.x>Bmax.x,且Nmin.y>Bmax.y时,确定下一个节点为所述树状数据结构中当前节点第二象限内的节点;当Nmin.x>Bmax.x,且Nmin.y<Bmax.y时,确定下一个节点为所述树状数据结构中当前节点第三象限内的节点。
[0012]进一步地,该方法还包括:将加入所述单元格队列的单元格存储至渲染列表中;按照预设时间间隔读取所述渲染列表中的数据;以及将读取到的数据渲染显示在所述图纸中。
[0013]进一步地,该方法还包括:计算加入所述单元格队列的单元格的几何坐标,将所述几何坐标存储在红黑树数据结构中;获取与所述目标单元格相邻的所述单元格加入所述单元格队列包括:获取与所述目标单元格相邻的所述单元格,得到第一单元格,计算所述第一单元格的几何坐标,在所述红黑树数据结构中查找所述第一单元格的几何坐标;当查找不到时,将所述第一单元格加入所述单元格队列。
[0014]进一步地,所述单元格的形状为正方形,获取与所述目标单元格相邻的单元格包括:获取在所述目标单元格左、左上、上、右上、右、右下、下和左下方向上相邻的单元格。
[0015]另一方面,为实现上述目的,本专利技术提供了一种别图纸中面域的装置。
[0016]该识别图纸中面域的装置包括:读取模块,用于读取单元格队列中的单元格,得到目标单元格,其中,所述单元格为预置尺寸和形状的区域,将在图纸待识别的面域中生成的初始单元格作为所述单元格队列中的首个单元格;检测模块,用于检测所述目标单元格是否存在相交线条;处理模块,用于当所述目标单元格存在相交线条时,确定所述相交线条为关键线条,当所述目标单元格不存在相交线条,在所述图纸中获取与所述目标单元格相邻的所述单元格加入所述单元格队列;以及识别模块,用于当所述单元格队列被清空时,根据所有的所述关键线条进行多边形搜索,以识别所述面域。
[0017]为实现上述目的,本专利技术还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
[0018]为实现上述目的,本专利技术还提供计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
[0019]本专利技术提供的识别图纸中面域的方法、装置、计算机设备和存储介质,预置尺寸和形状的区域作为单元格,预置单元格队列,将在图纸待识别的面域中生成的初始单元格作为单元格队列中的首个单元格,将后续扩展裂变形成的单元格也加入至单元格队列中。针对单元格队列,每读取一个单元格均作为目标单元格,检测该目标单元格是否存在相交线
条,若存在,确定该相交线条为关键线条,若不存在,则对该目标单元格继续扩展裂变,也即在图纸中获取与该目标单元格相邻的单元格并加入单元格队列,当所有的单元格均不可再裂变,单元格队列最终被清空时,根据所有的关键线条进行多边形搜索,搜索到的多边形也即识别到的面域。通过本专利技术,在进行多边形搜索前,先基于漫水原理对图纸中的线条进行筛选,仅将与模拟水滴的单元格相交的线条作为搜索范围,一方面,随着单元格的不断本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种识别图纸中面域的方法,其特征在于,包括:读取单元格队列中的单元格,得到目标单元格,其中,所述单元格为预置尺寸和形状的区域,将在图纸待识别的面域中生成的初始单元格作为所述单元格队列中的首个单元格;检测所述目标单元格是否存在相交线条;若所述目标单元格存在相交线条,则确定所述相交线条为关键线条;若所述目标单元格不存在相交线条,则在所述图纸中获取与所述目标单元格相邻的所述单元格加入所述单元格队列;以及当所述单元格队列被清空时,根据所有的所述关键线条进行多边形搜索,以识别所述面域。2.根据权利要求1所述的识别图纸中面域的方法,其特征在于,在图纸待识别的面域中生成初始单元格包括:获取所述图纸的比例;根据所述比例确定所述单元格的尺寸;根据用户操作在所述图纸待识别的面域中确定所述初始单元格的位置;根据所述单元格的尺寸和所述初始单元格的位置生成所述初始单元格。3.根据权利要求1所述的识别图纸中面域的方法,其特征在于,所述方法还包括:提取所述图纸中的所有线条,并确定各所述线条的包围盒,存储所述线条及其包围盒的对应关系;检测所述目标单元格是否存在相交线条包括:查找与所述目标单元格相交的所述包围盒,得到目标包围盒,检测所述目标单元格与所述目标包围盒对应的线条是否相交。4.根据权利要求3所述的识别图纸中面域的方法,其特征在于,所述方法还包括:在确定所述线条的包围盒之后,将所述包围盒的最大点坐标Nmax(x,y)和最小点坐标Nmin(x,y)存储在基于四象限的树状数据结构中;查找与所述目标单元格相交的所述包围盒,得到目标包围盒包括:计算所述目标单元格的最大点坐标Bmax(x,y)和最小点坐标Bmin(x,y);比较所述树状数据结构中当前节点处所述包围盒的最大点坐标Nmax(x,y)与所述目标单元格的最小点坐标Bmin(x,y);当Nmax.x>Bmin.x,且Nmax.y<Bmin.y时,确定所述树状数据结构中当前节点处所述包围盒为所述目标包围盒;比较所述树状数据结构中当前节点处所述包围盒的最小点坐标Nmin(x,y)与所述目标单元格的最大点坐标Bmax(x,y);当Nmin.x<Bmax.x,且Nmin.y>Bmax.y时,确定下一个节点为所述树状数据结构中当前节点第一象限内的节点;当Nmin.x<Bmax.x,且Nmin.y<Bmax....

【专利技术属性】
技术研发人员:刘建雄
申请(专利权)人:广联达科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1