CN102822756A - 用于优化加工仿真的系统和方法 - Google Patents
用于优化加工仿真的系统和方法 Download PDFInfo
- Publication number
- CN102822756A CN102822756A CN2011800163785A CN201180016378A CN102822756A CN 102822756 A CN102822756 A CN 102822756A CN 2011800163785 A CN2011800163785 A CN 2011800163785A CN 201180016378 A CN201180016378 A CN 201180016378A CN 102822756 A CN102822756 A CN 102822756A
- Authority
- CN
- China
- Prior art keywords
- unit
- distance field
- light
- subclass
- inswept
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/4093—Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
- G05B19/40937—Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine concerning programming of machining or material parameters, pocket machining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35009—Dynamic simulation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35148—Geometric modeling for swept volume of moving solids
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35287—Verify, check program by drawing, display part, testpiece
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Image Generation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种用于优化对通过从工件的主体除去扫过体的集合而实施的对工件的加工的仿真的方法,其中所述主体被分为单元的集合,所述方法包括以下步骤:对于每个单元,将表示与该单元相交的扫过体子集的距离场子集与该单元相关,其中所述扫过体子集的至少部分形成所述单元的复合表面;对所述单元施加从至少一个方向入射到所述单元的光线的集合;以及将所述距离场子集的距离场选入到与所述单元相关的最优子集中,其中由所述距离场表示的所述扫过体的边界在位于所述复合表面上的交点处与至少一个光线相交。
Description
技术领域
本发明总体涉及加工仿真,更具体涉及确定距离场的最优子集以优化对加工过程的仿真。
背景技术
数控铣削
对数控(NC)加工(例如,铣削或车削)的过程的仿真在计算机辅助设计(CAD)和计算机辅助制造(CAM)中具有根本的重要性。在仿真中,工件的计算机模型被利用如NC铣削工具的工具和一组工具的运行而编辑,仿真加工过程。
该仿真将工件的模型和工具的表示可视化,以检测诸如工件和工具支架的部件之间的可能的冲突,并验证工件的最终形状。
工件的最终形状受工具和工具的运行的选择所影响。通常利用计算机辅助制造系统根据希望的工件的最终形状的图形表示来生成用于控制运行的指令。通常使用数控编程语言实施所述运行,该数控编程语言也被称为预编码(preparatory code)或G码,参见以下的标准RS274D和DIN 66025/ISO 6983。
由计算机辅助制造系统生成的G码可能无法生成对希望的最终形状的精确复制。另外,通过NC加工系统的马达控制工具的运转,该马达具有受限的速度、运行范围以及加速和减速能力,从而实际的工具运行有时不精确遵从NC加工指令。
工件的实际最终形状与工件的希望最终形状之间的不一致可能非常小,并且难于看出。在一些情况中,这些不一致导致在工件的最终形状的表面上的不希望有的沟凿(gouge)或刻痕(nick),该沟凿或刻痕的尺寸为几微米的深度和宽度、和几十微米的长度的量级。
通常,在加工希望的部件前,通过加工由较软且较便宜的材料制成的测试工件而测试NC加工指令集。如果对测试工件的视觉检查发现测试工件中的不希望的不一致,则相应地修改NC加工指令。
然而,该手动测试是耗时且昂贵的。用于加工单个测试工件的时间可能为数小时的量级,并且在获得可接受的NC加工指令集之前可能需要若干的重复。从而,期望的是,利用基于计算机的仿真和呈现(rendering)来对这些不一致进行测试。在美国专利申请No.12/495,588和No.12/468,607中描述了基于计算机的仿真的实例,其在此引入作为参考。
工具
图2A示出NC铣削中使用的一组典型工具202、204、206和208。当工具相对于工件210移动时,工具从工件切取材料。这里,工具202、204、206和208从工件除去对应于表面212、214、216和218的统称为“扫过体”(swept volume)的材料。由各个工具除去的材料的形状由工具的形状和工具相对于工件的路径而决定。
扫过体
在加工中,工具根据工具的规定运行(即工具路径)而相对于工件移动,其中工具路径可包括关于相对于工件的工具的相对位置、方向和其它形状数据的信息。
当工具沿着工具路径移动时,工具切除扫过体。在加工中,当工具沿着工具路径移动时,由扫过体横穿的工件的体积的部分被除去。可以在计算机中将该材料切除建模为构造的立体几何(CSG,constructive solid geometry)差分运算,其中利用从工件减去扫过体的CSG减法运算从工件除去工件的部分。
图2B示出沿路径252移动的具有形状250的扫过体260。路径252指定形状250的特定点的位置作为时间的函数。该路径能够指定形状的方向256、257和258作为时间的函数。该路径还可以指定形状的比例或形状的任意变形作为时间的函数。在图2B中,随着形状250沿着路径移动,形状250的初始位置、方向和几何形状被转换为最终位置、方向和几何形状。
图3A示出线性路径,其中工具302沿直线304移动。
图3B示出圆弧路径,其中工具302的末端沿着圆弧312移动,并且工具的初始轴方向314在路径末尾被转换到最终轴方向316。
图3C示出曲线路径,其中工具302的末端310沿着曲线320移动。
其它可能的路径形式,仅举几例,包括:将工具定位在一点、沿着已知为折线的连续的线移动工具、沿着螺旋或盘旋曲线移动工具、沿着多项式曲线移动工具,所述多项式曲线诸如为二次Bezier曲线或三次Bezier曲线、或者已知为(用于仅命名少量的)分段多项式曲线的连续的多项式曲线。可以考虑能够被仿真的任何形式的路径,包括诸如受工件的形状或材料组成影响的路径等由过程限定的路径。
距离场
对象的距离场d(p)是标量场,在空间中点p处的d(p)的值为从点p到对象表面的距离。现有技术中已知多种可能的距离场,而最常见且有用的为欧氏距离场,其中所述距离为到对象表面的最小距离,被定义为d(ps)=0。
另外,对距离场添加符号以区分对象的外侧和内侧,例如,d(p)>0表示内侧,d(p)<0表示外侧。另外,点p处的距离场的梯度向量指向最小距离的方向,并且在对象的表面,归一化梯度向量等于表面的法向向量。如在此引入作为参考的美国专利No.6,396,492、6,724,393、6,826,024和7,042,458中所述,距离场有隐函数的形式、并且是用于呈现和编辑形状的有效表示。
自适应采样距离场(ADF,adaptively sampled distance field)使用细节指向采样(detail-directed sampling)以提供对距离场的空间和时间的高效的表示。ADF在多个单元的空间层级中存储距离场。每个单元包含距离数据和用于重构与该单元相关的距离场的部分的重构方法。距离数据可以包括距离场的值,以及距离场的梯度和偏导数。可以根据需要重构单元的距离场,以减少存储器和计算需求。
ADF可用于利用CSG运算仿真铣削。可以将待铣削的工件和铣削工具表示为ADF。仿真的铣削处理可以例如通过修改工件的ADF而明确地生成仿真工件的ADF。可选地,可以将仿真的工件隐含地表示为复合ADF。复合ADF存储工件和铣削工具的距离场、如用于铣削工具的CSG减法算子等对应于距离场的算子、以及在呈现或其它处理期间根据要求合成存储的距离场的距离场重构方法。
可以通过工具距离场表示铣削工具。可以通过参数函数表示工具路径。扫过体距离场被定义为表示通过沿路径移动铣削工具产生的扫过体,其中根据扫过体重构方法以连续的方式定义扫过体距离场。扫过体重构方法可以重构采样点处的扫过体距离场。
特定关注的采样点的实例是距离场的值d等于零、即d=0的任何对象的距离场的等值面上的点。如本文所述,对象的距离场的零值等值面为该对象的边界,例如工件的边界,或扫过体的边界。
图1A是对复合ADF 100的2D图示,该复合ADF 100包括例如101、102和103的单元的空间层级,表示工件的体积的部分以及距离场,其中距离场的边界被示出。在该实例中,距离场104-107是定义初始工件的边界的平面。距离场108-110是表示球端铣削工具的扫过的三个距离场。复合ADF中的每个单元与表示初始工件和铣削工具的扫过体的距离场的集合的子集相关。例如,距离场104、108和109与单元111相关,距离场104、108和109共同确定单元111中的复合表面。例如CSG差分等过程重构方法也与单元相关,该方法用于合成距离场集合的子集以重构工件的复合距离场。该复合表面被定义为工件的仿真边界,其由初始工件距离场和扫过工具距离场的边界的拼接片构成。
可通过多种方法选择与单元相关的距离场子集。例如,该子集可仅限于这样的距离场,其中从该单元的中心到边界的距离的绝对值小于完全包围该单元的球体的直径。可选地是,子集可仅限于这样的距离场,该距离场表示具有如下边界的扫过体,其中所述边界的至少部分与单元相交。可以例如通过利用边界/单元相交测试来取回单元中距离场等于零的点,而确定这些距离场。
期望的是,与单元相关的距离场集合的子集仅包括实际形成单元内的复合表面的距离场,其中通过最小化在例如呈现的几何运算期间必须处理的距离场的数目而最大化仿真器性能。然而,上述确定单元的距离场子集的方法可能导致差的仿真器性能,因为通过这些方法找出的子集的多个距离场可能表示进入单元但不形成工件边界的部分的扫过体。
图1B示出对工件的部分的常规表示的实例。表示工件的复合ADF包括单元的集合,例如单元101,以及距离场的集合102-105,其表示如扫过体110等工具的扫过体。工件107的部分由单元101和扫过体距离场103-105的子集表示。由于扫过体距离场102不与单元的边界相交,所以该距离场通常不被包括在子集中。然而,如该实例所示,扫过体距离场103-104不形成工件的边界的部分,从而也不应被包括在子集中。
作为具体实例,考虑与x、y和z轴对齐、边长为400微米的立方单元,以及在x、y平面以平行于x轴的平行扫过移动的半径为2mm的球形工具,其中所述扫过以50微米为间隔,并且工具高度为使得工具的最小点位于单元底部的略微上方。从而,56个工具扫过体在单元内具有边界,但是这些扫过体中仅有9个形成工件的边界。
从而,为了优化对铣削处理的仿真的性能,需要优化与单元相关的距离场子集。
发明内容
本发明的目的为优化对铣削处理的仿真的性能。
本发明的另一目的为优化表示工件和扫过体的距离场子集。
在本发明的各个实施例中,由距离场表示工件和扫过体。与单元相关的为距离场子集,其初始包括表示与单元相交的边界的距离场。本发明的实施例对子集进行优化,该子集形成包括表示形成工件的复合表面的边界的距离场的最优子集。
实施例基于这样的认识:如果对单元内的通过从工件除去扫过体0形成的工件的复合表面施加入射到单元和/或复合表面的光线,则这些光线与扫过体的边界和复合表面的交点表示实际形成复合表面的扫过体。
本发明的一个实施例公开了一种用于优化对通过从工件的主体(volume)除去扫过体的集合而实施的对工件的加工的仿真的方法,其中所述工件的主体被分为单元的集合,所述方法包括以下步骤:对于每个单元,将表示与该单元相交的扫过体子集的距离场子集与该单元相关,其中所述扫过体子集的至少部分形成所述单元的复合表面;对所述单元施加从至少一个方向入射到所述单元的光线的集合,其中各个光线表示直线的传播;以及将所述距离场子集中的一个距离场选入到与所述单元相关的最优子集中,其中由所述距离场表示的所述扫过体的边界在位于所述复合表面上的交点处与至少一个光线相交,其中由处理器实施所述方法的步骤。
另一个实施例公开了一种用于优化对通过从工件的主体除去扫过体的集合而实施的对工件的铣削的仿真的方法,其中所述主体被分成单元的集合,并且各个单元跟与该单元相交的扫过体子集相关,使得所述扫过体子集的至少部分形成所述单元的复合表面,该方法包括以下步骤:对所述单元施加入射到所述单元的光线的集合,其中光线表示朝向所述单元的直线的传播;以及将所述扫过体子集中的一个扫过体选入到与所述单元相关的最优子集中,其中所述扫过体的边界在位于所述复合表面上的交点处与至少一个光线相交。
另一个实施例公开了一种用于优化对通过从工件的主体除去扫过体的集合而实施的对工件的铣削的仿真的系统,其中所述主体被分为单元的集合,所述系统包括:用于将表示与各个单元相交的扫过体子集的距离场子集与单元相关的装置,其中所述扫过体子集的至少部分形成所述单元的复合表面;用于对所述单元施加从至少一个方向入射到所述单元的光线的集合的装置,其中各个光线表示直线的传播;以及处理器,被配置为将所述距离场子集中的一个距离场选入到与所述单元相关的最优子集中,其中由所述距离场表示的所述扫过体的边界在位于所述复合表面上的交点处与至少一个光线相交。
附图说明
图1A为表示加工的工件的复合ADF的示意图;
图1B为对工件的部分的常规表示的实例的示意图;
图2A为用于铣削的工具和通过沿路径移动工具从工件除去的扫过体的示意图;
图2B为通过沿曲线路径扫过2D形状所确定的扫过体的示意图;
图3A-3C为铣削工具的不同路径的示意图;
图4A是根据本发明实施例的具有形成工件边界的多个边界的单元的2D示意图;
图4B-4C是示出根据本发明实施例的光线与单元内的边界相交的2D示意图;
图5A为工业环境中的本发明的实施例的示意图;
图5B为根据本发明实施例的用于确定正确表示铣削工件的复合表面所需的扫过工具边界的最小列表的方法的流程图;
图6是示出根据本发明实施例的在规则地隔开的栅格上的光线的集合的2D示意图;
图7是示出根据本发明实施例的用于确定光线的集合的方法的2D示意图;
图8是根据本发明实施例的计算机存储器的结构的实例;以及
图9是用于利用存储器确定最优子集的方法900的流程图;以及
图10和11A-11C是根据本发明实施例的确定表示形成复合表面的边界的距离场的结果的实例。
具体实施方式
系统概述
图4A示出通过本发明实施例处理的问题。在单元400中,边界402定义在对工件的铣削的仿真开始时的工件401的初始表面。在仿真期间,三个扫过体403、404和405的边界与单元相交。因此,从由单元表示的工件的主体除去扫过体。由边界402和边界405形成包围工件的内部407的工件406的复合表面。
在本发明的各个实施例中,由距离场表示工件和扫过体。单元与距离场子集551相关450,该距离场子集551初始包括表示与单元相交的边界402-405的距离场。本发明的实施例对子集进行优化500,该子集形成包括表示形成工件的复合表面的边界的距离场的最优子集559,所述边界例如边界402和405。
通过距离场的零值等值面定义所述边界。
另外,在常见的符号惯例中,距离场在扫过体内为正,在边界上为零,并且在外部为负。然而,在对铣削处理的仿真中,由于与扫过体相交的工件表面的任何部分都被除去,扫过体的内部在工件的复合表面的外部。从而,本发明的实施例对表示扫过体的距离场取负,即乘以-1。
因此,原始表面的边界402和扫过体的边界405形成单元的最优子集并包围工件的内部,其中工件的复合距离场在任何位置大于零。边界403和404在复合表面的外部,即,在单元内的这些边界上的每个点具有到工件的复合表面的负的距离。
光线
本发明实施例基于这样的认识:如果对由单元表示的、且通过从工件除去扫过体而形成的工件的复合表面施加入射到单元和/或复合表面的光线,则这些光线与扫过体的边界和复合表面的交点表示实际形成复合表面的扫过体。
光线是与直线一致的数学构造。光线来源于3D空间中的原点R0,并在由向量Rd给定的方向上沿直线传播。可通过类时坐标(time-like coordinate)s将光线的传播参数化,使得由R(s)=R0+Rds定义3D空间中光线的位置。
图4B示出光线与扫过体的边界相交的二维(2D)图示。例如,光线408起始于点409,沿直线传播,并在点410、412和413处与扫过体的边界相交,以及在点411处与初始表面的边界相交。基于距光线与每个边界的交点的距离场的值,确定光线的哪个交点在复合表面上。
由使得扫过体的距离场为零值、即d(R(s))=0的s来确定光线与扫过体的边界的交点。确定交点的问题可以被表述为在现有技术中已知的具有不同解法的常规求根问题。本发明一个实施例以解析方式确定交叉。另一个实施例使用迭代过程,诸如牛顿法和/或试位法(falseposition(regula falsi)method),以确定光线与扫过体的边界的交点。
图4C示出在现有技术中已知为球形投影(sphere casting)的光线表面相交方法。光线430起始于点431,并在点432处与单元相交,通过解析光线/平面相交可以容易地找到该点432。在点432处,根据该其距离场确定到扫过体433的距离,该距离由434示出。通过沿光线移动距离434确定新的测试点435。然后通过计算距离436,然后计算新的测试点437以及之后另外的测试点,直到找到交点438,来迭代地重复所述处理。
在一个实施例中,距离场551的子集包括由i∈[1,N]索引的N个距离场,使得在交点p处的距离场的值i为di(p)。然后,当且仅当对于i=j∈[1,N]的特定值di(p)=0且对于全部i≠j,di(p)>0时,点p才位于复合表面406上。另外,j是形成由光线408表示的复合表面的距离场的索引。例如,点413在复合表面上,并且全部其它点在复合表面的外部,因为从边界与光线的交点的其它各点、即点410-412到边界405的距离,例如距离460,是正的。
因此,如这里所定义的,如果距离场的边界与光线的交点在单元内,并且在交点与子集中的剩余扫过体之间的距离的集合中的每个距离为正,则来自距离场子集中的一个距离场形成复合表面的部分。如果表示边界的距离场的值在交点处为正,则距离是正的。
通常,对单元施加来自至少一个方向的光线的集合。所述光线的集合中的光线相互平行并隔开以确定形成复合表面的全部边界。例如,另一光线414起始于点415,且平行于光线408传播。光线414仅在点416处与边界402相交,该点416如光线414所示在复合表面上。从而,起始于不同点的和/或在不同方向传播的光线能够各自确定边界中的哪些(如果有的话)形成复合表面。
在一些例子中,光线的子集不表示复合表面的边界。例如,起始于点418的光线417在点421、422和423处与边界403、404和405相交。然而,所有这些交点都在单元的复合表面的外侧。另外,光线可以在单元外侧的点(未示出)处与边界相交。单元外侧的交点不是与单元相关的复合表面上的有效点。
另外,边界可以与单元相交但不形成复合表面。例如,边界403不与工件的初始表面的边界402相交,并且不形成复合表面。边界404确实与边界402相交,并且可能在仿真中之前已经形成复合表面的部分。然而,在图4B所示的实例的时间点,边界404在单元内的复合表面的外侧。从而,仅边界402和405是单元的距离场的最优子集559的元素。
确定距离场的最优子集
图5A示出了本发明的一个实施例。将加工指令501的集合提供到NC加工控制器502,所述加工指令的集合为经由网络、来自CD或DVD、或通过现有技术中其它已知方法的文件。控制器502包括处理器503、存储器504和用于示出机器的运行的显示器505。在处理器上运行加工仿真器506,其接收铣削指令501并使用本发明的实施例500以在显示器505上生成仿真工件的图像507。
图5B为用于确定与单元400相关的距离场的最优子集559的方法500的框图。将距离场子集551和光线的集合555输入到该方法。距离场子集表示与单元相交的扫过体的边界。通过现有技术中已知的处理器503执行该方法。在各个实施例中,单元400具有不同的形状和/或尺寸。
利用例如上述边界/单元相交法从距离场的集合中选择距离场子集。在一个实施例中,边界/单元相交法确定单元内的扫过体的边界的表面法线向量的x、y和z分量各自的绝对值的最大值。
由原点和传播方向确定光线的集合中的每个光线552。将该光线的集合确定554为使得光线入射到单元400。在一个实施例中,基于子集551和单元内的边界的方向553的范围来确定所述光线的集合。
本发明各个实施例使用不同的方法以确定所述光线的集合。例如,在一个实施例中,仅当在特定方向的边界的表面法线的最大分量大于阈值时,所述集合包括从该特定方向传播的光线。
对于光线的集合中的每个光线552,实施例使用上述解析和/或迭代方法以确定570光线与边界551之间的交点的集合575。如果确定580光线与边界的一个交点576在复合表面上,则将表示边界的距离场585选入590到最优子集559中。在处理了光线的集合中的全部光线之后,确定距离场的最优子集559。
确定光线的集合
图6示出根据本发明一个实施例的确定光线的集合555的子集611和622的实例。光线的子集611起始于单元的第一边界610外侧的方形的、均匀隔开的栅格点,并且与第一边界垂直地传播通过单元。光线的集合的另一子集622起始于单元的与第一边界垂直的第二边界620的外侧,并且与第二边界垂直地传播。在实施例的3D实现中,光线的集合的第三子集起始于垂直于之前两个边界的第三边界的外侧,并且与第三边界垂直地传播。在一个实施例中,这样的光线的规则的集合足以确定最优子集。
然而,其它实施例修改了所述光线的规则的集合。例如,在一个实施例中,一组平端铣削工具扫过以相同的高度和工具方向移动通过单元,使得单元内的扫过体的边界在局部彼此相同。在该实施例中,单个光线足以确定最优子集。
图7示出了本发明的可选实施例。在该实施例中,光线701和702传播,并确定边界704和705在最优子集中。然而,也作为最优子集的一部分的边界706被遗漏,从而产生不正确的复合表面。
为避免由不完全的光线子集导致的复合表面的缺陷,一个实施例包括图5B所示的调适处理580。在确定580期间,调适处理确定通过光线进行的对复合表面的采样是否足以获得精确的最优子集。如果不是,则传播较少的或额外的光线。
例如,光线701与边界704的交点707和光线702与边界705的交点接近边界706,从而在点707和708处的、边界704和705的表面的法线表示边界704和705在光线701和702之间的点709处穿过边界706。从而,附加的光线703传播,以增加对复合表面的采样,从而改善最优子集的精度。
缓存
本发明的一个实施例在每当单元的距离场子集551改变时确定最优子集。例如,铣削仿真器对于铣削程序中的每个指令,生成工件的复合表面的更新图像。为了最小化呈现图像的时间,需要对通过由铣削指令产生的新的距离场改变的ADF的每个单元更新距离场的最优子集。实施例的一个变形在存储器561中缓存例如交点575的数据以加快方法550。存储561可以是现有技术中已知的任何存储器,诸如随机存取存储器(RAM)。对于每个铣削指令,更新最优子集,即增加和/或除去距离场,或者不改变最优子集。
图8示出分配作为存储器的计算机存储器的块800的实例。该块被细分为M个尺寸相同的子块801,所述子块各自可以存储关于一个单元的数据。每个子块还被细分为N个存储单元(location)803。每个存储单元与一个光线相关。例如,数据为光线与复合表面的交点和唯一标识其边界在光线处形成复合表面的距离场的数值。对于没有复合表面的光线,存储例如数值-1的标示值代替距离场标识符。
每个子块与子块ID 804相关,子块ID 804用作其数据当前被存储在子块中的单元的标识符。例如,在一个实施例中,根据工件中的单元的位置的x、y和z坐标的组合形成唯一单元标识符数值。
图9是用于利用存储器确定最优子集的方法900的流程图。形成单元标识符901。散列函数902将单元标识符从大范围映射到与缓存子块的数值对应的希望范围[0,M-1]。散列函数的实例为out(k)=k模M,其利用取模数学函数将输入单元标识符值k映射到在希望范围内的输出值“out”。来自散列函数的输出值被用作存储关于单元的数据的缓存子块的地址903。
为了确认子块存储了关于正确单元的数据,从缓存904取回子块ID并将其与单元标识符905比较。如果标识符不匹配,则子块被清空以由当前的单元使用,并且以单元标识符906写入子块ID。对最优子集的确定907以上述非缓存的方式进行,并且关于每个光线908的数据被存储在缓存器909中以用于更新最优子集910。
可选地,当值匹配时,子块中的数据被用于确定最优子集。从而,方法900在全部光线上迭代911。对于每个光线,仅对新距离场计算交点912,并且该交点的点被用于确定对于该光线形成复合表面的距离场边界(913)。
图10示出根据在单元内是否有光线与新的距离场的相交和在缓存器中是否存在关于该光线的数据,即距离场标识符≠-1,来确定913的四种可能的结果。
图11A-C示出三种上述情况的实例,因为如果没有相交且没有缓存数据,则从光线不能获知任何信息。
在图11A中,当前与单元1101相关的有距离场1102、1103和1104,且距离场1105是新距离场。光线1106在点1107处与距离场1105的边界相交,并且缓存器不包含关于光线1106的数据。从而,计算当前在单元1102-1104内的距离场子集的交点1107处的距离场值。
如果在交点处的距离场的值都为正,即大于0,则新距离场针对该光线形成复合表面并被添加到最优子集中。在图11A所示的实例中,距离场值都为负,所以距离场1105未被添加到最优子集中。
在图11B中,当前与单元1121相关的有距离场1122-1124,且距离场1125是新距离场。光线1126在单元内不与距离场1125的边界相交,但是缓存器包含光线1126与距离场1123的边界的交点1127。在该情况中,虽然没有相交,但是缓存器包含关于该光线的有效数据,然后在缓存的交点处确定新距离场的值。
如果该值为正,则将缓存的距离场添加到最优子集。在所示的实例中,交点1127在距离场1125的外侧,这表示,缓存的距离场未由于光线1126而被添加到最优子集。重要的是理解这并不排除由于另一光线将距离场1126添加到最优子集的可能性。
最后,在图11C中,与当前单元1131相关的有距离场1132-1134,且距离场1135是新距离场。光线1136在单元内与距离场1135的边界在点1138处相交,并且缓存器包含光线1136与距离场1133的边界的交点1127。在该情况中,存在交点,并且存在有效缓存数据,然后在新的交点1138处计算缓存的距离场1133的值。
如果该值为正,则将新距离场1135添加到最优子集。否则,将缓存的距离场1133添加到最优子集。在该实例中,交点1138在距离场1133的边界内(即d>0),于是将距离场1135添加到最优子集。
在处理全部光线之后,将关于每个光线的数据写入缓存器,并且最优子集910完成。
尽管已经通过优选实施例的实例的方式描述了本发明,应理解,在本发明的精神和范围内可以进行各种其它调适和修改。从而,所附权利要求旨在覆盖落入本发明实际精神和范围内的全部这样的变化和修改。
Claims (20)
1.一种用于优化对通过从工件的主体除去扫过体的集合而实施的对工件的加工的仿真的方法,其中所述工件的主体被分为单元的集合,所述方法包括以下步骤:
对于每个单元,将表示与该单元相交的扫过体子集的距离场子集与该单元相关,其中所述扫过体子集的至少部分形成所述单元的复合表面;
对所述单元施加从至少一个方向入射到所述单元的光线的集合,其中各个光线表示直线的传播;以及
将所述距离场子集中的一个距离场选入到与所述单元相关的最优子集中,其中由所述距离场表示的所述扫过体的边界在位于所述复合表面上的交点处与至少一个光线相交,其中由处理器实施所述方法的步骤。
2.根据权利要求1所述的方法,还包括:
在交点处确定来自距离场子集的各个距离场的值;以及
如果在所述交点处的距离场的值为零,且所述子集中剩余距离场的值为正,则将该距离场选入所述最优子集。
3.根据权利要求1所述的方法,其中在所述交点处距离场的值为零,并且在交点处所述子集中的剩余距离场的值为正。
4.根据权利要求3所述的方法,其中对于i=j∈[1,N],di(p)=0,并且对于i≠j,di(p)>0,其中距离场子集包括由i∈[1,N]索引的N个距离场,di(p)定义在交点p处距离场的值,以及j为在最优子集中所选择的距离场的索引。
5.根据权利要求1所述的方法,还包括:
确定位于所述单元内的所述交点。
6.根据权利要求1所述的方法,还包括:
在所述单元的外侧的点处发出光线。
7.根据权利要求1所述的方法,其中来自一个方向的光线彼此平行,并且来自不同方向的光线彼此垂直。
8.根据权利要求1所述的方法,还包括:
使所述光线的集合从至少两个方向向着所述单元传播。
9.根据权利要求1所述的方法,还包括:
基于复合表面的法线来确定所述光线的集合。
10.根据权利要求1所述的方法,还包括:
更新所述扫过体的集合;以及
响应于所述更新,确定所述距离场的最优子集。
11.根据权利要求10所述的方法,还包括:
在存储器中缓存在确定期间所计算的至少部分数据。
12.根据权利要求11所述的方法,还包括:
将所述存储器细分为尺寸相同的子块,每个子块存储关于一个单元的数据;以及
将所述子块细分为多个存储单元,每个存储单元与一个光线相关。
13.根据权利要求12所述的方法,其中所述存储单元中的数据标识表示在交点处与光线相交的边界的距离场。
14.根据权利要求12所述的方法,其中所述存储单元中的数据标识光线不与所述复合表面相交。
15.根据权利要求1所述的方法,其中对于扫过体的内部,表示所述扫过体的距离场的值为负。
16.一种用于优化对通过从工件的主体除去扫过体的集合而实施的对工件的铣削的仿真的方法,其中所述主体被分成单元的集合,并且各个单元跟与该单元相交的扫过体子集相关,使得所述扫过体子集的至少部分形成所述单元的复合表面,该方法包括以下步骤:
对所述单元施加入射到所述单元的光线的集合,其中光线表示朝向所述单元的直线的传播;以及
将所述扫过体子集中的一个扫过体选入到与所述单元相关的最优子集中,其中所述扫过体的边界在位于所述复合表面上的交点处与至少一个光线相交。
17.根据权利要求15所述的方法,还包括:
确定在边界的交点、和光线与子集中剩余扫过体的边界的交点之间的距离的集合;以及
如果所述距离的集合中的各个距离为正,则将所述扫过体选入所述最优子集中。
18.一种用于优化对通过从工件的主体除去扫过体的集合而实施的对工件的铣削的仿真的系统,其中所述主体被分为单元的集合,所述系统包括:
用于将表示与各个单元相交的扫过体子集的距离场子集与单元相关的装置,其中所述扫过体子集的至少部分形成所述单元的复合表面;
用于对所述单元施加从至少一个方向入射到所述单元的光线的集合的装置,其中各个光线表示直线的传播;以及
处理器,被配置为将所述距离场子集中的一个距离场选入到与所述单元相关的最优子集中,其中由所述距离场表示的所述扫过体的边界在位于所述复合表面上的交点处与至少一个光线相交。
19.根据权利要求18所述的系统,还包括:
用于在交点处确定来自所述距离场子集的各个距离场的值的装置;以及
用于选择的装置,如果在所述交点处的距离场的值为零,且子集中剩余距离场的值为正,则该用于选择的装置将该距离场选入最优子集。
20.根据权利要求18所述的系统,还包括:
用于在存储器中缓存由用于确定的装置计算的数据的至少一部分的装置;
用于将存储器细分为尺寸相同的子块的装置,其中每个子块存储关于一个单元的数据;以及
用于将所述子块细分为存储单元的装置,其中每个存储单元与一个光线相关。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/751,591 US8483858B2 (en) | 2010-03-31 | 2010-03-31 | System and method for optimizing machining simulation |
US12/751,591 | 2010-03-31 | ||
PCT/JP2011/057073 WO2011122423A1 (en) | 2010-03-31 | 2011-03-16 | System and method for optimizing machining simulation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102822756A true CN102822756A (zh) | 2012-12-12 |
CN102822756B CN102822756B (zh) | 2015-01-28 |
Family
ID=44211852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180016378.5A Active CN102822756B (zh) | 2010-03-31 | 2011-03-16 | 用于优化加工仿真的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8483858B2 (zh) |
JP (1) | JP5414902B2 (zh) |
CN (1) | CN102822756B (zh) |
DE (1) | DE112011101166B4 (zh) |
WO (1) | WO2011122423A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106133628A (zh) * | 2014-03-26 | 2016-11-16 | 三菱电机株式会社 | 用于确定加工凹槽形状的刀具的路径的方法和系统 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120140104A (ko) * | 2011-06-20 | 2012-12-28 | 현대자동차주식회사 | 메모리의 데이터 저장 방법 |
US8838419B2 (en) * | 2011-06-24 | 2014-09-16 | Mitsubishi Electric Research Laboratories, Inc. | System and method for simulating machining objects |
US8958611B2 (en) * | 2011-12-29 | 2015-02-17 | Mako Surgical Corporation | Interactive CSG subtraction |
US9122270B2 (en) * | 2012-01-13 | 2015-09-01 | Mitsubishi Electric Research Laboratories, Inc. | Hybrid adaptively sampled distance fields |
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 |
US9305370B2 (en) | 2013-07-31 | 2016-04-05 | Qualcomm Incorporated | Graphical rendering with implicit surfaces |
DE112014006995T8 (de) * | 2014-10-29 | 2017-08-10 | Mitsubishi Electric Corporation | Numerische Steuervorrichtung, NC-Bearbeitungsmaschine und NC-Bearbeitungsverfahren |
US10353352B2 (en) | 2017-02-22 | 2019-07-16 | Mitsubishi Electric Research Laboratories, Inc. | System and method for distributed machining simulation |
TWI673620B (zh) * | 2018-11-28 | 2019-10-01 | 財團法人工業技術研究院 | 利用動態位置誤差模擬切削方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020130860A1 (en) * | 2001-03-16 | 2002-09-19 | Mitsubishi Electric Research Laboratories, Inc. | Method for selectively regenerating an adaptively sampled distance field |
US20020130877A1 (en) * | 2001-03-16 | 2002-09-19 | Mitsubishi Electric Research Laboratories, Inc. | Hierarchical control point editing of adaptively sampled distance fields |
CN1698071A (zh) * | 2003-03-25 | 2005-11-16 | 三菱电机株式会社 | 在与二维对象的拐角相关联的单元内生成一个二维距离场的方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5542036A (en) * | 1994-07-05 | 1996-07-30 | General Electric Company | Implicit modeling of swept volumes and swept surfaces |
US6396492B1 (en) * | 1999-08-06 | 2002-05-28 | Mitsubishi Electric Research Laboratories, Inc | Detail-directed hierarchical distance fields |
JP3535442B2 (ja) * | 2000-03-02 | 2004-06-07 | 独立行政法人 科学技術振興機構 | 工具参照面計算方法、工具参照面計算プログラムを記録したコンピュータ読み取り可能な記録媒体及び工具参照面計算装置 |
US6724393B2 (en) | 2001-03-16 | 2004-04-20 | Mitsubishi Electric Research Labs, Inc. | System and method for sculpting digital models |
JP4625204B2 (ja) | 2001-07-02 | 2011-02-02 | ウチヤ・サーモスタット株式会社 | 安全装置付き電源コード |
US7042458B2 (en) | 2003-03-25 | 2006-05-09 | Mitsubishi Electric Research Laboratories, Inc. | Methods for generating an adaptively sampled distance field of an object with specialized cells |
CN102047189B (zh) * | 2008-05-29 | 2013-04-17 | 三菱电机株式会社 | 切削加工仿真显示装置以及切削加工仿真显示方法 |
US8010328B2 (en) * | 2009-05-19 | 2011-08-30 | Mitsubishi Electric Research Laboratories, Inc. | Method for simulating numerically controlled milling using adaptively sampled distance fields |
US8265909B2 (en) * | 2009-05-19 | 2012-09-11 | Mitsubishi Electric Research Laboratories, Inc. | Method for reconstructing a distance field of a swept volume at a sample point |
-
2010
- 2010-03-31 US US12/751,591 patent/US8483858B2/en active Active
-
2011
- 2011-03-16 CN CN201180016378.5A patent/CN102822756B/zh active Active
- 2011-03-16 DE DE112011101166.0T patent/DE112011101166B4/de active Active
- 2011-03-16 JP JP2012531924A patent/JP5414902B2/ja active Active
- 2011-03-16 WO PCT/JP2011/057073 patent/WO2011122423A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020130860A1 (en) * | 2001-03-16 | 2002-09-19 | Mitsubishi Electric Research Laboratories, Inc. | Method for selectively regenerating an adaptively sampled distance field |
US20020130877A1 (en) * | 2001-03-16 | 2002-09-19 | Mitsubishi Electric Research Laboratories, Inc. | Hierarchical control point editing of adaptively sampled distance fields |
CN1698071A (zh) * | 2003-03-25 | 2005-11-16 | 三菱电机株式会社 | 在与二维对象的拐角相关联的单元内生成一个二维距离场的方法 |
Non-Patent Citations (2)
Title |
---|
RONALD N.PERRY ET AL: "Kizamu: A System For Sculpting Digital Characters", 《COMPUTER GRAPHICS. SIGGRAPH 2001 CONFERENCE PROCEEDINGS》 * |
SARAH F.FRISKEN ET AL: "Adaptively Sampled Distance Fields: A General Representation of Shape for Computer Graphics", 《COMPUTER GRAPHICS. SIGGRAPH 2000 CONFERENCE PROCEEDINGS》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106133628A (zh) * | 2014-03-26 | 2016-11-16 | 三菱电机株式会社 | 用于确定加工凹槽形状的刀具的路径的方法和系统 |
CN106133628B (zh) * | 2014-03-26 | 2018-10-30 | 三菱电机株式会社 | 用于确定加工凹槽形状的刀具的路径的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US8483858B2 (en) | 2013-07-09 |
DE112011101166T5 (de) | 2013-02-07 |
US20110245954A1 (en) | 2011-10-06 |
JP5414902B2 (ja) | 2014-02-12 |
DE112011101166B4 (de) | 2018-01-11 |
WO2011122423A1 (en) | 2011-10-06 |
JP2013517535A (ja) | 2013-05-16 |
CN102822756B (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102822756B (zh) | 用于优化加工仿真的系统和方法 | |
CN104040444B (zh) | 用于生成和仿真物体的模型的计算机程序产品和方法 | |
CN101894176B (zh) | 在采样点重建扫过容积的距离场的方法 | |
CN103093036A (zh) | 工件加工仿真 | |
WO2016043914A1 (en) | Build orientations for additive manufacturing | |
CN104204978A (zh) | 对通过工具对工件的机械加工进行仿真的方法和系统 | |
KR101949609B1 (ko) | 대표 광선 기반의 점유맵 업데이트 방법 및 시스템 | |
Rossi et al. | From voxels to parts: hierarchical discrete modeling for design and assembly | |
US20190243336A1 (en) | Geometric modelling for facilitating simulation for manufacturing operations | |
JP5984175B2 (ja) | 機械加工シミュレーションの間にアンドゥ操作及びリドゥ操作を行うためのシステム及び方法 | |
JP2008217708A (ja) | 設計方法及びプログラム | |
US20110276315A1 (en) | System and Method for Identifying Under-Defined Geometries Due to Singular Constraint Schemes | |
Su et al. | Geometric computation based assembly sequencing and evaluating in terms of assembly angle, direction, reorientation, and stability | |
JP2008217709A (ja) | 設計方法及びプログラム | |
JP4622987B2 (ja) | 工具参照面データの作成装置と作成方法 | |
JP2007193552A (ja) | 面モデルの作成装置と作成方法 | |
JP3744243B2 (ja) | 2次元図面作成方法 | |
EP3451191B1 (en) | Computer implemented method for manipulating a numerical model of a 3d domain | |
Ji et al. | VDAS: a virtual design and assembly system in a virtual reality environment | |
CN113361033B (zh) | 一种刀片的装配面定位方法、系统、服务端及存储介质 | |
CN103714196A (zh) | 浮动剩余体积确认 | |
JP2019159952A (ja) | 分割領域生成プログラム、分割領域生成装置、および分割領域生成方法 | |
CN117057064A (zh) | 一种机械设备零部件参数化快速出图的方法 | |
JPH0950311A (ja) | 数値制御装置 | |
Kesavadas et al. | Design of an interactive virtual factory using cell formation methodologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |