CN114782627A - 一种三维模型碰撞检测方法、装置、电子设备及介质 - Google Patents

一种三维模型碰撞检测方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN114782627A
CN114782627A CN202210425176.6A CN202210425176A CN114782627A CN 114782627 A CN114782627 A CN 114782627A CN 202210425176 A CN202210425176 A CN 202210425176A CN 114782627 A CN114782627 A CN 114782627A
Authority
CN
China
Prior art keywords
collision
model
distance
pipeline
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.)
Pending
Application number
CN202210425176.6A
Other languages
English (en)
Inventor
陈成华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tiangong Kaiwu Shenzhen Technology Co ltd
Original Assignee
Tiangong Kaiwu Shenzhen Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tiangong Kaiwu Shenzhen Technology Co ltd filed Critical Tiangong Kaiwu Shenzhen Technology Co ltd
Priority to CN202210425176.6A priority Critical patent/CN114782627A/zh
Publication of CN114782627A publication Critical patent/CN114782627A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Structural Engineering (AREA)
  • Computational Mathematics (AREA)
  • Civil Engineering (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请实施例提供了一种三维模型碰撞检测方法、装置、电子设备及介质,属于BIM技术领域。该方法包括创建一目标三维模型;确定所述目标三维模型中待进行碰撞检测的至少两个碰撞对象;基于碰撞检测算法对所述至少两个碰撞对象进行碰撞检测,得到碰撞点。本申请通过在三维建模软件中建立三维模型后,直接对建立好的模型进行碰撞检测,从而使得无需借助其他三维软件进行碰撞检测,进而较大程度提高了设计师的工作效率。

Description

一种三维模型碰撞检测方法、装置、电子设备及介质
技术领域
本申请涉及BIM技术领域,具体而言,涉及一种三维模型碰撞检测方法、装置、电子设备及介质。
背景技术
建筑信息模型(Building Information Modeling)是建筑学、工程学及土木工程的新技术。是形容那些以三维图形为主、物件导向、建筑学有关的电脑辅助设计,它不仅可以在设计中应用,还可应用于建设工程项目的全寿命周期中;用BIM进行设计属于数字化设计。在BIM模型设计过程中,建筑、机构、机电设计师需要将工作成果定期汇总在一起进行管线综合分析排布,主要是为了在设计阶段实现处理由于管线冲突,或者专业之间的碰撞带来的后期施工问题,以及时在设计阶段的图纸中调整冲突。为施工阶段减少施工变更,减少施工成本,使得设计内容更加精准的反应在图纸上。
然而,在传统的二维图设计当中,通过单一的专业校审很难发现不同专业建筑构件之间的碰撞冲突;而现有的BIM建模软件,虽然也具备碰撞检测功能,但无法满足在单个BIM建模软件上完成建筑信息创建,再进行碰撞检测的工作,往往需要借助另一个BIM软件,通过手动的转换模型数据后,才能更好地完成碰撞检测,这样就很大程度降低了设计师的工作效率。
因此,如何解决上述问题是目前亟需解决的问题。
发明内容
本申请提供一种三维模型碰撞检测方法、装置、电子设备及介质,旨在改善上述问题。
第一方面,本申请提供的一种三维模型碰撞检测方法,该方法包括:创建一目标三维模型;确定所述目标三维模型中待进行碰撞检测的至少两个碰撞对象;基于碰撞检测算法对所述至少两个碰撞对象进行碰撞检测,得到碰撞点。
可以理解的是,本申请通过在三维建模软件中建立三维模型后,直接对建立好的模型进行碰撞检测,从而使得无需借助其他三维软件进行碰撞检测,进而较大程度提高了设计师的工作效率。
在一可能的实施例中,所述确定所述目标三维模型中待进行碰撞检测的至少两个碰撞对象,包括:接收模型显示指令;根据所述模型显示指令将所述目标三维模型拆分为多个模型对象,并显示多个所述模型对象;接收用户基于多个所述模型对象输入的对象确认指令;根据所述对象确认指令从多个所述模型对象中确定出待进行碰撞检测的至少两个碰撞对象。
可以理解的是,在本实施方式中,由于用户在创建好建筑信息模型后,只需进行检测对象的确定,即可开始碰撞检测,从而可以实现碰撞检测操作更加方便快捷,可以进一步提高设计师的工作效率。
在一可能的实施例中,所述至少两个碰撞对象包括第一碰撞对象和第二碰撞对象,所述第一碰撞对象包括第一模型构件,所述第二碰撞对象包括第二模型构件,所述基于碰撞检测算法对所述至少两个碰撞对象进行碰撞检测,得到碰撞点,包括:确定所述第一模型构件与所述第二模型构件是否属于同一类型;若否,基于第一碰撞检测算法对所述第一模型构件与所述第二模型构件进行碰撞检测,得到碰撞点;若属于同一类型,确定所述第一模型构件所对应的模型外框与所述第二模型构件所对应的模型外框是否存在交叉重叠;若是,将所述第一模型构件与所述第二模型构件作为待定碰撞点;基于第二碰撞检测算法确定所述待定碰撞点是否为碰撞点。
可以理解的是,由于针对建筑构件的不同类型,设计了不同的碰撞点计算方案,以便于对碰撞点进行全面的检测,使碰撞点在设计阶段全部检测出来,便于辅助设计师优化设计方案,提高设计方案的可靠性。
在一可能的实施例中,所述基于第一碰撞检测算法对所述第一模型构件与所述第二模型构件进行碰撞检测,得到碰撞点,包括:在确定所述第一模型构件为建筑构件,所述第二模型构件为管道时,获取所述管道的管道中心线与所述建筑构件的中心平面;确定所述管道中心线与所述建筑构件的中心平面是否平行;若平行,计算所述管道中心线到所述建筑构件的第一表面的第一平均距离及所述管道中心线到所述管道的管道边缘的第二平均距离;若所述第一平均距离大于所述第二平均距离,判定所述第一模型构件与所述第二模型构件无碰撞;若所述第一平均距离小于所述第二平均距离,判定所述第一模型构件与所述第二模型构件碰撞,得到碰撞点。
可以理解的是,通过建筑构件的相对位置对不同建筑构件进行碰撞检测,可以提高碰撞点在设计阶段全部检测出来的概率,便于辅助设计师优化设计方案,提高设计方案的可靠性。
在一可能的实施例中,所述方法还包括:当所述管道中心线与所述建筑构件的中心平面不平行时,判断所述管道中心线是否在所述建筑构件的三维空间内;若不在,则判定为无碰撞;若所述管道中心线在所述建筑构件的三维空间内,判断所述管道中心线的起点和终点是否位于所述建筑构件的中心平面的两侧;若所述管道中心线的起点和终点分布在所述建筑构件的中心平面的两侧,则判定所述第一模型构件与所述第二模型构件碰撞,得到碰撞点;若所述管道中心线的起点和终点分布在所述建筑构件的中心平面的同一侧,则判定为无碰撞。
在一可能的实施例中,基于第二碰撞检测算法确定所述待定碰撞点是否为碰撞点,包括:根据模型的建筑信息识别所述第一模型构件与所述第二模型构件是否为管道与管道间的碰撞检测;若是,确定所述第一模型构件的第一管道中心线与所述第二模型构件的第二管道中心线是否平行;若平行,分别计算所述第一管道中心线到所述第一模型构件的管道边缘的第一距离、所述第二管道中心线到所述第二模型构件的管道边缘的第二距离、所述第一管道中心线与所述第二管道中心线之间的第三距离;确定所述第一距离与所述第二距离之和是否大于所述第三距离;若小于所述第三距离,确定所述待定碰撞点非碰撞点;若大于所述第三距离,确定所述待定碰撞点为碰撞点。
可以理解的是,通过对同类型的建筑构件的相对位置对不同建筑构件进行碰撞检测,可以提高碰撞点在设计阶段全部检测出来的概率,便于辅助设计师优化设计方案,提高设计方案的可靠性。
在一可能的实施例中,所述方法还包括:若所述第一模型构件的第一管道中心线与所述第二模型构件的第二管道中心线不平行,确定在所述第二管道中心线上是否存在所述第一管道中心线的延长线的第一交点;若存在所示第一交点,确定所述第一管道中心线的延长线在所述第一模型构件内的第二交点;分别计算所述第一交点至所述第一模型构件的管道边缘的第四距离、所述第二交点至所述第二模型构件的管道边缘的第五距离以及所述第一交点与所述第二交点之间的第六距离;确定所述第四距离与所述第五距离之和是否大于所述第六距离;若小于所述第六距离,确定所述待定碰撞点非碰撞点;若大于所述第六距离,确定所述待定碰撞点为碰撞点。
第二方面,本申请提供的一种三维模型碰撞检测装置,所述装置包括:模型创建单元,用于创建一目标三维模型;碰撞对象确定单元,用于确定所述目标三维模型中待进行碰撞检测的至少两个碰撞对象;碰撞检测单元,用于基于碰撞检测算法对所述至少两个碰撞对象进行碰撞检测,得到碰撞点。
此外,第二方面所述的三维模型碰撞检测装置的技术效果可以参考第一方面所述的三维模型碰撞检测方法的技术效果,此处不再赘述。
第三方面,本申请提供一种电子设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现如第一方面任一项所述的三维模型碰撞检测方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理设备运行时执行如第一方面的任一项所述的三维模型碰撞检测方法的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种电子设备的结构示意图;
图2为本申请实施例提供的一种三维模型碰撞检测方法的流程图;
图3为图2所示的一种三维模型碰撞检测方法中的碰撞检测示例图;
图4为图2所示的一种三维模型碰撞检测方法中的另一碰撞检测示例图;
图5a为图2所示的一种三维模型碰撞检测方法中的另一碰撞检测示例图;
图5b为图2所示的一种三维模型碰撞检测方法中的另一碰撞检测示例图;
图6为图2所示的一种三维模型碰撞检测方法中的另一碰撞检测示例图;
图7为本申请实施例提供的一种三维模型碰撞检测装置的功能模块示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例
图1为本申请实施例提供的一种电子设备的结构示意图,在本申请中可以通过图1所示的示意图来描述用于实现本申请实施例的三维模型碰撞检测方法及装置示例的电子设备100。
如图1所示的一种电子设备的结构示意图,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108,这些组件通过总线系统和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备可以具有图1示出的部分组件,也可以具有图1未示出的其他组件和结构。
所述处理器102可以是中央处理单元(CPU)或者具有三维模型碰撞检测能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
应理解,在本申请实施例中的处理器102可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质。
应理解,本申请实施例中的存储装置104可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
其中,在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本申请实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
示例性的,图2示出了一种三维模型碰撞检测方法,该三维模型碰撞检测方法具体包括如下步骤:
步骤S201,创建一目标三维模型。
其中,该目标三维模型的具体模型可以根据用户需求进行创建,在此,不作具体限定。
可以理解的是,在本申请中,用户(或设计师)可以利用执行该三维模型碰撞检测方法的三维建模软件直接创建三维模型。
步骤S203,确定所述目标三维模型中待进行碰撞检测的至少两个碰撞对象。
应理解,步骤S203的执行与步骤S201的执行属于同一环境。
作为一种实施方式,步骤S203,包括:接收模型显示指令;根据所述模型显示指令将所述目标三维模型拆分为多个模型对象,并显示多个所述模型对象;接收用户基于多个所述模型对象输入的对象确认指令;根据所述对象确认指令从多个所述模型对象中确定出待进行碰撞检测的至少两个碰撞对象。
其中,模型显示指令为用户通过三维建模软件的操作界面输入的。例如通过点击该操作界面生成模型显示指令。
应理解,一个目标三维模型至少由多个模型对象构成。
举例来说,当设计师创建好三维模型后,基于该三维建模软件的操作界面,输入模型显示指令,三维建模软件在收到模型显示指令后,根据所述模型显示指令将所述目标三维模型拆分为多个模型对象,并显示多个所述模型对象;此时,设计师可以从显示的多个模型对象中选择两个对象作为碰撞检测的碰撞对象(如通过单击或双击(即对象确认指令)的方式选中模型对象,被选中的模型对象即为碰撞对象)。
可以理解的是,在本实施例方式中,利用可视化的方式,可以使得设计师可以根据需求进行选取碰撞对象,使得设计师无需回忆其所创建的目标三维模型中的模型对象的名称或类型,可以直接通过所显示的模型对象进行简单的选择即可确定碰撞对象,可以简化设计师的操作,提高设计师的工作效率。
也就是说,在本申请中,设计师在创建好建筑信息模型后,只需进行检测对象的简单设置,即可进入碰撞检测,无需进行数据格式的转换和借助其他软件。
步骤S205,基于碰撞检测算法对所述至少两个碰撞对象进行碰撞检测,得到碰撞点。
作为一种实施方式,所述至少两个碰撞对象包括第一碰撞对象和第二碰撞对象,所述第一碰撞对象包括第一模型构件,所述第二碰撞对象包括第二模型构件,步骤S205,包括:确定所述第一模型构件与所述第二模型构件是否属于同一类型;若否,基于第一碰撞检测算法对所述第一模型构件与所述第二模型构件进行碰撞检测,得到碰撞点;若属于同一类型,确定所述第一模型构件所对应的模型外框与所述第二模型构件所对应的模型外框是否存在交叉重叠;若是,将所述第一模型构件与所述第二模型构件作为待定碰撞点;基于第二碰撞检测算法确定所述待定碰撞点是否为碰撞点。
在上述实现方式中,由于针对建筑构件的不同类型,设计了不同的碰撞点计算方案,以便于对碰撞点进行全面的检测,使碰撞点在设计阶段全部检测出来,便于辅助设计师优化设计方案,提高设计方案的可靠性。
可选地,所述基于第一碰撞检测算法对所述第一模型构件与所述第二模型构件进行碰撞检测,得到碰撞点,包括:在确定所述第一模型构件为建筑构件,所述第二模型构件为管道时,获取所述管道的管道中心线与所述建筑构件的中心平面;确定所述管道中心线与所述建筑构件的中心平面是否平行;若平行,计算所述管道中心线到所述建筑构件的第一表面的第一平均距离及所述管道中心线到所述管道的管道边缘的第二平均距离;若所述第一平均距离大于所述第二平均距离,判定所述第一模型构件与所述第二模型构件无碰撞;若所述第一平均距离小于所述第二平均距离,判定所述第一模型构件与所述第二模型构件碰撞,得到碰撞点。
需要说明的是,第一表面是指建筑构件距离管道最短的一个面。
举例来说,如图3所示,假设建筑构件为楼板,管道为风管,先以风管1为例。获取风管1的管道中心线与楼板的中心平面;确定风管1的管道中心线与楼板的中心平面是否平行;若平行,计算风管1的管道中心线到楼板的第一表面的第一平均距离及风管1的管道中心线到风管1的管道边缘的第二平均距离;若所述第一平均距离大于所述第二平均距离,判定风管1与楼板无碰撞;若所述第一平均距离小于所述第二平均距离,判定风管1与楼板碰撞(即图3中风管2与楼板碰撞),得到碰撞点。
需要说明的是,图3中的风管2为风管1在不同位置下的标记,而非不同的风管。
应理解,图3仅为示例,而非限定。
可选地,当所述管道中心线与所述建筑构件的中心平面不平行时,判断所述管道中心线是否在所述建筑构件的三维空间内;若不在,则判定为无碰撞;若所述管道中心线在所述建筑构件的三维空间内,判断所述管道中心线的起点和终点是否位于所述建筑构件的中心平面的两侧;若所述管道中心线的起点和终点分布在所述建筑构件的中心平面的两侧,则判定所述第一模型构件与所述第二模型构件碰撞,得到碰撞点;若所述管道中心线的起点和终点分布在所述建筑构件的中心平面的同一侧,则判定为无碰撞。
举例来说,如图4所示,在所述管道中心线与所述建筑构件的中心平面不平行时,判断风管1的管道中心线是否在楼板的三维空间内;若不在,则判定为无碰撞(即风管1与楼板不碰撞);若风管1的管道中心线在楼板的三维空间内,判断风管1的管道中心线的起点和终点是否位于楼板的中心平面的两侧;若风管1的管道中心线的起点和终点分布在楼板的中心平面的两侧(如图4中的风管2),则判定所述第一模型构件与所述第二模型构件碰撞(即风管2与楼板碰撞),得到碰撞点;若风管1的管道中心线的起点和终点分布在楼板的中心平面的同一侧,则判定为无碰撞(即图4中的风管3与楼板不碰撞)。
需要说明的是,图4中的风管2、风管3分别为风管1在不同位置下的标记,而非不同的风管。
应理解,图4仅为示例,而非限定。
可以理解的是,通过建筑构件的相对位置对不同建筑构件进行碰撞检测,可以提高碰撞点在设计阶段全部检测出来的概率,便于辅助设计师优化设计方案,提高设计方案的可靠性。
可选地,基于第二碰撞检测算法确定所述待定碰撞点是否为碰撞点,包括:根据模型的建筑信息识别所述第一模型构件与所述第二模型构件是否为管道与管道间的碰撞检测;若是,确定所述第一模型构件的第一管道中心线与所述第二模型构件的第二管道中心线是否平行;若平行,分别计算所述第一管道中心线到所述第一模型构件的管道边缘的第一距离、所述第二管道中心线到所述第二模型构件的管道边缘的第二距离、所述第一管道中心线与所述第二管道中心线之间的第三距离;确定所述第一距离与所述第二距离之和是否大于所述第三距离;若小于所述第三距离,确定所述待定碰撞点非碰撞点;若大于所述第三距离,确定所述待定碰撞点为碰撞点。
举例来说,如图5a和图5b所示,由于box1与box2属于同一类型,而第一模型构件的模型外框box1与第二模型构件的模型外框box2存在交叉重叠;则记为待定碰撞点。进一步地,在确定为待定碰撞点之后,当第一模型构件与所述第二模型构件为管道与管道间的碰撞检测,确定所述第一模型构件的第一管道中心线与所述第二模型构件的第二管道中心线是否平行;若平行,分别计算所述第一管道中心线到所述第一模型构件的管道边缘的第一距离A1、所述第二管道中心线到所述第二模型构件的管道边缘的第二距离A2、所述第一管道中心线与所述第二管道中心线之间的第三距离B;确定所述第一距离A1与所述第二距离A2之和是否大于所述第三距离B;若小于所述第三距离B,确定所述待定碰撞点非碰撞点;若大于所述第三距离B,确定所述待定碰撞点为碰撞点。
应理解,图5a和图5b仅为示例,而非限定。
可以理解的是,通过对同类型的建筑构件的相对位置对不同建筑构件进行碰撞检测,可以提高碰撞点在设计阶段全部检测出来的概率,便于辅助设计师优化设计方案,提高设计方案的可靠性。
在一可能的实施例中,所述方法还包括:若所述第一模型构件的第一管道中心线与所述第二模型构件的第二管道中心线不平行,确定在所述第二管道中心线上是否存在所述第一管道中心线的延长线的第一交点;若存在所示第一交点,确定所述第一管道中心线的延长线在所述第一模型构件内的第二交点;分别计算所述第一交点至所述第一模型构件的管道边缘的第四距离、所述第二交点至所述第二模型构件的管道边缘的第五距离以及所述第一交点与所述第二交点之间的第六距离;确定所述第四距离与所述第五距离之和是否大于所述第六距离;若小于所述第六距离,确定所述待定碰撞点非碰撞点;若大于所述第六距离,确定所述待定碰撞点为碰撞点。
可选地,分别计算所述第一交点至所述第一模型构件的管道边缘的第四距离、所述第二交点至所述第二模型构件的管道边缘的第五距离以及所述第一交点与所述第二交点之间的第六距离,包括:
当存在多个第一交点时,确定多个第一交点中与第二交点距离最短的第一交点为目标第一交点;
分别计算目标第一交点至所述第一模型构件的管道边缘的第四距离、所述第二交点至所述第二模型构件的管道边缘的第五距离以及目标第一交点与所述第二交点之间的第六距离。
举例来说,如图6所示,此时所述第一模型构件的第一管道中心线与所述第二模型构件的第二管道中心线不平行(即风管B与风管A的管道中心线不平行)。由于风管B的第一管道中心线的延长线与风管A的第二管道中心线的交点位于第二管道中心线上,即存在第一交点(即图上的交点A1、交点A2);若存在所示第一交点,确定所述第一管道中心线的延长线在所述第一模型构件内的第二交点(即交点B);当存在多个第一交点时,确定多个第一交点中与第二交点距离最短的第一交点为目标第一交点(即图上的A1为目标第一交点);分别计算交点A1至所述第一模型构件的管道边缘的第四距离、交点B至所述第二模型构件的管道边缘的第五距离以及交点A1与交点B之间的第六距离;确定所述第四距离与所述第五距离之和是否大于所述第六距离;若小于所述第六距离,确定所述待定碰撞点非碰撞点;若大于所述第六距离,确定所述待定碰撞点为碰撞点。
应理解,图6仅为示例,而非限定。
在一可能的实施例中,在步骤S205之后,该三维模型碰撞检测方法还包括:
确定所述碰撞点的三维坐标。
可选地,确定所述碰撞点的三维坐标,包括:
确定第一模型构件与第二模型构件的相交区域;
随机从所述相交区域内取一个点的三维坐标,作为所述碰撞点的三维坐标。
在一可能的实施例中,在确定所述碰撞点的三维坐标之后,该三维模型碰撞检测方法还包括:
获取用户输入的定位指令;
根据所述定位指令将视图窗口转换至所述碰撞点所在位置,并将所述碰撞点所在位置放大后进行显示,同时用红色圆圈标记所述碰撞点。
可以理解的是,通过碰撞点的标记及定位能帮助用户快速找到和识别出碰撞点,在大型综合体建筑项目中,能大大提升设计师用户的绘图效率。
在一可能的实施例中,在步骤S205之后,该三维模型碰撞检测方法还包括:
生成数据文件,所述数据文件用于记录不同碰撞对象之间的碰撞点,针对每条碰撞记录,添加碰撞点处理的状态记录。
可选地,所述数据文件可以以html(超文本标记语言)的文件格式导出为本地文件,数据文件记录碰撞点的类型、三维坐标、状态和预览图,以供用户查看、方案汇报和数据归档。
可以理解的是,本申请通过碰撞点状态记录帮助设计师实现对碰撞点的管理,在碰撞点量大的时候,起到了很好的记录作用;另外数据文件的导出,可以使得使设计方案出现的问题具有可追溯性。
示例性的,图7示出了一种三维模型碰撞检测装置,该三维模型碰撞检测装置500包括:
模型创建单元510,用于创建一目标三维模型;
碰撞对象确定单元520,用于确定所述目标三维模型中待进行碰撞检测的至少两个碰撞对象;
碰撞检测单元530,用于基于碰撞检测算法对所述至少两个碰撞对象进行碰撞检测,得到碰撞点。
在一可能的实施例中,碰撞对象确定单元520,具体用于:接收模型显示指令;根据所述模型显示指令将所述目标三维模型拆分为多个模型对象,并显示多个所述模型对象;接收用户基于多个所述模型对象输入的对象确认指令;根据所述对象确认指令从多个所述模型对象中确定出待进行碰撞检测的至少两个碰撞对象。
在一可能的实施例中,所述至少两个碰撞对象包括第一碰撞对象和第二碰撞对象,所述第一碰撞对象包括第一模型构件,所述第二碰撞对象包括第二模型构件。此时,碰撞检测单元530,具体用于:确定所述第一模型构件与所述第二模型构件是否属于同一类型;若否,基于第一碰撞检测算法对所述第一模型构件与所述第二模型构件进行碰撞检测,得到碰撞点;若属于同一类型,确定所述第一模型构件所对应的模型外框与所述第二模型构件所对应的模型外框是否存在交叉重叠;若是,将所述第一模型构件与所述第二模型构件作为待定碰撞点;基于第二碰撞检测算法确定所述待定碰撞点是否为碰撞点。
可选地,所述基于第一碰撞检测算法对所述第一模型构件与所述第二模型构件进行碰撞检测,得到碰撞点,包括:在确定所述第一模型构件为建筑构件,所述第二模型构件为管道时,获取所述管道的管道中心线与所述建筑构件的中心平面;确定所述管道中心线与所述建筑构件的中心平面是否平行;若平行,计算所述管道中心线到所述建筑构件的第一表面的第一平均距离及所述管道中心线到所述管道的管道边缘的第二平均距离;若所述第一平均距离大于所述第二平均距离,判定所述第一模型构件与所述第二模型构件无碰撞;若所述第一平均距离小于所述第二平均距离,判定所述第一模型构件与所述第二模型构件碰撞,得到碰撞点。
当所述管道中心线与所述建筑构件的中心平面不平行时,判断所述管道中心线是否在所述建筑构件的三维空间内;若不在,则判定为无碰撞;若所述管道中心线在所述建筑构件的三维空间内,判断所述管道中心线的起点和终点是否位于所述建筑构件的中心平面的两侧;若所述管道中心线的起点和终点分布在所述建筑构件的中心平面的两侧,则判定所述第一模型构件与所述第二模型构件碰撞,得到碰撞点;若所述管道中心线的起点和终点分布在所述建筑构件的中心平面的同一侧,则判定为无碰撞。
可选地,基于第二碰撞检测算法确定所述待定碰撞点是否为碰撞点,包括:根据模型的建筑信息识别所述第一模型构件与所述第二模型构件是否为管道与管道间的碰撞检测;若是,确定所述第一模型构件的第一管道中心线与所述第二模型构件的第二管道中心线是否平行;若平行,分别计算所述第一管道中心线到所述第一模型构件的管道边缘的第一距离、所述第二管道中心线到所述第二模型构件的管道边缘的第二距离、所述第一管道中心线与所述第二管道中心线之间的第三距离;确定所述第一距离与所述第二距离之和是否大于所述第三距离;若小于所述第三距离,确定所述待定碰撞点非碰撞点;若大于所述第三距离,确定所述待定碰撞点为碰撞点。
若所述第一模型构件的第一管道中心线与所述第二模型构件的第二管道中心线不平行,确定在所述第二管道中心线上是否存在所述第一管道中心线的延长线的第一交点;若存在所示第一交点,确定所述第一管道中心线的延长线在所述第一模型构件内的第二交点;分别计算所述第一交点至所述第一模型构件的管道边缘的第四距离、所述第二交点至所述第二模型构件的管道边缘的第五距离以及所述第一交点与所述第二交点之间的第六距离;确定所述第四距离与所述第五距离之和是否大于所述第六距离;若小于所述第六距离,确定所述待定碰撞点非碰撞点;若大于所述第六距离,确定所述待定碰撞点为碰撞点。
此外,上述三维模型碰撞检测装置500的技术效果可以参考上述三维模型碰撞检测方法的技术效果,此处不再赘述。
进一步,本实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理设备运行时执行上述实施例提供的任一项三维模型碰撞检测方法的步骤。
本申请实施例所提供的一种三维模型碰撞检测方法、装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
需要说明的是,上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

Claims (10)

1.一种三维模型碰撞检测方法,其特征在于,所述方法包括:
创建一目标三维模型;
确定所述目标三维模型中待进行碰撞检测的至少两个碰撞对象;
基于碰撞检测算法对所述至少两个碰撞对象进行碰撞检测,得到碰撞点。
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标三维模型中待进行碰撞检测的至少两个碰撞对象,包括:
接收模型显示指令;
根据所述模型显示指令将所述目标三维模型拆分为多个模型对象,并显示多个所述模型对象;
接收用户基于多个所述模型对象输入的对象确认指令;
根据所述对象确认指令从多个所述模型对象中确定出待进行碰撞检测的至少两个碰撞对象。
3.根据权利要求1所述的方法,其特征在于,所述至少两个碰撞对象包括第一碰撞对象和第二碰撞对象,所述第一碰撞对象包括第一模型构件,所述第二碰撞对象包括第二模型构件,所述基于碰撞检测算法对所述至少两个碰撞对象进行碰撞检测,得到碰撞点,包括:
确定所述第一模型构件与所述第二模型构件是否属于同一类型;
若否,基于第一碰撞检测算法对所述第一模型构件与所述第二模型构件进行碰撞检测,得到碰撞点;
若属于同一类型,确定所述第一模型构件所对应的模型外框与所述第二模型构件所对应的模型外框是否存在交叉重叠;
若是,将所述第一模型构件与所述第二模型构件作为待定碰撞点;
基于第二碰撞检测算法确定所述待定碰撞点是否为碰撞点。
4.根据权利要求3所述的方法,其特征在于,所述基于第一碰撞检测算法对所述第一模型构件与所述第二模型构件进行碰撞检测,得到碰撞点,包括:
在确定所述第一模型构件为建筑构件,所述第二模型构件为管道时,获取所述管道的管道中心线与所述建筑构件的中心平面;
确定所述管道中心线与所述建筑构件的中心平面是否平行;
若平行,计算所述管道中心线到所述建筑构件的第一表面的第一平均距离及所述管道中心线到所述管道的管道边缘的第二平均距离;
若所述第一平均距离大于所述第二平均距离,判定所述第一模型构件与所述第二模型构件无碰撞;
若所述第一平均距离小于所述第二平均距离,判定所述第一模型构件与所述第二模型构件碰撞,得到碰撞点。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述管道中心线与所述建筑构件的中心平面不平行时,判断所述管道中心线是否在所述建筑构件的三维空间内;
若不在,则判定为无碰撞;
若所述管道中心线在所述建筑构件的三维空间内,判断所述管道中心线的起点和终点是否位于所述建筑构件的中心平面的两侧;
若所述管道中心线的起点和终点分布在所述建筑构件的中心平面的两侧,则判定所述第一模型构件与所述第二模型构件碰撞,得到碰撞点;
若所述管道中心线的起点和终点分布在所述建筑构件的中心平面的同一侧,则判定为无碰撞。
6.根据权利要求3所述的方法,其特征在于,基于第二碰撞检测算法确定所述待定碰撞点是否为碰撞点,包括:
根据模型的建筑信息识别所述第一模型构件与所述第二模型构件是否为管道与管道间的碰撞检测;
若是,确定所述第一模型构件的第一管道中心线与所述第二模型构件的第二管道中心线是否平行;
若平行,分别计算所述第一管道中心线到所述第一模型构件的管道边缘的第一距离、所述第二管道中心线到所述第二模型构件的管道边缘的第二距离、所述第一管道中心线与所述第二管道中心线之间的第三距离;
确定所述第一距离与所述第二距离之和是否大于所述第三距离;
若小于所述第三距离,确定所述待定碰撞点非碰撞点;
若大于所述第三距离,确定所述待定碰撞点为碰撞点。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述第一模型构件的第一管道中心线与所述第二模型构件的第二管道中心线不平行,确定在所述第二管道中心线上是否存在所述第一管道中心线的延长线的第一交点;
若存在所示第一交点,确定所述第一管道中心线的延长线在所述第一模型构件内的第二交点;
分别计算所述第一交点至所述第一模型构件的管道边缘的第四距离、所述第二交点至所述第二模型构件的管道边缘的第五距离以及所述第一交点与所述第二交点之间的第六距离;
确定所述第四距离与所述第五距离之和是否大于所述第六距离;
若小于所述第六距离,确定所述待定碰撞点非碰撞点;
若大于所述第六距离,确定所述待定碰撞点为碰撞点。
8.一种三维模型碰撞检测装置,其特征在于,所述装置包括:
模型创建单元,用于创建一目标三维模型;
碰撞对象确定单元,用于确定所述目标三维模型中待进行碰撞检测的至少两个碰撞对象;
碰撞检测单元,用于基于碰撞检测算法对所述至少两个碰撞对象进行碰撞检测,得到碰撞点。
9.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现如权利要求1至7任一项所述的三维模型碰撞检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理设备运行时执行如权利要求1-7的任一项所述的三维模型碰撞检测方法的步骤。
CN202210425176.6A 2022-04-22 2022-04-22 一种三维模型碰撞检测方法、装置、电子设备及介质 Pending CN114782627A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210425176.6A CN114782627A (zh) 2022-04-22 2022-04-22 一种三维模型碰撞检测方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210425176.6A CN114782627A (zh) 2022-04-22 2022-04-22 一种三维模型碰撞检测方法、装置、电子设备及介质

Publications (1)

Publication Number Publication Date
CN114782627A true CN114782627A (zh) 2022-07-22

Family

ID=82430411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210425176.6A Pending CN114782627A (zh) 2022-04-22 2022-04-22 一种三维模型碰撞检测方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN114782627A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115964788A (zh) * 2022-12-28 2023-04-14 深圳市胜德建筑科技有限公司 基于bim模型的建筑结构碰撞修正方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115964788A (zh) * 2022-12-28 2023-04-14 深圳市胜德建筑科技有限公司 基于bim模型的建筑结构碰撞修正方法及装置

Similar Documents

Publication Publication Date Title
Son et al. Automated schedule updates using as-built data and a 4D building information model
JP4891817B2 (ja) 設計ルール管理方法、設計ルール管理プログラム、ルール構築装置およびルールチェック装置
CN107358401B (zh) 建筑项目的智能管理系统/方法、可读存储介质及终端
US11282217B2 (en) Pattern matching tool
US20070288207A1 (en) Displaying characteristics of a system of interconnected components at different system locations
EP3776283A1 (en) Digital design tools for building construction
KR101774878B1 (ko) 수치지도 오류 검출 방법
CN112307408B (zh) 确定页面中元素信息的方法、装置、电子设备及存储介质
US20060174200A1 (en) Method and system to layout topology objects
US11823331B2 (en) Self drawing tool for a computer-implemented automated design, modeling and manufacturing system
WO2019056611A1 (zh) 用于触控屏的笔迹曲线生成方法、装置、设备和存储介质
JP6360356B2 (ja) 干渉チェックシステム
US8060540B2 (en) Data relationship visualizer
US8286087B1 (en) Active route validation in workflow process authoring
US20230015892A1 (en) Computer System and Methods for Optimizing Distance Calculation
CN114782627A (zh) 一种三维模型碰撞检测方法、装置、电子设备及介质
JP2003288372A (ja) Cad用解析結果データ処理装置及びcad用解析結果データ処理方法並びにcad用解析結果データ処理プログラム
US20210019947A1 (en) Creation authoring point tool utility to recreate equipment
CN109344050B (zh) 一种基于结构树的接口参数分析方法及装置
Nguyen et al. Parametric comparing for local inspection of industrial plants by using as-built model acquired from laser scan data
JP4902567B2 (ja) 作業手順書作成システム、及び、作業手順書作成プログラム
CN115272605A (zh) 三维模型构件的拾取方法、装置、设备及存储介质
JP2021064091A (ja) 設計支援装置、設計支援方法、および設計支援プログラム
CN111986300A (zh) 房屋装修的渲染点确定方法和装置、存储介质、电子设备
US20230237795A1 (en) Object placement verification

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