JP4857012B2 - いくつかの面を有するモデル化されたオブジェクトのコンピュータ支援設計(cad)の方法 - Google Patents

いくつかの面を有するモデル化されたオブジェクトのコンピュータ支援設計(cad)の方法 Download PDF

Info

Publication number
JP4857012B2
JP4857012B2 JP2006107993A JP2006107993A JP4857012B2 JP 4857012 B2 JP4857012 B2 JP 4857012B2 JP 2006107993 A JP2006107993 A JP 2006107993A JP 2006107993 A JP2006107993 A JP 2006107993A JP 4857012 B2 JP4857012 B2 JP 4857012B2
Authority
JP
Japan
Prior art keywords
boundary
zone
determining
zones
points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006107993A
Other languages
English (en)
Other versions
JP2006294036A (ja
Inventor
マイユ ジョラン
ロラート レミー
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 JP2006294036A publication Critical patent/JP2006294036A/ja
Application granted granted Critical
Publication of JP4857012B2 publication Critical patent/JP4857012B2/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/919Designing, planning, programming, CAD, CASE
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/919Designing, planning, programming, CAD, CASE
    • Y10S706/92Simulation
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use
    • Y10S715/964CAD or CAM, e.g. interactive design tools

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)
  • Architecture (AREA)

Description

