JP2016126776A - Simulating machining of workpiece - Google Patents

Simulating machining of workpiece Download PDF

Info

Publication number
JP2016126776A
JP2016126776A JP2015244168A JP2015244168A JP2016126776A JP 2016126776 A JP2016126776 A JP 2016126776A JP 2015244168 A JP2015244168 A JP 2015244168A JP 2015244168 A JP2015244168 A JP 2015244168A JP 2016126776 A JP2016126776 A JP 2016126776A
Authority
JP
Japan
Prior art keywords
dexel
mesh
intersection
workpiece
volume
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
JP2015244168A
Other languages
Japanese (ja)
Other versions
JP6787661B2 (en
Inventor
モンタナ ニコラス
Montana Nicolas
モンタナ ニコラス
ノセンツォ ロマン
Nosenzo Roman
ノセンツォ ロマン
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.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
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 Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of JP2016126776A publication Critical patent/JP2016126776A/en
Application granted granted Critical
Publication of JP6787661B2 publication Critical patent/JP6787661B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35346VMMC: virtual machining measuring cell simulate machining process with modeled errors, error prediction
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40091Tele-programming by graphical simulation
    • 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
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/80Technologies aiming to reduce greenhouse gasses emissions common to all road transportation technologies
    • Y02T10/82Elements for improving aerodynamics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Numerical Control (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an improved method and system for simulating machining of a workpiece.SOLUTION: There is provided a computer-implemented method for simulating the machining of a workpiece with a cutting tool having at least one cutting part and at least one non-cutting part. The method comprises providing a set of dexels that represents the workpiece, a trajectory of the cutting tool, and a set of meshes each representing an individual cutting part or non-cutting part of the cutting tool (S10). The method also comprises, for each dexel, computing, for each mesh, the extremity points of all polylines that describe a time (h,t) diagram (S20), and testing a collision of the cutting tool with the workpiece along the dexel on the basis of the lower envelope of the set of all polylines (S30).SELECTED DRAWING: Figure 4

Description

本発明は、コンピュータプログラムおよびシステムの分野に関し、より詳細には、工作物の機械加工をシミュレートするための方法、システム、およびプログラムに関する。   The present invention relates to the field of computer programs and systems, and more particularly to methods, systems, and programs for simulating machining of workpieces.

オブジェクトの設計、エンジニアリング、および製造に関する市場には、いくつかのシステムおよびプログラムが提供されている。CADはコンピュータ支援設計の頭字語であり、例えば物体を設計するためのソフトウェアソリューションに関する。CAEはコンピュータ支援エンジニアリングの頭字語であり、例えば将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関する。CAMはコンピュータ支援製造の頭字語であり、例えば製造のプロセスおよび動作を定義するためのソフトウェアソリューションに関する。こうしたコンピュータ支援設計システムにおいて、技法の効率に関しては、グラフィカルユーザインターフェース(GUI)が重要な役割を果たす。これらの技法は、製品ライフサイクル管理(PLM)システム内に埋め込むことが可能である。PLMは、拡張された企業の概念全体にわたって、企業が製品データを共有し、共通のプロセスを適用し、製品の出現から寿命の終了まで製品の開発に関する企業知識を活用するための一助となる、ビジネス戦略を指す。   There are several systems and programs available on the market for object design, engineering, and manufacturing. CAD is an acronym for computer-aided design and relates to software solutions for designing objects, for example. CAE is an acronym for computer-aided engineering, for example, software solutions for simulating the physical behavior of future products. CAM is an acronym for computer-aided manufacturing, for example, relating to software solutions for defining manufacturing processes and operations. In such computer aided design systems, the graphical user interface (GUI) plays an important role in terms of the efficiency of the technique. These techniques can be embedded within a product lifecycle management (PLM) system. PLM helps companies share product data, apply common processes, and leverage company knowledge on product development from product emergence to end of life, across the extended enterprise concept. Refers to business strategy.

DASSAULT SYSTEMSによって(商標CATIA、ENOVIA、およびDELMIAで)提供されるPLMソリューションは、製品エンジニアリング知識を組織化するエンジニアリングハブ、製造エンジニアリング知識を管理する製造ハブ、ならびに、エンジニアリングハブおよび製造ハブの両方への企業の統合および接続を可能にする企業ハブを提供する。すべてが一緒になって、システムは、動的な知識ベースの製品創出および意思決定支援を可能にするように製品、プロセス、リソースをリンクし、最適化された製品の定義、製造準備、生産、およびサービスを推進するオープンオブジェクトモデルをもたらす。   The PLM solution provided by DASSAULT SYSTEMS (under the trademarks CATIA, ENOVIA, and DELMIA) is an engineering hub that organizes product engineering knowledge, a manufacturing hub that manages manufacturing engineering knowledge, and both engineering and manufacturing hubs Provide an enterprise hub that enables enterprise integration and connectivity. All together, the system links products, processes, and resources to enable dynamic knowledge-based product creation and decision support, optimized product definition, manufacturing preparation, production, And bring an open object model to promote services.

いくつかのシステムは、デクセル(dexel)の集合(set)を用いたモデル化されたボリュームの表現を可能にする。いくつかの文書では、機械加工シミュレーションまたは対話型彫刻に関してデクセル表現を使用することを特に提案している。   Some systems allow for the representation of a modeled volume using a set of dexels. Some documents specifically suggest using dexel representations for machining simulation or interactive engraving.

こうした文書の例(例えば、非特許文献1、非特許文献2、非特許文献3、非特許文献4、非特許文献5、非特許文献6、特許文献1、および特許文献2を参照)がある。   There are examples of such documents (see, for example, Non-Patent Document 1, Non-Patent Document 2, Non-Patent Document 3, Non-Patent Document 4, Non-Patent Document 5, Non-Patent Document 6, Patent Document 1, and Patent Document 2). .

GPGPU(GENERAL−PURPOSE COMPUTING ON GRAPHICS PROCESSING UNITS)は、従来は中央処理ユニット(CPU)によって処理されるアプリケーション内の計算を実行するために、通常はコンピュータグラフィック専用の計算を処理するグラフィック処理ユニット(GPU)を使用する技法である。いくつかの論文では、デクセル表現に関して現在のグラフィック処理ユニット(GPU)の計算能力を使用することについて考察している。これらの論文は、特定のメモリモデルに関連付けられたLDNI(LAYERED DEPTH−NORMAL IMAGES)アルゴリズムを使用している。   GPGPU (GENERAL-PURPOSE COMPUTING ON GRAPHICS PROCESSING UNITS) is a graphics processing unit (GPU) that normally processes computations dedicated to computer graphics to perform calculations in applications that are conventionally processed by a central processing unit (CPU). ). Several papers consider using the computational power of current graphics processing units (GPUs) for dexel representation. These papers use the LDNI (LAYERED DEPTH-NORMAL IMAGES) algorithm associated with a specific memory model.

こうした論文の例(例えば、非特許文献7および非特許文献8を参照)がある。   There are examples of these papers (see, for example, Non-Patent Document 7 and Non-Patent Document 8).

一般的に衝突検出のためのアルゴリズムは、例えばn個の動的オブジェクトの場合における検出を記述する。多角形の描写に関して、多く衝突検出方法は、例えば2値空間分割又は指向バウンディングボリューム(Oriented Bounding Volumes)などの古典的な幾何学的オブジェクトに基づく。いくつかのアルゴリズムは、CGSによって表現されたソリッド(solid)に関して存在する。CGS構造は、単一のプリミティブ上で実行されるブール(Boolean)演算のシーケンスの結果として、3Dクローズド・ソリッド(closed solid)を記述する。結局、ソリッドは、パラメータ方程式又は陰方程式によってされる。これの描写は、表面間の交差をテストするための多くのアルゴリズムに至る。これらのアプローチは、例えば分析法、ラティス(lattice)法、追跡法、陰方程式など、いくつかのグループに集約される。   In general, an algorithm for collision detection describes detection in the case of n dynamic objects, for example. With respect to polygon rendering, many collision detection methods are based on classical geometric objects such as binary space partitioning or Oriented Bounding Volumes. Some algorithms exist for solids represented by CGS. The CGS structure describes a 3D closed solid as a result of a sequence of Boolean operations performed on a single primitive. Eventually, the solid is made by a parametric or implicit equation. This depiction leads to many algorithms for testing intersections between surfaces. These approaches are summarized in several groups, such as analytical methods, lattice methods, tracking methods, implicit equations, etc.

こうした論文の例(例えば、非特許文献9、非特許文献10、非特許文献11、非特許文献12、および非特許文献13を参照)がある。   There are examples of such papers (see, for example, Non-Patent Document 9, Non-Patent Document 10, Non-Patent Document 11, Non-Patent Document 12, and Non-Patent Document 13).

しかし、NCシミュレーション用の衝突検出は、特別である。機械加工シミュレーションの特殊性は、2つに分けられる。その一つは、工作物のジオメトリーは、機械加工プロセスの間中、連続的に展開する。そのもう1つは、動的工具(tool)は、切削部と非切削部、例えば柄(工具の側面)と保持部などを含む。NC機械加工シミュレーション又はより一般的な彫刻シミュレーションの構成において、ほとんどの作成者が、非切削機械加工部と展開する工作物との間での衝突をチェックすることとをほとんど考慮していない。   However, collision detection for NC simulation is special. The specialities of machining simulation can be divided into two. For one thing, the geometry of the workpiece evolves continuously throughout the machining process. The other is that the dynamic tool includes a cutting part and a non-cutting part, for example, a handle (side surface of the tool) and a holding part. In NC machining simulation or more general sculpture simulation configurations, most creators rarely consider checking for collisions between the non-cutting machined part and the unfolding workpiece.

下記の文献(例えば、非特許文献14、非特許文献15、および非特許文献16を参照)において、衝突を検出する問題は、各衝突テスト間の部品のジオメトリーを更新することによって述べられる。   In the following references (see, for example, Non-Patent Document 14, Non-Patent Document 15, and Non-Patent Document 16), the problem of detecting a collision is described by updating the geometry of the part between each collision test.

観察したように、機械加工シミュレーションの歴史は長い。しかし、既存の解決策は、とりわけ、メモリ性能の観点から、シミュレーションの正確性の観点から、および/またはユーザ利用の観点から、効率に欠ける。   As we have observed, machining simulation has a long history. However, existing solutions are not efficient, especially from the perspective of memory performance, from the perspective of simulation accuracy, and / or from the perspective of user utilization.

図1〜図3は、工作物の機械加工をシミュレートするときに現れる問題を示す。工具位置で衝突のみを検出するアプローチ(これは、非特許文献17参照)では、各工具位置で衝突検出を行う。結果として、工具が1つの位置から次の位置へ移動するとき、何が発生したのかは、無視される。このような欠点に対処するために、工具の軌道(trajectory)は、2つの一連の工具位置間の距離が所定の許容誤差を超えないように、常に全面的に独立して描かれる。これは、膨大なチェック数を必要とすることから、性能面で落ちる傾向にある。図1は、工作物10と工具14の非切削部12との間での誤った衝突を示す。図2は、十分な離散的配置による、工作物10と工具14の非切削部12との間での誤った衝突20の検出を示す。そのような離散的配置はコスト高(その結果として、例えばシミュレーションのビジュアル的な流動性の欠落となる)であり、決して100%安全とすることができない。   1-3 illustrate the problems that appear when simulating machining a workpiece. In the approach of detecting only the collision at the tool position (refer to Non-Patent Document 17), the collision is detected at each tool position. As a result, what happens when the tool moves from one position to the next is ignored. In order to address such drawbacks, the tool trajectory is always drawn entirely independently so that the distance between two series of tool positions does not exceed a predetermined tolerance. This requires a huge number of checks, and tends to decrease in performance. FIG. 1 shows a false collision between the workpiece 10 and the non-cutting part 12 of the tool 14. FIG. 2 shows the detection of a false collision 20 between the workpiece 10 and the non-cutting part 12 of the tool 14 with a sufficiently discrete arrangement. Such a discrete arrangement is costly (resulting in, for example, a lack of visual fluidity in the simulation) and can never be 100% safe.

いくつかのアプローチでは、工作物が固定したままであることは、機械加工プロセスを扱うとき、材料移動事象が行われず、非現実的であるということを意味することと仮定できる。これらのアプローチは、時間の間じゅうは進展がないと思われる2つのオブジェクト間の衝突を検出する、より一般的なクラスのアルゴリズムに属する。これらのアルゴリズムは、一般的に経路計画問題を解決するために使用される。機械加工シミュレーションの内容において、それらは設計された部分に対して衝突が生じないことをチェックするために使用される。   In some approaches, it can be assumed that the workpiece remains stationary means that when handling the machining process, no material transfer event takes place and is impractical. These approaches belong to a more general class of algorithms that detect collisions between two objects that may not progress over time. These algorithms are commonly used to solve path planning problems. In the context of machining simulation, they are used to check that no collisions occur on the designed part.

少数のアプローチでは、先の2つの問題を取扱うことができる。すなわち、これらのアプローチでは、工作物を時間と共に進展するものとみなし、および工具位置のみならず、工具の動きに沿った衝突を検出することを許容することを目的とする。しかし、これらのアプローチでは、工具のジオメトリー(geometry)について制限的な仮定に基づくことができ、および例えば隆起のような膨大(および無限)な数の凸部を必要とするいくつかの工具を破棄することができる。これらのアプローチでは、工具上の窪み又は丸みを特徴とする工具も取扱うことができない。さらに一般的には、これらのアプローチは、凸部間のブーリアン(Boolean)減算から得られる工具を取扱うことができない。凸部の接合によってそのような工具に近似させることは、実際的にパフォーマンスに欠け、および正確性を損なう。図3は、非切削部36との衝突無しに、工作物34を機械加工することができる非凸切削部32を有する切削工具30を示す。見てわかるように、切削工具の形状およびその軌道は、その切削部が常に最初に工作物材料に当たることが保証されているため、衝突は生じない。しかし、これらのアプローチは、(他の見地からのパフォーマンスを通じて)誤って衝突と報告しやすい。   A few approaches can deal with the previous two problems. That is, these approaches aim to allow the workpiece to be considered to evolve over time and to detect not only tool position but also collisions along the tool movement. However, these approaches can be based on restrictive assumptions about the tool geometry and discard some tools that require a huge (and infinite) number of protrusions such as bumps can do. These approaches also cannot handle tools characterized by dents or rounds on the tool. More generally, these approaches cannot handle tools that result from Boolean subtraction between protrusions. Approximating such a tool by convex joints actually lacks performance and impairs accuracy. FIG. 3 shows a cutting tool 30 having a non-convex cutting portion 32 that can machine the workpiece 34 without collision with the non-cutting portion 36. As can be seen, the shape of the cutting tool and its trajectory are guaranteed to ensure that the cut always hits the workpiece material first, so that no collision occurs. However, these approaches are prone to accidentally reporting a collision (through performance from other perspectives).

これに関連して、工作物の機械加工をシミュレートするための改良された解決策が、依然として求められている。   In this regard, there remains a need for improved solutions for simulating workpiece machining.

米国特許第5710709号明細書US Pat. No. 5,710,709 米国特許第7747418号明細書US Pat. No. 7,747,418

“A VIRTUAL SCULPTING SYSTEM BASED ON TRIPLE DEXEL MODELS WITH HAPTICS”, XIAOBO PENG AND WEIHAN ZHANG, COMPUTER−AIDED DESIGN AND APPLICATIONS, 2009“A VIRTUAL SCULPTING SYSTEM BASED ON TRIPPLE DEXEL MODELS WITH HAPTICS”, XIAOBO PENG AND WEIHAN ZHANG, COMPUTER-AIED DESIGN9 AND APPLICAT “NC MILLING ERROR ASSESSMENT AND TOOL PATH CORRECTION”, YUNCHING HUANG AND JAMES H. OLIVER, PROCEEDINGS OF THE 21ST ANNUAL CONFERENCE ON COMPUTER GRAPHICS AND INTERACTIVE TECHNIQUES, 1994“NC MILLING ERROR ASSESSMENT AND TOOL PATH COLLECTION”, YUNCHING HUANG AND JAMES H. OLIVER, PROCEEDINGS OF THE 21ST ANNUAL CONFERENCE ON COMPUTER GRAPHICS AND INTERACTIVE TECHNIQUES, 1994 “ONLINE SCULPTING AND VISUALIZATION OF MULTI−DEXEL VOLUMES”, HEINRICH MULLER, TOBIAS SURMANN, MARC STAUTNER, FRANK ALBERSMANN, KLAUS WEINERT, SM ’03 PROCEEDINGS OF THE EIGHTH ACM SYMPOSIUM ON SOLID MODELING AND APPLICATIONS"ONLINE SCULPTING AND VISUALIZATION OF MULTI-DEXEL VOLUMES", HEINRICH MULLER, TOBIAS SURMANN, MARC STAUTNER, FRANK ALBERSMANN, KLAUS WEINERT, SM '03 PROCEEDINGS OF THE EIGHTH ACM SYMPOSIUM ON SOLID MODELING AND APPLICATIONS “VIRTUAL PROTOTYPING AND MANUFACTURING PLANNING BY USING TRI−DEXEL MODELS AND HAPTIC FORCE FEEDBACK”, YONGFU REN, SUSANA K. LAI−YUEN AND YUAN−SHIN LEE, VIRTUAL AND PHYSICAL PROTOTYPING, 2006“VIRTUAL PROTOTYPING AND MANUFACTURING PLANING BY USING TRI-DEX MODELS AND HATTIC FORCE FEEDBACK”, YONGFU REN, SUSANA K. LAI-YUEN AND YUAN-SHIN LEE, VIRTUAL AND PHYSICAL PROTOTYPING, 2006 “SIMULATION OF NC MACHINING BASED ON THE DEXEL MODEL: A CRITICAL ANALYSIS”, SABINE STIFFER, THE INTERNATIONAL JOURNAL OF ADVANCED MANUFACTURING TECHNOLOGY, 1995“SIMULATION OF NC MACHINEING BASED ON THE DEXEL MODEL: A CRITICAL ANALYSIS”, SABINE STIFFER, THE INTERNATIONAL JOURNAL OF ADVANCED MANUFACTURING 19 “REAL TIME SIMULATION AND VISUALIZATION OF NC MILLING PROCESSES FOR INHOMOGENEOUS MATERIALS ON LOW−END GRAPHICS HARDWARE”, KONIG, A.N. AND GROLLER, E., COMPUTER GRAPHICS INTERNATIONAL, 1998. PROCEEDINGS“REAL TIME SIMULATION AND VISUALIZATION OF NC MILLING PROCESSES FOR INHOMOGENEOUS MATERIALS ON LOW-END GRAPHICS HARDWARE”, KONIG, A. N. AND GROLLER, E.E. , COMPUTER GRAPHICS INTERNIONAL, 1998. PROCEEDINGS “GPGPU−BASED MATERIAL REMOVAL SIMULATION AND CUTTING FORCE ESTIMATION”, B. TUKORA AND T. SZALAY, CCP: 94: PROCEEDINGS OF THE SEVENTH INTERNATIONAL CONFERENCE ON ENGINEERING COMPUTATIONAL TECHNOLOGY“GPGPU-BASED MATERIAL REMOVAL SIMULATION AND CUTTING FORCE ESTIMATION”, B. TUKORA AND T. SZALAY, CCP: 94: PROCEEDINGS OF THE SEVENTH INTERNATIONAL CONFERENCE ON ENGINEERING COMPUTATIONAL TECHNOLOGY “LAYERED DEPTH−NORMAL IMAGES: A SPARSE IMPLICIT REPRESENTATION OF SOLID MODELS”, CHARLIE C. L. WANG AND YONG CHEN, PROCEEDINGS OF ASME INTERNATIONAL DESIGN ENGINEERING TECHNICAL CONFERENCES BROOKLYN (NY)"LAYERED DEPTH-NORMAL IMAGES: A SPARSE IMPLICIT REPRESENTATION OF SOLID MODELS", CHARLIE C. L. WANG AND YONG CHEN, PROCEEDINGS OF ASME INTERNATIONAL DESIGN ENGINEERING TECHNICICAL CONFERENCES BROOKLYN (NY) “Collision detection between geometric models: A survey”,Lin,M.andGottschalk,S.Proc.ofIMA Conference on Mathematics of Suurfaces,1998;“Collision detection between geometric models: A survey”, Lin, M .; andGottschalk, S.A. Proc. ofIMA Conference on Mathematicas of Surfaces, 1998; “Improvement of collision−detection algorithm based on OBB”, Journal of Huazhong University of Science and Tecnology, Zhang Qin, Huang Kun, Li Guangming;“Improvement of collation-detection algorithm based on OBB”, Journal of Huazhong University of Science and Technology, Zhang Qing, Hang Qing, “Collision detection and analysis in a physically based on simulation”, W.Bouma and G.Vaneck,Proceedings Eurographics workshop on animation and simulation,1991;“Collision detection and analysis in aphysically based on simulation”, W.M. Bouuma and G.M. Vaneck, Proceedings Europeans workshop on simulation and simulation, 1991; “A new collision] detection method for CGS−represented objects in virtual manufacturing”,Chuan−Jun Sub, Fuhua Lina, and Lan Yeb, Computers in Industry,Volume 40,Issu 1, September 1999, Pages 1−13;“A new collation” detection method for CGS-represented objects in virtual manufacturing, 19 s er s er, s s e s e s e n e u s e, s e s e s e n e, s e s e e, e n e u e, e e “Geometric and Solid Modeling”;C.M.Hoffmann, Morgan KAUfmann, San Mateo, Califoornia,1989“Geometric and Solid Modeling”; M.M. Hoffmann, Morgan KAUfmann, San Mateo, California, 1989 “PRECISE GLOBAL COLLISION DETECTION IN MULTI−AXIS NC−MACHINING”, OLEG ILUSHINA, GERSHON ELBERB, DAN HALPERIN, RON WEIN, MYUNG−SOO KIM, COMPUTER−AIDED DESIGN 37 (2005) 909 − 920“PRECISE GLOBAL COLLECTION DETECTION IN MULTI-AXIS NC-MACHINGING”, OLEG ILUSHINA, GERSHON ELBERB, DAN HALPERIN, RON WEIN, MYUNG-SO19 “THE SWEEP PLANE ALGORITHM FOR GLOBAL COLLISION DETECTION WITH WORKPIECE GEOMETRY UPDATE FOR FIVE−AXIS NC MACHINING”, T.D. TANG, ERIK I., J. BOHEZ, PISUT KOOMSAP, COMPUTER−AIDED DESIGN 39 (2007) 1012 − 1024“THE SWEEP PLANE ALGORITHM FOR GLOBAL COLLISION DETECTION WITH WORKPIECE GEOMETRY UPDATE FOR FIVE-AXIS NC MACHING”, T. D. TANG, ERIK I.I. , J. et al. BOHEZ, PISUT KOOMSAP, COMPUTER-AIED DESIGN 39 (2007) 1012-1024 “Commercial software CAMWorks (regsitered trade mark)”“Commercial software CAMWorks (regulated trade mark)” “Precise global collision detection in multi−axis NC−maching”,Oleg Ilushima, Gershon Elberb,Dan Halperin,Ron Wein,Myung−Soo Kim,Computer−Aided Design 37(2005)909−920,and CAMWorks“Precise global collation detection in multi-axis NC-matching”, Oleg Illusima, Gerson Elberb, Dan Halperin, Ron Wein, Myung-SooKim9 Swept Volumes、M.Peternell、H.Pottmann、T.Steiner、H.Zhao、Computer−Aided Design & Applications、Vol.2、No.5、2005年、599〜608ページSwept Volumes, M.M. Peternell, H.C. Pottmann, T.W. Steiner, H.C. Zhao, Computer-Aided Design & Applications, Vol. 2, no. 5, 2005, 599-608 pages Mathematical Analysis and Numerical Methods for Science and Technology、229ページMathematical Analysis and Numeric Methods for Science and Technology, page 229 Adaptive Precision Floating−Point Arithmetic and Fast Robust Predicates for Computational GeometryAdaptive Precision Floating-Point Arithmetic and Fast Robust Predictates for Computational Geometry

本発明では、工作物の機械加工をシミュレートするための改善された方法、システム、およびプログラムを提供すること。   The present invention provides an improved method, system, and program for simulating machining of a workpiece.

一態様によれば、したがって、少なくとも1つの刃部および少なくとも1つの非刃部を有する切削工具を用いる工作物の機械加工をシミュレートするためのコンピュータ実施方法が提供される。方法は、工作物を表すデクセルの集合であって、各デクセルは、直線と工作物との間の交わりを表す少なくとも1つの線分からなる集合を含む、デクセルの集合と、切削工具の軌道であって、剛体運動である切削工具の軌道と、メッシュの集合であって、各々が、切削工具のそれぞれの刃部または非刃部を表す、メッシュの集合とを提供するステップを含む。次に、方法は、各デクセルについて、各メッシュについて、切削工具の軌道に従って、デクセルの直線とメッシュとの間の交わりの時刻を交わりの高さの関数として記述する、すべてのポリラインの端点を計算するステップを含む。方法は、デクセルに沿って切削工具の工作物との衝突をテストするステップを含む。テストするステップは、すべてのメッシュのすべてのポリラインからなる集合の下側エンベロープに属する位置に対応する高さの値について、その位置が属するポリラインが、非刃部に関連付けられる場合、高さの値が、デクセルの線分に属するかどうかを決定するステップを含む。   According to one aspect, therefore, a computer-implemented method for simulating machining of a workpiece using a cutting tool having at least one blade and at least one non-blade is provided. The method is a set of dexels representing a workpiece, each dexel being a set of dexels, including a set of at least one line segment representing an intersection between a straight line and the workpiece, and a trajectory of a cutting tool. Providing a trajectory of the cutting tool that is rigid body motion and a set of meshes, each of which represents a respective blade or non-blade of the cutting tool. Next, the method calculates for each dexel, for each mesh, the end points of all polylines that describe the time of intersection between the dexel line and the mesh as a function of intersection height, according to the cutting tool trajectory. Including the steps of: The method includes testing the cutting tool for collision with the workpiece along the dexel. The step of testing is for a height value corresponding to a position belonging to the lower envelope of the set of all polylines of all meshes, if the polyline to which that position belongs is associated with a non-blade Determining whether it belongs to the dexel line segment.

方法は、以下のうちの1または複数を含む。
− すべてのポリラインの端点を計算するステップは、各メッシュについて、およびそれぞれのポリラインの各端点について、それぞれのポリラインに関連付けられたメッシュのすべての面分に基づいて、デクセルの直線のそれとの交わりが端点に対応する、切削工具の軌道に従ってメッシュの面分によって掃引された体積の境界面分を決定するステップと、デクセルの直線と決定された境界面分との間の交わりに基づいて、時刻および高さを計算するステップとを含み、
− すべてのポリラインの端点を計算するステップは、各メッシュについて、メッシュの可視部分を決定するステップであって、可視部分は、切削工具の軌道に向かって方向付けられたメッシュの部分である、ステップと、切削工具の軌道に従って、可視部分によって掃引された体積の境界を計算するステップと、次に、それぞれのポリラインの各端点について、デクセルの直線のそれとの交わりが端点に対応する、メッシュの面分によって掃引された体積の境界面分を決定するステップと、時刻および高さを計算するステップとを反復するステップであって、境界面分を決定するステップは、可視部分によって掃引された体積の計算された境界のそれぞれの境界面分を識別することから成る、ステップとをさらに含み、
− すべてのポリラインの端点を計算するステップは、各メッシュについて、可視部分の面分によって掃引された体積に関する隣接性情報を決定するステップであって、各それぞれのポリラインについて、デクセルの直線のそれとの交わりがポリラインの第1の端点に対応する、メッシュの面分によって掃引された体積の境界面分を決定するステップは、幾何学的な計算によって、可視部分によって掃引された体積の計算された境界の第1の面分を決定することから成り、前記第1の面分は、デクセルの直線によって交わられ、デクセルの直線のそれとの交わりがポリラインの第2の端点に対応する、面分によって掃引された体積の境界面分を決定するステップは、隣接性情報に基づいたトポロジ的な伝搬によって、可視部分によって掃引された体積の計算された境界の第2の面分を決定することから成り、前記第2の面分は、デクセルの直線によって交わられる、ステップをさらに含み、ならびに/または
− 反復するステップは、デクセルの集合にわたって並列化され、
− 第1の面分を決定するステップは、デクセルの集合にわたってラスタ化を実施する。
The method includes one or more of the following.
-The step of calculating the endpoints of all polylines is the intersection of that of the dexel line with each mesh, and for each endpoint of each polyline, based on all the facets of the mesh associated with each polyline. Based on the intersection between the step of determining the volume interface swept by the mesh segment according to the cutting tool trajectory corresponding to the endpoint and the dexel straight line and the determined interface segment Calculating the height, and
The step of calculating the endpoints of all the polylines is for each mesh, determining the visible part of the mesh, where the visible part is the part of the mesh directed towards the trajectory of the cutting tool And calculating the boundary of the volume swept by the visible part according to the trajectory of the cutting tool, and then, for each end of each polyline, the face of the mesh whose intersection with that of the dexel line corresponds to the end Repeating the steps of determining the boundary portion of the volume swept by the minute and calculating the time and height, wherein the step of determining the boundary portion comprises the step of determining the volume of the volume swept by the visible portion Further comprising the step of identifying each boundary portion of the calculated boundary,
The step of calculating the endpoints of all polylines is the step of determining adjacency information about the volume swept by the surface area of the visible part for each mesh, for each polyline, with that of the dexel line The step of determining the boundary portion of the volume swept by the mesh portion, whose intersection corresponds to the first endpoint of the polyline, is to calculate the calculated boundary of the volume swept by the visible portion by geometric calculation. The first surface segment is intersected by a dexel straight line, and the intersection of the dexel straight line with that of the dexel straight line corresponds to the second end point of the polyline. The step of determining the boundary area of the measured volume is swept by the visible part by topological propagation based on adjacency information Further comprising the step of determining a second surface segment of the calculated boundary of the volume, wherein the second surface segment is intersected by a dexel straight line, and / or Is parallelized over a set of
The step of determining the first area performs rasterization over the set of dexels;

本発明の方法による、少なくとも1つの刃部および少なくとも1つの非刃部を有する切削工具を用いる工作物の機械加工のシミュレーションの細目を含む(例えば、ファイル内に記憶される)データ構造が、さらに提案される。   A data structure comprising simulation details of a machining of a workpiece using a cutting tool having at least one blade and at least one non-blade according to the method of the present invention (eg, stored in a file) Proposed.

方法を実行するための命令を記録したメモリに結合されたプロセッサを備えるシステムが、さらに提案される。プロセッサは、超並列処理ユニットである。システムは、命令の実行を起動するのに適した少なくとも1つのGUIを備える。GUIは、GPUを備え、プロセッサは、GPUである。   Further proposed is a system comprising a processor coupled to a memory storing instructions for performing the method. The processor is a massively parallel processing unit. The system comprises at least one GUI suitable for initiating execution of instructions. The GUI includes a GPU, and the processor is a GPU.

上述の方法を実行するための命令を含むコンピュータプログラムが、さらに提案される。   Further proposed is a computer program comprising instructions for performing the method described above.

上述のコンピュータプログラムを記録したコンピュータ可読記憶媒体が、さらに提案される。   Further proposed is a computer-readable storage medium recording the above-described computer program.

製品を生産/製造するための方法が、さらに提案される。生産方法は、機械加工をシミュレートするための上述の方法が繰り返されるシミュレーションフェーズと、次に、工作物に対する機械加工フェーズとを含む。   A method for producing / manufacturing the product is further proposed. The production method includes a simulation phase in which the above-described method for simulating machining is repeated, and then a machining phase for the workpiece.

本発明の実施形態が、非限定的な例を用いて、また添付の図面を参照して、今から説明される。
機械加工シミュレーションにおける主な問題を示す図である。 機械加工シミュレーションにおける主な問題を示す図である。 機械加工シミュレーションにおける主な問題を示す図である。 方法の例のフローチャートである。 グラフィカルユーザインターフェースの例を示す図である。 クライアントコンピュータシステムの例を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。
Embodiments of the invention will now be described using non-limiting examples and with reference to the accompanying drawings.
It is a figure which shows the main problems in machining simulation. It is a figure which shows the main problems in machining simulation. It is a figure which shows the main problems in machining simulation. 3 is a flowchart of an example method. It is a figure which shows the example of a graphical user interface. It is a figure which shows the example of a client computer system. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method. It is a figure which shows a method.

図4を参照すると、切削工具を用いる工作物の機械加工をシミュレートするためのコンピュータ実施方法が提供される。方法によって企図される切削工具は、少なくとも1つの刃部と、少なくとも1つの(切削工具が潜在的に−いくぶんかは−衝突する物体となるような、「衝突部分」とも呼ばれる)非刃部とを有する。方法は、工作物を(3Dで)表すデクセルの集合を提供するステップS10を含む(デクセルの集合および/または工作物は、以下では「モデリングされた体積/物体」とも呼ばれる)。定義によって、各デクセルは、直線と工作物(例えば、工作物によって占有される体積)との間の交わりを表す少なくとも1つの線分からなる集合を含む。ここで、デクセルは、工作物の材料が存在する直線上の位置(すなわち、デクセルの線分)に対応する。しかしながら、「デクセル」という用語は、あるいは、いくつかのデクセルが、例えば、最初から、または方法によって、任意の材料/線分を奪われるような、そのような3Dモデルのすべての直線に関連付けられたデータを指すことに留意されたい。これは、単に定義の問題である。S10において提供されるデータは、切削工具の(あるいは、軌道は平面、例えば、平面内の一連の位置、例えば、2.5軸軌道であるが、3D内の、例えば、非平面の)軌道(の細目)も含む。本発明の方法の場合、切削工具の軌道は、剛体運動である(一連の剛体運動から成るより複雑な軌道への一般化、および一連の剛体運動の各々に方法を繰り返すことへの一般化を妨げない)。S10において提供されるデータは、メッシュの集合も含む。各メッシュは、切削工具のそれぞれの刃部または非刃部を表す(したがって、メッシュの集合は、切削工具を表す)。次に、方法は、各デクセルについての(例えば、GPUを用いる)特定の(例えば、並列)処理を含む。これは、各メッシュについて(例えば、方法はメッシュの集合においてループする)、すべてのポリラインの端点を計算するステップS20を含み、ポリラインは、デクセルの直線とメッシュ(すなわち、メッシュの面分−または辺もしくは頂点のことさえある)との間の交わりの時刻を交わりの高さの関数として記述し、計算するステップS20は、S10において提供された切削工具の軌道に従って実行される。これには、デクセルに沿って切削工具(例えば、切削工具の掃引)の工作物との衝突をテストするステップS30が続く(すなわち、切削工具の刃部がデクセルを更新/変更するにつれてのデクセルの変化を考慮して、切削工具−の非刃部−が、デクセルの少なくとも1つの材料線分と衝突する−例えば、時間的にいくつかの点において交わる−かどうかという問いに少なくとも応答する)。特に、テストするステップは、すべてのメッシュのすべてのポリラインからなる集合の下側エンベロープに属する位置に対応する高さの値について、その位置が属するポリラインが、非刃部に関連付けられる場合、高さの値が、デクセルの線分に属するかどうかを決定するステップを含む(したがって、高さのそのような値が存在するかどうかがテストされる)。そのような方法は、工作物の機械加工のシミュレーションを改善する。   Referring to FIG. 4, a computer-implemented method for simulating machining of a workpiece using a cutting tool is provided. The cutting tool contemplated by the method includes at least one blade and at least one non-blade (also referred to as a “collision” such that the cutting tool is a potentially-somewhat-colliding object) Have The method includes a step S10 of providing a set of dexels that represent the workpiece (in 3D) (the set of dexels and / or the workpiece is also referred to as “modeled volume / object” in the following). By definition, each dexel includes a set of at least one line segment representing an intersection between a straight line and a workpiece (eg, a volume occupied by the workpiece). Here, the dexel corresponds to the position on the straight line where the material of the workpiece exists (that is, the dexel line segment). However, the term “dexel” is alternatively associated with all straight lines of such a 3D model, such that some dexels are deprived of any material / line, eg, from the beginning or by method. Note that it refers to the data. This is simply a matter of definition. The data provided in S10 is the cutting tool (or the trajectory is a plane, eg, a series of positions in the plane, eg, a 2.5 axis trajectory, but in 3D, eg, non-planar). Also included). In the case of the method of the invention, the trajectory of the cutting tool is a rigid body motion (generalization to a more complex trajectory consisting of a series of rigid body motions and a generalization to repeat the method for each series of rigid body motions. Not disturb). The data provided in S10 also includes a set of meshes. Each mesh represents a respective blade or non-blade of the cutting tool (thus, a set of meshes represents a cutting tool). Next, the method includes specific (eg, parallel) processing for each dexel (eg, using a GPU). This includes, for each mesh (e.g., the method loops over the set of meshes), calculating step S20 of all polyline endpoints, where the polyline is a dexel line and mesh (ie, mesh area-or edge). Step S20 is described and calculated as a function of the height of the intersection with the cutting tool trajectory provided in S10. This is followed by step S30 of testing the collision of the cutting tool (e.g., cutting tool sweep) with the workpiece along the dexel (i.e., as the cutting tool blades update / change the dexel). Taking into account the change, the non-blade of the cutting tool—at least responds to the question of whether it collides with at least one material line of the dexel—for example, intersects at some point in time). In particular, for the height value corresponding to the position belonging to the lower envelope of the set consisting of all polylines of all meshes, the step to test is the height if the polyline to which that position belongs is associated with a non-blade. Includes a step of determining whether the value of belongs to the dexel line segment (thus testing whether such a value of height exists). Such a method improves the machining simulation of the workpiece.

