CN103649856A - 通过工具的动作模拟物体的加工的方法及其系统和计算机程序产品 - Google Patents

通过工具的动作模拟物体的加工的方法及其系统和计算机程序产品 Download PDF

Info

Publication number
CN103649856A
CN103649856A CN201280031185.1A CN201280031185A CN103649856A CN 103649856 A CN103649856 A CN 103649856A CN 201280031185 A CN201280031185 A CN 201280031185A CN 103649856 A CN103649856 A CN 103649856A
Authority
CN
China
Prior art keywords
group
fragment
object fragment
processing
coordinate system
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.)
Granted
Application number
CN201280031185.1A
Other languages
English (en)
Other versions
CN103649856B (zh
Inventor
阿兰·苏利文
L·马努基安
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN103649856A publication Critical patent/CN103649856A/zh
Application granted granted Critical
Publication of CN103649856B publication Critical patent/CN103649856B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Processing Or Creating Images (AREA)
  • Numerical Control (AREA)

Abstract

本发明描述了通过工具的动作对物体的加工的计算机模拟。所述物体由边界表示(BP)物体表示,其中,所述BP物体包括所述物体的表面的边界表示,其中,所述动作由一组扫掠体表示,其中,所述一组扫掠体包括限定所述一组扫掠体的表面的第一组隐函数。所述模拟包括以下步骤:确定代理物体,该代理物体具有限定所述代理物体的表面的第二组隐函数;利用所述一组扫掠体来模拟所述代理物体的加工,以生成加工后的代理(MP)物体,该MP物体具有限定该MP物体的表面的第三组隐函数;以及渲染所述MP物体与所述BP物体之间的布尔交集的图像。

Description

通过工具的动作模拟物体的加工的方法及其系统和计算机程序产品
技术领域
本发明总体上涉及模拟加工,更具体地讲,涉及一种利用布尔交集(Booleanintersection)来模拟对物体的加工的系统和方法。
背景技术
数控加工
在计算机辅助设计(CAD)和计算机辅助制造(CAM)中,模拟数控(NC)加工(例如,车削、镗孔、钻孔、拉削、锯切、成形、扩孔、铣削、攻丝、磨削)很重要。在模拟过程中,利用工具(例如,NC铣削工具)的计算机表示(representation)以及模拟加工工艺的一组动作来编辑物体(例如,工件)的模型。
所述模拟将物体的模型和工具的表示显现在显示装置上,以检测部件(例如工件和工具架)之间的潜在冲突并核实物体的最终形状。
物体的最终形状受工具和动作的选择的影响。通常利用计算机辅助制造系统根据物体的期望的最终形状的图形表示来生成用于控制动作的指令。通常使用数控编程语言(也称作预备代码或G代码)来实现所述动作,参见RS274D和DIN66025/ISO6983标准。
由计算机辅助制造系统生成的G代码可能未能生成期望的最终形状的精确复制。另外,工具和/或物体的动作被NC加工系统的马达控制,NC加工系统具有有限的速度、动作范围以及加速和减速能力,使得实际动作通常未能精确地遵循NC加工指令。
物体的实际最终形状与物体的期望的最终形状之间的不一致可能较小,并且难以观察到。在一些情况下,这些不一致导致物体的最终形状的表面中的不期望的凿痕或刻痕,这些凿痕或刻痕的深度和宽度在几微米量级,长度在几十微米量级。
通常,在加工期望的部件之前,通过加工测试物体(例如,由较软并且较便宜的材料制成的工件)来测试一组NC机器指令。如果测试工件的目视检查定位出测试工件中的不期望的不一致,则对应地修改NC加工指令。
然而,这种手动测试耗时且昂贵。加工单个测试工件的时间可能在几小时量级,在获得可接受的一组NC机器指令之前可能需要多次迭代。因此,可取的是,利用基于计算机的模拟和渲染来测试这些不一致。
工具
图1A示出NC加工中使用的一组典型工具102、104、106和108。当工具相对于工件110移动时,工具从工件切除材料。这里,工具102、104、106和108从工件去除与表面112、114、116和118对应的材料(通常称作“扫掠体(swept volume)”)。各个工具所去除的材料的形状由工具的形状以及工具相对于工件的路径来确定。
扫掠体
在加工过程中,工具根据工具和/或工件的规定动作(即,工具路径或物体路径)来相对于工件移动,其中,所述路径可包括关于工具相对于工件的相对位置、取向以及其它形状数据的信息。
随着工具沿着工具路径移动,工具切出扫掠体。在加工过程中,随着工具沿着工具路径移动,由工具的扫掠体横切的一部分体积的工件被去除。这种材料去除可被建模为构造立体几何(CSG)差分运算,其中,利用扫掠体从工件的CSG减法运算来从工件去除工件的一部分。
图1B示出沿着路径152移动的形状150的扫掠体160。路径152指定作为时间的函数的形状150的特定点的位置。该路径可指定作为时间的函数的形状的取向156、157和158。该路径还可指定作为时间的函数的形状的比例或形状的任意变换。
在图1B中,随着形状沿着路径157移动,形状150的原始位置、取向和几何形状变换为形状154的最终位置、取向和几何形状。
图2A示出工具202沿着直线204移动的直线路径。
图2B示出工具202的顶端210沿着圆弧212移动的圆弧路径,工具的原始轴向214变换为路径末端处的最终轴向216。
图2C示出工具202的顶端210沿着曲线220移动的弯曲路径。
其它可能的路径形式包括将工具定位于点,使工具沿着一系列线(称作折线)移动,使工具沿着螺旋或盘旋曲线移动,使工具沿着诸如二次贝塞尔(Bezier)曲线或三次贝塞尔曲线的多项式曲线或者一系列多项式曲线(称作分段多项式曲线)等移动。可考虑能够模拟的任何形式的路径,包括通过过程定义的路径,例如受工件的形状或材料组成影响的路径。
距离场
物体的距离场d(p)是标量场,其在空间中的点p处的值是从p到物体表面的距离。现有技术中已知有许多可能的距离场,但是最常用的是欧几里得距离场,其中p处的距离场值是从p到物体表面的最小直线距离。另外,距离场可以带符号,以区分物体的外侧、内侧和边界,例如,d(p)>0为内侧,d(p)<0、d(p)=0在表面。
另外,距离场在p点处的梯度向量指向最小距离的方向,在物体的表面处,归一化梯度向量等于表面的法向量。距离场是一种形式的隐函数,并且是用于渲染和编辑形状的有效表示。
空间中特别关注的点p是距离场的值d等于零(即,d=0)的点。如本文所述,距离场为零的点的集合(即,距离场的零等值面)是物体的边界(例如,工件的边界)或扫掠体的边界。
自适应采样距离场(ADF)使用指向细节的采样,以提供距离场的空间和时间有效表示。ADF将距离场的值样本存储在单元的空间层次中,例如八叉树。单元的空间层次是树型数据结构,其中,称作根单元的初始节点包围ADF的整个体积。空间层次中的单元可以是树型数据结构的末端叶(即,叶单元),或者可包含更小的子单元,这些单元称作中间单元。空间层次中的叶单元可被标记为内部叶单元(即,完全在边界的内部)、外部叶单元(即,完全在边界的外部)或者边界叶单元(即,包含物体的边界)。各个单元通过尺寸和位置来表征,所述尺寸和位置使得能够容易地计算单元拐角处的顶点,进而限定单元的边界框。
空间层次中的各个单元与父单元和任何子单元这二者在存储器或表中的地址或索引关联。因此常常将单元的空间层次描述为谱系树,其中,单元具有祖先,从而穿过单元的父单元和祖单元回溯到根单元,单元可具有后代,例如子单元和孙单元,直至到达叶单元。
通常通过递归方法来访问单元的空间层次内的信息,其中,信息查询开始于根单元,然后通过根据一些条件选择树型数据结构的特定分支(即,子单元)来向后代单元递归或分支。例如,寻找包含空间中的特定点的叶单元的方法开始于根单元,然后向包含该点的各个后代单元的子单元递归,直至到达包含该点的叶单元。
单元的空间层次中的各个单元可包含距离数据和重构方法以用于重构与该单元关联的那部分距离场。距离数据可包括在单元内的一组点处(例如,在单元的边界框的顶点处)的距离场的值以及距离场的梯度和偏导数。可根据需要从距离数据重构单元内的任何点处的距离场,以减少存储器和计算需求。
ADF可用于利用CSG运算模拟加工。可以将要加工的工件和工具表示为ADF。模拟的加工处理可(例如)通过修改工件的ADF来明确地生成模拟工件的ADF。在这种情况下,可通过模拟加工来修改与单元关联的距离数据,但是重构方法可保持不变。
另选地,可将模拟工件隐含地表示为复合ADF。与上述传统ADF不同,复合ADF不将距离场值样本存储在各个单元内。相反,复合ADF在单元的空间层次内存储通过分析或数值手段计算单元内的任何点处的距离场的精确值所需的各个单元的一组参数。所存储的参数可包括(例如)在加工工具的阵列中的一组索引,所述加工工具的阵列列出工具的类型、形状和相关尺寸。另外,所存储的参数可包括(例如)在动作的阵列中的一组索引,所述动作的阵列提供动作的类型、动作的开始点和结束点以及任何其它有用信息。另外,所存储的参数可包括(例如)用于组合距离场的算子(诸如用于加工模拟的CSG减法)。所述参数可用于确定重构函数,该重构函数可组合地使用,以计算或重构单元内的扫掠体距离场。扫掠体距离场被定义为表示通过使加工工具沿着路径移动而生成的扫掠体,其中,根据扫掠体重构方法来以连续方式定义扫掠体距离场。扫掠体重构方法可以重构采样点处的扫掠体距离场。
图3示出2D复合ADF300,其包括表示工作空间的体积的部分的单元(例如301、302和303)的空间层次,以及其边界被示出的距离场。在此示例中,距离场304-307的边界是定义初始工件的边界的平面。距离场308-310是表示球端工具106的扫掠的三个距离场的边界。复合ADF中的各个单元与表示原始工件和工具的扫掠体的一组距离场的子集关联。例如,与单元311关联的一组距离场的子集包括距离场304、308和309,这些距离场一起确定单元311内的复合ADF表面。诸如CSG差分的过程化重构方法也与单元关联,以用于组合该组距离场的子集以重构工件的复合距离场。复合表面被定义为工件的模拟边界,其包括原始工件距离场和扫掠工具距离场的边界的补片。
优选的是,各个单元的存储的距离场参数仅包括对实际形成加工后的工件的复合边界的距离场的引用,而非包括对模拟中的所有距离场或者其边界的一部分在单元内的所有距离场的引用。这意味着执行几何运算(例如,渲染)所需的计算量可最小化。
复合ADF的渲染
复合ADF的渲染采用所有3D计算机图形所共有的一些方法和术语。将3D物体渲染为图像涉及通过变换矩阵相关的多个坐标系。如图4所示,可在齐次世界空间坐标系(以下称作世界空间)(其原点和取向由轴线403示出)内定义复合ADF401(其原点和取向由轴线402示出)。世界空间坐标常常采用诸如毫米或英里的真实尺寸,可使用称作ADF矩阵的4x4矩阵来将ADF坐标映射至世界空间坐标。相对于世界空间坐标处于特定位置和取向的虚拟相机404定义眼睛空间坐标系(其原点和取向由轴线405给出)。可利用4x4观察矩阵来将世界空间中的点的坐标变换到眼睛空间中。
视锥台406与相机关联,视锥台406划定能够被相机看见的那部分世界空间。如果相机模型使用透视投影来复制与越近的物体相比,越远的物体看起来越小的日常体验,则视锥台为棱锥台406的形状。锥台的顶角由相机的视场确定。存在诸如正投影的替代投影变换,其中,视锥台为矩形形状。
可使用4x4投影矩阵来从眼睛空间坐标变换到裁剪(clip)空间坐标。视锥台的最小深度407和最大深度408传统上分别称作近裁剪平面和远裁剪平面。
在渲染的图像409中,视锥台内的所有3D物体均可见。从裁剪空间到屏幕空间的变换由视口矩阵确定,所述视口矩阵以像素为单位限定图像原点以及图像宽度和高度。图像409可包括存储与各个图像像素关联的各种值的多个存储器阵列(称作帧缓冲器)。这些存储器阵列中最重要的是保存各个像素的红色、绿色和蓝色颜色分量以及可能的透明度(或阿尔法(alpha))的颜色缓冲器。在渲染图像之前,通常将颜色缓冲器清除为选择的背景颜色(例如,黑色),以去除与缓冲器的早先使用关联的任何颜色值。
另一常用缓冲器是z缓冲器,其保存与屏幕空间中的各个像素关联的深度,使得近裁剪平面处的物体具有深度0.0,远裁剪平面处的物体具有深度1.0,例如,所述深度被归一化至范围[0,1]。深度缓冲器的功能是实现渲染的图像中的正确遮挡(如下面所述)。在渲染图像之前,通常将z缓冲器清除为特定的大深度值(通常为1.0)。
将复合ADF渲染为图像可通过多个方法来执行,例如物体顺序光线投射或图像顺序光线投射,如图4中的2-D示意性示出的。例如,在图像顺序光线投射方法过程中,光线在计算上从图像中的各个像素发射并穿过视锥台传播,直至光线与复合ADF的边界相交或者到达视锥台的远裁剪平面。光线可等同于具有类似时间的坐标t的参数线,使得光线在3D空间中的位置由R(t)=R0+Rdt限定,其中R0是光线的原点,Rd是光线的方向向量。光线通过首先寻找光线相交的具有最小t的最近单元来穿过复合ADF传播。如果最近单元是中间单元,则针对光线相交递归测试中间单元的子单元,直至光线与最近叶单元相交。如果该叶单元不是边界叶单元,则该单元不包括复合ADF的边界。然后,所述方法沿着光线寻找下一叶单元。
作为示例,光线411穿过视锥台传播,而未与任何单元相交。因此,与光线411对应的像素仍旧设置为背景颜色。光线412与空间层次的根单元相交。在此示例中,根单元是中间单元,并且全部为直接子单元。最终,递归到达单元425,该单元425是外部叶单元。然后,所述方法沿着光线412搜索下一单元。在此示例中,没有其它单元,因此,与光线412对应的像素保持背景颜色。
现在考虑与屏幕像素414关联的光线413。在与中间单元和外部叶单元相交之后,光线413与单元415相交,该单元415是边界叶单元并在图4的小图中放大示出。单元415包括距离场416、417和418的边界,其中,416是表示原始工件表面的平面距离场,417和418是与球端工具106的两个扫掠对应的距离场的边界。确定光线是否与单元内的复合ADF的边界相交的处理可涉及以下步骤:首先分别确定光线与单元的前边界面419和单元的后边界面420的交点的光线坐标tfront和tback。如果tfront>tback,则光线错过单元,并且处理下一光线。
对于与单元相交的光线,可以开始图像顺序光线投射的第二步骤:确定(例如)光线413分别与单元415所关联的距离场418、416和417的边界相交的交点421、422和423。由于模拟的减法性质,点p仅在复合ADF的表面上。点p在一个距离场的边界上,所有其它距离场的内侧,即,当且仅当di(p)=0时,对于i,j∈[0,N),i≠j,dj(p)>0,其中N是单元内的距离场边界的数量。因此,可针对交点421-423确定距离场416-418的值,满足上述条件的具有光线参数t的最小值的点是该光线的复合ADF表面点。在此示例中,点423满足所述条件,在3D计算机图形的术语中称作像素片段。
在确定像素片段(例如,点423)之后,从距离场的梯度计算表面的法向量。从表面的材料性质(例如,环境色、漫射色和镜面反射色,以及材料光泽)来确定与光线关联的像素的颜色和亮度,其通常利用考虑表面法向量与照明向量的点积以及光色的照明模型(例如,冯(Phong)或布林(Blinn))来修改。通常,冯照明用于塑料,布林照明用于金属。最后,将片段的颜色和z值分别写入颜色缓冲器和z缓冲器中。
通常在屏幕或图像坐标系中处理ADF或复合ADF的片段的坐标。然而,本领域技术人员将容易认识到,可通过利用视口、投影和观察变换矩阵的数学反演的逆变换来将片段的坐标从屏幕空间变换回世界空间。片段在世界坐标系中的坐标对应于世界坐标系中的ADF的表面。
边界表示
复合ADF并非立体物体的仅有的可能表示。大多数CAD软件中最常用的表示是边界表示或B-rep。b-rep是通过一组非搭接面(其并集表示物体的边界)的物体的表示。边界表示具有两部分:顶点、边缘和面的连接性和取向的拓扑描述,以及将这些表面元素嵌入空间中的几何描述。计算机图形中常用的三角网格是边界表示的示例。在三角网格中,各个面是以3条边为界并连接3个顶点的三角形。包含三角网格的所有顶点在世界空间中的位置的表提供边界表示的几何描述,第二表提供边界表示的拓扑描述,在第二表中,各个条目是形成三角网格的三角形的3个顶点的索引。
要求边界表示是闭合的,即,边界表示不能有任何间隙或孔洞。另外,b-rep必须拓扑上正确,即,b-rep不能有未与其它边或面连接的任何悬边或悬面,以形成闭合表面。
图5示出四面体的示例传统边界表示。可通过四个顶点、六条边和四个三角面来如下描述四面体:顶点为501、502、503和504;边511是具有端顶点501和502的直线;边512是具有端顶点502和503的直线;边512是具有端顶点502和503的直线;边513是具有端顶点503和504的直线;边514是具有端顶点501和504的直线;边515是具有端顶点502和504的直线;面520是以边512、513、515为界的三角形;面521是以边511、515、514为界的三角形;面522是以边511、516、512为界的三角形;并且面523是以边513、516、514为界的三角形。
边界表示明确地存储物体的边界表面。然而,通过面中的顶点的排序来隐含地确定面的指向物体内部的一侧。在此示例中,使用常用的右手排序,其中,右手的手指按照顶点的排序方向取向,拇指指向面的向外方向。确定空间中的点在边界表示的内部还是外部的方法是从该点发出光线并对光线在到达特定大距离(该距离足够大以确保在边界表示的外侧)之前相交的面的数量进行计数。如果相交面的数量为偶数,则点在边界表示的外侧,否则点在内侧。
边界表示不限于直边和平面。边界表示还可包括(例如)诸如三次B样条的参数曲线以及诸如贝塞尔补片的面。这些高次曲线和表面使得能够以紧凑方式表示带有自由边界的立体。
边界表示的渲染可通过3D图形硬件利用诸如OpenGL的图形应用程序接口(API)来执行,并且涉及上文在渲染复合ADF的背景下描述的相同的坐标系和变换。按照物体顺序方式单独地渲染边界表示的各个面。
在渲染过程中,可将边界的各个面转换为一个或更多个平面多边形,可将所述平面多边形传递给图形API。图形处理器可通过与观察变换矩阵相乘来将多边形顶点的位置从世界空间变换到眼睛空间,然后通过与投影矩阵相乘来将位置进一步变换到裁剪空间。
另外,通过观察矩阵的上3x3矩阵的逆转置来变换各个顶点处定义的表面的法向量。然后,通过丢弃未全部在裁剪体积(x,y,z)∈[-1,1]内的任何面来进行裁剪。部分地在裁剪体积内的任何面被裁剪至体积边界。然后,利用视口矩阵将顶点投影到屏幕空间中。这些顶点的(x,y,z)坐标现在分别在[0,screen_width)和[0,screen_height)以及[0.0,1.0]的范围内。然后,将变换的面光栅化;对于以变换的面为界的屏幕区域内的各个像素,生成边界表示的片段,其位置和颜色由面顶点的位置和颜色的双线性插值来确定。执行z测试,其中,将各个片段的z值与已经在z缓冲器中的值进行比较,如果该值较小,即,更接近,则用片段值覆盖当前z值和颜色,否则丢弃该片段。
可针对各个片段根据各个顶点处定义的变换的法向量来确定法向量,并将其插值到片段的屏幕位置。可根据材料性质(例如,环境色、漫射色和镜面反射色,以及材料光泽)来确定片段的颜色和亮度,其通常利用考虑插值的变换法向量与照明向量的点积以及光色的照明模型(例如,冯或布林)来进行修改。
加工中使用的许多工件开始时是简单形状,例如矩形立体或圆柱体。然而,另一类加工操作涉及铸造工件的精整。铸造工件或铸件是通过将熔融金属倾倒到模具中以形成更复杂的初始工件而制成的。常用模具材料是与弱粘合剂混合的砂子,其本身从其它模具浇铸成砂模。砂子的优点在于便宜和耐热,并且可通过简单地使砂子裂开来将成品铸件从砂模容易地取出。
由于砂子的相对粗糙的纹理,砂模铸件表面粗糙,尺寸精度低。然而,工件的一些表面需要表面光滑且尺寸精度高。例如,汽车发动机组通过砂模铸造制成,在汽缸内必须非常精确且光滑,使得活塞环能够密封汽缸并且活塞正确地移动。同样,安装孔必须带螺纹,垫圈连接单独的组件的密封表面必须表面光滑且平坦。
为了实现光滑的表面和精确的尺寸,铸件的一些表面或所有表面必须被加工。因此,重要的是,加工模拟器能够以铸造工件的表示开始。然而,铸造工件的表面表示可能与工具的动作的表示不相容。例如,铸造工件的表面可由明确表示(例如,CAD边界表示)来限定,而工具的动作可由具有隐含表示(例如,ADF表示)的表面限定。
传统方法将隐含物体表示转换为明确表示,或者相反。然而,转换处理耗时,并且可能具有大的存储器需求。另外,在自由表面的情况下,转换可能导致精度的损失。因此,本领域中存在解决上述问题的需要。
发明内容
本发明的目的在于提供一种通过工具模拟对物体进行加工的方法。本发明的另一目的在于提供这样一种方法,该方法提供物体的模型的加工模拟,而不修改模型本身。本发明的另一目的在于提供一种适合于利用具有一种类型的表面表示的一组扫掠体来对具有另一类型的表面表示的物体进行加工模拟的方法。
本发明的一些实施方式基于这样的认识:代替利用(例如)距离场表示的扫掠体来对具有(例如)表面的边界表示的物体的模型进行加工模拟,可创建距离场表示的代理物体,对该代理物体执行加工模拟以得到加工后的代理物体。现在,对物体的模型进行加工的问题降低至确定加工后的代理物体与物体的模型之间的布尔交集。
此外,一些实施方式基于另一认识:对于一些应用,没有必要将一个表示转换为另一表示。相反,将不同表示共同渲染以使得所述表示彼此正确地合成就足够了。两个表示的共同渲染生成包括正确遮挡的表示加工模拟的图像。
因此,本发明的一个实施方式公开了一种通过工具的动作对物体的加工进行计算机模拟的方法,其中,所述物体由边界表示(BP)物体表示,其中,所述BP物体包括所述物体的表面的边界表示,其中,所述动作由一组扫掠体表示,其中,所述一组扫掠体包括限定所述一组扫掠体的表面的第一组隐函数。所述方法的步骤由处理器执行。所述方法包括以下步骤:确定代理物体,该代理物体具有限定该代理物体的表面的第二组隐函数;利用所述一组扫掠体来模拟对所述代理物体的加工,以生成加工后的代理(MP)物体,该MP物体具有限定该MP物体的表面的第三组隐函数;渲染所述MP物体与所述BP物体之间的布尔交集的图像;以及将所述图像存储到存储器中。
此实施方式的变型可包括以下可选特征。例如,可从观察方向执行所述渲染,隐函数可以从由以下各项构成的组中选择出:距离场、采样距离场、自适应采样距离场、复合自适应采样距离场以及它们的组合。
另外,所述BP物体的表面可包括在世界坐标系中的BP物体片段,其中,所述MP物体的表面包括在所述世界坐标系中的MP物体片段。所述渲染还可包括以下步骤:确定在所述MP物体内部的一组BP物体片段;确定在所述BP物体内部的一组MP物体片段;以及将所述一组BP物体片段和所述一组MP物体片段转换为图像坐标系中的形成所述图像的至少一部分的一组像素。
确定所述一组BP物体片段的步骤可包括以下步骤:确定从BP物体片段到所述MP物体的表面的距离,其中,在所述世界坐标系中确定所述距离;如果所述距离表明所述BP物体片段在所述MP物体内部,则将所述BP物体片段添加到所述一组BP物体片段中;以及如果所述距离表明所述BP物体片段在所述MP物体外部,则将所述BP物体片段添加到所述一组加工后的BP物体片段中。
确定所述一组MP物体片段的步骤可包括以下步骤:在所述图像坐标系中确定MP物体片段的深度;以及如果所述深度在所述BP物体内部的至少一个深度范围内,则将所述MP物体片段添加到所述一组MP物体片段中,其中,在所述图像坐标系中确定所述深度范围。
另外地或另选地,确定所述一组MP物体片段的步骤可包括以下步骤:确定与所述一组加工后的BP物体片段中的BP物体片段对应的MP物体片段;在所述图像坐标系中确定各个对应MP物体片段的深度;如果所述深度在所述BP物体内部的至少一个深度范围内,则将对应MP物体片段添加到所述一组MP物体片段中,其中,在所述图像坐标系中确定所述深度范围;以及在所述图像坐标系中确定所述MP物体片段与所述一组加工后的BP物体片段中的BP物体片段之间的对应关系。
在一些变型中,所述方法还可包括以下步骤:针对与所述一组加工后的BP物体片段中的BP物体片段对应的像素设置像素标志,使得所述像素标志确定所述MP物体片段与所述BP物体片段之间的对应关系。另外地或另选地,所述方法可包括以下步骤:针对与所述一组加工后的BP物体片段中的BP物体片段对应的所述BP物体的至少一个面设置面标志,以生成至少一个加工后的面;以及仅针对所述加工后的面确定所述BP物体内部的所述深度范围。
在此实施方式的一个变型中,所述方法包括以下步骤:在世界坐标系中确定在所述BP物体的表面上的BP物体片段;在所述世界坐标系中确定在所述MP物体内部的一组BP物体片段以及在所述MP物体外部的一组加工后的BP物体片段;在所述图像坐标系中确定所述BP物体的一组加工后的面,各个加工后的面对应于所述一组加工后的BP物体片段中的至少一个BP物体片段;在所述图像坐标系中确定在所述BP物体内部的一组深度范围,其中,针对至少一个加工后的面确定至少一个深度范围;在所述世界坐标系中确定在所述MP物体的表面上的MP物体片段;在所述图像坐标系中确定与所述一组加工后的BP物体片段中的BP物体片段对应的MP物体片段;如果对应MP物体片段在所述图像坐标系中的深度在所述一组深度范围当中的至少一个深度范围内,则将所述对应MP物体片段添加到所述一组MP物体片段中;以及将所述一组BP物体片段和所述一组MP物体片段转换为图像坐标系中的形成所述图像的至少一部分的一组像素。上述实施方式可利用处理器来实现。
本发明的另一实施方式公开了一种通过工具的动作执行对物体的加工的计算机模拟的计算机系统,其中,所述物体由物体的模型表示,其中,所述动作由一组扫掠体表示,所述计算机系统包括处理器,该处理器被配置为:确定代理物体,使得所述代理物体的形状至少外接所述物体的所述模型的形状;利用所述一组扫掠体来模拟对所述代理物体的加工,以生成加工后的代理物体;以及渲染所述加工后的代理物体与所述物体的所述模型之间的布尔交集的图像。
在所述计算机系统中,所述物体的所述模型的表面的表示和所述一组扫掠体的表面的表示可以是不同类型的表示或相同类型的表示。
另一实施方式公开了一种通过工具的动作执行对物体的加工的计算机模拟的计算机程序产品,其中,所述物体由边界表示(BP)物体表示,其中,所述BP物体包括所述物体的表面的边界表示,其中,所述动作由一组扫掠体表示,其中,所述一组扫掠体包括限定所述一组扫掠体的表面的第一组隐函数,所述计算机程序产品包括计算机可读存储介质,该计算机可读存储介质包括利用该计算机可读存储介质具体实现的计算机可用的程序代码,其中,所述程序代码被配置为:确定代理物体,该代理物体具有限定所述代理物体的表面的第二组隐函数;利用所述一组扫掠体模拟对所述代理物体的加工,以生成加工后的代理(MP)物体,该MP物体具有限定该MP物体的表面的第三组隐函数;渲染所述MP物体与所述BP物体之间的布尔交集的图像;以及将所述图像存储到存储器中。
所述计算机程序产品可使所述程序代码还被配置为:在世界坐标系中确定在所述BP物体的表面上的BP物体片段;在所述世界坐标系中确定在所述MP物体内部的一组BP物体片段以及在所述MP物体外部的一组加工后的BP物体片段;在所述图像坐标系中确定所述BP物体的一组加工后的面,各个加工后的面对应于所述一组加工后的BP物体片段中的至少一个BP物体片段;在所述图像坐标系中确定在所述BP物体内部的一组深度范围,其中,针对至少一个加工后的面确定至少一个深度范围;在所述世界坐标系中确定在所述MP物体的表面上的MP物体片段;在所述图像坐标系中确定与所述一组加工后的BP物体片段中的BP物体片段对应的MP物体片段;如果对应MP物体片段在所述图像坐标系中的深度在所述一组深度范围当中的至少一个深度范围内,则将所述对应MP物体片段添加到所述一组MP物体片段中;以及将所述一组BP物体片段和所述一组MP物体片段转换为图像坐标系中的形成所述图像的至少一部分的一组像素。
附图说明
图1A是用于加工物体的示例工具以及工件的一部分的传统表示的示意图;
图1B是通过沿着弯曲路径扫掠2D形状确定的扫掠体的示意图;
图2A是工具的传统不同路径中的一个的示意图;
图2B是工具的传统不同路径中的一个的示意图;
图2C是工具的传统不同路径中的一个的示意图;
图3是表示加工后的工件的传统复合ADF的示意图;
图4是传统上通过图像顺序光线投射来渲染复合ADF的示意图;
图5是四面体的传统边界表示的示意图;
图6A是根据本发明的一些实施方式的模拟加工的示意图;
图6B是根据本发明的一些实施方式的模拟加工的示意图;
图6C是根据本发明的一些实施方式的模拟加工的示意图;
图7是根据本发明的一些实施方式的模拟加工的方法的框图;
图8是根据本发明的一些实施方式的渲染布尔交集的方法的框图;
图9是根据本发明的一些实施方式的渲染布尔交集的方法的框图;
图10是物体的深度范围的示意图;
图11是根据本发明的一个实施方式的渲染处理的流程图;
图12是根据本发明的一个实施方式的渲染处理的流程图;
图13是渲染处理的一些元件的示意图;以及
图14是根据本发明的一个实施方式的计算机系统的示意图。
具体实施方式
本发明的实施方式提供了一种用于模拟数控(NC)加工(例如,车削、镗孔、钻孔、拉削、锯切、成形、扩孔、铣削、攻丝、磨削)的方法。
通常,可以固定物体,仅工具移动,或者可以固定工具,仅物体移动,或者如利用车床车削时(其中物体旋转,工具直线移动)一样这二者均移动。因此,术语“动作”是指物体与工具之间的相对动作。
在此说明书中,我们使用铣削作为示例加工操作。然而,应该理解,本发明同样可应用于其它加工操作。
图6A-图6C示出本发明的一些实施方式背后的认识。图6A示出对物体的模型610的加工620进行模拟的方法。具体地讲,通过表示工具的动作的一组扫掠体625来修改模型610,以模拟加工后的物体630。然而,申请人总体上认识到,对于一些应用,执行加工620是不可取的。例如,当扫掠体利用隐函数(例如,距离场)隐含地表示,并且物体的模型利用(例如)边界表示明确地表示时,加工620可能失败。
申请人还认识到,如图6B所示,可利用代理物体640来避免加工620。例如,代理物体可具有与扫掠体的表面相同的表面表示。另外地或另选地,代理物体可具有比物体的形状更有利于加工模拟的形状。因此,本发明的一些实施方式将一组扫掠体625应用于650代理物体,以生成加工后的代理物体660。
接下来,如图6C所示,物体的模型610与加工后的代理物体660之间的布尔交集670生成加工后的物体680的图像,其看起来类似于包括正确遮挡的加工后的物体630。此外,可在将物体的模型和加工后的代理物体渲染成图像的过程中确定布尔交集,而无需修改物体的模型。
因此,代替对物体的模型执行加工模拟,本发明的一些实施方式对代理物体执行加工模拟。因此,对物体的模型进行加工的问题降低至确定加工后的代理物体与物体的模型之间的布尔交集。
代理物体将要加工的物体的模型与加工指令(即,一组扫掠体)分离。这种分离使得能够对具有不同形状和表面表示的任意类型的物体执行加工模拟。实际上,代理物体使得能够在不预先提供物体的模型的情况下进行加工模拟。此外,代理物体使得能够执行加工模拟以生成加工后的代理物体,并针对不同的要加工的物体重复使用加工后的代理物体。
因此,代理物体的使用降低了模拟的成本,同时扩展了加工模拟的适用性和灵活性。
物体的模型的表面和一组扫掠体的表面可有各种表示。例如,表面可具有明确表示(例如,边界表示)或隐含表示(例如,使用一组隐函数)。所述一组隐函数可包括从由以下各项构成的组中选择出的隐函数:距离场、采样距离场、自适应采样距离场、复合自适应采样距离场以及它们的组合。
在本发明的一些实施方式中,物体的模型的表面的表示和一组扫掠体的表面的表示是不同类型的表示。在另选实施方式中,物体的模型的表面的表示和一组扫掠体的表面的表示是相同类型的表示。
另外,在一些实施方式中,代理物体被确定为使得代理物体的形状至少外接物体的模型的形状。代理物体的形状为立体形状,例如矩形、立方形和球形。其它形状的代理物体也是可以的。
例如,在一个实施方式中,代理物体表示具有与扫掠体的表面表示相同的表面表示的立体物体,其中,代理物体的形状至少外接BP物体的形状。在此实施方式的一个变型中,代理物体具有矩形形状。
图7示出根据本发明的一些实施方式的用于对物体进行模拟加工的方法700的框图。在这些实施方式中,加工包括利用工具的动作加工物体。物体由边界表示(BP)物体701表示,其中,BP物体包括物体的表面的边界表示714。动作由一组扫掠体704表示,其中,一组扫掠体包括限定所述一组扫掠体的表面的第一组隐函数711。然而,提供此实施方式仅是为了示意性目的,并非旨在限制本发明的范围。
在BP物体701的加工模拟的开始,确定(730)代理物体702,其中,第二组隐函数712限定代理物体的表面。接下来,利用一组扫掠体704对代理物体702的加工进行模拟(740),以生成加工后的代理(MP)物体703,该MP物体703具有限定该MP物体的表面的第三组隐函数713。将MP物体703与BP物体701之间的布尔交集705渲染(750)为图像710。通常,从观察方向(例如,由光线706示出的观察方向)执行渲染750。图像710表示从观察方向706可以看到的加工后的BP物体。图像710可存储在存储器720中以进行存储或进一步处理。
方法700和/或本发明的其它实施方式由处理器799执行。“处理器”或“中央处理单元(CPU)”是指读取并执行软件指令的计算机或计算机的组件。本领域技术人员将理解,本发明的实施方式可具体实现为系统、方法或计算机程序产品。因此,实施方式可采取全硬件实施方式、全软件实施方式(包括固件、常驻软件、微代码等)或组合软件和硬件方面(在本文中可全部统称为“电路”、“模块”或“系统”)的实施方式的形式。另外,本发明可采取具体实现在一个或更多个计算机可读(即,计算机可用)介质中的计算机程序产品的形式,所述计算机可读介质上具体实现有计算机可用程序代码。
“计算机”是指能够接受结构化输入,根据规定的规则处理结构化输入并生成处理结果作为输出的任何设备。计算机的示例包括计算机;通用计算机;超级计算机;大型机;超级迷你计算机;迷你计算机;工作站;微型计算机;服务器;交互电视;计算机和交互电视的混合组合;仿真计算机和/或软件的专用硬件。计算机可具有单个处理器或多个处理器,所述处理器可并行和/或非平行操作。计算机还指经由用于在计算机之间发送或接收信息的网络连接在一起的两个或更多个计算机。这种计算机的示例包括经由通过网络链接的计算机来处理信息的分布式计算机系统。
“存储器”或“计算机可读介质”是指用于存储计算机可访问的数据的任何存储器。示例包括磁性硬盘;光盘,类似CD-ROM或DVD;磁带;存储器芯片;用于承载计算机可读电子数据的载波,例如发送和接收电子邮件或访问网络时使用的那些载波,以及计算机存储器,例如,随机存取存储器(RAM)。具体实现在计算机可读介质上的程序代码可利用任何适当的介质来发送,所述介质包括(但不限于)无线、有线线路、光纤线缆、RF等。
用于执行本发明的操作的计算机程序代码可以按照面向对象的编程语言(例如,Java、Smalltalk、C++等)来编写。然而,用于执行本发明的操作的计算机程序代码还可以按照传统的过程化编程语言(例如,“C”编程语言或类似编程语言)来编写。程序代码可全部在用户的计算机上执行,作为独立软件包部分地在用户的计算机上执行,部分地在用户的计算机上执行并部分地在远程计算机上执行,或者全部在远程计算机或服务器上执行。在后一种情形下,远程计算机可通过局域网(LAN)或广域网(WAN)连接到用户的计算机,或者可连接到外部计算机(例如,利用互联网服务提供商通过互联网连接)。
代理物体702可以是(例如)尺寸比BP物体601的尺寸大的矩形立体的ADF,代理物体的形状至少外接BP物体的形状。通常,布尔交集是指当且仅当点在一个物体的边界上并且在另一物体的内部时,该点仅在两个物体的布尔交集的边界上。两个物体的布尔交集的内部是两个物体的内侧区域共有的空间区域。由于代理物体比BP物体大,所以在两个物体内侧的空间区域等于在单独的b-rep物体内侧的空间区域。
BP物体与MP物体之间的布尔交集705的渲染750可通过多个方法来执行。具体方法的选择可取决于BP物体和MP物体的表面的表示类型。
图8示出根据本发明的一些实施方式的用于渲染750的方法的框图。BP物体的表面包括在世界坐标系805中的BP物体片段810。类似地,MP物体的表面包括也在世界坐标系805中的MP物体片段820。世界坐标系中的各个BP物体片段和MP物体片段对应于图像坐标系815中的图像710的像素。
确定(830)在MP物体内部的一组BP物体片段835。如果BP物体片段在MP物体的表面上或者在MP物体内侧,则该BP物体片段在MP物体内部。否则,BP物体片段在MP物体外部。
由于MP物体的表面被隐含地表示,所以可确定从BP物体片段到MP物体的表面的距离870。在世界坐标系805中确定所述距离。如果距离870表明BP物体片段在MP物体内部,则本发明的一个实施方式将该BP物体片段添加到一组BP物体片段835中。否则,BP物体片段在MP物体外部。通常,距离870的符号表明BP物体片段在MP物体内部还是外部。根据隐函数的定义,该符号可为正或负。如果距离870为零,则BP物体片段在MP物体的表面上,即,在MP物体内部。
类似地,确定(840)在BP物体内部的一组MP物体片段845。如果MP物体片段在BP物体的表面上或者在BP物体内侧,则该MP物体片段在BP物体内部。
由于BP物体的表面被明确地表示,所以本发明的一个实施方式在图像坐标系815中执行确定840。例如,在图像坐标系中确定MP物体片段的深度880,并且如果深度880在BP物体内部的至少一个深度范围885内,则将该MP物体片段添加到一组MP物体片段845。
图10示出图像坐标系中的BP物体1001的示例。根据观察方向,BP物体1001具有不同数量的内部深度范围。例如,对于观察方向1002,在BP物体内部有两个深度范围,即,深度范围1003和深度范围1004。对于观察方向1010,仅有一个深度范围1011。
再次参照图8,将一组BP物体片段835和一组MP物体片段845转换(850)为图像坐标系中的形成图像710的至少一部分的一组像素860。
在一些实施方式中,在MP物体外部的BP物体片段可对应于应该针对布尔交集的渲染进行测试的MP物体片段。因此,如果距离表明BP物体片段在MP物体外部,则本发明的一个实施方式将该BP物体片段添加到一组加工后的BP物体片段890中。在此实施方式中,对于在一组MP物体片段中的选择,仅测试与一组加工后的BP物体片段中的BP物体片段对应的MP物体片段。可在图像坐标系中确定MP物体片段与一组加工后的BP物体片段中的BP物体片段之间的对应关系。例如,一个实施方式针对与一组加工后的BP物体片段中的BP物体片段对应的像素在辅助帧缓冲器中设置像素标志,使得该像素标志确定MP物体片段与BP物体片段之间的对应关系。
在一些实施方式中,通过针对与一组加工后的BP物体片段中的BP物体片段对应的BP物体的至少一个面设置面标志以生成至少一个加工后的面,来进一步加速渲染750。在此实施方式中,仅针对加工后的面确定BP物体内部的深度范围。
本发明的一些实施方式使用双标记,即,设置像素标志和面标志这二者。此双标记通过允许跳过源自加工后的代理物体的图像中肯定没有片段的面和像素而极大加速了渲染。
图9示出根据本发明的一个实施方式的渲染处理900的流程图。在步骤910,在世界坐标系中确定BP物体的表面上的BP物体片段。在世界坐标系中,在步骤920确定在MP物体内部的一组BP物体片段,在步骤930确定在MP物体外部的一组加工后的BP物体片段。在步骤940,在图像坐标系中确定BP物体的一组加工后的面,使得各个加工后的面对应于一组加工后的BP物体片段中的至少一个BP物体片段。并且在步骤950,在图像坐标系中确定BP物体内部的一组深度范围,其中,针对至少一个加工后的面确定至少一个深度范围。
另外,在步骤960,在世界坐标系中确定MP物体的表面上的MP物体片段。在步骤970,在图像坐标系中确定与一组加工后的BP物体片段中的BP物体片段对应的MP物体片段。接下来,在步骤980,如果在图像坐标系中,对应MP物体片段的深度在步骤950中确定的一组深度范围当中的至少一个深度范围内,则通过将对应MP物体片段添加到一组MP物体片段中来确定一组MP物体片段。接下来,在步骤990,将一组BP物体片段和一组MP物体片段转换为图像坐标系中的形成图像的至少一部分的一组像素。
实现方式的示例
图11-图12示出根据本发明的一个实施方式的渲染为图像的处理的特定(但非旨在限制的)示例的流程图。图像显示在具有屏幕坐标系的显示装置的屏幕上。渲染以两个阶段进行。在第一阶段,渲染BP物体,使得具有在MP物体外部的世界空间位置的BP物体的任何BP片段不被添加到图像的帧缓冲器。在第二阶段,仅针对与在MP物体外部(即,来自一组加工后的BP片段)的BP物体片段对应的那些像素执行MP物体的渲染。
图11示出渲染的第一阶段的流程图。在第一阶段过程中,方法在BP物体的所有面上迭代(1101)。将各个面从世界坐标系投影(1102)到屏幕坐标系,然后光栅化(1103)以确定与图像中的像素的位置对应的片段。在光栅化(1103)过程中生成的各个片段经受z缓冲器测试(1104)以确定片段的可见性。接下来,将片段在屏幕坐标系中的坐标变换回(1105)BP片段在世界坐标系中的坐标。确定MP物体的距离场的值并针对BP片段在世界坐标系中的坐标进行测试(1106)。如果距离场的符号表明BP片段在MP物体内部,则该片段在BP物体与MP物体的布尔交集的边界上。因此,将BP物体的该BP片段的颜色和z值分别写入颜色和z缓冲器(1107)。如果MP物体的距离场的符号表明BP片段在MP物体外部,则不对该BP片段的颜色和z值进行计算或添加到颜色和z缓冲器。
然而,当BP片段在MP物体外部时,应该针对此像素显示的表面可能对应于MP物体。因此,针对与该外部BP片段对应的像素设置(1108)两个标志。具体地讲,面标志与包括该外部BP片段的BP物体的各个面关联。另外,针对与该外部BP片段对应的各个像素在辅助帧缓冲器中设置像素标志。像素标志表明对于此像素,MP物体可在BP物体与MP物体的布尔交集的边界上。在渲染的第二阶段过程中使用这两个标志。面标志和像素标志占据两个互补的渲染空间:面标志是物体标记,像素标志是图像标记。此双空间标记通过允许跳过源自MP物体的图像中肯定没有片段的面和像素而极大加速了渲染。
在渲染的第一阶段过程中,实施方式还将外部BP片段的z值存储(至少临时存储)在辅助z缓冲器中,以获得正确的遮挡。例如,BP物体的不同面的光栅化(1103)可生成与图像的相同像素对应的BP片段。这些BP片段中的一些(但没有必要是全部)可能在MP物体的外部。然而,早先光栅化的面可包括给定像素的外部BP片段。这导致针对该像素设置像素标志。稍后光栅化的面的BP片段可能覆盖早先光栅化的面的BP片段,因此必须清除针对该像素的像素标志。
例如,参照图13,面1310比面1311早渲染,当从箭头1312所指示的方向观察时,生成BP片段1313。然而,BP片段1313在MP物体1314的外侧,MP物体1314的外侧由点画图案指示。因此,BP片段1313在BP物体与MP物体的布尔交集外侧,对图像没有贡献。
BP片段1315从面1311生成,并且在MP物体1314内部,并且还具有比BP片段1313低的z,因此该片段可见并被添加到帧缓冲器。
辅助z缓冲器用于将面1311的情况与面1316的情况相区分。面1316的光栅化生成片段1317,该片段1317就像BP片段1313一样也在MP物体内部,因此潜在地可见。然而,在片段1315的情况下,MP物体的片段不可能可见,因为MP物体被面1311遮挡。然而,MP物体仍可能对遮挡面1316的像素有贡献。
参照图11和图13,针对存储在辅助z缓冲器1109中的值对外部BP片段1313的z值进行z测试。如果BP片段的z值小于所存储的值,则BP片段1313的z值取代(1110)所存储的z值。针对辅助z缓冲器中的值对下一内部BP片段1315进行z测试(1111)。如果片段1315的z值小于所存储的(例如,BP片段1313的)z值,则将片段1315的z值存储在标准z缓冲器和辅助z缓冲器这二者中,确定BP片段1315的颜色并将其存储在颜色缓冲器中,清除(1312)像素标志。
另选地,针对辅助z缓冲器(在此示例中,其具有片段1313的z值)中的值对诸如BP片段1317的下一内部BP片段进行z测试(1111)。由于片段1317的z值大于辅助z缓冲器中的z值,所以将片段1317的z值仅存储在标准z缓冲器中,并且确定片段1317的颜色并将其存储在颜色缓冲器中。不将片段1317的z值写入辅助z缓冲器,不清除像素标志。在一个实施方式中,在渲染的第一阶段完成之后,丢弃辅助z缓冲器的值。
在BP物体和MP物体的渲染的第二阶段过程中,一些实施方式确定在BP物体内部的z值的范围(以下称作BP物体内部的深度范围)。针对设置了像素标志的像素执行MP物体的渲染。如果像素的MP物体的MP片段的z值在BP物体内部的至少一个深度范围内,则MP片段在BP物体与MP物体的布尔交集的边界上,确定MP片段的颜色并将其存储在颜色缓冲器中。
如图10所示,根据BP物体1001的形状和观察方向,BP物体1001可具有一个或多个深度范围。例如,当从观察方向1002观察时,BP物体内部有两个深度范围,即,深度范围1003和深度范围1004(本文中统称为一组深度范围)。对于具有面标志的各个面并且对于该面上的具有像素标志的各个像素,确定深度范围以形成BP物体内部的一组深度范围。例如,对于深度范围1003和1004,一个实施方式存储四个z值:进入范围1003的第一z值、离开范围1003的第二值、进入范围1004的第三值、离开范围1004的第四值。
对于各个像素必须存储的z值的数量等于深度范围的数量的两倍。然而,BP物体可包括多个细段(类似梳齿),使得对于一些观察方向,深度范围的数量非常大。在这种情况下,存储所有z值所需的存储器会极大,并且无法预测。
因此,本发明的一个实施方式使用多程方法,该方法按照从前至后的顺序一次处理BP物体的一个深度范围。除了标准z缓冲器之外,该方法需要四个附加z缓冲器。一对额外的z缓冲器存储针对当前深度范围的进入和离开z值,第二对额外的z缓冲器存储针对先前深度范围的进入和离开z值。通过要求当前的进入z值大于先前的离开z值,该方法按照从前至后的顺序遍历深度范围。
另外,当前的离开z值必须大于当前的进入z值。然而,这是在下一进入z值之前总是存在离开z值的良好形成的边界表示的基本特征,以避免不可接受的拓扑二义性。以下,四个附加z缓冲器称作先前z前缓冲器、先前z后缓冲器、当前z前缓冲器和当前z后缓冲器。
参照图12,在初始化步骤过程中,将先前z前缓冲器和当前z前缓冲器中的每一像素的值设置(1201)为0.0,将先前z后缓冲器和当前z后缓冲器中的每一像素的值设置(1202)为1.0。接下来,该方法在BP物体的面上迭代(1203),将设置(1204)了面标志的BP物体的各个面投影到屏幕坐标系中(1205)并光栅化(1206)。
对于未设置像素标志(1207)的所有像素,跳过面的光栅化。对于设置了像素标志的BP物体的面的各个BP片段,执行z测试(1208)以确定BP片段是否被帧缓冲器中的像素遮挡。如果BP片段具有比标准z缓冲器中的值更大的z值,则BP片段被遮挡,并且不需要附加处理。如果与面关联的所有BP片段被遮挡,则清除面标志,并且不再处理所述面。
接下来,根据沿着面的两条边的一对向量的叉积确定面的法向量。利用观察矩阵变换法向量,计算观察方向与面的法向量之间的向量点积以确定面的取向(1209),即,面的取向是朝前还是朝后。如果点积为正,则所述面的取向背离观察方向,是向后的面,否则,所述面向前。将向前的面的各个BP片段的z值与先前z前缓冲器和当前z前缓冲器这二者中的值进行比较(1210)。如果BP片段的z值大于先前z前缓冲器中的值并小于当前z前缓冲器中的值,则将z值存储(1211)到当前z前缓冲器。如果向前的面的所有片段的z值小于或等于先前z前缓冲器中的值,则清除面标志,并且不再处理所述面。
将各个向后的片段的z值与先前z后缓冲器和当前z后缓冲器这二者中的z值进行比较。如果片段的z值大于先前z后缓冲器中的值并小于当前z后缓冲器中的值,则将BP片段的z值存储(1213)到当前z后缓冲器。如果向后的面的所有片段的z值小于或等于先前z后缓冲器中的值,则清除该面的面标志,并且不再处理所述面。
在针对设置了像素标志的所有像素确定一组深度范围之后,针对得到MP物体的MP片段的那些像素执行MP物体的渲染。渲染在辅助帧缓冲器中的像素上迭代(1214),对于设置了像素标志(1215)的各个像素,计算光线与MP物体的交点(1216),得到MP物体的一组MP片段。针对内侧间隔对MP物体的各个MP片段进行z测试(1217)。如果MP片段的z值在深度范围内,即,片段的z值大于当前z前缓冲器中的z值且小于当前z后缓冲器中的z值,则MP片段在BP物体与MP物体的布尔交集的边界上。因此,计算MP片段的颜色,将MP片段的颜色和z值分别存储(1218)在颜色缓冲器和标准z缓冲器中,并且清除(1219)像素标志。如果辅助缓冲器中的所有像素标志均被清除,则图像的渲染完成。
然而,如果在渲染了MP物体之后辅助缓冲器中仍存在设置的任何像素标志,则分别将当前z前缓冲器和当前z后缓冲器中的z值复制到先前z前缓冲器和先前z后缓冲器,将当前z前缓冲器和当前z后缓冲器设置为1.0,以用于确定BP物体内部的下一深度范围。这种在MP物体的渲染之后确定连续的深度范围的处理重复,直至不存在设置的像素标志(1220)。
图14示出根据本发明的一些实施方式的计算机系统的示意图。将一组加工指令1401从CD或DVD作为文件通过网络提供给NC加工控制器1402,或者通过本领域已知的一些其它手段提供给NC加工控制器1402。控制器1402包括处理器1403、存储器1404以及用于显示机器的操作的显示器1405。加工模拟器1406在处理器上运行,加工模拟器1406接收铣削指令1001,并采用本发明的方法1450来在显示器1405上生成模拟的工件的图像1407。
这些计算机可按照任何合适的形式通过一个或更多个网络互连,包括局域网或广域网(例如,企业网或互联网)。这些网络可基于任何合适的技术,并可根据任何合适的协议来操作,并且可包括无线网络、有线网络或光纤网络。
另外,本文中概述的各种方法或处理可编码为软件,该软件可在采用各种操作系统或平台中的任一个的一个或更多个处理器上执行。另外,这种软件可利用多种合适的编程语言和/或编程或脚本工具中的任一种来编写,并且还可被编译为在框架或虚拟机上执行的可执行机器语言代码或中间代码。
在这一方面,本发明可具体实现为计算机可读存储介质或多个计算机可读介质,例如计算机存储器、紧凑盘(CD)、光盘、数字视频盘(DVD)、磁带和闪存。另选地或另外地,本发明可具体实现为计算机可读存储介质以外的计算机可读介质,例如传播信号。
本文中在一般意义上使用术语“程序”或“软件”来指代任何类型的计算机代码或计算机可执行指令集,其可被采用以将计算机或其它处理器编程为实现如上所述的本发明的各个方面。
计算机可执行指令可为许多形式,例如由一个或更多个计算机或其它装置执行的程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构。通常,在各种实施方式中,程序模块的功能可根据需要组合或分布。
另外,本发明的实施方式可具体实现为方法,所述方法的示例已提供。作为方法的一部分执行的行为可按照任何合适的方式排序。因此,实施方式可被构造为按照与图示顺序不同的顺序执行行为,这可包括即使一些行为在示意性实施方式中作为顺序行为示出,也同时执行所述行为。
参照方法、设备(系统)和计算机程序产品的流程图和/或框图描述了本发明的实施方式。将理解,流程图和/或框图中的各个方框以及流程图和/或框图中的方框的组合可通过计算机程序指令来实现。可将这些计算机程序指令提供给通用计算机、专用计算机或其它可编程数据处理设备的处理器以生成机器,使得经由计算机或其它可编程数据处理设备的处理器执行的指令创建用于实现流程图和/或框图的方框中指定的功能/行为的装置。
还可将计算机程序指令加载到计算机或其它可编程数据处理设备上以使得在计算机或其它可编程设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机或其它可编程设备上执行的指令提供用于实现流程图和/或框图的方框中指定的功能/行为的步骤。
本发明的效果
本发明的实施方式描述了一种对物体进行模拟加工的系统、计算机产品和方法。实施方式实现了对物体的模型的加工模拟,而无需修改模型本身。另外,通过引入要加工的代理物体来代替物体的模型,实施方式使得能够利用具有一种类型的表面表示的一组扫掠体来对具有另一类型的表面表示的物体进行加工模拟。
[工业实用性]
本发明的系统和方法以及计算机程序产品可应用于许多类型的领域。

Claims (20)

1.一种通过工具的动作模拟对物体的加工的方法,其中,所述物体由边界表示(BP)物体表示,其中,所述BP物体包括所述物体的表面的边界表示,其中,所述动作由一组扫掠体表示,其中,所述一组扫掠体包括限定所述一组扫掠体的表面的第一组隐函数,所述方法包括以下步骤:
确定代理物体,该代理物体具有限定该代理物体的表面的第二组隐函数;
利用所述一组扫掠体来模拟对所述代理物体的加工,以生成加工后的代理(MP)物体,该MP物体具有限定该MP物体的表面的第三组隐函数;以及
渲染所述MP物体与所述BP物体之间的布尔交集的图像,其中,该方法的上述步骤由处理器执行。
2.根据权利要求1所述的方法,其中,隐函数从由以下各项构成的组中选择出:距离场、采样距离场、自适应采样距离场、复合自适应采样距离场以及它们的组合。
3.根据权利要求1所述的方法,其中,从观察方向执行所述渲染。
4.根据权利要求1所述的方法,其中,所述BP物体的表面包括在世界坐标系中的BP物体片段,其中,所述MP物体的表面包括在所述世界坐标系中的MP物体片段,并且其中,所述渲染还包括以下步骤:
确定在所述MP物体内部的一组BP物体片段;
确定在所述BP物体内部的一组MP物体片段;以及
将所述一组BP物体片段和所述一组MP物体片段转换为图像坐标系中的形成所述图像的至少一部分的一组像素。
5.根据权利要求4所述的方法,其中,确定所述一组BP物体片段的步骤包括以下步骤:
确定从BP物体片段到所述MP物体的表面的距离,其中,在所述世界坐标系中确定所述距离;以及
如果所述距离表明所述BP物体片段在所述MP物体内部,则将所述BP物体片段添加到所述一组BP物体片段中。
6.根据权利要求4所述的方法,其中,确定所述一组MP物体片段的步骤包括以下步骤:
在所述图像坐标系中确定MP物体片段的深度;以及
如果所述深度在所述BP物体内部的至少一个深度范围内,则将所述MP物体片段添加到所述一组MP物体片段中,其中,在所述图像坐标系中确定所述深度范围。
7.根据权利要求5所述的方法,该方法还包括以下步骤:
如果所述距离表明所述BP物体片段在所述MP物体外部,则将所述BP物体片段添加到一组加工后的BP物体片段中。
8.根据权利要求7所述的方法,其中,确定所述一组MP物体片段的步骤包括以下步骤:
确定与所述一组加工后的BP物体片段中的BP物体片段对应的MP物体片段;
在所述图像坐标系中确定各个对应MP物体片段的深度;以及
如果所述深度在所述BP物体内部的至少一个深度范围内,则将对应MP物体片段添加到所述一组MP物体片段中,其中,在所述图像坐标系中确定所述深度范围。
9.根据权利要求8所述的方法,该方法还包括以下步骤:
在所述图像坐标系中确定所述MP物体片段与所述一组加工后的BP物体片段中的BP物体片段之间的对应关系。
10.根据权利要求9所述的方法,该方法还包括以下步骤:
针对与所述一组加工后的BP物体片段中的BP物体片段对应的像素设置像素标志,使得所述像素标志确定所述MP物体片段与所述BP物体片段之间的对应关系。
11.根据权利要求9所述的方法,该方法还包括以下步骤:
针对与所述一组加工后的BP物体片段中的BP物体片段对应的所述BP物体的至少一个面设置面标志,以生成至少一个加工后的面;以及
仅针对所述加工后的面确定所述BP物体内部的所述深度范围。
12.根据权利要求1所述的方法,该方法还包括以下步骤:
在世界坐标系中确定在所述BP物体的表面上的BP物体片段;
在所述世界坐标系中确定在所述MP物体内部的一组BP物体片段以及在所述MP物体外部的一组加工后的BP物体片段;
在所述图像坐标系中确定所述BP物体的一组加工后的面,各个加工后的面对应于所述一组加工后的BP物体片段中的至少一个BP物体片段;
在所述图像坐标系中确定在所述BP物体内部的一组深度范围,其中,针对至少一个加工后的面确定至少一个深度范围;
在所述世界坐标系中确定在所述MP物体的表面上的MP物体片段;
在所述图像坐标系中确定与所述一组加工后的BP物体片段中的BP物体片段对应的MP物体片段;
如果对应MP物体片段在所述图像坐标系中的深度在所述一组深度范围当中的至少一个深度范围内,则将所述对应MP物体片段添加到所述一组MP物体片段中;以及
将所述一组BP物体片段和所述一组MP物体片段转换为图像坐标系中的形成所述图像的至少一部分的一组像素。
13.根据权利要求1所述的方法,其中,所述代理物体的形状至少外接所述BP物体的形状。
14.根据权利要求1所述的方法,其中,所述代理物体是立体的。
15.一种通过铣削工具的动作执行对物体的铣削的计算机模拟的计算机系统,其中,所述物体由所述物体的模型表示,其中,所述铣削工具的动作由一组扫掠体表示,所述计算机系统包括处理器,该处理器被配置为:
确定代理物体,使得所述代理物体的形状至少外接所述物体的所述模型的形状;
利用所述一组扫掠体模拟所述代理物体的铣削,以生成加工后的代理物体;以及
渲染所述加工后的代理物体与所述物体的所述模型之间的布尔交集的图像。
16.根据权利要求15所述的系统,其中,所述物体的所述模型的表面的表示和所述一组扫掠体的表面的表示是不同类型的表示。
17.根据权利要求15所述的系统,其中,所述物体的所述模型的表面的表示和所述一组扫掠体的表面的表示是相同类型的表示。
18.一种通过铣削工具的动作执行对物体的铣削的计算机模拟的计算机程序产品,其中,所述物体由边界表示(BP)物体表示,其中,所述BP物体包括所述物体的表面的边界表示,其中,所述铣削工具的动作由一组扫掠体表示,其中,所述一组扫掠体包括限定所述一组扫掠体的表面的第一组隐函数,所述计算机程序产品包括:
计算机可读存储介质,该计算机可读存储介质包括利用该计算机可读存储介质具体实现的计算机可用的程序代码,其中,所述程序代码被配置为:
确定代理物体,该代理物体具有限定该代理物体的表面的第二组隐函数;
利用所述一组扫掠体来模拟所述代理物体的铣削,以生成加工后的代理(MP)物体,该MP物体具有限定该MP物体的表面的第三组隐函数;
渲染所述MP物体与所述BP物体之间的布尔交集的图像;并且
将所述图像存储到存储器中。
19.根据权利要求18所述的计算机程序产品,其中,所述程序代码还被配置为:
在世界坐标系中确定在所述BP物体的表面上的BP物体片段;
在所述世界坐标系中确定在所述MP物体内部的一组BP物体片段以及在所述MP物体外部的一组加工后的BP物体片段;
在所述图像坐标系中确定所述BP物体的一组加工后的面,各个加工后的面对应于所述一组加工后的BP物体片段中的至少一个BP物体片段;
在所述图像坐标系中确定在所述BP物体内部的一组深度范围,其中,针对至少一个加工后的面确定至少一个深度范围;
在所述世界坐标系中确定在所述MP物体的表面上的MP物体片段;
在所述图像坐标系中确定与所述一组加工后的BP物体片段中的BP物体片段对应的MP物体片段;
如果对应MP物体片段在所述图像坐标系中的深度在所述一组深度范围当中的至少一个深度范围内,则将所述对应MP物体片段添加到所述一组MP物体片段中;并且
将所述一组BP物体片段和所述一组MP物体片段转换为图像坐标系中的形成所述图像的至少一部分的一组像素。
20.根据权利要求18所述的计算机程序产品,其中,各组隐函数包括从由以下各项构成的组中选择出的隐函数:距离场、采样距离场、自适应采样距离场、复合自适应采样距离场以及它们的组合。
CN201280031185.1A 2011-06-24 2012-06-11 通过工具的动作模拟物体的加工的方法及其系统和计算机程序产品 Active CN103649856B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/168,582 US8838419B2 (en) 2011-06-24 2011-06-24 System and method for simulating machining objects
US13/168,582 2011-06-24
PCT/JP2012/065439 WO2012176713A1 (en) 2011-06-24 2012-06-11 Method for simulating machining of objects by motion of tool and system and computer program product therefor

Publications (2)

Publication Number Publication Date
CN103649856A true CN103649856A (zh) 2014-03-19
CN103649856B CN103649856B (zh) 2016-07-13

Family

ID=46466802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280031185.1A Active CN103649856B (zh) 2011-06-24 2012-06-11 通过工具的动作模拟物体的加工的方法及其系统和计算机程序产品

Country Status (5)

Country Link
US (1) US8838419B2 (zh)
JP (1) JP5726368B2 (zh)
CN (1) CN103649856B (zh)
DE (1) DE112012002623T5 (zh)
WO (1) WO2012176713A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092741A (zh) * 2016-02-02 2017-08-25 达索系统公司 使用面轨迹的b‑rep设计
TWI771906B (zh) * 2020-02-10 2022-07-21 美商莫仕有限公司 生成線纜組件産品的圖形渲染的方法及系統及電腦可讀介質
US11720079B2 (en) * 2016-01-29 2023-08-08 Sandvik Intellectual Property Ab System and method for computer numerical control (CNC) tool without undercut features operations planning with the aid of a digital computer

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2590144B1 (en) 2011-11-03 2018-10-24 Dassault Systèmes Designing a modeled volume represented by dexels
EP2590143B1 (en) * 2011-11-03 2018-10-24 Dassault Systèmes Simulation of the machining of a workpiece
US9208609B2 (en) * 2013-07-01 2015-12-08 Mitsubishi Electric Research Laboratories, Inc. Method for fitting primitive shapes to 3D point clouds using distance fields
US9524356B2 (en) 2013-10-16 2016-12-20 General Electric Company System and methods of generating a computer model of composite component
US10061284B2 (en) * 2014-03-20 2018-08-28 The Exone Company Three-dimensional printing using fast STL file conversion
US10108172B2 (en) * 2014-10-13 2018-10-23 Autodesk, Inc. Spiral toolpaths for high-speed machining of polygonal pockets
TWI578128B (zh) * 2015-12-10 2017-04-11 Hurco Automation Ltd The Method of Cutting Path Generation for Dialogue Controller of CNC Machine Tool
US10155273B1 (en) 2016-05-19 2018-12-18 X Development Llc Interactive object fabrication
CA3027113C (en) * 2016-06-08 2024-01-02 Schlumberger Canada Limited Structural volume segmentation
US10353352B2 (en) 2017-02-22 2019-07-16 Mitsubishi Electric Research Laboratories, Inc. System and method for distributed machining simulation
US10553010B2 (en) * 2017-04-01 2020-02-04 Intel IP Corporation Temporal data structures in a ray tracing architecture
US10565778B2 (en) * 2017-08-22 2020-02-18 Samsung Electronics Co., Ltd. Electronic devices for and methods of implementing memory transfers for image warping in an electronic device
JP7087316B2 (ja) * 2017-09-27 2022-06-21 オムロン株式会社 情報処理装置、情報処理方法およびプログラム
US10520923B2 (en) * 2018-05-22 2019-12-31 Mantle Inc. Method and system for automated toolpath generation
US10970911B2 (en) * 2019-02-21 2021-04-06 Facebook Technologies, Llc Graphics processing chip with machine-learning based shader
US11803674B2 (en) 2019-11-18 2023-10-31 Autodesk, Inc. Dual mode post processing
CN111161416B (zh) * 2019-12-11 2023-08-29 北京互时科技股份有限公司 根据模型形状信息精确调整模型显示优先级的方法和系统
US11436793B1 (en) 2021-02-12 2022-09-06 Facebook Technologies, Llc Systems and methods for graphics rendering based on machine learning

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204286A1 (en) * 2002-04-26 2003-10-30 Thomas Steven M. Method for modeling complex, three dimensional tool paths through a workpiece
CN1536975A (zh) * 2001-03-26 2004-10-13 LBҽҩ���޹�˾ 用于对材料进行切除或用于材料进行加工处理的方法和器械系统
US20050102054A1 (en) * 2003-11-12 2005-05-12 Siemens Aktiengesellschaft Method and system for simulating processing of a workpiece with a machine tool
US20060195303A1 (en) * 2004-02-06 2006-08-31 The Boeing Company Apparatus and Methods for Creating Sketch-Based Eggcrate Substructures for Composite Parts
CN101017376A (zh) * 2006-09-26 2007-08-15 河北科技大学 一种复杂形体等高分割组合数控铣削制造法
CN101894176A (zh) * 2009-05-19 2010-11-24 三菱电机株式会社 在采样点重建扫过容积的距离场的方法
CN101890523A (zh) * 2009-05-19 2010-11-24 三菱电机株式会社 利用自适应采样距离场仿真数控铣削的方法
WO2010134198A1 (ja) * 2009-05-22 2010-11-25 三菱電機株式会社 シミュレーション装置およびシミュレーションプログラム
WO2011042764A1 (en) * 2009-10-06 2011-04-14 Pécsi Tudományegyetem Method, computer system and computer program product for machining simulation and for visually presenting such simulation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5710709A (en) * 1993-08-19 1998-01-20 Iowa State University Research Foundation, Inc. NC milling simulation and dimensional verification via dexel representation
US6606528B1 (en) * 2000-06-21 2003-08-12 The Boeing Company Method for creating computer-aided design (CAD) solid models from numerically controlled (NC) machine instructions
US7024272B2 (en) * 2002-04-26 2006-04-04 Delphi Technologies, Inc. Virtual design, inspect and grind optimization process
US8483858B2 (en) * 2010-03-31 2013-07-09 Mitsubishi Electric Research Laboratories, Inc. System and method for optimizing machining simulation

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1536975A (zh) * 2001-03-26 2004-10-13 LBҽҩ���޹�˾ 用于对材料进行切除或用于材料进行加工处理的方法和器械系统
US20030204286A1 (en) * 2002-04-26 2003-10-30 Thomas Steven M. Method for modeling complex, three dimensional tool paths through a workpiece
US20050102054A1 (en) * 2003-11-12 2005-05-12 Siemens Aktiengesellschaft Method and system for simulating processing of a workpiece with a machine tool
US20060195303A1 (en) * 2004-02-06 2006-08-31 The Boeing Company Apparatus and Methods for Creating Sketch-Based Eggcrate Substructures for Composite Parts
CN101017376A (zh) * 2006-09-26 2007-08-15 河北科技大学 一种复杂形体等高分割组合数控铣削制造法
CN101894176A (zh) * 2009-05-19 2010-11-24 三菱电机株式会社 在采样点重建扫过容积的距离场的方法
CN101890523A (zh) * 2009-05-19 2010-11-24 三菱电机株式会社 利用自适应采样距离场仿真数控铣削的方法
WO2010134198A1 (ja) * 2009-05-22 2010-11-25 三菱電機株式会社 シミュレーション装置およびシミュレーションプログラム
WO2011042764A1 (en) * 2009-10-06 2011-04-14 Pécsi Tudományegyetem Method, computer system and computer program product for machining simulation and for visually presenting such simulation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HONG T. YAU: "Adaptive NC Simulation for Multi-axis Solid Machine", 《COMPUTER-AIDED DESIGN AND APPLICATION》, 30 December 2005 (2005-12-30) *
PETER H.ERNST: "Boolean Set Operations with Solid Models", 《HEWLETT-PACKARD JOURNAL》, 31 October 1995 (1995-10-31), XP000545681 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11720079B2 (en) * 2016-01-29 2023-08-08 Sandvik Intellectual Property Ab System and method for computer numerical control (CNC) tool without undercut features operations planning with the aid of a digital computer
CN107092741A (zh) * 2016-02-02 2017-08-25 达索系统公司 使用面轨迹的b‑rep设计
CN107092741B (zh) * 2016-02-02 2023-07-18 达索系统公司 使用面轨迹的b-rep设计
TWI771906B (zh) * 2020-02-10 2022-07-21 美商莫仕有限公司 生成線纜組件産品的圖形渲染的方法及系統及電腦可讀介質

Also Published As

Publication number Publication date
US20120330620A1 (en) 2012-12-27
JP2014510975A (ja) 2014-05-01
CN103649856B (zh) 2016-07-13
JP5726368B2 (ja) 2015-05-27
DE112012002623T5 (de) 2014-04-17
US8838419B2 (en) 2014-09-16
WO2012176713A1 (en) 2012-12-27

Similar Documents

Publication Publication Date Title
CN103649856B (zh) 通过工具的动作模拟物体的加工的方法及其系统和计算机程序产品
JP6476090B2 (ja) 加速構造の生成及び探索を行う方法並びに装置
JP5805322B2 (ja) 物体のモデルを生成しシミュレートするコンピュータープログラム製品及び方法
Greß et al. GPU‐based collision detection for deformable parameterized surfaces
JP2009525526A (ja) ビーム放出によって仮想画像を合成するための方法
KR100634537B1 (ko) 3차원 영상의 삼각 분할 장치 및 방법과 그 장치를제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수있는 기록 매체
JPH0362276A (ja) グラフィクス処理装置及び方法並びにピクセル・メモリ装置
KR102242566B1 (ko) 레이 트레이싱 처리 장치 및 방법
US20220383583A1 (en) Hardware acceleration for ray tracing primitives that share vertices
KR20170083891A (ko) 가속 구조를 생성하는 방법 및 장치
KR20180069461A (ko) 가속 구조를 생성하는 방법 및 장치
CN105760570A (zh) 选择对象集的视点
Rossignac et al. Solid modeling
Wang et al. Efficient boundary extraction of BSP solids based on clipping operations
JP2018073427A (ja) 加速構造を生成する方法及びその装置
GB2346222A (en) Method for simulating machining of raw stock
CN105144007A (zh) 在加工仿真期间执行撤销操作和重做操作的系统和方法
KR20170025993A (ko) 가속 구조를 생성 및 탐색하는 방법
JPH09305791A (ja) 立体画像生成装置および立体画像生成方法
Rassovsky Cubical marching squares implementation
Sommer et al. Geometry and rendering optimizations for the interactive visualization of crash-worthiness simultations
van Rossen et al. Real-time constructive solid geometry
JP7338322B2 (ja) 三次元形状データの編集装置、及び三次元形状データの編集プログラム
Peng A hybrid cubic-tetrahedral voxel modeling method for enhanced computational efficiency
JPH06314317A (ja) Cadデータの立体図描画方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant