CN117633973A - Cad文件识别方法、装置、电子设备及存储介质 - Google Patents
Cad文件识别方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117633973A CN117633973A CN202311589132.8A CN202311589132A CN117633973A CN 117633973 A CN117633973 A CN 117633973A CN 202311589132 A CN202311589132 A CN 202311589132A CN 117633973 A CN117633973 A CN 117633973A
- Authority
- CN
- China
- Prior art keywords
- wall
- target
- line
- intersecting
- wall line
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 239000013598 vector Substances 0.000 claims abstract description 89
- 238000012545 processing Methods 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011960 computer-aided design Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Evolutionary Computation (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种CAD文件识别方法、装置、电子设备及存储介质。该方法包括:确定CAD二维图纸文件中的墙体、以及墙体中墙线的向量信息;根据墙线的向量信息,确定墙体中的第一目标墙线、第二目标墙线、以及第一目标墙线和第二目标墙线之间的目标墙线交点;根据第一目标墙线和第二目标墙线之间的目标墙线交点,对第一目标墙线和第二目标墙线进行延长处理,得到第一延长墙线和第二延长墙线;根据第一延长墙线、第二延长墙线和墙体中的墙线,对墙体进行拆分处理,得到不可拆分的目标墙体;确定CAD二维图纸文件中的相交墙体;根据目标墙体和相交墙体,得到目标房间。本申请的方法,提高了对CAD文件的识别效率。
Description
技术领域
本申请涉及文件识别技术领域,尤其涉及一种CAD文件识别方法、装置、电子设备及存储介质。
背景技术
计算机辅助设计作为杰出的工程技术成就,已广泛地应用于建筑设计领域,设计师在家装设计软件中为了加快创建户型的速度,会通过CAD图作为临摹图创建户型,但是CAD软件中没有对房间进行定义,因此,在使用CAD文件时,难以识别CAD文件中的房间信息。
现有的CAD文件识别方法,在对文件中的图纸进行房间识别时,一般是利用3D场景编辑器等三维设计软件进行识别,即利用计算机技术对CAD文件进行自动化识别和解析,将文件图纸中的各种元素(如线条、文字、符号等)转化为计算机可识别的数据格式,以便进行后续的处理和分析。
然而,现有的CAD文件识别方法在识别时,存在识别效果不好,无法满足用户对CAD文件识别需求的问题。
发明内容
本申请提供一种CAD文件识别方法、装置、电子设备及存储介质,用以解决现有的CAD文件识别方法在识别时,存在识别效果不好,无法满足用户对CAD文件识别需求的问题。
第一方面,本申请提供一种CAD文件识别方法,包括:
确定CAD二维图纸文件中的墙体、以及墙体中墙线的向量信息,墙线的向量信息为沿预设旋转方向设置的向量;
根据墙线的向量信息,确定墙体中的第一目标墙线、第二目标墙线、以及第一目标墙线和第二目标墙线之间的目标墙线交点,其中,第一目标墙线的墙线向量和第二目标墙线的墙线向量的向量积满足预设向量积要求;
根据第一目标墙线和第二目标墙线之间的目标墙线交点,对第一目标墙线和第二目标墙线进行延长处理,得到第一延长墙线和第二延长墙线;
根据第一延长墙线、第二延长墙线和墙体中的墙线,对墙体进行拆分处理,得到不可拆分的目标墙体;
确定CAD二维图纸文件中的相交墙体,相交墙体为不可拆分的墙体,且相交墙体中的相交墙线与目标墙体中的目标墙线相交;
根据目标墙体和相交墙体,得到目标房间。
在本申请实施例中,确定CAD二维图纸文件中的相交墙体,包括:
确定目标墙体上的目标平行墙线、以及与目标平行墙线相交的相交墙线;
根据与目标平行墙线相交的相交墙线,确定相交墙体。
在本申请实施例中,确定目标墙体上的目标平行墙线、以及与目标平行墙线相交的相交墙线,包括:
获取目标墙体上目标平行墙线的墙线坐标;
根据目标平行墙线的墙线坐标和CAD二维图纸文件中的墙线信息集,确定初始相交墙线;
根据初始相交墙线与目标平行墙线的位置关系,确定初始相交墙线中的相交墙线。
在本申请实施例中,根据目标墙体和相交墙体,得到目标房间,包括:
在确定相交墙体后,确定与相交墙体相交的其他相交墙体和其他目标相交墙体,其中,其他目标相交墙体为分别与目标墙体和其他目标墙体相交的墙体;
根据目标墙体、相交墙体、其他相交墙体和其他目标相交墙体,得到目标房间。
在本申请实施例中,在确定相交墙体后,确定与相交墙体相交的其他相交墙体和其他目标相交墙体,包括:
在确定相交墙体后,确定相交墙体中的相交墙线、以及相交墙线的墙线坐标;
根据相交墙线的墙线坐标和CAD二维图纸文件中的墙线信息集,确定其他相交墙体、以及其他相交墙体中其他相交墙线的墙线坐标,其他相交墙线为与相交墙线相交的墙线;
根据其他相交墙线的墙线坐标和CAD二维图纸文件中的墙线信息集,确定其他目标相交墙体,其他目标相交墙体中的其他目标相交墙线还与目标墙体相交。
在本申请实施例中,根据目标墙体和相交墙体,得到目标房间,包括:
根据目标墙体和相交墙体,得到初始目标房间;
根据初始目标房间和CAD二维图纸文件中的墙线信息集,查找位于初始目标房间内的排空墙体;
若初始目标房间内未查找到排空墙体,则确定初始目标房间为目标房间。
在本申请实施例中,根据目标墙体和相交墙体,得到目标房间,包括:
根据目标墙体和相交墙体,得到初始目标房间;
根据初始目标房间和CAD二维图纸文件中的墙线信息集,查找位于初始目标房间内的线段端点;
若初始目标房间内未查找到线段端点,则确定初始目标房间为目标房间。
在本申请实施例中,根据目标墙体和相交墙体,得到目标房间,包括:
根据目标墙体和相交墙体,得到初始目标房间、以及初始目标房间上的墙线端点;
对初始目标房间上的墙线端点进行剔除处理,得到目标房间。
第二方面,本申请提供一种CAD文件识别装置,包括:
第一确定模块,用于确定CAD二维图纸文件中的墙体、以及墙体中墙线的向量信息,墙线的向量信息为沿预设旋转方向设置的向量;
第二确定模块,用于根据墙线的向量信息,确定墙体中的第一目标墙线、第二目标墙线、以及第一目标墙线和第二目标墙线之间的目标墙线交点,其中,第一目标墙线的墙线向量和第二目标墙线的墙线向量的向量积满足预设向量积要求;
第一处理模块,用于根据第一目标墙线和第二目标墙线之间的目标墙线交点,对第一目标墙线和第二目标墙线进行延长处理,得到第一延长墙线和第二延长墙线;
第二处理模块,用于根据第一延长墙线、第二延长墙线和墙体中的墙线,对墙体进行拆分处理,得到不可拆分的目标墙体;
第三确定模块,用于确定CAD二维图纸文件中的相交墙体,相交墙体为不可拆分的墙体,且相交墙体中的相交墙线与目标墙体中的目标墙线相交;
得到模块,用于根据目标墙体和相交墙体,得到目标房间。
第三方面,本申请提供了一种电子设备,包括:处理器,以及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现本申请实施例的CAD文件识别方法。
第四方面,一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现本申请实施例的CAD文件识别方法。
本申请提供的CAD文件识别方法、装置、电子设备及存储介质,通过确定CAD二维图纸文件中的墙体、以及墙体中墙线的向量信息,墙线的向量信息为沿预设旋转方向设置的向量;根据墙线的向量信息,确定墙体中的第一目标墙线、第二目标墙线、以及第一目标墙线和第二目标墙线之间的目标墙线交点,其中,第一目标墙线的墙线向量和第二目标墙线的墙线向量的向量积满足预设向量积要求;根据第一目标墙线和第二目标墙线之间的目标墙线交点,对第一目标墙线和第二目标墙线进行延长处理,得到第一延长墙线和第二延长墙线;根据第一延长墙线、第二延长墙线和墙体中的墙线,对墙体进行拆分处理,得到不可拆分的目标墙体;确定CAD二维图纸文件中的相交墙体,相交墙体为不可拆分的墙体,且相交墙体中的相交墙线与目标墙体中的目标墙线相交;根据目标墙体和相交墙体,得到目标房间的手段,通过确定CAD二维图纸文件中的墙体、以及墙体中墙线的向量信息,得到墙体中的第一目标墙线和第二目标墙线之间的目标墙线交点,然后以此对目标墙线进行延长处理,并且对延长处理后得到的墙体进行拆分处理,得到目标墙体,由此,可以对目标墙体进行解析与判断,从而确定出目标房间,提高了CAD文件识别的准确度和识别效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种CAD文件识别方法的流程示意图;
图2为本申请实施例提供的另一种CAD文件识别方法的流程示意图;
图3为本申请实施例提供的另一种CAD文件识别方法中房间识别的流程示意图;
图4为本申请实施例提供的另一种CAD文件识别方法中房间识别的墙体结构示意图;
图5为本申请实施例提供的一种CAD文件识别装置的结构示意图;
图6为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
现有技术中,一般是通过3D场景编辑器等三维设计软件进行简单的CAD图纸识别,然而,不同的三维设计软件在对图纸中房间的识别时,房间识别的技术支持程度和效果都不一样,且算法闭源,不会对外公开,导致对CAD文件中的房间识别效率不高,同时,由于算法闭源,在实际生产过程中也无法广泛应用,出现无法满足用户对CAD文件识别需求的问题。
为了解决上述问题,本申请可以根据向量对墙体进行拆分,得到最简墙体,最简墙体拥有简单的数据结构便于进行房间识别,通过遍历最简墙体选择一段墙体并得到一条闭合墙体数组,即该段墙体对应的两条墙线的坐标以及向量数组,利用房间解析算法确定与两条墙线相交的其他墙线以及其他相交墙体,将识别出的所有墙体保存下来即为闭合房间墙体回路,最终将房间识别出来。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图对本申请的实施例进行描述。
本申请实施例提供了一种CAD文件识别方法、装置、电子设备及存储介质,该CAD文件识别方法的执行主体可以是服务器,其中,服务器可以为手机、平板、电脑等设备平台。本实施例对执行主体的实现方式不做特别限制,只要该执行主体能够通过确定CAD二维图纸文件中的墙体、以及墙体中墙线的向量信息,墙线的向量信息为沿预设旋转方向设置的向量;根据墙线的向量信息,确定墙体中的第一目标墙线、第二目标墙线、以及第一目标墙线和第二目标墙线之间的目标墙线交点,其中,第一目标墙线的墙线向量和第二目标墙线的墙线向量的向量积满足预设向量积要求;根据第一目标墙线和第二目标墙线之间的目标墙线交点,对第一目标墙线和第二目标墙线进行延长处理,得到第一延长墙线和第二延长墙线;根据第一延长墙线、第二延长墙线和墙体中的墙线,对墙体进行拆分处理,得到不可拆分的目标墙体;确定CAD二维图纸文件中的相交墙体,相交墙体为不可拆分的墙体,且相交墙体中的相交墙线与目标墙体中的目标墙线相交;根据目标墙体和相交墙体,得到目标房间即可。其中,本申请实施例中的CAD可以指一种计算机辅助设计的绘图工具软件,包括:AutoCAD(Autodesk Computer Aided Design)、浩辰CAD等。CAD图纸可以指通过绘图工具软件得到的图纸,CAD图纸文件的格式为“.dxf”。
图1为本申请实施例提供的一种CAD文件识别方法的流程示意图。本方法的执行主体可以为存储有需求处理系统的服务器或其他服务器,本实施例此处不做特别的限制,如图1所示,该方法可以包括:
S101、确定CAD二维图纸文件中的墙体、以及墙体中墙线的向量信息,墙线的向量信息为沿预设旋转方向设置的向量。
其中,CAD二维图纸文件可以指装修图、房型图等平面图纸文件。
CAD二维图纸文件中的墙体可以指图纸中由一组连续线段构成的墙体,在本申请实施例中,通过遍历线段信息中各个线段的端点坐标,根据各个线段的端点坐标,确定构成闭合封闭、且首尾相连的线段,根据该选段,确定CAD二维图纸文件中的墙体。
墙体中的墙线可以指组成墙体的线段,即每一条线段均代表一段墙线。
墙体中墙线的向量信息可以指用于表示墙体位置和方向的向量,墙体中墙线的向量信息可以根据确定墙线的起点坐标和终点坐标得到,在本申请实施例中,为了方便后续对墙线的计算处理,需要将墙线向量进行归一化处理,即在划定墙线向量时,将墙线向量沿预设旋转方向设置,其中,预设旋转方向可以包括顺时针方向和逆时针方向。例如,当墙体由4条墙线构成时,墙体上各个墙线的墙线向量依次为:墙线1墙线2/>墙线3墙线4/>
在本申请实施例中,确定CAD二维图纸文件中的墙体、以及墙体中墙线的向量信息的方法可包括:获取CAD二维图纸文件中的线段信息;根据CAD二维图纸文件中的线段信息,确定CAD二维图纸文件中的墙体、以及墙体中墙线的向量信息。
其中,线段信息可以指CAD二维图纸文件中所有线段的信息,在本申请实施例中,线段信息可以以线段端点坐标的形式表示,比如,线段1[a(x1,y1),b(x2,y2)],其中,a和b表示线段1的端点。
S102、根据墙线的向量信息,确定墙体中的第一目标墙线、第二目标墙线、以及第一目标墙线和第二目标墙线之间的目标墙线交点,其中,第一目标墙线的墙线向量和第二目标墙线的墙线向量的向量积满足预设向量积要求。
其中,向量积(cross product)可以指:
A×B=|A|×|B|×sinθn;
其中,A可以为墙线中一条墙线的墙线向量;B可以为墙线中另一条墙线的墙线向量,其中,一条墙线与另一条墙线为相交的墙线。
预设向量积要求可以指对向量积阈值的要求,通过向量积阈值的要求,确定相交墙线之间所在的平面是左手系,还是右手系,当一个墙体中的相交墙线所在的平面即存在左手系,又存在右手系时,则表征该墙体为异形墙体,比如,T字形墙体、十字形墙体。当一个墙体中的相交墙线所在的平面均为右手系或左手系时,则表征该墙体为平面图为矩形的最简墙体。
其中,在确定墙体中的相交墙线时,可以先确定墙体中的墙线交点,然后根据墙线交点,确定与墙线交点对应的第一墙线和第二墙线,再然后计算所有第一墙线和第二墙线之间的向量积,并由此确定墙体中的第一目标墙线、第二目标墙线、以及第一目标墙线和第二目标墙线之间的目标墙线交点。
S103、根据第一目标墙线和第二目标墙线之间的目标墙线交点,对第一目标墙线和第二目标墙线进行延长处理,得到第一延长墙线和第二延长墙线。
其中,延长处理可以指对第一目标墙线和第二目标墙线分别进行延长的处理,在本申请实施例中,对第一目标墙线和第二目标墙线分别进行延长,直至第一目标墙线与墙体中的其他墙线相交时,得到第一延长墙线,以及直至第二目标墙线与墙体中的其他墙线相交时,得到第二延长墙线。
其中,在本申请实施例中,根据第一目标墙线和第二目标墙线之间的目标墙线交点,对第一目标墙线和第二目标墙线进行延长处理,得到第一延长墙线和第二延长墙线的方法可以包括:
根据第一目标墙线和第二目标墙线之间墙线交点的拐点方向,确定第一目标墙线的延长方向和第二目标墙线的延长方向;
根据第一目标墙线的延长方向和第二目标墙线的延长方向,对第一目标墙线和第二目标墙线进行延长处理,得到第一延长墙线和第二延长墙线。
其中,第一目标墙线和第二目标墙线之间墙线交点的拐点方向可以指第一目标墙线和第二目标墙线之间的朝向。通过第一目标墙线相对于墙线交点的方向、以及第二目标墙线相对于墙线交点的方向,确定第一目标墙线的延长方向和第二目标墙线的延长方向,由此,可以根据第一目标墙线的延长方向和第二目标墙线的延长方向,对第一目标墙线和第二目标墙线进行延长处理,得到第一延长墙线和第二延长墙线。
S104、根据第一延长墙线、第二延长墙线和墙体中的墙线,对墙体进行拆分处理,得到不可拆分的目标墙体。
其中,对墙体进行拆分可以指将异形墙体拆分为多个最简的目标墙体。
其中,在本申请实施例中,根据第一延长墙线、第二延长墙线和墙体中的墙线,对墙体进行拆分,得到不可拆分的目标墙体的方法可以包括:
根据第一延长墙线和墙体中的墙线,确定第一延长线交点;
根据第二延长墙线和墙体中的墙线,确定第二延长线交点;
根据第一延长线交点和第二延长线交点、以及墙体中墙线的墙线交点,对墙体进行拆分,得到目标墙体。
其中,第一延长线交点可以指第一延长墙线与墙体中墙线的交点。通过第一延长墙线的方向和第一延长线交点可以与墙体中的墙线,构成一个目标墙体。
第二延长线交点可以指第二延长墙线与墙体中墙线的交点。通过第二延长墙线的方向和第二延长线交点可以与墙体中的墙线,构成另一个目标墙体。
S105、确定CAD二维图纸文件中的相交墙体,相交墙体为不可拆分的墙体,且相交墙体中的相交墙线与目标墙体中的目标墙线相交。
其中,在本申请实施例中,确定CAD二维图纸文件中的相交墙体的方法可以包括:
确定目标墙体上的目标平行墙线、以及与目标平行墙线相交的相交墙线;
根据与目标平行墙线相交的相交墙线,确定相交墙体。
其中,目标平行墙线可以有多条,例如,与目标墙体w1对应的平行墙线包括l0和l1两条,则从w1的l0和l1两条墙线分别开始进行遍历,首先,确定与l0/l1相交的墙线数以及各个相交墙线的坐标,然后比对l0/l1的墙线坐标和各个相交墙线的坐标,确定出与l0/l1墙线满足预设位置关系的相交墙线,从而确定与相交墙线对应的相交墙体。
其中,在本申请实施例中,确定目标墙体上的目标平行墙线、以及与目标平行墙线相交的相交墙线的方法可以包括:
获取目标墙体上目标平行墙线的墙线坐标;
根据目标平行墙线的墙线坐标和CAD二维图纸文件中的墙线信息集,确定初始相交墙线;
根据初始相交墙线与目标平行墙线的位置关系,确定初始相交墙线中的相交墙线。
其中,CAD二维图纸文件中的墙线信息集可以是图纸文件在进行拆分后得到的最简的墙体对应的墙线坐标信息、墙线向量信息的集合。
初始相交墙线与目标平行墙线的位置关系可以根据预设的相交墙线排序规则进行确定,在本申请实施例中,预设的相交墙线排序规则可以是右侧相交的线段>与其平行的线段>左侧相交的线段,从排序的结果中取出最小符合规则的线段作为最终确定的相交墙线。例如,已知墙体w1中,目标墙线为l1墙线,初始相交墙线为l2墙线、l3墙线,初始相交墙线与目标平行墙线的位置关系为:l1墙线与l2墙线相交、l3墙线与l2墙线平行且与l1墙线的延长线相交。则对交线进行排序的结果为l2墙线>l3墙线,确定出l2墙线为初始相交墙线中的相交墙线。
S106、根据目标墙体和相交墙体,得到目标房间。
其中,目标房间可以表征目标墙体和相交墙体组成的闭合墙体回路。
其中,在本申请实施例中,根据目标墙体和相交墙体,得到目标房间的方法可以包括:
在确定相交墙体后,确定与相交墙体相交的其他相交墙体和其他目标相交墙体,其中,其他目标相交墙体为分别与目标墙体和其他目标墙体相交的墙体;
根据目标墙体、相交墙体、其他相交墙体和其他目标相交墙体,得到目标房间。
例如,当确定w1为目标墙体、w2为与目标墙体w1对应的相交墙体后,进一步需要确定与相交墙体w2相交的其他相交墙体为w3、与其他相交墙体w3相交的墙体为其他目标相交墙体w4,其中,当其他目标相交墙体w4在与其他相交墙体w3相交的同时也与目标墙体w1相交,则可以得到由墙体w1、w2、w3、w4组成的房间。
其中,在本申请实施例中,在确定相交墙体后,确定与相交墙体相交的其他相交墙体和其他目标相交墙体的方法可以包括:
在确定相交墙体后,确定相交墙体中的相交墙线、以及相交墙线的墙线坐标;
根据相交墙线的墙线坐标和CAD二维图纸文件中的墙线信息集,确定其他相交墙体、以及其他相交墙体中其他相交墙线的墙线坐标,其他相交墙线为与相交墙线相交的墙线;
根据其他相交墙线的墙线坐标和CAD二维图纸文件中的墙线信息集,确定其他目标相交墙体,其他目标相交墙体中的其他目标相交墙线还与目标墙体相交。
其中,在本申请实施例中,根据目标墙体和相交墙体,得到目标房间的方法可以包括:
根据目标墙体和相交墙体,得到初始目标房间;
根据初始目标房间和CAD二维图纸文件中的墙线信息集,查找位于初始目标房间内的排空墙体;
若初始目标房间内未查找到排空墙体,则确定初始目标房间为目标房间。
其中,在本申请实施例中,排空墙体可以指对应墙线坐标位于初始目标房间中的墙体。若初始目标房间内查找到排空墙体,则表征初始目标房间不是房间或者不是最小房间,需要进行重新识别。
其中,在本申请实施例中,根据目标墙体和相交墙体,得到目标房间的方法可以包括:
根据目标墙体和相交墙体,得到初始目标房间;
根据初始目标房间和CAD二维图纸文件中的墙线信息集,查找位于初始目标房间内的线段端点;
若初始目标房间内未查找到线段端点,则确定初始目标房间为目标房间。
其中,在本申请实施例中,查找位于初始目标房间内的线段端点的方法可以是根据初始目标房间信息确定线段端点坐标范围,然后在CAD二维图纸文件中的墙线信息集中遍历各个线段坐标,从而确定出位于初始目标房间内的线段端点。
在本申请实施例中,若初始目标房间内查找到线段端点,则表征初始目标房间不满足房间识别条件,需要进行标记处理。
其中,标记处理可以指将含有线段端点的初始目标房间进行删除或者标记不是房间的处理。
其中,在本申请实施例中,根据目标墙体和相交墙体,得到目标房间的方法可以包括:
根据目标墙体和相交墙体,得到初始目标房间、以及初始目标房间上的墙线端点;
对初始目标房间上的墙线端点进行剔除处理,得到目标房间。
其中,对初始目标房间上的墙线端点进行剔除处理可以指将CAD文件识别过程中延长处理和拆分处理时产生的端点进行剔除,以便于用户查看识别的房间信息。
本申请实施例提供的CAD文件识别方法,可以准确识别CAD文件中墙体轮廓形状,并且对识别的墙体进行了最简化拆分,使得拆分后的墙体为最简的四边形墙体,然后确定最简四边形墙体中的目标墙体和与之对应的相交墙体,能够准确识别CAD文件中的闭合空间,并标记为房间,并且可以通过排空处理,确定目标房间,并为用户展示,提高用户使用满意度。
图2为本申请实施例提供的另一种CAD文件识别方法的流程示意图,如图2所示,该方法可以包括:
S201、房间识别。
其中,图3为本申请实施例提供的另一种CAD文件识别方法中房间识别的具体流程示意图。如图3所示,房间识别的方法可以包括:1)根据开源的dxf解析插件dxf-parser对cad图纸文件进行解析,获取cad图纸图层、图块实体信息,这些信息中包含墙体门窗柱子等的结构信息;2)利用墙体拆分算法获取最简墙体数组数据;3)遍历最简墙体数组,从中选取一段最简墙体,找出2条墙线;4)对2条墙线分别执行房间解析算法;5)遍历其他墙体,寻找与墙线相交的墙体线段;6)如果有相交的墙体线段,计算目标墙体,依据墙线右侧,墙线头部,墙线左侧来排序墙体,得到目标墙体,跳转3)继续进行墙体识别;7)如果没有相交墙体,循环遍历自身墙线纳入房间墙体线段中;8)将所有墙体保存下来即为闭合房间墙体回路。
图4为本申请实施例提供的另一种CAD文件识别方法中房间识别的墙体结构示意图。如图4所示,图中箭头方向表示墙线向量方向,已知有墙体w1、w2、w3、w4,则从墙体w1的两条墙线l0和l1开始分别进行遍历,可以得到l1对应的交线为l2、l3,则对交线进行排序,排序规则为右侧相交的线段>与其平行的线段>左侧相交的线段,从排序的结果中取出最小符合规则的线段l2,则将墙体w2纳入房间墙体中,然后以l2为下一段墙线进行墙线遍历判断,则与l2相交的线段为l4和l5,其中符合条件的线段为l4,则下一段墙体为w3,按照这个规律寻找下去,最终回到墙体线段w1,则房间识别完成,组成房间的墙体为w1、w2、w3、w4。
S202、房间剔除。
其中,房间剔除的方法可以包括:1)对上一步获取的所有闭合房间墙线进行遍历。2)取出所有墙线的端点,判断是否有端点包含在房间形状中,如果包含则该房间不满足条件,进行剔除。
S203、地面生成。
其中,在地面生成之后,该方法还可以包括:通过墙体数组数据,对生成的房间地面进行面积计算,从而得到房间的面积信息,提高房间识别准确度的同时也能提供给用户房间数据信息。
本申请实施例提供的CAD文件识别方法,可以准确识别CAD文件中墙体轮廓形状,并且对识别的墙体进行了最简化拆分,使得拆分后的墙体为最简的四边形墙体,然后确定最简四边形墙体中的各个墙体执行房间解析算法,能够准确识别文件中的闭合空间,并标记为房间,另外,本申请实施例的方法还能够通过识别出的房间生成房间地面,进而计算出房间面积大小。
图5为本申请实施例提供的一种CAD文件识别装置的结构示意图。如图5所示,该CAD文件识别装置50包括:第一确定模块501、第二确定模块502、第一处理模块503、第二处理模块504、第三确定模块505、得到模块506。其中:
第一确定模块501,用于确定CAD二维图纸文件中的墙体、以及墙体中墙线的向量信息,墙线的向量信息为沿预设旋转方向设置的向量;
第二确定模块502,用于根据墙线的向量信息,确定墙体中的第一目标墙线、第二目标墙线、以及第一目标墙线和第二目标墙线之间的目标墙线交点,其中,第一目标墙线的墙线向量和第二目标墙线的墙线向量的向量积满足预设向量积要求;
第一处理模块503,用于根据第一目标墙线和第二目标墙线之间的目标墙线交点,对第一目标墙线和第二目标墙线进行延长处理,得到第一延长墙线和第二延长墙线;
第二处理模块504,用于根据第一延长墙线、第二延长墙线和墙体中的墙线,对墙体进行拆分处理,得到不可拆分的目标墙体;
第三确定模块505,用于确定CAD二维图纸文件中的相交墙体,相交墙体为不可拆分的墙体,且相交墙体中的相交墙线与目标墙体中的目标墙线相交;
得到模块506,用于根据目标墙体和相交墙体,得到目标房间。
在本申请实施例中,第三确定模块505还可以用于:
确定目标墙体上的目标平行墙线、以及与目标平行墙线相交的相交墙线;
根据与目标平行墙线相交的相交墙线,确定相交墙体。
在本申请实施例中,第三确定模块505还可以用于:
获取目标墙体上目标平行墙线的墙线坐标;
根据目标平行墙线的墙线坐标和CAD二维图纸文件中的墙线信息集,确定初始相交墙线;
根据初始相交墙线与目标平行墙线的位置关系,确定初始相交墙线中的相交墙线。
在本申请实施例中,得到模块506还可以用于:
在确定相交墙体后,确定与相交墙体相交的其他相交墙体和其他目标相交墙体,其中,其他目标相交墙体为分别与目标墙体和其他目标墙体相交的墙体;
根据目标墙体、相交墙体、其他相交墙体和其他目标相交墙体,得到目标房间。
在本申请实施例中,得到模块506还可以用于:
在确定相交墙体后,确定相交墙体中的相交墙线、以及相交墙线的墙线坐标;
根据相交墙线的墙线坐标和CAD二维图纸文件中的墙线信息集,确定其他相交墙体、以及其他相交墙体中其他相交墙线的墙线坐标,其他相交墙线为与相交墙线相交的墙线;
根据其他相交墙线的墙线坐标和CAD二维图纸文件中的墙线信息集,确定其他目标相交墙体,其他目标相交墙体中的其他目标相交墙线还与目标墙体相交。
在本申请实施例中,得到模块506还可以用于:
根据目标墙体和相交墙体,得到初始目标房间;
根据初始目标房间和CAD二维图纸文件中的墙线信息集,查找位于初始目标房间内的排空墙体;
若初始目标房间内未查找到排空墙体,则确定初始目标房间为目标房间。
在本申请实施例中,得到模块506还可以用于:
根据目标墙体和相交墙体,得到初始目标房间;
根据初始目标房间和CAD二维图纸文件中的墙线信息集,查找位于初始目标房间内的线段端点;
若初始目标房间内未查找到线段端点,则确定初始目标房间为目标房间。
在本申请实施例中,得到模块506还可以用于:
根据目标墙体和相交墙体,得到初始目标房间、以及初始目标房间上的墙线端点;
对初始目标房间上的墙线端点进行剔除处理,得到目标房间。
图6为本申请实施例提供的电子设备的结构示意图。如图6所示,该电子设备60包括:
该电子设备60可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、通信部件603等部件。其中,处理器601、存储器602以及通信部件603通过总线604连接。
在具体实现过程中,至少一个处理器601执行存储器602存储的计算机执行指令,使得至少一个处理器601执行如上的CAD文件识别方法。
处理器601的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图6所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(Non-volatile Memory,NVM),例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
在一些实施例中,还提出一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述任一种CAD文件识别方法中的步骤。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种CAD文件识别方法中的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种CAD文件识别方法中的步骤,因此,可以实现本申请实施例所提供的任一种CAD文件识别方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (11)
1.一种CAD文件识别方法,其特征在于,所述方法包括:
确定CAD二维图纸文件中的墙体、以及所述墙体中墙线的向量信息,所述墙线的向量信息为沿预设旋转方向设置的向量;
根据所述墙线的向量信息,确定所述墙体中的第一目标墙线、第二目标墙线、以及所述第一目标墙线和所述第二目标墙线之间的目标墙线交点,其中,所述第一目标墙线的墙线向量和所述第二目标墙线的墙线向量的向量积满足预设向量积要求;
根据所述第一目标墙线和所述第二目标墙线之间的目标墙线交点,对所述第一目标墙线和所述第二目标墙线进行延长处理,得到第一延长墙线和第二延长墙线;
根据所述第一延长墙线、所述第二延长墙线和所述墙体中的墙线,对所述墙体进行拆分处理,得到不可拆分的目标墙体;
确定所述CAD二维图纸文件中的相交墙体,所述相交墙体为不可拆分的墙体,且所述相交墙体中的相交墙线与所述目标墙体中的目标墙线相交;
根据所述目标墙体和所述相交墙体,得到目标房间。
2.根据权利要求1所述的方法,其特征在于,所述确定所述CAD二维图纸文件中的相交墙体,包括:
确定所述目标墙体上的目标平行墙线、以及与所述目标平行墙线相交的相交墙线;
根据与所述目标平行墙线相交的相交墙线,确定相交墙体。
3.根据权利要求2所述的方法,其特征在于,所述确定所述目标墙体上的目标平行墙线、以及与所述目标平行墙线相交的相交墙线,包括:
获取所述目标墙体上目标平行墙线的墙线坐标;
根据所述目标平行墙线的墙线坐标和所述CAD二维图纸文件中的墙线信息集,确定初始相交墙线;
根据所述初始相交墙线与所述目标平行墙线的位置关系,确定所述初始相交墙线中的相交墙线。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标墙体和所述相交墙体,得到目标房间,包括:
在确定所述相交墙体后,确定与所述相交墙体相交的其他相交墙体和其他目标相交墙体,其中,所述其他目标相交墙体为分别与所述目标墙体和所述其他目标墙体相交的墙体;
根据所述目标墙体、所述相交墙体、所述其他相交墙体和所述其他目标相交墙体,得到目标房间。
5.根据权利要求4所述的方法,其特征在于,所述在确定所述相交墙体后,确定与所述相交墙体相交的其他相交墙体和其他目标相交墙体,包括:
在确定所述相交墙体后,确定所述相交墙体中的相交墙线、以及所述相交墙线的墙线坐标;
根据所述相交墙线的墙线坐标和所述CAD二维图纸文件中的墙线信息集,确定所述其他相交墙体、以及所述其他相交墙体中其他相交墙线的墙线坐标,所述其他相交墙线为与所述相交墙线相交的墙线;
根据所述其他相交墙线的墙线坐标和所述CAD二维图纸文件中的墙线信息集,确定所述其他目标相交墙体,所述其他目标相交墙体中的其他目标相交墙线还与所述目标墙体相交。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标墙体和所述相交墙体,得到目标房间,包括:
根据所述目标墙体和所述相交墙体,得到初始目标房间;
根据所述初始目标房间和所述CAD二维图纸文件中的墙线信息集,查找位于所述初始目标房间内的排空墙体;
若所述初始目标房间内未查找到所述排空墙体,则确定所述初始目标房间为目标房间。
7.根据权利要求1所述的方法,其特征在于,所述根据所述目标墙体和所述相交墙体,得到目标房间,包括:
根据所述目标墙体和所述相交墙体,得到初始目标房间;
根据所述初始目标房间和所述CAD二维图纸文件中的墙线信息集,查找位于所述初始目标房间内的线段端点;
若所述初始目标房间内未查找到所述线段端点,则确定所述初始目标房间为目标房间。
8.根据权利要求1所述的方法,其特征在于,所述根据所述目标墙体和所述相交墙体,得到目标房间,包括:
根据所述目标墙体和所述相交墙体,得到初始目标房间、以及所述初始目标房间上的墙线端点;
对所述初始目标房间上的墙线端点进行剔除处理,得到目标房间。
9.一种CAD文件识别装置,其特征在于,包括:
第一确定模块,用于确定CAD二维图纸文件中的墙体、以及所述墙体中墙线的向量信息,所述墙线的向量信息为沿预设旋转方向设置的向量;
第二确定模块,用于根据所述墙线的向量信息,确定所述墙体中的第一目标墙线、第二目标墙线、以及所述第一目标墙线和所述第二目标墙线之间的目标墙线交点,其中,所述第一目标墙线的墙线向量和所述第二目标墙线的墙线向量的向量积满足预设向量积要求;
第一处理模块,用于根据所述第一目标墙线和所述第二目标墙线之间的目标墙线交点,对所述第一目标墙线和所述第二目标墙线进行延长处理,得到第一延长墙线和第二延长墙线;
第二处理模块,用于根据所述第一延长墙线、所述第二延长墙线和所述墙体中的墙线,对所述墙体进行拆分处理,得到不可拆分的目标墙体;
第三确定模块,用于确定所述CAD二维图纸文件中的相交墙体,所述相交墙体为不可拆分的墙体,且所述相交墙体中的相交墙线与所述目标墙体中的目标墙线相交;
得到模块,用于根据所述目标墙体和所述相交墙体,得到目标房间。
10.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至8中任一项所述的CAD文件识别方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8任一项所述的CAD文件识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311589132.8A CN117633973A (zh) | 2023-11-24 | 2023-11-24 | Cad文件识别方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311589132.8A CN117633973A (zh) | 2023-11-24 | 2023-11-24 | Cad文件识别方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117633973A true CN117633973A (zh) | 2024-03-01 |
Family
ID=90029749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311589132.8A Pending CN117633973A (zh) | 2023-11-24 | 2023-11-24 | Cad文件识别方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117633973A (zh) |
-
2023
- 2023-11-24 CN CN202311589132.8A patent/CN117633973A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112085033B (zh) | 一种模板匹配方法、装置、电子设备及存储介质 | |
WO2020107326A1 (zh) | 车道线检测方法、设备、计算机可读存储介质 | |
CN110796016A (zh) | 工程图纸识别方法、电子设备及相关产品 | |
CN111583381B (zh) | 游戏资源图的渲染方法、装置及电子设备 | |
CN113724401B (zh) | 一种三维模型切割方法、装置、计算机设备和存储介质 | |
CN114581639A (zh) | 一种基于梁平法施工图生成bim模型中梁钢筋信息的方法 | |
CN111523531A (zh) | 文字处理方法、装置、电子设备及计算机可读存储介质 | |
CN115423852A (zh) | 一种点云数据配准方法、系统、电子设备及存储介质 | |
CN113538623B (zh) | 确定目标图像的方法、装置、电子设备及存储介质 | |
CN114429535A (zh) | 一种三角网格曲面的光滑裁剪方法及装置 | |
CN117633973A (zh) | Cad文件识别方法、装置、电子设备及存储介质 | |
CN115481268A (zh) | 一种平行线墙体数据识别方法、装置、设备及存储介质 | |
CN114663612B (zh) | 一种高精度地图构建方法、装置及电子设备 | |
CN115623211A (zh) | 矩阵的扫描方法和装置 | |
CN113808192B (zh) | 一种户型图生成方法、装置、设备及存储介质 | |
CN115641436A (zh) | 一种区域分割的方法、装置及机器人装置 | |
CN114444185A (zh) | 原位标注的识别方法、装置及电子设备 | |
CN110335353B (zh) | 街区自动细分的方法、装置、设备及存储介质 | |
JP3801792B2 (ja) | 3次元形状の切断装置と切断方法及び切断処理プログラムを格納した記憶媒体 | |
CN113724395B (zh) | 一种多楼层房屋模型的生成方法、装置、电子设备及介质 | |
CN113591739B (zh) | 识别图纸中面域的方法、装置、计算机设备和存储介质 | |
CN111860625B (zh) | 一种古木建筑斗栱自动化类别识别方法及系统 | |
CN117633971A (zh) | Cad图纸识别方法、装置、设备及介质 | |
CN116993944A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN114758058A (zh) | 3d模型评分方法、装置、设备及存储介质 |
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 |