特に、本発明の方法は、少なくとも1つの刃部および少なくとも1つの非刃部を有する切削工具を用いて工作物を機械加工するシミュレーションに関し、切削工具は、軌道を辿り(方法は、距離相対時間に関して−任意のスピードが、例えば、任意の一定のスピードが計算において企図されるように、軌道が辿られるスピードに関心がなく)、方法は、切削工具(より具体的には、切削工具の非刃部、したがって、衝突部分)の工作物との衝突を検出する(S20およびS30)。したがって、方法は、工業用機械加工の良好なシミュレーションを可能にする。   In particular, the method of the invention relates to a simulation of machining a workpiece using a cutting tool having at least one blade and at least one non-blade, where the cutting tool follows a trajectory (the method is a distance relative time). -Any speed, not interested in the speed at which the trajectory is traversed, e.g. any constant speed is contemplated in the calculation), the method may be a cutting tool (more specifically a non-cutting tool). A collision of the blade portion, and hence the collision portion, with the workpiece is detected (S20 and S30). Thus, the method allows a good simulation of industrial machining.

さらに、方法は、デクセル表現に基づいており、したがって、それは、(デクセルは離散的で超並列化可能な表現を可能にするので)バッファリングおよび計算に関して軽い。結果として、方法は、流れるようで/滑らかであり、したがって、応答性がよく、それは、ユーザエンドにおいて高く評価される。方法が、さらに、工作物の表現と、軌道を辿る切削工具の表現とを、例えば、機械加工の表現と完全に一緒に表示する場合、そのような表示は、相対的に流れるようで/滑らかであり、断続的ではない。今度は、方法は、さらに、特定のデータ、すなわち、S20において計算されたそれらに基づいて、S30においてテストを実行し、特に、方法は、切削工具の軌道に従って、デクセルの直線とメッシュとの間の交わりの時刻を交わりの高さの関数として記述する、すべてのポリラインの端点を計算する。やはり、これらのデータは、離散的であり、S20において企図されたデータの構造は、計算がデクセルにわたって並列化されることを保証する。したがって、方法は、計算、応答性、およびメモリバッファリングの観点から見て、なおさら効率的である。   Furthermore, the method is based on a dexel representation, so it is light in terms of buffering and computation (since dexels allow a discrete and massively parallelizable representation). As a result, the method is flowy / smooth and is therefore responsive, which is highly appreciated at the user end. If the method additionally displays the representation of the workpiece and the representation of the cutting tool that follows the trajectory, for example, perfectly together with the representation of the machining, such a representation is relatively flowing / smooth. And not intermittent. This time, the method further performs tests at S30 based on specific data, ie those calculated at S20, and in particular, the method follows the cutting tool trajectory between the dexel straight line and the mesh. Compute the endpoints of all polylines that describe the time of intersection as a function of intersection height. Again, these data are discrete and the structure of the data contemplated in S20 ensures that the computation is parallelized across dexels. Thus, the method is even more efficient in terms of computation, responsiveness, and memory buffering.

さらに、計算されるデータは、特定の意味を有し、それらは、S30において方法によって提案される(離散的な手法と見なされることができる先に言及された先行技術の時間ステップベースの方法とは対照的に、連続関数としての、時間に関する)特定の容易で包括的なテストを可能にする特定の数学的な特性を有する。実際に、方法は、問題がひとたび良好に書かれると、幾何学的な条件を決定することに相当し、そのことは、方法に正しい結果を、したがって、現実的で正しいシミュレーションを出力させる。これらの数学的な特性は、後で詳述される。現段階では、方法は、非凸の切削工具および/または非凸の刃部を有する切削工具についてさえも良好に機能するように、相対的に恣意的な工具を扱うことが可能である(すなわち、シミュレーションは正しい、例えば、より多くの衝突が正しく報告され、および/またはより少ない衝突が誤って報告される)ことに留意されたい。切削工具は、(もちろん、そうであることは可能であるが)回転体であることに制約されない。切削工具は、例えば、空隙を特徴とし、またはラウンドオーバ工具である。より一般的には、切削工具は、凸部分の間のブール減算からもたらされる形状を有する。例えば、方法は、図3の状況において、かなり良好なアニメーションスピードで良好に機能する(すなわち、衝突が誤って報告されない)。切削工具は、例では、コーナ丸めエンドミル、クォータラウンド工具、フライスの集合、または組み合わせフライスである。また、方法の背後の数学は、方法が工具軌道に関して相対的に限定されないように、任意の(一連の)剛体運動の場合にも、それを相対的に良好に機能させる。   Furthermore, the calculated data has a specific meaning and they are proposed by the method in S30 (with the previously mentioned prior art time step-based methods that can be regarded as a discrete approach). In contrast, it has certain mathematical properties that allow certain easy and comprehensive tests (in terms of time, as a continuous function). In practice, the method is equivalent to determining geometric conditions once the problem has been successfully written, which causes the method to output the correct result and thus a realistic and correct simulation. These mathematical properties are detailed later. At the present stage, the method can handle relatively arbitrary tools to work well even for non-convex cutting tools and / or cutting tools with non-convex cutting edges (ie Note that the simulation is correct, eg, more collisions are reported correctly and / or fewer collisions are reported incorrectly). The cutting tool is not constrained to be a rotating body (although of course it can be). The cutting tool is, for example, characterized by a void or is a roundover tool. More generally, the cutting tool has a shape resulting from a Boolean subtraction between the convex portions. For example, the method works well with a fairly good animation speed in the situation of FIG. 3 (ie, collisions are not reported incorrectly). The cutting tool is, in the example, a corner rounding end mill, a quarter round tool, a set of milling cutters, or a combination milling cutter. The mathematics behind the method also makes it work relatively well for any (series) of rigid body movements, so that the method is not relatively limited with respect to the tool path.

したがって、本発明の方法は、工具表現が相対的に恣意的な場合に、および/または工作物の変化が相対的に恣意的な場合に、ロバストで、流れるような/滑らかな、包括的な方法で、工具移動の間の衝突検出を扱う。   Thus, the method of the present invention is robust, fluid / smooth and comprehensive when the tool representation is relatively arbitrary and / or when the workpiece change is relatively arbitrary. The method deals with collision detection during tool movement.

