本发明涉及建筑图纸cad自动处理,特别是一种基于分段递归提取cad建筑物边界的方法及系统。
背景技术:
1、目前针对建筑物内部结构的cad图纸,需要提取出主要边界线用于辅助其它涉及软件进行使用,但是在实际操作中,由于cad图纸的样式杂乱、细小的分支太多,当前经常采用的技术如下:1、手动绘制建筑物边界的方法繁琐与耗时,2、利用cad自带工具拾取不能针对建筑物进行有效且正确的提取,3、采用一些辅助工具,对建筑物的细小而杂乱的分支识别不完整,不能完全体现出建筑物的边界,4、采用opecv的计算机视觉的方式进行识别,不能体现建筑物边界的矢量特性,生成的建筑物边界杂乱且不完整。
2、现有技术中对cad工程图中边界识别的效率很低,因此,如何快速识别图纸中建筑物边界,是当前亟待解决的问题。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种基于分段递归提取cad建筑物边界的方法及系统,该方法从建筑物边界周边依次寻找相交点得到边界线,效率高速度快,准确度高。
2、为达到上述目的,本发明提供如下技术方案:
3、本发明提供的基于分段递归提取cad建筑物边界的方法,包括以下步骤:
4、根据cad的线条进行打断后,建立r树索引;
5、确定提取边界起点;
6、根据提取边界起点在建筑物图纸按照预设步长延伸直到与建筑边界的任一边界线接触,得到接触边界线;
7、获取接触边界线的方向,找到与接触边界线的方向一致的所有线段,按照与接触边界线方向垂直的方向连接所有线段的端点,组成该方向的边界边框;
8、从该方向的边界线的起点,沿上一次边界线垂直的方向找到所有的方向一致的线段,按照与这次接触边界线方向垂直的方向连接所有线段的端点,组成这次方向的边界边框;
9、循环重复直到找到建筑物图纸四个方向的边界边框为止;
10、将边界边框作为建筑物图纸边界线输出。
11、进一步,所述接触边界线通过第一类递归方法实现,所述第一类递归方法,包括以下步骤:
12、在y轴方向设置移动步长,从y轴预设的起点开始沿y轴方向延伸,并与包络框数据进行比较,判断延伸点与包络框中的r树索引是否发生碰撞结果,如果没有,则重复循环进行直到y轴方向的预设终点为止;
13、在x轴方向设置移动步长,从x轴预设的起点开始沿x轴方向延伸,并与包络框数据进行比较,判断延伸点与包络框中的r树索引是否发生碰撞结果,如果没有,则重复循环进行直到x轴方向的预设终点为止;
14、改变移动步长,循环上述步骤直到找到碰撞的边界线,将该边界线作为接触线。
15、进一步,所述边界边框包括下边框、右边框、上边框、左边框中任一项或多项组合;所述下边框、右边框、上边框、左边框分别按照以下步骤提取:
16、用第一类递归方法判断需找到图纸上的任一线段,根据第二类递归方法找到在下边框上所有倾向水平方向的所有线段,把倾向水平方向的线段进行垂直方向的连接,组成边界的下边框;和/或
17、获取上一次的下边框的终点,根据第二类递归方法找到在右边框上所有倾向垂直方向的所有线段,把倾向垂直方向的线段进行水平方向的连接,组成边界的右边框;和/或
18、获取上一次的右边框的终点,根据第二类递归方法找到在上边框上所有倾向水平方向的所有线段,把倾向水平方向的线段进行垂直方向的连接,组成边界的上边框;和/或
19、获取上一次的上边框的终点,根据第二类递归方法找到在左边框上所有倾向垂直方向的所有线段,把倾向垂直方向的线段进行水平方向的连接,组成边界的左边框;
20、连接所有的边框形成该图纸建筑物的边界。
21、进一步,所述接触边界线具体按照以下步骤进行:
22、s1:从范围内的四个点选择一个点后,例如右下角,选择一条需要进行提取的边,例如下方向的边,然后选择一个逐步碰撞的长度,根据该长度进行向上后、然后继续向左进行碰撞,如果没有碰撞到线,然后进行递增后继续碰撞,直到碰撞后的第一条线,然后判断该线是否是倾进水平方向,如果是的话,则选择该线,否则的话进行递增进行碰撞。
23、s2:找到第一条线后,然后将该点的x方向不动,y方向退到范围线外,然后继续进行碰撞,这样直到超出了水平的范围,最后得到了一连串的倾向于水平方向的线。
24、s3:将一连串水平方向的线进行垂直方向连接,就得到了在下边的外围的边框线。
25、s4:然后再左方向、右方向、上方向依次按照上面的步骤进行分段递归碰撞,最后连接起来得到整个建筑物的边界线。
26、本发明提供的基于分段递归提取cad建筑物边界的系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
27、本发明提供的存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述外接存储介质检测方法的步骤。
28、本发明的有益效果在于:
29、本发明提供的基于分段提取cad建筑物边界的方法,通过把建筑物边界通过矢量的特性,建立空间索引,通过网格分段的方式,逐步的在建筑的边界上进行递归查询,匹配到的线条作为建筑的边界,这样提取出的建筑物边界,最大程度的保留了建筑物边界矢量的特性,提取的边界完整而且清晰,而达到其他的各种用途。
30、本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
1.基于分段递归提取cad建筑物边界的方法,其特征在于:包括以下步骤:
2.如权利要求1所述的基于分段递归提取cad建筑物边界的方法,其特征在于:所述接触边界线通过第一类递归方法实现,所述第一类递归方法,包括以下步骤:
3.如权利要求2所述的基于分段递归提取cad建筑物边界的方法,其特征在于:所述边界边框包括下边框、右边框、上边框、左边框中任一项或多项组合;所述下边框、右边框、上边框、左边框分别按照以下步骤提取:
4.如权利要求1所述的基于分段递归提取cad建筑物边界的方法,其特征在于:所述接触边界线具体按照以下步骤进行:
5.基于分段递归提取cad建筑物边界的系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1至4任一项所述的方法。
6.存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的外接存储介质检测方法的步骤。