本発明は、コンピュータプログラムおよびシステムの分野に関し、より詳細には、コンピュータ支援設計(CAD)システム、およびコンピュータ支援製造(CAM)の分野に関する。
CATIA(登録商標)という登録商標の下、本件特許出願人によって提供されている製品など、多くのシステムおよびプログラムが、部品の設計、または部品の組み立て分野の業界に提供されている。これらの、いわゆるコンピュータ支援設計(CAD)システムにより、ユーザは、複雑な3次元(3D)のオブジェクトのモデリング、またはオブジェクトの組み立てを、構築し、および操作することができる。CADシステムは、ある場合には面(face)とともに、エッジ(edge)または線(line)を使用して、モデル化されたオブジェクトの表現を提供する。線またはエッジを、様々な方法、例えば、NURBS(Non-Uniform Rational B-Spline:非一様有理Bスプライン)で表現することができる。これらのCADシステムは、部品または部品の組み立てを、モデル化されたオブジェクトとして制御し、オブジェクトは主として形状の設計書である。具体的には、CADのファイルは、設計書を含み、そこから形状が生成される。形状から、表現が生成される。設計書、形状、および表現を、一つのCADファイル、または複数のCADファイルに格納することができる。CADシステムは、設計者向けの、モデル化されたオブジェクトを表現するグラフィックツールを含む。これらのツールは、複雑なオブジェクトの表示のために設けられている。CADシステムにおいてオブジェクトを表現するファイルの典型的な大きさは、一部分は、メガバイトの範囲まで拡張する。組み立ては、何千もの部品を備えることができる。CADシステムは、オブジェクトのモデルを制御し、それらを電子ファイルに格納する。
特開平2−7174号公報
言うまでもなく、CADシステムの支援で設計される、モデル化されたオブジェクトは、少なくともあるアプリケーションにとっては、最終の組立製品にできるだけ厳密に似ていることを狙いとする。
例えば、製品/部品を成型する分野においては、ユース(use)は、場合によっては、はっきりとしたエッジによって分けられた連続的な面と考えられる型(mold)でできている。実際のエッジ(例えば、実際の型のエッジ)は、完全にはっきりとしたエッジではなく、むしろ若干ラウンド(round)またはフィレット(fillet)の断面(section)を示す。したがって、そのような特徴が、対応する理論上のモデルにおいて無視される場合、成型のために必要な原材料の量は、理論上のモデルから期待したものとは若干異なる。言うまでもなく、実際のオブジェクトとモデル化されたオブジェクトとが全体的に一致するかということに焦点を当てる限り、そのような細部は重要ではないと分かるだろう。しかし、このことが重要になるのは、大量/連続的な生産を考慮する場合であり、その場合には、生産に必要な原材料の、理論上の量と実際の量の差異は、例えば、一年という期間では相当なものとなる。単純な例として、エッジの長さがLの立方体のモデル化された製品の大量生産を考えよう。実際の成型とともに生じる、立方体の12個のエッジのラウンド操作(“ベバリング(beveling)”と呼ばれることがある)は、rが接触円の半径である、3Lr2(4−π)の体積を取り除くことに等しい。例えば、r=L/10と考えると、完全な立方体の体積と最終製品の体積との間の差異は、約2.6%になる。このため、人々は、“実際の”最終製品の特徴をできるだけ忠実に予測することは必要であり、予測を改善するべきであるということを理解する。言い換えれば、理論上のモデルと実際のモデルとの間の一致点を改善することは必要である。この点において、および特定のアプリケーションソフトについては、例えば、製造可能性または審美的な理由において、CADユーザは時々、理論上の型または製品のはっきりとしたエッジを、ラウンドされたエッジに置き換えなければならない。
このことを達成するため、伝統的なモデリングのやり方は、製品のエッジの、フィレットのような断面(例えば、凹状のエッジに適用する半径)、またはラウンドのような断面(例えば、全ての凸状のエッジに適用する半径)を一つずつ作成することである。図1で説明するように、ワークボディ10は、フィレットのような断面12(以後、“フィレット(fillet)”と言及する)、および/またはラウンドのような断面14(以後、“ラウンド(round)”)を示す。
図2は、ワークボディ10のラウンド14およびフィレット12の典型的な設計方法の結果を、一つずつの処理として示す。このような処理にしたがって、ラウンドおよび/またはフィレットを作成することが、すぐに非常に複雑になってしまうのは、モデリングをする要素の数が増える場合である。ユーザは、方法の特定の手順を遵守しなければならないが、その方法は、モデル化されたオブジェクトごとに変わる可能性がある。遵守しなければ、ラウンドまたはフィレットの設計は失敗するだろう。モデル化されたオブジェクトの複雑さ(複数のエッジ、コーナ(corner)など)は、さらなる失敗要素になる可能性がある。具体的には、エッジが干渉する(collide)ところ(コーナ、ハードゾーン(hard zone)など)のラウンドまたはフィレットのモデリングは、苦労するところである。さらに、伝統的なフィレットの処理は、各操作間の有効な閉鎖的形状で作られるモデルを(使用されているアルゴリズムの内部制約により)制約する。こういった制約により、手動のフィレットまたはラウンドは失敗に至ることが多い。それを避けるために、はっきりとしたエッジを修正する必要のあるフィレットまたはラウンドの作成順序を決定するために、ユーザは膨大な量の時間を費やさなければならない。
したがって、製品のサーフェス(surface)の品質の高い設計を効率的に行えるように改善する解決策への要求、具体的には、ラウンドおよび/またはフィレットの処理を改善する解決策への要求が存在する。
この目的のために、本発明は、いくつかの面を有するモデル化されたオブジェクトのコンピュータ支援設計(CAD)の方法を提案する。その方法は、以下の方法を備える。
−各々の面について、幾何学的な基準にしたがって、その面に関連する少なくとも他の面を識別すること。
−各々の面のテッサレート(tessellate)された表現を形成する複数の点を計算すること。
−各々の面について、
その面のテッサレートされた表現の各々の点について、
その点に接する3次元の幾何学図形とその面に関する面として識別される他の面との間のインターセクションを表すデータを決定し、および格納すること。
−各々格納されたデータにしたがって、点と点との間の境界(frontier)を計算すること。
−計算された境界にしたがって、ゾーン(zone)を決定すること。
−決定されたゾーンにしたがって、新たな面を計算すること。
他の実施形態では、本発明による処理は、一又は複数の以下の特徴を備えることが可能である。
−計算される、テッサレートされた表現を形成する複数の点の各々の点は、テッサレーション(tessellation)の多角形の頂点(vertex)である。
−境界を計算する方法は、頂点を結ぶ線分(segment)上の境界点(frontier point)を、それぞれ、インターセクションおよび非インターセクションを示す、格納されたデータを用いて決定することを備える。
−境界を計算する方法は、境界点を計算する前に、頂点を有する多角形を、それぞれ、インターセクションおよび非インターセクションを示す、格納されたデータを用いて細分(subdivide)することを備える。
−そのデータは、図形と他の面との間のインターセクションの量を表す。
−その方法は、処理されない面をユーザが選択する方法、および処理される面からこの面を取り去る方法をさらに備える。
−その方法は、取り去られた面に隣接する面を外挿する(extrapolate)方法をさらに備える。
−幾何学的な基準は、少なくとも、関連する面として識別される面の外角が、180.5度から360度の間にあることを備える。
−インターセクションを表すデータを決定し、および格納する方法は、ユーザによって選択される面を介して、関連する面の各々の組み合わせについて実行される。
−ゾーンを決定する方法は、関数f1と条件C1を使用する結合ルーチン(coupling routine)を呼び出すことによって、エッジを備え、およびフィレットのような、またはラウンドのような断面を有する、一又は複数のゾーンを決定することを備える。
−ゾーンを決定する方法は、関数f2と条件C2を使用する結合ルーチンを呼び出すことによって、3次元のオブジェクトに関連付けられた寸法に満たない最短距離の二つのエッジを備え、およびステップ(step)のような断面を有する、一又は複数のゾーンを決定することを備える。
−ゾーンを決定する方法は、関数f3と条件C3を使用する結合ルーチンを呼び出すことによって、3次元のオブジェクトに関連付けられた寸法に満たない最短距離の、少なくとも二つのエッジによって分けられた、二つの実質的に平行な面の部分を備え、およびウォール(wall)のような断面を有する、一又は複数のゾーンを決定することを備える。
−ゾーンを決定する方法は、関数f1と条件C1を使用する結合ルーチンを呼び出すことによって、エッジを備え、およびフィレットのような、またはラウンドのような断面を有する、一又は複数のゾーンを決定することを備え、一又は複数のゾーンを決定する方法は、それぞれ、関数f2と条件C2または関数f3と条件C3を使用する結合ルーチンを呼び出すことによって、3次元のオブジェクトに関連付けられた寸法に満たない最短距離の二つのエッジを備え、それぞれ、ステップのような、またはウォールのような断面を有することを備える。
−ゾーンを決定する方法は、すでに決定された一又は複数のゾーン、および計算された境界にしたがって、一又は複数の残りのゾーンを決定することをさらに備える。
−呼び出された結合ルーチンは、
各々の境界Fiについて、
その境界Fiの各々の点Pi,jについて、
その境界Fiとは異なる各々の境界Fkについて、
その境界Fkの各々の点Pk,lについて、
決定される一又は複数のゾーンにしたがって、fmが関数f1、f2、またはf3である、yi,j,k,l=fm(Pi,j,Pk,l)を計算すること、
決定される一又は複数のゾーンにしたがって、yi,j,k,l-1およびyi,j,k,lは、Cmが条件C1、C2、またはC3である条件Cmを満たす、特定の対(Pk,l-1*,Pk,l*)を選択すること、
さらなる条件Csにしたがって、特定の対(Pk,l-1*,Pk,l*)の中から、特定の点Pk,l***を選択すること、
対(Pi,j,Pk,l***)を格納すること
を備える。
−新たな面を計算する方法は、決定された各々のゾーンについて、決定されたゾーンの種類に適用される、面を計算するルーチンを呼び出す。
−その方法は、計算された新たな面にしたがって、モデル化されたオブジェクトのデータの面を修正する方法をさらに備える。
−3次元の幾何学図形は、その面のテッサレートされた表現の点で、その面に接する半径rの球を備える。
−3次元の幾何学図形は、それぞれの半径がrxおよびrcの二つの球を備え、その面のテッサレートされた表現の点で正接する。
−3次元の幾何学図形は、円錐を備え、3次元の幾何学図形のインターセクションを表すデータを決定し、および格納する方法において、その図形はその点に接し、並びに特定の縦、および横の角度を与えられる。
本発明は、本発明の方法を実装するコンピュータプログラムにさらに関する。
本発明は、いくつかの面を有するモデル化されたオブジェクトのコンピュータ支援設計(CAD)の方法を対象にする。その方法は、オブジェクトの各々の面が、幾何学的な基準にしたがって、その面に関する少なくとも他の面を識別する方法を備える。面は、連結されている(connected)としてマークされる。これは、その方法の後続の方法を実装するのに必要な“トポロジー前処理(topology preprocessing)”の一部である。例えば、その基準は、識別される面の外角に関する可能性がある。その方法は、各々の面のテッサレートされた表現を形成する複数の点を計算する方法も備える。このテッサレーションに基づいて、その方法は、上記の識別する方法にしたがって、3次元の幾何学図形(所定の面に接する)とその面に関する面との間のインターセクションを表すデータを決定し、および格納することによって、重要な範囲を特徴付ける。インターセクションが生じるか否かを決定する方法は、面のテッサレートされた表現の各々の点、およびオブジェクトの各々の面について実行される。望ましくは、ユーザの入力操作にしたがって、全ての面は、必ずしも処理される必要はない。“境界抽出(frontier extraction)”の一般的な方法の一部分として、その方法は、各々格納されたデータにしたがって点と点との間の境界を計算し(サーフェスの再計算が生じるゾーンの境界を定める)、並びに決定された境界にしたがってゾーンを決定する。このやり方は、大局的な(global)やり方である。まず、ボディ全体の境界を決定し、次に、その境界からゾーンを決定する。これは、フィレット/ラウンドが、部分処理による一部分として、局所的に(local)計算される以前のやり方とは対照的である。望ましくは、連続的なゾーンを決定する方法は、実装される。それは、適切な結合ルーチンを呼び出すことによって、少なくとも一つのエッジを備え、およびフィレット/ラウンドのような断面、ステップ/ウォールのような断面を有し、またはより複雑な模様を示すゾーンの検出を備える。最終的に、新たな面を、決定されたゾーンにしたがって計算することができる。
本発明は、そのゾーンにおけるラウンドおよび/またはフィレットを迅速、かつ自動的に計算することを可能にする。全ての重要な範囲は、検出されやすくなり、その方法によって処理される、決定されたゾーンになる。自動化されたプロセスとして、“手動で”遵守される方法の順序のおかげで、事前に困難を避けることができる。3次元の図形のインターセクションと隣接する面に基づく方法を使用することにより、正の境界を提供することが可能になる。後続のゾーンの決定は、それ故に簡単に行われる。その方法の大局的なやり方および連続的な特徴は、モデルボディが、各操作間の有効な閉鎖的な形状でできていることにとらわれなくするが、そのことが、以前は大きな失敗の元であった。その結果、完全には避けられないとしても、ラウンドおよび/またはフィレットの失敗は、大幅に減少する。したがって、本発明によって提供される解決法は、製品のサーフェスの品質の高い設計をより効率的に行えるようにし、具体的には、コーナのラウンドおよび/またはフィレットの処理を効率的に行えるようにする。例えば、本発明による方法を実装することにより、従来のフィレットの作業の最後の10%まで計算が可能になり、一方、多数の新たな可能性およびユーザの選択肢が提供される。必要とされるCPUの時間は、処理される要素の数とともにおおよそ直線的に増加することを指摘することは価値がある。
上記の方法は、以下に位置づけることができる、より一般的な方法に属する。
−“トポロジー前処理(Topology preprocessing)”。ワークボディを、フィレットされない面として選択された面にしたがって、および/または、クラック(crack)とスリバ(sliver)の制御オプションが選択された場合に対比されるように、用意することができる。問題になっている特定の面は“スムーズスキン(smooth skins)”と考えることができ、以後の説明で詳細に述べる。さらに、スムーズスキン間のフィレット状の凸面は、計算される。
−“テッサレーション”。当技術分野において知られているように、その目的は、ボディを多面体に変換することである。しかしながら、結果として生じる多面体の迫真性、方法の正確さ、および利用可能なハードウェア資源のバランスを保つように、特別の注意は入力パラメータを制御するために払われる。
−“境界抽出”。後に詳細に述べるように、多面体は、パーティションで区切られ、一組の“移動可能な(movable)”頂点、および一組の“移動不可能な(unmovable)”頂点になる。サブセット間の境界は戻り、後続の方法に関する情報は集約される。
加えて、本発明の方法は、場合により、以下の一般的な方法を備える。
−“正確なフィレットの認識(exact fillet recognition)”。正のフィレット/ラウンドのゾーンが決定され、三つの面が集まる領域は再計算される。
−“ラウンド近似(round approximation)”。ラウンドされたサーフェスが、呼び出された面−面(face-face)フィレットオペレータ、または場合によりフィレットオペレータが失敗するブレンドオペレータ(blend operator)に基づいて作成される(“正確なフィレットの認識”にしたがって、フィレットのようなフィレット、またはラウンドのようなフィレットのいずれか)。
−“ハードゾーン制御(hard zone management)”。コーナのサーフェスは作成され、フィルオペレータ(filling operator)が呼び出される。ブレンドオペレータもまた、呼び出され、ハードゾーンはフィルルーチン(filling routine)にはあまりにも複雑になる。
−“ソーイング(Sewing)”。作成されたサーフェスは、最終ボディにソーイングされ、フィレットされていないエッジは、変わらないままである。
このような一般的な方法を、オプションとしての下位の方法として分解し、本発明を実行するために、有利に実装することができる。
以下において、“フィレット”および“ラウンド”の概念は、特別の定めのない限り、当技術分野においてしばしば認められるものとして、通常、“フィレット”という言葉に包含される。
図3ないし図7は、モデル化されたオブジェクトのコンピュータ支援設計(CAD)の方法を表すフローチャートを示し、それを以下において説明する。図9ないし図14Bは、上記フローチャートのさまざまな方法において、得られた典型的なモデルのボディの面を示す。
図3は、“トポロジー前処理”の一般的な方法のために設けられており、それ自体は、二つの主要な部分を備え、それぞれ、“機能的な(functional)”面の制御(例えば、処理されない面)、およびスリバ/クラックの制御のために設けられている。この図を参照すると、工程100で、所定のインプットボディ(例えば、図9のインプットボディ10参照)に関して、処理は開始される。工程110で、その処理は、ユーザが、処理されるべきでないものとして、所定の面を前もって選択したかどうか、またはユーザ自身がそのような面を選択できるかどうかを、検証することができる。面が一つも選択されない場合、処理されるボディ(ワークボディ)は、従前のものと同じままである(工程120)。一方、面が選択されている場合、選択された面は、インプットボディにおいて取り扱われる一組の面から取り除かれる。
これは、図9Aにおいて説明されているが、モデルオブジェクト10の面16は、最初の面から取り除かれる。結果として(図9B)、図示されているように、他の面との組み合わせの計算によってエッチング処理をすることはできるが、この面と他の面との間のエッジは再計算されない。特定の面を取り除くことが、好都合であると分かるのは、ユーザが、サーフェスの再計算をカスタマイズしたい場合である。
次に図3に戻ると、縁取り(free borders)の外挿(extrapolation)、例えば、処理されるべきでない面として選択された面に隣接する各々の面を、場合により、実行することができる。このことが、実際に好都合であるのは、若干不揃いな境界の型を、そのような面の近傍で計算できることに気づくからである。したがって、外挿の方法が成功したか否かは、工程114で、点検される。工程114でイエスであれば、考えられるワークボディは、外挿された面を持つワークボディになるだろう(工程118)。外挿の失敗が生じた場合には(例えば、外挿された面が、他の面と干渉している場合)、処理されるべきでないものとして、ユーザによって選択された面が、さらに考慮することなく、捨てられる(工程120)ことを別にすれば、外挿されたボディは捨てられ、ワークボディは従前のインプットボディと同じままである(工程116)。
以下の工程130−工程134において、処理は、ボディの面と面との間の連結部(connection)を作成する(工程132−工程134)。具体的には、方法は、ワークボディの各々の面について(工程130)、幾何学的な基準(例えば、外角が180.5度から360度の間にある面)にしたがって、その面に関連する少なくとも他のボディの面を識別する。「外角」は、二つの隣接した面を横断する断面において、外面に形成される大きい方の角度である。面の角度がその基準に合致する場合、それらは鋭角によって分けられていると考えられ、それらの面は連結されているものとしてマークされる。対照的に、これらの基準に合致しない面は、単一の連続的な面(例えば、当技術分野において知られるような“スムーズスキン(smooth skin)”)として考えられる。結果として、同じスムーズスキンに属する二つの面は、スムーズスキンが向かい合う残りの処理においても向かい合うことはないだろう。
状況に応じて、ユーザは、スリバとクラックの制御のために設けられているオプションを選択することができる(工程140−工程144)。スリバとクラックは、凸状および凹状のエッジの両方を共有する、隣接するスムーズスキンに関連する。これは図10Aに例示されており、ワークボディ10のスリバは、参照番号Aによって示され、クラックは、参照番号Cによって示される。図のように、スリバは、凹面/凸面/凸面/凹面の順番の断面を典型的に有しており、一方、クラックは正反対のものを表す。ここで、BとDは、スリバのような断面およびクラックのような断面をそれぞれ有しているけれども、主要なエッジがラウンドであるため、スムーズスキンと考えられている。BとDの制御を、次の段落で説明する。スリバのオプションも、クラックのオプションも選択されていなければ、その方法のデフォルトの振る舞い(behavior)は、図10Bに示すような形状になるだろう。すなわち、スリバA/クラックCの端(end)は、若干ラウンドされるが、望んだラウンド/フィレットの半径は達成されない。対照的に、スリバのオプションか、クラックのオプションが選択されている場合、そのようなオプションにより、遠隔の面との間の連結部が作成されることが可能になる。例えば、面SA2が選択され、SA1とSA3との間の連結部の作成が可能になる。その結果(図10C)、スリバAは、ほとんどつぶれてしまう。逆に、クラック制御ウィザードの中でSC2を選択することにより、クラックCは、ほとんど埋まってしまう。AまたはCに関して、得られた型は、ラウンド/フィレットの半径と一致する。
さらに、図10A−Cに示されているように、ラウンドは、スリバBの頂点に前から存在し、フィレットは、クラックDの底に前から存在する。前から存在するそのようなフィレット/ラウンドは、クラック/スリバのそれぞれの横断面における特異性を隠し、対応する面は、一つの連続するスムーズスキンとして見られる。結果として、これらの面は、向かい合わず、図10Aから図10Cに渡る場合に見られるように、前から存在するフィレット/ラウンド(例えば、図10A−Cのインプットフィレット/ラウンドの半径よりも小さな半径で)を維持することを可能にする。さらに言えば、その処理の実装にしたがって、インプットボディに認められる唯一のフィレットは、デザインフィレット(design fillet)であろう。現段階において、連結部が、処理されるボディの隣接する面との間で作成され、異なる、隣接する(場合により、遠隔の)スムーズスキンだけは、以下に述べるように、向かい合いやすいということを思い出されたい。
フローチャートに戻ると、図4は、図3の続きであり、通常、“テッサレーション”および“境界抽出”の一般的な方法のために設けられている。
図4を参照すると、ボディの各々の面のテッサレートされた表現を形成する複数の点は、工程150で計算され、テッサレートされたワークボディを作り出す。通常、テッサレートされたサーフェスは、多角形の集合で構成される。これらは典型的な三角形であり、“三角形”は、以後、一般性を失うことなく使用される。テッサレートされた表現の複数の点のうちの各々の点は、三角形の頂点(vertex)である。頂点の代わりに、各々の三角形の中心を使用することを考えることは明らかに可能である。
工程160で、後に格納されるデータを考慮すると、テッサレートされたワークボディの各々の頂点に、関連付けられた初期のデフォルト値を与えることができる。例えば、後により明らかになるように、それらは、「移動できない(not mobile)」ものとしてマークされる。
次に、ワークボディの各々の面(例えば、工程170の“面1(face 1)”)およびその面のテッサレートされた表現の各々の頂点(工程172)について、その方法は、その頂点に接する3次元の幾何学図形とその面に連結するものとして上記で識別された面との間のインターセクションを表すデータを決定し、格納する(工程170−工程182)。このことが特に好都合であると分かるのは、後に計算されるフィレットの半径は、3次元の幾何学的な検討のおかげで、上記で使用される、干渉する3次元の図形の寸法の特徴に関連付けることができるからである。具体的には、3次元の図形は、その面のテッサレートされた表現の頂点で、その面(“面1”)に接する一つの球、または二つの球のどちらかになることができ、そのサーフェスに正接する。このことは、図11を参照して強調されるだろう。このため、3次元の図形は“球”によって示される。工程172で、その方法は面1の特定の頂点を検証する。まず、球が、この頂点ですでに横たえられているか(lay down)否かを点検する(工程174)。もし横たえられていなければ、その方法は、面1に連結している各々の面(“面2(face 2)”)のために、その頂点において、都合の良い半径(デフォルト、またはユーザの選択可能な半径)で球を横たえることができる(工程176−工程178)。次に、球が面2に交わっているか否かを検証する(工程180)。
言うまでもなく、当業者には明らかなように、他のスキーム(scheme)を、干渉(collision)の検出のために考慮できる。干渉を表すデータは、検証された頂点に起因すると考えられる。例えば、そのデータは、もし干渉が検出された場合、一つのバイナリ値、例えば1に、そうでなければ、0に制限することができる。また、そのデータは、例えば、面2に干渉する球の一部分に基づいて、干渉の範囲を表すことができる。そのデータは、球が他の面に正接するか、またはある程度正接するということが分かったことに対応する三角形、または頂点の数で構成することができる。
隣接する面、または遠隔の面の3次元の図形のインターセクションは、図11を参照してより良く理解されるだろう。図11は、所定のワークボディ10の断面、並びにテッサレートされた面21、23、25、27、29、31、33、および35のさまざまな頂点20、22、24、26で横たえられた球30、32を示す。問題になっている面が、“スムーズスキン”(すなわち、その外角が所定の値(例えば、180.5度−360度)より大きい、エッジによって分けられた面)であることを覚えておくことは重要である。
この例においては、面23は、垂直のウォールの断面(面21に直角に、隣接する)と連続する水平のウォールの部分(面25に直角に、隣接する)を備えるスムーズスキンである。さらに、面の対(21−23)、(23−25)、(25−27)、(27−29)、(29−31)、(31−33)、(33−35)、および(35−21)だけが、図11の例において検証される(工程172、工程176)。明瞭にするため、球は図11の全ての面の組み合わせのために表されていない。
球は、オブジェクトに対して外側の30(凹状のエッジに関する凹状の干渉を検出するため)、または内側の32(凸状の干渉を検出するため)であり、それらは、検証された頂点(例えば、頂点20での球30、32参照)でボディの面に正接するということに気づかれたい。
このように、所定の種類の一つの球だけを、上記の両方の球の種類(外側または内側)を検証するために必要な二つのループで一度に検証することができ、または、二つの球を、一つのループで一度に検証することができる。
図11に包含されている、他の実施形態においても、3次元の図形は、それぞれの半径がrx、rcである二つの球30、32を備えることができ、その頂点でその面に正接する。
もっとはっきり言えば、一旦、隣接する面の間のフィレットの凸面が計算された場合、ただ一つの球だけを使用することができ、その球の種類は、関連する面を識別する方法の後に、知られるということを当業者は理解することができる。干渉のために検証される連結された面(面1および面2)の計算された凸面により、その方法は、所定の点で都合の良い球(内側または外側の球)を選択するために適用され、その後にその球を検証する。例として、凸状のエッジとして見られる、面21と面23との間のエッジを考えたい。一旦、このエッジの凸面が知られた場合、外側の球の使用が重大ではないことが明らかなのは、球とエッジに関する面21、23の一方、または他方との間で、外側の球がまったく干渉を引き起こす可能性がないからである。その代わり、内側の球を使用することは、図示しているように、球−面の干渉40を可能にする。干渉40は、凸状のエッジの近くにあるので、それを“凸状の干渉(convex collision)”と呼ぶことは都合が良い。このように、頂点22に関連付けられ、干渉を表すデータを格納することができる。3次元の図形の形状(ここでは、球の半径)は、後に計算されるフィレット/ラウンドの半径を決定することに気づかれたい。したがって、3次元の幾何学図形は、サーフェスの再計算が行われるべきである、規則的な境界を決定する客観的なツールを提供する。
次に、凹状のエッジに関しては、対称的な議論により、矢印42および44によって示されるインターセクションは、“凹状の”干渉であり、今回は外側の球30によって引き起こされているという結論に導かれる。しかし、上述の実施形態により、インターセクション42が、この例では干渉しているものとしてマークされていないのは、二つの面が同じスムーズスキン23に属しているところで発生しているからである。同様に、インターセクション46が、凸状の干渉として予定されていないのは、面23と面31は隣接する面ではないからである。結果的に、干渉40と44だけがスムーズスキン23の例では、有効な干渉と考えられる。したがって、対応するインターセクションを表すデータは格納され、それぞれ頂点22および26に関連付けられる。そのようなデータは、例えば、頂点が後続の方法で取り除かれそうな場合に、移動可能なもの(mobile)(工程182参照)としてマークされた頂点を示す値で構成することができる。または、その値は、干渉の範囲(例えば、球の干渉している線分の高さに比例、など)にしたがって、絶え間なく変化することができる。
このことを念頭におき、スリバとクラックの制御に関して、図10に戻る。既に述べたように、デフォルトの方法は、向かい合う、隣接するスムーズスキンだけを認める。対照的に、スリバ/クラックの制御のための都合の良いオプションを選択することにより、隣接しないスムーズスキンが向かい合うことが可能になる。したがって、工程170−工程180の記述を見ると、ユーザが、スリバ/クラックを選択する場合、選択されたスリバ/クラックの近くの面で横たえられた3次元の図形が、隣接する面を越えて、遠隔の面と交差するか否かということが検証される。例えば、スリバ/クラックを選択することにより、局所的に、二番目に隣接する面を検証することが可能になり、場合により三番目に隣接する面も可能になる。例えば、図10AにおいてスムーズスキンSA2が選択されるならば、デフォルトの向かい合わせである、(SA1、SA2)と(SA2、SA3)に加えて、面(SA1、SA3)は、向かい合うだろう。スムーズスキンSA2が選択されない場合(Aが維持されるべきスリバと考えられないならば)、(SA1、SA2)と(SA2、SA3)だけが検証され、図10Bの型につながる。
図4のフローチャートに戻ると、次の一連の工程190−工程230は、それぞれの格納されたデータにしたがって、頂点間の境界を計算するために設けられている。境界は、例えば、格納されたデータが、それぞれ干渉および非干渉を表す、頂点の間で計算可能である(このことが都合良く見えるのは、ラウンド/フィレットの半径が検証した球の寸法に関連するからである)。このように、境界点は、それぞれ、インターセクションおよび非インターセクションを示す格納データを持つ頂点を結ぶ線分で決定される。
したがって、工程190で、ループは、各々のテッサレーション三角形から始まり、その三角形が、工程182で移動可能なもの(mobile)とマークされた、一又は二の頂点を有するか否かが検証される(工程192)。もしイエスであれば、例えば、当該三角形の領域が、閾値の領域よりも大きいかどうかを検証し(工程194)、“細分可能(sub dividable)”とマークされる三角形につながる。任意ではあるけれども、そのような可能性が好都合なのは、正反対の干渉状態を持つ頂点間で満足のいく境界計算を可能にさせるからである。細分可能な三角形が見つかった場合(工程198)、それに応じて細分され(工程200)、新しいループを開始することによって、干渉に関して再び検証される、新しい頂点を作り出す(工程170)。工程170のループは、細分可能な三角形が見つからなくなるまで発生する(工程198)。
次に、新たなループが工程210から始まることにより、点の位置を、近似値にしたがって計算することができる(工程220)。具体的には、例えば、干渉する球の干渉する部分に基づいて、干渉の量を表すデータを格納することにより、点の理論的な位置を計算させる。“ポリライン(polyline)”境界は、計算された点にしたがって、決定可能である。
上記の境界計算は、図12A−図12Bにおいて例示されており、上記の実施形態にしたがって、境界計算の次の段階を図式化する。
選択された例は、図12A−図12Cの左側部分の円柱60の少し上に示す、直交座標系の記号52にしたがって、方向を合わせた円柱60の例である。図形の主要な部分は、記号50によって示すように、平面(plane)(x,z)にしたがって方向を合わせた円柱の、拡大された図式の四分円の断面62を示す。違うやり方で置くと、上からその形を見ることができる。当該円柱の断面62は、上述の実施形態にしたがって、“移動可能なもの(mobile)”、または“移動できないもの(not mobile)”としてマークされた、多くの頂点を備える。“移動可能なもの”としてマークされた頂点は、一つの点として表される一方、交差点は、移動できない頂点を示す。点線64は、(まだ)理論上の境界を表す。
図12Aは、工程182の後に得られる、当該四分円の断面62を表し、三角形は、0、1、2、または3個の移動可能な頂点を含む。
図12Bは、上述の工程190−工程200によって生成された状況を示す。すなわち、ちょうど一又は二個の移動可能な頂点をもつ三角形が細分されたことにより、新たな頂点が理論上の境界64の近くに現れる。
図12Cは、工程210−工程230の実行結果を説明することにより、“ポリライン”境界は、ここでは丸く囲んだ点として示す、具体的に計算された点(工程220)にしたがって、与えられている。したがって、上述の方法の実装は、洗練された境界抽出を可能にする。
図5および図6は、“正確なフィレット認識(exact fillet recognition)”、“ラウンド近似(round approximation)”、および“ハードゾーン制御(hard zone management)”のために設けられている。
図5を参照すると、フィレットのような、若しくはラウンドのような断面(工程240)、ステップのような断面(工程250)、またはウォールのような断面(工程260)を有するゾーンを決定することが必要なたびに、結合ルーチンは呼び出される。異なるルーチンを呼び出すことはできるけれども、これらは、少なくとも通常の特徴を有し、図8を参照して詳細に述べられる。
ルーチンが最初に呼び出された後、正確なフィレットが戻る。上記のルーチン(または連続する類似のルーチン)を使用することが、好都合であると証明されるのは、上記の断面の型が、処理される通常のワークボディ上で普通に観察されるからである。望ましくは、結合ルーチンは、ラウンド/フィレットのゾーンを決定するために、最初に呼び出され、次に、ステップ/ウォールのゾーンを決定するために、任意の順序で呼び出される。このように、正確なフィレットは可能な場所をどこでも検索し、その後、ウォール/ステップのゾーンを検索する。上記のルーチンは、図8を参照して詳細に述べられる。
ハードゾーンは、フィレット/ウォール/ステップが見つからない場所に存在するので、それらは望ましくは後で制御される。計算された境界にしたがって、一又は複数の残りの領域を決定することができ(工程270)、工程280で特定のコーナゾーン(corner zone)が作成される。
図6を参照すると、新たなループが、工程290から始まる。処理される領域を“拡大する(enlarge)”ため(工程292)、検出された各フィレットのために(工程240参照)、例えば、ニュートン・ラプソン法、または似たような方法に基づいて、正確な再収束(re-convergence)の方法が使用される。正確なフィレットのサーフェスは、面−面(face-face)フィレットオペレータを呼び出すことによって、可能なときはいつでも作成される(工程294−工程298)。そうでなければ、ブレンドオペレータ(blend operator)が呼び出される(工程296)。
対照的に、結合方法を介して検出されたステップ/ウォールのゾーン(工程250、工程260)に関しては、ブレンドオペレータは、直接呼び出されることにより(工程300、工程310)、ブレンドサーフェスは作成される(工程304、工程314)。
工程280で作成されたコーナゾーンに関しては、方法は以下のように進む。すなわち、コーナが球形であるかがまず検証され、その場合には、球が作成され(工程320−工程324)、それ以外の場合には、当該技術分野において知られているように、典型的なフィルサーフェス(fill surface)が生成される(工程326)。
工程296、工程304、および工程314で使用されるブレンドオペレータに関しては、以下の方法が行われる。すなわち、3次元の曲線(curve)は境界のポリラインに近づき、3次元の曲線はインプットボディ上に投影され、2次元の曲線を作り出す。ブレンドオペレータが呼び出され、2次元の曲線と関連するサポート面を、インプットとして使用する。
工程326で使用されたフィルオペレータ(fill operator)に関しては、同じように3次元から2次元への投影が生じている。フィルオペレータ(当該技術分野において知られているようなオペレータ)が呼び出され、スムーズなサーフェスを作成するために、以前に生成されたフィレットサーフェス(工程298参照)またはブレンドサーフェス(工程296、工程304、工程314参照)の縁(border)に加えて、作成された2次元の曲線を使用する。
ハードゾーンがフィリング(filling)の方法を使用するにはあまりにも複雑であれば、ブレンドオペレータ、またはフィルオペレータを呼び出す前に、局所の形状の特徴しだいで、場合により、ハードゾーンを細分することができる。
加えて、サーフェスの曲率(curvature)の制御を提供するために、適切なオペレータを呼び出すこともできる。
最後のソーイングの一般的な方法のために設けられている図7を参照すると、ループは工程330から始まり、以前に作成された各サーフェスのためのソーイングルーチン(工程332)を呼び出す。ソーイングの計画によっては、一以上のサーフェスをインプットボディに同時にソーイングすることができる。
方法は、工程340で終了する。
図8を参照すると、図5の工程240、工程250、および工程260で呼び出される結合ルーチン(coupling routine)が、詳細に記述される。
計算された各々の境界Fiについて(工程410)、およびその境界Fiの各々の点Pi,jについて(工程412)、点Pi,jが以前に決定された結合の中に含まれているかを、まず検証し(工程414)、含まれている場合には、さらなる結合はこの点で行われようとはしていない。含まれていない場合には、境界Fiとは異なる、各々の境界Fkについて(工程416)、および境界Fkの各々の点Pk,lについて(工程418)、工程420−工程422で、値yi,j,k,l=fm(Pi,j,Pk,l)を計算し、fmを使った関数は現在試行している結合ルーチンの種類によって決まる。例えば、第一の関数f1が使用されるのは、ルーチンが工程240(フィレットゾーンの検出)から呼び出される場合であり、第二の関数f2が使用されるのは、工程250(ステップゾーンの検出)から呼び出される場合であり、第三の関数f3が使用されるのは、工程260(ウォールゾーンの検出)から呼び出される場合である。
望ましくは、計算されたyi,j,k,lの値が、“許容性(admissibility)”の条件が満たされているかどうかを検証する(工程422)。まず、Pi,jおよびPk,lに対するそれぞれの標準に基づいて、考えられる現在の対(couple)がフィレット、ラウンド、ステップ、またはウォールのゾーンに属するかどうかを決定することにより、場合により、候補として保持できるか、そうでなければ、除外する。さらに、ステップのような断面のための追加の許容性条件の例として、平均的なラウンド/フィレットの半径の2倍よりも高いステップの付近の点は、明らかな幾何学的な理由のために、可能な結合の候補として捨てられる。同様の許容性条件は各々のゾーンの種類のために使用される。加えて、yi,j,k,lの値を計算する前に、その許容性条件を計算することができる。
それは、格納された一又は複数の特定の対(Pk,l-1*,Pk,l*)であり(工程426)、それぞれ計算されたyi,j,k,l-1とyi,j,k,l(工程420−工程426)が条件Cm(例えば、後述するような、工程424での符号変換)を満たし、Cmは、fmに関しては、現在試行している結合ルーチンによって決まる。条件C1、C2、またはC3は、それぞれ工程240、工程250、および工程260で使用される。
もし複数の対(Pk,l-1*,Pk,l*)が、工程426で見つけられ、条件Cmを満たす場合には、さらなる条件Cs1にしたがって、まず特定の対(Pk,l-1**,Pk,l**)が選択される(工程430)。さらに条件Cs2にしたがって(工程430−工程432)、選択される、特定の点Pk,l***(例えば、l***=l-1**l**)を選択されたい。二つの点(Pk,l-1,Pk,l)の間のステップが十分に小さいならば、Cs1とCs2は一つの任意の選択に限定されるとしても、ルーチンはうまく機能できることに気づかれたい。
最終的に選択された点Pk,l***は、(上述の条件Cmに加えて)条件Csを満たすと同時に得られた点とみなされ、条件Csは、条件Cs1とCs2の両方を備える(特に、複数の対(Pk,l-1*,Pk,l*)が発見される場合)。
結果的に、対(Pi,j,Pk,l***)は、工程434で格納される。
次に、工程410で開始したループが終了する場合、連続した先端の点を持つ二つの点(例えば、対を形成する点)は、識別され(工程440)、同じグループに属するものとしてマークされ、境界の一部は組み合わされ、ゾーンを形成する。
結合ルーチンは、工程450で終了する。
言うまでもなく、点(Pi,j,Pk,l)の対と同様、境界Fi、Fkの全ての対が、必ずしも上記のルーチンで考えられる必要があるわけではない。むしろ、さらなる条件にしたがって、yi,j,k,lの値の計算を制限することは好ましく、それは、例えば、標準距離によって、最後まで対になる機会のない対を除外するために選択される。
結合ルーチンにおける上記方法を実装することにより、“正確な”フィレット、ステップ、およびウォールのゾーンを自動的に正常に戻すことが可能になる。
以下において、図8の結合ルーチンを呼び出す場合に使用される関数fmと条件Cmを、図13A−図13Dと関連して述べる。
図13A−図13Dは、エッジ70、および境界Fi(工程230から決定される)を有するワークボディ10を示す。具体的には、ワークボディ10は、ステップのような断面72、ウォールのような断面74、および“ハード”ゾーン76(ここではコーナ)を示す。
例として、図13A−図13Cは、正確なフィレットの認識、すなわち、工程240から呼び出される場合の結合ルーチン(図8の工程410−工程450参照)において使用される、特定の関数f1と条件C1を説明する。明確にするために、二つの境界F1とF2だけを示す。
この特定の実施形態において、達成される理論上の結果をまず説明しよう。この目的のために、境界F1の任意の点P1,1、およびこの点P1,1で境界F1を含む面に接する、点P1,1に関する“凸”の(内側の)球111を考える。全ての異なる境界(この場合は、F2)について、ほぼ同じ凸状の関連付けられた球を有する、結合のための、候補となる点P2,l-1、P2,lなどを検索する。例えば、図13Aでは、凸状の球121が横たえられ、点P2,1に接する。球111と球121は、任意の許容範囲の中でうまく合致していないので、点P2,1は結合のための可能な候補として除外される。対照的に、図13Bでは、球121´は点P2,1´で横たえられ、球111と実質的に合致する球を作り出す(図13Bの規模では、差異は明らかではない)。したがって、点P2,1´は結合のための可能な候補として保持されるだろう。
このことを達成するために、現実的に可能な実装を、以下、図13Cを参照して説明する。境界F1の任意の点P1,1のために、値y1,1,2,l=f1(P1,1,P2,1)を計算し、境界F2の任意の点P2,ll=1,2,3,...)(例えば、P2,1、P2,2)のために、上記で説明されているように計算する。関数f1を内積として選択することができる。
1(Pi,j,Pk,l)=(Ck,l−Ci,j)・(ni,j^nk,l
i,jは点Pi,jで面に垂直なベクトルであり、Ci,jは点Pi,jに接する球の中心を示すベクトルである(図13において、球111、121、122)。そのようなベクトルは、点Pi,jの位置の認識から完全に定義される。具体的には、ni,jは,点Pi,jで計算される面の傾きから導かれる。このようにf1(Pi,j,Pk,l)は、理論的な一致点Pk,matchingでちょうどゼロであると分かり、条件C1を以下の数式として選択することができる。
Sign(f1(Pi,j,Pk,l-1))≠Sign(f1(Pi,j,Pk,l))
図13Cにおいて、点P2,1とP2,2は点P1,1に関して条件C1を満たす。このように、工程428にしたがって、この特定の対(P2,1,P2,2)は格納される。同様の操作は、境界F1の各点P1,jのために実行される。望ましくは、対にすでに含まれる点は再計算されず、近傍の境界Fkのみが検証される。同様の操作は、凹状の球で実行される。
工程240後の結合ルーチンが完了すると同時に、状況は図13Dで概略的に説明されたものになる。正確なフィレットを参照番号90によって示す。この図に見られるように、正確なフィレットは、ステップのゾーン72、ウォールのゾーン74、および“ハード”ゾーン76の近くには作成されない(そのような領域では正確な球ベースの結合は不可能なため)。
ステップおよびウォールのゾーンの領域に関して、関数f2、f3を以下の数式として選択することができる。
2/3(Pi,j,Pk,l)=(Pk,l−Pi,j)・(τk,l−τi,j
τi,jは、点Pi,jで、考察されている面に接し、境界線Fiに平行するベクトルである(τi,jとτk,lは逆方向に選択されている)。すでに述べたように、τi,jとτk,lはPi,jとPk,lから分かり、Pi,jとPk,lの依存関係は暗に示されている。この場合の好都合な条件C2/3は、以下の数式で示す。
Sign(f2/3(Pi,j,Pk,l-1))≠Sign(f2/3(Pi,j,Pk,l))
2=f3およびC2=C3だけれども、図13Eで説明されているように、ステップとウォールに内在する形状は、現実に異なる結合につながる。工程250および工程260後の結合ルーチンが完了すると同時に、状況は、図13Eで説明されるものになる。ステップのゾーン92およびウォールのゾーン94は、結合される。
しかし、ハードゾーン76は、特定の処理が実行されるため(工程320−工程326参照)依然としてそのままである。
本発明のおかげで達成できる結果の教育的な例として、図14A−図14Bは、さまざまなエッジの部分を示すワークボディ10の制御の結果を説明する。鋭角なエッジ70は、さまざまな面の境界を定める。参照番号72、74、および76は、それぞれステップ、ウォール、およびコーナゾーンを示す。この例では、面16は、非フィレットとして特に選択されており、スリバオプションは、ウォールのような断面74´のために選択される。
上述の方法を実装することにより、図14Bに説明するような修正されたワークボディができる(変更を強調するため、寸法を都合よく選択した)。具体的には、フィレットのゾーン12およびラウンドのゾーン14は提供され、上記で用いられた専門用語にしたがって、“正確な結合(exact coupling)”サーフェスの再計算の役に立つ。加えて、ステップおよびウォールのゾーン(それぞれ、142と145)はブレンドオペレータ(ブレンドオペレータが呼び出された152も参照)の役に立ち、一方、コーナゾーン140は、球のサーフェスの一部によって近づけられ、上述したフィルオペレータのおかげで、ハードコーナゾーンは150を埋める。
スリバとして選択されたウォールのような断面74´は、正確なフィレットのサーフェスの再計算148(“正確な結合(exact coupling)”)の役に立つことにより、遠隔の面は干渉している球を通して検証される。したがって、以上のように、148のラウンドの半径は、ラウンド14に使用されている半径と同じである。また、隣接する面のサーフェスの再計算により、部分的にエッチングされるけれども、選択された面16は処理されない。
修正されたサーフェスが、後にインプットボディ10にソーイングされる。
さらに、使用された3次元の幾何学図形は、所望のアプリケーションによって、さまざまな幾何学形状を備えることができる。例えば、円錐、または円錐の一部を備えることができる。このように、本発明の方法にしたがって、3次元の図形のインターセクションを表すデータを決定し、格納する方法において、その円錐は、その面の上に横たえられ、その面に正接し、円錐の干渉のために現在、検証されたテッサレーションの点に接している。円錐は、縦および横の所定の角度を有し、その角度は、例えば、円錐の主軸に沿ってrである、球座標のシータ(θ)とフィー(φ)の通常の角度に関する。これらの角度は、さらにユーザが選択可能である。その結果、図形の型をワークボディ上に得ることができる。加えて、円錐を使用することが特定の、議論された特徴と互換性がある限りは、以上の利点の多くが提供される。
ラウンドおよびフィレットを有するモデル化されたワークボディの例示された図である。 従来技術による、ラウンド/フィレットの設計を一つずつ説明する図である。 本発明の一実施形態による、モデル化されたオブジェクトのコンピュータ支援設計(CAD)の方法を表すフローチャートである。 本発明の一実施形態による、モデル化されたオブジェクトのコンピュータ支援設計(CAD)の方法を表すフローチャートである。 本発明の一実施形態による、モデル化されたオブジェクトのコンピュータ支援設計(CAD)の方法を表すフローチャートである。 本発明の一実施形態による、モデル化されたオブジェクトのコンピュータ支援設計(CAD)の方法を表すフローチャートである。 本発明の一実施形態による、モデル化されたオブジェクトのコンピュータ支援設計(CAD)の方法を表すフローチャートである。 図5において呼び出される結合ルーチンを表すフローチャートである。 面が処理される面から取り除かれる場合に、ワークボディの設計制御の例を図解的に説明する図である。 面が処理される面から取り除かれる場合に、ワークボディの設計制御の例を図解的に説明する図である。 スリバとクラックを持つワークボディの設計制御を例示する図である。 スリバとクラックを持つワークボディの設計制御を例示する図である。 スリバとクラックを持つワークボディの設計制御を例示する図である。 一実施形態による方法の一部として、3次元の幾何学図形とワークボディの面との間のインターセクションを図式化する図である。 一実施形態における、境界抽出の図である。 一実施形態における、境界抽出の図である。 一実施形態における、境界抽出の図である。 一実施形態における、結合方法を説明する図である。 一実施形態における、結合方法を説明する図である。 一実施形態における、結合方法を説明する図である。 一実施形態における、結合方法を説明する図である。 一実施形態における、結合方法を説明する図である。 様々なエッジの部分を有するワークボディの設計制御を例示する図である。 様々なエッジの部分を有するワークボディの設計制御を例示する図である。

Claims (19)

  1. 複数の面を有するモデル化されたオブジェクトのコンピュータ支援設計(CAD)のための、コンピュータが実施する方法であって、
    前記方法は、
    前記モデル化されたオブジェクトの各々の面について、幾何学的な基準にしたがって、前記面に関連する、少なくとも他の前記面を識別するステップと、
    前記各々の面のテッサレートされた表現を形成する複数の点を計算するステップと、
    前記各々の面について、
    前記面の前記テッサレートされた表現の各々の点について、
    前記点に接する3次元の幾何学図形であって、その半径がラウンドおよび/またはフィレットの半径を決定する球である3次元の幾何学図形と前記各々の面に関連する面として識別された他の面との間のインターセクションの有無を示すデータを決定し、および格納するステップと、
    インターセクションの有無をそれぞれが示す格納されたデータを持つ前記テッサレートされた表現を形成する点と点との間の境界を計算するステップであって、該点のそれぞれは、該テッサレートされた表現によって示される多角形の頂点であり、該境界は、頂点を結ぶ線分上の境界点に基づいて決定される、ステップと、
    前記計算された境界にしたがって、該境界によって区切られるゾーンを決定するステップと、
    前記決定されたゾーンにしたがって生成された新たなサーフェスを含む新たな面を計算するステップと
    を含むことを特徴とする方法。
  2. 前記境界を計算するステップは、前記境界点を計算するより前に、インターセクションの有無をそれぞれが示す格納されたデータを用いて、頂点を有する多角形を細分するステップを含むことを特徴とする請求項に記載の方法。
  3. 前記図形は、前記他の面と衝突している少なくとも1つの球または円錐を含み、前記図形および前記他の面の間のインターセクションの有無を示す前記データは、衝突している球または円錐の衝突部分を表すことを特徴とする請求項1または2に記載の方法。
  4. 処理されない面をユーザが選択するステップと、
    後続の、処理される前記面からこの面を取り除くステップと
    をさらに含むことを特徴とする請求項1乃至のいずれか一つに記載の方法。
  5. 取り除かれた前記面に隣接する面を外挿するステップをさらに含むことを特徴とする請求項に記載の方法。
  6. 前記幾何学的な基準は、少なくとも、関連する面として識別される前記面の外角が180.5度から360度の間にあることを特徴とする請求項1乃至のいずれか一つに記載の方法。
  7. 前記インターセクションの有無を示すデータを決定し、および格納するステップは、ユーザによって選択される面を介して、関連する面の各々の対について、さらに実行されることを特徴とする請求項1乃至のいずれか一つに記載の方法。
  8. 前記ゾーンを決定するステップは、
    前記境界の2つの点を結合する、関数f1と条件C1を使用する第1の結合ルーチンを呼び出すことによって一又は複数のゾーンを決定するステップであって、該2つの点が該条件C 1 に基づいて対になるか否かが識別され、対になると識別される場合に該ゾーンが形成され、該一又は複数のゾーンは、エッジを有し、およびフィレット部分またはラウンド部分を有する、ステップを含むことを特徴とする請求項1乃至のいずれか一つに記載の方法。
  9. 前記ゾーンを決定するステップは、
    前記境界の2つの点を結合する、関数f2と条件C2を使用する第2の結合ルーチンを呼び出すことによって一又は複数のゾーンを決定するステップであって、該2つの点が該条件C 2 に基づいて対になるか否かが識別され、対になると識別される場合に該ゾーンが形成され、該一又は複数のゾーンは、3次元のオブジェクトに関連付けられた寸法に満たない最短距離の二つのエッジを有し、およびステップ部分を有する、ステップを含むことを特徴とする請求項1乃至のいずれか一つに記載の方法。
  10. 前記ゾーンを決定するステップは、
    前記境界の2つの点を結合する、関数f3と条件C3を使用する第3の結合ルーチンを呼び出すことによって一又は複数のゾーンを決定するステップであって、該2つの点が該条件C 3 に基づいて対になるか否かが識別され、対になると識別される場合に該ゾーンが形成され、該一又は複数のゾーンは、3次元のオブジェクトに関連付けられた寸法に満たない最短距離の少なくとも二つのエッジによって分けられた、実質的に平行な二つの面の部分を含み、およびウォール部分を有する、ステップを含むことを特徴とする請求項1乃至のいずれか一つに記載の方法。
  11. 前記ゾーンを決定するステップは、
    前記境界の2つの点を結合する、関数f1と条件C1を使用する第1の結合ルーチンを呼び出すことによって一又は複数のゾーンを決定するステップであって、該2つの点が該条件C 1 に基づいて対になるか否かが識別され、対になると識別される場合に該ゾーンが形成され、該一又は複数のゾーンは、エッジを有し、およびフィレット部分またはラウンド部分を有する、ステップと、
    前記境界の2つの点を結合する、それぞれ関数f2と条件C2、または関数f3と条件C3を使用する第2、第3の結合ルーチンを呼び出すことによって一又は複数のゾーンを決定するステップであって、該2つの点が該条件C 2 またはC 3 に基づいて対になるか否かが識別され、対になると識別される場合に該ゾーンが形成され、該一又は複数のゾーンは、3次元のオブジェクトに関連付けられた寸法に満たない最短距離の二つのエッジを有し、およびそれぞれ、ステップ部分またはウォール部分を有する、ステップ
    を含むことを特徴とする請求項1乃至のいずれか一つに記載の方法。
  12. 前記ゾーンを決定するステップは、
    前記すでに決定された一又は複数のゾーン、および前記計算された境界にしたがって、一又は複数の残りのゾーンを決定するステップをさらに含むことを特徴とする請求項乃至11のいずれか一つに記載の方法。
  13. 呼び出される前記第1、第2、第3の結合ルーチンは、
    第一の境界Fiについて、
    前記第一の境界Fiの一又は複数の点Pi,jについて、
    第二の境界Fkついて、
    前記第二の境界Fkの一又は複数の点Pk,lについて、
    決定された、前記一又は複数のゾーンにしたがって、fmが関数f1、f2、またはf3であるyi,j,k,l=fm(Pi,j,Pk,l)を計算し、
    決定された、前記一又は複数のゾーンにしたがって、yi,j,k,l-1とyi,j,k,lは、Cmが条件C1、C2、またはC3である条件Cmを満たす、一又は複数の特定の対(Pk,l-1*,Pk,l*)を選択し、
    さらなる条件Csにしたがって、前記一又は複数の特定の対(Pk,l-1*,Pk,l*)の中から特定の点Pk,l***を選択し、
    前記対(Pi,j,Pk,l***)を格納する
    ことを特徴とする請求項乃至10のいずれか一つに記載の方法。
  14. 前記新たな面を計算するステップは、各々の決定されたゾーンについて、前記決定されたゾーンの種類に適用する、面を計算するルーチンを呼び出すことを特徴とする請求項乃至13のいずれか一つに記載の方法。
  15. 計算された前記新たな面にしたがって、モデル化されたオブジェクトのデータの面を修正するステップをさらに含むことを特徴とする請求項14に記載の方法。
  16. 前記3次元の幾何学図形は、前記面の前記テッサレートされた表現の前記点で、前記面に接する半径rの球を含むことを特徴とする請求項1乃至15のいずれか一つに記載の方法。
  17. 前記3次元の幾何学図形は、それぞれ半径rx、rcの二つの球を含み、前記面のテッサレートされた表現の前記点で正接することを特徴とする請求項1乃至15のいずれか一つに記載の方法。
  18. 前記3次元の幾何学図形は円錐を含み、前記3次元の幾何学図形のインターセクションの有無を示すデータを決定し、および格納するステップにおいて、該図形は、前記点に接し、所定の縦、および横の角度を与えられることを特徴とする請求項1乃至のいずれか一つに記載の方法。
  19. コンピュータによって実行される場合に、請求項1乃至18のいずれか一つに記載の方法をコンピュータに実行させるためのコンピュータプログラム。
JP2006107993A 2005-04-08 2006-04-10 いくつかの面を有するモデル化されたオブジェクトのコンピュータ支援設計(cad)の方法 Active JP4857012B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05290789.6 2005-04-08
EP20050290789 EP1710720B1 (en) 2005-04-08 2005-04-08 Method of computer-aided design of a modeled object having several faces

Publications (2)

Publication Number Publication Date
JP2006294036A JP2006294036A (ja) 2006-10-26
JP4857012B2 true JP4857012B2 (ja) 2012-01-18

Family

ID=34942098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006107993A Active JP4857012B2 (ja) 2005-04-08 2006-04-10 いくつかの面を有するモデル化されたオブジェクトのコンピュータ支援設計(cad)の方法

Country Status (7)

Country Link
US (1) US9030475B2 (ja)
EP (1) EP1710720B1 (ja)
JP (1) JP4857012B2 (ja)
KR (1) KR100949689B1 (ja)
CN (1) CN1869993B (ja)
CA (1) CA2541951C (ja)
DE (1) DE602005015288D1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7885722B2 (en) * 2006-03-23 2011-02-08 Autoform Engineering Gmbh Method planning for manufacturing sheet-metal forming parts
JP4179355B2 (ja) * 2006-07-26 2008-11-12 トヨタ自動車株式会社 フィレット作成装置
US7643027B2 (en) * 2007-01-18 2010-01-05 Dassault Systemes Solidworks Corporation Implicit feature recognition for a solid modeling system
EP2028623B1 (en) * 2007-08-24 2011-10-19 Dassault Systèmes Method of computer-aided design of edges connecting faces of a modeled object
US8872820B2 (en) * 2008-04-14 2014-10-28 Siemens Product Lifecycle Management Software Inc. System and method for splitting faces on a solid model
US8244508B1 (en) * 2008-09-26 2012-08-14 SpaceClaim Corporation Method for modifying a piece of 3D geometry
US8046197B2 (en) * 2008-10-06 2011-10-25 GM Global Technology Operations LLC Method of designing a joint of adjacent components to minimize a perceived gap and algorithm for a computer-aided modeling system
US8260583B2 (en) * 2009-03-12 2012-09-04 Siemens Product Lifecycle Management Software Inc. System and method for identifying wall faces in an object model
US8326583B2 (en) * 2009-05-29 2012-12-04 Siemens Product Lifecycle Management Software Inc. CAD system and method for blend recognition and chain sorting in a Brep model
CN103093011B (zh) * 2011-11-02 2016-02-17 同济大学 基于cad模型的特征识别算法
EP3005178A4 (en) * 2013-05-24 2016-08-17 Siemens Product Lifecycle Man Software Inc MODELING MIXES ON A SOLID BODY MODEL OF A BAG
US9690878B2 (en) * 2013-05-28 2017-06-27 Siemens Prodcut Lifecycle Management Software Inc Geometric modeling with mutually dependent blends
US20150269284A1 (en) * 2014-03-24 2015-09-24 Siemens Product Lifecycle Management Software Inc. Intelligent chamfer recognition in cad models
CN103927426B (zh) * 2014-05-06 2017-07-28 南京航空航天大学 航空发动机整体叶盘特征识别方法
MX364612B (es) 2014-06-27 2019-05-02 Anvil Int Llc Abrazadera ajustable y cubo para soporte de manguera flexible.
EP3185151A1 (en) 2015-12-22 2017-06-28 Dassault Systèmes Designing an outer surface of a composite part
JP5947992B1 (ja) * 2016-03-30 2016-07-06 株式会社Jsol 自動フィレット作成システム及びプログラム
US20190258226A1 (en) * 2017-01-09 2019-08-22 Hewlett-Packard Development Company, L.P. 2d representations of a 3d surface model for heat deformable substrates
CN107678395B (zh) * 2017-10-27 2023-11-21 太原中车时代轨道工程机械有限公司 接触网作业车的操作台连接装置
US10636423B2 (en) 2018-02-21 2020-04-28 Motorola Solutions, Inc. System and method for managing speech recognition
JP7230393B2 (ja) * 2018-09-21 2023-03-01 富士フイルムビジネスイノベーション株式会社 設計支援装置、プログラム
EP3690682A1 (en) 2019-02-01 2020-08-05 Dassault Systèmes Designing a part featuring a protrusion or a depression
EP3761211A1 (en) * 2019-07-04 2021-01-06 Dassault Systèmes Designing a part featuring a bump
CN110390155B (zh) * 2019-07-16 2020-10-23 东北大学 离心叶轮加工特征识别方法
US11615218B2 (en) * 2020-05-15 2023-03-28 Dassault Systemes Simulia Corp. Mesh void space identification and auto seeding detection in computer added design defined geometries
CN112486094B (zh) * 2020-11-30 2022-07-05 哈尔滨工业大学(威海) 复杂曲面侧铣加工的刀具优化和加工轨迹生成方法
CN115272379B (zh) * 2022-08-03 2023-11-28 上海新迪数字技术有限公司 一种基于投影的三维网格模型外轮廓提取方法及系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0349096Y2 (ja) * 1985-08-19 1991-10-21
JPH027174A (ja) * 1988-06-27 1990-01-11 Hitachi Ltd 図形処理法
US5448687A (en) * 1988-09-13 1995-09-05 Computer Design, Inc. Computer-assisted design system for flattening a three-dimensional surface and for wrapping a flat shape to a three-dimensional surface
EP0405106A3 (en) * 1989-06-16 1992-04-08 International Business Machines Corporation Construction of minkowski sums and derivative morphological combinations of arbitrary polyhedra in cad/cam systems
JP3049096B2 (ja) * 1990-12-20 2000-06-05 株式会社リコー 曲面間のフィレット面生成方式
JPH0737106A (ja) * 1993-07-23 1995-02-07 Matsushita Electric Ind Co Ltd エッジ認識方法
JP3657771B2 (ja) * 1998-04-22 2005-06-08 富士通株式会社 三次元モデル作成装置
JP3829972B2 (ja) * 2000-03-06 2006-10-04 サイテック株式会社 3次元cadシステム
JP2001290850A (ja) * 2000-04-07 2001-10-19 Ricoh Co Ltd 3次元形状処理装置、3次元形状処理方法およびその処理方法を実施するためのプログラムを記憶した記憶媒体
JP3536786B2 (ja) * 2000-06-07 2004-06-14 株式会社デンソー 3次元モデリングシステム
US7016821B2 (en) * 2001-04-20 2006-03-21 Dassault Systemes System and method for the industrialization of parts
JP3786412B2 (ja) * 2002-03-13 2006-06-14 本田技研工業株式会社 フィレット作成方法、及び3次元cadプログラム
JP2004118646A (ja) * 2002-09-27 2004-04-15 Mitsubishi Heavy Ind Ltd 解析モデル生成装置及び方法並びに解析モデル生成プログラム
JP4301791B2 (ja) * 2002-10-04 2009-07-22 三菱重工業株式会社 Cadシステム及びcadプログラム
JP2004199176A (ja) * 2002-12-16 2004-07-15 Ricoh Co Ltd 3次元形状処理装置、フィレット面生成方法、プログラム及び記憶媒体
US7149596B2 (en) * 2004-01-13 2006-12-12 Sensable Technologies, Inc. Apparatus and methods for modifying a model of an object to enforce compliance with a manufacturing constraint

Also Published As

Publication number Publication date
DE602005015288D1 (de) 2009-08-20
EP1710720B1 (en) 2009-07-08
US20070027665A1 (en) 2007-02-01
EP1710720A1 (en) 2006-10-11
CA2541951A1 (en) 2006-10-08
CN1869993A (zh) 2006-11-29
CN1869993B (zh) 2010-05-12
US9030475B2 (en) 2015-05-12
JP2006294036A (ja) 2006-10-26
CA2541951C (en) 2013-06-11
KR20060107368A (ko) 2006-10-13
KR100949689B1 (ko) 2010-03-29

Similar Documents

Publication Publication Date Title
JP4857012B2 (ja) いくつかの面を有するモデル化されたオブジェクトのコンピュータ支援設計(cad)の方法
CN108228987B (zh) 副本选择
JP4991423B2 (ja) コンピュータにより実施される、パラメトリックな曲面を作成するプロセス
JP7327943B2 (ja) フライス作業によって製造可能な部品の設計
KR101955035B1 (ko) 기하학적 3차원 모델링된 오브젝트를 디자인하는 방법
CN105844711B (zh) 在细分曲面上雕刻2d图像
CN105761303B (zh) 在3d建模组件上创建包围盒
CN106959669B (zh) 切口检测
JP2010517136A (ja) ソリッドモデリングシステムのための非明示的形状認識
CN111524218A (zh) 设计以凸起或凹陷为特征的部件
JP2020115335A (ja) 機械部分の設計
CN104965938B (zh) 通过使用由几何约束连接的几何形状来设计工业产品
Lipp et al. PushPull++
CN107526859B (zh) 设计复合零件的外表面以用于生产模具的方法、装置及系统
EP3347879A1 (en) Method for immediate boolean operations using geometric facets
CN111105501A (zh) B-rep皮肤的3d设计
Abbasinejad et al. Surface patches for 3D sketching
US8872819B2 (en) Computational geometry design for sheet metal machinery corner
JP7338322B2 (ja) 三次元形状データの編集装置、及び三次元形状データの編集プログラム
JP3903334B2 (ja) 三次元形状作成装置
CN115052748B (zh) 用于在计算机辅助设计和制造环境中设计和制造部件的方法和装置
CN117454567A (zh) 表示制造产品的3d建模对象的设计
CN117422828A (zh) 一种矿体块段三维建模方法及系统
JP3898466B2 (ja) 三次元モデル生成装置
CN115982868A (zh) 自动化冲压件设计

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101005

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110107

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20110304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110509

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20110510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110510

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110606

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: 20111007

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111031

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4857012

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250