CN116968316B - 模型碰撞检测方法、装置、存储介质和电子设备 - Google Patents
模型碰撞检测方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN116968316B CN116968316B CN202311230437.XA CN202311230437A CN116968316B CN 116968316 B CN116968316 B CN 116968316B CN 202311230437 A CN202311230437 A CN 202311230437A CN 116968316 B CN116968316 B CN 116968316B
- Authority
- CN
- China
- Prior art keywords
- dimensional
- model
- layer
- target
- sub
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000007639 printing Methods 0.000 claims description 35
- 230000002159 abnormal effect Effects 0.000 claims description 20
- 239000007787 solid Substances 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 5
- 239000000758 substrate Substances 0.000 description 14
- 230000006870 function Effects 0.000 description 5
- 238000010146 3D printing Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
- B29C64/386—Data acquisition or data processing for additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
Landscapes
- Chemical & Material Sciences (AREA)
- Engineering & Computer Science (AREA)
- Materials Engineering (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Optics & Photonics (AREA)
Abstract
本申请公开了一种模型碰撞检测方法、装置、存储介质和电子设备。其中,该方法包括:创建目标三维模型,其中,目标三维模型中包括至少一个三维子模型;获取目标三维模型的多层二维切片模型,并确定每层二维切片模型内各个三维子模型的实体投影;基于每层二维切片模型内各个三维子模型的实体投影确定每层二维切片模型对应的二维投影图像,并提取二维投影图像内各个三维子模型的实体投影的像素点;基于像素点检测目标三维模型的碰撞情况。本申请解决了相关技术在同时打印包含多个子模型的三维模型时,无法准确、快速检测出各个子模型间是否发生接触碰撞的技术问题。
Description
技术领域
本申请涉及3D打印技术领域,具体而言,涉及一种模型碰撞检测方法、装置、存储介质和电子设备。
背景技术
为了充分提升3D打印机的打印产能,在打印平台幅面允许的情况下,通常可以同时打印多个三维物体制件(后续简称为“三维子模型”),而在打印之前,需要检测多个三维子模型之间是否存在碰撞,而当任意两个模型之间存在碰撞时,会导致最终打印出的三维物体制件无法正常使用。
相关技术在检测多模型之间是否碰撞时,往往采用以下两种方式:一是利用三维建模软件的碰撞检测功能,具体可以通过三维打印软件将需要打印的多个三维子模型进行排版,并检测多个三维子模型之间是否发生模型碰撞,但该方法的弊端在于,排版后的各个三维子模型在调入3D打印机后,如果调整模型位置及数量,则仍可能出现碰撞,因此该方法不够灵活;二是由操作人员将多个子模型的切片数据直接导入打印软件中,逐层查看各子模型的数据,并不断手动的调整模型位置直至没有模型碰撞后再进行打印,但该方法对操作人员的专业素养要求较高,且容易出现漏查、误查的情况发生,导致最终打印出来的模型不能使用。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种模型碰撞检测方法、装置、存储介质和电子设备,以至少解决相关技术在同时打印包含多个子模型的三维模型时,无法准确、快速检测出各个子模型间是否发生接触碰撞的技术问题。
根据本申请实施例的一个方面,提供了一种模型碰撞检测方法,包括:创建目标三维模型,其中,目标三维模型中包括至少一个三维子模型;获取目标三维模型的多层二维切片模型,并确定每层二维切片模型内各个三维子模型的实体投影;基于每层二维切片模型内各个三维子模型的实体投影确定每层二维切片模型对应的二维投影图像,并提取二维投影图像内各个三维子模型的实体投影的像素点;基于像素点检测目标三维模型的碰撞情况。
可选地,创建目标三维模型,包括:获取待打印的多个三维子模型;将多个三维子模型按照预设的排版顺序进行组合,得到目标三维模型。
可选地,获取目标三维模型的多层二维切片模型,并确定每层二维切片模型内各个三维子模型的实体投影,包括:对目标三维模型进行切片处理,得到多层二维切片模型;对于每层二维切片模型,通过轮廓填充算法确定二维切片模型内各个三维子模型的实体投影。
可选地,基于每层二维切片模型内各个三维子模型的实体投影确定每层二维切片模型对应的二维投影图像,并提取二维投影图像内各个三维子模型的实体投影的像素点,包括:将每层二维切片模型内各个三维子模型的实体投影合并至目标二维图像内,得到每层二维切片模型对应的二维投影图像;确定打印平台的尺寸信息,并设定尺寸信息和二维投影图像的比例关系,其中,尺寸信息包括:长度和宽度;基于比例关系提取每层二维切片模型对应的二维投影图像内各个三维子模型的实体投影的像素点。
可选地,基于像素点检测目标三维模型的碰撞情况,包括:确定每层二维切片模型对应的二维投影图像内各个三维子模型的实体投影的像素点的重合情况;依据重合情况判断目标三维模型内是否发生模型碰撞,其中,若任意一层二维切片模型对应的二维投影图像内存在三维子模型的实体投影的像素点发生重合时,确定目标三维模型发生模型碰撞;若每层二维切片模型对应的二维投影图像内均不存在三维子模型的实体投影的像素点发生重合时,确定目标三维模型没有发生模型碰撞。
可选地,在确定目标三维模型发生模型碰撞时,发出响应的告警提示信息,其中,告警提示信息用以提示目标三维模型发生模型碰撞。
可选地,在确定目标三维模型发生模型碰撞之后,该方法还包括:确定存在模型碰撞的异常二维切片模型,并对异常二维切片模型内存在实体投影的像素点发生重合的异常三维子模型进行重新排版。
根据本申请实施例的另一方面,还提供了一种模型碰撞检测装置,包括:创建模块,用于创建目标三维模型,其中,目标三维模型中包括至少一个三维子模型;第一确定模块,用于获取目标三维模型的多层二维切片模型,并确定每层二维切片模型内各个三维子模型的实体投影;第二确定模块,用于基于每层二维切片模型内各个三维子模型的实体投影确定每层二维切片模型对应的二维投影图像,并提取二维投影图像内各个三维子模型的实体投影的像素点;检测模块,用于基于像素点检测目标三维模型的碰撞情况。
根据本申请实施例的另一方面,还提供了非易失性存储介质,该非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述的模型碰撞检测方法。
根据本申请实施例的另一方面,还提供了一种电子设备,该电子设备包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行上述的模型碰撞检测方法。
在本申请实施例中,创建目标三维模型,其中,目标三维模型中包括至少一个三维子模型;获取目标三维模型的多层二维切片模型,并确定每层二维切片模型内各个三维子模型的实体投影;基于每层二维切片模型内各个三维子模型的实体投影确定每层二维切片模型对应的二维投影图像,并提取二维投影图像内各个三维子模型的实体投影的像素点;基于像素点检测目标三维模型的碰撞情况,从而可以将检测三维子模型的模型碰撞问题转换为二维投影图像内像素点是否重合的问题,以简化问题难度;同时,通过二维投影图像展示每层二维切片模型,便于用户在排版界面上直观查看是否存在模型碰撞,进而解决了相关技术在同时打印包含多个子模型的三维模型时,无法准确、快速检测出各个子模型间是否发生接触碰撞的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的模型碰撞检测方法的流程图;
图2a是根据本申请实施例的一种可选的二维切片模型的示意图;
图2b是根据本申请实施例的一种可选的二维切片模型的实体投影的示意图;
图3是根据本申请实施例的另一种可选的二维切片模型的示意图;
图4是根据本申请实施例的一种可选的模型碰撞检测装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
当前,相关技术人员通常会利用三维建模软件对需要打印的多个三维子模型进行排版,并采用碰撞检测功能检测各个子模型之间是否发生碰撞,该方法的弊端在于,排版后的各个子模型在调入3D打印机时的位置和数量已经确定,若继续调整模型位置及数量,则仍可能出现碰撞,因此该检测方法不够灵活三维子模型;另外,若采用人工手动导入多个三维子模型的切片数据至打印软件的方法避免发生模型碰撞,则可能会由于操作人员的失误导致最终打印的三维子模型无法正常使用。
为了解决该问题,本申请实施例中提供了一种模型碰撞检测方法,从而可以解决上述问题,以下将详细说明。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种可选的模型碰撞检测方法的流程图,如图1所示,该方法至少包括步骤S102-S108,其中:
步骤S102,创建目标三维模型,其中,目标三维模型中包括至少一个三维子模型。
具体地,上述目标三维模型为待打印的三维模型,且待打印的三维模型中包括至少一个的三维子模型。
可选地,获取待打印的多个三维子模型;将多个三维子模型按照预设的排版顺序进行组合,得到目标三维模型。
通常,当存在多个待打印模型时,为了提升打印设备的打印效率,可以使用打印设备同时打印的多个三维子模型,并将三维子模型按照预设的排版顺序进行组合,以得到目标三维模型。
例如,当需要通过三维打印机打印多个不相干的三维子模型A、B、C时,可以将待打印的三维子模型A、B、C按照预先设定好的排版顺序进行排版组合,并将排版后的三维子模型A、B、C调入打印设备中进行打印,从而最终可以得到一个三维模型D。
可选地,在打印零件之前,可以先检测软件界面上的物体制件的三维子模型与3D打印设备基板的位置关系,即判定物体制件的外接矩形与打印设备基板区域的位置关系。
其中,上述外接矩形均为最小外接矩形,且上位机的软件界面上有一个模拟排版物体制件的三维模型的基板。
具体地,若物体制件的外接矩形四个顶点全部落在基板区域内,则表示物体制件与基板不存在碰撞,该物体制件可以进行正常打印;若物体制件的外接矩形四个顶点不是全部落在基板区域内,则可以通过凸包算法判断物体制件是否与基板发生碰撞,即先获取物体制件在平面上的凸包,并对凸包上的点进行逐个检测,若凸包上的各个点均落在基本区域内,则认为物体制件与基板不存在碰撞;若凸包上有一个点落在基板区域之外,则认为物体制件与基板区域发生碰撞。
需要说明的是,上述凸包算法中的凸包可以理解为,在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包,且X的凸包可以用X内所有点(X1,X2,X3,…,Xn)表示。为了便于更好地理解,可以解释为未定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边形,其可以包含点集中的所有点。
步骤S104,获取目标三维模型的多层二维切片模型,并确定每层二维切片模型内各个三维子模型的实体投影。
为了避免通过操作人员手动调整每层二维切片模型的数据,本申请实施例在获取待打印的目标三维模型的多层二维切片模型后,将每层二维切片模型内各个三维子模型在XOY平面上进行投影,得到每层二维切片模型内各个三维子模型的实体投影。
可选地,可以通过光线投射获取每层二维切片模型内各个三维子模型在XOY平面上进行投影,得到每层二维切片模型内各个三维子模型的实体投影。
作为一种可选的实施方式,在本发明上述步骤S104提供的技术方案中,该方法可以包括:对目标三维模型进行切片处理,得到多层二维切片模型;对于每层二维切片模型,通过轮廓填充算法确定二维切片模型内各个三维子模型的实体投影。
举例而言,以一次打印两个三维子模型为例,其中,一个模型为空心方柱,另一个待打印模型为空心圆桶。首先对两个三维子模型进行排版,将空心圆桶置于空心方柱内部;接着,对排版后的两个模型进行切片,得到多层二维切片模型,如图2a所示。
由于获取的每层二维切片模型只包含模型的边界,因此,为了避免某个三维子模型内存在空洞,致使后续碰撞检测存在误差,在本申请实施例中,可以采用轮廓填充算法对每层二维切片模型进行填充,得到两个模型在该层二维切片模型的实体投影,如图2b所示。需要说明的是,本申请实施例包括但不仅限于采用轮廓填充算法确定二维切片模型内各个三维子模型的实体投影。
可选地,还可以通过混合填充算法对每层二维切片模型进行填充。
具体地,当模型为分形模型时,由于该模型为不规则形状,此时可以将模型可以分为三个区域,轮廓层、过渡层和内层。因此,为了保证轮廓的形状精度,最外的轮廓层可以使用轮廓偏置算法进行填充;中间过渡层使用B样条曲线算法对内层便捷进行平滑处理;而为了提高加工速度,保证打印路径不间断,内层则可以使用连通费马螺线算法进行填充。
步骤S106,基于每层二维切片模型内各个三维子模型的实体投影确定每层二维切片模型对应的二维投影图像,并提取二维投影图像内各个三维子模型的实体投影的像素点。
具体地,通过每层二维切片模型内各个三维子模型的实体投影可以确定每层二维切片模型对应的二维投影图像,并将二维投影图像直观展示在排版界面中,从而便于用户直观观察该层二维切片模型的数据。另外,为了更加准确地判断待打印的目标三维模型内是否发生模型碰撞,本申请实施例可以提取每层二维切片模型对应的二维投影图像内各个三维子模型的实体投影的像素点。
作为一种可选的实施方式,在本发明上述步骤S106提供的技术方案中,该方法可以包括:将每层二维切片模型内各个三维子模型的实体投影合并至目标二维图像内,得到每层二维切片模型对应的二维投影图像;确定打印平台的尺寸信息,并设定尺寸信息和二维投影图像的比例关系,其中,尺寸信息包括:长度和宽度;基于比例关系提取每层二维切片模型对应的二维投影图像内各个三维子模型的实体投影的像素点。
在该实施例中,为了便于用户观察,将每层二维切片模型内各个三维子模型的实体投影合并至目标二维图像(即同一二维图像)内,得到该层二维切片模型对应的二维投影图像。同时,确定打印平台的尺寸信息,并设置打印平台与和二维投影图像的比例关系,按照比例关系获取实体投影的像素点,从而有效提升碰撞检测的精度。
其中,上述比例关系可以理解为,若将3D打印机的打印平台看作一张x*y的二维图像时,可以规定将对应的尺寸对应若干个像素,从而将打印平台视为若干个像素点组成的像素表。例如,易加三维M-450打印机的打印平台的尺寸信息为:长*宽为450mm*450mm。若规定每1mm对应一个像素点,则易加三维M-450打印机的打印平台可被视为450*450的像素表;若规定每5mm对应一个像素点,则易加三维M-450打印机的打印平台可被视为90*90的像素表。
需要说明的是,尺寸信息和二维投影图像的比例关系可以根据实际应用场景进行设定,此处仅作实例进行说明。
步骤S108,基于像素点检测目标三维模型的碰撞情况。
作为一种可选的实施方式,在本发明上述步骤S108提供的技术方案中,该方法可以包括:基于像素点检测目标三维模型的碰撞情况,包括:确定每层二维切片模型对应的二维投影图像内各个三维子模型的实体投影的像素点的重合情况;依据重合情况判断目标三维模型内是否发生模型碰撞,其中,若任意一层二维切片模型对应的二维投影图像内存在三维子模型的实体投影的像素点发生重合时,确定目标三维模型发生模型碰撞;若每层二维切片模型对应的二维投影图像内均不存在三维子模型的实体投影的像素点发生重合时,确定目标三维模型没有发生模型碰撞。
在该实施例中,通过获取每层二维切片模型对应的二维投影图像内各个三维子模型的实体投影的像素点,通过判断是否有像素点重合以确定目标三维模型内是否发生模型碰撞。因此,将复杂的三维模型碰撞问题转换为二维图像的像素点重合问题,有效提升碰撞检测的速度。
具体地,图2b所示的二维投影图像内空心方柱和空心圆桶的所有有效像素点均没有重合,此时可以确定这两个模型在该层没有发生模型碰撞;而图3所示的二维投影图像内空心方柱和空心圆桶有部分像素点发生重合,此时可以确定这两个模型在该层存在重叠。按照上述判断规则,依次对目标三维模型的各层二维切片模型进行检测,从而准确判断目标三维模型内是否发生模型碰撞。
另外,在确定目标三维模型发生模型碰撞时,还可以发出响应的告警提示信息,其中,告警提示信息用以提示目标三维模型发生模型碰撞。
具体地,在操作人员听到告警提示信息后,可以立刻停止打印机的打印工作,并及时执行相应的管控操作,以避免打印出的三维物体制件无法正常使用。
进一步地,在确定目标三维模型发生模型碰撞之后,还可以确定存在模型碰撞的异常二维切片模型,并对异常二维切片模型内存在实体投影的像素点发生重合的异常三维子模型进行重新排版。
具体地,在操作人员听到告警提示信息后,可以通过排版界面直观查看存在模型碰撞的异常二维切片模型,并对异常二维切片模型内存在实体投影的像素点发生重合的异常三维子模型进行重新排版,使该层内的三维子模型之间不发生重叠,进而确保最终打印出的三维物体制件是可以正常使用的。
在本申请上述实施例中,通过创建目标三维模型,其中,目标三维模型中包括三维子模型至少一个三维子模型;获取目标三维模型的多层二维切片模型,并确定每层二维切片模型内各个三维子模型的实体投影;基于每层二维切片模型内各个三维子模型的实体投影确定对应的二维投影图像,并提取二维投影图像内各个三维子模型的实体投影的像素点;基于像素点检测目标三维模型的碰撞情况,从而可以将检测三维子模型的模型碰撞问题转换为二维投影图像内像素点是否重合的问题,以简化问题难度;同时,通过二维投影图像展示每层二维切片模型,便于用户在排版界面上直观查看是否存在模型碰撞,进而解决了相关技术在同时打印包含多个子模型的三维模型时,无法准确、快速检测出各个子模型间是否发生接触碰撞的技术问题。
实施例2
根据本申请实施例,还提供了一种用于实现上述模型碰撞检测方法的模型碰撞检测装置,图4是根据本申请实施例的一种可选的模型碰撞检测装置的结构示意图,如图4所示,该模型碰撞检测装置中至少包括创建模块41,第一确定模块42,第二确定模块43和检测模块44,其中:
创建模块41,用于创建目标三维模型,其中,目标三维模型中包括至少一个三维子模型。
可选地,创建模块41用于获取待打印的多个三维子模型;将多个三维子模型按照预设的排版顺序进行组合,得到目标三维模型。
通常,为了提升打印设备的打印效率,用户可以一次性打印的多个三维子模型,并将三维子模型按照预设的排版顺序进行组合,得到目标三维模型。
例如,当需要通过三维打印机打印多个不相干的三维子模型A、B、C时,可以将待打印的三维子模型A、B、C按照预先设定好的排版顺序进行排版组合,并将排版后的三维子模型A、B、C调入打印设备中进行打印,从而最终可以得到一个三维模型D。
可选地,在打印零件之前,创建模块41还用于检测软件界面上的物体制件的三维子模型与3D打印设备基板的位置关系,即判定物体制件的外接矩形与打印设备基板区域的位置关系。
其中,上述外接矩形均为最小外接矩形,且上位机的软件界面上有一个模拟排版物体制件的三维模型的基板。
具体地,若物体制件的外接矩形四个顶点全部落在基板区域内,则表示物体制件与基板不存在碰撞,该物体制件可以进行正常打印;若物体制件的外接矩形四个顶点不是全部落在基板区域内,则可以通过凸包算法判断物体制件是否与基板发生碰撞,即先获取物体制件在平面上的凸包,并对凸包上的点进行逐个检测,若凸包上的各个点均落在基本区域内,则认为物体制件与基板不存在碰撞;若凸包上有一个点落在基板区域之外,则认为物体制件与基板区域发生碰撞。
第一确定模块42,用于获取目标三维模型的多层二维切片模型,并确定每层二维切片模型内各个三维子模型的实体投影。
为了避免通过操作人员手动调整每层二维切片模型的数据,第一确定模块42在获取待打印的目标三维模型的多层二维切片模型后,还将每层二维切片模型内各个三维子模型在XOY平面上进行投影,得到每层二维切片模型内各个三维子模型的实体投影。
作为一种可选的实施方式,第一确定模块42还用于对目标三维模型进行切片处理,得到多层二维切片模型;对于每层二维切片模型,通过轮廓填充算法确定二维切片模型内各个三维子模型的实体投影。
举例而言,以一次打印两个三维子模型为例,其中,一个模型为空心方柱,另一个待打印模型为空心圆桶。首先对两个三维子模型进行排版,将空心圆桶置于空心方柱内部;接着,对排版后的两个模型进行切片,得到多层二维切片模型,如图2a所示。
由于获取的每层二维切片模型只包含模型的边界,因此,为了避免某一三维子模型内存在空洞,致使后续碰撞检测存在误差,在本申请实施例中,可以采用轮廓填充算法对每层二维切片模型进行填充,得到两个模型在该层二维切片模型的实体投影,如图2b所示。需要说明的是,本申请实施例包括但不仅限于采用轮廓填充算法确定二维切片模型内各个三维子模型的实体投影。
第二确定模块43,用于基于每层二维切片模型内各个三维子模型的实体投影确定对应的二维投影图像,并提取二维投影图像内各个三维子模型的实体投影的像素点。
具体地,第二确定模块43通过每层二维切片模型内各个三维子模型的实体投影可以确定每层二维切片模型对应的二维投影图像,并将二维投影图像直观展示在排版界面中,从而便于用户直观观察该层二维切片模型的数据。
另外,为了更加准确地判断待打印的目标三维模型内是否发生模型碰撞,第二确定模块43还可以提取每层二维切片模型对应的二维投影图像内各个三维子模型的实体投影的像素点。
作为一种可选的实施方式,将每层二维切片模型内各个三维子模型的实体投影合并至目标二维图像内,得到每层二维切片模型对应的二维投影图像;确定打印平台的尺寸信息,并设定尺寸信息和二维投影图像的比例关系,其中,尺寸信息包括:长度和宽度;基于比例关系提取每层二维切片模型对应的二维投影图像内各个三维子模型的实体投影的像素点。
在该实施例中,为了便于用户观察,将每层二维切片模型内各个三维子模型的实体投影合并至目标二维图像内,得到该层二维切片模型对应的二维投影图像。同时,确定打印平台的尺寸信息,并设置打印平台与和二维投影图像的比例关系,按照比例关系获取实体投影的像素点,从而有效提升碰撞检测的精度。
其中,上述比例关系可以理解为,若将3D打印机的打印平台看作一张x*y的二维图像时,可以规定将对应的尺寸对应若干个像素,从而将打印平台视为若干个像素点组成的像素表。例如,易加三维M-450打印机的打印平台的尺寸信息为:长*宽为450mm*450mm。若规定每1mm对应一个像素点,则易加三维M-450打印机的打印平台可被视为450*450的像素表;若规定每5mm对应一个像素点,则易加三维M-450打印机的打印平台可被视为90*90的像素表。
需要说明的是,尺寸信息和二维投影图像的比例关系可以根据实际应用场景进行设定,此处仅作实例进行说明。
检测模块44,用于基于像素点检测目标三维模型的碰撞情况。
作为一种可选的实施方式,检测模块44还用于基于像素点检测目标三维模型的碰撞情况,包括:确定每层二维切片模型对应的二维投影图像内各个三维子模型的实体投影的像素点的重合情况;依据重合情况判断目标三维模型内是否发生模型碰撞,其中,若任意一层二维切片模型对应的二维投影图像内存在三维子模型的实体投影的像素点发生重合时,确定目标三维模型发生模型碰撞;若每层二维切片模型对应的二维投影图像内均不存在三维子模型的实体投影的像素点发生重合时,确定目标三维模型没有发生模型碰撞。
在该实施例中,通过获取每层二维切片模型对应的二维投影图像内各个三维子模型的实体投影的像素点,通过判断是否有像素点重合以确定目标三维模型内是否发生模型碰撞。因此,将复杂的三维子模型碰撞问题转换为二维图像的像素点重合问题,有效提升碰撞检测的速度。
具体地,图2b所示的二维投影图像内空心方柱和空心圆桶的所有有效像素点均没有重合,此时可以确定这两个模型在该层没有发生模型碰撞;而图3所示的二维投影图像内空心方柱和空心圆桶有部分像素点发生重合,此时可以确定这两个模型在该层存在重叠。按照上述判断规则,依次对目标三维模型的各层二维切片模型进行检测,从而准确判断目标三维模型内是否发生模型碰撞。
另外,在确定目标三维模型发生模型碰撞时,还可以发出响应的告警提示信息,其中,告警提示信息用以提示目标三维模型发生模型碰撞。
具体地,在操作人员听到告警提示信息后,可以立刻停止打印机的打印工作,并及时执行相应的管控操作,以避免打印出的三维物体制件不可以用。
进一步地,在确定目标三维模型发生模型碰撞时,还可以确定存在模型碰撞的异常二维切片模型,并对异常二维切片模型内存在实体投影的像素点发生重合的异常三维子模型进行重新排版。
具体地,在操作人员听到告警提示信息后,可以通过排版界面直观查看存在模型碰撞的异常二维切片模型,并对异常二维切片模型内存在实体投影的像素点发生重合的异常三维子模型进行重新排版,使该层内的三维子模型之间不发生重叠,进而确保最终打印出的三维物体制件是可以正常使用的。
需要说明的是,本申请实施例中的模型碰撞检测装置中的各模块与实施例1中的模型碰撞检测方法的各实施步骤一一对应,由于实施例1中已经进行了详尽的描述,本实施例中部分未体现的细节可以参考实施例1,在此不再过多赘述。
另外,上述模型碰撞检测装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
实施例3
根据本申请实施例,还提供了一种非易失性存储介质,该非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行实施例1中的模型碰撞检测方法。
可选地,非易失性存储介质所在设备通过运行该程序执行实现以下步骤:
步骤S102,创建目标三维模型,其中,目标三维模型中包括至少一个三维子模型;
步骤S104,获取目标三维模型的多层二维切片模型,并确定每层二维切片模型内各个三维子模型的实体投影;
步骤S106,基于每层二维切片模型内各个三维子模型的实体投影确定每层二维切片模型对应的二维投影图像,并提取二维投影图像内各个三维子模型的实体投影的像素点;
步骤S108,基于像素点检测目标三维模型的碰撞情况。
根据本申请实施例,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行实施例1中的模型碰撞检测方法。
可选地,程序运行时执行实现以下步骤:
步骤S102,创建目标三维模型,其中,目标三维模型中包括至少一个三维子模型;
步骤S104,获取目标三维模型的多层二维切片模型,并确定每层二维切片模型内各个三维子模型的实体投影;
步骤S106,基于每层二维切片模型内各个三维子模型的实体投影确定每层二维切片模型对应的二维投影图像,并提取二维投影图像内各个三维子模型的实体投影的像素点;
步骤S108,基于像素点检测目标三维模型的碰撞情况。
根据本申请实施例,还提供了一种电子设备,该电子设备包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行实施例1中的模型碰撞检测方法。
可选地,程序运行时执行实现以下步骤:
步骤S102,创建目标三维模型,其中,目标三维模型中包括至少一个三维子模型;
步骤S104,获取目标三维模型的多层二维切片模型,并确定每层二维切片模型内各个三维子模型的实体投影;
步骤S106,基于每层二维切片模型内各个三维子模型的实体投影确定每层二维切片模型对应的二维投影图像,并提取二维投影图像内各个三维子模型的实体投影的像素点;
步骤S108,基于像素点检测目标三维模型的碰撞情况。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (7)
1.一种模型碰撞检测方法,其特征在于,包括:
创建目标三维模型,其中,所述目标三维模型中包括至少一个三维子模型;
获取所述目标三维模型的多层二维切片模型,并确定每层所述二维切片模型内各个所述三维子模型的实体投影;
基于每层所述二维切片模型内各个所述三维子模型的实体投影确定每层所述二维切片模型对应的二维投影图像,并提取所述二维投影图像内各个所述三维子模型的实体投影的像素点;
基于所述像素点检测所述目标三维模型的碰撞情况;
其中,获取所述目标三维模型的多层所述二维切片模型,并确定每层所述二维切片模型内各个所述三维子模型的实体投影,包括:对所述目标三维模型进行切片处理,得到多层所述二维切片模型;对于每层所述二维切片模型,通过轮廓填充算法确定所述二维切片模型内各个所述三维子模型的实体投影;
其中,基于每层所述二维切片模型内各个所述三维子模型的实体投影确定每层所述二维切片模型对应的二维投影图像,并提取所述二维投影图像内各个所述三维子模型的实体投影的像素点,包括:将每层所述二维切片模型内各个所述三维子模型的实体投影合并至目标二维图像内,得到每层所述二维切片模型对应的所述二维投影图像;确定打印平台的尺寸信息,并设定所述尺寸信息和所述二维投影图像的比例关系,其中,所述尺寸信息包括:长度和宽度;基于所述比例关系提取每层所述二维切片模型对应的所述二维投影图像内各个所述三维子模型的实体投影的像素点;
基于所述像素点检测所述目标三维模型的碰撞情况,包括:确定每层所述二维切片模型对应的所述二维投影图像内各个所述三维子模型的实体投影的像素点的重合情况;依据所述重合情况判断所述目标三维模型内是否发生模型碰撞,其中,若任意一层所述二维切片模型对应的所述二维投影图像内存在所述三维子模型的实体投影的像素点发生重合时,确定所述目标三维模型发生模型碰撞;若每层所述二维切片模型对应的所述二维投影图像内均不存在所述三维子模型的实体投影的像素点发生重合时,确定所述目标三维模型没有发生模型碰撞。
2.根据权利要求1所述的方法,其特征在于,创建目标三维模型,包括:
获取待打印的多个三维子模型;
将所述多个三维子模型按照预设的排版顺序进行组合,得到所述目标三维模型。
3.根据权利要求1所述的方法,其特征在于,在确定所述目标三维模型发生模型碰撞时,发出响应的告警提示信息,其中,所述告警提示信息用以提示所述目标三维模型发生模型碰撞。
4.根据权利要求1所述的方法,其特征在于,在确定所述目标三维模型发生模型碰撞之后,所述方法还包括:
确定存在模型碰撞的异常二维切片模型,并对所述异常二维切片模型内存在实体投影的像素点发生重合的异常三维子模型进行重新排版。
5.一种应用于权利要求1至4中任意一种所述模型碰撞检测方法的模型碰撞检测装置,其特征在于,包括:
创建模块,用于创建目标三维模型,其中,所述目标三维模型中包括至少一个三维子模型;
第一确定模块,用于获取所述目标三维模型的多层二维切片模型,并确定每层所述二维切片模型内各个所述三维子模型的实体投影;
第二确定模块,用于基于每层所述二维切片模型内各个所述三维子模型的实体投影确定每层所述二维切片模型对应的二维投影图像,并提取所述二维投影图像内各个所述三维子模型的实体投影的像素点;
检测模块,用于基于所述像素点检测所述目标三维模型的碰撞情况;
其中,第一确定模块还用于对所述目标三维模型进行切片处理,得到多层所述二维切片模型;对于每层所述二维切片模型,通过轮廓填充算法确定所述二维切片模型内各个所述三维子模型的实体投影。
6.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至4中任意一项所述的模型碰撞检测方法。
7.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述存储器中的程序,其中,所述程序运行时执行权利要求1至4中任意一项所述的模型碰撞检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311230437.XA CN116968316B (zh) | 2023-09-22 | 2023-09-22 | 模型碰撞检测方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311230437.XA CN116968316B (zh) | 2023-09-22 | 2023-09-22 | 模型碰撞检测方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116968316A CN116968316A (zh) | 2023-10-31 |
CN116968316B true CN116968316B (zh) | 2024-02-20 |
Family
ID=88471679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311230437.XA Active CN116968316B (zh) | 2023-09-22 | 2023-09-22 | 模型碰撞检测方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116968316B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000105838A (ja) * | 1998-09-29 | 2000-04-11 | Toshiba Corp | 画像表示方法及び画像処理装置 |
CN105590339A (zh) * | 2015-12-15 | 2016-05-18 | 广州南沙3D打印创新研究院 | 三维模型的碰撞检测方法及系统 |
JP2017058836A (ja) * | 2015-09-15 | 2017-03-23 | 株式会社リコー | 情報処理装置、3dプリンタシステム、情報処理方法及びプログラム |
CN111976135A (zh) * | 2020-07-13 | 2020-11-24 | 深圳市创必得科技有限公司 | 3d模型的摆放方法、装置、存储介质及3d打印机 |
CN112765695A (zh) * | 2021-01-21 | 2021-05-07 | 深圳市创想三维科技有限公司 | 支撑体生成方法、3d打印机、计算机装置及存储介质 |
CN113829626A (zh) * | 2021-09-28 | 2021-12-24 | 珠海赛纳三维科技有限公司 | 多作业三维打印方法、设备、存储介质和软件程序产品 |
CN114714627A (zh) * | 2022-04-13 | 2022-07-08 | 南京铖联激光科技有限公司 | 针对3d打印控制软件碰撞检测系统及其检测方法 |
CN115195126A (zh) * | 2022-07-06 | 2022-10-18 | 中国科学院空间应用工程与技术中心 | 3d打印物体的二维匹配方法、装置、电子设备及介质 |
CN115272379A (zh) * | 2022-08-03 | 2022-11-01 | 杭州新迪数字工程系统有限公司 | 一种基于投影的三维网格模型外轮廓提取方法及系统 |
CN116168185A (zh) * | 2022-12-02 | 2023-05-26 | 广州黑格智造信息科技有限公司 | 三维牙齿模型分割方法和装置 |
CN116476388A (zh) * | 2023-05-31 | 2023-07-25 | 南京铖联激光科技有限公司 | 一种基于3d打印切片软件的碰撞检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3687677B1 (ja) * | 2004-10-26 | 2005-08-24 | 松下電工株式会社 | 光造形方法と光造形システム並びに光造形用プログラム |
-
2023
- 2023-09-22 CN CN202311230437.XA patent/CN116968316B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000105838A (ja) * | 1998-09-29 | 2000-04-11 | Toshiba Corp | 画像表示方法及び画像処理装置 |
JP2017058836A (ja) * | 2015-09-15 | 2017-03-23 | 株式会社リコー | 情報処理装置、3dプリンタシステム、情報処理方法及びプログラム |
CN105590339A (zh) * | 2015-12-15 | 2016-05-18 | 广州南沙3D打印创新研究院 | 三维模型的碰撞检测方法及系统 |
CN111976135A (zh) * | 2020-07-13 | 2020-11-24 | 深圳市创必得科技有限公司 | 3d模型的摆放方法、装置、存储介质及3d打印机 |
CN112765695A (zh) * | 2021-01-21 | 2021-05-07 | 深圳市创想三维科技有限公司 | 支撑体生成方法、3d打印机、计算机装置及存储介质 |
CN113829626A (zh) * | 2021-09-28 | 2021-12-24 | 珠海赛纳三维科技有限公司 | 多作业三维打印方法、设备、存储介质和软件程序产品 |
CN114714627A (zh) * | 2022-04-13 | 2022-07-08 | 南京铖联激光科技有限公司 | 针对3d打印控制软件碰撞检测系统及其检测方法 |
CN115195126A (zh) * | 2022-07-06 | 2022-10-18 | 中国科学院空间应用工程与技术中心 | 3d打印物体的二维匹配方法、装置、电子设备及介质 |
CN115272379A (zh) * | 2022-08-03 | 2022-11-01 | 杭州新迪数字工程系统有限公司 | 一种基于投影的三维网格模型外轮廓提取方法及系统 |
CN116168185A (zh) * | 2022-12-02 | 2023-05-26 | 广州黑格智造信息科技有限公司 | 三维牙齿模型分割方法和装置 |
CN116476388A (zh) * | 2023-05-31 | 2023-07-25 | 南京铖联激光科技有限公司 | 一种基于3d打印切片软件的碰撞检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116968316A (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8155774B2 (en) | 3D object fabrication methods and systems | |
US6775403B1 (en) | Device for and method of processing 3-D shape data | |
EP1901059B1 (en) | Method for forming master data for inspecting protruding and recessed figure | |
US9921573B2 (en) | Slice image creation device, three-dimensional printing system and slice image creation method | |
CN113211795B (zh) | 三维物体打印方法、打印装置及存储介质 | |
CN104808956A (zh) | 用于控制显示的系统和方法 | |
JP6684013B2 (ja) | 3次元プリンタのモデルの印刷方法 | |
US20160361877A1 (en) | Slice image creation device, three-dimensional printing system, and slice image creation method | |
CN114387347A (zh) | 确定外参标定的方法、装置、电子设备及介质 | |
CN116968316B (zh) | 模型碰撞检测方法、装置、存储介质和电子设备 | |
US10169494B2 (en) | Slice image creation device and three-dimensional printing system | |
US11941758B2 (en) | Processing merged 3D geometric information | |
CN114889138A (zh) | 打印控制方法和三维打印机 | |
CN111391327A (zh) | 打印误差确定和打印方法、装置、电子设备及存储介质 | |
CN112381876B (zh) | 一种交通标志标注方法、装置及计算机设备 | |
Langeland | Automatic error detection in 3D pritning using computer vision | |
CN106273444A (zh) | 一种3d打印系统的脱模控制方法及装置 | |
KR102054929B1 (ko) | 강화 보조벽을 사용하는 3d 인쇄 방법 | |
CN111645315B (zh) | 三维打印方法、装置、计算机设备和存储介质 | |
CN113844034B (zh) | 三维模型打孔处理方法、打印方法、相关设备和存储介质 | |
CN111179332B (zh) | 图像处理方法及装置、电子设备及存储介质 | |
EP3254857B1 (en) | A printing system for printing on a substantially planar surface of a 3d-object and a method for printing thereon | |
CN113432734A (zh) | 智能开关柜温度监测方法、装置、设备及存储介质 | |
KR102033399B1 (ko) | 증강현실을 이용한 3d 프린터 인쇄 물체 정보 표시 시스템 및 방법 | |
JP2002063219A (ja) | 設計装置、薄肉部検出表示方法、及び記憶媒体 |
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 |