本発明の方法は、コンピュータ実施される。方法のステップは、実際に、コンピュータシステムにおいて、コンピュータシステムのみによって、またはグラフィカルユーザ対話(すなわち、ユーザがコンピュータシステムのGUIと対話すること)によって実行される。したがって、コンピュータシステムによって明確に実行されるステップは、完全に自動的に実行される。例では、方法のステップの少なくともいくつかのトリガリングは、ユーザ−コンピュータ対話を通して実行される。特に、提供するステップS10は、S10において提供されるデータをユーザが指定するユーザ対話によって実行される。S10は、実際に、ユーザが機械加工シミュレーションを起動することに対応する。計算するステップS20およびテストするステップS30は、その後、自動的に実行される。必要とされるユーザ−コンピュータ対話のレベルは、予知され、ユーザの望みを実施するために必要なものとバランスが取られる、自動性のレベルに依存する。例では、このレベルは、ユーザ定義され、および/または事前に定められる。   The method of the present invention is computer implemented. The steps of the method are actually performed in the computer system, by the computer system alone, or by graphical user interaction (ie, the user interacts with the computer system GUI). Thus, steps that are explicitly performed by the computer system are performed completely automatically. In the example, at least some of the triggering of the method steps is performed through a user-computer interaction. In particular, the providing step S10 is executed by a user interaction in which the user specifies the data provided in S10. S10 actually corresponds to the user starting the machining simulation. The calculating step S20 and the testing step S30 are then automatically executed. The level of user-computer interaction required depends on the level of automation that is foreseen and balanced with what is needed to implement the user's wishes. In the example, this level is user defined and / or predetermined.

方法のコンピュータ実施の典型的な例は、この目的のために適合されたシステムを用いて方法を実行することである。システムは、メモリおよびグラフィカルユーザインターフェース(GUI)に結合されたプロセッサを備え、メモリは、方法を実行するための命令を含むコンピュータプログラムを記録している。メモリは、データベースも記憶する。メモリは、そのような記憶のために適合され、おそらくはいくつかの物理的な個別部分(例えば、プログラム用に1つ、またおそらくはデータベース用に1つ)を備える、任意のハードウェアである。GUIは、GPUを備える。そのような場合、プロセッサは、GPUである。言い換えると、方法の少なくともステップを、特に、計算するステップS20および/またはテストするステップS30を実行するプロセッサは、GPUである。そのようなシステムは、機械加工をシミュレートするための効率的な工具である。このことは、工作物がデクセルの集合として表される場合には特にそうである。デクセルベースのアルゴリズムは、超並列ハードウェアによく適しているので、それは、現代のグラフィック処理ユニット(GPU)の計算能力を使用して考察すると効率的である。   A typical example of a computer implementation of the method is to perform the method using a system adapted for this purpose. The system comprises a processor coupled to a memory and a graphical user interface (GUI), the memory recording a computer program containing instructions for performing the method. The memory also stores a database. A memory is any hardware that is adapted for such storage and possibly comprises several physical discrete parts (eg, one for programs and possibly one for databases). The GUI includes a GPU. In such a case, the processor is a GPU. In other words, the processor that performs at least the steps of the method, in particular the calculating step S20 and / or the testing step S30, is a GPU. Such a system is an efficient tool for simulating machining. This is especially true when the workpiece is represented as a collection of dexels. Since dexel-based algorithms are well suited for massively parallel hardware, it is efficient to consider using the computing power of modern graphics processing units (GPUs).

本発明の方法は、一般に、モデリングされた物体を操作する。モデリングされた物体は、データベース内に記憶されたデータによって定義される任意の物体である。広義には、「モデリングされた物体」という表現は、データ自体も指す。本発明の方法は、モデリングされた物体(例えば、工作物)を、例えば、最初に、工作物(したがって、3Dモデリングされた物体)を定義し、次に、方法によって工作物の機械加工をシミュレートすることによって、設計するためのプロセスの一部である。「3Dモデリングされた物体を設計する」とは、3Dモデリングされた物体を精巧に作成するプロセスの少なくとも一部である、任意のアクションまたは一連のアクションを指す。したがって、方法は、ゼロから3Dモデリングされた物体を作成するステップを含む。あるいは、本発明の方法は、以前に作成された3Dモデリングされた物体を提供するステップと、次に、特に方法によってシミュレートされた機械加工によって、3Dモデリングされた物体を変更するステップとを含む。   The method of the present invention generally operates on a modeled object. A modeled object is any object defined by data stored in a database. In a broad sense, the expression “modeled object” also refers to the data itself. The method of the present invention defines a modeled object (e.g., a workpiece), e.g., firstly a workpiece (and thus a 3D modeled object), and then simulates machining of the workpiece by the method. Is part of the process for designing. “Designing a 3D modeled object” refers to any action or series of actions that is at least part of the process of elaborately creating a 3D modeled object. Thus, the method includes creating a 3D modeled object from scratch. Alternatively, the method of the present invention comprises providing a previously created 3D modeled object and then modifying the 3D modeled object, in particular by machining simulated by the method. .

システムの種類に従って、モデリングされた物体は、異なる種類のデータによって定義される。システムは、実際には、CADシステム、CAEシステム、CAMシステム、PDMシステム、および/またはPLMシステムの任意の組み合わせである。それらの異なるシステムでは、モデリングされた物体は、対応するデータによって定義される。したがって、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータについて説明する。しかしながら、モデリングされた物体は、これらのシステムの任意の組み合わせに対応するデータによって定義されるので、これらのシステムは、他に対して排他的なものではない。したがって、システムは、以下で提供されるそのようなシステムの定義から明らかなように、CADシステムおよびPLMシステムの両方であろう。   Depending on the type of system, the modeled object is defined by different types of data. The system is actually any combination of CAD, CAE, CAM, PDM, and / or PLM systems. In these different systems, the modeled object is defined by corresponding data. Accordingly, the CAD object, PLM object, PDM object, CAE object, CAM object, CAD data, PLM data, PDM data, CAM data, and CAE data will be described. However, since the modeled object is defined by data corresponding to any combination of these systems, these systems are not exclusive to others. Thus, the system will be both a CAD system and a PLM system, as will be apparent from the definition of such system provided below.

CADシステムによって、CATIAなど、モデリングされた物体のグラフィカル表現に基づいて、モデリングされた物体を少なくとも設計するように適合された、任意のシステムが、意味される。この場合、モデリングされた物体を定義するデータは、モデリングされた物体の表現を可能にするデータを含む。CADシステムは、例えば、辺または直線を使用して、場合によっては、面分または面を用いて、CADのモデリングされた物体の表現を提供する。直線、辺、または面は、様々な方法で、例えば、非一様有理Bスプライン(NURBS)で表現される。具体的には、CADファイルは、それから幾何学的形状が生成される仕様を含み、それが、今度は、表現が生成されることを可能にする。モデリングされた物体の仕様は、単一または複数のCADファイル内に記憶される。CADシステムにおけるモデリングされた物体を表すファイルの典型的なサイズは、部品当たり1メガバイトの範囲内にある。モデリングされた物体は、一般に、数千の部品からなる組立体である。   By CAD system is meant any system adapted to at least design a modeled object based on a graphical representation of the modeled object, such as CATIA. In this case, the data defining the modeled object includes data that allows a representation of the modeled object. A CAD system provides a representation of a CAD modeled object using, for example, edges or lines, and in some cases, using surface segments or surfaces. A straight line, edge, or face is represented in various ways, for example, a non-uniform rational B-spline (NURBS). Specifically, the CAD file contains a specification from which the geometry is generated, which in turn allows a representation to be generated. Modeled object specifications are stored in single or multiple CAD files. The typical size of a file representing a modeled object in a CAD system is in the range of 1 megabyte per part. A modeled object is typically an assembly of thousands of parts.

