JP2016126776A - 工作物の機械加工のシミュレート - Google Patents

工作物の機械加工のシミュレート 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
English (en)
Other versions
JP6787661B2 (ja
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/ja
Application granted granted Critical
Publication of JP6787661B2 publication Critical patent/JP6787661B2/ja
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

【課題】工作物の機械加工をシミュレートするための改善された方法およびシステムを提供すること。【解決手段】少なくとも1つの切削部と少なくとも1つの非切削部とを有する切削ツールを用いて、工作物の機械加工をシミュレートするための、コンピュータ実施方法が提供される。該方法は、工作物を表わすデクセルの集合と、切削ツールの軌道と、および各々が切削ツールのそれぞれの切削部又は非切削部を表わすメッシュの集合とを提供するステップ(S10)を含む。該方法は、各デクセルについて、時間(h,t)ダイヤグラムを記述する全ポリラインの端点を各メッシュについて計算するステップ(S20)と、全ポリラインの集合のより低いエンベロープに基づいてデクセルに沿って切削ツールと工作物との衝突をテストするステップ(S30)とを含む。【選択図】図4

Description

本発明は、コンピュータプログラムおよびシステムの分野に関し、より詳細には、工作物の機械加工をシミュレートするための方法、システム、およびプログラムに関する。
オブジェクトの設計、エンジニアリング、および製造に関する市場には、いくつかのシステムおよびプログラムが提供されている。CADはコンピュータ支援設計の頭字語であり、例えば物体を設計するためのソフトウェアソリューションに関する。CAEはコンピュータ支援エンジニアリングの頭字語であり、例えば将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関する。CAMはコンピュータ支援製造の頭字語であり、例えば製造のプロセスおよび動作を定義するためのソフトウェアソリューションに関する。こうしたコンピュータ支援設計システムにおいて、技法の効率に関しては、グラフィカルユーザインターフェース(GUI)が重要な役割を果たす。これらの技法は、製品ライフサイクル管理(PLM)システム内に埋め込むことが可能である。PLMは、拡張された企業の概念全体にわたって、企業が製品データを共有し、共通のプロセスを適用し、製品の出現から寿命の終了まで製品の開発に関する企業知識を活用するための一助となる、ビジネス戦略を指す。
DASSAULT SYSTEMSによって(商標CATIA、ENOVIA、およびDELMIAで)提供されるPLMソリューションは、製品エンジニアリング知識を組織化するエンジニアリングハブ、製造エンジニアリング知識を管理する製造ハブ、ならびに、エンジニアリングハブおよび製造ハブの両方への企業の統合および接続を可能にする企業ハブを提供する。すべてが一緒になって、システムは、動的な知識ベースの製品創出および意思決定支援を可能にするように製品、プロセス、リソースをリンクし、最適化された製品の定義、製造準備、生産、およびサービスを推進するオープンオブジェクトモデルをもたらす。
いくつかのシステムは、デクセル(dexel)の集合(set)を用いたモデル化されたボリュームの表現を可能にする。いくつかの文書では、機械加工シミュレーションまたは対話型彫刻に関してデクセル表現を使用することを特に提案している。
こうした文書の例(例えば、非特許文献1、非特許文献2、非特許文献3、非特許文献4、非特許文献5、非特許文献6、特許文献1、および特許文献2を参照)がある。
GPGPU(GENERAL−PURPOSE COMPUTING ON GRAPHICS PROCESSING UNITS)は、従来は中央処理ユニット(CPU)によって処理されるアプリケーション内の計算を実行するために、通常はコンピュータグラフィック専用の計算を処理するグラフィック処理ユニット(GPU)を使用する技法である。いくつかの論文では、デクセル表現に関して現在のグラフィック処理ユニット(GPU)の計算能力を使用することについて考察している。これらの論文は、特定のメモリモデルに関連付けられたLDNI(LAYERED DEPTH−NORMAL IMAGES)アルゴリズムを使用している。
こうした論文の例(例えば、非特許文献7および非特許文献8を参照)がある。
一般的に衝突検出のためのアルゴリズムは、例えばn個の動的オブジェクトの場合における検出を記述する。多角形の描写に関して、多く衝突検出方法は、例えば2値空間分割又は指向バウンディングボリューム(Oriented Bounding Volumes)などの古典的な幾何学的オブジェクトに基づく。いくつかのアルゴリズムは、CGSによって表現されたソリッド(solid)に関して存在する。CGS構造は、単一のプリミティブ上で実行されるブール(Boolean)演算のシーケンスの結果として、3Dクローズド・ソリッド(closed solid)を記述する。結局、ソリッドは、パラメータ方程式又は陰方程式によってされる。これの描写は、表面間の交差をテストするための多くのアルゴリズムに至る。これらのアプローチは、例えば分析法、ラティス(lattice)法、追跡法、陰方程式など、いくつかのグループに集約される。
こうした論文の例(例えば、非特許文献9、非特許文献10、非特許文献11、非特許文献12、および非特許文献13を参照)がある。
しかし、NCシミュレーション用の衝突検出は、特別である。機械加工シミュレーションの特殊性は、2つに分けられる。その一つは、工作物のジオメトリーは、機械加工プロセスの間中、連続的に展開する。そのもう1つは、動的工具(tool)は、切削部と非切削部、例えば柄(工具の側面)と保持部などを含む。NC機械加工シミュレーション又はより一般的な彫刻シミュレーションの構成において、ほとんどの作成者が、非切削機械加工部と展開する工作物との間での衝突をチェックすることとをほとんど考慮していない。
下記の文献(例えば、非特許文献14、非特許文献15、および非特許文献16を参照)において、衝突を検出する問題は、各衝突テスト間の部品のジオメトリーを更新することによって述べられる。
観察したように、機械加工シミュレーションの歴史は長い。しかし、既存の解決策は、とりわけ、メモリ性能の観点から、シミュレーションの正確性の観点から、および/またはユーザ利用の観点から、効率に欠ける。
図1〜図3は、工作物の機械加工をシミュレートするときに現れる問題を示す。工具位置で衝突のみを検出するアプローチ(これは、非特許文献17参照)では、各工具位置で衝突検出を行う。結果として、工具が1つの位置から次の位置へ移動するとき、何が発生したのかは、無視される。このような欠点に対処するために、工具の軌道(trajectory)は、2つの一連の工具位置間の距離が所定の許容誤差を超えないように、常に全面的に独立して描かれる。これは、膨大なチェック数を必要とすることから、性能面で落ちる傾向にある。図1は、工作物10と工具14の非切削部12との間での誤った衝突を示す。図2は、十分な離散的配置による、工作物10と工具14の非切削部12との間での誤った衝突20の検出を示す。そのような離散的配置はコスト高(その結果として、例えばシミュレーションのビジュアル的な流動性の欠落となる)であり、決して100%安全とすることができない。
いくつかのアプローチでは、工作物が固定したままであることは、機械加工プロセスを扱うとき、材料移動事象が行われず、非現実的であるということを意味することと仮定できる。これらのアプローチは、時間の間じゅうは進展がないと思われる2つのオブジェクト間の衝突を検出する、より一般的なクラスのアルゴリズムに属する。これらのアルゴリズムは、一般的に経路計画問題を解決するために使用される。機械加工シミュレーションの内容において、それらは設計された部分に対して衝突が生じないことをチェックするために使用される。
少数のアプローチでは、先の2つの問題を取扱うことができる。すなわち、これらのアプローチでは、工作物を時間と共に進展するものとみなし、および工具位置のみならず、工具の動きに沿った衝突を検出することを許容することを目的とする。しかし、これらのアプローチでは、工具のジオメトリー(geometry)について制限的な仮定に基づくことができ、および例えば隆起のような膨大(および無限)な数の凸部を必要とするいくつかの工具を破棄することができる。これらのアプローチでは、工具上の窪み又は丸みを特徴とする工具も取扱うことができない。さらに一般的には、これらのアプローチは、凸部間のブーリアン(Boolean)減算から得られる工具を取扱うことができない。凸部の接合によってそのような工具に近似させることは、実際的にパフォーマンスに欠け、および正確性を損なう。図3は、非切削部36との衝突無しに、工作物34を機械加工することができる非凸切削部32を有する切削工具30を示す。見てわかるように、切削工具の形状およびその軌道は、その切削部が常に最初に工作物材料に当たることが保証されているため、衝突は生じない。しかし、これらのアプローチは、(他の見地からのパフォーマンスを通じて)誤って衝突と報告しやすい。
これに関連して、工作物の機械加工をシミュレートするための改良された解決策が、依然として求められている。
米国特許第5710709号明細書 米国特許第7747418号明細書
"A VIRTUAL SCULPTING SYSTEM BASED ON TRIPLE DEXEL MODELS WITH HAPTICS", XIAOBO PENG AND WEIHAN ZHANG, COMPUTER−AIDED DESIGN AND APPLICATIONS, 2009 "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 "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 "SIMULATION OF NC MACHINING BASED ON THE DEXEL MODEL: A CRITICAL ANALYSIS", SABINE STIFFER, THE INTERNATIONAL JOURNAL OF ADVANCED MANUFACTURING TECHNOLOGY, 1995 "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 "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) "Collision detection between geometric models: A survey",Lin,M.andGottschalk,S.Proc.ofIMA Conference on Mathematics of Suurfaces,1998; "Improvement of collision−detection algorithm based on OBB", Journal of Huazhong University of Science and Tecnology, Zhang Qin, Huang Kun, Li Guangming; "Collision detection and analysis in a physically based on simulation", W.Bouma and G.Vaneck,Proceedings Eurographics workshop on animation 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; "Geometric and Solid Modeling";C.M.Hoffmann, Morgan KAUfmann, San Mateo, Califoornia,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 "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 "Commercial software CAMWorks (regsitered 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 Swept Volumes、M.Peternell、H.Pottmann、T.Steiner、H.Zhao、Computer−Aided Design & Applications、Vol.2、No.5、2005年、599〜608ページ Mathematical Analysis and Numerical Methods for Science and Technology、229ページ Adaptive Precision Floating−Point Arithmetic and Fast Robust Predicates for Computational Geometry
本発明では、工作物の機械加工をシミュレートするための改善された方法、システム、およびプログラムを提供すること。
一態様によれば、したがって、少なくとも1つの刃部および少なくとも1つの非刃部を有する切削工具を用いる工作物の機械加工をシミュレートするためのコンピュータ実施方法が提供される。方法は、工作物を表すデクセルの集合であって、各デクセルは、直線と工作物との間の交わりを表す少なくとも1つの線分からなる集合を含む、デクセルの集合と、切削工具の軌道であって、剛体運動である切削工具の軌道と、メッシュの集合であって、各々が、切削工具のそれぞれの刃部または非刃部を表す、メッシュの集合とを提供するステップを含む。次に、方法は、各デクセルについて、各メッシュについて、切削工具の軌道に従って、デクセルの直線とメッシュとの間の交わりの時刻を交わりの高さの関数として記述する、すべてのポリラインの端点を計算するステップを含む。方法は、デクセルに沿って切削工具の工作物との衝突をテストするステップを含む。テストするステップは、すべてのメッシュのすべてのポリラインからなる集合の下側エンベロープに属する位置に対応する高さの値について、その位置が属するポリラインが、非刃部に関連付けられる場合、高さの値が、デクセルの線分に属するかどうかを決定するステップを含む。
方法は、以下のうちの1または複数を含む。
− すべてのポリラインの端点を計算するステップは、各メッシュについて、およびそれぞれのポリラインの各端点について、それぞれのポリラインに関連付けられたメッシュのすべての面分に基づいて、デクセルの直線のそれとの交わりが端点に対応する、切削工具の軌道に従ってメッシュの面分によって掃引された体積の境界面分を決定するステップと、デクセルの直線と決定された境界面分との間の交わりに基づいて、時刻および高さを計算するステップとを含み、
− すべてのポリラインの端点を計算するステップは、各メッシュについて、メッシュの可視部分を決定するステップであって、可視部分は、切削工具の軌道に向かって方向付けられたメッシュの部分である、ステップと、切削工具の軌道に従って、可視部分によって掃引された体積の境界を計算するステップと、次に、それぞれのポリラインの各端点について、デクセルの直線のそれとの交わりが端点に対応する、メッシュの面分によって掃引された体積の境界面分を決定するステップと、時刻および高さを計算するステップとを反復するステップであって、境界面分を決定するステップは、可視部分によって掃引された体積の計算された境界のそれぞれの境界面分を識別することから成る、ステップとをさらに含み、
− すべてのポリラインの端点を計算するステップは、各メッシュについて、可視部分の面分によって掃引された体積に関する隣接性情報を決定するステップであって、各それぞれのポリラインについて、デクセルの直線のそれとの交わりがポリラインの第1の端点に対応する、メッシュの面分によって掃引された体積の境界面分を決定するステップは、幾何学的な計算によって、可視部分によって掃引された体積の計算された境界の第1の面分を決定することから成り、前記第1の面分は、デクセルの直線によって交わられ、デクセルの直線のそれとの交わりがポリラインの第2の端点に対応する、面分によって掃引された体積の境界面分を決定するステップは、隣接性情報に基づいたトポロジ的な伝搬によって、可視部分によって掃引された体積の計算された境界の第2の面分を決定することから成り、前記第2の面分は、デクセルの直線によって交わられる、ステップをさらに含み、ならびに/または
− 反復するステップは、デクセルの集合にわたって並列化され、
− 第1の面分を決定するステップは、デクセルの集合にわたってラスタ化を実施する。
本発明の方法による、少なくとも1つの刃部および少なくとも1つの非刃部を有する切削工具を用いる工作物の機械加工のシミュレーションの細目を含む(例えば、ファイル内に記憶される)データ構造が、さらに提案される。
方法を実行するための命令を記録したメモリに結合されたプロセッサを備えるシステムが、さらに提案される。プロセッサは、超並列処理ユニットである。システムは、命令の実行を起動するのに適した少なくとも1つのGUIを備える。GUIは、GPUを備え、プロセッサは、GPUである。
上述の方法を実行するための命令を含むコンピュータプログラムが、さらに提案される。
上述のコンピュータプログラムを記録したコンピュータ可読記憶媒体が、さらに提案される。
製品を生産/製造するための方法が、さらに提案される。生産方法は、機械加工をシミュレートするための上述の方法が繰り返されるシミュレーションフェーズと、次に、工作物に対する機械加工フェーズとを含む。
本発明の実施形態が、非限定的な例を用いて、また添付の図面を参照して、今から説明される。
機械加工シミュレーションにおける主な問題を示す図である。 機械加工シミュレーションにおける主な問題を示す図である。 機械加工シミュレーションにおける主な問題を示す図である。 方法の例のフローチャートである。 グラフィカルユーザインターフェースの例を示す図である。 クライアントコンピュータシステムの例を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。
図4を参照すると、切削工具を用いる工作物の機械加工をシミュレートするためのコンピュータ実施方法が提供される。方法によって企図される切削工具は、少なくとも1つの刃部と、少なくとも1つの(切削工具が潜在的に−いくぶんかは−衝突する物体となるような、「衝突部分」とも呼ばれる)非刃部とを有する。方法は、工作物を(3Dで)表すデクセルの集合を提供するステップS10を含む(デクセルの集合および/または工作物は、以下では「モデリングされた体積/物体」とも呼ばれる)。定義によって、各デクセルは、直線と工作物(例えば、工作物によって占有される体積)との間の交わりを表す少なくとも1つの線分からなる集合を含む。ここで、デクセルは、工作物の材料が存在する直線上の位置(すなわち、デクセルの線分)に対応する。しかしながら、「デクセル」という用語は、あるいは、いくつかのデクセルが、例えば、最初から、または方法によって、任意の材料/線分を奪われるような、そのような3Dモデルのすべての直線に関連付けられたデータを指すことに留意されたい。これは、単に定義の問題である。S10において提供されるデータは、切削工具の(あるいは、軌道は平面、例えば、平面内の一連の位置、例えば、2.5軸軌道であるが、3D内の、例えば、非平面の)軌道(の細目)も含む。本発明の方法の場合、切削工具の軌道は、剛体運動である(一連の剛体運動から成るより複雑な軌道への一般化、および一連の剛体運動の各々に方法を繰り返すことへの一般化を妨げない)。S10において提供されるデータは、メッシュの集合も含む。各メッシュは、切削工具のそれぞれの刃部または非刃部を表す(したがって、メッシュの集合は、切削工具を表す)。次に、方法は、各デクセルについての(例えば、GPUを用いる)特定の(例えば、並列)処理を含む。これは、各メッシュについて(例えば、方法はメッシュの集合においてループする)、すべてのポリラインの端点を計算するステップS20を含み、ポリラインは、デクセルの直線とメッシュ(すなわち、メッシュの面分−または辺もしくは頂点のことさえある)との間の交わりの時刻を交わりの高さの関数として記述し、計算するステップS20は、S10において提供された切削工具の軌道に従って実行される。これには、デクセルに沿って切削工具(例えば、切削工具の掃引)の工作物との衝突をテストするステップS30が続く(すなわち、切削工具の刃部がデクセルを更新/変更するにつれてのデクセルの変化を考慮して、切削工具−の非刃部−が、デクセルの少なくとも1つの材料線分と衝突する−例えば、時間的にいくつかの点において交わる−かどうかという問いに少なくとも応答する)。特に、テストするステップは、すべてのメッシュのすべてのポリラインからなる集合の下側エンベロープに属する位置に対応する高さの値について、その位置が属するポリラインが、非刃部に関連付けられる場合、高さの値が、デクセルの線分に属するかどうかを決定するステップを含む(したがって、高さのそのような値が存在するかどうかがテストされる)。そのような方法は、工作物の機械加工のシミュレーションを改善する。
特に、本発明の方法は、少なくとも1つの刃部および少なくとも1つの非刃部を有する切削工具を用いて工作物を機械加工するシミュレーションに関し、切削工具は、軌道を辿り(方法は、距離相対時間に関して−任意のスピードが、例えば、任意の一定のスピードが計算において企図されるように、軌道が辿られるスピードに関心がなく)、方法は、切削工具(より具体的には、切削工具の非刃部、したがって、衝突部分)の工作物との衝突を検出する(S20およびS30)。したがって、方法は、工業用機械加工の良好なシミュレーションを可能にする。
さらに、方法は、デクセル表現に基づいており、したがって、それは、(デクセルは離散的で超並列化可能な表現を可能にするので)バッファリングおよび計算に関して軽い。結果として、方法は、流れるようで/滑らかであり、したがって、応答性がよく、それは、ユーザエンドにおいて高く評価される。方法が、さらに、工作物の表現と、軌道を辿る切削工具の表現とを、例えば、機械加工の表現と完全に一緒に表示する場合、そのような表示は、相対的に流れるようで/滑らかであり、断続的ではない。今度は、方法は、さらに、特定のデータ、すなわち、S20において計算されたそれらに基づいて、S30においてテストを実行し、特に、方法は、切削工具の軌道に従って、デクセルの直線とメッシュとの間の交わりの時刻を交わりの高さの関数として記述する、すべてのポリラインの端点を計算する。やはり、これらのデータは、離散的であり、S20において企図されたデータの構造は、計算がデクセルにわたって並列化されることを保証する。したがって、方法は、計算、応答性、およびメモリバッファリングの観点から見て、なおさら効率的である。
さらに、計算されるデータは、特定の意味を有し、それらは、S30において方法によって提案される(離散的な手法と見なされることができる先に言及された先行技術の時間ステップベースの方法とは対照的に、連続関数としての、時間に関する)特定の容易で包括的なテストを可能にする特定の数学的な特性を有する。実際に、方法は、問題がひとたび良好に書かれると、幾何学的な条件を決定することに相当し、そのことは、方法に正しい結果を、したがって、現実的で正しいシミュレーションを出力させる。これらの数学的な特性は、後で詳述される。現段階では、方法は、非凸の切削工具および/または非凸の刃部を有する切削工具についてさえも良好に機能するように、相対的に恣意的な工具を扱うことが可能である(すなわち、シミュレーションは正しい、例えば、より多くの衝突が正しく報告され、および/またはより少ない衝突が誤って報告される)ことに留意されたい。切削工具は、(もちろん、そうであることは可能であるが)回転体であることに制約されない。切削工具は、例えば、空隙を特徴とし、またはラウンドオーバ工具である。より一般的には、切削工具は、凸部分の間のブール減算からもたらされる形状を有する。例えば、方法は、図3の状況において、かなり良好なアニメーションスピードで良好に機能する(すなわち、衝突が誤って報告されない)。切削工具は、例では、コーナ丸めエンドミル、クォータラウンド工具、フライスの集合、または組み合わせフライスである。また、方法の背後の数学は、方法が工具軌道に関して相対的に限定されないように、任意の(一連の)剛体運動の場合にも、それを相対的に良好に機能させる。
したがって、本発明の方法は、工具表現が相対的に恣意的な場合に、および/または工作物の変化が相対的に恣意的な場合に、ロバストで、流れるような/滑らかな、包括的な方法で、工具移動の間の衝突検出を扱う。
本発明の方法は、コンピュータ実施される。方法のステップは、実際に、コンピュータシステムにおいて、コンピュータシステムのみによって、またはグラフィカルユーザ対話(すなわち、ユーザがコンピュータシステムのGUIと対話すること)によって実行される。したがって、コンピュータシステムによって明確に実行されるステップは、完全に自動的に実行される。例では、方法のステップの少なくともいくつかのトリガリングは、ユーザ−コンピュータ対話を通して実行される。特に、提供するステップS10は、S10において提供されるデータをユーザが指定するユーザ対話によって実行される。S10は、実際に、ユーザが機械加工シミュレーションを起動することに対応する。計算するステップS20およびテストするステップS30は、その後、自動的に実行される。必要とされるユーザ−コンピュータ対話のレベルは、予知され、ユーザの望みを実施するために必要なものとバランスが取られる、自動性のレベルに依存する。例では、このレベルは、ユーザ定義され、および/または事前に定められる。
方法のコンピュータ実施の典型的な例は、この目的のために適合されたシステムを用いて方法を実行することである。システムは、メモリおよびグラフィカルユーザインターフェース(GUI)に結合されたプロセッサを備え、メモリは、方法を実行するための命令を含むコンピュータプログラムを記録している。メモリは、データベースも記憶する。メモリは、そのような記憶のために適合され、おそらくはいくつかの物理的な個別部分(例えば、プログラム用に1つ、またおそらくはデータベース用に1つ)を備える、任意のハードウェアである。GUIは、GPUを備える。そのような場合、プロセッサは、GPUである。言い換えると、方法の少なくともステップを、特に、計算するステップS20および/またはテストするステップS30を実行するプロセッサは、GPUである。そのようなシステムは、機械加工をシミュレートするための効率的な工具である。このことは、工作物がデクセルの集合として表される場合には特にそうである。デクセルベースのアルゴリズムは、超並列ハードウェアによく適しているので、それは、現代のグラフィック処理ユニット(GPU)の計算能力を使用して考察すると効率的である。
本発明の方法は、一般に、モデリングされた物体を操作する。モデリングされた物体は、データベース内に記憶されたデータによって定義される任意の物体である。広義には、「モデリングされた物体」という表現は、データ自体も指す。本発明の方法は、モデリングされた物体(例えば、工作物)を、例えば、最初に、工作物(したがって、3Dモデリングされた物体)を定義し、次に、方法によって工作物の機械加工をシミュレートすることによって、設計するためのプロセスの一部である。「3Dモデリングされた物体を設計する」とは、3Dモデリングされた物体を精巧に作成するプロセスの少なくとも一部である、任意のアクションまたは一連のアクションを指す。したがって、方法は、ゼロから3Dモデリングされた物体を作成するステップを含む。あるいは、本発明の方法は、以前に作成された3Dモデリングされた物体を提供するステップと、次に、特に方法によってシミュレートされた機械加工によって、3Dモデリングされた物体を変更するステップとを含む。
システムの種類に従って、モデリングされた物体は、異なる種類のデータによって定義される。システムは、実際には、CADシステム、CAEシステム、CAMシステム、PDMシステム、および/またはPLMシステムの任意の組み合わせである。それらの異なるシステムでは、モデリングされた物体は、対応するデータによって定義される。したがって、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータについて説明する。しかしながら、モデリングされた物体は、これらのシステムの任意の組み合わせに対応するデータによって定義されるので、これらのシステムは、他に対して排他的なものではない。したがって、システムは、以下で提供されるそのようなシステムの定義から明らかなように、CADシステムおよびPLMシステムの両方であろう。
CADシステムによって、CATIAなど、モデリングされた物体のグラフィカル表現に基づいて、モデリングされた物体を少なくとも設計するように適合された、任意のシステムが、意味される。この場合、モデリングされた物体を定義するデータは、モデリングされた物体の表現を可能にするデータを含む。CADシステムは、例えば、辺または直線を使用して、場合によっては、面分または面を用いて、CADのモデリングされた物体の表現を提供する。直線、辺、または面は、様々な方法で、例えば、非一様有理Bスプライン(NURBS)で表現される。具体的には、CADファイルは、それから幾何学的形状が生成される仕様を含み、それが、今度は、表現が生成されることを可能にする。モデリングされた物体の仕様は、単一または複数のCADファイル内に記憶される。CADシステムにおけるモデリングされた物体を表すファイルの典型的なサイズは、部品当たり1メガバイトの範囲内にある。モデリングされた物体は、一般に、数千の部品からなる組立体である。
CADシステムとの関連では、モデリングされた物体は、一般に、例えば、部品もしくは部品の組立体などの製品、または場合によっては、製品の組立体を表す、3Dモデリングされた物体である。「3Dモデリングされた物体」によって、3D表現を可能にするデータによってモデリングされた任意の物体が、意味される。3D表現は、すべての角度から、部品を見ることを可能にする。例えば、3Dモデリングされた物体は、3D表現された場合、自らの軸のいずれかの周りで、または表現が表示されるスクリーン内のいずれかの軸の周りで、操作および回転させられる。これは、特に、3Dモデリングされていない、2Dアイコンを除外する。3D表現の表示は、設計を容易にする(すなわち、統計的に設計者が仕事を達成するスピードを速める)。製品の設計は、製造またはモデリングプロセスの一部であるので、これは、工業における製造プロセスをスピードアップする。
3Dモデリングされた物体は、(例えば、機械)部品もしくは部品の組立体、またはより一般的に、任意の剛体組立体(例えば、移動メカニズム)など、例えば、CADソフトウェアソリューションまたはCADシステムを用いる仮想設計が完了した後で、現実世界で製造される製品の幾何学的形状を表す。CADソフトウェアソリューションは、航空宇宙、建築、建設、消費財、ハイテクデバイス、産業機器、輸送、海上および/もしくは沖合、または輸送を含む、様々な限りない産業分野における、製品の設計を可能にする。本発明の方法によって設計される3Dモデリングされた物体は、したがって、(例えば、自動車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモータ機器、トラックおよびバス、列車を含む)地上車の部品、(例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む)飛行体の部品、(例えば、海軍機器、商船、沖合機器、ヨットおよび作業船、舶用機器を含む)船舶の部品、(例えば、工業製造機械、移動重機械または機器、設置機器、産業機器製品、加工金属製品、タイヤ製造製品を含む)機械部品、(例えば、民生用電子機器、セキュリティおよび/または制御および/または計装製品、コンピューティングおよび通信機器、半導体、医療デバイスおよび機器を含む)電気機械または電子部品、(例えば、家具、住宅および庭製品、レジャー用品、ファッション製品、耐久消費財小売業者製品、非耐久消費財小売業者製品を含む)消費財、(例えば、食品および飲料および煙草、美容およびパーソナルケア、家庭用品パッケージングを含む)パッケージングである、工業製品を表す。
PLMシステムによって、物理的な製造製品を表すモデリングされた物体の管理のために適合された任意のシステムが、意味される。PLMシステムでは、モデリングされた物体は、したがって、物理的な物体の製造に適したデータによって定義される。これらは、一般に、寸法値および/または許容値である。物体の正確な製造のために、そのような値を有することは、実際に、より良いことである。
CAMは、コンピュータ援用製造を表す。CAMソリューションによって、製品の製造データを管理するように適合された、任意のソリューション、ハードウェアのソフトウェアが、意味される。製造データは、一般に、製造する製品、製造プロセス、および必要とされるリソースに関連するデータを含む。CAMソリューションは、製品の全製造プロセスを計画し、最適化するために使用される。例えば、それは、実現可能性、製造プロセスの持続時間、または製造プロセスの特定のステップにおいて使用される、特定のロボットなどの、リソースの数についての情報を、CAMユーザに提供することができ、したがって、管理または必要とされる投資についての決定を可能にする。CAMは、CADプロセスおよび潜在的なCAEプロセスの後の後続プロセスである。そのようなCAMソリューションは、DELMIA(登録商標)という商標の下で、Dassault Systemesによって提供されている。
CAEは、コンピュータ援用エンジニアリングを表す。CAEソリューションによって、モデリングされた物体の物理的挙動の分析のために適合された、任意のソリューション、ソフトウェア、またはハードウェアが、意味される。よく知られた広く使用されているCAE技法は、モデリングされた物体を、物理的挙動が式を通して計算され、シミュレートされることができる要素に分割することを一般に含む、有限要素法(FEM)である。そのようなCAEソリューションは、SIMULIA(登録商標)という商標の下で、Dassault Systemesによって提供されている。別の成長しつつあるCAE技法は、CADの幾何学的形状データを用いない、物理学の異なる分野に属する複数の構成要素から成る複雑なシステムのモデリングおよび分析を含む。CAEソリューションは、シミュレーションを可能にし、したがって、製造する製品の最適化、改良、および検証を可能にする。そのようなCAEソリューションは、DYMOLA(登録商標)という商標の下で、Dassault Systemesによって提供されている。
PDMは、製造データ管理を表す。PDMソリューションによって、特定の製品に関連するすべての種類のデータを管理するように適合された、任意のソリューション、ソフトウェア、またはハードウェアが、意味される。PDMソリューションは、製品のライフサイクルに関わるすべての当事者によって、すなわち、主にエンジニアによって、しかし、プロジェクトマネージャ、財務担当者、販売担当者、および購入者によっても、使用される。PDMソリューションは、一般に、製品指向データベースに基づいている。それは、ユーザが、製品についての一貫したデータを共有することを可能にし、したがって、当事者が、異なるデータを使用することを防止する。そのようなPDMソリューションは、ENOVIA(登録商標)という商標の下で、DASSAULT SYSTEMESによって提供されている。
図5は、システムのGUIの例を示しており、システムは、CADシステムである。
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は、ユーザがグラフィックツールと対話することを可能にするために、触覚デバイスによって制御される。
図6は、システムの例を示しており、システムは、クライアントコンピュータシステム、例えば、ユーザのワークステーションである。
例のクライアントコンピュータは、内部通信バス1000に接続された中央処理装置(CPU)1010と、やはりバスに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータは、バスに接続されたビデオランダムアクセスメモリ1100と関連付けられたグラフィカル処理ユニット(GPU)1110をさらに提供される。ビデオRAM1110は、当技術分野では、フレームバッファとしても知られている。大容量記憶デバイスコントローラ1020は、ハードドライブ1030などの、大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを有形に実施するのに適した大容量メモリデバイスは、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイスと、内蔵ハードディスクおよび着脱可能ディスクなどの磁気ディスクと、光磁気ディスクと、CD−ROMディスク1040とを含む、すべての形態の不揮発性メモリを含む。上記のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補完され、またはそれに組み込まれる。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイスまたはキーボードなどの触覚デバイス1090も含む。カーソル制御デバイスは、ユーザが、ディスプレイ1080上の任意の所望の位置にカーソルを選択的に位置付けることを可能にするために、クライアントコンピュータにおいて使用される。加えて、カーソル制御デバイスは、ユーザが、様々なコマンドを選択すること、および制御信号を入力することを可能にする。カーソル制御デバイスは、システムに入力される制御信号のための数々の信号生成デバイスを含む。典型的には、カーソル制御デバイスは、マウスであり、マウスのボタンが、信号を生成するために使用される。あるいは、または加えて、クライアントコンピュータシステムは、センシティブ/タッチパッド、および/またはセンシティブ/タッチスクリーンを備える。
コンピュータプログラムは、コンピュータによって実行可能な命令を含み、命令は、上述のシステムに方法を実行させるための手段を構成する。プログラムは、システムのメモリを含む、任意のデータ記憶媒体上に記録可能である。プログラムは、例えば、デジタル電子回路で、またはコンピュータハードウェア、ファームウェア、ソフトウェア、もしくはそれらの組み合わせで実施される。プログラムは、装置として、例えば、プログラム可能なプロセッサによる実行のために機械可読記憶デバイス内で有形に実施される製品として実施される。方法ステップは、入力データを操作し、出力を生成することによって、方法の機能を実行するために、命令からなるプログラムを実行する、プログラム可能なプロセッサによって実行される。したがって、プロセッサは、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するように、プログラム可能であり、結合される。アプリケーションプログラムは、高水準手続き型プログラミング言語もしくはオブジェクト指向プログラミング言語で、またはそれが望ましければ、アセンブリ言語もしくは機械語で実施される。いずれの場合も、言語は、コンパイラ言語またはインタープリタ言語である。プログラムは、完全インストールプログラムまたは更新プログラムである。システム上でのプログラムの適用は、いずれの場合も、方法を実行するための命令という結果となる。
さらに、方法の細目(すなわち、S10において提供されたデータ、S20において計算されたデータ、およびS30において決定された結果)は、すべて、例えば、第三者による後の使用のために、例えば、データファイル内に記憶されることに留意されたい。特に、シミュレーティングは、いつでも、再生/再表示される。また、シミュレーションは、例えば、データファイルに基づいて実行される、製品生産/製造プロセスにおいて実施される。そのようなプロセスは、知られているように、機械加工シミュレーションが繰り返されるシミュレーションフェーズと、その後の、シミュレーションの結果に基づいた、(実際の)工作物に対する(実際の)機械加工フェーズとを含む。例えば、衝突が検出された各シミュレーションにおいて、プロセスは、軌道を調整することによって、シミュレーションを繰り返す。図4のシミュレーションが、衝突の深さ(機械加工の分野において重要であることが知られている古典的データ)の容易な計算を可能にすること、したがって、軌道が、そのようなデータに基づいて、効率的に調整されることができることにここで留意されたい。これは、衝突が検出されなくなるまで、および/または満足な軌道が決定されるまで、繰り返されることができる。その後、実際の機械加工が、実行され、保持されたシミュレーションの軌道を再現する。
提供するステップS10が、今から説明される。
方法は、(工作物の)モデリングされた体積を表すデクセルの集合を提供するステップS10を含む。これは、モデリングされた体積の軽い表現を可能にする(言い換えると、モデリングされた体積は、僅かなメモリ空間しか使用せずに表現される)。これは、容易に処理されるモデリングされた体積の表現も可能にする。特に、モデリングされた体積に対する設計操作は、モデリングされた体積がデクセルの集合によって表される場合、デクセルの集合のデータ構造のおかげで、特に効率的に実行される(例えば、並列化される)。言い換えると、この構造は、超並列処理を可能にする。したがって、設計操作は、高い応答性および高いロバスト性でもって実行される。
本発明の方法の場合、デクセル表現は、衝突テストを実行するために、S20およびS30において、さらに明確に依存される。したがって、方法は、デクセル表現の計算上の利点と、シミュレーションにおける現実性についての検討事項とを効率的に結び付ける。
「デクセル」という用語は、(「ピクセル」という用語が、「ピクチャ要素」の簡便表現であるのとまさに同様に)「深さ要素」の簡便表現として知られている。デクセルの概念は、多数の研究論文において言及されている。本発明の方法との関連において、デクセルは、少なくとも1つの線分、すなわち、3D点の対からなる集合を含む。例では、モデリングされた体積は、少なくとも2つの線分からなる集合を含む、少なくとも1つのデクセルを含む。デクセルの線分は、いくつかある場合は、順序付けられ(そのような場合、デクセルはリストである)、または順序付けられない。デクセルの線分は、直線とモデリングされた体積との間の交わりを表す。言い換えると、モデリングされた体積と交わる仮想直線を考えた場合、デクセルは、与えられた直線に由来し、交わりの計算から得られる線分からなる集合である。したがって、デクセルの集合を提供するステップは、例えば、仮想直線を辿り、B−Repまたは他の任意の体積表現によって初期的に表されるモデリングされた体積との交わりを計算することによって、そのような交わりを計算するステップを含む。したがって、デクセルの集合は、モデリングされた体積(すなわち、工作物)を表す。
デクセルの集合は、S10において、コンピュータ実施データとして提供されることに留意することが大切である。したがって、モデリングされた体積のいずれの表現に関しても、上および下で提供される定義は、データ構造の観点からの意味合いを有する。例えば、線分は、例えば、デクセル直線上の高さなどの、3D位置の対(例えば、互いに結び付けられる2つの3D位置)として提供され、また、直線の幾何学(基準点と方向)を用いても提供される。3D位置は、また、参照3Dフレームに関連付けられた3つの座標(例えば、浮動小数点数)のリストとして提供される。デクセルは、線分の集合であり、このことは、定められた構造内で線分が一緒に結び付けられることを暗示する。デクセルの集合のうちのデクセルも、同様に、一緒に結び付けられる。それ自体が少なくとも1つの線分からなる集合を含むデクセルの集合によって工作物を表現することは、工作物の高速な更新ステップS30を可能にする。
デクセルの概念が、デクセルの集合をデクセル構造67として提供するステップS10の例を提示する、図7ないし図9を参照して、今から図説される。
モデリングされた体積を与え、また無限直線を与えた場合、デクセルは、無限直線と(工作物の)モデリングされた体積との間の交わりを表す線分(または区間)からなる集合である。線分からなるこの集合は、各線分の境界点の集合として、メモリ内にキャプチャされる。例えば、基準点/原点(高さが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は、このようにして提供される。
図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を含む。
S10において提供されるデクセルの集合は、トリデクセル構造である。トリデクセル構造は、3つのデクセル構造を含むことによって、一般に、x軸に平行なデクセル構造、y軸に平行なデクセル構造、およびz軸に平行なデクセル構造を含むことによって定義される。方法は、任意の時間に、例えば、計算するステップS20およびテストするステップS30の間に、工作物のグラフィカル表現を表示するステップを含む。表示するステップは、デクセルの集合に基づく。トリデクセル構造は、「ビュー方向」にほとんど依存しないので、良好な表示を提供する。トリデクセル構造は、特に、ユーザが視点を変えた場合に、より正確な表示を提供する。
図10ないし図12は、各々が、同じモデリングされた体積を表すデクセル構造を示している。言い換えると、モデリングされた体積は、図10ないし図12の(例えば、直交した方向を有する)3つのデクセル構造を含む、トリデクセルデータによって定義される。図10は、y軸に沿ったデクセル構造67を示している。図11は、x軸に沿ったデクセル構造68を示している。図12は、z軸に沿ったデクセル構造69を示している。各図において、デクセルの直線は、それぞれの軸に平行である。
本発明の方法のための機械加工シミュレーションの原理は、各デクセルの工具の掃引体積との交わりを計算すること、およびその材料区間をしかるべく切り取ることである。本発明は、少なくとも仮想的に、(1)S20において、工具の刃部との交わりおよび非刃部との交わりを計算することによって、ならびに(2)S30において、これらの交わりを時系列に従って順序付けることによって、1ステップさらに先に進む。次に、刃部が非刃部より前に材料と出会うか、それとも後に出会うかを理解し、実際の衝突のみを報告することが可能である。
S10において提供されるデータは、また、(切削工具の幾何学的形状に対応する)メッシュの集合の形態での切削工具の表現を含む。メッシュは、頂点(3D位置)と、頂点を2つずつ結び付け、メッシュのいわゆる面分(すなわち、辺の最小循環)を形成する辺(例えば、線分)とを有する、任意のグラフ構造を指定する。メッシュは、特に、S20における高速で簡単な計算のための、(主にまたは完全に4辺の−凸−面分からなる)四辺形メッシュ、および(主にまたは完全に3辺の面分からなる)三角形メッシュを含む、凸面分メッシュ−例えば、凸多角形の面分を有するメッシュ−など、異なる種類のうちの1つである。他の精緻化された例では、メッシュは、B−Repなどの、より複雑な構造を有し、「メッシュ」という用語は、そのようなケースでは、最も汎用的な定義で理解される。
(現実世界の工具に対応する)工具モデルは、各立体が刃部または非刃部である、隣接する立体のリストによって定義される。例では、メッシュは、立体の三角分割された境界である。結果として、工具は、S10において、閉じられた自身と交わらないメッシュのリストとして提供される。各メッシュは、工具の刃部または工具の非刃部を表す。刃部を表すメッシュは、例えば、「切削」とラベル付けされ、および/または非刃部を表すメッシュは、例えば、「衝突」とラベル付けされる。工具の2つのメッシュの交わりは、ゼロ体積を有し、すなわち、2つのメッシュは、分離されているか、またはそれらは、接触エリアをモデリングする面分(もしくは面分の重なり)を共有することを意味する。任意の工具の幾何学的形状が、ブール多面体操作を使用することによって、このように表されることができる。そのため、これらの仮定は、方法の一般性を制約しない。
また、S10において、切削工具の軌道が、提供される。方法は、主に3軸軌道について後で説明されるが、より複雑な軌道(例えば、5軸)に拡張されることができる。軌道は、3次元空間における折れ線として提供され、各直線分は、以下では、「基本軌道」と呼ばれる。3軸軌道の直線分に沿って、工具は、平行移動によって移動する。5軸軌道の直線分に沿って、工具は、平行移動によって移動し、加えて、工具の軸が、初期の向きから最終の向きに線形に変化する。しかしながら、S10において提供される軌道を規定する他の任意の方法も、企図されている。
次に、方法は、モデリングされた体積の各デクセルDに対する特定の処理を含む。最初に、方法は、S20において、各メッシュMに関して、シミュレーションのいわゆる「(h,t)図」を形成する、(以下では、L1、L2、L3と呼ばれる)すべてのポリラインの端点を計算する。定義によって、ポリラインは、(h,t)位置を記述し、言い換えると、(例えば、任意の−例えば、恣意的な−原点/基準、および/または任意の−例えば、恣意的な−スケールに基づいた、例えば、上で言及された高さの定義を使用する)デクセルの高さに対応する横座標と、時刻に対応する縦座標とを用いて、2D位置を記述する。方法のどこで与えられるデクセルに対しても、スケールが一貫している(例えば、同じである)限り、任意の高さスケールおよび/または時間スケールが、実施される。より容易な実施のために、同じスケールが、すべてのデクセルに対して実施される。高さスケールに関して、例えば、図10ないし図12のうちの1つなどの、トリデクセル構造の場合、各方向の原点は、同じ方向を有する直線によって支持されるすべてのデクセルについて−その直線に直交する同じ平面上に定義される。必ずしもすべてのこれらのデータが、S20において計算されるわけではなく、((切削/衝突属性情報は別として)さらなるどのような情報も用いずに、単なる整数および/または実数の値の組(すなわち、順序付けられた対)として表される)比較可能な(h,t)位置を有することが必要であるにすぎないことに留意されたい。したがって、後でより詳細に説明される(h,t)図は、またポリラインでさえも、本発明の方法によって処理されるデータが関連付けられる数学的対象として理解されなければならない(特に、S20において計算されるデータは、図のすべてのポリラインの端点を含む)。
さて、ポリラインは、定義によって、切削工具の軌道に従った、それぞれのデクセルDの直線とそれぞれのメッシュとの間の交わりの時刻tを、交わりの高さhの関数として記述する/表す(したがって、ポリラインは、メッシュの集合のうちのそれぞれのメッシュに関連付けられるが、1つのメッシュは、軌道の複雑さと、同じくメッシュの複雑さとに応じて、いくつかのそれぞれのポリラインに関連付けられることに留意されたく、メッシュが凸体積を定義する場合、それは−例えば、平行移動軌道上に−単一のポリラインを生成するが、メッシュが凸体積を定義しない場合、同じ軌道に対して、それは可視部分が接続部分を有するのと同じ数のポリラインを生成することに留意されたい)(上で言及されたように、任意のタイミング/スピード、例えば、一定時間が、軌道について保持され、そのため、接続された完全な線分から各々が成るポリラインを獲得しなければならず、後で詳述される(h,t)図の主な特性は、いずれにせよ、より一般的なケースにも同様に適用されることに留意されたい)。実際に、各メッシュは、軌道に従って仮想的に動かされ、それによって、各デクセルの直線と仮想的に出会う/交わる(交わらない−例えば、メッシュが与えられた直線と決して出会わない−ことは、数学的には−したがって、実施においては−一般性を失うことなく、空/ゼロのポリラインに関連付けられた空の交わりとして理解される)。方法は、すべてのメッシュについて、時刻に対するそのような出会いの高さを仮想的に追跡する。次に、方法は、高さに対する出会いの時刻(追跡されたデータの逆)を仮想的に考える。しかし、方法は、最終的に、S20において、ポリラインの端点のみを計算する。
S20および(すべてのメッシュについて)すべてのポリラインの端点を考えるおかげで、また(h,t)図の特定の性質のおかげで、次に、方法は、S30において、衝突があるかどうかを(依然として各デクセルについて)単純にテストし、それは、衝突がある場合は、衝突の深さ(デクセル直線、およびデクセル直線上における衝突の境界高さ)をさらに提供する。テストするステップS30は、特に、すべてのメッシュのすべてのポリラインからなる集合の下側エンベロープに属する位置に対応する高さの値について、その位置が属するポリラインが非刃部に関連付けられる場合、高さの値が、デクセルの線分に属するか(すなわち、高さの値も、デクセル内に保たれた材料区間内に含まれるか)どうかを決定するステップを含む。((h,t)図の特定の向きに関する、言い換えると、時刻に関する、さらに言い換えると、h軸上への射影に関する、(h,t)図内のポリラインに関する場合の古典的な下側エンベロープの定義では、高さに対するポリラインの最小時刻位置−言い換えると、(h,t)の組−として定義される)すべてのメッシュのすべてのポリラインからなる集合の下側エンベロープは、仮想的に考えられた数学的対象にすぎず、テストするステップは、実際には、そのような対象が計算されることを必要としないことにここで再び留意されたい。ポリラインの2D図における下側エンベロープは、(0,−∞)に座って上方を見上げている観測者によって見られることができるポリラインの一部として定義される2Dオブジェクトでもある。掃引メッシュとデクセルとの間の交わりによって与えられる、(h,t)平面内のポリラインは、区分的線形関数のグラフであることに留意されたい。したがって、時間値に関する下側エンベロープの計算は、古典的な定義の適用にすぎない。実際に、デクセルの線分/区間上の(したがって、空中/空に対応するデクセルの非線分位置とは対照的に、工作物材料に対応する)点は、(時間的に)最初に切削メッシュによって出会われるか、それとも衝突メッシュによって出会われるかをテストされるにすぎない。これは、すべてのポリラインのすべての端点が、集められ、それらのポリラインが対応するメッシュの種類に基づいて、「切削」または「衝突」ラベル/属性にひとたび関連付けられると、(後で説明される(h,t)図の特性のおかげで)上で提供された数学的な便法を用いて容易に行われる。ある意味では、これは、ポリラインの下側エンベロープをデクセル上に射影し、デクセルの各線分の各位置について、衝突ラベルを付された位置が最初に射影されたものかどうかを決定することに相当する(該当する場合は、衝突があるが、それは、その反対の−すなわち、切削ラベルを付された位置が最初に射影された、またはポリライン位置がまったく射影されない−場合は、衝突がなく、刃部との出会いがあり、したがって、材料の除去を行うためであり、または出会いがまったくないためである)。
明らかに、テストS30がひとたび実行されると、例えば、特に、テストの結論が、衝突がないというものである場合、方法は、切削工具の刃部との交わりの位置−すなわち、高さ−(および、例えば、その時刻)に従って、線分またはその部分を除去することによって、デクセルの集合を更新するステップを含む。そのようなデータは、実際には、S20および/またはS30において決定されるデータの一部である。
したがって、方法は、衝突の高速な検出を可能にし、それは、衝突の深さ(衝突の大きさおよび位置)さえ正確に提供することができ、デクセルにわたる超並列化を介して実行されることができる。(ロバストで包括的な衝突検出を提供する)正確な解の問題に取り組むことは、先行技術においては、おそらくは、機械加工の全工程の記述を獲得することは、(計算の観点から見て)複雑すぎると考えられていたために、(機械加工シミュレーションはすでに長年にわたって研究されてきたが)実行されていないことに留意されたい。基本的に、連続問題は、コンピュータ実施ソリューションが理論的に提示する際限のない複雑さのために、当然ながら回避される。しかしながら、方法は、(テストS30をS20において計算された端点、したがって、入力の離散化集合に基づかせて)問題を離散化することによって、正確な解に到達する。しかしながら、離散化は、(先行技術の時系列方法におけるように)時間上ではなく、デクセル上で実行され、このことが、より現実的な解をもたらす。これは、端点を支持する基礎となる図の特定の特性を利用することによって行われる。これは、後で詳述される。さらに、この表現は、超並列計算により適しており、精巧な工作物の離散化の場合であっても良好な性能を可能にする。
例では、方法は、(例えば、立体の三角分割された境界を掃引することによる)掃引体積、および/または掃引表面を(S20内で)計算するために、S10において提供された軌道を利用する。典型的な参考文献(例えば、非特許文献18を参照)が存在する。この概念は、これ以降で詳述される。
3次元空間の部分集合
Figure 2016126776
を与え、点
Figure 2016126776
を与えると、M+Pという表記は、集合MをPに平行移動したものである。正確には、M+P={x+P,x∈M}である。
メッシュMを与え、それぞれ基本軌道の始点および終点である
Figure 2016126776
を与えると、基本軌道に沿ったメッシュMの掃引S(M)は、
Figure 2016126776
によって定義される。
掃引は、直線分[Pstart,Pend]に沿ったMのすべての平行移動の和集合である。先の式において、パラメータt∈[0,1]は、時間の役割を果たす。t=0において、メッシュMは、位置Pstartに平行移動され、それは、M+Pstartと書かれる。t=1において、メッシュMは、位置Pendに平行移動され、それは、M+Pendと書かれる。これは、(明確にするために2Dで)図13に示されている。
計算上の目的で、またロバスト性の目的で(特に、循環ポリラインとは対照的に、利用可能なポリラインを考えるために)、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つの三角柱の、隣接するそのような三角柱から作成される。明確にするために、必ずしもすべての三角形が示されるわけではないことに留意されたい。
方法は、いわゆる(h,t)図を巧みに考える。図18は、軌道(太い矢印)に従って初期位置から終了位置まで(一定のスピードで)掃引された、yz空間内における直線分M(太い直線)を示している。Mの掃引エリアS(M)は、平行四辺形である。
デクセル(垂直線)と関連付けられた(h,t)図が、今から詳述される。(上で説明されたように、実際には、方法によって必ずしも実行される必要がない、(h,t)図を描くための)第1のステップは、デクセル直線と掃引エリアS(M)の境界との間の交点を計算することであり、それは、点P1およびP2を生成する。これらの交点から、デクセル直線上のそれぞれの横座標である、高さh1およびh2が得られる。次に、(例えば、一定)スピードの移動という仮定のおかげで、時刻t1およびt2が、図18に示されるように、しかるべく計算される。計算の数学的操作が、後で詳述される。
今から、デクセルと関連付けられた(h,t)図が、略述される。それは、(3次元工作物および工具用ではあるが)2次元図である。高さ値h1およびh2は、水平h軸上で報告され、時刻値t1およびt2は、垂直t軸上で報告される。これは、図19に示されるように、点(h1,t1)と点(h2,t2)を結合する直線分を定める。
物理的表現は、以下の通りである。時刻t<t1である場合、デクセル直線は、移動する直線分Mと会わない。時刻t=t1である場合、直線分の下側頂点が、高さh1においてデクセル直線と出会う。時刻t=t1から時刻t=t2までは、直線デクセルと移動する直線分Mとの間の交点は、直線デクセルに沿ってP1からP2まで移動する点である。tとhとの間の従属性は、線形である。t>t2である場合、デクセルは、もはや移動する直線分Mと会わない。
明確にするために、以下の説明は、2次元工作物および工具を用いて、詳しく説明される。今から、図20に示される、2D工作物、工具、軌道、デクセルについて考察する。
まさに最初のステップは、デクセル直線と工作物との間の交わりである、初期工作物区間を計算することである。これは、図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を生成する。
高さおよび時刻の先の計算のすべてが、今度は、図26に示されるように、デクセルDの(h,t)図内に集められる。[h0,h9]線分は、デクセル直線と工作物との間の交わりである、いわゆる工作物区間である。それは、h軸上に表される。(h,t)図は、正確な衝突診断が実行されることができるように、時間情報および空間情報をキャプチャする。
(h,t)図は、「切削」または「衝突」とラベル付けされた非垂直の直線分の集合を含む。衝突診断(S30)は、以下のように実施される。工作物区間のすべての点から、t方向に垂直線を描く。そのような各直線が、衝突直線よりも前に切削直線と出会った場合、衝突はない。そうではない場合、衝突がある。例では、切削直線2、3が、衝突直線よりもt方向に関して下側に配置されているので、期待通り、衝突はない。
本発明の方法の衝突診断の簡潔性およびロバスト性をもたらす、(h,t)図の先に言及された特性が、今から説明される。
構成によって、(h,t)図は、「切削」または「衝突」とラベル付けされた(軌道は点軌道を除外した−すなわち、PStart≠PEndである−剛体運動であるという事実によって確保される)非垂直の直線分の集合を含む。これらの直線分は、計算を加速するための有益な特性を特徴とする。第1に、2つの直線分は、図27に示されるものとは異なり、内部点において交差することができない。第2に、2つの直線分は、図28に示されるものとは異なり、端点を共有すること、および重なり合うことができない。これは、刃部の内部と非刃部の内部は、同じ時刻に同じ場所に配置されることができないからである。
結果として、(h,t)図の直線分は、各々が数学的写像
Figure 2016126776
によって定義される、切削ポリラインと衝突ポリラインからなる集合として(より正確には、そのような区分的線形写像のグラフとして)配置されることができる。さらに、任意の2つのポリラインは、内部点において交差することができない。
Figure 2016126776
であれば、Li(h)=+∞であるという規定は、以下における最小値計算を容易にする。
2Dの例は、切削ポリライン
Figure 2016126776
と、切削ポリライン
Figure 2016126776
と、衝突ポリライン
Figure 2016126776
とに中心的役割を演じさせる。
(衝突診断を計算する)S30の例が、今から説明される。この例は、単に1つの可能な実施であるにすぎず、この例の一般的なアイデアは、他の方法でも実施される。
計算の観点から見て、与えられたデクセルDの衝突診断は、例では、以下のように実行される。ポリライン
Figure 2016126776
を与え、デクセルDのすべての工作物区間の和集合Bを与えると、第1のステップは、数
Figure 2016126776
の集合をソートして、リストh1≦h2≦…≦h2nにすることである。この順序付けられたリストは、衝突ポリラインの横座標hjと切削ポリラインの横座標hjとを混ぜ合わせたものであることが理解されなければならない。第2のステップは、すべての衝突区間[hj,hj+1]を、その上方で定義されたより下方のポリラインの種類に応じて、識別することである。次のアルゴリズムは、衝突集合Cを、すべての衝突区間[hj,hj+1]の和集合として計算する。
C:=φ
For j:=1 to 2n−1 do begin
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≠φである場合に限って、衝突が発生する。これは、工作物の材料が、デクセルに沿って、工具の刃部よりも前に工具の非刃部と出会うことを意味する。
図29は、3つのポリライン
Figure 2016126776
についてのアルゴリズムを示している。横座標hj、i=1,…,6のソートされたリストは、
Figure 2016126776
である。結果の衝突集合は、
Figure 2016126776
である。例えば、区間
Figure 2016126776
は、
Figure 2016126776
であるために、またL2が衝突ポリラインであるために、衝突区間である。工作物集合は、示されていない。
2Dの例に戻ると、衝突集合は、工作物区間B=[h0,h9]と出会わない、C=[h6,h2]であり、そのため、デクセルに沿って、衝突はない。
方法によって従われる(少なくとも概念的な)スキームの要約が、これ以降で説明される(方法はむしろポリライン端点のみを計算するにすぎないことに今一度留意されたい)。
工具は、隣接する刃部と非刃部とを含む。各部分は、「メッシュ」と呼ばれる、三角分割された閉じられた境界によってモデリングされる。工作物は、トリデクセル構造によってモデリングされる。物体の掃引は、軌道に沿って平行移動された物体のコピーの和集合である。工具軌道の基本ステップは、2つの連続する位置の間における工具の運動である。一般性を失うことなく、方法は、時間が2つの連続する工具位置の間で線形に変化し、始点は0に等しい時刻であり、終点は1に等しい時刻であると見なす。デクセルと工具掃引との間の交わりを計算する間に、方法は、各工具メッシュがデクセルと交わる時刻も計算する。時刻からなる結果の集合をソートすることによって、方法は、工具部分がデクセル上に保たれた物質区間(物質区間は工作物物質を表すことを想起されたい)と最初に出会うあらゆる場所を決定することが可能である。非刃部が物質と最初に出会う場合、衝突は、報告されない。
例における方法の主要な特徴は、掃引体積の幾何学的形状をもっぱら使用することによって、デクセルとの交わりの時刻を計算することである。この情報は、いわゆる(h,t)図内に集められる。これは、スピードの向上、信頼性の向上、および一般性の向上という結果となる。各基本軌道ステップを精緻化することは、必要とされず、したがって、良好なスピード性能を可能にする。信頼性は、いかなる数値精度値にも依存しない。性能および信頼性は、変位ベクトルの方向に依存しない。一般性:入力メッシュに対して設けられる唯一の仮定は、これらのメッシュは現実の3D立体の境界に近づくはずであるので、ほとんどのケースで検証される。必要である場合は、多くの既存のアルゴリズムが、これらのメッシュを修復するためのプリプロセッサとして、使用されることができる。
より具体的には、例では、(例えば、L1、L2、L3と上で呼ばれた)すべてのポリラインの端点を計算するステップS20は、各メッシュMについて、およびそれぞれのポリラインの各端点について、それぞれのポリラインに関連付けられたメッシュのすべての面分に基づいて、デクセルの直線のそれとの交わりが端点に対応する、切削工具の軌道に従ってメッシュの面分によって掃引された体積S(τ)の境界面分を決定する(S282と呼ばれる)サブステップを含む。(h,t)図の定義、およびそれを形成するポリラインの定義のおかげで、また3D幾何学理論のおかげで、ポリラインの端点は、(それぞれのデクセルの)支持直線と、それぞれのメッシュの面分のうちの1つによって掃引された体積の外側境界との交わりに対応する。図17に関する説明を参照して、メッシュの面分によって掃引された体積S(τ)の「境界面分」について説明する。方法は、すべての潜在的な境界面分のうちで、そのような境界面分を決定する(すべてのそのような境界面分は、必ずしも計算される必要がないことに留意されたい)。次に、例の計算するステップS20は、デクセルの直線と決定された境界面分との間のそのような(幾何学的な)交わりに基づいて、(保持されたスケールに関して)それぞれの端点を定める時刻および高さを計算する(S284と呼ばれる)サブステップを含む。これは、簡単な計算するステップS20を可能にする。実際に、この時刻の計算は、3D交点が同じ三角柱内に保たれる限り、時刻と高さとは線形に変化するので、幾何学的な考察から直接的にもたらされる。
3D直線/三角形の交わりを通して「h」パラメータを計算するこの方法が、例において、今からさらに詳述される。
三角形
Figure 2016126776
および直線
Figure 2016126776
を考える。目標は、直線が三角形と交わるかどうかをテストすることと、交わる場合、デクセルフレームにおける交点の座標を計算することである。特に、これらの座標は、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)によって定義される。
U、V、Wを、三角形Δの頂点とし、U’、V’、W’を、2D三角形Δ’を定義する、平面Q上のそれぞれの射影とする。図31は、Dがz軸に平行である場合の幾何学を示している。
点dが三角形Δ’の内部にある場合に限って、直線Dが三角形Δと出会うことが、現状技術からよく知られている。3つの代数的エリアArea(d,V’,W’)、Area(U’,d,W’)、およびArea(U’,V’,d)のすべてが、同じ符号を有する場合に限って、点dは、三角形Δ’の内部にある。さらに、交点D∩Δの高さhは、
Figure 2016126776
であり、ここで、hu、hv、hwは、それぞれ、直線Dに沿った点U、V、Wの高さである。
最後に、点D∩Δの3D座標は、平面Q内におけるDの2D座標をhと一緒に組み合わせることによって知られる。Dがz軸に平行である場合、D∩Δ=(xD,yD,h)である。Dがy軸に平行である場合、D∩Δ=(xD,h,zD)である。Dがx軸に平行である場合、D∩Δ=(h,yD,zD)である。
「t」パラメータを計算するこの方法が、例において、今から説明される。
三角形
Figure 2016126776
Figure 2016126776
から
Figure 2016126776
まで平行移動される状況について考える。Tを、(非退化三角柱である)対応する掃引体積であるとする。
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
のように一意的に表される。
ベクトルe1、e2、e3は、正規化されておらず、それらは、互いに直交しないことに留意されたい。
点Pの座標を与えると、数r、s、tは、1次連立方程式
Figure 2016126776
を解くことによって計算されることができる。
数tは、三角形τがPstartからPendまで移動するときに、時間の役割を果たす。t=0である場合、点Pは、τstartに属し、t=1である場合、点Pは、τendに属し、0<t<1である場合、点Pは、中間三角形τ+(tPend+(1−t)Pstart)に属する。
3次元幾何学の(h,t)図への一般化が、今から説明される。
三角柱は、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である。
データ構造は、例では、D∩T内に点が存在するのと、またDとの非空の交わりを特徴とする三角柱Tが存在するのと同数の(h,t)パラメータをデクセルDと関連付ける。例では、ポリラインの端点のみが保持され、または最初に計算されさえする。
図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と関連付ける。
図31ないし図34を参照して設計された例示的な計算の5軸軌道への一般化が、今から説明される。
平行移動によって定義される基本軌道のための方法は、回転を含む剛体運動によって定義される基本軌道に一般化されることができる。これは、回転の角度値が十分に小さいならば、なおさらそうである。以下は、この状況において、(h,t)パラメータをどのように計算するかを説明する。
τ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ベクトルを示している。
(h,t)パラメータの計算は、直線デクセルを各四面体の各境界面分と交わらせることによって、また式(1)および式(2)を使用することによって実行される。(h,t)図のポリラインが、しかるべく生成される。
上の説明は、方法の態様についての一般的な詳細、方法の背後にある一般的な直感(すなわち、(h,t)図)についての詳細、および(例えば、特に1つのデクセルと1つの三角柱との間の交わりを詳細に説明する)幾何学的な交わりを介してポリラインの端点を取得するために方法によって実行されるいくつかの計算の例を提供する。しかしながら、現実の機械加工シミュレーションは、膨大な数のデクセルおよび三角形を含み、計算時間を重大な問題にする。以下は、デクセルがどのように配置されるか、および(隣接三角形を掃引することによって引き起こされる)三角柱のトポロジ的な隣接性が、計算を加速するために、どのように使用されるかについての方法の例を説明する。
この例では、(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+)を形成するものとの間の交わりに対応する。したがって、例の方法は、問題の幾何学的な特性を巧みに使用して、効率を向上させる。
例の計算するステップS20は、(明らかに)各メッシュMについて、可視部分の面分によって掃引された体積に関する隣接性情報を決定するサブステップS26をさらに含む。この情報は、面分によって掃引されたどの体積(例えば、三角柱および/または四面体)が隣接するかを示す任意の種類の情報である。これは、メッシュのトポロジに基づいて、メッシュ内の面分の隣接性および/または接続性情報に基づいて、単純な方法で実行される。このトポロジ情報は、それにもかかわらず、大きなスピード効率を可能にする。
実際に、各それぞれのポリラインについて、次に、計算するステップS20は、計算された境界∂S(M+)の「第1の」(または「入口」)面分と、計算された境界∂S(M+)の「第2の」(または「出口」)面分とを、異なる方法で決定するサブステップS282を含む。それぞれのポリラインの端は、一般に、定義によって、2つの3D点(すなわち、同じデクセル直線と計算された境界∂S(M+)の2つの要素との間の交わりにおけるそれら)に対応する。さて、例において実施される反復するサブステップS28において、方法は、そのような境界面分を対で(すなわち、デクセル直線が掃引体積に、例えば、入る「第1の面分」と、デクセル直線が掃引体積から、例えば、出る「第2の面分」とを)考える。順序付け(「第1」と「第2」、「入る」と「出る」)は、純粋に恣意的であり、実施に依存する。
問題なのは、そのようなすべての面分を力ずくで識別することの代わりに、方法が、第1の面分を決定する/見つけるたびに、それに関連付けられた面分(すなわち、「第2の面分」)を見つけるために、いわゆる「トポロジ的な伝搬」を実施することである。具体的には、ポリラインの端点に関連付けられた体積S(τ)の境界面分を決定するサブステップS282は、幾何学的な計算(したがって、図31ないし図37を参照して先に説明された第1の計算ステップなど、通常の3Dの交わりおよび相対的に重い計算)によって、デクセルの直線によって交わられる計算された境界∂S(M+)の第1の面分を決定することから成る。しかし、反復するサブステップS28の間の交替では、同じポリラインの他方の端点に関連付けられた体積S(τ)の境界面分を決定するサブステップS282は、隣接性情報に基づいた(したがって、相対的に非常に高速な方法での)トポロジ的な伝搬によって、デクセルの直線によって交わられる計算された境界∂S(M+)の第2の面分(言い換えると、デクセルの直線は、点の2以上の対において、したがって、おそらくは2以上のそのような対またはそのインスタンスにおいて、∂S(M+)と交わるので、対のうちの第1の面分に関連付けられた面分)を決定することから成る。
このトポロジ的な伝搬の特徴が、今からさらに詳述される。
デクセル−三角形の交わりを計算するステップは、例では、以下のように実行される。Mを、初期メッシュとし、PstartおよびPendを、それぞれ、基本軌道の始点および終点とする。M+を、基本軌道に向かって方向付けられたMの部分とし、E+を、M+の境界とする。一般性を失うことなく、M+は接続された集合であると仮定する。本質的に、E+は、3次元の閉じられたポリラインである。図38は、状況を例示している。
今から、方向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によって共有される辺の押し出しである。
これらの隣接性特性は、適切なトポロジデータ構造を通してキャプチャされる。それらは、伝搬アルゴリズムによって集中的に使用される。第1のステップは、Dと∂S(M+)との間の交点を計算することである。交わりが発生する面分f0∈∂S(M+)が、トポロジ的な伝搬を開始する。次に、Dと交わらされるS(M+)の次の三角柱が、f0の近傍を訪れることによって見つけられる。これは、図39の図のラベルAとラベルBとの間で実行される。
伝搬は、S(M+)の境界上にある点を計算したときに終了する。アルゴリズムは、M+が接続された集合ではない、一般的なケースにおけるように、DとS(M+)の境界面分との間の別の交点をサーチすることによって続行する。この伝搬方法によれば、交点から計算されるh値は、まったく自然にソートされており、そのことが、効率を向上されることに留意されたい。(すなわち、h値に対していかなるソートも行わずに)この特性は、(h,t)図を構築するために使用される。
以下から、トポロジ的な伝搬の中核が、説明される。それは、図40の図のラベルAとラベルBとの間で行われる。主として、面分f0に境界付けする、または面分f0を生み出す、境界付け辺l0が識別され、l0またはf0に関連する適切な三角形τ∈M+も識別される。次の三角柱は、三角形τによって生み出されたものである。プロセスは、図40の図において説明されるように、面分f0の自然な平行四辺形対三角形に依存する。
アルゴリズムが、図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+)から出るので、伝搬は終了する。
アルゴリズムが、別の状況において例示される。図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の面分との間の他の交点を計算する。
Dと交わるp2の面分f2はS(M+)の境界面分であり、そのため、デクセルDは局所的にS(M+)から出るので、伝搬は終了する。
ここで、さらなる改良として、第1の面分を決定するサブステップS282は、デクセルの集合にわたって、ラスタ化を実施する。言い換えると、第1の面分を決定するサブステップS282は、2Dグリッドの要素と見なされるデクセルにわたる、∂S(M+)のすべての要素のラスタ化によって提供される。デクセルは、2Dグリッドの要素と見なされる(グリッドに直交する平面において、デクセルはピクセルにたとえられる2D位置である)。
各x、y、z方向のデクセルは、nm個のデクセルからなる隣接する長方形グループに配置される。実施は、n=m=8が良好な性能を与えることを示す。各デクセルグループは、その境界付けボックスと関連付けられる。どのデクセルが与えられた三角柱と交わるかをサーチすることは、境界付けボックスが三角柱と出会わないデクセルのグループを最初に排除することによって、フィルタリングされる。
上述の例は、明らかな変更も企図されるので、本発明の方法の範囲を限定しないことに留意されたい。特に、上述の説明は、(交わりが常に3D位置と見なされた、デクセル直線と境界面分との間の)「クリーン」な3D交わりを常に提示した。しかしながら、デクセル直線が境界面分と交わって、(点ではなく)交わり線分/直線を形成する場合、デクセルが1つの境界面分と交わらず、いくつかの境界面分とそれらの間の境界において(2つの面分の間の直線において、または例えば、3以上の面分の間の点においてさえも)交わる場合を含む、極端な場合に対する明らかな適合は、すべて、本発明の方法によって企図されることが理解されよう。方法は、例えば、いわゆる正確な述語に依存することによって、これらの退化ケースに対処し(非特許文献20を参照)、それは、ロバスト性および効率を保証する。(例えば、特定の軌道のせいで)同じ境界面分と複数回交わるデクセル直線の扱いなど、すべての特定の明らかな実施も、方法によって企図される。

