CN110851896B - 基于局部邻域信息的cad外墙体识别方法及装置 - Google Patents
基于局部邻域信息的cad外墙体识别方法及装置 Download PDFInfo
- Publication number
- CN110851896B CN110851896B CN201910933844.4A CN201910933844A CN110851896B CN 110851896 B CN110851896 B CN 110851896B CN 201910933844 A CN201910933844 A CN 201910933844A CN 110851896 B CN110851896 B CN 110851896B
- Authority
- CN
- China
- Prior art keywords
- segment
- straight line
- line segment
- straight
- column
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及计算机辅助设计技术领域,具体涉及一种基于局部邻域信息的CAD外墙体识别方法及装置;其中方法包括:读取dwg格式文件,并在dwg格式文件中利用图层信息和/或边缘信息提取得到第一多段线信息、第二多段线信息和柱信息,识别所述第一多段线和所述第二多段线中每一条直线段分别与所述各柱各边的位置关系,根据S2所识别出的直线段与柱边的位置关系,判定出有效外墙直线段,连接有效外墙直线段各端点合并成封闭外墙体,输出封闭外墙体;本发明准确识别出实际外墙体部分供审图工作人员参考,解决了现有技术中尚不存在有效识别提取出dwg格式文件中外墙体方法的技术问题,同时提升了审图的速度和准确性,能更好地协助完成设计图纸的规范性审查。
Description
技术领域
本发明涉及计算机辅助设计技术领域,具体涉及一种基于局部邻域信息的CAD外墙体识别方法及装置。
背景技术
在建筑行业,设计人员通过CAD软件进行方案细节的设计后,施工人员好按照CAD图纸进行施工。因此,CAD图纸里的各种设计需要完全符合建筑行业的规范,因此,在设计人员完成CAD图纸设计后,需要专门的审图人员进行强条审查。当前建筑图设计之后的审查工作中,都依赖于人工读图,由此需要花费巨大的人力,同时工作品质也不能得到充分保障。例如,在审图过程中,工作人员希望能够快速而准确的计算配筋率,而计算配筋率必须依赖地下室外墙体的横截面积,当前所使用的CAD软件并不支持地下室外墙体的自动识别。另外,CAD图纸是由无数个图层重叠形成的,其中,外墙体图层中的墙线通常由连续的多条线段连接而成,然后再在该图层上方新建图层绘制柱体等其它部分。审图工作人员无法在关闭其它图层的情况下判断出准确的外墙体实际部分,只能够在所有图层均可见的情况下人工排除掉外墙体中柱子等其它部分以此得到外墙体有效部分的横截面积。因此,是否能在现有CAD软件的基础上开发出对施工图进行审查的辅助工具,能够从CAD建筑施工图中自动识别出地下室外墙线供给审图工作人员参考,以帮助审图工作人员更快更准确的计算配筋率以完成强条审查,就成了本领域的一个技术难题。
发明内容
本发明的目的在于提供一种基于局部邻域信息的CAD外墙体识别方法及装置,以解决现有技术中尚不存在有效识别提取出dwg格式文件中外墙体的方法,仅能靠人工读图的技术问题。
本发明一方面提供了一种基于局部邻域信息的CAD外墙体识别方法,包括如下步骤:
S1.读取dwg格式文件,并在dwg格式文件中利用图层信息和/或边缘信息提取得到第一多段线信息、第二多段线信息和柱信息;其中,所述第一多段线为外墙体外侧线,包括多段第一直线段,所述第二多段线为外墙体内侧线,包括多段第二直线段;
S2.识别所述第一多段线和所述第二多段线中每一条直线段分别与所述各柱各边的位置关系,其中,所述位置关系包括共线、相交、平行但不共线和既不平行也不相交;
S3.根据S2所识别出的直线段与柱边的位置关系,判定出有效外墙直线段;若第一直线段与柱边的位置关系为共线或相交,第二直线段与柱边的位置关系为共线或相交,则对第一直线段、第二直线段中与柱边共线部分以及相交交点连接部分进行删除,判定剩余部分为有效外墙直线段;若第一直线段、第二直线段与柱边的位置关系为既不平行也不相交,则判定当前所述直线段为有效外墙直线段;若第一直线段与柱边的位置关系为共线,第二直线段与柱边的位置关系为平行但不共线,则删除第一直线段与柱边共线部分,删除第二直线段中与柱边平行但不共线部分,判定剩余部分为有效外墙直线段;
S4.连接有效外墙直线段各端点合并成封闭外墙体;
S5.输出封闭外墙体。
进一步地,在步骤S1中,所述第一多段线信息包括第一直线段端点坐标信息和长度信息,所述第二多段线信息包括第二直线段端点坐标信息和长度信息,所述柱信息包括角点坐标信息和柱边长度信息。
进一步地,在步骤S2中,还包括如下操作步骤:
S21.将所述多段第一直线段和多段第二直线段中端点属性标记为OO;
S22.识别比对上述步骤S21中各端点与柱角点坐标信息,若直线段两端端点分别与柱的两个角点坐标信息相同,则判定该直线段与柱边共线,修改该直线段两端端点属性均为XX;若直线段一端端点与角点坐标信息相同,另一端端点无坐标信息相同角点,则修改角点坐标信息相同处直线段端点属性为XX。
进一步地,在步骤S3中,根据所识别出的直线段与柱边的位置关系,判定出有效外墙直线段,包括执行如下步骤:
S31.若所述第一直线段或第二直线段端点属性均为XX,则直接删除;若所述第一直线段或第二直线段存在至少一个属性为OO的端点,则判定当前直线段为有效外墙直线段。
进一步地,步骤S4具体包括如下操作步骤:
S41.在所述第一多段线中,若两第一直线段相邻端点属性均为OO,则连接当前所述两第一直线段;
S42.在所述第二多段线中,若两第二直线段相邻端点属性均为OO,则连接当前所述两第二直线段;
S43.在所述第一多段线中,若第一直线段一端端点属性为OO,另一端端点属性为XX,则以第一直线段中属性为XX的端点为起点向第二直线段作垂线段;
S44.在所述第二多段线中,若第二直线段一端端点属性为OO,另一端端点属性为XX,则以第二直线段中属性为XX的端点为起点向第一直线段作垂线段。
本发明另一方面提供了一种基于局部邻域信息的CAD外墙体识别装置,包括读取模块、点位信息识别模块、标记模块、直线段判定模块和数据输出模块;所述读取模块、所述点位信息识别模块、所述标记模块、所述直线段判定模块和所述数据输出模块依次顺序连接。
所述读取模块,用于读取dwg格式文件;
所述点位信息识别模块,用于识别第一多段线和第二多段线中各直线段端点坐标信息和长度信息,识别柱角点坐标信息和柱边长度信息,以及识别各直线段端点与柱角点坐标是否重合或直线段端点是否落于柱边;
所述标记模块,用于对第一多段线和第二多段线中各直线段端点属性进行标记;若直线段端点与柱角点重合或落于柱边,则标记为XX,反之则标记为OO;
所述直线段判定模块,用于判定第一多段线和第二多段线中各直线段是否为有效外墙直线段,并将所有有效外墙直线段连接合并成封闭外墙体;
所述数据输出模块,用于输出所述封闭外墙体。
进一步地,在所述标记模块的结构中,还具体包括交点数组和离散点数组;
所述交点数组用于按坐标顺序分别储存第一多段线和第二多段线中属性为XX的直线段端点,所述离散点数组用于按坐标顺序分别储存第一多段线和第二多段线中属性为OO的直线段端点。
进一步地,在所述直线段判定模块的结构中,具体包括第一判定子模块、第二判定子模块、第三判定子模块和第四判定子模块;
所述第一判定子模块用于按坐标顺序连接第一多段线中属性为OO的直线段端点;
所述第二判定子模块用于按坐标顺序连接第二多段线中属性为OO的直线段端点;
所述第三判定子模块用于在第一多段线中搜索一端端点属性为OO另一端端点属性为XX的第一直线段,以属性为XX的端点为起点向第二多段线作垂线段;
所述第四判定子模块用于在第二多段线中搜索一端端点属性为OO另一端端点属性为XX的第二直线段,以属性为XX的端点为起点向第一多段线作垂线段。
本发明的有益效果在于,首先分别识别出各直线段端点的坐标信息和长度信息,以及柱角点坐标信息和柱边长度信息,根据各点和各边的信息识别直线段与柱边的位置关系,然后通过位置关系判定出有效外墙直线段,最后将所有有效外墙直线段按顺序连接,即得封闭外墙体。通过上述技术方案,将柱体等对外墙体存在影响的部分去除,准确有效地识别出实际外墙体部分以供审图工作人员参考,解决了现有技术中尚不存在有效识别提取出dwg格式文件中外墙体的方法的技术问题,同时与传统人工读图相比,大大提升了审图的速度和准确性,能更好地协助完成设计图纸的规范性审查。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于局部邻域信息的CAD外墙体识别方法的流程图;
图2为本发明实施例提供的一种基于局部邻域信息的CAD外墙体识别方法中应用步骤S1之前的原始图纸的结构示意图;
图3为本发明实施例提供的一种基于局部邻域信息的CAD外墙体识别方法中应用步骤S1时所提取出的外墙体的结构示意图;
图4为本发明实施例提供的一种基于局部邻域信息的CAD外墙体识别方法中应用步骤S1时所提取出的外墙线和柱体的结构示意图;
图5为本发明实施例提供的一种基于局部邻域信息的CAD外墙体识别方法中输出封闭外墙体的结构示意图;
图6为本发明实施例提供的一种基于局部邻域信息的CAD外墙体识别方法中柱A及其相邻墙体部分的结构示意图;
图7为本发明实施例提供的一种基于局部邻域信息的CAD外墙体识别方法中柱B及其相邻墙体部分的结构示意图;
图8为本发明实施例提供的一种基于局部邻域信息的CAD外墙体识别方法中柱C及其相邻墙体部分的结构示意图;
图9为本发明实施例提供的一种基于局部邻域信息的CAD外墙体识别方法中柱D及其相邻墙体部分的结构示意图;
图10为本发明实施例提供的一种基于局部邻域信息的CAD外墙体识别方法中柱E及其相邻墙体部分的结构示意图;
图11为本发明实施例提供的一种基于局部邻域信息的CAD外墙体识别方法中柱F及其相邻墙体部分的结构示意图;
图12为本发明实施例提供的一种基于局部邻域信息的CAD外墙体识别装置结构框图,包括:读取模块110、点位信息识别模块120、标记模块130、直线段判定模块140和数据输出模块150;所述读取模块110、所述点位信息识别模块120、所述标记模块130、所述直线段判定模块140和所述数据输出模块150;
附图标记:第一多段线;第二多段线;柱A;柱B;柱C;柱D;柱E;柱F。
具体实施方式
下面对本发明的实施例具体技术方案进行清楚完整说明和描述。
参见图1,在本实施例中,一种基于局部邻域信息的CAD外墙体识别方法,包括如下步骤:
S1.读取dwg格式文件,并在dwg格式文件中利用图层信息和/或边缘信息提取得到第一多段线信息、第二多段线信息和柱信息;其中,所述第一多段线为外墙体外侧线,包括多段第一直线段,所述第二多段线为外墙体内侧线,包括多段第二直线段;
S2.识别所述第一多段线和所述第二多段线中每一条直线段分别与所述各柱各边的位置关系,其中,所述位置关系包括共线、相交、平行但不共线和既不平行也不相交;
S3.根据S2所识别出的直线段与柱边的位置关系,判定出有效外墙直线段;若第一直线段与柱边的位置关系为共线或相交,第二直线段与柱边的位置关系为共线或相交,则对第一直线段、第二直线段中与柱边共线部分以及相交交点连接部分进行删除,判定剩余部分为有效外墙直线段;若第一直线段、第二直线段与柱边的位置关系为既不平行也不相交,则判定当前所述直线段为有效外墙直线段;若第一直线段与柱边的位置关系为共线,第二直线段与柱边的位置关系为平行但不共线,则删除第一直线段与柱边共线部分,删除第二直线段中与柱边平行但不共线部分,判定剩余部分为有效外墙直线段;
S4.连接有效外墙直线段各端点合并成封闭外墙体;
S5.输出封闭外墙体。
具体地,在步骤S1中,所述第一多段线信息包括第一直线段端点坐标信息和长度信息,所述第二多段线信息包括第二直线段端点坐标信息和长度信息,所述柱信息包括角点坐标信息和柱边长度信息。
举例说明:参见图2、图3以及图4,其中,图2为读取dwg格式文件所得到的原始图纸的结构示意图,包括外墙体部分和柱A、柱B、柱C、柱D、柱E、柱F,其中柱A、柱B、柱C、柱D、柱F均以不同方式与外墙体存在重叠部分,柱E与外墙体部分无接触。
图3为利用图层信息(即关闭其它图层)或利用边缘信息(即通过识别整个图像矩形区域边缘)所提取出的外墙体的结构示意图,其中,外墙体外侧线为第一多段线,外墙体内侧线为第二多段线。此处所提取出的外墙体虽然呈全封闭状态,但是部分柱体也被当成了外墙体的一部分,影响外墙体有效横截面积的准确计算,因此需要将所重叠的柱体部分去除掉。
图4为所提取出的外墙线和柱体的结构示意图,所提取出的信息包括第一直线段端点坐标信息和长度信息,第二直线段端点坐标信息和长度信息,以及柱角点坐标信息和柱边长度信息。在本具体实施方式中,第一直线段包括:ai,ij,jk,kl,lm,mn,nb,bc,cd,de,ef,fg,gu,uv,vh,ha;第二直线段包括:a`i`,i`j`,j`k`,k`l`,l`m`,m`n`,n`o`,o`b`,b`p`,p`c`,c`d`,d`e`,e`f`,f`g`,g`u`,u`v`,v`h`,h`a`;柱边包括:ii``,i``j``,j``j,ji,kk`,k`l`,l`l,lk,m`m``,m``n``,n``n`,n`m`,oo`,o`b`,b`p`,p`p,pb``,b``o,qr,rt,ts,sq,v``u``,u``u```,u```v```,v```v```。
具体地,在步骤S2中,还包括如下操作步骤:
S21.将所述多段第一直线段和多段第二直线段中端点属性标记为OO;
S22.识别比对上述步骤S21中各端点与柱角点坐标信息,若直线段两端端点分别与柱的两个角点坐标信息相同,则判定该直线段与柱边共线,修改该直线段两端端点属性均为XX;若直线段一端端点与角点坐标信息相同,另一端端点无坐标信息相同角点,则修改角点坐标信息相同处直线段端点属性为XX。
举例说明,参见图4以及图6-图11。其中,图4为整体图,图6-图11为各柱体附近区域的放大图。
针对柱A及邻近部分区域,分别对第一直线段ai,ij,jk以及第二直线段a`i`,i`j`,j`k`的各端点与柱A的各柱边ii``,i``j``,j``j,ji的各角点的坐标信息进行识别以此来判断直线段边与柱边的位置关系,经过识别,端点a,k,k`,a`的属性被标记为OO,加入至离散点数组中,端点i,i`,j,j`的属性被标记为XX,加入至交点数组中。
针对柱B及邻近部分区域,分别对第一直线段jk,kl,lm以及第二直线段j`k`,k`l`,l`m`的各端点与柱B的各柱边kk`,k`l`,l`l,lk的各角点的坐标信息进行识别以此来判断直线段边与柱边的位置关系,经过识别,端点j,j`,m,m`的属性被标记为OO,加入至离散点数组中,端点k,k`,l,l`的属性被标记为XX,加入至交点数组中。
针对柱C及邻边部分区域,分别对第一直线段gu,uv,vh以及第二直线段g`u`,u`v`,v`h`的各端点与柱C的各柱边v``u``,u``u```,u```v```,v```v``的各角点的坐标信息进行识别以此来判断直线段边与柱边的位置关系,经过识别,端点g,g`,h,h`的属性被标记为OO,加入至离散点数组中,端点v,v`,u,u`的属性被标记为XX,加入至交点数组中。
针对柱D及邻边部分区域,分别对第一直线段lm,mn,nb以及第二直线段l`m`,m`n`,n`b`的各端点与柱D的各柱边m`m``,m``n``,n``n`,n`m`的各角点的坐标信息进行识别以此来判断直线段边与柱边的位置关系,经过识别,端点l,l`,b,b`的属性被标记为OO,加入至离散点数组中,端点m,m`,n,n`的属性被标记为XX,加入至交点数组中。
针对柱E及邻边部分区域,经过识别,第一直线段与第二直线段均未与柱E各边存在相交或共线,端点b,b`,c,c`,d,d`,e,e`的属性均被标记为OO,加入至离散点数组中。
针对柱F及邻边部分区域,分别对第一直线段nb,bc以及第二直线段n`o`,o`b`,b`p`,p`c`的各端点与柱F的各柱边oo`,o`b`,b`p`,p`p,pb``,b``o的各角点的坐标信息进行识别以此来判断直线段边与柱边的位置关系,经过识别,端点n,n`,b,c,c`的属性被标记为OO,加入至离散点数组中,端点o`,b`,p`的属性被标记为XX,加入至交点数组中。
针对其它附近无柱体的区域,所有端点的属性均标记为OO,加入至离散点数组中。
具体地,在步骤S3中,根据所识别出的直线段与柱边的位置关系,判定出有效外墙直线段,包括执行如下步骤:
S31.若所述第一直线段或第二直线段端点属性均为XX,则直接删除;若所述第一直线段或第二直线段存在至少一个属性为OO的端点,则判定当前直线段为有效外墙直线段。
举例说明,参见图4及图5。
针对第一多段线部分,根据前述步骤S2对各端点的标记情况,将第一直线段中ij,kl,mn,uv删除,判定剩余直线段(即存在至少一个属性为OO的端点的直线段)为有效外墙直线段。
针对第二多段线部分,根据前述步骤S2对各端点的标记情况,将第二直线段中i`j`,k`l`,m`n`,o`b`,b`p`,u`v`删除,判定剩余直线段(即存在至少一个属性为OO的端点的直线段)为有效外墙直线段。
具体地,步骤S4具体包括如下操作步骤:
S41.在所述第一多段线中,若两第一直线段相邻端点属性均为OO,则连接当前所述两第一直线段;
S42.在所述第二多段线中,若两第二直线段相邻端点属性均为OO,则连接当前所述两第二直线段;
S43.在所述第一多段线中,若第一直线段一端端点属性为OO,另一端端点属性为XX,则以第一直线段中属性为XX的端点为起点向第二直线段作垂线段;
S44.在所述第二多段线中,若第二直线段一端端点属性为OO,另一端端点属性为XX,则以第二直线段中属性为XX的端点为起点向第一直线段作垂线段。
举例说明,参见图4及图5。
针对第一多段线部分,按各端点坐标顺序连接前述步骤S3中所判定出的有效外墙直线段,即相邻两条直线段如果相邻端点属性均为OO,则将该两条直线段相连。
针对第二多段线部分,按各端点坐标顺序连接前述步骤S3中所判定出的有效外墙直线段,即相邻两条直线段如果相邻端点属性均为OO,则将该两条直线段相连。
针对柱F的情况,以端点o`为起点向直线段nb作垂线段,以p`为起点向直线段bc作垂线段,如此,即可删除两垂线段之间包围部分,剩余部分即为有效外墙直线段。若柱F贴近外墙线外侧,所用处理方案与本方案一致,在此不再赘述。
经过上述处理即可得到准确的封闭外墙体部分,参见图5。
参见图12,相应地,本具体实施方式还提供了一种基于局部邻域信息的CAD外墙体识别装置,包括读取模块110、点位信息识别模块120、标记模块130、直线段判定模块140和数据输出模块150;所述读取模块110、所述点位信息识别模块120、所述标记模块130、所述直线段判定模块140和所述数据输出模块150依次顺序连接。
进一步地,所述读取模块110,用于读取dwg格式文件。
进一步地,所述点位信息识别模块120,用于识别第一多段线和第二多段线中各直线段端点坐标信息和长度信息,识别柱角点坐标信息和柱边长度信息,以及识别各直线段端点与柱角点坐标是否重合或直线段端点是否落于柱边。
在本具体实施方式中,可参见图4,点位信息识别模块120分别对第一多段线、第二多段线中各直线段端点和柱角点坐标信息和柱边长度信息进行识别,以及通过识别端点和柱边以及角点坐标信息是否重合以此来判断直线段与柱边的位置关系(包括相交、共线、相交、平行但不共线和既不平行也不相交)。
进一步地,所述标记模块130,用于对第一多段线和第二多段线中各直线段端点属性进行标记;若直线段端点与柱角点重合或落于柱边,则标记为XX,反之则标记为OO。
在所述标记模块130的结构中,还具体包括交点数组131和离散点数组132。
所述交点数组用于按坐标顺序分别储存第一多段线和第二多段线中属性为XX的直线段端点,所述离散点数组用于按坐标顺序分别储存第一多段线和第二多段线中属性为OO的直线段端点。
在本具体实施方式中,可结合图4理解,标记模块130将端点a,k,k`,a`,j,j`,m,m`,g,g`,h,h`,l,l`,b,b`,b,b`,c,c`,d,d`,e,e`,n,n`,b,c,c`以及其它附近无柱体的区域中所有端点的属性均标记为OO,并加入至离散点数组131中;将端点i,i`,j,j`,k,k`,l,l`,v,v`,u,u`,m,m`,n,n`,o`,b`,p`的属性被标记为XX,并加入至交点数组132中。
进一步地,所述直线段判定模块140,用于判定第一多段线和第二多段线中各直线段是否为有效外墙直线段,并将所有有效外墙直线段连接合并成封闭外墙体。
在所述直线段判定模块140的结构中,具体包括第一判定子模块141、第二判定子模块142、第三判定子模块143和第四判定子模块144。
所述第一判定子模块141用于按坐标顺序连接第一多段线中属性为OO的直线段端点。
所述第二判定子模块142用于按坐标顺序连接第二多段线中属性为OO的直线段端点。
所述第三判定子模块143用于在第一多段线中搜索一端端点属性为OO另一端端点属性为XX的第一直线段,以属性为XX的端点为起点向第二多段线作垂线段。
所述第四判定子模块144用于在第二多段线中搜索一端端点属性为OO另一端端点属性为XX的第二直线段,以属性为XX的端点为起点向第一多段线作垂线段。
在本具体实施方式中,可结合图4理解,第一判定子模块141按各端点坐标顺序连接所判定出的有效外墙直线段,即相邻两条直线段如果相邻端点属性均为OO,则将该两条直线段相连。
第二判定子模块142按各端点坐标顺序连接所判定出的有效外墙直线段,即相邻两条直线段如果相邻端点属性均为OO,则将该两条直线段相连。
第三判定子模块143为解决针对柱F的情况,以端点o`为起点向直线段nb作垂线段,以p`为起点向直线段bc作垂线段,如此,即可删除两垂线段之间包围部分,剩余部分即为有效外墙直线段。
第四判定子模块144为解决柱F贴近外墙线外侧的情况,所用操作方法与第三判定子模块143一致,在此不再赘述。
进一步地,所述数据输出模块150,用于输出所述封闭外墙体。
相应地,通过以上的具体实施方式的描述,本领域技术人员可以清楚地了解到根据上述方法可借助软件加必要的通用平台的方式来实现。基于这样的理解,本发明的技术方案本质上可以以软件产品的形式体现出来,具体地,该软件产品可以存储在一个储存介质(如ROM/RAW、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机、计算机、服务器或网络设备等)执行本发明具体实施方式所述的方法。
本具体实施方式还提供了一种存储介质,在具体实施方式中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1.读取dwg格式文件,并在dwg格式文件中利用图层信息和/或边缘信息提取得到第一多段线信息、第二多段线信息和柱信息;其中,所述第一多段线为外墙体外侧线,包括多段第一直线段,所述第二多段线为外墙体内侧线,包括多段第二直线段;
S2.识别所述第一多段线和所述第二多段线中每一条直线段分别与所述各柱各边的位置关系,其中,所述位置关系包括共线、相交、平行但不共线和既不平行也不相交;
S3.根据S2所识别出的直线段与柱边的位置关系,判定出有效外墙直线段;若第一直线段与柱边的位置关系为共线或相交,第二直线段与柱边的位置关系为共线或相交,则对第一直线段、第二直线段中与柱边共线部分以及相交交点连接部分进行删除,判定剩余部分为有效外墙直线段;若第一直线段、第二直线段与柱边的位置关系为既不平行也不相交,则判定当前所述直线段为有效外墙直线段;若第一直线段与柱边的位置关系为共线,第二直线段与柱边的位置关系为平行但不共线,则删除第一直线段与柱边共线部分,删除第二直线段中与柱边平行但不共线部分,判定剩余部分为有效外墙直线段;
S4.连接有效外墙直线段各端点合并成封闭外墙体;
S5.输出封闭外墙体。
在本具体实施方式中,存储介质还被设置为存储用于执行上述具体实施方式记载的方法步骤的程序。
在本具体实施方式中,上述存储介质可以包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在本具体实施方式中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。
在具体实施过程中,首先分别识别出各直线段端点的坐标信息和长度信息,以及柱角点坐标信息和柱边长度信息,根据各点和各边的信息识别直线段与柱边的位置关系,然后通过位置关系判定出有效外墙直线段,最后将所有有效外墙直线段按顺序连接,即得封闭外墙体。将柱体等对外墙体存在影响的部分去除,准确有效地识别出实际外墙体部分以供审图工作人员参考,解决了现有技术中尚不存在有效识别提取出dwg格式文件中外墙体的方法的技术问题,同时与传统人工读图相比,大大提升了审图的速度和准确性,能更好地协助完成设计图纸的规范性审查。
最后应说明的是:以上具体实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (4)
1.一种基于局部邻域信息的CAD外墙体识别方法,其特征在于,包括如下步骤:
S1.读取dwg格式文件,并在dwg格式文件中利用图层信息和/或边缘信息提取得到第一多段线信息、第二多段线信息和柱信息;其中,所述第一多段线为外墙体外侧线,包括多段第一直线段,所述第二多段线为外墙体内侧线,包括多段第二直线段;所述第一多段线信息包括第一直线段端点坐标信息和长度信息,所述第二多段线信息包括第二直线段端点坐标信息和长度信息,所述柱信息包括角点坐标信息和柱边长度信息;
S2.识别所述第一多段线和所述第二多段线中每一条直线段分别与所述柱的位置关系,其中,所述位置关系包括共线、相交、平行但不共线和既不平行也不相交;还包括如下操作步骤:
S21.将所述多段第一直线段和多段第二直线段中端点属性标记为OO;
S22.识别比对上述步骤S21中各端点与柱角点坐标信息,若直线段两端端点分别与柱的两个角点坐标信息相同,则判定该直线段与柱边共线,修改该直线段两端端点属性均为XX;若直线段一端端点与角点坐标信息相同,另一端端点无坐标信息相同角点,则修改角点坐标信息相同处直线段端点属性为XX;
S3.根据S2所识别出的直线段与柱边的位置关系,判定出有效外墙直线段;若第一直线段与柱边的位置关系为共线或相交,第二直线段与柱边的位置关系为共线或相交,则对第一直线段、第二直线段中与柱边共线部分以及相交交点连接部分进行删除,判定剩余部分为有效外墙直线段;若第一直线段、第二直线段与柱边的位置关系为既不平行也不相交,则判定当前所述直线段为有效外墙直线段;若第一直线段与柱边的位置关系为共线,第二直线段与柱边的位置关系为平行但不共线,则删除第一直线段与柱边共线部分,删除第二直线段中与柱边平行但不共线部分,判定剩余部分为有效外墙直线段;根据所识别出的直线段与柱边的位置关系,判定出有效外墙直线段,包括执行如下步骤:
S31.若所述第一直线段或第二直线段端点属性均为XX,则直接删除;若所述第一直线段或第二直线段存在至少一个属性为OO的端点,则判定当前直线段为有效外墙直线段;
S4.连接有效外墙直线段各端点合并成封闭外墙体;具体包括如下操作步骤:
S41.在所述第一多段线中,若两第一直线段相邻端点属性均为OO,则连接当前所述两第一直线段;
S42.在所述第二多段线中,若两第二直线段相邻端点属性均为OO,则连接当前所述两第二直线段;
S43.在所述第一多段线中,若第一直线段一端端点属性为OO,另一端端点属性为XX,则以第一直线段中属性为XX的端点为起点向第二直线段作垂线段;
S44.在所述第二多段线中,若第二直线段一端端点属性为OO,另一端端点属性为XX,则以第二直线段中属性为XX的端点为起点向第一直线段作垂线段;
S5.输出封闭外墙体。
2.一种基于局部邻域信息的CAD外墙体识别装置,其特征在于,所述装置运行使用权利要求1所述的方法;包括读取模块、点位信息识别模块、标记模块、直线段判定模块和数据输出模块;所述读取模块、所述点位信息识别模块、所述标记模块、所述直线段判定模块和所述数据输出模块依次顺序连接;
其中,所述读取模块,用于读取dwg格式文件;
所述点位信息识别模块,用于识别第一多段线和第二多段线中各直线段端点坐标信息和长度信息,识别柱角点坐标信息和柱边长度信息,以及识别各直线段端点与柱角点坐标是否重合或直线段端点是否落于柱边;
所述标记模块,用于对第一多段线和第二多段线中各直线段端点属性进行标记;若直线段端点与柱角点重合或落于柱边,则标记为XX,反之则标记为OO;所述标记模块的结构具体包括交点数组和离散点数组;
所述交点数组用于按坐标顺序分别储存第一多段线和第二多段线中属性为XX的直线段端点,所述离散点数组用于按坐标顺序分别储存第一多段线和第二多段线中属性为OO的直线段端点;
所述直线段判定模块,用于判定第一多段线和第二多段线中各直线段是否为有效外墙直线段,并将所有有效外墙直线段连接合并成封闭外墙体;所述直线段判定模块的结构具体包括第一判定子模块、第二判定子模块、第三判定子模块和第四判定子模块;
所述第一判定子模块用于按坐标顺序连接第一多段线中属性为OO的直线段端点;
所述第二判定子模块用于按坐标顺序连接第二多段线中属性为OO的直线段端点;
所述第三判定子模块用于在第一多段线中搜索一端端点属性为OO另一端端点属性为XX的第一直线段,以属性为XX的端点为起点向第二多段线作垂线段;
所述第四判定子模块用于在第二多段线中搜索一端端点属性为OO另一端端点属性为XX的第二直线段,以属性为XX的端点为起点向第一多段线作垂线段;
所述数据输出模块,用于输出所述封闭外墙体。
3.一种存储介质,其特征在于,所述存储介质包括储存的程序,其中,所述程序运行时执行权利要求1所述的方法。
4.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910933844.4A CN110851896B (zh) | 2019-09-29 | 2019-09-29 | 基于局部邻域信息的cad外墙体识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910933844.4A CN110851896B (zh) | 2019-09-29 | 2019-09-29 | 基于局部邻域信息的cad外墙体识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110851896A CN110851896A (zh) | 2020-02-28 |
CN110851896B true CN110851896B (zh) | 2023-02-21 |
Family
ID=69596208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910933844.4A Active CN110851896B (zh) | 2019-09-29 | 2019-09-29 | 基于局部邻域信息的cad外墙体识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851896B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200861B (zh) * | 2020-10-30 | 2023-02-17 | 久瓴(江苏)数字智能科技有限公司 | 柱类型的确定方法和装置、存储介质及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007115238A (ja) * | 2005-09-20 | 2007-05-10 | Fukui Computer Kk | 2次元cadデータ処理装置、2次元cadデータ処理方法、2次元cadデータ処理プログラム、及び閉領域識別方法 |
CN107767382A (zh) * | 2017-09-26 | 2018-03-06 | 武汉市国土资源和规划信息中心 | 静态三维地图建筑物轮廓线的自动提取方法及系统 |
CN108363867A (zh) * | 2018-02-09 | 2018-08-03 | 广州大学 | 基于建筑图纸的建筑物自动建模方法 |
CN108376248A (zh) * | 2018-02-09 | 2018-08-07 | 广州大学 | 基于建筑图纸的柱和墙自动识别方法 |
CN109074084A (zh) * | 2017-08-02 | 2018-12-21 | 珊口(深圳)智能科技有限公司 | 机器人的控制方法、装置、系统及所适用的机器人 |
CN109271704A (zh) * | 2018-09-12 | 2019-01-25 | 深圳市彬讯科技有限公司 | Cad户型窗体识别方法及cad户型窗体识别装置 |
CN109753918A (zh) * | 2018-12-29 | 2019-05-14 | 江苏艾佳家居用品有限公司 | 一种户型图中的墙体识别方法及系统 |
-
2019
- 2019-09-29 CN CN201910933844.4A patent/CN110851896B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007115238A (ja) * | 2005-09-20 | 2007-05-10 | Fukui Computer Kk | 2次元cadデータ処理装置、2次元cadデータ処理方法、2次元cadデータ処理プログラム、及び閉領域識別方法 |
CN109074084A (zh) * | 2017-08-02 | 2018-12-21 | 珊口(深圳)智能科技有限公司 | 机器人的控制方法、装置、系统及所适用的机器人 |
CN107767382A (zh) * | 2017-09-26 | 2018-03-06 | 武汉市国土资源和规划信息中心 | 静态三维地图建筑物轮廓线的自动提取方法及系统 |
CN108363867A (zh) * | 2018-02-09 | 2018-08-03 | 广州大学 | 基于建筑图纸的建筑物自动建模方法 |
CN108376248A (zh) * | 2018-02-09 | 2018-08-07 | 广州大学 | 基于建筑图纸的柱和墙自动识别方法 |
CN109271704A (zh) * | 2018-09-12 | 2019-01-25 | 深圳市彬讯科技有限公司 | Cad户型窗体识别方法及cad户型窗体识别装置 |
CN109753918A (zh) * | 2018-12-29 | 2019-05-14 | 江苏艾佳家居用品有限公司 | 一种户型图中的墙体识别方法及系统 |
Non-Patent Citations (2)
Title |
---|
基于直线段相交特征识别的线线空间关系计算方法;何广静等;《测绘学报》;20151215;第169-173页 * |
建筑构件智能识别方法研究;李伟青;《浙江大学学报(理学版)》;20050825(第04期);第38-44页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110851896A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110334390B (zh) | Cad中外墙识别方法、装置、存储介质及处理器 | |
WO2021000809A1 (zh) | 利用激光slam在长走廊建图的方法、装置、系统、存储介质 | |
CN112560862B (zh) | 文本识别方法、装置及电子设备 | |
CN109710708B (zh) | 一种电子地图映射方法及装置 | |
CN110348368B (zh) | 一种户型图的人工智能解析方法、计算机可读介质及系统 | |
US11600091B2 (en) | Performing electronic document segmentation using deep neural networks | |
CN102693334B (zh) | 基于cad电子图纸的动态构件识别方法 | |
CN104732192A (zh) | 一种建筑图纸墙体识别方法和装置 | |
WO2021169773A1 (zh) | 多阈值约束的轨道交通控制保护区空间信息提取分析方法 | |
CN108520070B (zh) | 用于电子地图的筛选兴趣点的方法和装置 | |
CN110851896B (zh) | 基于局部邻域信息的cad外墙体识别方法及装置 | |
CN102522043A (zh) | 基于线段拓扑关系的多边形压缩方法 | |
CN115510520A (zh) | 梁配筋视图编辑方法、装置、设备及存储介质 | |
CN115455519A (zh) | 基于bim平台的水平构件标注方法及相关设备 | |
US20220391553A1 (en) | Building information modeling systems and methods | |
CN114283190A (zh) | 梁线拼接方法、装置、设备及存储介质 | |
CN113989826A (zh) | 一种基于图论算法的建筑cad图纸分割识别方法 | |
Puri et al. | Toward automated dimensional quality control of precast concrete elements using design BIM | |
CN112486384B (zh) | 审图处理方法及相关装置 | |
CN109784236B (zh) | 一种识别铁路图纸中表格内容的方法 | |
CN110796129A (zh) | 一种文本行区域检测方法及装置 | |
CN102592108B (zh) | 图签信息提取方法和装置 | |
CN113269153B (zh) | 一种表格识别方法以及装置 | |
CN115510530A (zh) | 一种CAD平面图纸自动化构建Revit三维模型的方法 | |
CN113012457B (zh) | 一种地下车库的导航停车方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |