CN112287430B - 建筑墙体生成方法、装置、计算机设备和存储介质 - Google Patents
建筑墙体生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112287430B CN112287430B CN202011062841.7A CN202011062841A CN112287430B CN 112287430 B CN112287430 B CN 112287430B CN 202011062841 A CN202011062841 A CN 202011062841A CN 112287430 B CN112287430 B CN 112287430B
- Authority
- CN
- China
- Prior art keywords
- line segment
- compared
- current
- line
- intersection point
- 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
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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Structural Engineering (AREA)
- Civil Engineering (AREA)
- Architecture (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种建筑墙体生成方法、装置、计算机设备和存储介质。所述方法包括:获取建筑模型对应的围合线段,形成线段集合;判断所述线段集合中的各线段之间是否存在交点;当存在交点时,判断所述交点是否为线段端点;当所述交点不是所述线段端点时,以所述交点为分割点将相交的线段进行分割处理,得到分割子线段;根据各所述分割子线段生成建筑墙体。采用上述方法提高了建筑墙体的生成效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种建筑墙体生成方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,如何将计算机技术更好地应用于建筑工程中,以提高建筑工程的效率变得越来越重要。
在传统的建筑工程中,要想在建筑物中生成某一个类型的建筑墙体时,需要工程人员对建筑模型数据进行分析、计算并根据经验确定是否适合生成建筑墙体,以及怎么确定生成建筑墙体的位置,使得建筑墙体的生成效率低下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高建筑墙体生成效率的方法、装置、计算机设备和存储介质。
一种建筑墙体生成方法,所述方法包括:
获取建筑模型对应的围合线段,形成线段集合;
判断所述线段集合中的各线段之间是否存在交点;
当存在交点时,判断所述交点是否为线段端点;
当所述交点不是所述线段端点时,以所述交点为分割点将相交的线段进行分割处理,得到分割子线段;
根据各所述分割子线段生成建筑墙体。
在一个实施例中,所述判断所述线段集合中的各线段之间是否存在交点,包括:
遍历所述线段集合,并依次从所述线段集合中提取未处理的当前线段,并将线段集合中的剩余线段作为待比较线段;
获取所述当前线段对应的当前方向;
确定所述待比较线段对应的待比较方向;
根据所述当前方向与所述待比较方向之间的方向关系,确定所述线段集合中的所述待比较线段与所述当前线段之间是否存在交点。
在一个实施例中,所述根据所述当前方向与所述待比较方向之间的方向关系,确定所述线段集合中的所述待比较线段与所述当前线段之间是否存在交点,包括:
获取预先确定的参考方向;
确定所述参考方向与所述当前方向对应的当前向量积,以及所述当前向量积对应的当前向量积方向;
基于所述线段集合中的所述待比较线段对应的待比较方向与所述当前向量积方向的方向关系,确定所述线段集合中的待比较线段与所述当前线段之间是否存在交点。
在一个实施例中,所述基于所述线段集合中的所述待比较线段对应的待比较方向与所述当前向量积方向的方向关系,确定所述线段集合中的待比较线段与所述当前线段之间是否存在交点,包括:
依次从所述线段集合中提取待比较线段,并获取所述待比较线段对应的待比较方向;
将所述待比较方向与所述当前向量积方向所在的延伸方向进行比对,所述延伸方向包括当前向量积的正向延伸方向以及负向延伸方向;
当比对一致时,确定所述待比较线段与所述当前线段之间存在交点;
否则,确定所述待比较线段与所述当前线段之间不存在交点。
在一个实施例中,所述方法还包括:
获取所述线段集合中各线段对应的线段方向,以及各所述线段对应的线段端点,所述线段端点中包括线段起始端点以及线段终止端点;
将所述线段方向一致,且所述线段起始端点以及所述线段终止端点中至少一个存在重合的线段端点进行去重处理,使得同一个线段方向上只存在一个所述线段起始端点以及一个所述线段终止端点。
在一个实施例中,所述方法还包括:
所述线段集合中包括所述建筑模型对应的围合线段,所述建筑墙体包括剪力墙。
一种建筑墙体生成方法,所述方法还包括:
获取待处理建筑模型数据;
调用预设的功能接口,以使得所述功能接口根据上述任意一个实施例中的建筑墙体生成方法对待处理建筑模型数据进行处理,生成建筑墙体。
一种建筑墙体生成装置,所述装置包括:
获取模块,用于获取建筑模型对应的围合线段,形成线段集合;
第一判断模块,用于判断所述线段集合中的各线段之间是否存在交点;
第二判断模块,用于当存在交点时,判断所述交点是否为线段端点;
分割模块,用于当所述交点不是所述线段端点时,以所述交点为分割点将相交的线段进行分割处理,得到分割子线段;
生成模块,用于根据各所述分割子线段生成建筑墙体。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述任一实施例中的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中的方法的步骤。
上述建筑墙体生成方法、装置、计算机设备和存储介质,获取建筑模型对应的围合线段,形成线段集合;服务器对获取到的线段集合数据进行分析,以判断线段集合中的线段是否都适合生成建筑墙体。具体通过判定所述线段集合中的各线段之间是否存在交点,当服务器判断线段之间存在交点时,说明此时可能需要对相交的线段进行处理才能生成建筑墙体,故而服务器再次判断所述交点是否为线段端点,当所述交点不是所述线段端点时,服务器以所述交点为分割点将相交的线段进行分割处理,得到分割子线段,进而实现将不能直接生成建筑墙体的相交线段进行分割处理后,才执行建筑墙体的生成步骤,实现了在计算机中对建筑模型数据的自动分析、处理,进而提高了建筑墙体的生成效率。
附图说明
图1为一个实施例中建筑墙体生成方法的应用环境图;
图2为一个实施例中建筑墙体生成方法的流程示意图;
图3为一个实施例中提供的一种不同建筑面之间位置关系图;
图4为一个实施例中提供的一种线段去重处理后对应的示意图;
图5为一个实施例中提供的一种线段集合中的线段端点示意图;
图6为一个实施例中提供的一种十字形交叉状态下的示意图;
图7为一个实施例中提供的一种T字形交叉下的示意图;
图8为一个实施例中建筑墙体生成装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的建筑墙体生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。其中服务器104中存储有库文件,终端102在实现建筑墙体生成方法的过程中可以从服务器104中调用对应的库文件,具体可以通过库文件对应的功能接口输入相应的待处理建筑模型数据,以根据库文件中预先封装的算法对待处理建筑模型数据进行自动分析、处理并输出用于确定建筑墙体的位置数据,极大地提高了生成建筑墙体的效率。例如,终端102获取建筑模型对应的围合线段,形成线段集合;并根据终端102引入的库文件判断所述线段集合中的各线段之间是否存在交点;当存在交点时,判断所述交点是否为线段端点;当所述交点不是所述线段端点时,以所述交点为分割点将相交的线段进行分割处理,得到分割子线段;根据各所述分割子线段生成建筑墙体。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
需要说明的是,在其他实施例中,上述的建筑墙体生成方法也可以在服务器中实现,具体是服务器104获取建筑模型对应的围合线段,形成线段集合,并根据服务器中预先设置的算法对获取到的数据进行处理,进而生成建筑墙体。
在一个实施例中,如图2所示,提供了一种建筑墙体生成方法,以该方法应用于图1中的终端102为例进行说明,具体是通过终端中的调用的库文件实现,包括以下步骤:
步骤202,获取建筑模型对应的围合线段,形成线段集合。
其中,建筑模型是建筑物对应的模型,线段集合是组成建筑模型围合区域的线段,围合区域是指形成闭合多边形的区域图形。线段集合中可包括多于一个的线段,以及线段集合中还可以包括每一个线段对应的线段属性,线段属性中具体可以包括各线段的起始端点、终止端点、延伸方向以及线段长度等参数信息。
在具体的场景中,建筑模型对应的线段集合中的每一个线段都对应一个墙面。
步骤204,判断所述线段集合中的各线段之间是否存在交点。
具体的,终端可以分别从线段集合中提取线段,并将判断提取到的线段与线段集合中剩余的线段之间是否存在交点。需要说明的是,不同线段之间可以相交于线段的端点,此时交点对应的线段端点,不同线段之间交点还可以不是线段端点。
具体的,终端获取到的线段集合中可包括多个建筑面对应的线段,如图3所示,图3为一个实施例中提供的一种不同建筑面之间位置关系图。在图3中对应的围合图形为建筑模型对应的线段集合组成的围合区域,并且围合区域中的各线段之间可存在交点,如图3中的点C以及点F为线段之间的交点,并且交点对应为非线段端点的情景。
在一个具体的实施例中,当在建筑物中生成剪力墙时,需要判断建筑物中是否存在相交的墙面,若存在时,需要将相交的墙体提取出来,并对相交的墙面进行进一步处理后才能在对应的相交墙面处生成剪力墙,如可以将相交的墙面进行打散处理,然后在打散后的墙面中生成剪力墙。
步骤206,当存在交点时,判断所述交点是否为线段端点。
当终端判断线段集合中的线段之间存在交点时,还包括判断提取到的交点是否对应为线段集合中的线段的端点。其中,端点可包括线段起始端点或者线段终止端点。具体的,终端判断交点是否对应为线段起始端点或者线段终止端点中的任意一种。
在一个实施例中,终端可以判断获取到的交点是否与线段端点重合,当重合时,判定交点为线段端点,否则,判定交点不是线段端点。继续参考图3,从图3中可以看出交点C以及交点F不是线段端点,但是交点H、交点G、交点K为线段端点。
步骤208,当所述交点不是所述线段端点时,以所述交点为分割点将相交的线段进行分割处理,得到分割子线段。
具体的,当终端判断交点不是线段端点时,说明线段集合中的线段之间存在交叉的线段,如图3所示,交点C以及交点F不是线段端点,故而交点C对应的线段DI以及线段HG之间存在交叉,具体可以为十字形交叉,同理,交点F对应的线段EM以及线段GK之间存在交叉,具体可以为十字形交叉。
在具体的场景中,建筑模型对应的线段集合中的每一个线段都对应一个墙面,当墙面对应的线段之间存在交叉形成交点时,说明建筑物中存在交叉的墙面,如可以存在T字形交叉的墙面或者十字形交叉的墙面。具体,可以参考图6以及图7,图6为一个实施例中提供的一种十字形交叉状态下的示意图,在图6中,第一平面与第二平面交叉,在图中以十字形的形状(图中以交叉线条图案填充区域)展示。图7为一个实施例中提供的一种T字形交叉下的示意图,在图7中,第三平面与第四平面交叉,在图中以T字形的形状(图中以交叉线条图案填充区域)展示。
并且,当终端判断交点不是端点时,如在图6中,交点S不是线段的端点,故而此时应该以S点为分割点,将交叉的线段进行分割处理,得到4条分割子线段,分别对应为子线段SX1、子线段SX2、子线段SY1以及子线段SY2。
步骤210,根据各所述分割子线段生成建筑墙体。
终端在各分割子线段对应的平面上生成剪力墙。在具体实施例中,通过将具有交叉的墙面进行分割处理,实现将交叉的墙面打散化,并在打散后的每一个子墙面中分别生成剪力墙。避免了在具有交叉的墙面中分别生成剪力墙,使得在交点对应的区域重复生成剪力墙,造成剪力墙的重复以及剪力墙生成失败。
上述建筑墙体生成方法,获取建筑模型对应的围合线段,形成线段集合;终端对获取到的线段集合数据进行分析,以判断线段集合中的线段是否都适合生成建筑墙体。具体通过判定所述线段集合中的各线段之间是否存在交点,当终端判断线段之间存在交点时,说明此时可能需要对相交的线段进行处理才能生成建筑墙体,故而终端再次判断所述交点是否为线段端点,当所述交点不是所述线段端点时,终端以所述交点为分割点将相交的线段进行分割处理,得到分割子线段,进而实现将不能直接生成建筑墙体的相交线段进行分割处理后,才执行建筑墙体的生成步骤,实现了在计算机中对建筑模型数据的自动分析、处理,进而提高了建筑墙体的生成效率。
在一个实施例中,所述判断所述线段集合中的各线段之间是否存在交点,包括:遍历所述线段集合,并依次从所述线段集合中提取未处理的当前线段,并将线段集合中的剩余线段作为待比较线段;获取所述当前线段对应的当前方向;确定所述待比较线段对应的待比较方向;根据所述当前方向与所述待比较方向之间的方向关系,确定所述线段集合中的所述待比较线段与所述当前线段之间是否存在交点。
其中,未处理的线段是指所述线段集合中未与其他线段进行交点判断的线段。具体的,终端从线段集合中依次提取未处理的线段,并将提取到的未处理的线段作为当前线段,然后将线段集合中剩余的线段作为待比较线段,将当前线段与待比较线段的方向进行比对,根据比对结果确定当前线段与待比较线段之间是否存在交点。需要说明的是,当前线段的数量一般为一个,待比较线段的数量一般为一个或者多于一个。在具体实施中,将一个当前线段与多个待比较线段进行方向性比对,具体可以是逐次将当前线段与待比较线段的方向进行比对,得到当前线段与其中一个待比较线段的比对结果,然后在执行将当前线段与下一个待比较线段的方向性比对,直至完成当前线段与所有的待比较线段的方向性比对为止,还可以是同时将当前线段与多个待比较线段进行比对,在一次比较过程中就可以获取当前线段与所有待比较线段的方向性比对结果,在此不作限制。
需要说明的是,终端可以依次从线段集合中分别取出一个线段作为当前线段,然后将线段集合中剩余的线段作为待比较线段,并将当前线段对应的当前方向与线段集合中所有的待比较线段对应的待比较方向分别进行比对,根据比对结果确定当前线段是否存在相交线段。进一步地,当完成对当前线段的交点判定时,终端将当前线段作为已处理线段,并将已处理线段从线段集合中删除,然后再继续从删除已处理线段后的线段集合中继续提取未处理的线段作为当前线段,并继续执行判断当前线段与待处理线段之间的相交关系,直至完全对线段集合中所有线段的相交判定过程为止。
在一个实施例中,终端获取当前线段对应的当前向量,其中当前向量具体可以是当前线段的当前方向向量。终端获取待比较线段的待比较方向,其中待比较向量具体可以是待比较线段的待比较方向向量。具体的,若当前方向与待比较方向为垂直关系时,判定当前线段与待比较线段是垂直关系,判定当前线段与待比较线段之间存在交点。在其他实施例中,当前方向与待比较方向之间的角度满足预设条件时,判定当前线段与待比较线段之间存在交点。其中预设条件可以根据需求自适应设置。
上述实施例中,通过依次对线段集合中线段之间的相交情况进行判定,提高了对相交线段判定的准确性。
在一个实施例中,所述根据所述当前方向与所述待比较方向之间的方向关系,确定所述线段集合中的所述待比较线段与所述当前线段之间是否存在交点,包括:获取预先确定的参考方向;确定所述参考方向与所述当前方向对应的当前向量积,以及所述当前向量积对应的当前向量积方向;基于所述线段集合中的所述待比较线段对应的待比较方向与所述当前向量积方向的方向关系,确定所述线段集合中的待比较线段与所述当前线段之间是否存在交点。
预先确定的参考方向具体可以是预先确定的坐标轴正方向,如坐标轴正方向与当前线段对应的当前方向可以确定一个建筑面。参考图6,在图6中,若当前线段为Y2Y1所对应的线段,那么当前方向为Y2指向Y1的方向,此时参考方向可以为第二平面中任一条线段所对应的方向。参考方向与当前方向所对应的向量积指向第二平面的法向量方向,然后终端基于向量积方向与待比较方向的关系确定待比较线段与当前线段之间的方向关系。具体对应为,若当前向量积方向与待比较方向一致时,说明待比较方向指向当前线段所在的建筑面的法向量方向,故而也能判断待比较线段与当前线段是垂直关系,即当前线段与待比较线段之间存在一个交点。
上述实施例中,通过向量积方向与待比较方向的方向关系,确定当前线段与待比较线段之间的方向关系,简单易行,提高了线段之间关系的判断效率。
在一个实施例中,所述基于所述线段集合中的所述待比较线段对应的待比较方向与所述当前向量积方向的方向关系,确定所述线段集合中的待比较线段与所述当前线段之间是否存在交点,包括:依次从所述线段集合中提取待比较线段,并获取所述待比较线段对应的待比较方向;将所述待比较方向与所述当前向量积方向所在的延伸方向进行比对,所述延伸方向包括当前向量积的正向延伸方向以及负向延伸方向;当比对一致时,确定所述待比较线段与所述当前线段之间存在交点;否则,确定所述待比较线段与所述当前线段之间不存在交点。
当前向量积的延伸方向包括当前向量积的正向延伸方向,以及当前向量积的负向延伸方向。具体的,正向延伸方向是指与当前向量积方向一致的方向,负向延伸方向是指与当前向量积方向相反的方向,也就是说是当前向量积的反方向。具体的,当待比较线段的待比较方向与当前向量积的延伸方向一致时,说明待比较线段在当前线段所在的建筑面的法线方向上,也就是待比较线段与当前线段垂直。当比对一致时,确定所述待比较线段与所述当前线段之间存在交点;否则,确定所述待比较线段与所述当前线段之间不存在交点。也就说,当待比较线段与当前线段虽然相交于某一个点时,但对应为不垂直的关系时,此时需要将该交点舍弃,即可以直接判定待比较线段与当前线段之间不存在交点。
在其中一个实施例中,当待比较线段的待比较方向对应为当前向量积方向的正向延伸方向或者负面延伸方向中的其中一个时,说明待比较线段与当前线段为T字形相交。参考图7,若当前方向为P指向T的方向,当前线段对应的当前平面为第四平面,并且当前向量积方向为R指向P的方向,也就是说当前向量积的正向延伸方向为R指向P的方向,负向延伸方向为P指向R的方向,并且从图7可以看出,待比较线段PR在当前向量积的负向延伸方向(P指向R的方向),此时待比较线段PR所对应的建筑面为第三平面,也就是说,在当前建筑物中,第三平面与第四平面相交为T字形。或者,也可以理解为当待比较线段PR在当前线段PT的一侧时,待比较线段与当前线段为T字形相交。
还可以参考图6,在图6中,若当前方向为S指向Y1的方向,当前线段对应的当前平面为第二平面,并且当前向量积方向为S指向X2的方向,也就是说,当前向量积的正向延伸方向为S指向X2的方向,负向延伸方向为S指向X1的方向,并且从图6可以看出,待比较线段X1X2同时在当前向量积的负向延伸方向以及正向延伸方向,此时待比较线段X1X2所对应的建筑面为第一平面,也就是说,在当前建筑物中,第一平面与第二平面相交为十字形。也可以理解为当待比较线段在当前线段的两侧时,待比较线段与当前线段为十字形相交。
在一个实施例中,参考图6以及图7,记当前线段对应的建筑墙面的墙线方向为wallDirect(也对应为当前线段方向),记墙线方向和坐标轴正上方向的叉积为crossDirect(也对应为向量积方向)。然后判断是否有剪力墙在crossDirect方向(向量积正向延伸方向)或者-crossDirect(向量积负向延伸方向)方向上,和当前墙面相交。若存在相交的墙面,则利用线的打断相关算法,将原来的墙线在交点位置打断,生成两个剪力墙,将相交剪力墙的墙线一个端点移动到相交点,得到打断后的墙面。
在一个实施例中,所述方法还包括:获取所述线段集合中各线段对应的线段方向,以及各所述线段对应的线段端点,所述线段端点中包括线段起始端点以及线段终止端点;将所述线段方向一致,且所述线段起始端点以及所述线段终止端点中至少一个存在重合的线段端点进行去重处理,使得同一个线段方向上只存在一个所述线段起始端点以及一个所述线段终止端点。
具体的,在线段集合中的各线段之间可能存在重合的情况,故而此时需要对重合的线段进行去重处理,具体是将处于同一个方向的线段进行去重处理。如图5所示,图5为一个实施例中提供的一种线段集合中的线段端点示意图。在图5中,可以看出在线段OH中,对应的点包括O点、A点、B点以及H点,由于两个点就可以确定一条线段,故而O点以及H点为线段OH的端点,完全可以唯一确定线段OH,故而需要对线段OH的中间点如A点以及B点进行去重处理。或者,也可以理解为,在线段OH中,存在线段OA、线段AB、线段OB、线段BH、线段AH等中的至少一个与线段OH重合,故而此时需要将在线段OH对应的方向中,与线段OH重合的线段进行去重处理,使得在线段OH中只存在一个线段起始端点以及一个线段终止端点。具体,可以参考图4,图4为一个实施例中提供的一种线段去重处理后对应的示意图。在图4中将线段OH中的重合的点A以及点B进行去重处理了。
上述实施例中,通过对线段进行去重处理,使得在后续判断交点的步骤中,减少对不必要交点的判断过程,提高了对线段交点判断的效率。
在一个实施例中,所述方法还包括:所述线段集合中包括所述建筑模型对应的围合线段,所述建筑墙体包括剪力墙。
一种建筑墙体生成方法,所述方法还包括:获取待处理建筑模型数据;调用预设的功能接口,以使得所述功能接口根据上述任意一个实施例中的建筑墙体生成方法对待处理建筑模型数据进行处理,生成建筑墙体。
具体的,在功能接口中传入的待处理数据中可包括待打断的线段集合,然后通过功能接口中封装的算法对待处理数据进行处理,得到打断后的线段集合,进而根据打断后的集合生成剪力墙。
考虑到在目前的开发设计中,生成剪力墙时,是在原来已有的模拟墙(墙体框架)的基础上生成剪力墙,但是会遇到T字形墙或者十字形墙,此时需要打断原来的墙,然后在打断后的墙中分别生成剪力墙。关于此类问题,如果没有提供一个统一功能接口给开发人员,开发人员每次需要使用该功能时,都需要开发人员重新思考、设计并实现具体的功能,这其中可能存在漏洞,导致执行效率低等问题,还会增加开发人员工作时间,降低开发效率。在上述实施例中提供的功能接口中预先设置了建筑墙体生成方法的算法,使得开发人员只需将待处理建筑模型数据传入该功能接口中,即可自动返回所需的建筑墙体信息,进而提高了建筑墙体生成的效率。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种建筑墙体生成装置,包括获取模块802,用于获取建筑模型对应的围合线段,形成线段集合。
第一判断模块804,用于判断所述线段集合中的各线段之间是否存在交点。
第二判断模块806,用于当存在交点时,判断所述交点是否为线段端点。
分割模块808,用于当所述交点不是所述线段端点时,以所述交点为分割点将相交的线段进行分割处理,得到分割子线段。
生成模块810,用于根据各所述分割子线段生成建筑墙体。
在一个实施例中,第一判断模块804还用于遍历所述线段集合,并依次从所述线段集合中提取未处理的当前线段,并将线段集合中的剩余线段作为待比较线段;获取所述当前线段对应的当前方向;确定所述待比较线段对应的待比较方向;根据所述当前方向与所述待比较方向之间的方向关系,确定所述线段集合中的所述待比较线段与所述当前线段之间是否存在交点。
在一个实施例中,第一判断模块804还用于获取预先确定的参考方向;确定所述参考方向与所述当前方向对应的当前向量积,以及所述当前向量积对应的当前向量积方向;基于所述线段集合中的所述待比较线段对应的待比较方向与所述当前向量积方向的方向关系,确定所述线段集合中的待比较线段与所述当前线段之间是否存在交点。
在一个实施例中,第一判断模块804还用于依次从所述线段集合中提取待比较线段,并获取所述待比较线段对应的待比较方向;将所述待比较方向与所述当前向量积方向所在的延伸方向进行比对,所述延伸方向包括当前向量积的正向延伸方向以及负向延伸方向;当比对一致时,确定所述待比较线段与所述当前线段之间存在交点;否则,确定所述待比较线段与所述当前线段之间不存在交点。
在一个实施例中,建筑墙体生成装置还包括去重模块,去重模块用于获取所述线段集合中各线段对应的线段方向,以及各所述线段对应的线段端点,所述线段端点中包括线段起始端点以及线段终止端点;将所述线段方向一致,且所述线段起始端点以及所述线段终止端点中至少一个存在重合的线段端点进行去重处理,使得同一个线段方向上只存在一个所述线段起始端点以及一个所述线段终止端点。
在一个实施例中,所述线段集合中包括所述建筑模型对应的围合线段,所述建筑墙体包括剪力墙。
一种建筑墙体生成装置,所述装置包括:
数据获取模块,用于获取待处理建筑模型数据。
接口调用模块,用于调用预设的功能接口,以使得所述功能接口根据上述任意一个实施例中建筑墙体生成方法对所述待处理建筑模型数据进行处理,生成建筑墙体。
关于建筑墙体生成装置的具体限定可以参见上文中对于建筑墙体生成方法的限定,在此不再赘述。上述建筑墙体生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种建筑墙体生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取建筑模型对应的围合线段,形成线段集合;判断所述线段集合中的各线段之间是否存在交点;当存在交点时,判断所述交点是否为线段端点;当所述交点不是所述线段端点时,以所述交点为分割点将相交的线段进行分割处理,得到分割子线段;根据各所述分割子线段生成建筑墙体。
在一个实施例中,处理器执行计算机程序时还实现遍历所述线段集合,并依次从所述线段集合中提取未处理的当前线段,并将线段集合中的剩余线段作为待比较线段;获取所述当前线段对应的当前方向;确定所述待比较线段对应的待比较方向;根据所述当前方向与所述待比较方向之间的方向关系,确定所述线段集合中的所述待比较线段与所述当前线段之间是否存在交点。
在一个实施例中,处理器执行计算机程序时还实现获取预先确定的参考方向;确定所述参考方向与所述当前方向对应的当前向量积,以及所述当前向量积对应的当前向量积方向;基于所述线段集合中的所述待比较线段对应的待比较方向与所述当前向量积方向的方向关系,确定所述线段集合中的待比较线段与所述当前线段之间是否存在交点。
在一个实施例中,处理器执行计算机程序时还实现依次从所述线段集合中提取待比较线段,并获取所述待比较线段对应的待比较方向;将所述待比较方向与所述当前向量积方向所在的延伸方向进行比对,所述延伸方向包括当前向量积的正向延伸方向以及负向延伸方向;当比对一致时,确定所述待比较线段与所述当前线段之间存在交点;否则,确定所述待比较线段与所述当前线段之间不存在交点。
在一个实施例中,处理器执行计算机程序时还实现获取所述线段集合中各线段对应的线段方向,以及各所述线段对应的线段端点,所述线段端点中包括线段起始端点以及线段终止端点;将所述线段方向一致,且所述线段起始端点以及所述线段终止端点中至少一个存在重合的线段端点进行去重处理,使得同一个线段方向上只存在一个所述线段起始端点以及一个所述线段终止端点。
在一个实施例中,所述线段集合中包括所述建筑模型对应的围合线段,所述建筑墙体包括剪力墙。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取待处理建筑模型数据;调用预设的功能接口,以使得所述功能接口根据上述任意一个实施例中的建筑墙体生成方法对待处理建筑模型数据进行处理,生成建筑墙体。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取建筑模型对应的围合线段,形成线段集合;判断所述线段集合中的各线段之间是否存在交点;当存在交点时,判断所述交点是否为线段端点;当所述交点不是所述线段端点时,以所述交点为分割点将相交的线段进行分割处理,得到分割子线段;根据各所述分割子线段生成建筑墙体。
在一个实施例中,计算机程序被处理器执行时还实现遍历所述线段集合,并依次从所述线段集合中提取未处理的当前线段,并将线段集合中的剩余线段作为待比较线段;获取所述当前线段对应的当前方向;确定所述待比较线段对应的待比较方向;根据所述当前方向与所述待比较方向之间的方向关系,确定所述线段集合中的所述待比较线段与所述当前线段之间是否存在交点。
在一个实施例中,计算机程序被处理器执行时还实现获取预先确定的参考方向;确定所述参考方向与所述当前方向对应的当前向量积,以及所述当前向量积对应的当前向量积方向;基于所述线段集合中的所述待比较线段对应的待比较方向与所述当前向量积方向的方向关系,确定所述线段集合中的待比较线段与所述当前线段之间是否存在交点。
在一个实施例中,计算机程序被处理器执行时还实现依次从所述线段集合中提取待比较线段,并获取所述待比较线段对应的待比较方向;将所述待比较方向与所述当前向量积方向所在的延伸方向进行比对,所述延伸方向包括当前向量积的正向延伸方向以及负向延伸方向;当比对一致时,确定所述待比较线段与所述当前线段之间存在交点;否则,确定所述待比较线段与所述当前线段之间不存在交点。
在一个实施例中,计算机程序被处理器执行时还实现获取所述线段集合中各线段对应的线段方向,以及各所述线段对应的线段端点,所述线段端点中包括线段起始端点以及线段终止端点;将所述线段方向一致,且所述线段起始端点以及所述线段终止端点中至少一个存在重合的线段端点进行去重处理,使得同一个线段方向上只存在一个所述线段起始端点以及一个所述线段终止端点。
在一个实施例中,所述线段集合中包括所述建筑模型对应的围合线段,所述建筑墙体包括剪力墙。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待处理建筑模型数据;调用预设的功能接口,以使得所述功能接口根据上述任意一个实施例中的建筑墙体生成方法对待处理建筑模型数据进行处理,生成建筑墙体。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种建筑墙体生成方法,其特征在于,所述方法包括:
获取建筑模型对应的围合线段,形成线段集合;
判断所述线段集合中的各线段之间是否存在交点;
当存在交点时,判断所述交点是否为线段端点;
当所述交点不是所述线段端点时,以所述交点为分割点将相交的线段进行分割处理,得到分割子线段;
根据各所述分割子线段生成建筑墙体;
所述判断所述线段集合中的各线段之间是否存在交点,包括:
遍历所述线段集合,并依次从所述线段集合中提取未处理的当前线段,并将所述线段集合中的剩余线段作为待比较线段;
获取所述当前线段对应的当前方向;
确定所述待比较线段对应的待比较方向;
根据所述当前方向与所述待比较方向之间的方向关系,确定所述线段集合中的所述待比较线段与所述当前线段之间是否存在交点。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前方向与所述待比较方向之间的方向关系,确定所述线段集合中的所述待比较线段与所述当前线段之间是否存在交点,包括:
获取预先确定的参考方向;
确定所述参考方向与所述当前方向对应的当前向量积,以及所述当前向量积对应的当前向量积方向;
基于所述线段集合中的所述待比较线段对应的待比较方向与所述当前向量积方向的方向关系,确定所述线段集合中的待比较线段与所述当前线段之间是否存在交点。
3.根据权利要求2所述的方法,其特征在于,所述基于所述线段集合中的所述待比较线段对应的待比较方向与所述当前向量积方向的方向关系,确定所述线段集合中的待比较线段与所述当前线段之间是否存在交点,包括:
依次从所述线段集合中提取待比较线段,并获取所述待比较线段对应的待比较方向;
将所述待比较方向与所述当前向量积方向所在的延伸方向进行比对,所述延伸方向包括当前向量积的正向延伸方向以及负向延伸方向;
当比对一致时,确定所述待比较线段与所述当前线段之间存在交点;
否则,确定所述待比较线段与所述当前线段之间不存在交点。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述线段集合中各线段对应的线段方向,以及各所述线段对应的线段端点,所述线段端点中包括线段起始端点以及线段终止端点;
将所述线段方向一致,且所述线段起始端点以及所述线段终止端点中至少一个存在重合的线段端点进行去重处理,使得同一个线段方向上只存在一个所述线段起始端点以及一个所述线段终止端点。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述方法还包括:
所述线段集合中包括所述建筑模型对应的围合线段,所述建筑墙体包括剪力墙。
6.一种建筑墙体生成方法,其特征在于,所述方法还包括:
获取待处理建筑模型数据;
调用预设的功能接口,以使得所述功能接口根据权利要求1至5中任意一项所述的建筑墙体生成方法对所述待处理建筑模型数据进行处理,生成建筑墙体。
7.一种建筑墙体生成装置,其特征在于,所述装置包括:
获取模块,用于获取建筑模型对应的围合线段,形成线段集合;
第一判断模块,用于判断所述线段集合中的各线段之间是否存在交点;
第二判断模块,用于当存在交点时,判断所述交点是否为线段端点;
分割模块,用于当所述交点不是所述线段端点时,以所述交点为分割点将相交的线段进行分割处理,得到分割子线段;
生成模块,用于根据各所述分割子线段生成建筑墙体;
所述第一判断模块还用于遍历所述线段集合,并依次从所述线段集合中提取未处理的当前线段,并将所述线段集合中的剩余线段作为待比较线段;获取所述当前线段对应的当前方向;确定所述待比较线段对应的待比较方向;根据所述当前方向与所述待比较方向之间的方向关系,确定所述线段集合中的所述待比较线段与所述当前线段之间是否存在交点。
8.根据权利要求7所述的装置,其特征在于,所述第一判断模块还用于获取预先确定的参考方向;确定所述参考方向与所述当前方向对应的当前向量积,以及所述当前向量积对应的当前向量积方向;基于所述线段集合中的所述待比较线段对应的待比较方向与所述当前向量积方向的方向关系,确定所述线段集合中的待比较线段与所述当前线段之间是否存在交点。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5或6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5或6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011062841.7A CN112287430B (zh) | 2020-09-30 | 2020-09-30 | 建筑墙体生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011062841.7A CN112287430B (zh) | 2020-09-30 | 2020-09-30 | 建筑墙体生成方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112287430A CN112287430A (zh) | 2021-01-29 |
CN112287430B true CN112287430B (zh) | 2022-06-28 |
Family
ID=74421740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011062841.7A Active CN112287430B (zh) | 2020-09-30 | 2020-09-30 | 建筑墙体生成方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112287430B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112991492B (zh) * | 2021-05-18 | 2021-08-10 | 久瓴(江苏)数字智能科技有限公司 | 曲面幕墙生成方法、装置、计算机设备及可读存储介质 |
CN114193635B (zh) * | 2021-12-23 | 2024-03-12 | 国泰新点软件股份有限公司 | 建筑工程中梁的切割方法及装置 |
CN114332428B (zh) * | 2021-12-30 | 2022-08-26 | 北京发现角科技有限公司 | 虚拟房屋房间分割效果的实现方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287429A (zh) * | 2020-09-30 | 2021-01-29 | 久瓴(江苏)数字智能科技有限公司 | 建筑物目标区域确定方法、装置、计算机设备和存储介质 |
CN112287432A (zh) * | 2020-09-30 | 2021-01-29 | 久瓴(江苏)数字智能科技有限公司 | 目标区域获取方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180307934A1 (en) * | 2017-04-25 | 2018-10-25 | Spatial Corporation | Highly parallelizable algorithm for detecting intersections of shapes |
-
2020
- 2020-09-30 CN CN202011062841.7A patent/CN112287430B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287429A (zh) * | 2020-09-30 | 2021-01-29 | 久瓴(江苏)数字智能科技有限公司 | 建筑物目标区域确定方法、装置、计算机设备和存储介质 |
CN112287432A (zh) * | 2020-09-30 | 2021-01-29 | 久瓴(江苏)数字智能科技有限公司 | 目标区域获取方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112287430A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112287430B (zh) | 建筑墙体生成方法、装置、计算机设备和存储介质 | |
CN113010937B (zh) | 构件截面钢筋的参数化建模方法及相关装置 | |
CN112257135A (zh) | 一种基于多线程的模型加载方法、装置、存储介质及终端 | |
CN111124702A (zh) | 性能数据采集方法、装置和计算机可读存储介质 | |
CN107526623B (zh) | 一种数据处理方法及装置 | |
CN111198739A (zh) | 一种应用视图的渲染方法、装置、设备和存储介质 | |
US9117300B2 (en) | Designing a modeled volume represented by dexels | |
CN112287427B (zh) | 建筑墙***置确定方法、装置、计算机设备和存储介质 | |
CN112287429B (zh) | 建筑物目标区域确定方法、装置、计算机设备和存储介质 | |
KR20230163921A (ko) | 목표 대상의 상호작용적 재구성을 위한 제어 방법, 장치, 기기 및 저장 매체 | |
CN109448120B (zh) | 三维建筑模型的处理方法、装置和计算机设备 | |
CN112287432A (zh) | 目标区域获取方法、装置、计算机设备和存储介质 | |
CN111986289A (zh) | 封闭区域的搜索方法、装置及电子设备 | |
CN110826119A (zh) | 信息处理方法、装置、计算机设备及可读存储介质 | |
CN113987652A (zh) | 墙模型的生成方法和装置 | |
CN112287428B (zh) | 建筑墙体生成方法、装置、计算机设备和存储介质 | |
CN112765716A (zh) | 目标钢筋获取方法、装置、设备和介质 | |
CN112287434B (zh) | 建筑线段生成方法、装置、计算机设备和存储介质 | |
CN111125809A (zh) | 建筑钢柱生成方法、装置、计算机设备和存储介质 | |
US20240070360A1 (en) | Simulation system for a cylindrical 3-dimensional semiconductor device using a hybrid mesh and method thereof | |
CN109584335B (zh) | 图形填充方法、装置、计算机设备和存储介质 | |
CN115588019A (zh) | 框选对象确定方法、装置、计算机设备和存储介质 | |
CN115167739B (zh) | 多屏幕显示***的截图方法、装置、设备及存储介质 | |
CN114417449A (zh) | 墙体相交处理方法、装置、计算机设备和存储介质 | |
CN110765513B (zh) | 墙龙骨模型和l型顶导梁模型的连接节点放置方法和产品 |
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 |