CN110325932B - 用于模拟对工件的机加工的系统和方法 - Google Patents
用于模拟对工件的机加工的系统和方法 Download PDFInfo
- Publication number
- CN110325932B CN110325932B CN201880012121.4A CN201880012121A CN110325932B CN 110325932 B CN110325932 B CN 110325932B CN 201880012121 A CN201880012121 A CN 201880012121A CN 110325932 B CN110325932 B CN 110325932B
- Authority
- CN
- China
- Prior art keywords
- workpiece
- machining
- sub
- instructions
- modified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
-
- 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/406—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 monitoring or safety
- G05B19/4069—Simulating machining process on screen
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23456—Model machine for 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/35311—Remote simulation of machining program
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Software Systems (AREA)
- Manufacturing & Machinery (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Numerical Control (AREA)
Abstract
分布式机加工模拟分割工件的模型,以产生一组子工件,并且修改对于各子工件的机加工指令,以产生与机加工指令不同的一组修改后机加工指令群。各群修改后机加工指令与子工件关联,并且包括使机加工工具移动穿过子工件的有效机加工指令以及使机加工工具在子工件的外部移动穿过工件的模型的至少一个伪机加工指令。分布式机加工模拟远程主机使用修改后机加工指令的至少一个群来模拟对工件的机加工,以产生工件的机加工模拟的几何形状,各几何形状与对应的子工件关联,并且使用各几何形状在对应子工件的体积内的部分,重构机加工后的工件的表示。
Description
技术领域
本发明总体涉及模拟对工件的机加工,更具体地涉及经由一组远程主机进行的分布式机加工模拟的系统和方法。
背景技术
数控(NC)加工(例如,车削、镗削、钻削、拉削、锯切、成形、铰削、铣削、攻丝、磨削)是使用旋转工具来切割例如金属材料的各种材料的机械加工。给定下文中被称为工件的一片材料,NC加工使用一系列马达指令来使作业工具(例如,切割机)移动/旋转,以与工件相交。凭借仔细设计,NC加工机器的客户可以将输入工件切割成特定形状。因为该系列指令用手设计可能复杂,所以通常是使用计算机辅助制造(CAM)软件来生成将给定输入工件形状变换成期望输出工件形状的指令。同样,可以使用计算机来模拟机加工过程,以确认指令可以正确起作用。有缺陷的机加工指令浪费机加工时间和工件材料,还会伤害NC加工机器。比如,如果指令导致切割机与NC加工机器之间的任意碰撞,则马达会故障,其修理会很昂贵。
在NC加工模拟期间,用工具(例如,NC机加工工具)的计算机表示和模拟机加工过程的一组运动来编辑工件的模型。模拟根据指定机加工工具的类型和运动中的一个或组合的机加工指令来执行。模拟可以在显示装置上视觉化物体的模型和工具的表示,以检测零件(诸如工件与工具架)之间的潜在碰撞,并且验证物体的最终形状。
物体的最终形状受工具和运动的选择影响。用于控制运动的指令通常由物体的期望最终形状的图形表示使用计算机辅助制造系统来生成。运动通常使用如被称为准备代码或G代码的数控编程语言来实现(参见RS274D和DIN 66025/ISO 6983标准)。
NC加工模拟对于大工件和/或广泛机加工指令可能是耗时的。若干方法(诸如在U.S.8483858和U.S.8838419中公开的方法)的目的在于优化机加工模拟。然而,在一些情形下,期望机加工模拟的进一步加速。
发明内容
一些实施方式基于以下认识:数控(NC)加工的模拟的速度可以通过将多个计算主机用于单个模拟来加速。例如,现代云计算甚至允许租借其他计算设施中的计算机资源,由此,节省维持计算设施的本地群集的保养开销和成本。
然而,当在远程主机(例如,远程计算机和/或其他人所拥有的计算机)上执行NC加工模拟时,安全对于NC加工模拟器的制造商和客户这两者可能是关注的问题。因此,一些实施方式的目的是以安全方式提供用于经由一组远程主机进行的分布式机加工模拟的系统和方法。
一些实施方式基于工件的不同部分和/或体积是模拟独立的理解。即,工件的一个体积的机加工的模拟独立于另一个体积的机加工模拟。因此,用于模拟工件的第一体积的机加工的机加工指令可以与不影响第一体积的机加工的模拟的、工件的第二体积的机加工的模拟的不同甚至随机伪指令组合。
该理解引起以下认识:在真伪机加工指令的这种组合中,仅体积的几何形状和位置的知识允许分离真机加工模拟与伪机加工模拟。然而,这种知识可能由分布式机加工模拟的客户端保持。为此,客户端可以分配对于工件的模型的不同体积确定的真伪机加工指令,以在不同主机处执行机加工模拟。使用各体积的几何形状和位置的知识,客户端还可以仅提取并组合由真机加工指令执行的模拟的部分,以产生分布式模拟的结果。
因此,一个实施方式公开了一种用于根据机加工指令模拟对工件的机加工的方法,这些加工指令用于使机加工工具相对于工件移动,其中,模拟使用与一组远程主机通信的处理器来执行,其中,处理器与实现方法的已存储指令耦合,其中,已存储指令在由处理器执行时,进行方法的至少一些步骤。
方法的步骤包括:将工件的模型分割成不相交的体积,以产生一组子工件;对于各子工件修改机加工指令,以产生与机加工指令不同的一组修改后机加工指令群,各群修改后机加工指令与子工件关联,并且包括使机加工工具移动穿过子工件的有效机加工指令以及使机加工工具在子工件的外部移动穿过工件的模型的至少一个伪机加工指令;使得远程主机使用修改后机加工指令的至少一个群来模拟对工件的机加工,以产生工件的机加工模拟的几何形状,各几何形状与对应的子工件关联;以及使用各几何形状在对应子工件的体积内的部分,重构机加工后的工件的表示。
另一个实施方式公开了一种与一组远程主机通信的系统,该系统用于根据机加工指令模拟对工件的机加工,这些指令用于使机加工工具相对于工件移动。系统包括:存储器,该存储器存储机加工指令和工件的模型;处理器,该处理器:将工件的模型分割成不相交的体积,以产生一组子工件;并且修改对各子工件的机加工指令,以产生与机加工指令不同的一组修改后机加工指令群,各群修改后机加工指令与子工件关联,并且包括使机加工工具移动穿过子工件的有效机加工指令以及使机加工工具在子工件的外部移动穿过工件的模型的至少一个伪机加工指令;以及收发器,该收发器:通过通信链路向各远程主机发送与对应的子工件关联的修改后机加工指令的群;并且响应于发送,从各远程主机接收与对应的子工件关联的几何形状,其中,处理器使用各几何形状在对应子工件的体积内的部分,重构机加工后的工件的表示。
又一个实施方式公开了一种上面具体实施程序的非暂时计算机可读存储介质,该程序可由处理器执行以执行方法。方法包括以下步骤:将工件的模型分割成不相交的体积,以产生一组子工件;对于各子工件修改机加工指令,以产生与机加工指令不同的一组修改后机加工指令群,各群修改后机加工指令与子工件关联,并且包括使机加工工具移动穿过子工件的有效机加工指令以及使机加工工具在子工件的外部移动穿过工件的模型的至少一个伪机加工指令;使得远程主机使用修改后机加工指令的至少一个群来模拟对工件的机加工,以产生工件的机加工模拟的几何形状,各几何形状与对应的子工件关联;以及使用各几何形状在对应子工件的体积内的部分,确定机加工后的工件的表示。
附图说明
[图1]图1示出了根据本发明的实施方式的NC铣床以及用于模拟NC铣削的系统和方法的流程图。
[图2]图2示出了用于机器指令程序的分布式模拟器的流程图。
[图3]图3示出了用于铣削的典型工具以及通过使这种工具沿着路径移动进行的工件中的典型编辑的图。
[图4]图4示出了通过沿着曲线路经扫描2D形状确定的扫描体积的示意图。
[图5]图5示出了根据一些实施方式的、用于分布式机加工模拟的方法的框图。
[图6A]图6A示出了根据不同实施方式的、分割工件的示例。
[图6B]图6B示出了根据一些实施方式的、检查指令对于子工件是否有效的步骤的流程图。
[图7A]图7A示出了形成机加工指令的扫描体积的边界的边界框的示例。
[图7B]图7B示出了根据不同实施方式的、检查扫描体积的边界框与不同子工件的重叠的示例。
[图8A]图8A示出了根据一些实施方式的、将单元的网格用于分割工件的示例之一。
[图8B]图8B示出了根据一些实施方式的、将单元的网格用于分割工件的示例之一。
[图8C]图8C示出了根据一个实施方式的、用于提取机加工模拟的几何形状的方法的框图。
[图9]图9示出了根据一些实施方式的、用于提取并组合模拟结果的几何形状的方法的框图。
[图10A]图10A示出了根据一些实施方式的、计算机几何形状未由格子表示或子工件的边界未与格子边界对齐时的示例。
[图10B]图10B示出了根据一个实施方式的、用于渲染组合来自不同模拟的裁剪后几何形状的图像的方法的示意图。
[图11A]图11A示出了根据一些实施方式的、将模拟后计算机几何形状渲染到图像中的示意图。
[图11B]图11B示出了示例计算机几何形状和图像平面的顶视图。
[图11C]图11C示出了更新图11A的图像的像素的最前片段的示意图。
[图11D]图11D示出了根据一些实施方式的、如何丢弃栅格化片段的示意图。
[图11E]图11E示出了具有图11D的最前片段的图像的示意图。
[图11F]图11F示出了根据一些实施方式的、如何针对计算机几何形状的栅格化后片段的子工件裁剪计算机几何形状的栅格化后片段。
[图11G]图11G示出了在更新图11F中的片段之后的图像的示意图。
[图12A]图12A示出了对于图11A的图像的像素更新颜色和距离的流程图。
[图12B]图12B示出了根据一些实施方式的、对于子工件渲染计算机几何形状的方法的流程图。
具体实施方式
图1示出了数控(NC)加工系统100以及由一些实施方式使用的NC加工模拟系统150。机加工的示例包括车削、镗削、钻削、拉削、锯切、成形、铰削、铣削、攻丝以及磨削操作。在NC加工系统100中,计算机辅助设计(CAD)模型输入到计算机辅助制造(CAM)系统104,该CAM系统生成用于控制NC加工机器的G代码106。在NC加工期间,G代码输入到NC加工控制台108,该NC加工控制台处理各G代码,以产生对应的一组NC机器指令110。NC机器指令输入到NC控制器112中,该NC控制器产生一组马达控制信号114,这些信号使工具116相对于工件118移动,以对工件进行机加工。
模拟系统150可以将由计算机辅助制造系统104生成的G代码106或由NC控制台108生成的NC机器指令110当作输入。计算机处理器152读取到模拟系统的输入,该计算机处理器模拟对工件的机加工,并且输出可以存储在计算机存储器156中的模拟模型154。处理器152可以渲染所存储的模拟模型154,以生成可以输出到显示装置160的渲染的图像158。所显示的图像162可以与计算机辅助设计模型102进行比较,以在执行工件的实际NC加工之前验证G代码106或NC机器指令110。在一些实施方式中,模拟系统(150)在单个计算机上执行模拟和渲染这两者。另外或另选地,一些实施方式在多个计算机上执行模拟和渲染这两者。
一些实施方式基于以下认识:数控(NC)加工的模拟的速度可以通过将多个计算主机用于单个模拟来加速。例如,现代云计算甚至允许租借其他计算设施中的计算机资源,由此,节省维持计算设施的本地群集的保养开销和成本。
然而,当在远程主机(例如,远程计算机和/或其他人所拥有的计算机)上执行NC加工模拟时,安全对于NC加工模拟器的制造商和客户这两者可能是关注的问题。因此,一些实施方式的目的是以安全方式提供用于经由一组远程主机进行的分布式机加工模拟的系统和方法。
图2示出了根据一些实施方式的、用于分布式机加工模拟的系统的框图。在这些实施方式中,模拟部件(例如,用于模拟根据机加工指令对工件进行机加工的软件176、177以及178)安装在远程主机183、184、185上。分布式机加工模拟由模拟客户端172来执行,该模拟客户端由本地计算机的处理器170来执行。模拟客户端接受来自用户的输入,该输入包括用于执行模拟的机加工指令171。为了执行分布式模拟,模拟客户端对于各远程主机修改机加工指令171,并且为了由模拟服务器176、177、178进行的机加工模拟而将修改后的指令173、174、175提交给远程主机183、184以及185。在各模拟服务器完成模拟之后,模拟模型179、180以及181发回模拟客户端172。基于模拟模型,模拟客户端将模拟结果渲染到单个模型和/或图像181中,该单个模型和/或图像可以在显示装置182上渲染或存储在存储器中。渲染的图像与在没有分布的情况下在本地主机上模拟机器指令程序相同。
图3示出了在NC加工中使用的一组典型工具形状202、204、206以及208。当使工具相对于工件210移动时,工具从工件切出材料。这里,工具202、204、206以及208从工件去除与表面212、214、216以及218对应的材料。由各工具去除的材料的形状由工具形状以及工具相对于工件的路径来确定。被去除的材料的形状是随着工具沿着路径移动而产生的、工件与工具的扫描体积的交点。为了机加工模拟的目的,这种被去除的材料在这里被称为扫描体积。
图4示出了沿着路径252移动的形状250的扫描体积260。路径252将形状250的特定点的位置作为时间的函数来指定。路径可以将形状的方位256、257以及258作为时间的函数来指定。路径还可以将形状的尺度或形状的任意变换作为时间的函数来指定。在图4中,随着形状250沿着路径移动,形状250的原始位置、方位以及几何形状变换成形状254的最终位置、方位以及几何形状。扫描体积在形成模拟结果的几何形状时修改工件的不同部分。
一些实施方式基于工件的不同部分和/或体积是模拟独立的理解。即,工件的一个体积的机加工的模拟独立于另一个体积的机加工模拟。因此,用于模拟工件的第一体积的机加工的机加工指令可以与不影响第一体积的机加工的模拟的、工件的第二体积的机加工的模拟的不同甚至随机伪指令组合。
该理解引起以下认识:在真伪机加工指令的这种组合中,仅第一体积的几何形状和位置的知识允许分离真机加工模拟与伪机加工模拟。然而,这种知识可能由分布式机加工模拟的客户端保持。为此,客户端可以分配对于工件的模型的不同体积确定的真伪机加工指令,以在不同主机处执行机加工模拟。使用各体积的几何形状和位置的知识,客户端还可以仅提取并组合由真机加工指令执行的模拟的部分,以产生分布式模拟的结果。
图5示出了根据一些实施方式的、用于分布式机加工模拟的方法的框图。方法模拟根据机加工指令进行的工件的机加工,这些加工指令用于使机加工工具相对于工件移动。模拟使用与一组远程主机(例如,主机183、184以及185)通信的处理器(例如,处理器170)来执行。处理器与实现方法的已存储指令耦合。已存储指令(诸如实现模拟客户端172的指令)在由处理器170执行时,进行方法的至少一些步骤。
方法将工件的模型分割501成不相交的体积,以产生一组子工件。例如,在一个实施方式中,方法分割模型,使得子工件的数量等于远程主机的数量。在一些实现中,模拟客户端还充当一个远程主机,以便促进模拟。另外或另选地,一些远程主机可以对于多于一个子工件执行模拟。
方法修改502对于各子工件的机加工指令,以产生与用于机加工整个工件的原始机加工指令不同的一组修改后机加工指令群。例如,用机加工指令进行的工件的机加工和用修改后机加工指令的群进行的工件的机加工产生两个不同的结果,即,两个不同的几何形状。
各群修改后机加工指令与子工件关联。例如,一个实施方式创建与远程主机的数量一样多的修改后机加工指令群。该实施方式使远程主机与不同的子工件关联,以使得各远程主机与对应的子工件关联。
各群修改后机加工指令包括有效机加工指令和伪机加工指令。有效机加工指令包括使机加工工具移动穿过子工件的原始机加工指令的子集。伪机加工指令使机加工工具在子工件的外部移动穿过工件的模型。例如,伪机加工指令实际上是即与对于模拟接收的所有机加工指令不同的伪机加工指令。这种伪指令可以对于各群修改后机加工指令是唯一的,或者可以被至少一些群共享。另外或另选地,伪机加工指令可以包括使机加工工具在子工件的外部移动穿过工件的模型的机加工指令的子集。不同群可以包括不同子集,以隐藏原始机加工指令。例如,在一个实施方式中,各群包括对于关联子工件调整的不同伪机加工指令。然而,在各种实施方式中,对于各群修改后机加工指令选择的有效和伪指令的组合不产生原始机加工指令。
方法使得510远程主机使用修改后机加工指令的至少一个群来模拟对工件的机加工,以产生工件的机加工模拟的几何形状。各几何形状与对应的子工件关联,但表示根据有效和伪机加工指令的整个工件的机加工的模拟。
例如,一个实施方式通过通信链路向各远程主机发送503与对应的子工件关联的修改后机加工指令的群。远程主机根据所发送的机加工指令执行机加工的模拟,以产生工件的机加工模拟的几何形状。为此,实施方式响应于该发送,从各远程主机接收504与对应的子工件关联的几何形状。
在一个实现中,实施方式还发送要机加工的工件的模型。在另选实现中,工件的模型预定和/或包括在被部署到远程主机的模拟软件中。
接着,实施方式使用各几何形状在对应子工件的体积内的部分,重构505机加工后的工件的表示。例如,一个实施方式通过提取各几何形状在对应子工件的体积内的部分产生机加工后的工件的表示,以产生一组裁剪后的几何形状,并且将该组裁剪后的几何形状组合在存储器中。例如,裁剪后的几何形状根据关联子工件在工件的模型内的位置来组合。另外或另选地,一个实施方式通过以下处理来产生机加工后的工件的表示:渲染与各几何形状在对应子工件的体积内的部分对应的图像,以在显示装置上形成表示机加工后工件的合成图像。
图6A示出了根据不同实施方式的、分割工件的示例610。给定输入工件的边界框,将边界框分割成不重叠的体积。不重叠体积的数量可以与远程主机的数量相同。各所分割的体积在这里被称为子工件。分割需要满足两个约束。第一,子工件不重叠。第二,它们的联合可以覆盖输入工件的整个边界框。否则,分割可以是任意的。
子工件可以具有不同的体积,分割可以沿着不同的尺寸发生。例如,与示例611中相同,一些实施方式将工件的模型分割成具有相同形状和尺寸的一组体积。另选实施方式将工件的模型分割成具有不同形状和/或尺寸的一组体积。例如,工件612被分割成具有不同宽度的切片(lops)。工件613被分割成不同尺寸的长方体。
对于该子工件,各种实施方式复制原始机加工指令,并且修改所复制的机加工指令。使得扫描体积与该子工件相交的指令被称为对于该子工件有效。指令修改保存对于该子工件的所有有效指令,并且混合有效指令与将不影响子工件内的模拟结果的额外指令。
图6B示出了根据一些实施方式的、检查指令(605)对于子工件(604)是否有效的步骤的流程图。这些实施方式首先计算(606)对应扫描体积的边界框,然后检查(607)边界框是否与子工件重叠。如果是,则该机加工指令是有效的。
图7A示出了形成机加工指令的扫描体积725的边界的边界框720的示例,该扫描体积通过使工件的模型的体积与根据机加工指令由机加工工具的形状的运动形成的体积相交形成。
图7B示出了检查扫描体积725的边界框720与三个子工件701、702以及703的重叠的示例。在该示例中,扫描体积的边界框与子工件702和703重叠。因此,形成扫描体积725的机加工指令对于这些子工件702和703有效,并且被选择到与子工件702和/或703关联的修改后机加工指令的群中。
然而,扫描体积的边界框与子工件701不相交,由此,形成扫描体积725的机加工指令对于子工件701不是有效的,并且不是必须对于与子工件701关联的修改后机加工指令的群选择。
在对于各子工件识别有效机器指令之后,一些实施方式生成扫描体积与输入工件重叠但不与该子工件重叠的额外机加工指令。这些指令被称为对于该子工件的伪指令。
当用伪指令模拟修改后机器指令程序时,有效指令在子工件内生成真计算几何形状,而伪指令在子工件外部但仍然在输入工件内生成伪计算几何形状。因此,整个工件的模拟计算机几何形状错误。因为提取真计算机几何形状需要子工件在工件内的位置和工件的几何形状的知识,所以将子工件保持在不那么有用的本地主机上使得根据各种实施方式的分布式模拟安全。
在远程主机上的模拟服务器完成修改后指令程序的模拟之后,服务器可以向本地主机的模拟客户端发送所模拟的计算机几何形状。如果计算机几何形状被表示为将空间域细分成矩形单元的网格体积,并且子工件的边界与网格单元边缘对齐,则模拟客户端可以提取子工件内的计算机几何形状,并且合成为单个表示。如果计算机几何形状被表示为诸如不规则体积或三角形网眼的其他格式,则模拟客户端当在显示装置上渲染图像时可以推迟合成步骤。
图8A和图8B示出了根据一些实施方式的、将单元的网格用于分割工件的示例。单元可以具有与图8A的示例中相同的尺寸,或者可以具有与图8B的示例中不同的尺寸。在一些实施方式中,子工件的边界与单元的边界对齐。这种对齐促进从远程主机接收的几何形状的随后提取。
例如,工件800由网格803表示,并且子工件802的边界与表示的一些单元的边界对齐。为此,当从与子工件802关联的主机接收机加工模拟801的几何形状时,提取几何形状在对应子工件的单元内的部分,以产生裁剪后的几何形状804。
图8C示出了根据一个实施方式的、用于提取机加工模拟的几何形状的框图。在该示例中,模拟客户端根据网格803细分输入工件。所接收的计算机几何形状811也被表示为网格,并且模拟客户端比较所接收的网格,并且模拟客户端检查各网格单元811的位置,以查看该单元是否在子工件810内。如果网格单元在子工件内,则将在该网格单元中存储的信息复制813到本地模拟客户端上的相同单元。在复制子工件内的单元之后,提取子工件804内的计算机几何形状。一旦接收来自所有远程主机的计算机几何形状,则本地主机获得整个输入工件的计算机几何形状。组合的计算机几何形状可以渲染在显示装置上,以便用户视觉化并分析模拟结果。
图9示出了根据一些实施方式的、用于提取并组合模拟结果的几何形状的方法的框图。给定可以模拟903来生成模拟结果904的输入工件901和机加工指令902,将输入工件分割(905)成子工件906。基于分割,复制并修改907机加工指令。各子工件与修改后指令908和909关联。通过对原始输入工件901的副本910和911模拟修改后指令,模拟服务器(例如,远程主机912和913)生成与预期模拟结果904不同的模拟结果914和915。
然而,模拟客户端根据其对应子工件916和917裁剪918和919修改后机加工指令的模拟结果。裁剪后计算机几何形状920和921的组合可以匹配原始模拟结果904中的对应部分。由此,这些裁剪的计算机几何形状可以组合921成单个表示,该单个表示与可以在没有分割的情况下执行的预期表示相同。尤其,组合由本地模拟客户端来执行。远程主机不具有与子工件的位置、形状以及尺寸有关的信息,由此,无法提取对应的计算机几何形状。
图10A示出了根据一些实施方式的、计算机几何形状未由格子表示或子工件的边界未与格子边界对齐时的示例。例如,在图10A中,子工件的边界1050未与网格1060的边缘对齐。在这种情况下,一些实施方式的模拟客户端可以选择不组合几何形状,而是渲染与各几何形状在对应子工件的体积内的部分对应的图像,以在显示装置上形成合成图像。例如,模拟客户端可以存储所有子工件的计算机几何形状,将它们上的各个全部渲染到图像中,并且将图像合成单个图像,该单个图像与在没有分割的情况下渲染模拟相同。
图10B示出了根据一个实施方式的、用于渲染组合来自不同模拟的裁剪后几何形状的图像的方法的示意图。给定可以模拟1003来生成模拟结果1004的输入工件1001和机加工指令1002,可以将输入工件分割1005成子工件1006。基于子工件,复制并修改1007机加工指令。各子工件具有其自己的修改后群机加工指令1008和1009。通过对原始输入工件1001的副本1010和1011模拟修改后指令,模拟服务器1012和1013生成与预期模拟结果1004不同的模拟结果1014和1015。
当渲染计算机几何形状1014和1015时,渲染器1022使用对应的子工件1016和1018来生成在隐藏在图像中的子工件外部具有部分的对应裁剪图像。裁剪图像中的各像素存储在子工件内的计算机几何形状的颜色和深度这两者。凭借深度,裁剪图像被渲染1022到单个图像1023中,以产生与通过渲染1024在没有分割的情况下模拟的计算机几何形状1004接收的图像1025类似的图像。
图11A示出了将模拟后计算机几何形状1101渲染到图像1102中的示意图。图11B示出了计算机几何形状和图像平面1103的顶视图。图11C示出了更新图11A的图像的像素的最前片段的示意图。
图像平面1103上的各单元被称为图像的像素。像素记录借助该像素可见的最前表面的颜色。像素的位置表示为(x,y),并且颜色和距离分别表示为C(x,y)和D(x,y)。
在渲染计算机几何形状之前,重设像素的颜色和深度。为了渲染计算几何形状,一些实施方式将计算机几何形状的表面栅格化成被称为片段1104的小元素。设想穿过像素投射射线,则片段是射线和计算机几何形状相交的位置周围的小表面片。由于计算机几何形状具有多层表面,所以来自像素的射线可以与多个片段相交。
图12A示出了更新图11A的图像1102的位置(x,y)处的像素1204的颜色和距离的流程图。给定具有颜色c和距离d的该像素位置(x,y)处的新片段1205,如果其距离d更接近对应像素的所记录距离D(x,y)1206,则由该新像素的颜色和距离更新1207该像素的颜色和距离。
图12B示出了根据一些实施方式的、对于子工件渲染计算机几何形状的方法的流程图。图11D-11G例示了图12B的方法的步骤。具体地,图11D示出了当在子工件外部时如何丢弃栅格化片段;图11E示出了在保持图11D的最前片段之后的图像;图11F示出了如何针对计算机几何形状的栅格化后片段的子工件裁剪计算机几何形状的栅格化后片段;并且图11G示出了在更新图11F中的片段之后的图像。
如图11D所示,对于子工件1106给定计算机几何形状1107,则方法将几何形状栅格化1201为片段,然后在对应子工件的外部丢弃1202片段。剩余的片段用于更新1203图像。在检查所有剩余的片段之后,图像1109记录子工件1106内的计算机几何形状的最前表面的颜色和距离。
对于所有子工件重复该过程。如图11F所示,给定另一个计算机几何形状1110,方法将表面栅格化到其子工件1109内的片段中。片段用于更新像素,使得仅保持更靠近图像的像素。图11G示出了各像素记录与图11C的片段相同的片段的距离和颜色的最终图像。
与基于几何形状的合成相比,基于图像的合成更一般,但渲染更慢,因为模拟客户端需要渲染多个计算机几何形状。尽管如此,但同样使基于图像的合成作为基于物体的合成安全,因为远程主机仍然不具有与它们的子工件有关的信息。
本发明的上述实施方式可以以大量方式中的任意一个来实现。例如,实施方式可以使用硬件、软件或其组合来实现。当在软件中实现时,可以在任意合适的处理器或处理器的集合上执行软件代码,而不管处理器是设置在单个计算机中还是分布在多个计算机之间。这种处理器可以被实现为集成电路,一个或多个处理器在集成电路部件中。但处理器可以使用任意合适格式的电路来实现。
而且,本发明的实施方式可以被具体实施为示例已经被提供的方法。作为方法的一部分执行的分割、修改和重构的动作可以以任意合适的方式来排序。因此,可以构造以下实施方式,其中,虽然动作在例示性实施方式中被示出为顺序动作,但动作以与所例示的不同顺序来执行,这可以包括同时执行一些动作。
Claims (19)
1.一种用于根据用于使机加工工具相对于工件移动的机加工指令模拟对所述工件的机加工的方法,其中,所述模拟使用与一组远程主机通信的处理器来执行,其中,所述处理器与实现所述方法的已存储指令耦合,其中,所述已存储指令在由所述处理器执行时,进行所述方法的至少一些步骤,该方法包括以下步骤:
将所述工件的模型分割成不相交的体积,以产生一组子工件;
对于各子工件,修改所述机加工指令,以产生与所述机加工指令不同的一组修改后机加工指令群,各群修改后机加工指令与子工件关联,并且包括使所述机加工工具移动穿过所述子工件的有效机加工指令以及使所述机加工工具在所述子工件的外部移动穿过所述工件的所述模型的至少一个伪机加工指令;
使得所述远程主机使用所述修改后机加工指令的至少一个群来模拟对所述工件的所述机加工,以产生所述工件的机加工模拟的几何形状,各几何形状与对应的子工件关联;以及
使用各几何形状在所述对应子工件的所述体积内的部分,重构机加工后的工件的表示。
2.根据权利要求1所述的方法,其中,对于子工件修改所述机加工指令的步骤包括:
对于各机加工指令,确定与机加工指令关联的扫描体积,所述扫描体积通过使所述工件的所述模型的体积与根据所述机加工指令由所述机加工工具的形状的运动形成的体积相交形成;
确定所述扫描体积的边界框;以及
如果所述扫描体积的所述边界框与所述子工件重叠,则选择所述机加工指令,作为对于与所述子工件关联的所述修改后机加工指令的群的有效机加工指令。
3.根据权利要求2所述的方法,所述方法还包括以下步骤:
创建与所有所述机加工指令不同的、对所述子工件的所述伪机加工指令;以及
将所述伪机加工指令添加到与所述子工件关联的所述修改后机加工指令的群中。
4.根据权利要求2所述的方法,所述方法还包括以下步骤:
创建对所述子工件的所述伪机加工指令,作为使所述机加工工具在所述子工件的外部移动穿过所述工件的所述模型的所述机加工指令的子集;以及
将所述伪机加工指令添加到与所述子工件关联的所述修改后机加工指令的群中。
5.根据权利要求1所述的方法,其中,所述分割的步骤包括:
将所述工件的所述模型分割成具有相同形状和尺寸的所述子工件。
6.根据权利要求1所述的方法,其中,所述分割的步骤包括:
将所述工件的所述模型分割成具有不同形状、尺寸或两者的组合的所述子工件。
7.根据权利要求1所述的方法,其中,子工件的数量等于远程主机的数量,该方法还包括以下步骤:
使所述远程主机与不同的子工件关联,以使得各远程主机与所述对应的子工件关联;
通过通信链路向各远程主机发送与所述对应的子工件关联的修改后机加工指令的群;以及
响应于所述发送,从各远程主机接收与所述对应的子工件关联的所述几何形状。
8.根据权利要求7所述的方法,所述方法还包括以下步骤:
向所述远程主机发送所述工件的所述模型。
9.根据权利要求1所述的方法,其中,所述重构的步骤包括:
提取各几何形状在所述对应子工件的所述体积内的部分,以产生一组裁剪后的几何形状;以及
根据关联子工件在所述工件的所述模型内的位置,将所述一组裁剪后的几何形状组合在存储器中,以产生所述机加工后工件的表示。
10.根据权利要求1所述的方法,其中,所述重构的步骤包括:
渲染与各几何形状在所述对应子工件的所述体积内的部分对应的图像,以在显示装置上形成表示所述机加工后工件的合成图像。
11.根据权利要求10所述的方法,其中,所述渲染的步骤包括:
将与所述子工件关联的所述几何形状栅格化为片段;
丢弃在所述子工件外部的片段;以及
根据栅格化片段更新所述图像的像素。
12.一种被设置成与一组远程主机通信的系统,该系统用于根据用于使机加工工具相对于工件移动的机加工指令模拟对所述工件的机加工,所述系统包括:
存储器,该存储器被设置成存储所述机加工指令和所述工件的模型;
处理器,该处理器被设置成:
将所述工件的模型分割成不相交的体积,以产生一组子工件;并且
修改对各子工件的所述机加工指令,以产生与所述机加工指令不同的一组修改后机加工指令群,各群修改后机加工指令与子工件关联,并且包括使所述机加工工具移动穿过所述子工件的有效机加工指令以及使所述机加工工具在所述子工件的外部移动穿过所述工件的所述模型的至少一个伪机加工指令;以及
收发器,该收发器被设置成:
通过通信链路向各远程主机发送与对应的子工件关联的修改后机加工指令的群;并且
响应于所述发送,从各远程主机接收与所述对应的子工件关联的几何形状,
其中,所述处理器被设置成使用各几何形状在所述对应子工件的所述体积内的部分,重构机加工后的工件的表示。
13.根据权利要求12所述的系统,所述系统还包括:
显示装置,该显示装置用于渲染所述机加工后工件的表示。
14.根据权利要求12所述的系统,其中,所述处理器被设置成通过以下处理来修改对所述子工件的所述机加工指令:
对于各机加工指令,确定与机加工指令关联的扫描体积,所述扫描体积通过使所述工件的所述模型的体积与根据所述机加工指令由所述机加工工具的形状的运动形成的体积相交形成;
确定所述扫描体积的边界框;并且
如果所述扫描体积的所述边界框与所述子工件重叠,则选择所述机加工指令,作为对于与所述子工件关联的所述修改后机加工指令的群的有效机加工指令。
15.根据权利要求12所述的系统,其中,所述处理器被设置成通过以下处理来进一步修改对所述子工件的所述机加工指令:
创建与所有所述机加工指令不同的、对所述子工件的所述伪机加工指令;并且
将所述伪机加工指令添加到与所述子工件关联的所述修改后机加工指令的群中。
16.根据权利要求12所述的系统,其中,所述处理器被设置成通过以下处理来进一步修改对所述子工件的所述机加工指令:
创建对所述子工件的所述伪机加工指令,作为使所述机加工工具在所述子工件的外部移动穿过所述工件的所述模型的所述机加工指令的子集;并且
将所述伪机加工指令添加到与所述子工件关联的所述修改后机加工指令的群中。
17.根据权利要求12所述的系统,其中,所述处理器被设置成通过以下处理来确定所述加工后工件的表示:
提取各几何形状在所述对应子工件的所述体积内的部分,以产生一组裁剪后的几何形状;并且
根据关联子工件在所述工件的所述模型内的位置,将所述一组裁剪后的几何形状组合在存储器中,以产生机加工后工件的表示。
18.根据权利要求12所述的系统,其中,所述处理器被设置成通过以下处理来确定所述加工后工件的表示:
渲染与各几何形状在所述对应子工件的所述体积内的部分对应的图像,以在显示装置上形成表示机加工后工件的合成图像。
19.根据权利要求18所述的系统,其中,所述处理器被设置成通过以下处理来确定所述加工后工件的表示:
将与所述子工件关联的所述几何形状栅格化为片段;
丢弃在所述子工件外部的片段;并且
根据栅格化片段更新所述图像的像素。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/438,954 US10353352B2 (en) | 2017-02-22 | 2017-02-22 | System and method for distributed machining simulation |
US15/438,954 | 2017-02-22 | ||
PCT/JP2018/005364 WO2018155313A1 (en) | 2017-02-22 | 2018-02-08 | System and method for simulating machining of workpiece |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110325932A CN110325932A (zh) | 2019-10-11 |
CN110325932B true CN110325932B (zh) | 2022-03-11 |
Family
ID=61622642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880012121.4A Active CN110325932B (zh) | 2017-02-22 | 2018-02-08 | 用于模拟对工件的机加工的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10353352B2 (zh) |
JP (1) | JP6742520B2 (zh) |
CN (1) | CN110325932B (zh) |
DE (1) | DE112018000951T5 (zh) |
WO (1) | WO2018155313A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT202100027821A1 (it) * | 2021-10-29 | 2023-04-29 | Milano Politecnico | Metodo per valutare la qualità di pezzi realizzati con una macchina a controllo numerico |
WO2023237411A1 (de) * | 2022-06-08 | 2023-12-14 | Siemens Aktiengesellschaft | Verfahren zum betreiben einer werkzeugmaschine, computerprogrammprodukt, steuereinheit, werkzeugmaschine, simulationsprogrammprodukt und verwendung einer steuereinheit |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1288753A4 (en) * | 2000-03-31 | 2007-08-01 | Incs Inc | DATA GENERATION DEVICE, DATA GENERATION PROCESS AND DATA GENERATION PROGRAM |
JP4346021B2 (ja) * | 2001-08-16 | 2009-10-14 | 独立行政法人理化学研究所 | V−cadデータを用いたラピッドプロトタイピング方法と装置 |
EP1452984A4 (en) * | 2001-12-04 | 2013-05-01 | Riken | METHOD FOR CONVERTING THREE DIMENSIONAL IMAGE DATA TO INTERNAL CELL DATA AND CONVERSION PROGRAM |
JP4320425B2 (ja) * | 2002-02-28 | 2009-08-26 | 独立行政法人理化学研究所 | 境界データのセル内形状への変換方法及び変換プログラム |
JP4381743B2 (ja) * | 2003-07-16 | 2009-12-09 | 独立行政法人理化学研究所 | 境界表現データからボリュームデータを生成する方法及びそのプログラム |
JP4783100B2 (ja) * | 2005-09-12 | 2011-09-28 | 独立行政法人理化学研究所 | 境界データのセル内形状データへの変換方法とその変換プログラム |
US7379777B2 (en) * | 2006-01-24 | 2008-05-27 | National Instruments Corporation | System and method for automatically updating the memory map of a programmable logic controller to customized hardware |
DE102006043390B4 (de) * | 2006-09-15 | 2010-05-27 | Dmg Electronics Gmbh | Vorrichtung und Verfahren zur Simulation eines Ablaufs zur Bearbeitung eines Werkstücks an einer Werkzeugmaschine |
DE102007045595A1 (de) * | 2007-09-14 | 2009-03-26 | Index-Werke Gmbh & Co. Kg Hahn & Tessky | Verfahren und virtuelle Werkzeugmaschine zur Darstellung von Aktionen einer realen Werkzeugmaschine |
WO2009076987A1 (de) | 2007-12-17 | 2009-06-25 | Siemens Aktiengesellschaft | System und verfahren zur simulation eines ablaufs eines steuerungsprogramms |
CN101308375A (zh) * | 2008-07-16 | 2008-11-19 | 四川普什宁江机床有限公司 | 一种数控纵切机床加工程序模拟实现方法及其系统 |
US8238256B2 (en) | 2008-09-08 | 2012-08-07 | Nugent Raymond M | System and method for cloud computing |
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 |
US8483858B2 (en) | 2010-03-31 | 2013-07-09 | Mitsubishi Electric Research Laboratories, Inc. | System and method for optimizing machining simulation |
JP5737970B2 (ja) * | 2011-01-28 | 2015-06-17 | Dmg森精機株式会社 | 工作機械の制御システム |
DE102011105141A1 (de) | 2011-06-09 | 2012-12-13 | Dmg Electronics Gmbh | Verfahren und system zur simulation eines arbeitsprozesses an einer werkzeugmaschine |
US8838419B2 (en) | 2011-06-24 | 2014-09-16 | Mitsubishi Electric Research Laboratories, Inc. | System and method for simulating machining objects |
CN106134469B (zh) * | 2011-08-26 | 2013-11-27 | 北京卫星制造厂 | 一种模拟刀具中心轨迹的数控程序校对系统与方法 |
US9892215B2 (en) * | 2013-09-23 | 2018-02-13 | Mitsubishi Electric Research Laboratories, Inc. | System and method for determining feedrates of machining tools |
-
2017
- 2017-02-22 US US15/438,954 patent/US10353352B2/en active Active
-
2018
- 2018-02-08 JP JP2019526343A patent/JP6742520B2/ja active Active
- 2018-02-08 WO PCT/JP2018/005364 patent/WO2018155313A1/en active Application Filing
- 2018-02-08 DE DE112018000951.3T patent/DE112018000951T5/de active Pending
- 2018-02-08 CN CN201880012121.4A patent/CN110325932B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
JP6742520B2 (ja) | 2020-08-19 |
US10353352B2 (en) | 2019-07-16 |
US20180239312A1 (en) | 2018-08-23 |
JP2019536160A (ja) | 2019-12-12 |
CN110325932A (zh) | 2019-10-11 |
DE112018000951T5 (de) | 2019-10-31 |
WO2018155313A1 (en) | 2018-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Voelcker et al. | The role of solid modelling in machining-process modelling and NC verification | |
CN101894176B (zh) | 在采样点重建扫过容积的距离场的方法 | |
US5497453A (en) | Method and apparatus for detecting and visualizing interferences between solids | |
US8483858B2 (en) | System and method for optimizing machining simulation | |
JPH0727579B2 (ja) | グラフィクス処理装置及び方法並びにピクセル・メモリ装置 | |
CN110325932B (zh) | 用于模拟对工件的机加工的系统和方法 | |
JP5666013B2 (ja) | 物体のモデルの表面の欠陥を判断するための方法およびシステム | |
US6862560B1 (en) | Machining simulation method and apparatus | |
Jia et al. | Stable real-time surgical cutting simulation of deformable objects embedded with arbitrary triangular meshes | |
JP5984175B2 (ja) | 機械加工シミュレーションの間にアンドゥ操作及びリドゥ操作を行うためのシステム及び方法 | |
US8217933B2 (en) | Method and apparatus for detecting between virtual objects | |
US11763047B2 (en) | Method for parallelized simulation of the movement of a machine component in or near a work object | |
Obukhov et al. | Real-time cutting simulation based on voxel model | |
EP1580696A2 (en) | Horizontally structured CAD/CAM modeling | |
Liu et al. | Dimensional verification of NC machining profiles using extended quadtrees | |
Yigit et al. | A solid modeler based engagement model for 5-axis ball end milling | |
JP2019536160A5 (zh) | ||
US20140172144A1 (en) | System and Method for Determining Surface Defects | |
WO2003001459A1 (en) | Method, apparatus, and article of manufacture for associating objects with regions in coordinate space | |
Inui et al. | A comparison of two methods for geometric milling simulation accelerated by GPU | |
JPH08108345A (ja) | Nc工作機械の工具の切削経路作成方法および切削シミュレーション方法 | |
Inui et al. | GPU-based visualization of knee-form contact area for safety inspections | |
Xiaojun et al. | A simulation software GNCV of NC verification | |
Inui et al. | Fast Estimation of Milling Result with Geometric Processing Unit | |
Moreno et al. | A geometric representation for the real-time simulation of nc machining processes |
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 |