CADシステムとの関連では、モデリングされた物体は、一般に、例えば、部品もしくは部品の組立体などの製品、または場合によっては、製品の組立体を表す、3Dモデリングされた物体である。「3Dモデリングされた物体」によって、3D表現を可能にするデータによってモデリングされた任意の物体が、意味される。3D表現は、すべての角度から、部品を見ることを可能にする。例えば、3Dモデリングされた物体は、3D表現された場合、自らの軸のいずれかの周りで、または表現が表示されるスクリーン内のいずれかの軸の周りで、操作および回転させられる。これは、特に、3Dモデリングされていない、2Dアイコンを除外する。3D表現の表示は、設計を容易にする(すなわち、統計的に設計者が仕事を達成するスピードを速める)。製品の設計は、製造またはモデリングプロセスの一部であるので、これは、工業における製造プロセスをスピードアップする。   In the context of a CAD system, a modeled object is typically a 3D modeled object that represents a product, or in some cases, an assembly of products, for example, a part or assembly of parts. By “3D modeled object” is meant any object modeled with data that allows 3D representation. The 3D representation makes it possible to see the part from all angles. For example, if a 3D modeled object is 3D rendered, it can be manipulated and rotated around any of its axes or around any axis in the screen where the representation is displayed. This specifically excludes 2D icons that are not 3D modeled. The display of the 3D representation facilitates design (ie, statistically speeds up the designer's work). This speeds up the manufacturing process in the industry, as product design is part of the manufacturing or modeling process.

3Dモデリングされた物体は、(例えば、機械)部品もしくは部品の組立体、またはより一般的に、任意の剛体組立体(例えば、移動メカニズム)など、例えば、CADソフトウェアソリューションまたはCADシステムを用いる仮想設計が完了した後で、現実世界で製造される製品の幾何学的形状を表す。CADソフトウェアソリューションは、航空宇宙、建築、建設、消費財、ハイテクデバイス、産業機器、輸送、海上および/もしくは沖合、または輸送を含む、様々な限りない産業分野における、製品の設計を可能にする。本発明の方法によって設計される3Dモデリングされた物体は、したがって、(例えば、自動車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモータ機器、トラックおよびバス、列車を含む)地上車の部品、(例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む)飛行体の部品、(例えば、海軍機器、商船、沖合機器、ヨットおよび作業船、舶用機器を含む)船舶の部品、(例えば、工業製造機械、移動重機械または機器、設置機器、産業機器製品、加工金属製品、タイヤ製造製品を含む)機械部品、(例えば、民生用電子機器、セキュリティおよび/または制御および/または計装製品、コンピューティングおよび通信機器、半導体、医療デバイスおよび機器を含む)電気機械または電子部品、(例えば、家具、住宅および庭製品、レジャー用品、ファッション製品、耐久消費財小売業者製品、非耐久消費財小売業者製品を含む)消費財、(例えば、食品および飲料および煙草、美容およびパーソナルケア、家庭用品パッケージングを含む)パッケージングである、工業製品を表す。   A 3D modeled object can be a virtual design using, for example, a CAD software solution or CAD system, such as a (eg, machine) part or assembly of parts, or more generally any rigid assembly (eg, a moving mechanism). Represents the geometric shape of the product that is manufactured in the real world. CAD software solutions enable the design of products in a variety of industrial sectors, including aerospace, architecture, construction, consumer goods, high-tech devices, industrial equipment, transportation, maritime and / or offshore, or transportation. 3D modeled objects designed by the method of the present invention are therefore ground vehicle parts (including, for example, automobile and light truck equipment, racing cars, motorcycles, truck and motor equipment, trucks and buses, trains), Aircraft parts (including, for example, airframe equipment, aerospace equipment, propulsion equipment, defense products, aviation equipment, space equipment), ships (including, for example, naval equipment, merchant ships, offshore equipment, yachts and work ships, marine equipment) Machine parts (including, for example, industrial manufacturing machines, mobile heavy machinery or equipment, installation equipment, industrial equipment products, processed metal products, tire manufacturing products), (eg, consumer electronics, security and / or control and (Including instrumentation products, computing and communication equipment, semiconductors, medical devices and equipment) Electronic goods, consumer goods (including, for example, furniture, residential and garden products, leisure goods, fashion products, durable consumer goods products, non-durable consumer goods products), (eg food and beverages and tobacco, beauty and Represents industrial products that are packaging (including personal care and household goods packaging).

PLMシステムによって、物理的な製造製品を表すモデリングされた物体の管理のために適合された任意のシステムが、意味される。PLMシステムでは、モデリングされた物体は、したがって、物理的な物体の製造に適したデータによって定義される。これらは、一般に、寸法値および/または許容値である。物体の正確な製造のために、そのような値を有することは、実際に、より良いことである。   By PLM system is meant any system adapted for the management of modeled objects that represent physical manufactured products. In a PLM system, the modeled object is thus defined by data suitable for the production of a physical object. These are generally dimensional values and / or tolerances. It is actually better to have such a value for the accurate production of the object.

CAMは、コンピュータ援用製造を表す。CAMソリューションによって、製品の製造データを管理するように適合された、任意のソリューション、ハードウェアのソフトウェアが、意味される。製造データは、一般に、製造する製品、製造プロセス、および必要とされるリソースに関連するデータを含む。CAMソリューションは、製品の全製造プロセスを計画し、最適化するために使用される。例えば、それは、実現可能性、製造プロセスの持続時間、または製造プロセスの特定のステップにおいて使用される、特定のロボットなどの、リソースの数についての情報を、CAMユーザに提供することができ、したがって、管理または必要とされる投資についての決定を可能にする。CAMは、CADプロセスおよび潜在的なCAEプロセスの後の後続プロセスである。そのようなCAMソリューションは、DELMIA(登録商標)という商標の下で、Dassault Systemesによって提供されている。   CAM stands for computer-aided manufacturing. By CAM solution is meant any solution, hardware software, adapted to manage product manufacturing data. Manufacturing data generally includes data relating to the product to be manufactured, the manufacturing process, and the resources required. The CAM solution is used to plan and optimize the entire manufacturing process of the product. For example, it can provide CAM users with information about the number of resources, such as feasibility, duration of the manufacturing process, or a particular robot used in a particular step of the manufacturing process, and thus Allows decisions on management or required investment. CAM is a successor process after the CAD process and potential CAE process. Such a CAM solution is provided by Dassault Systems under the trademark DELMIA®.

CAEは、コンピュータ援用エンジニアリングを表す。CAEソリューションによって、モデリングされた物体の物理的挙動の分析のために適合された、任意のソリューション、ソフトウェア、またはハードウェアが、意味される。よく知られた広く使用されているCAE技法は、モデリングされた物体を、物理的挙動が式を通して計算され、シミュレートされることができる要素に分割することを一般に含む、有限要素法(FEM)である。そのようなCAEソリューションは、SIMULIA(登録商標)という商標の下で、Dassault Systemesによって提供されている。別の成長しつつあるCAE技法は、CADの幾何学的形状データを用いない、物理学の異なる分野に属する複数の構成要素から成る複雑なシステムのモデリングおよび分析を含む。CAEソリューションは、シミュレーションを可能にし、したがって、製造する製品の最適化、改良、および検証を可能にする。そのようなCAEソリューションは、DYMOLA(登録商標)という商標の下で、Dassault Systemesによって提供されている。   CAE stands for computer aided engineering. By CAE solution is meant any solution, software, or hardware adapted for analysis of the physical behavior of the modeled object. A well-known and widely used CAE technique generally involves dividing a modeled object into elements whose physical behavior can be calculated and simulated through formulas (FEM). It is. Such a CAE solution is provided by Dassault Systems under the trademark SIMULIA®. Another growing CAE technique involves the modeling and analysis of complex systems of components belonging to different fields of physics that do not use CAD geometry data. The CAE solution allows simulation and thus allows optimization, improvement, and verification of the manufactured product. Such a CAE solution is provided by Dassault Systems under the trademark DYMOLA®.

PDMは、製造データ管理を表す。PDMソリューションによって、特定の製品に関連するすべての種類のデータを管理するように適合された、任意のソリューション、ソフトウェア、またはハードウェアが、意味される。PDMソリューションは、製品のライフサイクルに関わるすべての当事者によって、すなわち、主にエンジニアによって、しかし、プロジェクトマネージャ、財務担当者、販売担当者、および購入者によっても、使用される。PDMソリューションは、一般に、製品指向データベースに基づいている。それは、ユーザが、製品についての一貫したデータを共有することを可能にし、したがって、当事者が、異なるデータを使用することを防止する。そのようなPDMソリューションは、ENOVIA(登録商標)という商標の下で、DASSAULT SYSTEMESによって提供されている。   PDM represents manufacturing data management. By PDM solution is meant any solution, software, or hardware that is adapted to manage all types of data associated with a particular product. PDM solutions are used by all parties involved in the product life cycle, mainly by engineers, but also by project managers, finance personnel, sales personnel, and purchasers. PDM solutions are generally based on product-oriented databases. It allows users to share consistent data about the product and thus prevents parties from using different data. Such a PDM solution is provided by DASSAULT SYSTEMS under the trademark ENOVIA®.

図5は、システムのGUIの例を示しており、システムは、CADシステムである。   FIG. 5 shows an example of the GUI of the system, and the system is a CAD system.

GUI2100は、典型的なCAD様のインターフェースであり、標準的なメニューバー2110、2120、ならびにボトム工具バー2140およびサイド工具バー2150を有する。そのようなメニューバーおよび工具バーは、ユーザ選択可能なアイコンのセットを含み、各アイコンは、当技術分野において知られているような、1または複数の操作または機能と関連付けられる。これらのアイコンのいくつかは、GUI2100内に表示された3Dモデリングされた物体2000における編集および/または作業のために適合された、ソフトウェアツールと関連付けられ、表示された3Dモデリングされた物体2000は、例えば、方法を実行した結果である。ソフトウェアツールは、ワークベンチにグループ化される。各ワークベンチは、ソフトウェアツールのサブセットを含む。特に、ワークベンチの1つは、モデリングされた製品2000の幾何学的な特徴を編集するのに適した、編集ワークベンチである。操作の際、設計者は、例えば、物体2000の一部を事前選択し、その後、操作を開始し(例えば、寸法、色などを変え)、または適切なアイコンを選択することによって、幾何学的な制約を編集する。例えば、典型的なCAD操作は、スクリーン上に表示された3Dモデリングされた物体の穴開けまたは折り曲げのモデリングである。GUIは、例えば、表示された製品2000に関連するデータ2500を表示する。図2の例では、「フィーチャツリー」として表示されるデータ2500、およびそれらの3D表現2000は、ブレーキキャリパおよびブレーキディスクを含むブレーキ組立体に関する。GUIは、様々な種類のグラフィックツール2130、2070、2080を、例えば、物体の3D方向付けを容易にするためのもの、編集された製品の動作のシミュレーションをトリガするためのもの、または表示された製品2000の様々な属性をレンダリングするためのものをさらに示す。カーソル2060は、ユーザがグラフィックツールと対話することを可能にするために、触覚デバイスによって制御される。   The GUI 2100 is a typical CAD-like interface and has a standard menu bar 2110, 2120, and a bottom tool bar 2140 and a side tool bar 2150. Such menu bars and tool bars include a set of user selectable icons, each icon being associated with one or more operations or functions as is known in the art. Some of these icons are associated with a displayed software tool that is adapted for editing and / or working with the 3D modeled object 2000 displayed in the GUI 2100. For example, the result of executing the method. Software tools are grouped into workbenches. Each workbench includes a subset of software tools. In particular, one workbench is an editing workbench that is suitable for editing the geometric features of the modeled product 2000. In operation, the designer may select a geometric by, for example, preselecting a portion of the object 2000 and then starting the operation (eg, changing dimensions, colors, etc.) or selecting an appropriate icon. Edit the constraints. For example, a typical CAD operation is modeling the drilling or folding of a 3D modeled object displayed on the screen. The GUI displays, for example, data 2500 related to the displayed product 2000. In the example of FIG. 2, data 2500 displayed as a “feature tree” and their 3D representation 2000 relate to a brake assembly including a brake caliper and a brake disc. The GUI can display various types of graphic tools 2130, 2070, 2080, for example, to facilitate 3D orientation of objects, to trigger simulation of edited product behavior, or displayed Further shown for rendering various attributes of product 2000. The cursor 2060 is controlled by the haptic device to allow the user to interact with the graphic tool.

図6は、システムの例を示しており、システムは、クライアントコンピュータシステム、例えば、ユーザのワークステーションである。   FIG. 6 shows an example system, which is a client computer system, eg, a user's workstation.

例のクライアントコンピュータは、内部通信バス1000に接続された中央処理装置(CPU)1010と、やはりバスに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータは、バスに接続されたビデオランダムアクセスメモリ1100と関連付けられたグラフィカル処理ユニット(GPU)1110をさらに提供される。ビデオRAM1110は、当技術分野では、フレームバッファとしても知られている。大容量記憶デバイスコントローラ1020は、ハードドライブ1030などの、大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを有形に実施するのに適した大容量メモリデバイスは、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイスと、内蔵ハードディスクおよび着脱可能ディスクなどの磁気ディスクと、光磁気ディスクと、CD−ROMディスク1040とを含む、すべての形態の不揮発性メモリを含む。上記のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補完され、またはそれに組み込まれる。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイスまたはキーボードなどの触覚デバイス1090も含む。カーソル制御デバイスは、ユーザが、ディスプレイ1080上の任意の所望の位置にカーソルを選択的に位置付けることを可能にするために、クライアントコンピュータにおいて使用される。加えて、カーソル制御デバイスは、ユーザが、様々なコマンドを選択すること、および制御信号を入力することを可能にする。カーソル制御デバイスは、システムに入力される制御信号のための数々の信号生成デバイスを含む。典型的には、カーソル制御デバイスは、マウスであり、マウスのボタンが、信号を生成するために使用される。あるいは、または加えて、クライアントコンピュータシステムは、センシティブ/タッチパッド、および/またはセンシティブ/タッチスクリーンを備える。   The example client computer comprises a central processing unit (CPU) 1010 connected to an internal communication bus 1000 and a random access memory (RAM) 1070 also connected to the bus. The client computer is further provided with a graphical processing unit (GPU) 1110 associated with a video random access memory 1100 connected to the bus. Video RAM 1110 is also known in the art as a frame buffer. Mass storage device controller 1020 manages access to mass memory devices, such as hard drive 1030. Large capacity memory devices suitable for tangibly implementing computer program instructions and data include, by way of example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices, and magnetic disks such as internal hard disks and removable disks, All forms of non-volatile memory including magneto-optical disks and CD-ROM disks 1040 are included. Any of the above may be supplemented by or incorporated into a specially designed ASIC (Application Specific Integrated Circuit). The network adapter 1050 manages access to the network 1060. The client computer also includes a haptic device 1090 such as a cursor control device or keyboard. The cursor control device is used at the client computer to allow the user to selectively position the cursor at any desired location on the display 1080. In addition, the cursor control device allows the user to select various commands and enter control signals. The cursor control device includes a number of signal generation devices for control signals input to the system. Typically, the cursor control device is a mouse and mouse buttons are used to generate signals. Alternatively or additionally, the client computer system comprises a sensitive / touchpad and / or a sensitive / touch screen.

コンピュータプログラムは、コンピュータによって実行可能な命令を含み、命令は、上述のシステムに方法を実行させるための手段を構成する。プログラムは、システムのメモリを含む、任意のデータ記憶媒体上に記録可能である。プログラムは、例えば、デジタル電子回路で、またはコンピュータハードウェア、ファームウェア、ソフトウェア、もしくはそれらの組み合わせで実施される。プログラムは、装置として、例えば、プログラム可能なプロセッサによる実行のために機械可読記憶デバイス内で有形に実施される製品として実施される。方法ステップは、入力データを操作し、出力を生成することによって、方法の機能を実行するために、命令からなるプログラムを実行する、プログラム可能なプロセッサによって実行される。したがって、プロセッサは、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するように、プログラム可能であり、結合される。アプリケーションプログラムは、高水準手続き型プログラミング言語もしくはオブジェクト指向プログラミング言語で、またはそれが望ましければ、アセンブリ言語もしくは機械語で実施される。いずれの場合も、言語は、コンパイラ言語またはインタープリタ言語である。プログラムは、完全インストールプログラムまたは更新プログラムである。システム上でのプログラムの適用は、いずれの場合も、方法を実行するための命令という結果となる。   The computer program includes instructions executable by a computer, and the instructions constitute a means for causing the system described above to perform the method. The program can be recorded on any data storage medium including the memory of the system. The program is implemented, for example, with digital electronic circuitry or with computer hardware, firmware, software, or a combination thereof. The program is implemented as an apparatus, for example, a product that is tangibly implemented in a machine-readable storage device for execution by a programmable processor. Method steps are performed by a programmable processor that executes a program of instructions to perform the functions of the method by manipulating input data and generating output. Accordingly, the processor is programmable and coupled to receive data and instructions from and transmit data and instructions to the data storage system, at least one input device, and at least one output device. The application program is implemented in a high level procedural programming language or object oriented programming language, or in assembly language or machine language if desired. In either case, the language is a compiler language or an interpreter language. The program is a complete installation program or an update program. Application of the program on the system results in instructions for executing the method in any case.

さらに、方法の細目(すなわち、S10において提供されたデータ、S20において計算されたデータ、およびS30において決定された結果)は、すべて、例えば、第三者による後の使用のために、例えば、データファイル内に記憶されることに留意されたい。特に、シミュレーティングは、いつでも、再生/再表示される。また、シミュレーションは、例えば、データファイルに基づいて実行される、製品生産/製造プロセスにおいて実施される。そのようなプロセスは、知られているように、機械加工シミュレーションが繰り返されるシミュレーションフェーズと、その後の、シミュレーションの結果に基づいた、(実際の)工作物に対する(実際の)機械加工フェーズとを含む。例えば、衝突が検出された各シミュレーションにおいて、プロセスは、軌道を調整することによって、シミュレーションを繰り返す。図4のシミュレーションが、衝突の深さ(機械加工の分野において重要であることが知られている古典的データ)の容易な計算を可能にすること、したがって、軌道が、そのようなデータに基づいて、効率的に調整されることができることにここで留意されたい。これは、衝突が検出されなくなるまで、および/または満足な軌道が決定されるまで、繰り返されることができる。その後、実際の機械加工が、実行され、保持されたシミュレーションの軌道を再現する。   Further, the method details (ie, the data provided at S10, the data calculated at S20, and the results determined at S30) are all, for example, for later use by a third party, eg, data Note that it is stored in the file. In particular, the simulation is played / redisplayed at any time. The simulation is performed in a product production / manufacturing process that is executed based on a data file, for example. Such a process, as is known, includes a simulation phase in which the machining simulation is repeated, followed by a (real) machining phase for the (real) workpiece based on the simulation results. . For example, in each simulation where a collision is detected, the process repeats the simulation by adjusting the trajectory. The simulation of FIG. 4 allows easy calculation of the impact depth (classical data known to be important in the field of machining), and therefore the trajectory is based on such data. It should be noted here that it can be adjusted efficiently. This can be repeated until no collision is detected and / or until a satisfactory trajectory is determined. Thereafter, actual machining is performed to reproduce the retained simulation trajectory.

提供するステップS10が、今から説明される。   The providing step S10 will now be described.

方法は、(工作物の)モデリングされた体積を表すデクセルの集合を提供するステップS10を含む。これは、モデリングされた体積の軽い表現を可能にする(言い換えると、モデリングされた体積は、僅かなメモリ空間しか使用せずに表現される)。これは、容易に処理されるモデリングされた体積の表現も可能にする。特に、モデリングされた体積に対する設計操作は、モデリングされた体積がデクセルの集合によって表される場合、デクセルの集合のデータ構造のおかげで、特に効率的に実行される(例えば、並列化される)。言い換えると、この構造は、超並列処理を可能にする。したがって、設計操作は、高い応答性および高いロバスト性でもって実行される。   The method includes a step S10 of providing a set of dexels that represent the modeled volume (of the workpiece). This allows a light representation of the modeled volume (in other words, the modeled volume is represented using little memory space). This also allows a representation of the modeled volume that is easily processed. In particular, design operations on the modeled volume are performed particularly efficiently (eg, parallelized) thanks to the data structure of the set of dexels, where the modeled volume is represented by the set of dexels. . In other words, this structure enables massively parallel processing. Thus, the design operation is performed with high responsiveness and high robustness.

本発明の方法の場合、デクセル表現は、衝突テストを実行するために、S20およびS30において、さらに明確に依存される。したがって、方法は、デクセル表現の計算上の利点と、シミュレーションにおける現実性についての検討事項とを効率的に結び付ける。   For the method of the present invention, the dexel representation is more explicitly relied upon in S20 and S30 to perform a collision test. Thus, the method efficiently combines the computational benefits of dexel representation with the considerations of reality in simulation.

「デクセル」という用語は、(「ピクセル」という用語が、「ピクチャ要素」の簡便表現であるのとまさに同様に)「深さ要素」の簡便表現として知られている。デクセルの概念は、多数の研究論文において言及されている。本発明の方法との関連において、デクセルは、少なくとも1つの線分、すなわち、3D点の対からなる集合を含む。例では、モデリングされた体積は、少なくとも2つの線分からなる集合を含む、少なくとも1つのデクセルを含む。デクセルの線分は、いくつかある場合は、順序付けられ(そのような場合、デクセルはリストである)、または順序付けられない。デクセルの線分は、直線とモデリングされた体積との間の交わりを表す。言い換えると、モデリングされた体積と交わる仮想直線を考えた場合、デクセルは、与えられた直線に由来し、交わりの計算から得られる線分からなる集合である。したがって、デクセルの集合を提供するステップは、例えば、仮想直線を辿り、B−Repまたは他の任意の体積表現によって初期的に表されるモデリングされた体積との交わりを計算することによって、そのような交わりを計算するステップを含む。したがって、デクセルの集合は、モデリングされた体積(すなわち、工作物)を表す。   The term “dexel” is known as a simplified representation of “depth element” (just as the term “pixel” is a simplified representation of “picture element”). The dexel concept is mentioned in many research papers. In the context of the method of the present invention, a dexel includes at least one line segment, ie a set of 3D point pairs. In the example, the modeled volume includes at least one dexel that includes a set of at least two line segments. The dexel line segments may be ordered if there are several (in which case the dexels are a list) or unordered. The dexel line represents the intersection between the straight line and the modeled volume. In other words, when considering a virtual straight line intersecting the modeled volume, a dexel is a set of line segments derived from a given straight line and obtained from the intersection calculation. Thus, the step of providing a set of dexels is such as by following an imaginary line and calculating the intersection with the modeled volume initially represented by B-Rep or any other volume representation. A step of calculating a simple intersection. Thus, the set of dexels represents the modeled volume (ie, the workpiece).

デクセルの集合は、S10において、コンピュータ実施データとして提供されることに留意することが大切である。したがって、モデリングされた体積のいずれの表現に関しても、上および下で提供される定義は、データ構造の観点からの意味合いを有する。例えば、線分は、例えば、デクセル直線上の高さなどの、3D位置の対(例えば、互いに結び付けられる2つの3D位置)として提供され、また、直線の幾何学(基準点と方向)を用いても提供される。3D位置は、また、参照3Dフレームに関連付けられた3つの座標(例えば、浮動小数点数)のリストとして提供される。デクセルは、線分の集合であり、このことは、定められた構造内で線分が一緒に結び付けられることを暗示する。デクセルの集合のうちのデクセルも、同様に、一緒に結び付けられる。それ自体が少なくとも1つの線分からなる集合を含むデクセルの集合によって工作物を表現することは、工作物の高速な更新ステップS30を可能にする。   It is important to note that the set of dexels is provided as computer-implemented data in S10. Thus, for any representation of the modeled volume, the definitions provided above and below have implications from a data structure perspective. For example, a line segment is provided as a pair of 3D positions (eg, two 3D positions tied together), such as a height on a dexel line, and also uses straight line geometry (reference points and directions). Even provided. The 3D position is also provided as a list of three coordinates (eg, floating point numbers) associated with the reference 3D frame. A dexel is a collection of line segments, which implies that the line segments are tied together in a defined structure. The dexels in the set of dexels are similarly tied together. Representing a workpiece by a set of dexels that itself includes a set of at least one line segment allows a fast update step S30 of the workpiece.

デクセルの概念が、デクセルの集合をデクセル構造67として提供するステップS10の例を提示する、図7ないし図9を参照して、今から図説される。   The dexel concept will now be illustrated with reference to FIGS. 7-9, which provides an example of step S10 that provides a set of dexels as a dexel structure 67.

モデリングされた体積を与え、また無限直線を与えた場合、デクセルは、無限直線と(工作物の)モデリングされた体積との間の交わりを表す線分(または区間)からなる集合である。線分からなるこの集合は、各線分の境界点の集合として、メモリ内にキャプチャされる。例えば、基準点/原点(高さが0−ゼロ−の点)が、各直線上に定義され、その直線上の高さ(例えば、代数値、すなわち、負または正のスカラ値、例えば、符号化された整数または実数、例えば、浮動小数点数または他の任意の適合されたデータ種類)が、境界点を決定する(高さを定義するためのこのフレームワークはS20に適用され、例えば、同じ原点が用いられることに留意されたい)。デクセル構造は、例えば、長方形グリッド上に順序付けられることによって組織された、(各々が線分の集合を含む)デクセルの集合である(例えば、同じ方向を共有し、例えば、構造全体は、その方向が2つずつ直交する3つのグリッドを含む)。図7および図8は、モデリングされた体積40を、10×10の直線50のグリッドと一緒に示している。例の方法は、(工作物を表す)モデリングされた体積40を、図7に示されるように、例えば、B−Repとして、提供するステップを含む。次に、例の方法は、図8に示されるように、モデリングされた体積40と(少なくとも部分的に)交わる10×10の直線50のグリッドを定めるステップを含む。次に、例の方法は、図9に表されるように、線分60および/または線分62の集合を含むデクセル65を計算するステップを含む。図では、1つのデクセル65が、円で囲まれている。デクセル65は、直線50がモデリングされた体積40と1つの場所で交わるか、それともいくつかの別々の場所で交わるかに応じて、いくつかの線分60、または1つの線分62を含む。もちろん、方法は、あるいは、デクセル65をメモリから取り出す。いずれの場合も、デクセル構造67は、このようにして提供される。   Given a modeled volume and an infinite line, a dexel is a set of line segments (or sections) representing the intersection between the infinite line and the modeled volume (of the workpiece). This set of line segments is captured in memory as a set of boundary points for each line segment. For example, a reference point / origin (a point with a height of 0-zero) is defined on each line, and the height on that line (eg, an algebraic value, ie, a negative or positive scalar value, eg, sign Generalized integers or real numbers, eg floating point numbers or any other adapted data type, determine boundary points (this framework for defining height applies to S20, eg Note that the origin is used). A dexel structure is a collection of dexels (each containing a set of line segments), eg organized by being ordered on a rectangular grid (eg, sharing the same direction, eg, the entire structure is in that direction Includes three grids, each two orthogonal). 7 and 8 show the modeled volume 40 with a 10 × 10 straight 50 grid. The example method includes providing a modeled volume 40 (representing a workpiece), eg, as a B-Rep, as shown in FIG. Next, the example method includes defining a grid of 10 × 10 straight lines 50 that intersect (at least in part) the modeled volume 40, as shown in FIG. Next, the example method includes calculating a dexel 65 that includes a set of line segments 60 and / or line segments 62, as represented in FIG. In the figure, one dexel 65 is surrounded by a circle. The dexel 65 includes several line segments 60 or one line segment 62 depending on whether the straight line 50 intersects the modeled volume 40 at one location or at several separate locations. Of course, the method or alternatively retrieves the dexel 65 from the memory. In either case, dexel structure 67 is provided in this manner.

図9は、結果のデクセル構造67を示している。必ずしもすべての直線50がモデリングされた体積40と交わるわけではなく(例では、52本の直線のみがモデリングされた体積40と交わる)、交わったのと同数のデクセル65を生成する(モデリングされた体積40と交わらない直線は完全に捨てられ、デクセルを生成しない)ことに留意されたい。さらに、いくつかの直線50は、1つの線分62を通して、モデリングされた体積40と交わり(例えば、デクセル(2,3)またはデクセル(9,6))、他は、いくつかの線分60を通して、例えば、2つの線分(例えば、デクセル(7,7)もしくはデクセル(4,7))、または3つの線分(デクセル(2,8)もしくはデクセル(5,8))、または4つの線分(デクセル(2,9)もしくはデクセル(4,9))を通して、モデリングされた体積40と交わる。結果のデクセル構造67は、1つの線分62を有する36個のデクセル65、2つの線分60を有する6個のデクセル65、3つの線分60を有する5個のデクセル65、および4つの線分60を有する5個のデクセルを含む、52個のデクセル65を含む。   FIG. 9 shows the resulting dexel structure 67. Not all straight lines 50 intersect the modeled volume 40 (in the example, only 52 straight lines intersect the modeled volume 40), producing as many dexels 65 as modeled (modeled). Note that straight lines that do not intersect volume 40 are completely discarded and do not generate dexels). In addition, some straight lines 50 intersect the modeled volume 40 through one line segment 62 (eg, dexel (2,3) or dexel (9,6)), others include several line segments 60. Through, for example, two line segments (eg, dexel (7,7) or dexel (4,7)), or three line segments (dexel (2,8) or dexel (5,8)), or four Crosses the modeled volume 40 through a line segment (Dexel (2, 9) or Dexel (4, 9)). The resulting dexel structure 67 includes 36 dexels 65 with one line 62, six dexels 65 with two line segments 60, five dexels 65 with three line segments 60, and four lines 52 dexels 65 are included, including 5 dexels having minutes 60.

S10において提供されるデクセルの集合は、トリデクセル構造である。トリデクセル構造は、3つのデクセル構造を含むことによって、一般に、x軸に平行なデクセル構造、y軸に平行なデクセル構造、およびz軸に平行なデクセル構造を含むことによって定義される。方法は、任意の時間に、例えば、計算するステップS20およびテストするステップS30の間に、工作物のグラフィカル表現を表示するステップを含む。表示するステップは、デクセルの集合に基づく。トリデクセル構造は、「ビュー方向」にほとんど依存しないので、良好な表示を提供する。トリデクセル構造は、特に、ユーザが視点を変えた場合に、より正確な表示を提供する。   The set of dexels provided in S10 is a tridexel structure. A tridexel structure is generally defined by including three dexel structures, including a dexel structure parallel to the x-axis, a dexel structure parallel to the y-axis, and a dexel structure parallel to the z-axis. The method includes displaying a graphical representation of the workpiece at any time, for example during the calculating step S20 and the testing step S30. The displaying step is based on a set of dexels. The tridexel structure provides good display because it is almost independent of the “view direction”. The tridexel structure provides a more accurate display, especially when the user changes the viewpoint.

図10ないし図12は、各々が、同じモデリングされた体積を表すデクセル構造を示している。言い換えると、モデリングされた体積は、図10ないし図12の(例えば、直交した方向を有する)3つのデクセル構造を含む、トリデクセルデータによって定義される。図10は、y軸に沿ったデクセル構造67を示している。図11は、x軸に沿ったデクセル構造68を示している。図12は、z軸に沿ったデクセル構造69を示している。各図において、デクセルの直線は、それぞれの軸に平行である。   10-12 show dexel structures that each represent the same modeled volume. In other words, the modeled volume is defined by tridexel data, including the three dexel structures of FIGS. 10-12 (eg, having orthogonal directions). FIG. 10 shows a dexel structure 67 along the y-axis. FIG. 11 shows a dexel structure 68 along the x-axis. FIG. 12 shows a dexel structure 69 along the z-axis. In each figure, the dexel straight line is parallel to the respective axis.

本発明の方法のための機械加工シミュレーションの原理は、各デクセルの工具の掃引体積との交わりを計算すること、およびその材料区間をしかるべく切り取ることである。本発明は、少なくとも仮想的に、(1)S20において、工具の刃部との交わりおよび非刃部との交わりを計算することによって、ならびに(2)S30において、これらの交わりを時系列に従って順序付けることによって、1ステップさらに先に進む。次に、刃部が非刃部より前に材料と出会うか、それとも後に出会うかを理解し、実際の衝突のみを報告することが可能である。   The principle of machining simulation for the method of the present invention is to calculate the intersection of each dexel with the sweep volume of the tool, and cut the material section accordingly. The present invention at least virtually (1) computes the intersection with the tool blade and non-blade at S20, and (2) at S30, to order these intersections in chronological order. By attaching, it goes one step further. It is then possible to understand whether the blade meets the material before or after the non-blade and reports only actual collisions.

S10において提供されるデータは、また、(切削工具の幾何学的形状に対応する)メッシュの集合の形態での切削工具の表現を含む。メッシュは、頂点(3D位置)と、頂点を2つずつ結び付け、メッシュのいわゆる面分(すなわち、辺の最小循環)を形成する辺(例えば、線分)とを有する、任意のグラフ構造を指定する。メッシュは、特に、S20における高速で簡単な計算のための、(主にまたは完全に4辺の−凸−面分からなる)四辺形メッシュ、および(主にまたは完全に3辺の面分からなる)三角形メッシュを含む、凸面分メッシュ−例えば、凸多角形の面分を有するメッシュ−など、異なる種類のうちの1つである。他の精緻化された例では、メッシュは、B−Repなどの、より複雑な構造を有し、「メッシュ」という用語は、そのようなケースでは、最も汎用的な定義で理解される。   The data provided in S10 also includes a representation of the cutting tool in the form of a set of meshes (corresponding to the cutting tool geometry). A mesh specifies an arbitrary graph structure with vertices (3D positions) and edges (eg, line segments) that connect the vertices two by two and form the so-called face segment of the mesh (ie, the minimum circulation of edges) To do. The meshes are in particular quadrilateral meshes (mainly or completely consisting of four-sided-convex-face segments) and (mainly or completely consisting of three-sided facets) for fast and simple calculations in S20. One of the different types, such as a convex mesh, including a triangular mesh, eg, a mesh having a convex polygonal surface. In other elaborate examples, the mesh has a more complex structure, such as B-Rep, and the term “mesh” is understood in the most general definition in such cases.

(現実世界の工具に対応する)工具モデルは、各立体が刃部または非刃部である、隣接する立体のリストによって定義される。例では、メッシュは、立体の三角分割された境界である。結果として、工具は、S10において、閉じられた自身と交わらないメッシュのリストとして提供される。各メッシュは、工具の刃部または工具の非刃部を表す。刃部を表すメッシュは、例えば、「切削」とラベル付けされ、および/または非刃部を表すメッシュは、例えば、「衝突」とラベル付けされる。工具の2つのメッシュの交わりは、ゼロ体積を有し、すなわち、2つのメッシュは、分離されているか、またはそれらは、接触エリアをモデリングする面分(もしくは面分の重なり)を共有することを意味する。任意の工具の幾何学的形状が、ブール多面体操作を使用することによって、このように表されることができる。そのため、これらの仮定は、方法の一般性を制約しない。   A tool model (corresponding to a real world tool) is defined by a list of adjacent solids, each solid being a blade or non-blade. In the example, the mesh is a solid triangulated boundary. As a result, the tool is provided at S10 as a list of meshes that do not intersect with the closed self. Each mesh represents a blade portion of the tool or a non-blade portion of the tool. The mesh representing the blade is labeled, for example, “cut” and / or the mesh representing the non-blade is labeled, for example, “collision”. The intersection of the two meshes of the tool has zero volume, i.e. the two meshes are separated or they share a surface segment (or overlap of surface segments) that models the contact area. means. Any tool geometry can be represented in this way by using a boule polyhedron operation. As such, these assumptions do not constrain the generality of the method.

また、S10において、切削工具の軌道が、提供される。方法は、主に3軸軌道について後で説明されるが、より複雑な軌道(例えば、5軸)に拡張されることができる。軌道は、3次元空間における折れ線として提供され、各直線分は、以下では、「基本軌道」と呼ばれる。3軸軌道の直線分に沿って、工具は、平行移動によって移動する。5軸軌道の直線分に沿って、工具は、平行移動によって移動し、加えて、工具の軸が、初期の向きから最終の向きに線形に変化する。しかしながら、S10において提供される軌道を規定する他の任意の方法も、企図されている。   Also at S10, a cutting tool trajectory is provided. The method is mainly described later for a three-axis trajectory, but can be extended to more complex trajectories (eg, five axes). The trajectory is provided as a polygonal line in a three-dimensional space, and each straight line segment is hereinafter referred to as a “basic trajectory”. The tool moves by translation along the straight line of the three-axis trajectory. Along the straight line of the 5-axis trajectory, the tool moves by translation, and in addition, the tool axis changes linearly from the initial orientation to the final orientation. However, any other method of defining the trajectory provided in S10 is also contemplated.

次に、方法は、モデリングされた体積の各デクセルDに対する特定の処理を含む。最初に、方法は、S20において、各メッシュMに関して、シミュレーションのいわゆる「(h,t)図」を形成する、(以下では、L1、L2、L3と呼ばれる)すべてのポリラインの端点を計算する。定義によって、ポリラインは、(h,t)位置を記述し、言い換えると、(例えば、任意の−例えば、恣意的な−原点/基準、および/または任意の−例えば、恣意的な−スケールに基づいた、例えば、上で言及された高さの定義を使用する)デクセルの高さに対応する横座標と、時刻に対応する縦座標とを用いて、2D位置を記述する。方法のどこで与えられるデクセルに対しても、スケールが一貫している(例えば、同じである)限り、任意の高さスケールおよび/または時間スケールが、実施される。より容易な実施のために、同じスケールが、すべてのデクセルに対して実施される。高さスケールに関して、例えば、図10ないし図12のうちの1つなどの、トリデクセル構造の場合、各方向の原点は、同じ方向を有する直線によって支持されるすべてのデクセルについて−その直線に直交する同じ平面上に定義される。必ずしもすべてのこれらのデータが、S20において計算されるわけではなく、((切削/衝突属性情報は別として)さらなるどのような情報も用いずに、単なる整数および/または実数の値の組(すなわち、順序付けられた対)として表される)比較可能な(h,t)位置を有することが必要であるにすぎないことに留意されたい。したがって、後でより詳細に説明される(h,t)図は、またポリラインでさえも、本発明の方法によって処理されるデータが関連付けられる数学的対象として理解されなければならない(特に、S20において計算されるデータは、図のすべてのポリラインの端点を含む)。 The method then includes a specific process for each dexel D of the modeled volume. First, in S20, for each mesh M, the method forms the so-called “(h, t) diagram” of the simulation, and finds all polyline endpoints (hereinafter referred to as L 1 , L 2 , L 3 ). calculate. By definition, a polyline describes a (h, t) position, in other words, based on (e.g., any-e.g. Arbitrary-origin / reference and / or arbitrary-e.g. Arbitrary-scale). Also, the 2D position is described using the abscissa corresponding to the height of the dexel (using, for example, the height definition mentioned above) and the ordinate corresponding to the time. For any dexel given anywhere in the method, any height and / or time scale is implemented as long as the scale is consistent (eg, the same). For easier implementation, the same scale is performed for all dexels. With respect to the height scale, for example, in the case of a tridexel structure, such as one of FIGS. 10-12, the origin of each direction is for all dexels supported by a straight line having the same direction-orthogonal to that line. Defined on the same plane. Not all these data are calculated in S20, and without using any further information (apart from the cutting / collision attribute information), just a set of integer and / or real values (ie Note that it is only necessary to have a comparable (h, t) position (denoted as an ordered pair). Thus, the (h, t) diagram, described in more detail later, must be understood as a mathematical object to which the data processed by the method of the invention is associated, especially even for polylines (especially in S20). The calculated data includes the endpoints of all the polylines in the figure).

さて、ポリラインは、定義によって、切削工具の軌道に従った、それぞれのデクセルDの直線とそれぞれのメッシュとの間の交わりの時刻tを、交わりの高さhの関数として記述する/表す(したがって、ポリラインは、メッシュの集合のうちのそれぞれのメッシュに関連付けられるが、1つのメッシュは、軌道の複雑さと、同じくメッシュの複雑さとに応じて、いくつかのそれぞれのポリラインに関連付けられることに留意されたく、メッシュが凸体積を定義する場合、それは−例えば、平行移動軌道上に−単一のポリラインを生成するが、メッシュが凸体積を定義しない場合、同じ軌道に対して、それは可視部分が接続部分を有するのと同じ数のポリラインを生成することに留意されたい)(上で言及されたように、任意のタイミング/スピード、例えば、一定時間が、軌道について保持され、そのため、接続された完全な線分から各々が成るポリラインを獲得しなければならず、後で詳述される(h,t)図の主な特性は、いずれにせよ、より一般的なケースにも同様に適用されることに留意されたい)。実際に、各メッシュは、軌道に従って仮想的に動かされ、それによって、各デクセルの直線と仮想的に出会う/交わる(交わらない−例えば、メッシュが与えられた直線と決して出会わない−ことは、数学的には−したがって、実施においては−一般性を失うことなく、空/ゼロのポリラインに関連付けられた空の交わりとして理解される)。方法は、すべてのメッシュについて、時刻に対するそのような出会いの高さを仮想的に追跡する。次に、方法は、高さに対する出会いの時刻(追跡されたデータの逆)を仮想的に考える。しかし、方法は、最終的に、S20において、ポリラインの端点のみを計算する。   Now, by definition, the polyline describes / represents the time t of intersection between each dexel D line and each mesh according to the trajectory of the cutting tool as a function of the intersection height h (hence Note that a polyline is associated with each mesh in the set of meshes, but one mesh is associated with several respective polylines, depending on the complexity of the trajectory and also the complexity of the mesh. If, for example, the mesh defines a convex volume, it generates a single polyline--for example, on a translation trajectory--but if the mesh does not define a convex volume, for the same trajectory, it connects the visible parts. Note that it produces the same number of polylines as having parts) (as mentioned above, any timing / A speed, for example, a certain time is kept for the trajectory, so that each polyline must be obtained from a connected complete line segment, and the main characteristics of the (h, t) diagram detailed below. Note that the same applies to the more general case anyway). In fact, each mesh is virtually moved according to the trajectory, thereby virtually meeting / intersecting with each dexel's straight line (does not intersect—for example, the mesh never meets a given straight line) (Thus, in practice, it is understood as an empty intersection associated with an empty / zero polyline without loss of generality). The method virtually tracks the height of such encounters over time for all meshes. The method then virtually considers the time of encounter with height (the inverse of the tracked data). However, the method finally calculates only the end points of the polyline in S20.

S20および(すべてのメッシュについて)すべてのポリラインの端点を考えるおかげで、また(h,t)図の特定の性質のおかげで、次に、方法は、S30において、衝突があるかどうかを(依然として各デクセルについて)単純にテストし、それは、衝突がある場合は、衝突の深さ(デクセル直線、およびデクセル直線上における衝突の境界高さ)をさらに提供する。テストするステップS30は、特に、すべてのメッシュのすべてのポリラインからなる集合の下側エンベロープに属する位置に対応する高さの値について、その位置が属するポリラインが非刃部に関連付けられる場合、高さの値が、デクセルの線分に属するか(すなわち、高さの値も、デクセル内に保たれた材料区間内に含まれるか)どうかを決定するステップを含む。((h,t)図の特定の向きに関する、言い換えると、時刻に関する、さらに言い換えると、h軸上への射影に関する、(h,t)図内のポリラインに関する場合の古典的な下側エンベロープの定義では、高さに対するポリラインの最小時刻位置−言い換えると、(h,t)の組−として定義される)すべてのメッシュのすべてのポリラインからなる集合の下側エンベロープは、仮想的に考えられた数学的対象にすぎず、テストするステップは、実際には、そのような対象が計算されることを必要としないことにここで再び留意されたい。ポリラインの2D図における下側エンベロープは、(0,−∞)に座って上方を見上げている観測者によって見られることができるポリラインの一部として定義される2Dオブジェクトでもある。掃引メッシュとデクセルとの間の交わりによって与えられる、(h,t)平面内のポリラインは、区分的線形関数のグラフであることに留意されたい。したがって、時間値に関する下側エンベロープの計算は、古典的な定義の適用にすぎない。実際に、デクセルの線分/区間上の(したがって、空中/空に対応するデクセルの非線分位置とは対照的に、工作物材料に対応する)点は、(時間的に)最初に切削メッシュによって出会われるか、それとも衝突メッシュによって出会われるかをテストされるにすぎない。これは、すべてのポリラインのすべての端点が、集められ、それらのポリラインが対応するメッシュの種類に基づいて、「切削」または「衝突」ラベル/属性にひとたび関連付けられると、(後で説明される(h,t)図の特性のおかげで)上で提供された数学的な便法を用いて容易に行われる。ある意味では、これは、ポリラインの下側エンベロープをデクセル上に射影し、デクセルの各線分の各位置について、衝突ラベルを付された位置が最初に射影されたものかどうかを決定することに相当する(該当する場合は、衝突があるが、それは、その反対の−すなわち、切削ラベルを付された位置が最初に射影された、またはポリライン位置がまったく射影されない−場合は、衝突がなく、刃部との出会いがあり、したがって、材料の除去を行うためであり、または出会いがまったくないためである)。   Thanks to S20 and (for all meshes) all polyline endpoints, and thanks to the specific nature of the (h, t) diagram, the method then determines whether there is a collision (still in S30). Simply test (for each dexel), which further provides the depth of the collision (the dexel line and the boundary height of the collision on the dexel line) if there is a collision. The step S30 to test, especially for the height value corresponding to the position belonging to the lower envelope of the set of all polylines of all meshes, if the polyline to which the position belongs is associated with a non-blade Determining whether the value of belongs to the dexel line segment (i.e. whether the height value is also included in the material section held in the dexel). (In the (h, t) diagram for a specific orientation, in other words for time, and in other words for projection on the h-axis, for the classical lower envelope of the polyline in (h, t) diagram. By definition, the lower envelope of a set of all polylines of all meshes (defined as the minimum time position of a polyline with respect to height—in other words, a set of (h, t)) was virtually considered. It is again noted here that the testing step is only a mathematical object and that the step of testing does not actually require such an object to be calculated. The lower envelope in the 2D view of the polyline is also a 2D object defined as part of the polyline that can be seen by an observer sitting at (0, -∞) and looking up. Note that the polyline in the (h, t) plane, given by the intersection between the sweep mesh and dexel, is a graph of piecewise linear functions. Thus, the calculation of the lower envelope with respect to time values is only an application of the classical definition. In fact, a point on the dexel line segment / interval (thus corresponding to the workpiece material as opposed to the dexel non-line segment position corresponding to aerial / empty) is cut first (in time). It is only tested whether it is met by a mesh or a collision mesh. This is because once all the endpoints of all polylines are collected and associated with a “cut” or “collision” label / attribute based on the corresponding mesh type (described later) This is easily done using the mathematical expedient provided above (thanks to the characteristics of the (h, t) diagram). In a sense, this is equivalent to projecting the lower envelope of the polyline onto the dexels and determining, for each position of each line segment of the dexel, whether the position labeled with the collision label was the first projection. (If applicable, there is a collision, but it is the opposite—that is, if the cut-labeled position is projected first, or the polyline position is not projected at all- Because there is an encounter with the department and therefore to remove material, or no encounter at all).

明らかに、テストS30がひとたび実行されると、例えば、特に、テストの結論が、衝突がないというものである場合、方法は、切削工具の刃部との交わりの位置−すなわち、高さ−(および、例えば、その時刻)に従って、線分またはその部分を除去することによって、デクセルの集合を更新するステップを含む。そのようなデータは、実際には、S20および/またはS30において決定されるデータの一部である。   Obviously, once test S30 has been performed, for example, particularly if the conclusion of the test is that there is no collision, the method will determine the position of the intersection with the blade of the cutting tool—ie, the height— ( And updating the set of dexels, for example, by removing the line segment or part thereof according to the time). Such data is actually part of the data determined in S20 and / or S30.

したがって、方法は、衝突の高速な検出を可能にし、それは、衝突の深さ(衝突の大きさおよび位置)さえ正確に提供することができ、デクセルにわたる超並列化を介して実行されることができる。(ロバストで包括的な衝突検出を提供する)正確な解の問題に取り組むことは、先行技術においては、おそらくは、機械加工の全工程の記述を獲得することは、(計算の観点から見て)複雑すぎると考えられていたために、(機械加工シミュレーションはすでに長年にわたって研究されてきたが)実行されていないことに留意されたい。基本的に、連続問題は、コンピュータ実施ソリューションが理論的に提示する際限のない複雑さのために、当然ながら回避される。しかしながら、方法は、(テストS30をS20において計算された端点、したがって、入力の離散化集合に基づかせて)問題を離散化することによって、正確な解に到達する。しかしながら、離散化は、(先行技術の時系列方法におけるように)時間上ではなく、デクセル上で実行され、このことが、より現実的な解をもたらす。これは、端点を支持する基礎となる図の特定の特性を利用することによって行われる。これは、後で詳述される。さらに、この表現は、超並列計算により適しており、精巧な工作物の離散化の場合であっても良好な性能を可能にする。   Thus, the method allows for fast detection of collisions, which can accurately provide even the collision depth (collision magnitude and position) and can be performed via massively parallelization across dexels. it can. Addressing the problem of accurate solutions (providing robust and comprehensive collision detection), in the prior art, probably obtaining a description of all machining steps (from a computational point of view) Note that it has not been implemented (although machining simulation has already been studied for many years) because it was considered too complex. Basically, continuity problems are of course avoided due to the unlimited complexity that computer-implemented solutions present theoretically. However, the method arrives at an accurate solution by discretizing the problem (based on test S30, the endpoint computed in S20, and hence the discretized set of inputs). However, discretization is performed on dexels rather than on time (as in prior art time series methods), which leads to a more realistic solution. This is done by taking advantage of certain characteristics of the underlying figure that supports the endpoints. This will be described in detail later. Furthermore, this representation is more suitable for massively parallel computing and allows good performance even in the case of elaborate work discretization.

例では、方法は、(例えば、立体の三角分割された境界を掃引することによる)掃引体積、および/または掃引表面を(S20内で)計算するために、S10において提供された軌道を利用する。典型的な参考文献(例えば、非特許文献18を参照)が存在する。この概念は、これ以降で詳述される。   In an example, the method utilizes the trajectory provided in S10 to calculate the sweep volume (eg, by sweeping the triangulated boundary of the volume) and / or the sweep surface (within S20). . There are typical references (see, for example, Non-Patent Document 18). This concept is described in detail below.

3次元空間の部分集合   A subset of 3D space

Figure 2016126776
Figure 2016126776

を与え、点 Give a point

Figure 2016126776
Figure 2016126776

を与えると、M+Pという表記は、集合MをPに平行移動したものである。正確には、M+P={x+P,x∈M}である。 The notation M + P is a translation of the set M to P. To be precise, M + P = {x + P, xεM}.

メッシュMを与え、それぞれ基本軌道の始点および終点である   Give a mesh M, which is the starting point and ending point of the basic trajectory, respectively

Figure 2016126776
Figure 2016126776

を与えると、基本軌道に沿ったメッシュMの掃引S(M)は、 Is given, the sweep S (M) of the mesh M along the basic trajectory is

Figure 2016126776
Figure 2016126776

によって定義される。 Defined by

掃引は、直線分[Pstart,Pend]に沿ったMのすべての平行移動の和集合である。先の式において、パラメータt∈[0,1]は、時間の役割を果たす。t=0において、メッシュMは、位置Pstartに平行移動され、それは、M+Pstartと書かれる。t=1において、メッシュMは、位置Pendに平行移動され、それは、M+Pendと書かれる。これは、(明確にするために2Dで)図13に示されている。 The sweep is the union of all translations of M along the straight line [ Pstart , Pend ]. In the previous equation, the parameter tε [0,1] plays the role of time. At t = 0, mesh M is translated to position Pstart , which is written as M + Pstart . At t = 1, mesh M is translated to position P end , which is written M + P end . This is shown in FIG. 13 (in 2D for clarity).

計算上の目的で、またロバスト性の目的で(特に、循環ポリラインとは対照的に、利用可能なポリラインを考えるために)、Mの可視部分のみが、方法によって使用される(さらなる詳細は後で提供される)。M+と表記されるMの可視部分は、Pend−Pstartと、NPと表記されるPにおけるMの外向き法線とのスカラ積が正である、すなわち、〈Pend−Pstart,NP〉>0であるような、点P∈Mの集合である。図14は、可視Mの2Dの例を示している。M+は直線分から作成されるので、掃引エリアS(M+)は、図15に示されるように、隣接する平行四辺形から作成される。三角分割されたMの3Dバージョンが、図16に示されている。左図は、Mであり、右図は、PstartおよびPendに従ったM+である。図17は、M+の1つの三角形の掃引を示している。それは、基本掃引体積という結果を生じ、それは、以下の境界面分(すなわち、三角形メッシュ面分の軌道にわたる積分−掃引−によって定義される体積の外側面分、そのような境界面分は、それらが掃引体積の外側表面全体の区画化を形成する限り、おそらく任意の方法で、例えば、外側表面のすべての最大平面として、またはそれの最大三角形として、定義される)を含む、すなわち、開始三角形τstartと、終了三角形τendと、6つの側面三角形とを含む、三角柱(prism)である。(三角柱も、文献(例えば、非特許文献19を参照)において説明されているように、三角形の軌道に沿った時間を定義する1D線分とのデカルト積であることに留意されたい。)これら6つの側面三角形は、3軸機械加工軌道を扱う場合は、3つの平行四辺形であることが分かる。結果の掃引体積S(M+)は、M+の各三角形に対して1つの三角柱の、隣接するそのような三角柱から作成される。明確にするために、必ずしもすべての三角形が示されるわけではないことに留意されたい。 For computational and robust purposes (especially to consider available polylines as opposed to circulating polylines), only the visible portion of M is used by the method (more details later). Provided in). Visible part of M, denoted M + is the scalar product of the P end The -P start, the outward normal of M in P, denoted N P is positive, i.e., <P end The -P start , N P >>> 0, the set of points PεM. FIG. 14 shows a 2D example of visible M. Since M + is created from a straight line segment, the sweep area S (M + ) is created from adjacent parallelograms as shown in FIG. A 3D version of the triangulated M is shown in FIG. The left figure is M and the right figure is M + according to Pstart and Pend . FIG. 17 shows a sweep of one triangle of M + . It yields the result of a basic sweep volume, which is the following boundary segment (ie, the outer segment of the volume defined by the integral-sweep over the trajectory of the triangular mesh plane, such boundary segments are As long as it forms a compartmentalization of the entire outer surface of the swept volume, including in any way, eg, defined as all the maximum planes of the outer surface or as its maximum triangle), ie the starting triangle A prism that includes τ start , an end triangle τ end , and six side triangles. (Note that the triangular prism is also a Cartesian product with a 1D line that defines the time along the orbit of the triangle, as described in the literature (eg, see Non-Patent Document 19).) It can be seen that the six side triangles are three parallelograms when dealing with a three-axis machining trajectory. The resulting sweep volume S (M + ) is created from adjacent such triangular prisms, one triangular prism for each triangle of M + . Note that not all triangles are shown for clarity.

方法は、いわゆる(h,t)図を巧みに考える。図18は、軌道(太い矢印)に従って初期位置から終了位置まで(一定のスピードで)掃引された、yz空間内における直線分M(太い直線)を示している。Mの掃引エリアS(M)は、平行四辺形である。   The method skillfully considers so-called (h, t) diagrams. FIG. 18 shows a straight line segment M (thick straight line) in the yz space that is swept from the initial position to the end position (at a constant speed) according to the trajectory (thick arrow). The M sweep area S (M) is a parallelogram.

デクセル(垂直線)と関連付けられた(h,t)図が、今から詳述される。(上で説明されたように、実際には、方法によって必ずしも実行される必要がない、(h,t)図を描くための)第1のステップは、デクセル直線と掃引エリアS(M)の境界との間の交点を計算することであり、それは、点P1およびP2を生成する。これらの交点から、デクセル直線上のそれぞれの横座標である、高さh1およびh2が得られる。次に、(例えば、一定)スピードの移動という仮定のおかげで、時刻t1およびt2が、図18に示されるように、しかるべく計算される。計算の数学的操作が、後で詳述される。 The (h, t) diagram associated with dexels (vertical lines) will now be described in detail. The first step (to draw a (h, t) diagram, which does not necessarily have to be performed by the method in practice, as explained above) is that of the dexel line and the sweep area S (M) Calculating the intersection point with the boundary, which generates points P 1 and P 2 . From these intersection points, the heights h 1 and h 2 , which are the respective abscissas on the dexel line, are obtained. Next, due to the assumption of (for example, constant) speed movement, times t 1 and t 2 are calculated accordingly, as shown in FIG. The mathematical operation of the calculation is detailed later.

今から、デクセルと関連付けられた(h,t)図が、略述される。それは、(3次元工作物および工具用ではあるが)2次元図である。高さ値h1およびh2は、水平h軸上で報告され、時刻値t1およびt2は、垂直t軸上で報告される。これは、図19に示されるように、点(h1,t1)と点(h2,t2)を結合する直線分を定める。 From now on, the (h, t) diagram associated with Dexel is outlined. It is a 2D view (although for 3D workpieces and tools). Height values h 1 and h 2 are reported on the horizontal h-axis, and time values t 1 and t 2 are reported on the vertical t-axis. As shown in FIG. 19, this defines a straight line segment connecting the point (h 1 , t 1 ) and the point (h 2 , t 2 ).

物理的表現は、以下の通りである。時刻t<t1である場合、デクセル直線は、移動する直線分Mと会わない。時刻t=t1である場合、直線分の下側頂点が、高さh1においてデクセル直線と出会う。時刻t=t1から時刻t=t2までは、直線デクセルと移動する直線分Mとの間の交点は、直線デクセルに沿ってP1からP2まで移動する点である。tとhとの間の従属性は、線形である。t>t2である場合、デクセルは、もはや移動する直線分Mと会わない。 The physical representation is as follows. When time t <t 1 , the dexel straight line does not meet the moving straight line segment M. When time t = t 1 , the lower vertex of the straight line meets the dexel straight line at height h 1 . From time t = t 1 to time t = t 2 , the intersection between the straight dexel and the moving straight segment M is a point that moves from P 1 to P 2 along the straight dexel. The dependency between t and h is linear. If t> t 2 , the dexel no longer meets the moving line segment M.

明確にするために、以下の説明は、2次元工作物および工具を用いて、詳しく説明される。今から、図20に示される、2D工作物、工具、軌道、デクセルについて考察する。   For clarity, the following description is described in detail using a two-dimensional workpiece and tool. Consider now the 2D workpiece, tool, track, and dexel shown in FIG.

まさに最初のステップは、デクセル直線と工作物との間の交わりである、初期工作物区間を計算することである。これは、図21に示されるように、値h0および値h9を生成する。工作物の形状に応じて、デクセルとの交わりは、いくつかの区間を含む。次に、工具の非刃部の掃引体積が、計算され、それのデクセル直線との交わりは、図22に示されるように、t1、t2、h1、h2を生成する。次に、工具の第1の刃部の掃引体積が、計算され、それのデクセル直線との交わりは、図23に示されるように、t3、t4、h3、h4を生成する。次に、工具の第2の刃部の掃引体積が、計算され、それのデクセル直線との交わりは、図24に示されるように、t5、t6、h5、h6を生成する。次に、工具の第3の刃部の掃引体積が、計算され、それのデクセル直線との交わりは、図25に示されるように、t7、t8、h7、h8を生成する。 The very first step is to calculate the initial workpiece section, which is the intersection between the dexel line and the workpiece. This produces a value h 0 and a value h 9 as shown in FIG. Depending on the shape of the workpiece, the intersection with Dexel includes several sections. Next, the swept volume of the non-blade portion of the tool is calculated and its intersection with the dexel line produces t 1 , t 2 , h 1 , h 2 as shown in FIG. Next, the sweep volume of the first blade of the tool is calculated and its intersection with the dexel line produces t 3 , t 4 , h 3 , h 4 as shown in FIG. Next, the sweep volume of the second blade of the tool is calculated and its intersection with the dexel line produces t 5 , t 6 , h 5 , h 6 as shown in FIG. Next, the sweep volume of the third cutting edge of the tool is calculated and its intersection with the dexel line produces t 7 , t 8 , h 7 , h 8 as shown in FIG.

高さおよび時刻の先の計算のすべてが、今度は、図26に示されるように、デクセルDの(h,t)図内に集められる。[h0,h9]線分は、デクセル直線と工作物との間の交わりである、いわゆる工作物区間である。それは、h軸上に表される。(h,t)図は、正確な衝突診断が実行されることができるように、時間情報および空間情報をキャプチャする。 All of the previous calculations of height and time are now collected in the (h, t) diagram of dexel D, as shown in FIG. The [h 0 , h 9 ] line segment is a so-called workpiece section, which is the intersection between the dexel line and the workpiece. It is represented on the h axis. The (h, t) diagram captures temporal and spatial information so that accurate collision diagnosis can be performed.

(h,t)図は、「切削」または「衝突」とラベル付けされた非垂直の直線分の集合を含む。衝突診断(S30)は、以下のように実施される。工作物区間のすべての点から、t方向に垂直線を描く。そのような各直線が、衝突直線よりも前に切削直線と出会った場合、衝突はない。そうではない場合、衝突がある。例では、切削直線2、3が、衝突直線よりもt方向に関して下側に配置されているので、期待通り、衝突はない。   The (h, t) diagram includes a set of non-vertical line segments labeled “cut” or “collision”. The collision diagnosis (S30) is performed as follows. Draw a vertical line in the t direction from all points in the workpiece section. If each such straight line meets the cutting straight line before the collision straight line, there is no collision. If not, there is a collision. In the example, since the cutting straight lines 2 and 3 are arranged below the collision straight line with respect to the t direction, there is no collision as expected.

本発明の方法の衝突診断の簡潔性およびロバスト性をもたらす、(h,t)図の先に言及された特性が、今から説明される。   The properties referred to earlier in the (h, t) diagram, which provide the simplicity and robustness of the collision diagnosis of the method of the present invention will now be described.

構成によって、(h,t)図は、「切削」または「衝突」とラベル付けされた(軌道は点軌道を除外した−すなわち、PStart≠PEndである−剛体運動であるという事実によって確保される)非垂直の直線分の集合を含む。これらの直線分は、計算を加速するための有益な特性を特徴とする。第1に、2つの直線分は、図27に示されるものとは異なり、内部点において交差することができない。第2に、2つの直線分は、図28に示されるものとは異なり、端点を共有すること、および重なり合うことができない。これは、刃部の内部と非刃部の内部は、同じ時刻に同じ場所に配置されることができないからである。   Depending on the configuration, the (h, t) diagram is labeled by “cutting” or “collision” (the trajectory excludes the point trajectory—ie, PSStart ≠ PEnd—is a rigid body motion. ) Includes a set of non-vertical line segments. These straight line segments are characterized by beneficial properties for accelerating calculations. First, the two straight lines cannot intersect at the internal points, unlike the one shown in FIG. Second, the two straight line segments cannot share end points and overlap, unlike that shown in FIG. This is because the inside of a blade part and the inside of a non-blade part cannot be arrange | positioned at the same place at the same time.

結果として、(h,t)図の直線分は、各々が数学的写像   As a result, each line segment in (h, t) is a mathematical map.

Figure 2016126776
Figure 2016126776

によって定義される、切削ポリラインと衝突ポリラインからなる集合として(より正確には、そのような区分的線形写像のグラフとして)配置されることができる。さらに、任意の2つのポリラインは、内部点において交差することができない。 Can be arranged as a set of cutting polylines and collision polylines (more precisely as a graph of such piecewise linear maps). Furthermore, any two polylines cannot intersect at an interior point.

Figure 2016126776
Figure 2016126776

であれば、Li(h)=+∞であるという規定は、以下における最小値計算を容易にする。 If so, the definition that L i (h) = + ∞ facilitates the minimum value calculation in the following.

2Dの例は、切削ポリライン   2D example is a cutting polyline

Figure 2016126776
Figure 2016126776

と、切削ポリライン And cutting polyline

Figure 2016126776
Figure 2016126776

と、衝突ポリライン And collision polyline

Figure 2016126776
Figure 2016126776

とに中心的役割を演じさせる。 And play a central role.

(衝突診断を計算する)S30の例が、今から説明される。この例は、単に1つの可能な実施であるにすぎず、この例の一般的なアイデアは、他の方法でも実施される。   An example of S30 (calculating collision diagnosis) will now be described. This example is just one possible implementation, and the general idea of this example can be implemented in other ways.

計算の観点から見て、与えられたデクセルDの衝突診断は、例では、以下のように実行される。ポリライン   From the viewpoint of calculation, the collision diagnosis of a given dexel D is executed as follows in the example. Polyline

Figure 2016126776
Figure 2016126776

を与え、デクセルDのすべての工作物区間の和集合Bを与えると、第1のステップは、数 And given the union B of all workpiece sections in dexel D, the first step is

Figure 2016126776
Figure 2016126776

の集合をソートして、リストh1≦h2≦…≦h2nにすることである。この順序付けられたリストは、衝突ポリラインの横座標hjと切削ポリラインの横座標hjとを混ぜ合わせたものであることが理解されなければならない。第2のステップは、すべての衝突区間[hj,hj+1]を、その上方で定義されたより下方のポリラインの種類に応じて、識別することである。次のアルゴリズムは、衝突集合Cを、すべての衝突区間[hj,hj+1]の和集合として計算する。 Is a list h 1 ≦ h 2 ≦... ≦ h 2n . The ordered list must be understood that those were combined and abscissa h j collision polylines and abscissa h j of cutting polyline. The second step is to identify all collision intervals [h j , h j + 1 ] according to the type of lower polyline defined above them. The next algorithm calculates the collision set C as the union of all collision intervals [h j , h j + 1 ].

C:=φ
For j:=1 to 2n−1 do begin
C: = φ
For j: = 1 to 2n-1 do begin

Figure 2016126776
Figure 2016126776

k(m)=min{Li(m),i=1,…,n}であるような、k∈(1,…,n)を見つける
If ポリラインLkの種類が「衝突」 then
C:=C∪[hj,hj+1
End if
End for
工作物集合Bが衝突集合Cと出会う、すなわち、C∩B≠φである場合に限って、衝突が発生する。これは、工作物の材料が、デクセルに沿って、工具の刃部よりも前に工具の非刃部と出会うことを意味する。
Find k∈ (1,..., N) such that L k (m) = min {L i (m), i = 1,..., N} If the type of polyline L k is “collision” then
C: = C∪ [h j , h j + 1 ]
End if
End for
A collision occurs only if the workpiece set B meets the collision set C, ie, C∩B ≠ φ. This means that the material of the workpiece meets the non-blade of the tool along the dexel before the blade of the tool.

図29は、3つのポリライン   Figure 29 shows three polylines

Figure 2016126776
Figure 2016126776

についてのアルゴリズムを示している。横座標hj、i=1,…,6のソートされたリストは、 Shows the algorithm. The sorted list of abscissas h j , i = 1,.

Figure 2016126776
Figure 2016126776

である。結果の衝突集合は、 It is. The resulting collision set is

Figure 2016126776
Figure 2016126776

である。例えば、区間 It is. For example, section

Figure 2016126776
Figure 2016126776

は、 Is

Figure 2016126776
Figure 2016126776

であるために、またL2が衝突ポリラインであるために、衝突区間である。工作物集合は、示されていない。 And because L 2 is a collision polyline, it is a collision zone. The workpiece set is not shown.

2Dの例に戻ると、衝突集合は、工作物区間B=[h0,h9]と出会わない、C=[h6,h2]であり、そのため、デクセルに沿って、衝突はない。 Returning to the 2D example, the collision set does not meet the workpiece section B = [h 0 , h 9 ], C = [h 6 , h 2 ], so there is no collision along the dexel.

方法によって従われる(少なくとも概念的な)スキームの要約が、これ以降で説明される(方法はむしろポリライン端点のみを計算するにすぎないことに今一度留意されたい)。   A summary of the (at least conceptual) scheme followed by the method is described below (note once again that the method only computes only the polyline endpoints).

工具は、隣接する刃部と非刃部とを含む。各部分は、「メッシュ」と呼ばれる、三角分割された閉じられた境界によってモデリングされる。工作物は、トリデクセル構造によってモデリングされる。物体の掃引は、軌道に沿って平行移動された物体のコピーの和集合である。工具軌道の基本ステップは、2つの連続する位置の間における工具の運動である。一般性を失うことなく、方法は、時間が2つの連続する工具位置の間で線形に変化し、始点は0に等しい時刻であり、終点は1に等しい時刻であると見なす。デクセルと工具掃引との間の交わりを計算する間に、方法は、各工具メッシュがデクセルと交わる時刻も計算する。時刻からなる結果の集合をソートすることによって、方法は、工具部分がデクセル上に保たれた物質区間(物質区間は工作物物質を表すことを想起されたい)と最初に出会うあらゆる場所を決定することが可能である。非刃部が物質と最初に出会う場合、衝突は、報告されない。   The tool includes adjacent blade portions and non-blade portions. Each part is modeled by a triangulated closed boundary called a “mesh”. The workpiece is modeled by a tridexel structure. An object sweep is a union of copies of an object translated along a trajectory. The basic step of the tool path is the movement of the tool between two consecutive positions. Without loss of generality, the method assumes that the time varies linearly between two consecutive tool positions, the start point is a time equal to 0 and the end point is a time equal to 1. While calculating the intersection between the dexel and the tool sweep, the method also calculates the time at which each tool mesh intersects the dexel. By sorting the result set of times, the method determines every place where it first encounters a material section where the tool part is kept on the dexel (recall that the material section represents a workpiece material). It is possible. If the non-blade first encounters the material, no collision is reported.

例における方法の主要な特徴は、掃引体積の幾何学的形状をもっぱら使用することによって、デクセルとの交わりの時刻を計算することである。この情報は、いわゆる(h,t)図内に集められる。これは、スピードの向上、信頼性の向上、および一般性の向上という結果となる。各基本軌道ステップを精緻化することは、必要とされず、したがって、良好なスピード性能を可能にする。信頼性は、いかなる数値精度値にも依存しない。性能および信頼性は、変位ベクトルの方向に依存しない。一般性:入力メッシュに対して設けられる唯一の仮定は、これらのメッシュは現実の3D立体の境界に近づくはずであるので、ほとんどのケースで検証される。必要である場合は、多くの既存のアルゴリズムが、これらのメッシュを修復するためのプリプロセッサとして、使用されることができる。   The main feature of the method in the example is to calculate the time of intersection with the dexel by using exclusively the geometry of the swept volume. This information is collected in a so-called (h, t) diagram. This results in increased speed, improved reliability, and increased generality. Refinement of each basic trajectory step is not required, thus allowing good speed performance. Reliability does not depend on any numerical precision value. Performance and reliability are independent of the direction of the displacement vector. Generality: The only assumptions made for the input mesh are verified in most cases because these meshes should approach the boundaries of real 3D solids. Many existing algorithms can be used as preprocessors to repair these meshes if needed.

より具体的には、例では、(例えば、L1、L2、L3と上で呼ばれた)すべてのポリラインの端点を計算するステップS20は、各メッシュMについて、およびそれぞれのポリラインの各端点について、それぞれのポリラインに関連付けられたメッシュのすべての面分に基づいて、デクセルの直線のそれとの交わりが端点に対応する、切削工具の軌道に従ってメッシュの面分によって掃引された体積S(τ)の境界面分を決定する(S282と呼ばれる)サブステップを含む。(h,t)図の定義、およびそれを形成するポリラインの定義のおかげで、また3D幾何学理論のおかげで、ポリラインの端点は、(それぞれのデクセルの)支持直線と、それぞれのメッシュの面分のうちの1つによって掃引された体積の外側境界との交わりに対応する。図17に関する説明を参照して、メッシュの面分によって掃引された体積S(τ)の「境界面分」について説明する。方法は、すべての潜在的な境界面分のうちで、そのような境界面分を決定する(すべてのそのような境界面分は、必ずしも計算される必要がないことに留意されたい)。次に、例の計算するステップS20は、デクセルの直線と決定された境界面分との間のそのような(幾何学的な)交わりに基づいて、(保持されたスケールに関して)それぞれの端点を定める時刻および高さを計算する(S284と呼ばれる)サブステップを含む。これは、簡単な計算するステップS20を可能にする。実際に、この時刻の計算は、3D交点が同じ三角柱内に保たれる限り、時刻と高さとは線形に変化するので、幾何学的な考察から直接的にもたらされる。 More specifically, in the example, the step S20 of calculating all polyline endpoints (eg, referred to above as L 1 , L 2 , L 3 ) is performed for each mesh M and for each polyline. For the endpoints, based on all the mesh segments associated with each polyline, the volume S (τ that is swept by the mesh segments according to the trajectory of the cutting tool whose intersection with that of the dexel line corresponds to the endpoints ) Includes a sub-step (referred to as S282). Thanks to the definition of the (h, t) figure and the definition of the polyline that forms it, and thanks to the 3D geometric theory, the end points of the polyline are the support lines (of each dexel) and the faces of each mesh. Corresponds to the intersection with the outer boundary of the volume swept by one of the minutes. With reference to the description regarding FIG. 17, the “boundary surface portion” of the volume S (τ) swept by the mesh surface portion will be described. The method determines such interface segments among all potential interface segments (note that not all such interface segments need necessarily be calculated). Next, the example calculating step S20 determines each endpoint (with respect to the retained scale) based on such a (geometric) intersection between the dexel line and the determined interface segment. It includes a sub-step (referred to as S284) that calculates a set time and height. This allows a simple calculating step S20. In fact, this time calculation comes directly from geometric considerations, as time and height change linearly as long as the 3D intersection is kept within the same triangular prism.

3D直線/三角形の交わりを通して「h」パラメータを計算するこの方法が、例において、今からさらに詳述される。   This method of calculating the “h” parameter through a 3D line / triangle intersection will now be further detailed in the examples.

三角形   triangle

Figure 2016126776
Figure 2016126776

および直線 And straight line

Figure 2016126776
Figure 2016126776

を考える。目標は、直線が三角形と交わるかどうかをテストすることと、交わる場合、デクセルフレームにおける交点の座標を計算することである。特に、これらの座標は、D上の高さを含む(または少なくとももたらす)。 think of. The goal is to test whether the line intersects the triangle and, if so, to calculate the coordinates of the intersection in the dexel frame. In particular, these coordinates include (or at least provide) a height above D.

Qを、Dに直交する平面とし、dを、DとQとの交点とする。xyzが基準軸座標系であることに留意すると、Dが(高さを表す)z軸に平行である場合、Qは、xy平面であり、Dは、(デクセルグリッドの支持平面を表す)平面xy内の2つの座標(xD,yD)によって定義される。Dがy軸に平行である場合、Qは、zx平面であり、Dは、平面zx内の2つの座標(zD,xD)によって定義される。Dがx軸に平行である場合、Qは、yz平面であり、Dは、平面yz内の2つの座標(yD,zD)によって定義される。 Let Q be a plane orthogonal to D and d be the intersection of D and Q. Note that xyz is the reference axis coordinate system, where D is parallel to the z-axis (representing height), Q is the xy plane and D (representing the dexel grid support plane). It is defined by two coordinates (x D , y D ) in the plane xy. If D is parallel to the y axis, Q is the zx plane, and D is defined by two coordinates (z D , x D ) in the plane zx. If D is parallel to the x-axis, Q is the yz plane, and D is defined by two coordinates (y D , z D ) in the plane yz.

U、V、Wを、三角形Δの頂点とし、U’、V’、W’を、2D三角形Δ’を定義する、平面Q上のそれぞれの射影とする。図31は、Dがz軸に平行である場合の幾何学を示している。   Let U, V, and W be the vertices of the triangle Δ, and let U ′, V ′, and W ′ be the respective projections on the plane Q that define the 2D triangle Δ ′. FIG. 31 shows the geometry when D is parallel to the z-axis.

点dが三角形Δ’の内部にある場合に限って、直線Dが三角形Δと出会うことが、現状技術からよく知られている。3つの代数的エリアArea(d,V’,W’)、Area(U’,d,W’)、およびArea(U’,V’,d)のすべてが、同じ符号を有する場合に限って、点dは、三角形Δ’の内部にある。さらに、交点D∩Δの高さhは、   It is well known from the state of the art that the straight line D meets the triangle Δ only when the point d is inside the triangle Δ ′. Only if all three algebraic areas Area (d, V ′, W ′), Area (U ′, d, W ′), and Area (U ′, V ′, d) have the same sign. , Point d is inside the triangle Δ ′. Furthermore, the height h of the intersection D∩Δ is:

Figure 2016126776
Figure 2016126776

であり、ここで、hu、hv、hwは、それぞれ、直線Dに沿った点U、V、Wの高さである。 Where h u , h v , and h w are the heights of points U, V, and W along the straight line D, respectively.

最後に、点D∩Δの3D座標は、平面Q内におけるDの2D座標をhと一緒に組み合わせることによって知られる。Dがz軸に平行である場合、D∩Δ=(xD,yD,h)である。Dがy軸に平行である場合、D∩Δ=(xD,h,zD)である。Dがx軸に平行である場合、D∩Δ=(h,yD,zD)である。 Finally, the 3D coordinates of the point D∩Δ are known by combining the 2D coordinates of D in the plane Q together with h. If D is parallel to the z axis, then D∩Δ = (x D , y D , h). When D is parallel to the y-axis, D∩Δ = (x D , h, z D ). When D is parallel to the x-axis, D∩Δ = (h, y D , z D ).

「t」パラメータを計算するこの方法が、例において、今から説明される。   This method of calculating the “t” parameter will now be described in an example.

三角形   triangle

Figure 2016126776
Figure 2016126776

But

Figure 2016126776
Figure 2016126776

から From

Figure 2016126776
Figure 2016126776

まで平行移動される状況について考える。Tを、(非退化三角柱である)対応する掃引体積であるとする。 Consider the situation in which a translation is made. Let T be the corresponding sweep volume (which is a non-degenerate triangular prism).

Figure 2016126776
Figure 2016126776

A、B、Cを、三角形τの頂点、e1=B−A、e2=C−A、e3=Pend−Pstartとする。これは、図32に示されている。τstart=τ+Pstartを、三角形τの初期コピーとし、τend=τ+Pendを、三角形τの最終コピーとする。三角形τは、退化していないので、ベクトルe1とベクトルe2は、同一線上にない。三角形τは、その支持平面に沿って平行移動されないので、ベクトルe3は、e1とe2とによって張られた平面に属さない。このことは、行列[e123]を可逆にする。結果として、任意の点P∈Tは、3つの数r、s、tによって、
P=A+re1+se2+te3
のように一意的に表される。
Let A, B, and C be the vertices of the triangle τ, e 1 = B−A, e 2 = C−A, and e 3 = P end −P start . This is illustrated in FIG. Let τ start = τ + P start be the initial copy of triangle τ, and τ end = τ + P end be the final copy of triangle τ. Since the triangle τ is not degenerated, the vector e 1 and the vector e 2 are not on the same line. Since the triangle τ is not translated along its support plane, the vector e 3 does not belong to the plane stretched by e 1 and e 2 . This makes the matrix [e 1 e 2 e 3 ] reversible. As a result, an arbitrary point PεT is given by three numbers r, s, t
P = A + re 1 + se 2 + te 3
It is expressed uniquely as follows.

ベクトルe1、e2、e3は、正規化されておらず、それらは、互いに直交しないことに留意されたい。 Note that the vectors e 1 , e 2 , e 3 are not normalized and they are not orthogonal to each other.

点Pの座標を与えると、数r、s、tは、1次連立方程式   Given the coordinates of the point P, the numbers r, s, and t are linear simultaneous equations.

Figure 2016126776
Figure 2016126776

を解くことによって計算されることができる。 Can be calculated by solving

数tは、三角形τがPstartからPendまで移動するときに、時間の役割を果たす。t=0である場合、点Pは、τstartに属し、t=1である場合、点Pは、τendに属し、0<t<1である場合、点Pは、中間三角形τ+(tPend+(1−t)Pstart)に属する。 The number t plays the role of time as the triangle τ moves from P start to P end . If t = 0, the point P belongs to τ start , and if t = 1, the point P belongs to τ end , and if 0 <t <1, the point P is the intermediate triangle τ + (tP end + (1-t) Pstart ).

3次元幾何学の(h,t)図への一般化が、今から説明される。   The generalization of 3D geometry to (h, t) diagrams will now be described.

三角柱は、2つの三角形(τstartおよびτend)と、3つの平面の平行四辺形とを含む。平行四辺形は、三角柱Tが、τstartおよびτendに加えて、6つの側面三角形を含むように三角分割される。そのような三角分割された三角柱と、デクセル直線Dとを与えると、D∩Tを計算することは、先の段落で説明されたように、直線/三角形の交わりの問題になる。P∈D∩Tとする。hパラメータは、式(1)を使用して計算され、tパラメータは、式(2)を使用して計算される。Pがτstartに属する場合、tパラメータは、t=0である。Pがτendに属する場合、tパラメータは、t=1である。 The triangular prism includes two triangles (τ start and τ end ) and three plane parallelograms. The parallelogram is triangulated so that the triangular prism T includes six side triangles in addition to τ start and τ end . Given such a triangulated triangular prism and dexel straight line D, calculating D∩T becomes a problem of line / triangle intersection, as explained in the previous paragraph. Let P∈D∩T. The h parameter is calculated using equation (1) and the t parameter is calculated using equation (2). If P belongs to τ start , the t parameter is t = 0. If P belongs to τ end , the t parameter is t = 1.

データ構造は、例では、D∩T内に点が存在するのと、またDとの非空の交わりを特徴とする三角柱Tが存在するのと同数の(h,t)パラメータをデクセルDと関連付ける。例では、ポリラインの端点のみが保持され、または最初に計算されさえする。   The data structure is, for example, the same number of (h, t) parameters as dexel D and that there are points in D∩T and that there is a triangular prism T characterized by non-empty intersection with D. Associate. In the example, only the endpoints of the polyline are retained or even calculated first.

図33は、D∩T={P1,P2}を示しており、ここで、P1∈τstart、すなわち、t1=0であり、P2は、側面三角形に属し、すなわち、0<t2<1である。データ構造は、(h1,t1)および(h2,t2)をデクセルDと関連付ける。図34は、D∩T={P1,P2}を示しており、ここで、P1およびP2は、側面三角形に属し、すなわち、0<t1<1、0<t2<1である。データ構造は、(h1,t1)および(h2,t2)をデクセルDと関連付ける。 FIG. 33 shows D∩T = {P 1 , P 2 }, where P 1 ∈τ start , ie t 1 = 0, and P 2 belongs to the side triangle, ie 0 <T 2 <1. The data structure associates (h 1 , t 1 ) and (h 2 , t 2 ) with dexel D. FIG. 34 shows D∩T = {P 1 , P 2 }, where P 1 and P 2 belong to the side triangles, that is, 0 <t 1 <1, 0 <t 2 <1. It is. The data structure associates (h 1 , t 1 ) and (h 2 , t 2 ) with dexel D.

図31ないし図34を参照して設計された例示的な計算の5軸軌道への一般化が、今から説明される。   The generalization of the exemplary calculations designed with reference to FIGS. 31-34 to a 5-axis trajectory will now be described.

平行移動によって定義される基本軌道のための方法は、回転を含む剛体運動によって定義される基本軌道に一般化されることができる。これは、回転の角度値が十分に小さいならば、なおさらそうである。以下は、この状況において、(h,t)パラメータをどのように計算するかを説明する。   The method for a basic trajectory defined by translation can be generalized to a basic trajectory defined by rigid body motion including rotation. This is even more so if the angle value of rotation is sufficiently small. The following describes how the (h, t) parameter is calculated in this situation.

τstartおよびτendを、基本軌道の初期三角形および終了三角形とする。掃引体積の境界は、三角形τstartおよびτendと一緒に、6つの側面三角形によって近似される。τstartの頂点をτend内のそのそれぞれのコピーと結び付ける3つの直線分は、図35に示されるように、「時間線分」と呼ばれる。次に、近似掃引体積が、3つの四面体に分割される。それらのうちの1つは、τstartを含み、別の1つは、τendを含む。各四面体は、図36に示されるように、ただ1つの時間線分を含む。ベクトルe1、e2、e3は、以下の戦略に従って、各四面体に関連付けられる。ベクトルe3は、時間線分であり、ベクトルe1、e2は、e3に付随するτstartおよび/またはτendの辺である。図37は、各四面体のe1、e2、e3ベクトルを示している。 Let τ start and τ end be the initial triangle and the end triangle of the basic trajectory. The boundary of the swept volume is approximated by six side triangles along with triangles τ start and τ end . The three line segments that connect the vertices of τ start with their respective copies in τ end are called “time line segments”, as shown in FIG. Next, the approximate swept volume is divided into three tetrahedra. One of them includes τ start and the other includes τ end . Each tetrahedron contains only one time line segment, as shown in FIG. The vectors e 1 , e 2 , e 3 are associated with each tetrahedron according to the following strategy. The vector e 3 is a time line segment, and the vectors e 1 and e 2 are the sides of τ start and / or τ end associated with e 3 . FIG. 37 shows the e 1 , e 2 , and e 3 vectors of each tetrahedron.

(h,t)パラメータの計算は、直線デクセルを各四面体の各境界面分と交わらせることによって、また式(1)および式(2)を使用することによって実行される。(h,t)図のポリラインが、しかるべく生成される。   The calculation of the (h, t) parameter is performed by intersecting the linear dexel with each boundary surface portion of each tetrahedron and using equations (1) and (2). The polylines in the (h, t) diagram are generated accordingly.

上の説明は、方法の態様についての一般的な詳細、方法の背後にある一般的な直感(すなわち、(h,t)図)についての詳細、および(例えば、特に1つのデクセルと1つの三角柱との間の交わりを詳細に説明する)幾何学的な交わりを介してポリラインの端点を取得するために方法によって実行されるいくつかの計算の例を提供する。しかしながら、現実の機械加工シミュレーションは、膨大な数のデクセルおよび三角形を含み、計算時間を重大な問題にする。以下は、デクセルがどのように配置されるか、および(隣接三角形を掃引することによって引き起こされる)三角柱のトポロジ的な隣接性が、計算を加速するために、どのように使用されるかについての方法の例を説明する。   The above description provides general details about the method aspects, details about the general intuition behind the method (ie, the (h, t) diagram), and (eg, in particular one dexel and one triangular prism). Provides examples of some calculations performed by the method to obtain the endpoints of a polyline via a geometric intersection (which details the intersection between and). However, real-world machining simulations involve a huge number of dexels and triangles, making computation time a serious problem. The following is about how the dexels are arranged and how the topological adjacency of the triangular prism (caused by sweeping adjacent triangles) is used to accelerate the calculation An example of the method will be described.

この例では、(L1、L2、L3など)すべてのポリラインの端点を計算するステップS20は、各メッシュMについて、最初に、メッシュ(M)の可視部分(M+)を決定する(S22と呼ばれる)サブステップをさらに含む。可視部分は、図14ないし図16を参照して説明されたように、切削工具の軌道に向かって方向付けられたメッシュの部分(例えば、面分からなる最小部分集合)である。M+は、いくつかのサブメッシュ(すなわち、各々が接続された面分からなる、分離されたサブメッシュ)を含むことに留意されたい。これは、任意の方法で実行される。次に、計算するステップS20は、切削工具の軌道に従って、可視部分によって掃引された体積(S(M+))の(∂S(M+)と呼ばれる)境界を計算する(S24と呼ばれる)サブステップを含む。これは、上で説明されたように、三角柱および/または四面体を使用して実行される。そして次に、計算するステップS20は、(計算された)それぞれのポリラインの各端点について、S282と呼ばれる上で言及された決定するサブステップと、S284と呼ばれる上で言及された計算するサブステップとを反復する、(S28と呼ばれる)反復サブステップを含む。境界面分を決定するサブステップS282は、可視部分によって掃引された体積(S(M+))の計算された境界∂S(M+)のそれぞれの境界面分を識別することから成る。実際に、構成によって、(h,t)図内のポリラインの端点は、デクセル直線と、メッシュ面分によって掃引された体積の境界面分、任意の境界面分ではなく、境界∂S(M+)を形成するものとの間の交わりに対応する。したがって、例の方法は、問題の幾何学的な特性を巧みに使用して、効率を向上させる。 In this example, the step S20 of calculating the end points of all the polylines (L 1 , L 2 , L 3 etc.) for each mesh M first determines the visible part (M + ) of the mesh (M) ( A sub-step) (referred to as S22). The visible portion is the portion of the mesh (eg, the smallest subset of surface segments) that is directed toward the cutting tool trajectory, as described with reference to FIGS. Note that M + includes several sub-mesh (ie, separate sub-mesh, each consisting of connected surface segments). This is done in any way. Next, step S20 of calculating, in accordance with the trajectory of the cutting tool (called S24) to calculate the (called .differential.S (M +)) boundary of the volume that is swept by the visible portion (S (M +)) sub Includes steps. This is performed using triangular prisms and / or tetrahedrons as described above. And then the calculating step S20 comprises, for each end of each polyline (calculated), the determining sub-step referred to above referred to as S282 and the calculating sub-step referred to above referred to as S284. Including an iteration sub-step (referred to as S28). Sub-step S282 for determining the boundary segment consists of identifying each boundary segment of the calculated boundary ∂ S (M + ) of the volume (S (M + )) swept by the visible portion. Actually, depending on the configuration, the end point of the polyline in the (h, t) diagram is not the boundary surface portion of the dexel straight line and the volume surface swept by the mesh surface portion, but an arbitrary boundary surface portion S (M + ) Corresponds to the fellowship with those forming. Thus, the example method takes advantage of the geometric characteristics of interest to improve efficiency.

例の計算するステップS20は、(明らかに)各メッシュMについて、可視部分の面分によって掃引された体積に関する隣接性情報を決定するサブステップS26をさらに含む。この情報は、面分によって掃引されたどの体積(例えば、三角柱および/または四面体)が隣接するかを示す任意の種類の情報である。これは、メッシュのトポロジに基づいて、メッシュ内の面分の隣接性および/または接続性情報に基づいて、単純な方法で実行される。このトポロジ情報は、それにもかかわらず、大きなスピード効率を可能にする。   The example calculating step S20 further includes (obviously) a sub-step S26 that determines adjacency information for each mesh M with respect to the volume swept by the face portion of the visible portion. This information is any type of information that indicates which volumes (eg, triangular prisms and / or tetrahedrons) swept by a surface segment are adjacent. This is done in a simple manner based on the topology of the mesh and on the adjacency and / or connectivity information of the faces in the mesh. This topology information nevertheless allows great speed efficiency.

実際に、各それぞれのポリラインについて、次に、計算するステップS20は、計算された境界∂S(M+)の「第1の」(または「入口」)面分と、計算された境界∂S(M+)の「第2の」(または「出口」)面分とを、異なる方法で決定するサブステップS282を含む。それぞれのポリラインの端は、一般に、定義によって、2つの3D点(すなわち、同じデクセル直線と計算された境界∂S(M+)の2つの要素との間の交わりにおけるそれら)に対応する。さて、例において実施される反復するサブステップS28において、方法は、そのような境界面分を対で(すなわち、デクセル直線が掃引体積に、例えば、入る「第1の面分」と、デクセル直線が掃引体積から、例えば、出る「第2の面分」とを)考える。順序付け(「第1」と「第2」、「入る」と「出る」)は、純粋に恣意的であり、実施に依存する。 In fact, for each respective polyline, the next calculating step S20 consists of the “first” (or “entrance”) face segment of the calculated boundary ∂S (M + ) and the calculated boundary ∂S. It includes a sub-step S282 in which the “second” (or “exit”) face segment of (M + ) is determined in a different way. Each polyline end generally corresponds by definition to two 3D points (ie, those at the intersection between the same dexel line and the two elements of the calculated boundary ∂S (M + )). Now, in an iterative sub-step S28 performed in the example, the method pairs such boundary surface segments (ie, the “first surface segment” where the dexel line enters the sweep volume, for example, and the dexel line From the swept volume, for example, the “second area” that emerges). The ordering ("first" and "second", "enter" and "exit") is purely arbitrary and depends on the implementation.

問題なのは、そのようなすべての面分を力ずくで識別することの代わりに、方法が、第1の面分を決定する/見つけるたびに、それに関連付けられた面分(すなわち、「第2の面分」)を見つけるために、いわゆる「トポロジ的な伝搬」を実施することである。具体的には、ポリラインの端点に関連付けられた体積S(τ)の境界面分を決定するサブステップS282は、幾何学的な計算(したがって、図31ないし図37を参照して先に説明された第1の計算ステップなど、通常の3Dの交わりおよび相対的に重い計算)によって、デクセルの直線によって交わられる計算された境界∂S(M+)の第1の面分を決定することから成る。しかし、反復するサブステップS28の間の交替では、同じポリラインの他方の端点に関連付けられた体積S(τ)の境界面分を決定するサブステップS282は、隣接性情報に基づいた(したがって、相対的に非常に高速な方法での)トポロジ的な伝搬によって、デクセルの直線によって交わられる計算された境界∂S(M+)の第2の面分(言い換えると、デクセルの直線は、点の2以上の対において、したがって、おそらくは2以上のそのような対またはそのインスタンスにおいて、∂S(M+)と交わるので、対のうちの第1の面分に関連付けられた面分)を決定することから成る。 The problem is that instead of forcibly identifying all such surface segments, each time the method determines / finds the first surface segment, the associated surface segment (ie, “second surface” To find the “minute”), so-called “topological propagation”. Specifically, the sub-step S282 for determining the boundary portion of the volume S (τ) associated with the end point of the polyline is described above with reference to geometric calculations (and thus with reference to FIGS. 31-37). Determining the first surface segment of the calculated boundary ∂S (M + ) intersected by the dexel straight line (by a normal 3D intersection and a relatively heavy calculation, such as a first calculation step). . However, in the alternation between the recurring substeps S28, the substep S282 for determining the boundary portion of the volume S (τ) associated with the other endpoint of the same polyline is based on the adjacency information (and thus relative Topological propagation (in a very fast way), the second area of the computed boundary ∂S (M + ) intersected by the dexel straight line (in other words, the dexel straight line is Determining the surface segment associated with the first surface portion of the pair, thus intersecting ∂S (M + ), possibly in two or more such pairs or instances thereof Consists of.

このトポロジ的な伝搬の特徴が、今からさらに詳述される。   This topological propagation feature will now be further detailed.

デクセル−三角形の交わりを計算するステップは、例では、以下のように実行される。Mを、初期メッシュとし、PstartおよびPendを、それぞれ、基本軌道の始点および終点とする。M+を、基本軌道に向かって方向付けられたMの部分とし、E+を、M+の境界とする。一般性を失うことなく、M+は接続された集合であると仮定する。本質的に、E+は、3次元の閉じられたポリラインである。図38は、状況を例示している。 The step of calculating the dexel-triangle intersection is performed in the example as follows. Let M be the initial mesh and let P start and P end be the start and end points of the basic trajectory, respectively. The M +, as a part of M, which is directed towards the base track, the E +, the M + of the boundary. Without loss of generality, assume that M + is a connected set. In essence, E + is a three-dimensional closed polyline. FIG. 38 illustrates the situation.

今から、方向V=Pend−Pstartに沿ったM+の掃引体積S(M+)について考察する。S(M+)の境界は、∂S(M+)と呼ばれる。実際に、S(M+)は、隣接する三角柱から作成され、以下の特性を特徴とする。
● 各三角柱piは、M+の三角形τiの押し出しである。
● S(M+)の境界∂S(M+)は、
□ E+の辺から押し出された平行四辺形
□ 初期位置PstartにおけるM+の三角形
□ 終了位置PendにおけるM+の三角形
を含む。
● 2つの隣接する三角柱piおよびpjによって共有される平行四辺形は、M+の三角形τiおよびτjによって共有される辺の押し出しである。
Now, consider the direction V = P end -P start along the M + sweep volume S (M +). Boundary of S (M +) is referred to as the ∂S (M +). In practice, S (M + ) is created from adjacent triangular prisms and is characterized by the following characteristics:
● Each triangular prism p i is an extrusion of an M + triangle τ i .
● The boundary ∂ S (M + ) of S (M + ) is
□ containing triangle M + in triangular □ end position P end The of M + in the parallelogram □ initial position P start extruded from E + sides.
The parallelogram shared by two adjacent triangular prisms p i and p j is an extrusion of the side shared by M + triangles τ i and τ j .

これらの隣接性特性は、適切なトポロジデータ構造を通してキャプチャされる。それらは、伝搬アルゴリズムによって集中的に使用される。第1のステップは、Dと∂S(M+)との間の交点を計算することである。交わりが発生する面分f0∈∂S(M+)が、トポロジ的な伝搬を開始する。次に、Dと交わらされるS(M+)の次の三角柱が、f0の近傍を訪れることによって見つけられる。これは、図39の図のラベルAとラベルBとの間で実行される。 These adjacency characteristics are captured through an appropriate topology data structure. They are used intensively by the propagation algorithm. The first step is to calculate the intersection between D and ∂S (M + ). The surface segment f 0 ε∂S (M + ) where the intersection occurs starts topological propagation. Next, the next triangular prism of S (M + ) intersected with D is found by visiting the neighborhood of f 0 . This is performed between label A and label B in the diagram of FIG.

伝搬は、S(M+)の境界上にある点を計算したときに終了する。アルゴリズムは、M+が接続された集合ではない、一般的なケースにおけるように、DとS(M+)の境界面分との間の別の交点をサーチすることによって続行する。この伝搬方法によれば、交点から計算されるh値は、まったく自然にソートされており、そのことが、効率を向上されることに留意されたい。(すなわち、h値に対していかなるソートも行わずに)この特性は、(h,t)図を構築するために使用される。 Propagation ends when a point on the boundary of S (M + ) is calculated. The algorithm continues by searching for another intersection between D and the boundary portion of S (M + ), as in the general case where M + is not a connected set. Note that according to this propagation method, the h values calculated from the intersections are sorted quite naturally, which improves efficiency. This property is used to construct the (h, t) diagram (ie, without any sort on the h values).

以下から、トポロジ的な伝搬の中核が、説明される。それは、図40の図のラベルAとラベルBとの間で行われる。主として、面分f0に境界付けする、または面分f0を生み出す、境界付け辺l0が識別され、l0またはf0に関連する適切な三角形τ∈M+も識別される。次の三角柱は、三角形τによって生み出されたものである。プロセスは、図40の図において説明されるように、面分f0の自然な平行四辺形対三角形に依存する。 From the following, the core of topological propagation is explained. It is performed between label A and label B in the diagram of FIG. Primarily, to bounded surface region f 0, or produce a surface region f 0, is identified bounded sides l 0, appropriate triangles associated with l 0 or f 0 τ∈M + also identified. The next triangular prism was created by the triangle τ. The process relies on a natural parallelogram-versus-triangle of surface area f 0 as illustrated in the diagram of FIG.

アルゴリズムが、図41に示される状況において例示される。
1.Dと∂S(M+)との間の交点が、面分f0において発生する。
2.面分f0は平行四辺形であるので、境界面分f0を生み出した境界辺l0∈E+を取得する。
3.l0によって境界付けされる一意的な三角形τ1を取得する。
4.Dとτ1の押し出しp1の面分との間の他の交点を計算する。
5.Dと交わるp1の面分f1を開始する辺l1を取得する。
6.τ1とl1を共有する三角形τ2を取得する。
7.Dとτ2の押し出しp2の面分との間の他の交点を計算する。
8.Dと交わるp2の面分f2を開始する辺l2を取得する。
9.τ2とl2を共有する三角形τ3を取得する。
10.Dとτ3の押し出しp3の面分との間の他の交点を計算する。
11.Dと交わるp3の面分f3を開始する辺l3を取得する。
12.辺l3はM+の境界辺であり、そのため、f3はS(M+)の境界面分であり、デクセルDは局所的にS(M+)から出るので、伝搬は終了する。
The algorithm is illustrated in the situation shown in FIG.
1. An intersection between D and ∂S (M + ) occurs at the surface segment f 0 .
2. Since the surface segment f 0 is a parallelogram, the boundary side l 0 ∈E + that generated the boundary surface segment f 0 is acquired.
3. Get a unique triangle τ 1 bounded by l 0 .
4). Calculate the other intersection between D and the surface area of extrusion p 1 of τ 1 .
5). The side l 1 that starts the surface segment f 1 of p 1 that intersects D is acquired.
6). Obtain a triangle τ 2 that shares τ 1 and l 1 .
7). Calculate the other intersection between D and the surface area of the extrusion p 2 of τ 2 .
8). The side l 2 that starts the surface segment f 2 of p 2 that intersects D is acquired.
9. Obtain a triangle τ 3 sharing τ 2 and l 2 .
10. Calculate the other intersection between D and the surface area of the extrusion p 3 of τ 3 .
11. An edge l 3 starting with a surface segment f 3 of p 3 intersecting with D is acquired.
12 The side l 3 is the boundary side of M + , and therefore f 3 is the boundary surface of S (M + ), and the dexel D comes out of S (M + ) locally, so the propagation ends.

アルゴリズムが、別の状況において例示される。図42の左図は、デクセルDと交わる面分f0が三角形である状況を示している。図42の右図は、V=Pend−Pstartによって定義される視点から見られるS(M+)を示している。この右図において、各三角形は、ビュー平面と直交する三角柱の底面である。
1.Dと∂S(M+)との間の交点が、面分f0において発生する。
2.面分f0は三角形であり、辺l0はDと交わる平行四辺形を生成するものである。Dとこの平行四辺形との間の交点を計算する。
3.f0とl0を共有する一意的な三角形τ1を取得する。
4.Dとτ1の押し出しp1の面分との間の他の交点を計算する。
5.Dと交わるp1の面分f1を開始する辺l1を取得する。
6.τ1とl1を共有する三角形τ2を取得する。
7.Dとτ2の押し出しp2の面分との間の他の交点を計算する。
The algorithm is illustrated in another situation. The left diagram in FIG. 42 shows a situation where the surface segment f 0 intersecting with the dexel D is a triangle. The right diagram of FIG. 42 shows S (M + ) seen from the viewpoint defined by V = P end −P start . In the right figure, each triangle is a bottom surface of a triangular prism orthogonal to the view plane.
1. An intersection between D and ∂S (M + ) occurs at the surface segment f 0 .
2. The surface segment f 0 is a triangle, and the side l 0 is to generate a parallelogram intersecting D. Compute the intersection between D and this parallelogram.
3. Get a unique triangle τ 1 that shares f 0 and l 0 .
4). Calculate the other intersection between D and the surface area of extrusion p 1 of τ 1 .
5). The side l 1 that starts the surface segment f 1 of p 1 that intersects D is acquired.
6). Obtain a triangle τ 2 that shares τ 1 and l 1 .
7). Calculate the other intersection between D and the surface area of the extrusion p 2 of τ 2 .