Claims (12)

  1. 少なくとも1つの切削部と少なくとも1つの非切削部とを有する切削ツールを用いて、工作物の機械加工をシミュレートするための、コンピュータ実施方法であって、
    −前記工作物を表わすデクセルの集合であって、各デクセルは線と前記工作物との間の交差を表わす少なくとも1つの線分(segment)の集合を含む、該デクセルの集合と、
    −精密な動きである、前記切削ツールの軌道と、
    −メッシュ(M)の集合であって、各々が前記切削ツールのそれぞれの切削部又は非切削部を表わす、該メッシュ(M)の集合と
    を提供するステップ(S10)と、
    各デクセル(D)について、
    前記切削ツールの軌道に従って、前記デクセル(D)の線と交差の高さ(h)の関数としてのメッシュとの間の交差の時間(t)を記述する全ポリライン(L,L,L)の端点を各メッシュ(M)について計算するステップ(S20)と、
    前記デクセルに沿って前記切削ツールと前記工作物との衝突をテストするステップ(S30)であって、前記テストは、全メッシュの全ポリラインの集合のより低いエンベロープに属する位置に対応する高さ値について、前記位置に属する前記ポリラインが非切削部に関連付けられているか否かを決定するステップを含み、前記高さの値は前記デクセルの線分に属する、該テストするステップ(S30)と
    を備えたことを特徴とするコンピュータ実施方法。
  2. 前記全ポリライン(L,L,L)の前記端点を計算するステップ(S20)は、各メッシュ(M)についておよびそれぞれのポリラインの各端点について、
    前記それぞれのポリラインに関連付けられた前記メッシュの全ての面に基づいて、前記端点に対応する前記デクセルの前記線の交差を伴った、前記切削ツールの前記軌道に従って、前記メッシュの面によって掃引された体積(S(τ))の境界面を決定するステップ(S282)と、
    前記デクセルの前記線と前記決定された境界面との間の交差に基づいて、時間と高さを計算するステップ(S284)と
    を備えたことを特徴とする請求項1記載のコンピュータ実施方法。
  3. 前記全ポリライン(L,L,L)の前記端点を計算するステップ(S20)は、各メッシュ(M)について、
    前記メッシュ(M)の可視部を決定するステップ(S22)であって、前記可視部は前記切削ツールの軌道の方向へ向かった前記メッシュの部分である、該決定するステップ(S22)と、
    前記切削ツールの前記軌道に従って、前記可視部によって掃引される体積゜(S(M))の境界(∂S(M))を計算するステップ(S24)と、
    前記端点に対応する前記デクセルの前記線の交差を伴った、前記メッシュの面によって掃引された体積゜(S(τ))の境界面を決定する前記ステップ(S282)および時間と高さを計算する前記ステップ(S284)を、それぞれのポリラインの各端点について、繰返して行うステップ(28)であって、前記境界面を決定する前記ステップ(S282)は、前記可視部によって掃引されるボリューム(S(M))の前記計算された境界(∂S(M))のそれぞれの境界面を識別するステップからなる、該繰返して行うステップ(28)と
    をさらに備えたことを特徴とする請求項2記載のコンピュータ実施方法。
  4. 前記全ポリライン(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記載のコンピュータ実施方法。
  5. 前記繰返して行うステップ(28)は、前記デクセルの集合上で並列化されることを特徴とする請求項4記載のコンピュータ実施方法。
  6. 前記第1の面を決定するステップ(282)は、前記デクセルの集合上でラスタライゼーションを実行することを特徴とする請求項5記載のコンピュータ実施方法。
  7. 製品を生産するための方法であって、該方法は、請求項1ないし6のいずれかの機械加工をシミュレートするための方法が繰返され、およびこれにより工作物上で機械加工フェーズが実行されるシミュレーションフェーズを含む、ことを特徴とする方法。
  8. 請求項1ないし6のいずれかの方法に対応した、少なくとも1つの切削部と少なくとも1つの非切削部とを有する切削ツールを用いて、工作物の機械加工のシミュレーションの仕様を含むデータ構造。
  9. 請求項1ないし6のいずれかの方法を実行するための命令が記録されたメモリに結合されたプロセッサを備えたシステム。
  10. 前記プロセッサは、グラフィカル・プロセッシング・ユニットであることを特徴とする請求項9記載のシステム。
  11. 請求項1ないし6のいずれかの方法を実行するための命令を含むコンピュータプログラム。
  12. 請求項11のコンピュータプログラムが記録されたコンピュータ読取可能記憶媒体。
JP2015244168A 2014-12-31 2015-12-15 工作物の機械加工のシミュレート Active JP6787661B2 (ja)

Applications Claiming Priority (2)

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

Publications (2)

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

Family

ID=52432623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015244168A Active JP6787661B2 (ja) 2014-12-31 2015-12-15 工作物の機械加工のシミュレート

Country Status (6)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019179544A (ja) * 2018-02-09 2019-10-17 ダッソー システムズDassault Systemes フライス作業によって製造可能な部品の設計
JP7284468B1 (ja) * 2022-06-06 2023-05-31 株式会社コアコンセプト・テクノロジー 3次元cad/camシステム

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2590143B1 (en) 2011-11-03 2018-10-24 Dassault Systèmes Simulation of the machining of a workpiece
EP2590144B1 (en) 2011-11-03 2018-10-24 Dassault Systèmes Designing a modeled volume represented by dexels
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 (de) * 2016-03-16 2021-07-14 Siemens Aktiengesellschaft Verfahren zur bearbeitung eines werkstücks in einer werkzeugmaschine mit optimierter bearbeitungszeit
IL247245B (en) 2016-08-11 2019-01-31 Technion Res & Dev Foundation Systems and methods for printing 3D models
KR20190093552A (ko) * 2016-08-12 2019-08-09 지멘스 코포레이션 그래픽스 프로세싱 유닛(gpu)들을 사용한 고분해능 격자 구조들에 대한 컴퓨터 보조 설계
EP3293648B1 (en) * 2016-09-12 2024-04-03 Dassault Systèmes Representation of a skeleton of a mechanical part
WO2018053637A1 (en) * 2016-09-22 2018-03-29 The University Of British Columbia Geometric modelling for facilitating simulation for manufacturing operations
CN108345503A (zh) * 2018-01-18 2018-07-31 杭州电子科技大学 基于cpu-gpu的b样条曲面并行刀轨规划方法
JP6777672B2 (ja) * 2018-04-03 2020-10-28 Dmg森精機株式会社 情報処理装置、情報処理方法および情報処理プログラム
EP4224354A1 (en) * 2018-11-09 2023-08-09 Autodesk, Inc. Aligning smooth boundary curves of height layers for 2.5-axis subtractive manufacturing
EP4350635A3 (en) * 2018-12-26 2024-06-26 Dassault Systèmes Designing a mechanical part
TWI716849B (zh) 2019-04-10 2021-01-21 財團法人工業技術研究院 預先檢測加工路徑碰撞方法及系統
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 (zh) * 2023-03-15 2023-06-02 中国空气动力研究与发展中心高速空气动力研究所 级间分离试验中基于虚拟样机的特种机构碰撞预测方法
CN116493681A (zh) * 2023-03-17 2023-07-28 西安钧诚精密制造有限公司 一种壳体内圆的切削控制系统及切削装置
CN116740317B (zh) * 2023-08-14 2023-11-03 济南邦德激光股份有限公司 一种用于激光数控的三维仿真可视化展示方法及设备
CN118081477A (zh) * 2024-04-28 2024-05-28 通用技术集团机床工程研究院有限公司 工件加工方法及装置

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 (de) 1998-10-08 2000-04-13 Open Mind Software Technologie Verfahren zum Steuern der Arbeitsbewegung eines Werkzeugs zur materialabtragenden Bearbeitung eines Materialblocks
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 (de) 2001-09-12 2014-07-31 Siemens Aktiengesellschaft Visualisierung von Werkstücken bei der Simulation von Fräsprozessen
EP1638459A2 (en) 2003-06-11 2006-03-29 Case Western Reserve University Computer-aided-design of skeletal implants
DE10330831A1 (de) 2003-07-08 2005-02-10 Mtu Aero Engines Gmbh Fräsverfahren zur Fertigung von Bauteilen
KR100517880B1 (ko) 2003-11-20 2005-09-28 학교법인 포항공과대학교 Cnc 가공에서 생산시간 단축과 가공 정밀도 향상을위한 이송속도 스케줄링 방법
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 (de) 2007-12-11 2009-06-18 Mtu Aero Engines Gmbh Tauchfräsverfahren
JP5073065B2 (ja) 2009-01-15 2012-11-14 三菱電機株式会社 衝突判定装置および衝突判定プログラム
CN101537585B (zh) * 2009-03-26 2012-04-25 山东理工大学 产品的数控加工实时切削仿真方法
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
US20120221300A1 (en) 2009-10-06 2012-08-30 Pécsi Tudományegyetem Method, computer system and computer program product for machining simulation and for visually presenting such simulation
WO2011058618A1 (ja) 2009-11-10 2011-05-19 三菱重工業株式会社 ワーク計測装置、衝突防止装置および工作機械
US20130030781A1 (en) 2010-04-07 2013-01-31 Mitsubishi Electric Corporation Processing stimulation method, device for the same, and program for causing a computer to execute the method
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
EP2590143B1 (en) * 2011-11-03 2018-10-24 Dassault Systèmes Simulation of the machining of a workpiece
CN102490081B (zh) * 2011-11-14 2013-07-24 华中科技大学 基于球头铣削加工的工件三维表面形貌的仿真方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019179544A (ja) * 2018-02-09 2019-10-17 ダッソー システムズDassault Systemes フライス作業によって製造可能な部品の設計
JP7327943B2 (ja) 2018-02-09 2023-08-16 ダッソー システムズ フライス作業によって製造可能な部品の設計
JP7284468B1 (ja) * 2022-06-06 2023-05-31 株式会社コアコンセプト・テクノロジー 3次元cad/camシステム
WO2023238174A1 (ja) * 2022-06-06 2023-12-14 株式会社コアコンセプト・テクノロジー 3次元cad/camシステム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6787661B2 (ja) 工作物の機械加工のシミュレート
JP7164295B2 (ja) 3dプリンティングのための現実の物体の向き付け
JP5361793B2 (ja) サンプル点において掃引容積の距離場を再構成する方法
CN107067473B (zh) 用于对3d建模对象进行重构的方法、装置及系统
JP5361785B2 (ja) 適応的にサンプリングされる距離場を用いて数値制御フライス加工をシミュレートするための方法
JP6282798B2 (ja) 工作物の機械加工のシミュレーション
JP6356378B2 (ja) 幾何学的三次元モデルオブジェクトを設計する方法
JP5805328B2 (ja) 工具による工作物の機械加工をシミュレートする方法及びシステム
Zaharescu et al. Topology-adaptive mesh deformation for surface evolution, morphing, and multiview reconstruction
US11100710B2 (en) Extracting a feature tree from a mesh
US11195330B2 (en) Generation of a structured 3D model from a raw mesh
Chen et al. Haptic rendering based on spatial run-length encoding
Aras et al. State-of-the-art in geometric modeling for virtual machining
JP7505880B2 (ja) 生メッシュからの構造化3dモデルの生成
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