JP6734044B2 - 制御点のグリッドによって定義される3dモデリングされた物体 - Google Patents

制御点のグリッドによって定義される3dモデリングされた物体 Download PDF

Info

Publication number
JP6734044B2
JP6734044B2 JP2015236777A JP2015236777A JP6734044B2 JP 6734044 B2 JP6734044 B2 JP 6734044B2 JP 2015236777 A JP2015236777 A JP 2015236777A JP 2015236777 A JP2015236777 A JP 2015236777A JP 6734044 B2 JP6734044 B2 JP 6734044B2
Authority
JP
Japan
Prior art keywords
points
grid
point
nurbs
greville
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
JP2015236777A
Other languages
English (en)
Other versions
JP2016119077A (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 JP2016119077A publication Critical patent/JP2016119077A/ja
Application granted granted Critical
Publication of JP6734044B2 publication Critical patent/JP6734044B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/30Polynomial surface description
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

Description

本発明は、特に、コンピュータ援用設計(CAD)の分野に関し、より詳細には、グラフィカルユーザ対話によって3Dモデリングされた物体を設計するための方法、プログラム、およびシステムに関する。
物体の設計、エンジニアリング、および製造のための数々のシステムおよびプログラムが、市場で提供されている。CADは、コンピュータ援用設計の頭字語であり、例えば、それは、物体を設計するためのソフトウェアソリューションに関する。CAEは、コンピュータ援用エンジニアリングの頭字語であり、例えば、それは、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関する。CAMは、コンピュータ援用製造の頭字語であり、例えば、それは、製造プロセスおよび製造作業を定義するためのソフトウェアソリューションに関する。そのようなコンピュータ援用設計システムでは、グラフィカルユーザインターフェースが、技法の効率性に関して、重要な役割を果たす。これらの技法は、製品ライフサイクル管理(PLM)システム内に埋め込まれ得る。PLMとは、製品の開発のために、拡大された事業という概念が意味する構想から生産終了までの間、会社が製品データをシェアし、共通プロセスを適用し、企業知識を利用するのを手助けする、ビジネス戦略のことである。
ダッソーシステムズによって(CATIA、ENOVIA、およびDELMIAという商標の下で)提供されるPLMソリューションは、製品エンジニアリング知識を組織化するエンジニアリングハブ、製造エンジニアリング知識を管理するマニュファクチャリングハブ、ならびにエンジニアリングハブおよびマニュファクチャリングハブの両方へのエンタープライズ統合および接続を可能にするエンタープライズハブを提供する。すべてが一緒になって、システムは、最適化された製品定義、製造準備、生産、およびサービスを促進する、動的な知識ベースの製品作成および決定支援を可能にする、製品、プロセス、リソースを結び付ける開放型オブジェクトモデルを提供する。
CADは、3Dモデリングされた物体を表すための表面をしばしば必要とする。動機が製造される製品の美的側面を含む、クラスA設計を含む、特にスタイリング設計において、サーフェスモデリングが、使用される。一般的な表面は、ベジエ曲線および曲面モデル、Bスプライン曲線および曲面モデル、ならびにより一般的にはNURBS(非一様有理Bスプライン)曲線および曲面モデルの数学的操作によって提供される。これらすべてのモデルは、「制御点」という非常にポピュラな概念を提供する。表面は、点のグリッドによって定義され、これらの点を適切に動かすことが、表面の形状を変化させる。代表的な参考文献は、以下の通りである。
●非特許文献1を参照
●非特許文献2を参照
既存のシステムは、表面を変更するための、ユーザによる容易な対話的操作を可能にすることを目的とする。当然ながら、容易な操作は、直感的で予測可能であり、表面の形状の変化のさせ方を初心者がすぐに理解すること、および操作の結果である表面を熟練ユーザが予想することができることを意味する。
NURBS曲面を形作るためのいくつかの方法は、幾何学的制約または物理的挙動を含む。幾何学的制約方法は、変形された表面が、ユーザ定義の幾何学形状(点、点のセット、曲線)に合致するように、新しい制御点を計算する。物理的挙動は、弾性材料のように振る舞う表面にユーザが力を加えることである。参考文献は、以下のものを含む。
●非特許文献3を参照
●非特許文献4を参照
こうした状況において、3Dモデリングされた物体を設計するための改善されたソリューションが、依然として必要とされている。
The NURBS book、L.Piegl、W.Tiler、Springer Science、1997年 Curves and surfaces for computer aided geometric design:a practical guide、G.Farin、Hardcover、1996年 Dynamic NURBS with Geometric Constraints for Interactive Sculpting、D.Terzopoulos、H.Qin、ACM Transactions on Graphics、13(2)、1994年4月、103〜136ページ Modifying the shape of NURBS surfaces with geometric constraints、S.M.Hu、Y.F.Li、T.Ju、X.Zhu、Computer Aided Design、33(2001年)、903〜912ページ Gerald Farin、「Curves and surfaces for Computer Aided Geometric Design」、Morgan Kaufmann編、(2001年)
したがって、3Dモデリングされた物体を設計するためのコンピュータ実施方法が、提供される。方法は、3Dモデリングされた物体を表し、制御点のグリッドによって定義されるNURBS曲面を、コンピュータシステムに提供するステップを含む。方法は、コンピュータシステムによって、NURBS曲面に属する表面点のグリッドを決定するステップも含む。表面点のグリッドは、事前決定された可逆関数に従って、制御点のグリッドに対応する。方法は、コンピュータシステムによって、NURBS曲面を、およびNURBS曲面上に表面点のグリッドを表示するステップも含む。方法は、グラフィカルユーザ対話によって、表面点のサブセットを選択するステップも含む。方法は、グラフィカルユーザ対話によって、表面点の選択されたサブセットの位置を変更し、コンピュータシステムによって、しかるべく、表面をリアルタイムに更新するステップであって、更新は、事前決定された可逆関数に従って実行される、ステップも含む。
方法は、以下のうちの1または複数を含み得、すなわち、
− 表面点のグリッドは、グレヴィル点のグリッドであること、
− 制御点のグリッドの更新は、表面点の選択されたサブセットの位置は変更された通りであるという制約の下で、NURBS曲面の幾何学的変形に対してペナライズするプログラムを最適化することによって実行されること、
− プログラムは、各それぞれの制御点について、更新前のそれぞれの制御点と更新後のそれぞれの制御点との間の距離に対してペナライズすることによって、NURBS曲面の幾何学的変形に対してペナライズすること、
− プログラムは、各それぞれの制御点について、それぞれの制御点に対応する表面点と表面点の選択されたサブセットとの間の距離の増加関数である重みを用いて、更新前のそれぞれの制御点と更新後のそれぞれの制御点との間の距離に対してペナライズすること、
− 方法は、グラフィカルユーザ対話によって、増加関数をパラメータ化するステップをさらに含むこと、
− 増加関数は、表面点の選択されたサブセット内の表面点に対応する各それぞれの制御点については、1に等しく、選択された非角隅表面点に中心が置かれた表面点のグリッド内の最大の正方形に属する表面点に対応する、もしくは選択された角隅表面点を含む表面点のグリッドのクオータ(quarter)に属する表面点に対応する、他の各それぞれの制御点については、1よりも厳密に大きい第1の事前決定された数に等しく、他の各それぞれの制御点については、第1の事前決定された数よりも10倍大きい第2の事前決定された数に等しい、インジケータ関数であること、
− 方法は、グラフィカルユーザ対話によって、第1の事前決定された数を設定するステップを含むこと、
− プログラムは、更新後および更新前それぞれの制御点に依存する、凸エネルギーであること、
− プログラムは、タイプが、
であり、ここで、PijおよびQijは、それぞれ、更新後および更新前の制御点であること、
− プログラムは、ラグランジュの解法を用いて解かれること、
− ラグランジュの解法は、表面点の選択されたサブセットの位置を入力として取り、更新された制御点を出力する付随関数のパラメータを決定し、次に、変更された通りの表面点の選択されたサブセットの位置に付随関数を適用するステップを含むこと、および/または
− 表面点の選択されたサブセットの位置を変更し、制御点のグリッドを更新するステップは、表面点の同じ選択されたサブセット、最初の反復において計算および記憶され、その後、以降の反復にわたって取り出される付随関数のパラメータを用いて、反復されること
のうちの1または複数を含み得る。
方法を実行するための命令を含むコンピュータプログラムが、さらに提供される。
コンピュータプログラムを記録したコンピュータ可読データ記憶媒体が、さらに提供される。
メモリおよびグラフィカルユーザインターフェースに結合されたプロセッサを備え、メモリがコンピュータプログラムを記録している、CADシステムが、さらに提供される。
上述の設計方法に従って工業製品を表す3次元物体を設計し、次に、設計された3次元物体に基づいて工業製品を製造するステップを含む、工業製品を製造するための方法が、さらに提供される。
本発明の実施形態が、非限定的な例によって、添付の図面を参照しながら、今から説明される。
方法の例のフローチャートである。 システムのグラフィカルユーザインターフェースの例を示す図である。 システムの例を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。 方法を示す図である。
図1のフローチャートを参照すると、3Dモデリングされた物体を設計するためのコンピュータ実施方法が、提案されている。方法は、NURBS曲面(例えば、ベジエ曲面)をコンピュータシステムに提供するステップS10を含む。NURBSは、3Dモデリングされた物体(例えば、機械部品などの工業製品、例えば、カメラの外側境界/外被の少なくとも一部を幾何学的に表す3Dモデリングされた物体)を表し、それ自体が知られているように、制御点のグリッドによって定義される。方法は、コンピュータシステムによって、NURBS曲面に属する表面点のグリッドを決定するステップS20も含む。S20において決定された表面点のグリッドは、事前決定された可逆関数(例えば、与えられた1対のパラメータにおけるNURBS曲面の評価)に従って、制御点のグリッドに対応する。コンピュータシステムは、いつでもS20を実行し得るように、事前決定された可逆関数を、または事前決定された可逆関数がそれから導出されることができる規則を維持し得る。これは、数学的スキームをどのように実施すべきかを、そのようなもの(後で提供される現状に適用可能な数学的スキームの例)を提供されたときに、開発者が知っている、CADの分野からそのようなものとして知られる。方法は、コンピュータシステムによって、NURBS曲面を、およびNURBS曲面上に表面点のグリッドを(例えば、ユーザに対して、例えば、スクリーン上で)表示するステップS30も含む。方法は、次に、グラフィカルユーザ対話によって、表面点のサブセット(例えば、任意のサブセット)を選択するステップS40を含む。方法は、次に、ブロックS50において、グラフィカルユーザ対話によって、表面点の選択されたサブセットの位置を変更するステップS52を実行する。方法は、コンピュータシステムによって(例えば、自動的に)、しかるべく、表面をリアルタイムに更新するステップS54を実行する。更新は、S52において実行された変更に従って(リアルタイムに、例えば、変更に対して自動的および/または即座に反応して)、ならびに事前決定された可逆関数に従って実行される。図1に示されるように、更新S54は、NURBS曲面の定義において反映され得、それによって、繰り返されるS10、S20、S30の再実行において反映され得る。そのような点では、もちろん、S40および/またはS50も、やはり反復され得る。このループは、熟練したコンピュータ科学者には明らかである。
そのような方法は、3Dモデリングされた物体の設計を改善する。特に、方法は、CADおよび工業設計の分野において広く使用されているタイプの曲面であるNURBS曲面の、グラフィカルユーザ対話による変更を可能にする。グラフィカルユーザ対話は、(S40において)点を選択することと、次に(S52において)そのような点の位置を変更することからなるので、容易である。S40において選択され、S52において変更される点は、表面点であるため、ユーザは、表面と直接的に対話して、局所的操作で幾何学的形状を変更することができるので、方法は、(この方法の操作される点とは異なり、制御点が表面上にないNURBSの制御点を、ユーザが操作しなければならないソリューションとは対照的に)非常に直感的なグラフィカルユーザ対話を可能にする。方法は、したがって、「見た通りのものが得られるもの」である挙動を提示する。さらに、変更は、(例えば、局所性および入力された変更の大きさを考慮する)事前決定された可逆関数を介して、NURBS曲面の初期制御点に関連する点において実行されるので、方法は、そのような事前決定された可逆関数に依存して、(S54において)変更を表面において反映させることができ、それによって、(特に、表面がユーザによって前もって設計されていた場合)表面の初期トポロジおよびユーザの意図を維持する。実際、方法は、制御点を削除もせず、制御点を追加もしない。方法は、制御点を変更するだけであり、表面を定義する他のいかなるデータにも触れずにおき得る。ユーザの観点からは、表面は、置き換えられず、変更されるだけである。これは、ディテール密度と、与えられたNURBS曲面の内在的な数学的定義とを保存する。ユーザは、それによって、変更と結果の表面とをより良く理解する。
また、システムは、方法が高速で柔軟な変更操作を可能にするように、例えば、任意の構成の、任意の数の点のS40における選択を、いくつかの例において提供し得る。特に、例えば、グリッドの同じ行、列にない、例えば、表面点のグリッドにおいて必ずしもトポロジ的に隣接していない(すなわち、必ずしもグリッドにおける隣接点ではない)、いくつかの表面点が、選択され、変更され得る。変更は、任意の方法で、例えば、必ずしも同種の方法でとは限らずに、選択された表面点において実行され得る。例では、方法は、特に、S54は、線形時間で実行され、それによって、応答性が高く、したがって、ユーザフレンドリである。例では、方法は、変更によって誘発される振動の導入を制限し、それによって、より直感的な結果を提供する。
方法は、コンピュータによって実施される。方法のステップは、実際に、コンピュータシステムにおいて、コンピュータシステムだけによって実行され、またはグラフィカルユーザ対話によって実行される(すなわち、ユーザが、コンピュータシステムのGUIと対話する)。したがって、明確にコンピュータシステムによって実行されるステップは、完全に自動的に実行され得る。例では、方法のステップの少なくともいくつかのトリガリングは、ユーザ−コンピュータ対話を通して実行され得る。特に、S10の提供は、ユーザによって実行またはトリガされ得る。必要とされるユーザ−コンピュータ対話のレベルは、予見され、ユーザの望みを実施するための必要とバランスが取られる、自動性のレベルに依存し得る。例では、このレベルは、ユーザによって定められ、および/または事前に定められ得る。
方法のコンピュータ実施の典型的な例は、この目的のために適合されたシステムを用いて方法を実行することである。システムは、メモリおよびグラフィカルユーザインターフェース(GUI)に結合されたプロセッサを備え得、メモリは、方法を実行するための命令を含むコンピュータプログラムを記録している。メモリは、データベースも記憶し得る。メモリは、そのような記憶のために適合された、場合によっては、いくつかの物理的に異なる部分(例えば、プログラム用の1つと、おそらくは、データベース用の1つと)を含む、任意のハードウェアである。
方法は、一般に、モデリングされた物体を操作する。モデリングされた物体は、データベース内に記憶されたデータによって定義される任意の物体である。広義には、「モデリングされた物体」という表現は、データ自体も指す。「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モデリングされた物体は、したがって、(例えば、自動車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモータ機器、トラックおよびバス、列車を含む)地上車の部品、(例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む)飛行体の部品、(例えば、海軍機器、商船、沖合機器、ヨットおよび作業船、舶用機器を含む)船舶の部品、(例えば、工業製造機械、移動重機械または機器、設置機器、産業機器製品、加工金属製品、タイヤ製造製品を含む)機械部品、(例えば、民生用電子機器、セキュリティおよび/または制御および/または計装製品、コンピューティングおよび通信機器、半導体、医療デバイスおよび機器を含む)電気機械または電子部品、(例えば、家具、住宅および庭製品、レジャー用品、ファッション製品、耐久消費財小売業者製品、非耐久消費財小売業者製品を含む)消費財、(例えば、食品および飲料および煙草、美容およびパーソナルケア、家庭用品パッケージングを含む)パッケージングであり得る、工業製品を表す。方法は、3Dモデリングされた物体の美的側面が非常に重要な場合に、特に有益である。これは、3Dモデリングされた物体が、見える部品などの、自動車もしくは飛行機の機械部品、または消費財(例えば、カメラなどの電子製品)を表す場合に、そうである。
PLMシステムによって、物理的な製造製品を表すモデリングされた物体の管理のために適合された任意のシステムが、意味される。PLMシステムでは、モデリングされた物体は、したがって、物理的な物体の製造に適したデータによって定義される。これらは、一般に、寸法値および/または許容値であり得る。物体の正確な製造のために、そのような値を有することは、実際に、より良いことである。
CAMは、コンピュータ援用製造を表す。CAMソリューションによって、製品の製造データを管理するように適合された、任意のソリューション、ハードウェア、またはソフトウェアが、意味される。製造データは、一般に、製造する製品、製造プロセス、および必要とされるリソースに関連するデータを含む。CAMソリューションは、製品の全製造プロセスを計画し、最適化するために使用される。例えば、それは、実現可能性、製造プロセスの持続時間、または製造プロセスの特定のステップにおいて使用され得る、特定のロボットなどの、リソースの数についての情報を、CAMユーザに提供することができ、したがって、管理または必要とされる投資についての決定を可能にする。CAMは、CADプロセスおよび潜在的なCAEプロセスの後の後続プロセスである。そのようなCAMソリューションは、DELMIA(登録商標)という商標の下で、ダッソーシステムズによって提供されている。
CAEは、コンピュータ援用エンジニアリングを表す。CAEソリューションによって、モデリングされた物体の物理的挙動の分析のために適合された、任意のソリューション、ソフトウェア、またはハードウェアが、意味される。よく知られた広く使用されているCAE技法は、モデリングされた物体を、物理的挙動が式を通して計算され、シミュレートされることができる要素に分割することを一般に含む、有限要素法(FEM)である。そのようなCAEソリューションは、SIMULIA(登録商標)という商標の下で、ダッソーシステムズによって提供されている。別の成長しつつあるCAE技法は、CADの幾何学的形状データを用いない、物理学の異なる分野に属する複数の構成要素からなる複雑なシステムのモデリングおよび分析を含む。CAEソリューションは、シミュレーションを可能にし、したがって、製造する製品の最適化、改良、および検証を可能にする。そのようなCAEソリューションは、DYMOLA(登録商標)という商標の下で、ダッソーシステムズによって提供されている。
PDMは、製品データ管理を表す。PDMソリューションによって、特定の製品に関連するすべてのタイプのデータを管理するように適合された、任意のソリューション、ソフトウェア、またはハードウェアが、意味される。PDMソリューションは、製品のライフサイクルに関わるすべての当事者によって、すなわち、主にエンジニアによって、しかし、プロジェクトマネージャ、財務担当者、販売担当者、および購入者によっても、使用され得る。PDMソリューションは、一般に、製品指向データベースに基づいている。それは、ユーザが、製品についての一貫したデータを共有することを可能にし、したがって、当事者が、異なるデータを使用することを防止する。そのようなPDMソリューションは、ENOVIA(登録商標)という商標の下で、ダッソーシステムズによって提供されている。
図2は、システムの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は、ユーザがグラフィックツールと対話することを可能にするために、触覚デバイスによって制御され得る。
図3は、システムの例を示しており、システムは、クライアントコンピュータシステム、例えば、ユーザのワークステーションである。
例のクライアントコンピュータは、内部通信バス1000に接続された中央処理装置(CPU)1010と、やはりバスに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータは、バスに接続されたビデオランダムアクセスメモリ1100と関連付けられたグラフィカル処理ユニット(GPU)1110をさらに提供される。ビデオRAM1100は、当技術分野では、フレームバッファとしても知られている。大容量記憶デバイスコントローラ1020は、ハードドライブ1030などの、大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを有形に実施するのに適した大容量メモリデバイスは、すべての形態の不揮発性メモリを含み、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクおよび着脱可能ディスクなどの磁気ディスク、光磁気ディスク、CD−ROMディスク1040を含む。上記のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補完され得、またはそれに組み込まれ得る。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイスまたはキーボードなどの触覚デバイス1090も含み得る。カーソル制御デバイスは、ユーザが、ディスプレイ1080上の任意の所望の位置にカーソルを選択的に位置付けることを可能にするために、クライアントコンピュータにおいて使用される。加えて、カーソル制御デバイスは、ユーザが、様々なコマンドを選択すること、および制御信号を入力することを可能にする。カーソル制御デバイスは、システムに制御信号を入力するための数々の信号生成デバイスを含む。典型的には、カーソル制御デバイスは、マウスであり得、マウスのボタンが、信号を生成するために使用される。あるいは、または加えて、クライアントコンピュータシステムは、センシティブ/タッチパッド、および/またはセンシティブ/タッチスクリーンを備え得る。
コンピュータプログラムは、コンピュータによって実行可能な命令を含み得、命令は、上述のシステムに方法を実行させるための手段を構成する。プログラムは、システムのメモリを含む、任意のデータ記憶媒体上に記録可能であり得る。プログラムは、例えば、デジタル電子回路で、またはコンピュータハードウェア、ファームウェア、ソフトウェア、もしくはそれらの組み合わせで実施され得る。プログラムは、装置として、例えば、プログラム可能なプロセッサによる実行のために機械可読記憶デバイス内で有形に実施される製品として実施され得る。方法ステップは、入力データを操作し、出力を生成することによって、方法の機能を実行するために、命令からなるプログラムを実行する、プログラム可能なプロセッサによって実行され得る。プロセッサは、したがって、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するように、プログラム可能であり、結合され得る。アプリケーションプログラムは、高水準手続きプログラミング言語もしくはオブジェクト指向プログラミング言語で、またはそれが望ましければ、アセンブリ言語もしくは機械語で実施され得る。いずれの場合も、言語は、コンパイラ言語またはインタープリタ言語であり得る。プログラムは、完全インストールプログラムまたは更新プログラムであり得る。システム上でのプログラムの適用は、いずれの場合も、方法を実行するための命令をもたらす。
表面点のグリッドがいわゆる「グレヴィル」点のグリッドである方法の例が、今から説明される。グレヴィル点は、グレヴィル横座標におけるNURBS曲面の評価によって与えられる3D点である。さらに、グレヴィル横座標は、NURBS曲面の制御点のパラメータである。NURBS曲面がS10の前に専門家の設計者によって設計されている通常のシナリオでは、グレヴィル点は、グリッド上の連続するグレヴィル点の間の線分が、同じオーダの長さを有する(例えば、線分の少なくとも80%が、例えば、平均の長さに対してプラスまたはマイナス20%である)、一様な多面体を形成する。グレヴィル点は、したがって、S10において提供された表面についての初期設計者のユーザ意図を伝え、特にこれらの点の操作は、方法を特にユーザフレンドリなものにする。グレヴィル点のグリッドは、制御点のグリッドと、初期設計者がモデルに追加することを望んだディテールの局所密度とを反映する。実際に、設計者がディテールを追加することを望んだ場合、グレヴィル点は、設計者がそのようなディテールを望まなかった場合と比較して、より高い局所密度を有する。方法は、したがって、S10において提供される表面が、S10の前に人間の設計者によって設計され、いくつかのスケールで局所形状を提示する局所ゾーンを有する、全体的プロセスにおいて、特に有益であると分かり得る。グレヴィル点の密度は、ゾーンの表面エリアによって分けられるゾーンのグレヴィル点の数として見られ得、そのような場合、局所ゾーンが高いレベルのディテールを提示する場合に、(統計的に)より高くなる。グレヴィル点のグリッドは、NURBS曲面の等横座標上で定義されるので、境界効果は、制限される。
方法は、3Dモデリングされた物体を表すNURBS曲面(例えば、それの境界)の変更を可能にする。それ自体が知られているように、NURBS曲面は、いわゆる「制御点」の(2D)グリッドによって定義され、「グリッド」の定義は、通常のトポロジ的なものであり、例えば、いくつか(少なくとも2つ)の行と、いくつか(少なくとも2つ)の列とを有する。方法のどこであれ、コンピュータシステムは、NURBS曲面に属し、事前決定された可逆関数に従って制御点のグリッドに対応する表面点のグリッドを決定する(S20)。表面点は、幾何学的に表面上にある/表面に属する点である。NURBSの場合、表面の素直なグリッドは、例のグレヴィル点のグリッドである。NURBSの表面グレヴィル点と(一般には表面自体の外側の)制御点との間の1対1対応を可能にする、事前決定された可逆関数が、NURBS幾何学的形状を記述する広く知られた数学から事前決定され、提供される。これらの数学は、しかしながら、完全を期して、これ以降で詳述される。S20の決定は、表面およびその制御点が変更されるたびに、グレヴィル点をリアルタイムで再計算する、バックグラウンドプロセスとして、任意の方法で実行され得ることに留意されたい。
NURBS曲面は、2D空間において定義され、3D空間における値を有する、すなわち、S(u,v)→(x,y,z)である、CADにおいて広く使用されている、曲面である。NURBS曲面は、2つの節点ベクトルと、制御点の2次元配列と、場合によっては、使用されるCADソフトウェアに依存する他のデータとを用いて表される。一般に、節点ベクトルは、浮動小数点値の1D配列である。制御点の配列は、インデックス付けされ得る。各制御点は、座標x、y、zを有する3D点である。配列内の場所は、0≦i<M、0≦j<Nである、2つのインデックスi、jを用いて定められる。グレヴィルパラメータとして知られるパラメータのセットは、インデックスiまたはjの各値が、グレヴィルパラメータ(ui,vj)に関連付けられることができるように、節点ベクトルから計算されることができる。従来は、グレヴィルパラメータは、節点ベクトルの一定数の連続する値の平均の対である。「次数」と呼ばれる、この一定数は、節点ベクトルの各次元(uまたはv)によって異なり得る。一般に、1対の次数は、NURBS曲面を表すデータに属する。より詳しいことについては、論文(例えば、非特許文献5参照)が、NURBS曲面の基本を提供している。
古典的には、NURBS曲面は、以下の入力によって定義される。
1.(n+1)(m+1)個の制御点
のグリッド、i∈{0,...,n}、j∈{0,...,m}。
2.後で説明されるある理由で、「次数」と名付けられた2つの正の整数p、q。
3.「u節点ベクトル」と名付けられた、実数u0≦…≦ui≦ui+1≦…≦up+n+1からなる第1の順序付けられたリスト、最初のp+1個の値uiは、等しく、最後のp+1個の値uiは、等しい。
4.「v節点ベクトル」と名付けられた、実数v0≦…≦vj≦vj+1≦…≦vq+m+1からなる第2の順序付けられたリスト、最初のq+1個の値vjは、等しく、最後のq+1個の値vjは、等しい。
5.(n+1)(m+1)個の重み数ωij>0のグリッド、i∈{0,...,n}、j∈{0,...,m}。
これらの入力は、2つのBスプライン基底を定義し、それぞれ、
、i∈{0,...,n}、および
、j∈{0,...,m}と表される。基底Bスプライン関数
および
は、次数がそれぞれpおよびqである、区分的多項式である。それらの詳細な定義は、本発明には有用ではない。NURBS曲面
は、以下の有理パラメータ化によって定義される。
同様に、NURBS曲線
は、以下の式に含まれる、次数pと、n+1個の制御点Piからなるリストと、重みωiによって定義される。
実際に、数学的な観点からは、NURBS曲面は、2つのNURBS曲線のテンソル積である。明確にするために、方法は、NURBS曲面の代わりに、NURBS曲線を用いて、(以下の図において)主に説明される。
グレヴィル点が、今から説明される。
グレヴィル横座標は、
、k∈{0,...,n}、l∈{0,...,m}と表される、(u,v)パラメータの特定の値である。それらは、以下の式によって一意的に定義される。
言い換えると、グレヴィル横座標は、節点ベクトルのp個の(他方はq個の)連続する値の平均値である。制御点Pklによって最も影響される表面上の点が、いわゆるグレヴィル点
である。ある意味で、グレヴィル点は、表面における制御点の影響を明らかにする。グレヴィル点を
と表すと、NURBS曲面の定義に従って、グレヴィル点と制御点との間の関係は、以下の線形式によって定義される(また、これは、「事前決定された可逆関数」の可能な定式化である)。
より便利な式は、すべてのグレヴィル点のすべての座標からなる行ベクトルを、
のように、Gと表すことによって、またすべての制御点のすべての座標からなる行ベクトルを、
のように、Pと表すことによって、獲得される。
次に、先の式は、線形変換
を定義し、
G=AP
および
P=A-1
である。
線形変換Aは、(3(n+1)(m+1))×(3(n+1)(m+1))の正方行列であり、先行技術によれば、それは、(あらゆるグレヴィル点が、1回だけ選択されるならば、行列内の与えられた行が、2回出現しないならば)可逆である。
図4は、NURBS曲線を、そのn+1=6個の制御点Piおよびグレヴィル点Giと一緒に示している。
さて、方法は、ユーザ対話を介する表面の変更を可能にする。そのために、コンピュータシステムは、NURBS曲面を、およびNURBS曲面上に表面点のグリッドを表示する(S30)。S30の表示は、ここでもやはり、バックグラウンドプロセスとして、例えば、方法全体にわたって(例えば、変更を実行するための方法の反復のどこででも)実行され得る。S30の表示は、例えば、表面の境界を強調し、表面に陰影を付けることによって、CADにおいて表面を表示する任意の古典的な方法で実行され得る。点のグリッドは、コンピュータシステムの表示デバイス(例えば、スクリーン)上に、例えば、肉太など、強調されて、黒丸または四角形として一般に表示され、それらは、表面のグラフィカル表現の上にあるように表示される。ユーザが、表面および表面上の表面点(例ではグレヴィル点)のグリッドの視覚的表現を提供される限り、他の任意のグラフィカル表現も、使用され得る。
ユーザは、次に、S40において、グラフィカルユーザ対話によって、表面点のサブセットを選択する。グラフィカルユーザ対話は、任意の方法で実行され得る。一般に、ユーザは、選択機能を起動し、次に、例えば、カーソル、タッチペン、または自分の指を用いて、表示されたグレヴィル点の表現と対話する。あるいは、ユーザは、(機能を起動することなく)グレヴィル点の表示されたグラフィカル表現と直接的に対話し得る。先に言及されたように、コンピュータシステムは、S40において、グリッドの同じ行または列の上にないいくつかの表面点を含む、表面点の任意のサブセットの選択を、実質的に同時に提供し得る。実際に、ユーザは、基準の幾何学的形状から同じ距離にあるいくつかの点を動かすことを望むことがあり、方法は、それによって、ただ1つの操作で、このアクションの達成を提供し得る。ユーザは、例えば、次々に、表面点を選択し得る。
ユーザは、次に、S52において、グラフィカルユーザ対話によって、表面点の選択されたサブセットの位置を変更することができる。これは、任意の方法で、例えば、ドラッグアンドドロップ操作によって、実行され得る。ドラッグアンドドロップは、S40の選択の後に連続的に続き得る。例えば、ユーザは、表示された表面点をクリック、タッチ、またはダブルクリック、もしくはダブルタッチすることができる。次に、ユーザは、全選択についてのクリック/タッチしながらのドラッグアンドドロップを実行することができる。システムは、そのような操作を、表面点の位置の変更と解釈し、解釈は、任意の古典的な方法で実行される。
コンピュータシステムとのこのグラフィカルユーザ対話全体に従って、方法は、コンピュータシステムによって、表面をリアルタイムに、例えば、自動的に更新する(S54)。S54の更新は、事前決定された可逆関数に従って実行され、すなわち、グレヴィル点の位置とNURBSの定義、すなわち、制御点の位置との間の数学的な結び付きを維持する。NURBSを定義する他のすべての上で言及されたデータは、(先に説明されたように)触れずにおかれ得、それによって、ユーザの意図を保存する。S54の更新の実施は、上で提供された数学的な説明から得られる。S54の更新は、それによって、(制御点の位置を変更することによって)表面を変更し、したがって、S30の表示を変更するが、(節点ベクトルはまったく変更されないので)NURBS曲面の初期構造を維持し、したがって、ユーザの意図を維持する。操作は、ユーザによって望まれるだけ何度も反復され得るが、反復がどのように処理されるか、ならびに変更の検証および/または取り消しの問題は、実施詳細であることに留意されたい。
従来のモデルの難点は、制御点が表面上に配置されないことである。それらは、表面から離れたグリッドを定義するので、表面の編集は、制御点を動かし、表面の変化をチェックし、必要であれば、再び制御点を動かすということを繰り返す、間接的なプロセスである。物理学ベースの方法は、力の印加を含み、ユーザは、力の大きさおよび位置を調整する必要があり、それは、実際のところ、間接的な操作であるので、同じ難点を抱えている力を印加することによって表面を変形させることは、時に「直接操作」と名付けられるが、ユーザは、実際には表面上の点を扱っていないので、これは、不適切であることに留意されたい。さらに、物理学ベースの方法は、非線形微分方程式を解くこと、および過剰決定された相反する制約を含むが、これは、計算時間を消費し得る。制御点は、CAD業界で広く使用されているが、直接的な編集プロセスを通して、表面上に配置された点を動かすことによって、表面の形状を変化させる能力が、有利である。
例の方法は、本質的に表面上に配置されるグレヴィル点を使用することによって、NURBS曲面の直接的な変形を可能にする。さらに、スムージングプロセスを通して、また近隣の幾何学的形状を含むことによって、後で説明される別の例の方法は、グレヴィル点編集の望ましくない影響を回避する。先行技術とは対照的に、方法は、何らかの外部の幾何学的形状を選択することにはよらない、表面上の点を選択することによる、直接的な変形を可能にする。この直接的な変形は、非常にポピュラな制御点の直感的な挙動が、保存されるように、スムーズで淀みのないものにされる。数学的な解法は、後で提供される例におけるように、幾何学的な更新を非常に高速で信頼性の高いものにする、線形方程式に基づいている。これは、スタイリング設計の生産性を改善する。
素直なソリューションは、ユーザに、グレヴィル点Gの位置をG’に変化させ、新しい制御点P’を、P’=A-1G’を使用することによって計算させることである。発明者らによって実行された実験は、図5に示されるように、このソリューションによって、望ましくない振動が表面上に生じることを示している。左側の部分は、(図示されていない)6個の制御点によって定義された、水平なNURBS曲線である。ドットは、曲線のグレヴィル点である。グレヴィル点G4が、G’4に動かされる。右側の部分は、予想外の振動を有する結果のNURBS曲線を示している。点線の線分群は、NURBS曲線の制御多角形である。この副次的影響は、NURBS曲面を操作するために、グレヴィル点が従来は使用されなかった理由である。問題は、以下の誤解から生じている。現実的には、ユーザは、すべてのグレヴィル点を同時に変化させないが、式P’=A-1G’は、ユーザによって選択されたグレヴィル点を考慮して、他のすべてのグレヴィル点を変化させずに保つというように、要求を翻訳する。選択されないグレヴィル点を変化させずに保つことは、ソリューションを大変扱いにくくする。
方法は、いわゆる「緩和」を実行することによって、この問題を軽減し得る。ユーザによって選択されないグレヴィル点を自由にしようという発想である。この自由度のおかげで、選択されない制御点は、変位させられ、ユーザの期待したスムーズな挙動を生じる。特に、S54の制御点のグリッドの更新は、表面点の選択されたサブセットの位置は変更された通りである(すなわち、S52においてユーザによって要求された通りである)という(例えば、特有の)制約の下で、NURBS曲面の変形に対してペナライズするプログラムを最適化することによって実行され得る。言い換えると、S54の更新は、ユーザによって選択され、動かされたグレヴィル点は、結局、ユーザがそれらを動かした通りであるが、必要であれば、選択されないグレヴィル点を動かすことによって、NURBS幾何学的形状の全体的な変形を最小化することを保証するだけである(一般的に言うと、その目的に役立つプログラムは、適用される数学の分野から知られるような、適切なペナライゼーション条件を用いて最適化される)。したがって、選択されないグレヴィル点は、S54を実行するとき、自由にされ、または「緩和される」。
NURBS曲面の変形に対してペナライズするために保持される基準は、そのような機能を果たす任意の事前決定された数学的な基準である。例では、プログラムは、各それぞれの制御点について、更新前のそれぞれの制御点と更新後のそれぞれの制御点との間の距離に対してペナライズする。例えば、ユークリッド距離(またはソリューションの単一性を保証する、凸であるエネルギーを誘発する、任意のそのような距離)など、任意の距離が、使用され得る。言い換えると、プログラムは、S54の更新後、制御点をそれらの元の位置に向かって、できるだけ(もちろん、ユーザによって課された制約を尊重しながら)「押す」。これは、高速な計算を可能にする。
ijを、ユーザが変形を開始する前の表面である、初期表面の制御点であるとする。
であるとし、ここで、V⊂{0,...,n}×{0,...,m}は、ユーザによって選択されたグレヴィル点である。必ずしもすべてのグレヴィル点が、同時に選択されるとは限らず(それも可能であり、その場合は、P=A-1Gである)、すなわち、V≠{0,...,n}×{0,...,m}であることに留意されたい。例のスムージング原理は、初期制御点Qijにできるだけ近い、新しい制御点Pijを計算することである。
数学的観点からは、新しい制御点Pijは、変化させられたグレヴィル点に従う、すなわち、
であるという(線形)制約の下で、初期制御点と新しい制御点の間の平方距離の和は、例では、
のように最小化され得る。
この和は、すべての重みが1に等しい、後で言及される加重和と見なされることができることに最初に留意されたい。
先の線形連立方程式は、3(n+1)(m+1)個のスカラ未知数(制御点Pijの座標)と、3|V|個のスカラ方程式とを有し、ここで、|V|は、集合Vの要素の数を表すことにも留意されたい。すべてのグレヴィル点が、選択されるとは限らないので、|V|<(n+1)(m+1)である。結果として、先の線形連立方程式は、方程式よりも多くの未知数を有する。
それは、
と書かれることができ、ここで、
は、線形変換
である。
数学的な問題は、今では、線形制約の下での2次目的関数の最小化である。やはり、Qを、すべての制御点のすべての座標からなる行ベクトルとする。
標準的な数学的定式化は、以下の通りであり、ここで、Pは、未知数であり、Qおよび
は、入力ベクトルであり、
は、入力行列である。
図6は、(1)ユーザがグレヴィル点G4、G5を選択し、(2)ユーザが点G4をG’4に動かすというシーケンスからもたらされる、NURBS曲線を示している。システムの観点からは、選択されたグレヴィル点G5は、固定的に設定され、選択されないグレヴィル点G1、G2、G3は、G’4およびG5に適合する非振動曲線を保証するために、動かされる。点線の線分群は、NURBS曲線の制御多角形である。
プログラムは、ラグランジュの解法を用いて、効率的に解かれ得る。これは、線形時間の解法を可能にする。実際に、ラグランジュの解法は、それ自体が知られているように、付随関数のパラメータを決定することを含み得、付随関数は、S40において選択された表面点のサブセットの位置を入力として取り、付随関数は、更新された制御点を出力する。方法は、次に、変更された通りの表面点の選択されたサブセットの位置に付随関数を適用し得、それによって、線形時間で結果を出力する。
ラグランジュの解法は、特に、解法をサブステップに分解することを可能にし、そのいくつかの結果は、効率を高めるために再使用され得、したがって、応答性を改善する。表面点の選択されたサブセットの位置を変更するステップS52、および制御点のグリッドを更新するステップS54は、実際に、表面点の同じ選択されたサブセットを用いて反復され得る。言い換えると、ユーザは、S40において、グレヴィル点のセットを選択し、次に、反復されるステップバイステップの操作で(例えば、試行錯誤方式で)それらを動かす。付随関数のパラメータは、そのような場合は、最初の反復において計算および記憶され得、その後、後続の反復にわたって取り出され得る。ラグランジュの解法によって可能にされる、グラフィカル応答を最適化する、すでに計算された行列のこのスマートな再使用は、以下で詳述される。
記号的な解決は、ラグランジュの未定乗数法の古典的な適用である。計算は、一貫性を保つために再現される。もっぱら解法の目的で、未知のラグランジュ乗数ベクトル
が、問題のラグランジュ関数が
となるように、導入される。
問題の方程式は、
である。
行列の転置を・Tと表すと、Lの偏導関数は、
である。
結果として、未知数Pおよびλを有する線形連立方程式は、
となる。
行列とベクトルによる等価の定式化は、
であり、この式の左端の行列は、各グレヴィル点の単一性のため、可逆であることに留意されたい。
この連立方程式は、以下のように解かれる。第1の方程式を
によって乗算すると、
となる。
次に、第2の方程式を使用することによって、
となる。
行列
は、行列Aを可逆にするのと同じ理由で、先行技術によれば、可逆である。結果として、λは、
と計算される。
最後に
である。
これは、入力データQおよび
の役割を分離することによって、
と整理されることができる。
このように、反復的な適用に対するフィードバックをリアルタイムに表示する場合、第1の項は、一定のままであり、第2の項だけが、更新される必要がある。NURBS曲面およびグレヴィル点が、ひとたび選択されると、第1のステップが、行列
と、ベクトル
とを計算する。行列MおよびベクトルVは、グレヴィル点の操作中、変化させずに保たれる。次に、ユーザが、選択されたグレヴィル点
を動かした場合、アルゴリズムは、
を計算することによって、制御点Pを更新する。図7は、この例のデータフローを示している。正方行列
のサイズは、ユーザ選択されたグレヴィル点の数に比例し、一般には非常に小さいことに留意されたい。
別の例では、プログラムは、各それぞれの制御点について、一般に1とは異なる(すなわち、上で説明された例におけるのとは異なる)(例えば、正の)重みを用いて、更新前のそれぞれの制御点と更新後のそれぞれの制御点との間の距離に対してペナライズする。重みは、それぞれの制御点に対応する表面点と表面点の選択されたサブセットとの間の距離の増加関数の値によって提供され得る。言い換えると、距離が、(例えば、厳密に)より高いほど、重みは、(例えば、厳密に)より低い。先のように、選択されない表面点は、(選択されないグレヴィル点については、それらの初期位置である、ユーザの要求に対して)自由に動き得るが、今では、自由は、グレヴィル点がS40において実行された選択から遠くなるにつれて「減少する」。点と点のセットの間の距離は、数学的に定義され、明確である。ここでは、保持される距離は、例えば、表面点のグリッドに基づいたマンハッタン距離であり得る。そのようなソリューションは、より直感的な結果をもたらす。方法は、グラフィカルユーザ対話によって、増加関数をパラメータ化するステップをまたさらに含み得る。したがって、ユーザは、S54の更新の背後の数学とグラフィカルに対話し得る。これは、スライダなど、システムのGUIによって提供される特定のウィジェットを介して実行され得る。これは、すべて、「ユーザ制御の微調整」を可能にする。
そのような制御をユーザに提供するために、いわゆる「影響エリア」、いわゆる「影響率」、およびいわゆる「規制パラメータ」の定義が、例において、方法によって使用され得る。方法のこの例では、増加関数は、選択されたグレヴィル点に対応する各それぞれの制御点については、1に等しく、影響エリア内のグレヴィル点に対応する他の制御点については、1よりも大きい第1の事前決定された数(実質的に実数)(第1の事前決定された数は、例では、後で詳述される1/αである)に等しく、(影響エリア外のグレヴィル点に対応する)他の(すべての)制御点については、第1の事前決定された数よりも少なくとも10倍大きいが、好ましくは、実質的に無限大である、第2の事前決定された数(実質的に実数)(すなわち、最適化プログラムにおいて、そのような第2の数によって加重された制御点のいかなる動きも妨げる機能を有する数)に等しい、インジケータ関数である。例えば、この影響エリアは、特に、(選択されたグレヴィル点、および)表面点の選択されたサブセットまでのマンハッタン距離が、表面点のグリッドに関して(すなわち、基づいて)、事前決定された閾値を下回る、すべての選択されないグレヴィル点を含み得る。より洗練されたユーザフレンドリな別の例が、しかしながら、後で詳述される。グラフィカルユーザ対話によるパラメータ化は、(上で言及されたスライダによって)第1の事前決定された数において実行され得る。コンピュータシステムは、ユーザにかかる負担を相対的に低く保つために、他のすべてのパラメータ(すなわち、事前決定された閾値および第2の数)を、事前決定された方法で(例えば、第1の事前決定された数は、例えば、影響エリアを定義する閾値パラメータに関連する)、処理し得る。
微調整は、他の方法によって(一般には、ガウス関数の畳み込み積を使用することによって)実施されることができることに留意されなければならない。重みは、ガウス関数のデカルト積として定義されることができる(これは、画像処理において広く使用されている技法である)。そのような場合、上で言及された唯一の閾値パラメータの代わりに、2つのパラメータ(ガウス分布の標準偏差および大きさ)が、存在する。重みは、それぞれの制御点に対応するグレヴィル横座標における2Dガウス分布の値に関連する。しかし、上で言及され、これ以降で詳述される技法は、ユーザの観点からは、良好な結果を与える。
以下では、Nは、非常に大きい定数であり、一般に、N=1012
である。ユーザの観点からは、εは、ゼロの役割を果たす。強化されたソリューションとして、方法は、例では、グレヴィル点の選択に加えて、変形の程度を調整するために、ユーザ定義の影響率を提供する。スライダは、上で言及された閾値を全単射的に決定し得る、影響率だけのために提供され得る。影響エリアは、事前決定された方法で計算され得る。例の方法は、したがって、図8のフローチャートに従って実行され得る。
(影響エリア)
上で言及されたように、影響エリアは、洗練された例では、選択された非角隅表面点に中心が置かれた表面点のグリッド内の最大の正方形に属する、または選択された角隅表面点を含む表面点のグリッドのクオータに属する、すべての表面点からなる。これは、これ以降で詳述される。
T={(i,j)∈{0,...,n}×{0,...,m}}を、グレヴィル点のグリッドのインデックスとし、(i0,j0)∈{0,...,n}×{0,...,m}を、任意のインデックスとする。おおまかに言うと、Z(i0,j0)と表される、(i0,j0)の影響ゾーン/エリアは、T内に含まれることができる(i0,j0)に中心が置かれた最大の正方形として、任意に定義され得る。
より正確には、
を、δ(0)=1、x≠0ならば、δ(x)=0によって定義されるとする。
min(i,j)=min{min{i0,n−i0},min{j0,m−j0}}
とし、
max(i,j)=max{min{i0,n−i0},min{j0,m−j0}}
とする。
ここで、
1(i,j)=kmin(i,j)+δ(kmin(i,j))kmax(i,j)
とする。
(i0,j0)が、Tの角隅インデックスではないことを意味する、k1(i0,j0)>0である場合、影響エリアは、
Z(i0,j0)={(i0+i,j0+j);i,j∈{−k1(i0,j0),...,k1(i0,j0)}∩T}
である。
(i0,j0)が、Tの角隅インデックスであることを意味する、k1(i0,j0)=0である場合、影響エリアは、(i0,j0)を含むグリッドのクオータである。
定義によって、インデックス(k,l)∈Vのサブセットの影響エリアは、すべての影響エリアの和集合である。
図9は、グリッドの内部の選択されたグレヴィル点の影響エリア(のインデックス)(左側グリッド)と、グリッド境界上の選択されたグレヴィル点の影響エリア(のインデックス)(中央および右側グリッド)とを示している。選択されたグレヴィル点は、「○」で印付けされ、影響エリアは、「×」点および「○」点を含む。図10は、2つの選択されたグレヴィル点の影響エリア(のインデックス)(左側グリッド)と、一列の選択されたグレヴィル点の影響エリア(のインデックス)(右側グリッド)とを示している。最後に、ユーザ選択のグレヴィル点(Gkl(k,l)∈VのインデックスVを与えると、グリッドTのインデックスは、3つのカテゴリに整理される。影響エリアの外部T−Z(V)、ユーザ選択のインデックスV、およびユーザ選択ではない影響インデックスZ(V)−Vである。
(影響率)
影響率は、ユーザ定義された数α∈[ε,1]である。それは、第1の事前決定された数を一意的に定義し、それは、それによって、ユーザ設定を介してパラメータ化可能である。それは、影響エリアを間接的に定義するためにも使用され得る。最も小さい変形率は、α=εを用いて獲得される。最も広い変形率は、α=1を用いて獲得される。ユーザインターフェースの観点からは、ゼロ値が、εの代わりに表示される。このように、ユーザは、区間[0,1]内でパラメータを操作し、それは、より簡単である。
(規制パラメータ)
多次元規制パラメータμが、導入される。それは、例では、ユーザには隠されている、内部モデリングパラメータである。
規制パラメータの役割は、未知の制御点Pijが、初期制御点Qijの近くにどのように保たれるかを調整することである。先に定義された最小化プログラムは、以下のように適合される。
規制パラメータμの数値は、事前決定された影響エリアZ(V)と、ユーザ定義の影響率αとによって定義される。
● (i,j)が、影響エリアの外にある、すなわち、(i,j)∈T−Z(V)である場合、μij=Nである。
● (i,j)が、ユーザ選択のグレヴィル点のインデックスである、すなわち、(i,j)∈Vである場合、μij=1である。
● (i,j)が、影響エリアの内部であるが、ユーザ選択のグレヴィル点のインデックスではない、すなわち、(i,j)∈Z(V)−Vである場合、
である。
結果として、最小化された基準は、
と書かれることができる。
明らかに、ユーザが、α=εと設定した場合、すべての(i,j)∈T−Vについて、μij=Nであり、最小化された基準は、
に等価である。
したがって、影響エリアの外のグレヴィル点と関連付けられたすべての初期制御点Qijは、非常に強い影響を有する。そのため、表面変形は、ユーザ選択されたグレヴィル点の近傍に狭められる。
他方、ユーザが、α=1と設定した場合、すべての(i,j)∈Z(V)について、μij=1であり、すべての(i,j)∈T−Z(V)について、μij=Nであり、最小化された基準は、
に等価である。
図11〜図13は、例示的なNURBS曲線における影響率の成形役割を示している。初期NURBS曲線は、水平曲線であり、ユーザのアクションは、左図に示されるように、中央のグレヴィル点を垂直に動かすことである。右図は、制御多角形(破線)と一緒の、結果のNURBS曲線である。図11では、影響率は、α=1である。図12では、影響率は、α=0.5である。図13では、影響率は、α=εである。選択されたグレヴィル点と関連付けられた制御点だけが、変位させられていることに留意されたい。他の制御点は、初期水平NURBS曲線のそれらである。
図14〜図16は、例示的なNURBS曲面変形における影響率の影響を示している。初期NURBS曲面は、平坦な区画であり、ユーザのアクションは、選択されたグレヴィル点(肉太のドット)を上方に動かすことである。明確にするために、制御点は、示されていない。図14では、影響率は、α=1である。図15では、影響率は、α=0.5である。図16では、影響率は、α=εである。成形効果は、結果のNURBS曲面の平坦化された角隅において、より良く見える。
上で詳述されたように、例のプログラムは、タイプが、
であり、ここで、PijおよびQijは、それぞれ、更新後および更新前の制御点である。そのような2次目的関数は、線形時間で解かれることができ、したがって、高い応答性を提供するので、解くのが簡単である。
この2次定式化が、今から説明される。
最小化された基準のより適切な定式化は、その係数が規制パラメータμijである、行列
を含む。行列Wは、先に説明されたように、規制パラメータμijを通して、影響率αに依存することに留意されなければならない。このように、式
は、
(P−Q)TW(P−Q)
に等価である。
先の定義から、Wが対角行列であることが、明らかである。
例えば、
と表し、n=m=1を選択すると、元の式は、
である。
行列
を用いた、等価の簡潔な公式は、
である。
行列Wは、対角行列であるので、W=WTである。さらに、行列Wは、規制パラメータが消えないので、可逆である。
先に、重み付けされない(すなわち、重みμijがすべて1に等しい)例について、ラグランジュの解法が、説明されたので、この例のラグランジュの解法が、今から説明される。
ここでもやはり、記号的な解決は、ラグランジュの未定乗数法の古典的な適用である。計算は、一貫性を保つために再現される。もっぱら解法の目的で、未知のラグランジュ乗数ベクトル
が、問題のラグランジュ関数が
となるように、導入される。
問題の方程式は、
である。
Lの偏導関数は、
である。
に等価であるように、第1の行は、
と書かれることができる。結果として、未知数Pおよびλを有する線形連立方程式は、
となる。
行列とベクトルによる等価の定式化は、
である。
この連立方程式は、以下のように解かれる。
第1の方程式を
によって乗算すると、
となる。
次に、第2の方程式を使用することによって、
となる。
行列
は、行列
が可逆であるので、可逆であり、そのため、λが、計算される。
最後に
である。
これは、入力データQおよび
の役割を分離することによって、
と整理されることができる。
このように、リアルタイムフィードバックを表示する場合、グレヴィル点が、動かされるときは、第1の項は、一定のままである。反対に、影響率αが、変化させられる場合、規制パラメータμij、したがって、行列Wが、αに依存するので、両方の項が、更新される。
NURBS曲面およびいくつかのグレヴィル点が、ひとたび選択され、影響率αのデフォルト値が、設定されると、第1のステップが、行列
と、ベクトル
とを計算する。行列MおよびベクトルVは、グレヴィル点の操作中、変化させずに保たれる。次に、ユーザが、選択されたグレヴィル点
を動かした場合、アルゴリズムは、
を計算することによって、制御点Pを更新する。ユーザが、影響率αを変化させた場合、行列Mが、αに依存するので、すべての項が、更新を必要とする。図17は、データフローを示している。

Claims (8)

  1. 3Dモデリングされた物体を設計するコンピュータ実施方法であって、
    前記3Dモデリングされた物体を表し、制御点のグリッドによって定義されるNURBS曲面を、コンピュータシステムに提供するステップと、
    前記コンピュータシステムによって、前記NURBS曲面に属する表面点のグリッドを決定するステップであって、前記表面点のグリッドは、事前決定された可逆関数に従って、前記制御点のグリッドに対応するステップと、
    前記コンピュータシステムによって、前記NURBS曲面を、および前記NURBS曲面上に前記表面点のグリッドを表示するステップと、
    グラフィカルユーザ対話によって、前記表面点のサブセットを選択するステップと、
    グラフィカルユーザ対話によって、前記選択された表面点のサブセットの位置を変更し、前記コンピュータシステムによって、しかるべく、前記NURBS曲面をリアルタイムに更新するステップであって、前記更新するステップは、前記事前決定された可逆関数に従って、前記制御点のグリッドを更新することによって実行され、前記制御点のグリッドを更新することは、前記選択された表面点のサブセットの位置が変更された通りであるという制約の下で、前記NURBS曲面の幾何学的変形をペナライズすることを最大化または最小化することによって実行される、ステップと
    を含む方法。
  2. 前記表面点のグリッドが、グレヴィル点のグリッドである、請求項1に記載の方法。
  3. 前記ペナライズすることは、各それぞれの制御点について、前記更新前のそれぞれの制御点と前記更新後の前記それぞれの制御点との間の距離に対してペナライズすることによって実行される、請求項に記載の方法。
  4. それぞれの制御点について、前記それぞれの制御点に対応する前記表面点と前記選択された表面点のサブセットとの間の距離の増加関数である重みを用いて、前記更新前の前記それぞれの制御点と前記更新後の前記それぞれの制御点との間の距離ペナライズすることが実行される、請求項に記載の方法。
  5. 前記増加関数は、前記選択された表面点のサブセット内の表面点に対応する各それぞれの制御点については、1に等しく、選択された非角隅表面点に中心が置かれた前記表面点のグリッド内の最大の正方形に属する表面点に対応する、もしくは選択された角隅表面点を含む前記表面点のグリッドのクオータ(quarter)に属する表面点に対応する、他の各それぞれの制御点については、1よりも厳密に大きい第1の事前決定された数に等しく、他の各それぞれの制御点については、前記第1の事前決定された数よりも10倍大きい第2の事前決定された数に等しい、インジケータ関数である、請求項に記載の方法。
  6. グラフィカルユーザ対話によって、前記第1の事前決定された数を設定するステップを含む、請求項に記載の方法。
  7. 請求項1乃至6のいずれか1項に記載の方法を実行するための命令を含むコンピュータプログラム。
  8. メモリおよびグラフィカルユーザインターフェースに結合されたプロセッサを備え、前記メモリが請求項に記載のコンピュータプログラムを記録している、CADシステム。
JP2015236777A 2014-12-23 2015-12-03 制御点のグリッドによって定義される3dモデリングされた物体 Active JP6734044B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14307166.0 2014-12-23
EP14307166.0A EP3038060B1 (en) 2014-12-23 2014-12-23 3D modeled object defined by a grid of control points

Publications (2)

Publication Number Publication Date
JP2016119077A JP2016119077A (ja) 2016-06-30
JP6734044B2 true JP6734044B2 (ja) 2020-08-05

Family

ID=52358569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015236777A Active JP6734044B2 (ja) 2014-12-23 2015-12-03 制御点のグリッドによって定義される3dモデリングされた物体

Country Status (6)

Country Link
US (1) US10255381B2 (ja)
EP (1) EP3038060B1 (ja)
JP (1) JP6734044B2 (ja)
KR (1) KR20160076983A (ja)
CN (1) CN105718626B (ja)
CA (1) CA2914390A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10311399B2 (en) * 2016-02-12 2019-06-04 Computational Systems, Inc. Apparatus and method for maintaining multi-referenced stored data
CN106384384B (zh) * 2016-09-18 2020-05-05 上海理工大学 一种三维产品模型的形状优化方法
CN109791574B (zh) * 2016-09-28 2024-02-20 西门子工业软件有限公司 修改用于制造对象的制造指令的方法和数据处理系统
US10453253B2 (en) * 2016-11-01 2019-10-22 Dg Holdings, Inc. Virtual asset map and index generation systems and methods
US10930086B2 (en) 2016-11-01 2021-02-23 Dg Holdings, Inc. Comparative virtual asset adjustment systems and methods
US10915678B1 (en) * 2016-12-22 2021-02-09 Msc.Software Corporation Surface mapping apparatuses and methods
CN107292942B (zh) * 2017-05-04 2019-10-18 华南理工大学 一种权值c2连续的线性混合形状编辑方法
CN107798732B (zh) * 2017-10-27 2021-03-12 中国工程物理研究院应用电子学研究所 一种自由曲面形态控制方法
US11928391B2 (en) * 2019-04-02 2024-03-12 Autodesk, Inc. Hybrid surface modelling with subdivision surfaces and NURBS surfaces
CN110262250B (zh) * 2019-07-08 2020-04-21 济南大学 一种基于粒子群算法的b样条曲线拟合方法及系统
KR102303566B1 (ko) * 2020-08-25 2021-09-17 윤기식 가상의 그리드망을 통한 2차원 이미지의 3차원 모델링 생성 방법

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104855B2 (ja) 1985-03-28 1995-11-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 数値シミュレーション装置
US5428718A (en) * 1993-01-22 1995-06-27 Taligent, Inc. Tessellation system
US5510995A (en) * 1993-08-13 1996-04-23 Iowa State University Research Foundation, Inc. Sculptured surface synthesis based on functional design constraints
US6639592B1 (en) 1996-08-02 2003-10-28 Silicon Graphics, Inc. Curve network modeling
US6037949A (en) 1997-08-04 2000-03-14 Pixar Animation Studios Texture mapping and other uses of scalar fields on subdivision surfaces in computer graphics and animation
US6389154B1 (en) 1998-07-15 2002-05-14 Silicon Graphics, Inc. Exact evaluation of subdivision surfaces generalizing box splines at arbitrary parameter values
US6981695B1 (en) 2003-10-14 2006-01-03 Polaris Industries Inc. All terrain vehicle with multiple winches
US7196702B1 (en) 1998-07-23 2007-03-27 Freedesign, Inc. Geometric design and modeling system using control geometry
US6271856B1 (en) 1998-11-19 2001-08-07 Paraform, Inc. Creating and modifying parameterizations of surfaces
US6256038B1 (en) 1998-12-10 2001-07-03 The Board Of Trustees Of The Leland Stanford Junior University Parameterized surface fitting technique having independent control of fitting and parameterization
US6553337B1 (en) 1998-12-23 2003-04-22 Silicon Graphics, Inc. Parameterization of subdivision surfaces
CN1391683A (zh) * 1999-07-23 2003-01-15 鲍尔塔克奥夫公司 使用控制几何的几何设计和建模系统
US6636853B1 (en) 1999-08-30 2003-10-21 Morphism, Llc Method and apparatus for representing and navigating search results
JP2001067491A (ja) 1999-08-30 2001-03-16 Sega Corp 再分割多角形を用いる画像表示方法及び装置
US6603473B1 (en) 2000-04-12 2003-08-05 California Institute Of Technology Detail data pertaining to the shape of an object surface and related methods and systems
US7023435B1 (en) 2000-04-12 2006-04-04 California Institute Of Technology Object surface representation and related methods and systems
US6587105B1 (en) 2000-09-29 2003-07-01 Silicon Graphics, Inc. Method and computer program product for subdivision generalizing uniform B-spline surfaces of arbitrary degree
WO2002041190A2 (en) 2000-11-15 2002-05-23 Holbrook David M Apparatus and method for organizing and/or presenting data
US6738062B1 (en) 2001-01-10 2004-05-18 Nvidia Corporation Displaced subdivision surface representation
US6760022B1 (en) 2001-01-11 2004-07-06 Autodesk, Inc. Simple soft creases for subdivision surfaces
AU2002258107B2 (en) 2001-02-01 2008-12-11 Mental Images, G.M.B.H. & Co. Kg Generating smooth feature lines for subdivision surfaces
US7272541B2 (en) * 2001-02-16 2007-09-18 Dassault Systems Method and system for generating and handling a harmonized network of points
JP3954318B2 (ja) * 2001-03-09 2007-08-08 独立行政法人科学技術振興機構 3次元モデル変形システム
JP4330285B2 (ja) 2001-04-16 2009-09-16 沖電気工業株式会社 機械翻訳用辞書登録装置、機械翻訳用辞書登録方法、機械翻訳装置、機械翻訳方法及び記録媒体
US6806874B2 (en) 2001-07-24 2004-10-19 International Business Machines Corporation Method and apparatus for providing sharp features on multiresolution subdivision surfaces
US7080059B1 (en) 2002-05-13 2006-07-18 Quasm Corporation Search and presentation engine
US7227545B2 (en) 2002-05-24 2007-06-05 Autodesk, Inc. Unified subdivision scheme for polygonal modeling
US7200532B1 (en) 2002-06-14 2007-04-03 University Of Kentucky Research Foundation Subdivision surface-based geometric modeling system
US6950099B2 (en) 2002-07-01 2005-09-27 Alias Systems Corp. Approximation of Catmull-Clark subdivision surfaces by Bezier patches
JP2006523891A (ja) 2003-03-26 2006-10-19 ブリガム・ヤング・ユニバーシティ 局所洗練を用いてt−スプライン及びt−nurcc表面を定義するためのシステム及び方法
US7251777B1 (en) 2003-04-16 2007-07-31 Hypervision, Ltd. Method and system for automated structuring of textual documents
US8471852B1 (en) 2003-05-30 2013-06-25 Nvidia Corporation Method and system for tessellation of subdivision surfaces
US7369972B2 (en) 2003-11-25 2008-05-06 International Business Machines Corporation System, method, and program product for re-parameterizing three dimensional models represented as Catmull-Clark subdivision surfaces
US7936352B2 (en) 2004-07-21 2011-05-03 Dassault Systemes Solidworks Corporation Deformation of a computer-generated model
WO2006111976A2 (en) 2005-04-18 2006-10-26 Technion Research & Development Foundation Ltd. Automatic remeshing by mapping a 2d grid on 3d genus-g meshes based on topological analysis
US7595799B2 (en) 2005-08-04 2009-09-29 Dassault Systemes Process for creating from a mesh an isotopologic set of parameterized surfaces
US7400323B2 (en) 2005-08-04 2008-07-15 Dassault Systemes Process for creating a parametric surface having a required geometrical continuity
US7443393B2 (en) 2006-01-19 2008-10-28 International Business Machines Corporation Method, system, and program product for re-meshing of a three-dimensional input model using progressive implicit approximating levels
KR100707841B1 (ko) * 2006-04-04 2007-04-17 중앙대학교 산학협력단 3차원 목표곡선을 이용한 곡면 변형 장치 및 그 방법
US7821513B2 (en) 2006-05-09 2010-10-26 Inus Technology, Inc. System and method for analyzing modeling accuracy while performing reverse engineering with 3D scan data
EP1881457B1 (en) 2006-07-21 2017-09-13 Dassault Systèmes Method for creating a parametric surface symmetric with respect to a given symmetry operation
EP1881458B1 (en) 2006-07-21 2011-06-08 Dassault Systèmes Computer-implemented process for creating a parametric surface
US20080024499A1 (en) 2006-07-27 2008-01-31 Christopher Bateman Method and apparatus of manipulating parameterized surfaces
EP1883020B1 (en) 2006-07-28 2013-05-22 Dassault Systèmes Method and system for navigating in a database of a computer system
US20090027396A1 (en) 2007-07-26 2009-01-29 Tufts University Method for fitting a parametric representation to a set of objects
US8525838B2 (en) 2008-02-08 2013-09-03 Autodesk, Inc. Associative fillet
US8269770B1 (en) 2008-02-29 2012-09-18 Adobe Systems Incorporated Tessellation of trimmed parametric surfaces by walking the surface
US8610720B2 (en) 2009-04-24 2013-12-17 Adobe Systems Incorporated Decomposing an n-sided patch into multiple patches
CN101887470A (zh) * 2009-05-15 2010-11-17 鸿富锦精密工业(深圳)有限公司 常规曲面转换到自由曲面的计算机系统及方法
US8731876B2 (en) 2009-08-21 2014-05-20 Adobe Systems Incorporated Creating editable feature curves for a multi-dimensional model
US8810571B2 (en) 2011-02-14 2014-08-19 IntegrityWare, Inc. Methods and systems for generating continuous surfaces from polygonal data
EP2523130A1 (en) * 2011-05-11 2012-11-14 Dassault Systèmes Method for designing a geometrical three-dimensional modeled object
US9013480B2 (en) * 2011-10-21 2015-04-21 IntegrityWare, Inc. Methods and systems for generating and editing surfaces
US20130271459A1 (en) 2012-04-13 2013-10-17 IntegrityWare, Inc. Systems and methods of editing graphical data
EP2660782B1 (en) * 2012-05-02 2019-04-10 Dassault Systèmes Designing a 3D modeled object
CN103424070A (zh) * 2012-05-23 2013-12-04 鸿富锦精密工业(深圳)有限公司 曲面坐标系建立系统及方法
US9305391B2 (en) 2013-03-15 2016-04-05 3D Systems, Inc. Apparatus and methods for detailing subdivision surfaces

Also Published As

Publication number Publication date
EP3038060B1 (en) 2021-09-15
US20160179987A1 (en) 2016-06-23
JP2016119077A (ja) 2016-06-30
CN105718626A (zh) 2016-06-29
CA2914390A1 (en) 2016-06-23
EP3038060A1 (en) 2016-06-29
US10255381B2 (en) 2019-04-09
KR20160076983A (ko) 2016-07-01
CN105718626B (zh) 2021-09-07

Similar Documents

Publication Publication Date Title
JP6734044B2 (ja) 制御点のグリッドによって定義される3dモデリングされた物体
JP7235478B2 (ja) 3d部品の付加製造
US11144679B2 (en) Engraving a 2D image on a subdivision surface
CN108228987B (zh) 副本选择
JP6356378B2 (ja) 幾何学的三次元モデルオブジェクトを設計する方法
US7936352B2 (en) Deformation of a computer-generated model
JP7473335B2 (ja) ソリッドcadフィーチャを推測するためのニューラルネットワークの学習
CN105761303B (zh) 在3d建模组件上创建包围盒
JP7473336B2 (ja) ソリッドcadフィーチャを推測するためのニューラルネットワークの学習
KR100707841B1 (ko) 3차원 목표곡선을 이용한 곡면 변형 장치 및 그 방법
JP2023071722A (ja) 画像を入力とする関数を学習するためのデータセット
JP2020102215A (ja) ユーザインタラクションを介した3dモデルオブジェクトのデサイニング
CN104866645B (zh) 设计由方程式约束的物理系统
US20220207212A1 (en) Topology optimization with reaction-diffusion equations
Masuda et al. Preserving form features in interactive mesh deformation
US20230114354A1 (en) Designing a modeled object
CN111383342A (zh) 使用弱类型定义进行灵活建模
US20230195296A1 (en) Setting typed parameter

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200310

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200709

R150 Certificate of patent or registration of utility model

Ref document number: 6734044

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250