Dと交わるp2の面分f2はS(M+)の境界面分であり、そのため、デクセルDは局所的にS(M+)から出るので、伝搬は終了する。 The area f 2 of p 2 intersecting with D is the boundary area of S (M + ), and therefore the dexel D comes out of S (M + ) locally, so the propagation ends.

ここで、さらなる改良として、第1の面分を決定するサブステップS282は、デクセルの集合にわたって、ラスタ化を実施する。言い換えると、第1の面分を決定するサブステップS282は、2Dグリッドの要素と見なされるデクセルにわたる、∂S(M+)のすべての要素のラスタ化によって提供される。デクセルは、2Dグリッドの要素と見なされる(グリッドに直交する平面において、デクセルはピクセルにたとえられる2D位置である)。 Here, as a further improvement, the sub-step S282 of determining the first surface segment performs rasterization over the set of dexels. In other words, the sub-step S282 of determining the first surface segment is provided by rasterizing all elements of ∂S (M + ) across dexels that are considered elements of the 2D grid. A dexel is considered an element of a 2D grid (in a plane orthogonal to the grid, a dexel is a 2D position that is compared to a pixel).

各x、y、z方向のデクセルは、nm個のデクセルからなる隣接する長方形グループに配置される。実施は、n=m=8が良好な性能を与えることを示す。各デクセルグループは、その境界付けボックスと関連付けられる。どのデクセルが与えられた三角柱と交わるかをサーチすることは、境界付けボックスが三角柱と出会わないデクセルのグループを最初に排除することによって、フィルタリングされる。   The dexels in the x, y, and z directions are arranged in adjacent rectangular groups of nm dexels. Implementation shows that n = m = 8 gives good performance. Each dexel group is associated with its bounding box. Searching which dexels meet a given triangular prism is filtered by first excluding the group of dexels whose bounding box does not meet the triangular prism.

上述の例は、明らかな変更も企図されるので、本発明の方法の範囲を限定しないことに留意されたい。特に、上述の説明は、(交わりが常に3D位置と見なされた、デクセル直線と境界面分との間の)「クリーン」な3D交わりを常に提示した。しかしながら、デクセル直線が境界面分と交わって、(点ではなく)交わり線分/直線を形成する場合、デクセルが1つの境界面分と交わらず、いくつかの境界面分とそれらの間の境界において(2つの面分の間の直線において、または例えば、3以上の面分の間の点においてさえも)交わる場合を含む、極端な場合に対する明らかな適合は、すべて、本発明の方法によって企図されることが理解されよう。方法は、例えば、いわゆる正確な述語に依存することによって、これらの退化ケースに対処し(非特許文献20を参照)、それは、ロバスト性および効率を保証する。(例えば、特定の軌道のせいで)同じ境界面分と複数回交わるデクセル直線の扱いなど、すべての特定の明らかな実施も、方法によって企図される。   It should be noted that the above example does not limit the scope of the method of the present invention, as obvious modifications are also contemplated. In particular, the above description has always presented a “clean” 3D intersection (between the dexel line and the interface segment, where the intersection was always considered a 3D position). However, if a dexel line intersects with a boundary segment to form an intersection line / straight line (not a point), the dexel does not intersect with one boundary segment and several boundary segments and the boundary between them All obvious fits for extreme cases are contemplated by the method of the present invention, including the case of crossing (in a straight line between two segments or even in a point between, for example, three or more segments). It will be understood that The method addresses these degenerate cases, for example by relying on so-called exact predicates (see Non-Patent Document 20), which guarantees robustness and efficiency. All specific obvious implementations are also contemplated by the method, such as handling dexel lines that intersect the same interface multiple times (eg, due to a specific trajectory).

Claims (12)

少なくとも1つの切削部と少なくとも1つの非切削部とを有する切削ツールを用いて、工作物の機械加工をシミュレートするための、コンピュータ実施方法であって、
−前記工作物を表わすデクセルの集合であって、各デクセルは線と前記工作物との間の交差を表わす少なくとも1つの線分(segment)の集合を含む、該デクセルの集合と、
−精密な動きである、前記切削ツールの軌道と、
−メッシュ(M)の集合であって、各々が前記切削ツールのそれぞれの切削部又は非切削部を表わす、該メッシュ(M)の集合と
を提供するステップ(S10)と、
各デクセル(D)について、
前記切削ツールの軌道に従って、前記デクセル(D)の線と交差の高さ(h)の関数としてのメッシュとの間の交差の時間(t)を記述する全ポリライン(L,L,L)の端点を各メッシュ(M)について計算するステップ(S20)と、
前記デクセルに沿って前記切削ツールと前記工作物との衝突をテストするステップ(S30)であって、前記テストは、全メッシュの全ポリラインの集合のより低いエンベロープに属する位置に対応する高さ値について、前記位置に属する前記ポリラインが非切削部に関連付けられているか否かを決定するステップを含み、前記高さの値は前記デクセルの線分に属する、該テストするステップ(S30)と
を備えたことを特徴とするコンピュータ実施方法。
A computer-implemented method for simulating machining of a workpiece using a cutting tool having at least one cutting portion and at least one non-cutting portion, comprising:
A set of dexels representing the workpiece, each dexel comprising a set of at least one segment representing an intersection between a line and the workpiece; and
The trajectory of the cutting tool, which is a precise movement;
Providing a set (S10) of meshes (M), each of which represents a respective cutting or non-cutting part of the cutting tool;
For each dexel (D)
All polylines (L 1 , L 2 , L) describing the time of intersection (t) between the line of the dexel (D) and the mesh as a function of the height of intersection (h) according to the trajectory of the cutting tool 3 ) calculating an end point of each mesh (M) (S20);
Testing a collision between the cutting tool and the workpiece along the dexel (S30), wherein the test is a height value corresponding to a position belonging to a lower envelope of a set of all polylines of all meshes. And determining whether the polyline belonging to the position is associated with a non-cutting portion, the height value belonging to the dexel line segment, the testing step (S30). A computer-implemented method characterized by the above.
前記全ポリライン(L,L,L)の前記端点を計算するステップ(S20)は、各メッシュ(M)についておよびそれぞれのポリラインの各端点について、
前記それぞれのポリラインに関連付けられた前記メッシュの全ての面に基づいて、前記端点に対応する前記デクセルの前記線の交差を伴った、前記切削ツールの前記軌道に従って、前記メッシュの面によって掃引された体積(S(τ))の境界面を決定するステップ(S282)と、
前記デクセルの前記線と前記決定された境界面との間の交差に基づいて、時間と高さを計算するステップ(S284)と
を備えたことを特徴とする請求項1記載のコンピュータ実施方法。
The step (S20) of calculating the end points of all the polylines (L 1 , L 2 , L 3 ) is performed for each mesh (M) and for each end point of each polyline.
Swept by the surface of the mesh according to the trajectory of the cutting tool, with the intersection of the lines of the dexels corresponding to the end points, based on all the surfaces of the mesh associated with the respective polylines Determining a boundary surface of the volume (S (τ)) (S282);
The computer-implemented method of claim 1, further comprising: calculating time and height based on an intersection between the line of the dexel and the determined boundary surface (S284).
前記全ポリライン(L,L,L)の前記端点を計算するステップ(S20)は、各メッシュ(M)について、
前記メッシュ(M)の可視部を決定するステップ(S22)であって、前記可視部は前記切削ツールの軌道の方向へ向かった前記メッシュの部分である、該決定するステップ(S22)と、
前記切削ツールの前記軌道に従って、前記可視部によって掃引される体積゜(S(M))の境界(∂S(M))を計算するステップ(S24)と、
前記端点に対応する前記デクセルの前記線の交差を伴った、前記メッシュの面によって掃引された体積゜(S(τ))の境界面を決定する前記ステップ(S282)および時間と高さを計算する前記ステップ(S284)を、それぞれのポリラインの各端点について、繰返して行うステップ(28)であって、前記境界面を決定する前記ステップ(S282)は、前記可視部によって掃引されるボリューム(S(M))の前記計算された境界(∂S(M))のそれぞれの境界面を識別するステップからなる、該繰返して行うステップ(28)と
をさらに備えたことを特徴とする請求項2記載のコンピュータ実施方法。
The step (S20) of calculating the end points of all the polylines (L 1 , L 2 , L 3 ) is performed for each mesh (M):
Determining the visible portion of the mesh (M + ) (S22), wherein the visible portion is the portion of the mesh that is directed toward the trajectory of the cutting tool (S22);
Calculating a boundary (∂S (M + )) of a volume ° (S (M + )) swept by the visible portion according to the trajectory of the cutting tool (S24);
The step of determining the boundary surface of the volume ° (S (τ)) swept by the face of the mesh with the intersection of the line of the dexel corresponding to the end point (S282) and calculating the time and height The step (S284) of repeating the step (S284) for each end point of each polyline, the step (S282) of determining the boundary surface is a volume (S (M +) wherein each composed of identifying the interface of the computed boundary (.differential.S (M +)) of), according to, further comprising a step (28) for performing return該繰Item 3. A computer-implemented method according to Item 2.
前記全ポリライン(L,L,L)の前記端点を計算するステップ(S20)は、各メッシュ(M)について、前記可視部の面によって掃引されたボリュームに対する隣接情報を決定するステップ(S26)と、各それぞれのポリラインについて:
前記ポリラインの第1の端点に対応する前記デクセルの前記線の交差を伴った、前記メッシュの面によって掃引されたボリューム(S(τ))の境界面を決定する前記ステップ(S282)であって、前記可視部によって掃引されるボリューム(S(M))の前記計算された境界(∂S(M))の第1の面を幾何学的計算によって決定するステップからなり、前記第1の面は前記デクセルの前記線によって交差されている、該決定するステップ(S282)と、
前記ポリラインの第2の端点に対応する前記デクセルの前記線の交差を伴った、前記面によって掃引されたボリューム(S(τ))の境界面を決定する前記ステップ(S282)であって、前記可視部によって掃引されるボリューム(S(M))の前記計算された境界(∂S(M))の第2の面を前記隣接情報に基づいたトポロジ伝播によって決定するステップからなり、前記第2の面は前記デクセルの前記線によって交差されている、該決定するステップ(S282)と
をさらに備えたことを特徴とする請求項3記載のコンピュータ実施方法。
The step (S20) of calculating the end points of all the polylines (L 1 , L 2 , L 3 ) determines, for each mesh (M), adjacent information with respect to the volume swept by the surface of the visible part ( S26) and for each polyline:
Said step (S282) of determining a boundary surface of the volume (S (τ)) swept by the surface of the mesh with the intersection of the line of the dexel corresponding to the first end point of the polyline; Determining a first surface of the calculated boundary (∂S (M + )) of the volume (S (M + )) swept by the visible part by geometric calculation, Determining (S282) that the plane of is intersected by the line of the dexel;
Determining the boundary surface of the volume swept by the surface (S (τ)) with the intersection of the line of the dexel corresponding to the second endpoint of the polyline, the step (S282), Determining the second face of the calculated boundary (∂S (M + )) of the volume (S (M + )) swept by the visible part by topology propagation based on the neighbor information, The computer-implemented method of claim 3, further comprising the step of determining (S282) that a second surface is intersected by the line of the dexels.
前記繰返して行うステップ(28)は、前記デクセルの集合上で並列化されることを特徴とする請求項4記載のコンピュータ実施方法。   5. The computer-implemented method of claim 4, wherein the repetitive step (28) is parallelized on the set of dexels. 前記第1の面を決定するステップ(282)は、前記デクセルの集合上でラスタライゼーションを実行することを特徴とする請求項5記載のコンピュータ実施方法。   The computer-implemented method of claim 5, wherein determining (282) the first surface comprises performing rasterization on the set of dexels. 製品を生産するための方法であって、該方法は、請求項1ないし6のいずれかの機械加工をシミュレートするための方法が繰返され、およびこれにより工作物上で機械加工フェーズが実行されるシミュレーションフェーズを含む、ことを特徴とする方法。   A method for producing a product, the method comprising repeating the method for simulating machining according to any of claims 1 to 6, and thereby performing a machining phase on a workpiece. Including a simulation phase. 請求項1ないし6のいずれかの方法に対応した、少なくとも1つの切削部と少なくとも1つの非切削部とを有する切削ツールを用いて、工作物の機械加工のシミュレーションの仕様を含むデータ構造。   7. A data structure comprising simulation specifications for machining a workpiece using a cutting tool having at least one cutting portion and at least one non-cutting portion, corresponding to the method of any of claims 1-6. 請求項1ないし6のいずれかの方法を実行するための命令が記録されたメモリに結合されたプロセッサを備えたシステム。   A system comprising a processor coupled to a memory having instructions recorded thereon for performing the method of any of claims 1-6. 前記プロセッサは、グラフィカル・プロセッシング・ユニットであることを特徴とする請求項9記載のシステム。   The system of claim 9, wherein the processor is a graphical processing unit. 請求項1ないし6のいずれかの方法を実行するための命令を含むコンピュータプログラム。   A computer program comprising instructions for executing the method of any of claims 1-6. 請求項11のコンピュータプログラムが記録されたコンピュータ読取可能記憶媒体。   A computer-readable storage medium on which the computer program of claim 11 is recorded.
JP2015244168A 2014-12-31 2015-12-15 Simulation of machining of workpieces Active JP6787661B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14307225.4A EP3040797B1 (en) 2014-12-31 2014-12-31 Simulating the machining of a workpiece
EP14307225.4 2014-12-31

Publications (2)

Publication Number Publication Date
JP2016126776A true JP2016126776A (en) 2016-07-11
JP6787661B2 JP6787661B2 (en) 2020-11-18

Family

ID=52432623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015244168A Active JP6787661B2 (en) 2014-12-31 2015-12-15 Simulation of machining of workpieces

Country Status (6)

Country Link
US (1) US10140395B2 (en)
EP (1) EP3040797B1 (en)
JP (1) JP6787661B2 (en)
KR (1) KR20160082481A (en)
CN (1) CN105740497B (en)
CA (1) CA2915331A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019179544A (en) * 2018-02-09 2019-10-17 ダッソー システムズDassault Systemes Designing a part manufacturable by milling operations
JP7284468B1 (en) * 2022-06-06 2023-05-31 株式会社コアコンセプト・テクノロジー 3D CAD/CAM system

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
US9971335B2 (en) * 2014-04-11 2018-05-15 Thomas Marshall Tucker Hybrid dynamic tree data structure and accessibility mapping for computer numerical controlled machining path planning
US10423669B2 (en) * 2016-01-04 2019-09-24 Hanwha Precision Machinery Co., Ltd. Manufacturing process visualization apparatus and method
EP3220223B1 (en) * 2016-03-16 2021-07-14 Siemens Aktiengesellschaft Method for machining a workpiece in a machine tool with optimized processing time
IL247245B (en) * 2016-08-11 2019-01-31 Technion Res & Dev Foundation Systems and methods for printing of 3d models
EP3485403A1 (en) * 2016-08-12 2019-05-22 Siemens Product Lifecycle Management Software Inc. Computer aided design with high resolution lattice structures using graphics processing units (gpu)
EP3293648B1 (en) * 2016-09-12 2024-04-03 Dassault Systèmes Representation of a skeleton of a mechanical part
CA3037575A1 (en) * 2016-09-22 2018-03-29 The University Of British Columbia Geometric modelling for facilitating simulation for manufacturing operations
CN108345503A (en) * 2018-01-18 2018-07-31 杭州电子科技大学 The parallel knife rail planing method of B-spline surface based on CPU-GPU
JP6777672B2 (en) * 2018-04-03 2020-10-28 Dmg森精機株式会社 Information processing equipment, information processing methods and information processing programs
EP3877889B1 (en) * 2018-11-09 2023-09-27 Autodesk, Inc. Boundary based generative design with 2.5-axis subtractive manufacturing constraint for computer aided design and manufacturing
EP3674930B1 (en) * 2018-12-26 2024-02-28 Dassault Systèmes Designing a mechanical part
TWI716849B (en) * 2019-04-10 2021-01-21 財團法人工業技術研究院 Method and system for predicting collision detection of machining path
US11243510B2 (en) * 2020-05-20 2022-02-08 Autodesk, Inc. Computer aided generative design with tool size control to facilitate 2.5-axis subtractive manufacturing processes
CN116049995B (en) * 2023-03-15 2023-06-02 中国空气动力研究与发展中心高速空气动力研究所 Special mechanism collision prediction method based on virtual prototype in interstage separation test
CN116493681A (en) * 2023-03-17 2023-07-28 西安钧诚精密制造有限公司 Cutting control system and cutting device for inner circle of shell
CN116740317B (en) * 2023-08-14 2023-11-03 济南邦德激光股份有限公司 Three-dimensional simulation visual display method and device for laser numerical control

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4833617A (en) 1987-08-14 1989-05-23 General Electric Company Solid modeling based adaptive feedrate control for NC machining
US5710709A (en) 1993-08-19 1998-01-20 Iowa State University Research Foundation, Inc. NC milling simulation and dimensional verification via dexel representation
US6311100B1 (en) 1998-09-14 2001-10-30 Mass. Institute Of Technology Tool path generator for computer aided manufacturing
DE19846426A1 (en) 1998-10-08 2000-04-13 Open Mind Software Technologie Multi axis machining center with independent control of the axes of the cutting tool
US20020133264A1 (en) 2001-01-26 2002-09-19 New Jersey Institute Of Technology Virtual reality system for creation of design models and generation of numerically controlled machining trajectories
DE10144932B4 (en) 2001-09-12 2014-07-31 Siemens Aktiengesellschaft Visualization of workpieces in the simulation of milling processes
WO2004110309A2 (en) 2003-06-11 2004-12-23 Case Western Reserve University Computer-aided-design of skeletal implants
DE10330831A1 (en) 2003-07-08 2005-02-10 Mtu Aero Engines Gmbh Milling process for the production of components
KR100517880B1 (en) 2003-11-20 2005-09-28 학교법인 포항공과대학교 Off-line feed rate scheduling for reduction of machining time and enhancement of machining accuracy in cnc machining
US20070203589A1 (en) 2005-04-08 2007-08-30 Manyworlds, Inc. Adaptive Recombinant Process Methods
US7747418B2 (en) 2005-12-09 2010-06-29 Leu Ming C Computer aided dental bar design
DE102007059568A1 (en) 2007-12-11 2009-06-18 Mtu Aero Engines Gmbh plunge milling
CN102282561B (en) * 2009-01-15 2014-11-12 三菱电机株式会社 Collision determination device and collision determination program
CN101537585B (en) * 2009-03-26 2012-04-25 山东理工大学 Digital control processing real-time cutting simulation method of products
US8538574B2 (en) 2009-04-02 2013-09-17 Dmg Electronics Gmbh Method and apparatus for generating control data for controlling a tool on a machine tool
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
KR20120089707A (en) 2009-10-06 2012-08-13 페시스 투도만예게템 Method, computer system and computer program product for machining simulation and for visually presenting such simulation
US8805570B2 (en) 2009-11-10 2014-08-12 Mitsubishi Heavy Industries, Ltd. Workpiece measuring device, collision preventing device, and machine tool
WO2011125129A1 (en) 2010-04-07 2011-10-13 三菱電機株式会社 Processing simulation method, device for same, and program for executing the method on computer
EP2590143B1 (en) * 2011-11-03 2018-10-24 Dassault Systèmes Simulation of the machining of a workpiece
EP2590142B1 (en) 2011-11-03 2018-03-14 Dassault Systèmes Designing a modeled volume represented by dexels
EP2590144B1 (en) 2011-11-03 2018-10-24 Dassault Systèmes Designing a modeled volume represented by dexels
CN102490081B (en) * 2011-11-14 2013-07-24 华中科技大学 Workpiece three-dimensional surface topography simulating method based on ball head milling

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019179544A (en) * 2018-02-09 2019-10-17 ダッソー システムズDassault Systemes Designing a part manufacturable by milling operations
JP7327943B2 (en) 2018-02-09 2023-08-16 ダッソー システムズ Designing parts that can be manufactured by milling
JP7284468B1 (en) * 2022-06-06 2023-05-31 株式会社コアコンセプト・テクノロジー 3D CAD/CAM system
WO2023238174A1 (en) * 2022-06-06 2023-12-14 株式会社コアコンセプト・テクノロジー 3d cad/cam system

Also Published As

Publication number Publication date
CN105740497B (en) 2021-07-09
JP6787661B2 (en) 2020-11-18
KR20160082481A (en) 2016-07-08
CA2915331A1 (en) 2016-06-30
US20160188770A1 (en) 2016-06-30
EP3040797B1 (en) 2020-10-28
US10140395B2 (en) 2018-11-27
EP3040797A1 (en) 2016-07-06
CN105740497A (en) 2016-07-06

Similar Documents

Publication Publication Date Title
JP6787661B2 (en) Simulation of machining of workpieces
JP7164295B2 (en) Orienting real objects for 3D printing
JP5361793B2 (en) A method for reconstructing the swept volume distance field at the sample point.
CN107067473B (en) Method, device and system for reconstructing 3D modeling object
JP5361785B2 (en) A method for simulating numerically controlled milling using an adaptively sampled distance field
JP6282798B2 (en) Simulation of workpiece machining
JP6356378B2 (en) How to design geometric 3D model objects
JP5805328B2 (en) Method and system for simulating machining of a workpiece with a tool
Zaharescu et al. Topology-adaptive mesh deformation for surface evolution, morphing, and multiview reconstruction
US11100710B2 (en) Extracting a feature tree from a mesh
US20200211279A1 (en) Generation of a structured 3d model from a raw mesh
Aras et al. State-of-the-art in geometric modeling for virtual machining
Chen et al. Haptic rendering based on spatial run-length encoding
Zhang Virtual prototyping with surface reconstruction and freeform geometric modeling using level-set method
Lim et al. Virtual Bloxing–Assembly Rapid Prototyping of Near Net Shapes
Zhang et al. Accuracy and computational complexity analysis of design models created by virtual sculpting
Vyatkin Complex Surface Creation Using Perturbation Functions
Zhang et al. Interactive sketch-based digital prototyping by using the level-set method
Lim et al. Virtual assembly rapid prototyping of near net shapes
Himmelstein et al. Swept Volume Computation of Malformed Objects in PLM

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191029

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200708

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200716

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200929

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201029

R150 Certificate of patent or registration of utility model

Ref document number: 6787661

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250