JP6513914B2 - 3次元シーンにおいて第1のポイントと第2のポイントとを結ぶパス設計 - Google Patents

3次元シーンにおいて第1のポイントと第2のポイントとを結ぶパス設計 Download PDF

Info

Publication number
JP6513914B2
JP6513914B2 JP2014150692A JP2014150692A JP6513914B2 JP 6513914 B2 JP6513914 B2 JP 6513914B2 JP 2014150692 A JP2014150692 A JP 2014150692A JP 2014150692 A JP2014150692 A JP 2014150692A JP 6513914 B2 JP6513914 B2 JP 6513914B2
Authority
JP
Japan
Prior art keywords
point
vertex
path
parallelepiped
vector
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
JP2014150692A
Other languages
English (en)
Other versions
JP2015026377A (ja
JP2015026377A5 (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 JP2015026377A publication Critical patent/JP2015026377A/ja
Publication of JP2015026377A5 publication Critical patent/JP2015026377A5/ja
Application granted granted Critical
Publication of JP6513914B2 publication Critical patent/JP6513914B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/14Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/16Cables, cable trees or wire harnesses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/06Curved planar reformation of 3D line structures

Description

本発明は、コンピュータプログラムおよびシステムの分野に関し、より詳細には、3次元シーンにおいて第1のポイントと第2のポイントとを結ぶパスを設計する方法、コンピュータ支援システムおよびコンピュータプログラムに関する。
オブジェクトの設計、エンジニアリングおよび製造に関するいくつかのシステムならびにプログラムが市場に提供されている。CADは、コンピュータ支援設計(Computer-Aided Design)の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関連する。CAEは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、例えば、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関連する。CAMは、コンピュータ支援製造(Computer-Aided Manufacturing)の頭字語であり、例えば、製造工程および製造作業を定義するためのソフトウェアソリューションに関連する。このようなコンピュータ支援設計システムにおいて、技術の効率に関してはグラフィカルユーザインタフェースが重要な役割を果たす。これらの技術をプロダクトライフサイクルマネジメント(PLM)システムに組み込むことができる。PLMは、企業が拡張された事業概念に沿って製品データを共有し、共通のプロセスを適用し、製品の構想から寿命までの製品開発に関する企業知識を活用する助けとなるビジネス戦略を指す。
Dassault Systemesにより提供されるPLMソリューション(CATIA、ENOVIAおよびDELMIAの商標に基づく)は、製品エンジニアリング知識を体系化するエンジニアリングハブと、製造エンジニアリング知識を管理する製造ハブと、事業を統合してエンジニアリングハブと製造ハブの両方に接続することを可能にする事業ハブとを提供する。このシステムが一体となって、製品、プロセス、リソースをリンクして、動的で、知識ベースの製品創造および意思決定支援を可能にすることによって最適化された製品定義、製造準備、生産およびサービスを推進するオープンオブジェクトモデルを遂行する。
CAD/CAE/CAMのコンテキストにおいて、製品の設計は、2点間のルートの設計を含むことである。ルートの設計は、典型的には、管を通すチュービング、パイプを通すパイピング、空気ダクトを通すHVAC(暖房、換気および空調)、ケーブルを通す電気ケーブル、トレイを通す配線路などの、作業のために行われる。ルートの設計は、典型的には、自動車、建物、船舶、飛行機などの、工業製品に対して行われ、これらの工業製品によって、設計されたルートが現実的なものとなる。ルートは、工業製品が通常の形状であるため、典型的には、通常の角度および標準の曲げ半径で結ばれた直線部分の連続である。例えば、建物は、典型的には、互いに垂直に結合した壁を備える。壁は、従って、空気ダクトのルートを設計する場合に考慮するという制約を受ける。例えば、そのルートは、壁に沿ったパスに従う。
いくつかのCADシステムは、パイピングおよびチュービング設計能力を含むか、またはこれらの能力を提供するプラグインをCADソフトウェアにインストールできる。しかしながら、既存のソリューションは、いくつかの欠点を被る。まず、そのソリューションは、設計者が正しい入力によって正しいパスを素早く選択する助けとならない。特に、ソリューションが線のみの場合、設計者は、正しい精度でコンテキストとの衝突を確認することができない。さらに、既存のソリューションは、ソリューションが一つずつ示されるため、設計者がすべてのソリューションを見直すのに時間がかかる。さらに、不可能なソリューションが示される。不可能なソリューションは、実現できないソリューションである。例えば、同じ壁の3つの部分をたどる空気ダクトのルートは、不可能なソリューションであると見なされる。なぜならば、そのようなソリューションは、現実世界では実現できないからである。
このコンテキストにおいて、3次元シーンにおいて第1のポイントと第2のポイントを結ぶルートを設計するための改良された方法がさらに必要である。
一態様に従って、本発明は、3次元シーンにおいて第1のポイントと第2のポイントとを結ぶパスを設計するためのコンピュータ実装方法を与えることであって、
−第1のベクトルに結合された前記第1のポイントを提供するステップと、
−第2のベクトルに結合された前記第2のポイントを提供するステップと、
−平行6面体の多くても3つの部分をたどることによってパスのセットを提供するステップであって、前記平行6面体は、第1の頂点に提供された前記第1のポイントと、第2の頂点に提供された前記第2のポイントとを備え、前記平行6面体の部分は、エッジ、面対角線、空間対角線であることを特徴とするコンピュータ実装方法。
本方法は、以下のうちの1または複数を備えることができる。
−前記第1の頂点および前記第2の頂点は、前記平行6面体の対向面上にあり、前記パスのセットは、前記第1のポイントと前記第2のポイントとを結ぶ前記空間対角線から作成された1つの部分を備える1つのパスと、前記平行6面体の共有頂点を有する2つの部分を備える6つのパスであって、1つの部分は前記平行6面体の面対角線であり、前記対角線は、前記第1のポイントまたは前記第2のポイントを備え、かつ1つの部分はエッジであることと、3つの連続部分を備える6つのパスであって、各部分は、エッジであることを備えることと、
−前記第1の頂点および前記第2の頂点は、前記平行6面体の同じ面に属することであって、前記パスのセットは、前記第1の頂点および前記第2の頂点が属する前記面対角線である1つの部分を備える1つのパスと、2つの連続部分を備える2つのパスであって、各部分はエッジであることを備えることと、
−以下の定位:前記3次元シーンのグローバル定位の方向のうちの1つ、前記第1のベクトルによって与えられる方向、前記第2のベクトルによって与えられる方向、のうちの1つの周囲で定位することをさらに備えることと、
−前記第1のポイントおよび前記第2のポイントを結ぶ前記パスの少なくとも2つの部分を結ぶための曲げ半径を提供するステップをさらに備えることと、
−曲げ半径を提供した後、前記セットの各パスに対し、前記曲げ半径に従って前記第1のポイントと前記第2のポイントとの前記パスを結ぶ平行6面体を計算するステップをさらに備えることと、
−前記セットの各パスに対し、平行6面体を計算するステップは、
−前記第1のポイントと前記第1の頂点との間の距離D1が、
1=Bend Radius×(sinα1)
となるように計算するステップであって、Bend Radiusは、前記与えられた曲げ半径の値であり、α1は、前記第1のベクトルの前記方向と前記第1の頂点に結ばれた前記パスの前記部分との間の角度であることと、
−前記第2のポイントと前記第2の頂点との間の距離D2が、
2=Bend Radius×(sinα2)
となるように計算するステップであって、Bend Radiusは、前記与えられた曲げ半径の値であり、α2は、前記第2のベクトルと前記第2の頂点に結ばれた前記パスの前記部分との間の角度であることと、によって第1の頂点の新しい位置および第2の頂点の新しい位置を計算するステップを備えることと、
−前記パスの各エッジの長さ(L)を計算するステップと、前記長さ(L)が、
L≧Bend Radius×(sinαx+sinαy
であると判定することであって、Bend Radiusは、前記与えられた曲げ半径の値であり、αxは前記パスの前記各エッジと前記パスの前記各エッジの第1の共有頂点を共有する前記パスの別の部分との間の角度の値であるか、または前記パスの前記各エッジと前記第1のベクトルの前記方向との間の角度の値であり、αyは、前記パスの前記各エッジと前記パスの前記各エッジの第2の共有頂点を共有する前記パスの別の部分との間の角度の値であるか、または前記パスの前記各エッジと前記第2のベクトルの前記方向との間の角度の値であることと、
−前記平行6面体のうちの前記1または複数の部分が、前記第1のポイントと前記第2のポイントとを結ぶポリラインを形成することと、
−工業製品の断面の寸法を提供するステップと、前記ポリラインに沿った形状を形成するステップであって、前記ポリラインは前記断面の中心であることをさらに備えることと、
−前記第1のベクトルに結合された前記第1のポイントを提供するステップは、前記3次元シーンに第1の3次元オブジェクトを配置するステップを備えることであって、前記第1のベクトルは、前記3次元シーンの前記3次元オブジェクトを定位するステップと、前記第2のベクトルに結合された前記第2のポイントを提供するステップは、前記3次元シーンに第2の3次元オブジェクトを配置するステップを備えることであって、前記第2のベクトルは、前記3次元シーンの前記3次元オブジェクトを定位するステップと、
−前記与えられたパスのセットの各パスのプレビューを表示するステップと、前記第1のポイントと前記第2のポイントとを結ぶ前記パスを示すために、前記プレビューのうちの1つを強調するステップとを備えること。
本発明は、コンピュータによって実行される命令を備えるコンピュータプログラムをさらに提案し、命令は、上記の方法を実行するための手段を備える。
本発明は、グラフィカルユーザインタフェースおよびメモリに結合されたプロセッサを備えるコンピュータ支援設計システムをさらに提案し、メモリ上に上記のコンピュータプログラムが記録されている。
本発明は、上記の方法によって取得可能なパスに沿ってルートされた3次元オブジェクトをさらに提案する。
本発明は、上記のコンピュータプログラムが記録されているコンピュータ可読記憶媒体をさらに提案する。
発明の実施形態は、限定されない例として、および添付図を参照してこれより説明される。
ルートをたどるポリラインの例を示す図である。 平行6面体の例を示す図である。 パスの例を示す図である。 パスの例を示す図である。 パスの例を示す図である。 パスの例を示す図である。 パスの例を示す図である。 パスの例を示す図である。 パスの例を示す図である。 パスの例を示す図である。 パスの例を示す図である。 パスの例を示す図である。 パスの例を示す図である。 パスの例を示す図である。 パスの例を示す図である。 パスの例を示す図である。 衝突検出の例を示す図である。 パスのセットが同じ面側にある例を示す図である。 パスの対角線部分のいくつかの角度の例を示す図である。 パスのセットのうちの1または複数のパスが移動した例を示す図である。 ソリューションの表示の例を示す図である。 ソリューションの表示の例を示す図である。 ソリューションの表示の例を示す図である。 ソリューションの表示の例を示す図である。 ソリューションの表示の例を示す図である。 本発明の方法の例を示すフローチャートである。 本発明の方法の例を示すフローチャートである。 本発明の方法の例を示すフローチャートである。 CADシステムのグラフィカルユーザインタフェースの例を示す図である。 CADシステムの構造の例を示す図である。 各パスに対する新しい平行6面体の計算の例を示す図である。
図26から図28までのフローチャートに関して、3次元シーンにおける第1のポイントと第2のポイントとを結ぶパスを設計するためのコンピュータ実装方法が提案される。パスは、直線、弧、曲線で結ばれるポイントの集合であるが、これらに限定されない。パスは、一連の線分が結ばれたポリライン(多角形連鎖とも呼ばれる)で表すことができる。ポイントのセットは、少なくとも2つのポイント、即ち、第1のポイントと第2のポイントを備える。第1のポイントを始点と呼び、第2のポイントを終点と呼ぶこともある。方法は、第1のベクトルに結合された第1のポイントを与えること、および第2のベクトルに結合された第2のポイントを与えることを備える。ベクトルは、大きさ(または長さ)、方向および定位を有する幾何学的オブジェクトである。例えば、ベクトルは、明確な定位の線分で表されるか、または始点Aと終点Bを結ぶ矢印として図形的に表されることが多い。従って、第1および第2のベクトルは、3Dシーンにおいてそれぞれ第1のポイントと第2のポイントの定位を与える。方法は、平行6面体の多くても3つの部分をたどることによってパスのセットを提供することをさらに備える。言い換えれば、第1および第2のポイントを連結するルートのセットが与えられる。平行6面体は、その頂点のうちの1つに置かれた各パスの第1のポイント、即ち第1の頂点と、その頂点のうちの1つ置かれた各パスの第2のポイント、即ち第1の頂点とを備える。第1の頂点と第2の頂点は異なり、即ち、第1ポイントと第2のポイントは平行6面体の同じ頂点に置かれないことを理解されたい。平行6面体の部分は、エッジ、面対角線、空間対角線を指す。
このような方法は、パイピング、チュービング、HVAC、ケーブリングなどの、作業のために2つのポイントを結ぶルートの設計を大いに改善する。ここでモデル化される工業製品(例えば、パイプ、管、空気ダクト、ケーブル)に従うルートは、物理的法則および3Dシーンでシミュレートされる現実世界の基準を守らなければならない。まず、方法は、人間工学を改善する。実際、パスを再現するために平行6面体の部分を使用することによって、2つのポイントを結ぶ可能なすべてのパスを容易に取得できるようにする。即ち、可能なすべてのソリューションを設計者に一度に提案することができる。設計者は、取り得るすべてのソリューションの中で、保持されているソリューションを容易に選択することができることが理解される。さらに、平行6面体をパスのサポートとして使用することは、現実世界の条件をシミュレートする効率的なやり方を提供する。実際に、パスは、工学的コンテキスト(例えば、自動車工学、航空機工学、船舶工学、電気工学など)で再現され、工業製品がルートされる環境は、主に標準角度(例えば、45°,60°,90°)で互いに結ばれた平面(例えば、壁)で構成される。例えば、建物内の電気ケーブルは、各フロアに電力を供給するのに垂直パスをたどり、電力を各フロアの各住宅に分配するのに水平パスをたどる。さらに、パスが平行6面体の部分から取得されるので、現実世界で受け入れ可能なソリューションを設計者に提供し易い。例えば、4つ以上のエッジをたどるパスは、パスに沿ってルートされる無駄な工業製品(例えば、パイプ、管、空気ダクト、ケーブル)を伴う恐れがあるため受け入れられないと決定されるかもしれない。さらに、提案されるソリューションが現実世界で受け入れ可能なソリューションであるため、不用なソリューションを計算する必要がなく、コンピュータ資源の使用がより少なくなる。さらに、平行6面体の部分を使用してパスを計算することは、平行6面体の部分がいくつかのソリューション間で共有されるので、すべてのソリューションを取得する全体時間が減り、従って1つの部分に行う1計算を再利用することができる。
方法は、コンピュータ実装される。これは、方法のステップ(または実質的にはすべてのステップ)が少なくとも1つのコンピュータによって実行されることを意味する。例において、少なくとも一部の方法のステップをトリガすることは、ユーザとコンピュータ間の対話を通じて実行され得る。ユーザとコンピュータとの間の対話に必要なレベルは、ユーザの望みを実現する必要性を予測してバランスを取る、自動性のレベルに依存する。例において、このレベルは、ユーザ定義および/または事前定義とすることができる。
例えば、第1のベクトルおよび第2のベクトルにそれぞれ結合された第1のポイントおよび第2のポイントを与えるステップは、ユーザアクションの後に実行でき、例えば、設計者がマウスなどの触覚デバイスを使用して2つのポイントを3Dシーンに入力し、そしてベクトルが位置付けされている座標系のグラフィック表現を定める(例えば、座標系の原点は、ベクトルの原点である)ことによって、各ベクトルの値を出すことができる。ポイントの方向は、3Dシーンに表示されるベクトルで表すこともでき、ユーザは、ポイントの方向を修正するために、ベクトルのグラフィック表現を動かすことができる。
方法をコンピュータ実装する典型的な例では、この目的に適したGUI(グラフィカルユーザインタフェース)を備えるシステムによって方法が実行される。GUIは、メモリおよびプロセッサに結合される。データベースを格納するメモリは、単にその格納に適している任意のハードウェアである。そのようなシステムは、3次元シーンにおける第1のポイントと第2のポイントを結ぶパスの設計を改善する。
「データベース」とは、探索および読み出しを行うために体系化されたデータの任意の集合体(即ち、情報)を意味する。メモリに格納された場合、データベースは、コンピュータによる高速な探索および読み出しが可能となる。データベースは、実際には、さまざまなデータ処理動作と共にデータを格納し、読み出し、修正し、および削除するのを容易にするために構造化されている。データベースは、レコードに細分化されるファイルまたはファイルのセットから成り、各レコードは1または複数のフィールドからなる。フィールドは、データ保存の基本単位である。ユーザは、主にクエリを通じてデータを読み出すことができる。キーワードおよびソーティングコマンドを使用して、ユーザは、用いられるデータベース管理システムのルールに従って、多数のレコード内のフィールドを素早く探索し、再配列し、グループ化し、そして選択して、データの特定の集約に対するレポートを読み出し、または作成することができる。
本方法の場合、データベースは、3次元モデル化オブジェクトを格納できる。第1の3次元モデル化オブジェクトは、第1のベクトルに結合された第1のポイントを与えることができ、第2の3次元モデル化オブジェクトは、第2のベクトルに結合された第2のポイントを与えることができる。データベースは、第1のベクトルに結合された第1のポイントおよび第2のベクトルに結合された第2のポイントを格納することもできる。
方法は、概してモデル化オブジェクトを操作する。モデル化オブジェクトは、データベースに格納されたデータによって定義される任意のオブジェクトである。拡大解釈すれば、「モデル化オブジェクト」という表現は、データ自体を指す。システムのタイプに従って、モデル化オブジェクトを異なる種類のデータによって定義できる。このシステムは、実際には、CADシステム、CAEシステム、CAMシステム、および/またはPLMシステムの任意の組み合わせとすることができる。そのような異なるシステムにおいて、モデル化オブジェクトは、対応するデータによって定義される。あるデータは、それに応じて、CADオブジェクト、PLMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、CAMデータに伝達できる。しかしながら、これらのシステムは、モデル化オブジェクトがこれらのシステムの任意の組み合わせに対応するデータによって定義されるので、互いに排他的でない。システムは、従って、以下で提供されるシステムの定義によって明らかになるように、CADシステムとPLMシステムの両方になる可能性がある。
CADシステムの場合、CATIAなどの、モデル化オブジェクトのグラフィック表現に基づいて少なくともモデル化オブジェクトを設計するのに適した任意のシステムを意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にさせるデータを備える。CADシステムは例えば、エッジまたはライン、ある場合においてはフェイスまたはサーフェスを用いてCADモデル化オブジェクトの表現を提供できる。ライン、エッジ、またはサーフェスをさまざまな方法、例えば、NURBS(非均一有理Bスプライン)によって表現できる。具体的には、CADファイルは、ジオメトリが生成される仕様を包含し、その仕様によって表現の生成が可能となる。モデル化オブジェクトの仕様を単一のCADファイルまたは複数のCADファイルに格納できる。モデル化オブジェクトをCADシステムで表現するファイルの典型的なサイズは、一部品当たり1メガバイトの範囲内である。そしてモデル化オブジェクトを、典型的には、数千の部品からなるアセンブリにすることができる。
CADのコンテキストにおいて、モデル化オブジェクトを、典型的には、例えば、部品または部品のアセンブリ、あるいは製品のアセンブリなどの、製品を表現する3Dモデル化オブジェクトにすることができる。「3Dモデル化オブジェクト」は、その3D表現を可能とするデータによってモデル化された任意のオブジェクトを意味する。3D表現は、全角度から部品をビューすることが可能である。例えば、3Dモデル化オブジェクトが3D表現される場合、その軸を操作して任意に回転させたり、またはその表現が表示されている画面の軸を任意に回転させることができる。これは特に、3Dモデル化されていない2Dアイコンを排除する。3D表現の表示は、設計を容易にする(即ち、統計的に、設計者が自分の仕事を完成させる速度が上がる)。製品の設計が製造工程の一部であるため、この3D表現により産業における製造工程が高速化する。
CADシステムを履歴ベースにすることができる。この場合、モデル化オブジェクトは、幾何学的特徴の履歴を備えるデータによってさらに定義される。モデル化オブジェクトは、実際には、生身の人間(即ち、設計者/ユーザ)が標準のモデリング機能(例えば、押し出し、回転、カット、および/またはラウンドなど)および/または標準のサーフェシング機能(例えば、スイープ、ブレンド、ロフト、フィル、変形、スムージングおよび/またはその他)を用いることによって設計される。そのようなモデリング機能をサポートする多くのCADシステムは、履歴ベースのシステムである。これは、設計特徴の履歴の作成が、典型的には、入力リンクおよび出力リンクを通じて前述の幾何学的特徴を結び付ける、非巡回データフローを介して保存されることを意味する。この履歴ベースのモデリングパラダイムは、80年代当初からよく知られている。モデル化オブジェクトは、2つの永続的データ表現、即ち、履歴とB−rep(即ち、境界表現)によって記述される。B−repは、履歴で定義された計算結果である。モデル化オブジェクトが表現される時にコンピュータ画面に表示される部品の形状は、B−rep(のテッセレーション)である。部品の履歴は、設計意図である。基本的に、履歴は、モデル化オブジェクトに行なわれた動作についての情報を集める。B−repを履歴と共に保存して、複雑な部品を表示し易くすることができる。設計意図に従って部品の設計変更ができるようにするために、履歴をB−repと共に保存できる。
CAMは、コンピュータ支援製造(Computer-Aided Manufacturing)を表す。CAMソリューションの場合、製品の製造データを管理するのに適した任意のソリューション、ハードウェアのソフトウェアを意味する。製造データは、概して、製造する製品、製造工程および必要なリソースに関連するデータを含む。CAMソリューションを使用して、製品の全製造工程を計画して最適化する。例えば、CAMユーザに、固有のロボットなどの、製造工程の固有のステップにおいて使用される実現可能性、製造工程の期間またはリソースの数についての情報を提供することができ、従って、管理または必要な投資に関する決定を可能にする。CAMは、CADプロセスおよび潜在的なCAEプロセスの後に行われる後続プロセスである。このようなCAMソリューションは、Dassault SystemesによってDELMIA(登録商標)に基づいて提供される。
CAEは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)を表す。CAEソリューションの場合、モデル化オブジェクトの物理的挙動を解析するのに適した任意のソリューション、ハードウェアのソフトウェアを意味する。よく知られて広く用いられているCAE技術は、有限要素法(FEM)であり、典型的には、モデル化オブジェクトを要素に分割することに関与し、物理的挙動を数式によって計算してシミュレートすることができる。このようなCAEソリューションは、Dassault SystemesによってSIMULIA(登録商標)に基づいて提供される。需要のある別のCAE技術は、CADジオメトリデータを用いない異なる物理学の分野による、複数のコンポーネントで構成された複雑なシステムのモデリングおよび解析に関与する。CAEソリューションは、シミュレーションを可能にさせ、従って、製造する製品の最適化、改良および検証が可能となる。このようなCAEソリューションは、Dassault SystemesによってDYMOLA(登録商標)に基づいて提供される。
PDMは、製品データ管理(Product Data Management)を表す。PDMソリューションの場合、特定の製品に関連するすべてのタイプのデータを管理するのに適した任意のソリューション、ハードウェアのソフトウェアを意味する。PDMは、製品のライフサイクルに関与するすべての行為者、即ち、主に技術者の他にプロジェクトマネージャ、財務担当者、販売担当者および購入者を含む人達によって使用され得る。PDMソリューションは、概して、製品指向データベースに基づく。このデータベースは、行為者が自分達の製品に関する一貫性のあるデータを共有できるようにさせ、従って、行為者が相違するデータを使用するのを防止する。このようなPDMソリューションは、Dassault SystemesによってENOVIA(登録商標)に基づいて提供される。
図29は、システムのGUI(グラフィカルユーザインタフェース)の例を示しており、このシステムは、CADシステムとすることができるが、これに限定されない。
GUI2100は、典型的なCADに似たインタフェースであり、標準のメニューバー2110、2120、ならびにボトムツールバー2140とサイドツールバー2150とを有する。このようなメニュー・ツールバーは、ユーザが選択可能なアイコンのセットを包含し、各アイコンは、当業者には周知であるように、1または複数の動作または機能と関連付けられている。これらのアイコンのいくつかは、GUI2100に示されている3Dモデル化オブジェクト2000の編集および/または作業に適応されるソフトウェアツールと関連付けられている。ソフトウェアツールをワークベンチにグループ化することができる。各ワークベンチは、ソフトウェアツールのサブセットを備える。特に、ワークベンチのうちの1つは、モデル化製品2000の幾何学的特徴を編集するのに適した、編集ワークベンチである。操作において、設計者は、例えば、オブジェクト2000の部品を事前選択し、その後、適切なアイコンを選択して操作(例えば、寸法、色の変更など)を開始するか、または幾何学的制約を編集できる。例えば、典型的なCAD操作は、画面に表示された3Dモデル化オブジェクトのパンチングまたはフォールディングのモデリングである。
GUIは、例えば、表示された製品2000に関連するデータ2500を表示できる。図29の例において、「特徴ツリー」として表示されているデータ2500およびその3D表現2000は、ブレーキキャリバーとディスクとを含むブレーキアセンブリに関する。GUIは、例えば、編集された製品の操作のシミュレーションをトリガするか、または表示された製品2000のさまざまな属性をレンダリングして、オブジェクトの3D定位を容易にするさまざまなタイプのグラフィックツール2130、2070、2080をさらに示すことができる。カーソル2060は、ユーザにグラフィックツールと対話させるハプティックデバイスによって制御される。
図30は、コンピュータシステム、例えば、CADシステムを示している。
コンピュータシステムは、内部通信バス1000に接続されたCPU(中央処理装置)1010を備え、RAM(ランダムアクセスメモリ)1070もバス1000に接続されている。コンピュータシステムは、バス1000に接続されたビデオランダムアクセスメモリ1100と関連付けられたGPU(画像処理装置)1110をさらに備える。ビデオRAM1100もフレームバッファとして当業者には周知である。大容量記憶デバイスコントローラ1020は、ハードドライブ1030などの大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを明示的に具体化するのに適した大容量メモリデバイスは、あらゆる形態の不揮発性メモリを含み、例として、EPROM、EEPROM、およびフラッシュメモリなどの半導体メモリデバイスと、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスクと、光磁気ディスクと、CD−ROM1040とを含む。上述のいずれのメモリも、特別に設計されたASIC(特定用途向け集積回路)によって補完または組み込むことができる。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイス、キーボードなどのハプティックデバイス1090を含むこともできる。カーソル制御デバイスをクライアントコンピュータで用いることによって、図29を参照して述べたように、ユーザがカーソルをディスプレイ1080の希望の場所に選択的に位置付けするのが可能になる。さらに、カーソル制御デバイスは、ユーザがさまざまなコマンドを選択して、制御信号を入力できるようにする。カーソル制御デバイスは、制御信号をシステムに入力するいくつかの信号生成デバイスを含む。典型的には、カーソル制御デバイスをマウスにして、信号を生成するのにマウスのボタンを用いることができる。
信号を、画面に触れることによって生成することもでき、例えば、ディスプレイ1080は、タッチセンサー式ディスプレイである。
図26から図28に関して、本発明の例が論じられている。
ステップS10において、第1のベクトルに結合された第1のポイントが設けられる。ポイントという用語は、3Dシーン内に場所を有するエンティティを意味する。3Dシーンは、オブジェクト間の空間関係が記述された3D空間である。一般に、3Dモデル化オブジェクトは、3Dシーンにおいて表現される。3Dシーンは、限定空間でも無限空間でも可能である。実際には、3Dシーンは、コンピュータの解像度により限定される。ポイントは、第1のベクトルに結合される。第1のベクトルは、3Dシーンのポイントの方向を与える。実際には、第1のベクトルは、座標系の原点がベクトルの原点であり、且つ座標系の原点が第1のポイントである、座標系に位置付けられる。言い換えれば、第1のベクトルは、座標系(x,y,z)内に次元のセット(x1,y1,z1)を備える。座標系の原点、ベクトルの原点、および第1のポイントは、3Dシーンの同じ座標(x0,y0,z0)を有することができ、3Dシーンが定位されていることが理解される。実際には、座標系は、表示されるグラフィック表現を有することができる。ユーザは、当業者には周知であるように、座標系を動かして第1のベクトルの1または複数の値を変更することができる。第1のベクトルは、3Dシーンのグラフィック表現を有することができ、ユーザは、ポイントの方向を修正するためにこの表現を動かすことができる。第1のベクトルに結合された第1のポイントを与えることは、発明に従った方法を実行するシステムがポイントとベクトルに相対的なデータにアクセスすることができることを意味し、例えば、第1のポイントとベクトルに相対的なデータは、システムのメモリに格納され、メモリに結合されたCPU(コンピュータ処理装置)によってアクセス可能である。
ステップS12において、第2のベクトルに結合された第2のポイントが設けられる。このステップは、ステップS10と同様である。
実際には、ステップS10とS12はそれぞれ、3次元シーンに3Dモデル化オブジェクトを配置することによって実行され、そこで3Dオブジェクトは、ベクトルによって3次元シーンにおいて定位され、ベクトルに結合されたポイントは、3Dオブジェクトに含まれることが理解される。ポイントは、3Dオブジェクトの幾何学的中心に置かれるが、これに限定されない。3Dオブジェクトを3Dモデル化オブジェクトにしてよいことが理解される。
次に、ステップS20において、平行6面体が与えられる。平行6面体は、3組の平行四辺形で形成された3次元図形であり、3組の平行面のいずれも角柱の基平面と見なすことができる。平行6面体は、4つの平行エッジを3セット有し、各セット内のエッジの長さは、等しい。平行6面体は、8つの頂点を有する。平行6面体は、6面を有する多面体と見なされ、各面は、平行四辺形である。
実際には、平行6面体は、平行四辺形が長方形である、直平行6面体である。直平行6面体は、有利には、平行6面体のエッジ間に普通角を有し、そのような普通角は、現実世界の工業製品の通常の形状に適している。
平行6面体は、第1の頂点に与えられた第1のポイントと第2の頂点に与えられた第2のポイントとを備える。第1の頂点と第2の頂点は同じではない、即ち、3Dシーン内の同じ場所ではないことを理解されたい。
平行6面体は、部分のセットを備え、エッジ、面対角線、空間対角線が部分になり得る。面対角線は、平行6面体の面、例えば、平行四辺形の2つの連続していない頂点を結ぶ(または連結する)線である。空間対角線は、平行6面体の隅と対向する隅を連結する線である。空間対角線は、当業者には周知であるように、略三角形または体積対角線とも呼ばれる。
平行6面体は、3次元シーンにおいて定位される。これは要するに、平行6面体を3Dシーンにおいて第1および第2の頂点の周囲で位置付けできるということである。実際には、第1および第2の頂点を通過する軸は、回転軸と考えられ、従って平行6面体は、3Dシーン内に複数の位置を有することができる。平行6面体の定位によって、平行6面体を3Dシーン内で固定させることができる。
平行6面体の定位は、平行6面体が組み込まれている3次元シーンのグローバル定位に相対的である。3Dシーンのグローバル定位は、概して3Dシーンの主基準座標系の周囲で行われる。実際には、3次元シーンのグローバル定位の3方向(xscene, yscene, zscene)のうちの1つは、重力に従って定位されると決定されている。標準的技法は、シミュレートされた世界の仮想接地に垂直になる方向zsceneを選択することである。言い換えれば、方向zsceneは、シミュレートされた世界の重力に従って定位される。例えば、平行6面体は、3次元シーンにおいてグローバル定位の定位された方向のうちの1つの方向で定位され得る。例えば、平行6面体の1つのエッジは、グローバル定位のzscene軸と同じ方向を有する。
平行6面体の定位は、当業者には周知であるように、第1のベクトルの方向に相対的である。例えば、第1のポイントに結合された第1のベクトルは、平行6面体のエッジを方向として有するベクトルと共線となる。別の例として、第1のベクトルは、平行6面体と結び付いたベクトル、例えば、平行6面体の頂点のうちの1つから開始したベクトルと共線となる。
第2のベクトルの方向に相対的な定位を第1のベクトルの定位と同様に実行できる。
平行6面体の定位は、有利には、パスが第1のポイントと第2のポイントを連結しようとするコンテキストを考慮に入れるようにできる。実際には、平行6面体が第1のベクトル、第2のベクトルの周囲で定位されか、または3Dシーンの定位に応じて異なるが、パスのいくつかのソリューションが拒否される場合もある。例えば、パスと3Dシーンの他のオブジェクトとの衝突は、平行6面体の定位に応じて現れる可能性がある。
これより図2を参照すると、ステップS10からS20の例が示されている。2つの3Dモデル化オブジェクト300、302が3Dシーン内に配置されている。第1および第2の3Dモデル化オブジェクトは、T字パイプ継ぎ手である。T字パイプ継ぎ手は、主配管をつなぐ90°の2つの出口を有する。ここで、第1のポイント310と第2のポイント312は、3Dモデル化オブジェクト上に置かれていないが、それらのポイントは、どのようにも3Dモデル化される部分である。それらのポイントは、T字パイプ継ぎ手のパイプのうちの1つの軸上に配置される。2つのポイント310、312のそれぞれは、ベクトルがそれぞれのポイントに結合されたベクトル320、322によって3Dシーン内で定位される。図2の例において、ベクトル320、322はそれぞれ、エッジ330、332と共線であり、各T字パイプ継ぎ手は、従って平行6面体のエッジと一直線になる出口の軸を有する。直平行6面体は、垂直エッジ(例えば、344)が方向zsceneと共線になるように方向zsceneに従って定位されている。エッジ330、340、342を備える平行6面体の面は、従ってシミュレートされた世界の仮想グラウンドと平行である。従って、この例において、ベクトル320は、エッジ330と共線であるだけでなく方向ysceneとも共線であり、方向xsceneは、エッジ340と共線である。この例における3Dシーンの主基準座標系(xscene, yscene, zscene)は正規直交座標系であることが理解される。
図26のフローチャートに戻り、ステップS30において、第1の頂点と第2の頂点にそれぞれ置かれた第1のポイントと第2のポイントが、平行6面体の対向面上にあるかどうかが判定される。対向面は、共有頂点を有しない平行6面体の一組の面を意味する。これは要するに、第1および第2のポイントが平行6面体の対向頂点上にあるかどうかが判定されるということであり、対向頂点は、第1のベクトルと結ばれた3つのエッジが第2のベクトルと結ばれた3つのエッジとつながっていないことを意味する。ステップS30の結果により、第1のポイントと第2のポイントを結ぶ2つの異なるパスのセットをユーザに提供することができる。
図18は、第1のポイントと第2のポイントが平行6面体の対向面上に置かれていない、つまり、第1および第2の頂点が平行6面体の同じ面に属する事象における本発明の例を示している。この事例において、各パスが第1のポイントから開始して、第2のポイントで終了する(またはその逆)3つのパスのセットが与えられ、パスのセットは、以下の3つのパスを備える。
(i)1つのパスは、平行6面体の1つの部分を備え、その1つの部分は、第1および第2の頂点が属する面対角線である。
(ii)2つのパスは、平行6面体の2つの連続部分を備え、平行6面体の各部分は、エッジである。
図18は、T字パイプ継ぎ手を表す2つの3Dモデル化オブジェクトが3Dシーン内の同じ平面上に置かれている例を示している。3Dモデル化オブジェクト300、302は、平行6面体の同じ面に属する第1のポイント310と第2のポイント312を除いては、図2のモデル化オブジェクトと同じである。この図面において、2つのポイントに共通の面のみが表されている。第1のポイント310と第2のポイント312を結ぶパス1900は、第1および第2のポイントが属する面対角線から作られている。一方のパスは、2つの連続エッジ1902、1904を備え、他方のパスは、2つの連続エッジ1906、1908を備える。
これより図28を参照すると、ステップS400において、曲げ半径が与えられている。内曲率を出すのに測定される曲げ半径は、当業者には周知であるように、パイプ、管、シート、ケーブルまたはホースをねじらず、損傷せず、または寿命を縮めずに曲げることができる最小半径である。最小曲げ半径は、それ未満ではオブジェクトを曲げてはならない半径である。曲げ半径の提供は、ユーザアクション、例えば、ユーザが曲げ半径の値を入力した後に実行することができる。あるいはまた、曲げ半径は、方法を実行するシステムによって自動的に提供されることができ、例えば、デフォルト値が与えられて、このデフォルト値は、パスをたどることを目的とするオブジェクト(例えば、パイプ、電気ケーブル)によって異なることもある。曲げ半径の提供は、曲げ半径の値がシステムに利用可能であること、例えば、システムのメモリに格納されて、メモリに結合されたCPUによってアクセス可能であることを意味する。
次に、ステップS402において、パスのセットの各パスに対し、曲げ半径に従って第1および第2のポイントを結ぶ平行6面体が計算される。曲げ半径は、第1および第2のポイントを結ぶパスの少なくとも2つの部分を結ぶための幾何学的制約を導入する。特に、第1および第2の頂点上に配置された第1および第2のポイントを定位せず、第1または第2のポイントを結ぶパスに与えられた曲げ半径を順守できるようにする場合もある。実際には、第1のポイントから開始するパスは、第1のポイントに結合されたベクトルのうちの1つと同じ方向になるはずであり、第2のポイントに到着するパスは、第2のポイントに結合されたベクトルのうちの1つと同じ方向になるはずである。従って、第1および/または第2のポイントの定位および平行6面体の定位に応じて、曲げ半径が順守される場合も順守されない場合もある。
提供された曲げ半径が、第1のポイントから開始する部分または所与のパスの第2のポイントに対して順守されない事象において、新しい平行6面体を計算して、曲げ半径が適用されるようにできる。
実際には、これは、第1の頂点および第1のポイントがもはや3Dシーン内の同じ場所に置かれないこと、および第2の頂点および第2のポイントがもはや3Dシーン内の同じ場所に置かれないことを伴う場合もある。
新しい平行6面体の各パスの計算は、第1の頂点の新しい位置および第2の頂点の新しい位置の計算を含むことができる。
第1の頂点の新しい位置は、第1のポイントと第1の頂点との間の距離Dを計算することによって取得され、その計算は(i)第1のポイントに結合された第1のベクトルの方向および(ii)第1のベクトルと結ばれたたパスの部分、例えば、パスがたどる第1のエッジの方向を考慮に入れる。距離Dは、第1のポイントと第1の頂点との間の距離であり、第1のポイントと第1の頂点の両方が第1のポイントに結合された第1のベクトルによって与えられた方向に置かれることが理解される。
任意には、角度αを決定し易くするために第3のベクトルを第1の頂点と結ばれたパスの部分に与えることができる。この第3のベクトルの方向は、第1の頂点と結ばれたパスの部分であり、第3のベクトルをパスの方向(例えば、第1のポイントから第2のポイント)に従って定位できる。
距離Dは、関係式
=Bend Radius×(sinα1)
によって定義され、ここでBend Radiusは、ステップS400において与えられた曲げ半径の値であり、α1は、第1のベクトルと第1の頂点と結ばれたパスの部分の距離との間の角度の値である。従って、DはBend Radiusとsinα1との積である。
同様に、第2の頂点の新しい位置は、第2のポイントと第2の頂点との間の距離Dを計算することによって取得され、その計算は(i)第2のポイントに結合された第2のベクトルの方向および(ii)第2のベクトルと結ばれたたパスの部分、例えば、パスがたどる最後のエッジの方向を考慮に入れる。距離Dは、第2のポイントと第2の頂点との間の距離であり、第2のポイントと第2の頂点の両方が第2のポイントに結合された第2のベクトルによって与えられた方向に置かれることが理解される。
距離Dは同様に、関係式
=Bend Radius×(sinα2)
によって定義され、ここでBend Radiusは、ステップS400において与えられた曲げ半径の値であり、α2は、第2のベクトルと第1の頂点と結ばれたパスの部分の距離との間の角度の値である。従って、DはBend Radiusとsinα2との積である。実際には、Bend Radiusとsinα2との値は、度数(degree)となる。
角度α1に関して、任意にはベクトル(例えば、第4のベクトル)を、角度αを決定し易くするために第2の頂点と結ばれたパスの部分に与えることができる。この第4のベクトルの方向は、第2の頂点と結ばれたパスの部分であり、このベクトルをパスがたどる方向(例えば、第2のポイントから第1のポイント)に従って定位できる。
平行6面体の定位は、距離Dを計算するための定位と同じであり、つまり、平行6面体の定位は、距離DおよびDを計算する間変化しないままである。
実際には、(第1または第2の頂点と結ばれたパスの部分を提供できる)第3および第4のベクトルは、平行6面体の3つの主方向、即ち、DirA、DirB、DirCを用いて取得される。
DirAは、上記で論じたように、3Dシーン内の平行6面体の定位に応じて異なる。これは、DirAが以下のうちの1つになり得ることを意味する。
(i)平行6面体が第1のベクトルの周囲に定位されている事象において第1のポイントに結合された第1のベクトルの方向。
(ii)平行6面体が第2のベクトルの周囲に定位されている事象において第2のポイントに結合された第2のベクトルの方向。
(iii)任意に選択されたシーンのグローバル定位の方向(xscene, yscene, zscene)のうちの1つ。
DirBは、シミュレートされた世界の仮想グラウンドに垂直になるように選択される方向である。標準的技法は、シミュレートされた世界の重力に従って定位される方向zsceneを選択することである。主方向DirAが方向zsceneである事象であれば(事例(iii))、グローバル定位の別の方向を主方向DirBとして選択することができることを理解されたい。
DirCは、DirAおよびDirBを表すベクトルのベクトル積(または外積)を計算することによって取得される。
従って、(以前に定位された)直平行6面体の各エッジが3つの主方向DirA、DirB、DirCのうちの1つと共線となる結果が生じる。
第1および第2の頂点の新しい位置が分かると、平行6面体の残りの6つの頂点の位置を推定することが可能である。
図31を参照すると、ポイントとポイントが置かれた頂点との間の距離Dが示されている。この距離は、ポイントに結合されたベクトルの方向に沿って測定され、この方向は、ポイントと頂点の両方を含む。距離は、典型的にはユークリッド距離である。ポイントが最初に置かれた頂点は、新しい平行6面体を計算するためのパスに属する平行6面体の部分の方向を表すベクトルに結合される。角度αは、ベクトルとベクトルで表される部分の方向(図31の点線で表されている)との間の角度である。
次に、ステップS404において、図1、図2および図3を参照して以下で説明されるように、第1のポイントと第2のポイントを結ぶポリラインが計算される。
図5から図17までは、第1のポイント(左側)と第2のポイント(右側)が平行6面体の対向面上に置かれている、つまり、第1の頂点と第2の頂点が平行6面体の同じ面に属していない事象において可能なソリューションとして保持されているパスのセットのパスの例が示されている。この事例において、各パスが第1のポイントから開始して、第2のポイントで終了する(またはその逆)パスのセットが与えられ、パスのセットは、以下の13つのパスを備える。
(i)図4に示されているように、第1と第2のポイントを結ぶ中心対角線から作られた1つの部分を備える1つのパス。
(ii)各パスが3つの連続部分を備え、各部分がエッジである6つのパス。これら6つのパスは、図5から図10に示されている。
(iii)各パスが平行6面体の共有頂点を有する2つの部分から成る3つのパスであって
−1つの部分は、平行6面体の面対角線であり、その対角線は、第1のポイントを備えることと、
−1つの部分は、第2のポイントを備えるエッジであること。これらの3つのパスは、図12、図14および図16に示されている。
(iv)各パスが平行6面体の共有頂点を有する2つの部分から成る3つのパスであって
−平行6面体の1つの部分は、平行6面体の面対角線であり、その対角線は、第2のポイントを備えることと、
−平行6面体の1つの部分は、第1のポイントを備えるエッジであること。これらの3つのパスは、図11、図13および図15に示されている。
これより図27を参照すると、ステップS500において、曲げ半径が与えられている。このステップは、ステップS400と同様である。
次に、ステップS502において、それぞれのパスに対し、曲げ半径に従って第1および第2のポイントを結ぶ平行6面体が計算される。このステップは、ステップS402と同様である。
次に、ステップS504において、ステップS502の計算された各平行6面体に対し、パスの各エッジの長さLが
L≧Bend Radius×(sinα+sinα
となるかどうかが判定される。ここで
−Bend Radiusは、ステップS500において与えられた曲げ半径の値である。
−αは、パスの(Lを測定するための)エッジとエッジの第1の共有頂点を共有するパスの別の部分との間の角度の値である。あるいはまた、αは、エッジと第1のベクトルの方向との間の角度の値になり、この場合、角度αは、第1のポイントから第2のポイントまでのパスをたどる場合に合致するパスの第1の曲げ角度である。
−αは、(Lを測定するための)エッジとエッジの第2の共有頂点を共有するパスの別の部分との間の角度の値である。あるいはまた、αは、エッジと第2のベクトルの方向との間の角度の値になり、この場合、角度αは、第1のポイントから第2のポイントまでのパスをたどる場合に合致するパスの最後の曲げ角度である。またはその逆に、角度αは、第2のポイントから第1のポイントまでのパスをたどる場合に合致するパスの第1の曲げ角度である。実際には、Bend Radius、αおよびαは、度数で表される。
角度α(またはα)が、エッジの2つの頂点を1つに連結した平行6面体の2つの部分の間の角度である場合、角度α(またはα)は、典型的には、直平行6面体で90°である。
角度α(またはα)が、エッジと第1(または第2の)ポイントの方向との間の角度である場合、角度α(またはα)は、任意の値を有することができる。この場合、角度α(またはα)は、第1(または第2の)ポイントに結合された第1(または第2の)ベクトルと、以前に示したように、任意に与えられた第3のベクトルとの間の角度であると考えられる。
パスのエッジの長さが、計算された長さの値Lよりも短い事象において、そのパスは保有されない。つまり、そのパスは、提案されたソリューションではない。実際には、長さLは、有利には、パスのエッジが、パスの2つの部分の間または第1のポイントと部分の間または第2のポイントと部分の間の正しい曲げ半径を可能にするのに十分な長さであることを検証できるようにさせる。
これより図20を参照すると、エッジの長さLが短すぎて、オブジェクト300の第1のポイント310と一方の側のエッジ340のパスの部分との間のパスの正しい曲げが不可能であり、そしてエッジ340と別の側のもう1つのエッジ350のパスの部分との間のパスの部分の正しい曲げが不可能である平行6面体の例が示されている。結果的に、エッジ340をたどるパスの部分を備えるすべてのパスは、可能なソリューションとして保有されない。
次に、ステップS508において、第1のポイントと第2のポイントを結ぶポリラインが計算される。ポリラインの計算は、当業者には周知のやり方で行われる。
これより図1を参照すると、図5で表されたソリューションによるパスの計算されたポリラインの例が示されており、図5のパスは、平行6面体の3つの連続エッジから成る。図1は、本発明によって提供された図2の例のパスを示している。
図1で示されたポリラインは、平行6面体のエッジ340の頂点310および102を連結する第1の部分110と、エッジ342の頂点102および104を連結する第2の部分114と、エッジ344の頂点104および312を連結する第3の部分118とを備える。平行6面体の連続する部分110、114、118は、与えられた曲げ半径によって値が固定された曲線と互いに結ばれている。平行6面体の連続部分110、114、118が互いに結ばれているという表現は、部分110が共有頂点102経由で部分114に連結されていること、および部分114が共有頂点104経由で部分118に連結されていることを意味する。従って、ポリラインは、直線部110、114、および118と、連続直線部を結ぶ曲線部112および114とを備える。
これより図3を参照すると、平行6面体が曲げ半径に従って再計算された例が論じられている。与えられたポイントA1およびB1は、ベクトルに結合されて、もはや平行6面体の頂点上に配置されない。なぜならば、曲げ1および曲げ4に対して与えられた曲げ半径が順守されるように平行6面体が再計算されているからである。表示されているパスは、平行6面体のエッジD7、D2、およびD10を備える。これら3つの連続する部分セグメント1、セグメント2、セグメント3は、互いに曲線曲げ2、曲げ3と結ばれ、ポイントA1は、曲線曲げ1を用いてセグメント1に連結され、ポイントB1は、曲線曲げ4を用いてセグメント3に連結される。
興味深いことに、開始ポイントA1に結合されたベクトルA1は、エッジD12の1つのベクトル(図示せず)と共線であり、エッジD7とベクトルA1との間の角度αは、90°であることから、この平行6面体が直平行6面体であることが理解される。反対に、終了ポイントA2に結合されたベクトルA2は、エッジD10を有する90°とは異なる角度αを形成する。なぜならば、ベクトルA2は、エッジD4、D6、D10のどのベクトル(図示せず)とも共線でないからである。特に、ベクトルB1の方向と新しい平行6面体を計算するためのパスによって占められるエッジD10との間の角度αは、90°とは異なる。興味深いことに、ベクトルA1の方向は、ポイントA1と頂点C1を備え、ベクトルB1の方向は、ポイントB1と頂点C4を備える。
ステップS404は、ステップS508と同様である。
実際には、パスのセットの各パスに対するポリラインが計算されると、計算されたポリラインに沿った形状が形成される。ポリラインは、形状の断面の中心である。工業製品の断面の寸法は、典型的には、ユーザアクションの後に設けられることから、本発明を実行するシステムによって断面のデフォルト寸法を与えることができることが理解される。工業製品は、産業で使用される、または少なくとも工業工程に関与することを目的とした製品である。例えば、パイプ、電気ケーブル、空気ダクト、トレイは、工業製品である。工業製品は、典型的には、線(計算されたポリライン)に沿って拡張される通常の形状でモデル化される。形状の断面は、円形、正方形、長方形、楕円、半楕円とすることができるが、これらに限定されない。
これより図17を参照すると、衝突解析が発生したことにより、パスのセットのパスがソリューションとして設計者に提示されていない例を示している。図17において、平行6面体のいくつかの部分である曲面が示されている。平行6面体の1または複数の交差部分を備えた、設計者に提示されたパスのセットの各パスが廃棄される。衝突解析は、計算が平行6面体の部分に対して実行され、そのパスに対して計算されないので容易であることを理解されたい。
あるいはまた、衝突解析は、ソリューションとして提案された1または複数のパス間の衝突を理解することができる設計者によって直接実行される。実際には、本発明に従ってすべてのソリューションの表現が現実的であるので、設計者は、シーンの他のオブジェクトとの衝突を理解することができ、従って好ましくないソリューションを選択しない。
これより図19を参照すると、面の対角線部分を修正して、対角線から開始するエッジと対角線との間から成る角度が既定の値を有するようにできる本発明の例を示している。対角線から開始するエッジは、第1のポイントから第2のポイントをたどる時に査走される面の第1の頂点を備える面のエッジであると定義される。従って、対角線は、もはや面の2つの対向ポイントを結ばないが、第1の頂点を備える面のエッジを連結するエッジ上に置かれた新しいポイントと面の第1の頂点とを結ぶ。実際には、この既定された角度の値は、パスをたどる工業製品に関して標準値になるように選択される。例えば、パスがパイプをルートする意図であれば、パイプの技術分野の標準角度は、45°,60°,90°である。より一般的には、既定の値を45°,60°,90°とすることができる。
例えば、図19について、表された面の対角線部分の間の最初の角度は、55.12°であり、標準値ではない。面の対角線部分が修正されると、新しい角度は、45°の標準値を有する。
修正された対角線を有するパスは、対角線で連結された以前の頂点と新しく置かれたポイントとを連結する新しい部分を備えることが理解される。
これより図21から図25を参照すると、ソリューションの表示のいくつかの例が表されている。このソリューションは、本発明の結果として取得されたパスのセットである。
図21において、(パスのセットのすべてのパスである)すべてのソリューションが示されている。
図22において、エッジ上のパスのみが示されている。さらに、デフォルトソリューションも示されており、ここではパスが平行6面体の空間対角線の部分として与えられている。
図23において、面(対角線)上のパスが、ここではパスが平行6面体の空間対角線の部分として与えられているデフォルトソリューションと共に示されている。
図24において、表示されたソリューションのセットは、ビューの軸に従って定位されている。平行6面体を定位する軸システムは、第1および第2のベクトルに結合された与えられた第1および第2のポイントにリンクされていない。
図25において、平行6面体は、ビューの軸、つまり、3Dシーンのグローバル定位のうちの1つ、および第1のポイントの方向をたどる。第3の軸は、軸システムの直交性を保つために以前の2つの軸から計算される。あるいはまた、平行6面体は、ビューの軸のうちの1つおよび第2のポイントの方向をたどる。第3の軸は、軸システムの直交性を保つために以前の2つの軸から計算される。
本設計方法は、3次元シーンにおいて第1のポイントと第2のポイントを結ぶパスを設計することを目的としている。「パスの設計」は、パスの作り上げるプロセスの少なくとも一部である任意のアクションまたは一連のアクションを指す。
コンピュータプログラムは、コンピュータによる命令を備えることができ、その命令は、上記のシステムに上記の方法を実行させるための手段を備える。本発明を、例えば、デジタル電子回路に実装するか、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせに実装できる。発明の装置は、プログラム可能なプロセッサによって実行されるマシン可読記憶デバイスに有形に具体化されるコンピュータプログラム製品に実装されてもよいし、発明の方法ステップは、入力データで動作して出力を生成することによって本発明の機能を実行する命令のプログラムを実行するプログラム可能なプロセッサによって実行されてもよい。
本方法は、有利には、プログラム可能なシステム上で実行可能である1または複数のコンピュータプログラムに実装されることができ、プログラム可能なシステムは、データおよび命令をデータ記憶システムから受信してデータ記憶システムに送信するために接続された少なくとも1つのプログラマブルプロセッサと、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを含む。アプリケーションプログラムは、ハイレベルの手続き型もしくはオブジェクト指向のプログラミング言語か、または必要に応じてアセンブリ言語もしくは機械語に実装されてもよい。いずれの場合も、それらの言語は、コンパイラ型またはインタープリタ型言語とすることができる。

Claims (12)

  1. 3次元シーンにおいて第1のポイントと第2のポイントを結ぶパスを設計するためのコンピュータが実行する方法であって、
    第1のベクトルに結合された前記第1のポイントを提供するステップと、
    第2のベクトルに結合された前記第2のポイントを提供するステップと、
    平行6面体の多くても3つの部分をたどることによってパスのセットを提供することであって、前記平行6面体は、第1の頂点に提供された前記第1のポイントと、第2の頂点に提供された前記第2のポイントとを備え、前記平行6面体の部分は、エッジ、面対角線、または空間対角線であり、前記パスのセットのうちの少なくとも1つのパスについて、少なくとも1つの部分は面対角線または空間対角線であり、前記パスのセットを提供することは、前記第1の頂点および前記第2の頂点が前記平行6面体の対向面上にあるかどうかを判断することをさらに含む、ことと、
    を備え、
    前記第1の頂点および前記第2の頂点が前記平行6面体の対向面上にあると判断された場合、前記パスのセットは、
    前記第1のポイントと前記第2のポイントとを結ぶ前記空間対角線から成る1つの部分を備える1つのパスと、
    前記平行6面体の共有頂点を有する2つの部分を備える6つのパスであって、1つの部分は前記平行6面体の面対角線であり、前記面対角線は前記第1のポイントまたは前記第2のポイントを備え、1つの部分はエッジである、6つのパスと、
    3つの連続部分を備える6つのパスであって、各部分はエッジである、6つのパスと、を備え、
    前記第1の頂点および前記第2の頂点が前記平行6面体の同一面に属すると判断された場合、前記パスのセットは、
    前記第1の頂点および前記第2の頂点が属する前記同一面の対角線である1つの部分を備える1つのパスと、
    2つの連続部分を備える2つのパスであって、各部分はエッジである、2つのパスと、を備える、方法。
  2. 前記3次元シーン内の前記平行6面体を以下の定位:
    前記3次元シーンのグローバル定位の方向のうちの1つ
    前記第1のベクトルによって与えられる方向
    前記第2のベクトルによって与えられる方向
    のうちの1つの周囲で定位することをさらに備えること
    を特徴とする請求項1に記載の方法。
  3. 前記第1のポイントおよび前記第2のポイントを結ぶ前記パスの少なくとも2つの部分を結ぶための曲げ半径を提供するステップをさらに備えること
    を特徴とする請求項1または2に記載の方法。
  4. 曲げ半径を提供した後、
    前記セットの各パスに対し、前記曲げ半径に従って前記第1のポイントと前記第2のポイントとの前記パスを結ぶ平行6面体を計算するステップをさらに備えること
    を特徴とする請求項に記載の方法。
  5. 前記セットの各パスに対し、平行6面体を計算することは、
    前記第1のポイントと前記第1の頂点との間の距離D1が、D1=Bend Radius×(sinα1)となるように計算することであって、Bend Radiusは、前記提供された曲げ半径の値であり、α1は、前記第1のベクトルの方向と前記第1の頂点に結ばれた前記パスの前記部分との間の角度であることと、
    前記第2のポイントと前記第2の頂点との間の距離D2が、D2=Bend Radius×(sinα2)となるように計算することであって、Bend Radiusは、前記提供された曲げ半径の値であり、α2は、前記第2のベクトルと前記第2の頂点に結ばれた前記パスの前記部分との間の角度であることと、によって第1の頂点の新しい位置および第2の頂点の新しい位置を計算することを備えること
    を特徴とする請求項に記載の方法。
  6. 前記パスの各エッジの長さ(L)を計算することと、
    前記長さ(L)がL≧Bend Radius×(sinαx+sinαy)であると判定することであって、Bend Radiusは、前記提供された曲げ半径の値であり、αxは前記パスの前記各エッジと前記パスの前記各エッジの第1の共有頂点を共有する前記パスの別の部分との間の角度の値であるか、または前記パスの前記各エッジと前記第1のベクトルの方向との間の角度の値であり、αyは、前記パスの前記各エッジと前記パスの前記各エッジの第2の共有頂点を共有する前記パスの別の部分との間の角度の値であるか、または前記パスの前記各エッジと前記第2のベクトルの方向との間の角度の値であることをさらに備えること
    を特徴とする請求項またはに記載の方法。
  7. 前記平行6面体のうちの前記1または複数の部分が、前記第1のポイントと前記第2のポイントとを結ぶポリラインを形成すること
    を特徴とする請求項1乃至のいずれかに記載の方法。
  8. 工業製品の断面の寸法を提供することと、
    前記ポリラインに沿った形状を形成することであって、前記ポリラインは前記断面の中心であることをさらに備えること
    を特徴とする請求項に記載の方法。
  9. 前記第1のベクトルに結合された前記第1のポイントを提供することは、前記3次元シーンに第1の3次元オブジェクトを配置することを備えることであって、前記第1のベクトルは、前記3次元シーンの前記第1の3次元オブジェクトを定位することと、
    前記第2のベクトルに結合された前記第2のポイントを提供することは、前記3次元シーンに第2の3次元オブジェクトを配置することを備えることであって、前記第2のベクトルは、前記3次元シーンの前記第2の3次元オブジェクトを定位することと、
    を特徴とする請求項1乃至のいずれかに記載の方法。
  10. 前記提供されたパスのセットの各パスのプレビューを表示することと、
    前記第1のポイントと前記第2のポイントとを結ぶ前記パスを示すために、前記プレビューのうちの1つを強調すること
    を特徴とする請求項1乃至のいずれかに記載の方法。
  11. コンピュータに、請求項1乃至10のいずれかに記載の方法を実行させるためのプログラム。
  12. グラフィカルユーザインタフェースおよびメモリに結合されたプロセッサを備えるコンピュータ支援設計システムであって、前記プロセッサが、前記メモリに記録された請求項11に記載のプログラムによって動作させられることを特徴とするコンピュータ支援設計システム。
JP2014150692A 2013-07-25 2014-07-24 3次元シーンにおいて第1のポイントと第2のポイントとを結ぶパス設計 Active JP6513914B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP13306081.4 2013-07-25
EP13306081.4A EP2829993B1 (en) 2013-07-25 2013-07-25 Design of a path connecting a first point to a second point in a three-dimensional scene

Publications (3)

Publication Number Publication Date
JP2015026377A JP2015026377A (ja) 2015-02-05
JP2015026377A5 JP2015026377A5 (ja) 2018-11-22
JP6513914B2 true JP6513914B2 (ja) 2019-05-15

Family

ID=48986070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014150692A Active JP6513914B2 (ja) 2013-07-25 2014-07-24 3次元シーンにおいて第1のポイントと第2のポイントとを結ぶパス設計

Country Status (6)

Country Link
US (1) US9330498B2 (ja)
EP (1) EP2829993B1 (ja)
JP (1) JP6513914B2 (ja)
KR (1) KR20150013069A (ja)
CN (1) CN104346830B (ja)
CA (1) CA2857780A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2523132A1 (en) * 2011-05-11 2012-11-14 Dassault Systèmes Designing a three-dimensional modeled assembly of objects in a three-dimensional scene
EP2829993B1 (en) 2013-07-25 2020-09-30 Dassault Systèmes Design of a path connecting a first point to a second point in a three-dimensional scene
US10192022B2 (en) * 2014-06-04 2019-01-29 IronCAD, LLC Geometric modeling system with intelligent behaviors of design components
WO2016169609A1 (en) * 2015-04-24 2016-10-27 Statoil Petroleum As Method of modifying a pipeline lay-out profile
JP6507904B2 (ja) * 2015-07-21 2019-05-08 富士通株式会社 ケーブル配線プログラム、ケーブル配線方法、および情報処理装置
US9822908B2 (en) 2015-12-10 2017-11-21 Ford Global Technologies, Llc Hydroform tube and method of forming
NL1041843B1 (en) * 2016-04-28 2017-11-20 Wavin Bv System for realizing a pipe coupling, method for identifying a coupling device, and a data carrier.
US10331820B2 (en) * 2017-02-28 2019-06-25 Applied Software Technology, Inc. Custom fabrication from generic REVIT templates
EP3454207B1 (en) * 2017-09-07 2022-07-06 Siemens Aktiengesellschaft Dynamic preview generation in a product lifecycle management environment
CN109176504B (zh) * 2018-08-09 2019-09-20 深圳蓝胖子机器人有限公司 机械手路径规划方法及装置
KR102209876B1 (ko) * 2019-01-10 2021-02-01 한국과학기술원 파이프 라우팅 방법 및 그를 위한 컴퓨터 프로그램
NO345373B1 (en) * 2019-02-26 2021-01-11 Vetco Gray Scandinavia As CNC-parameter generating method for an automated tube bending system
US11100257B2 (en) 2019-04-18 2021-08-24 Applied Software Technology, Inc. Spool run route finding in CAD systems
US11244084B2 (en) 2019-04-18 2022-02-08 Applied Software Technology, Inc. Spool sheet generation
US10902580B2 (en) * 2019-04-18 2021-01-26 Applied Software Technology, Inc. Auto-dimensioning REVIT models
US11030826B2 (en) * 2019-08-26 2021-06-08 Applied Software Technology, Inc. Hanger generation in computer-aided design programs
KR102271540B1 (ko) * 2019-09-27 2021-07-01 주식회사 알티넷 시설물을 위한 3차원 경로 매핑 방법
CN112650896A (zh) * 2019-10-12 2021-04-13 阿里巴巴集团控股有限公司 数据处理方法、装置、设备及存储介质
CN112685869B (zh) * 2019-10-17 2023-09-05 北京博超时代软件有限公司 分裂导线路径线绘制方法和装置、设备及存储介质
CN113420469B (zh) * 2020-12-28 2022-12-09 安波福电气系统有限公司 基于有限元的布线设计方法
CN113434959B (zh) * 2021-06-28 2023-03-03 西北工业大学 一种三维空间可行域内的管路弯折设计方法
CN113761770B (zh) * 2021-09-13 2024-04-02 柳州欧维姆结构检测技术有限公司 一种连续梁拱桥吊杆更换过程内力重分布计算方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63200207A (ja) * 1987-02-14 1988-08-18 Fujitsu Ltd 移動経路探索方法
US5452468A (en) * 1991-07-31 1995-09-19 Peterson; Richard E. Computer system with parallel processing for information organization
US5982374A (en) * 1997-04-30 1999-11-09 Wahl; Larry E. Vallian/geometric hexagon opting symbolic Tesseract V/GHOST
US7538764B2 (en) * 2001-01-05 2009-05-26 Interuniversitair Micro-Elektronica Centrum (Imec) System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display
JP2002297682A (ja) * 2001-03-30 2002-10-11 Babcock Hitachi Kk 配管ルート評価方法
RU2215326C2 (ru) * 2001-06-29 2003-10-27 Самсунг Электроникс Ко., Лтд. Иерархическое основанное на изображениях представление неподвижного и анимированного трехмерного объекта, способ и устройство для использования этого представления для визуализации объекта
US7444269B2 (en) * 2001-09-29 2008-10-28 The Boeing Company Constraint-based method of designing a route for a transport element
JP4255016B2 (ja) * 2001-12-04 2009-04-15 独立行政法人理化学研究所 3次元形状データのセル内部データへの変換方法および変換プログラム
JP4381743B2 (ja) * 2003-07-16 2009-12-09 独立行政法人理化学研究所 境界表現データからボリュームデータを生成する方法及びそのプログラム
US20050268245A1 (en) * 2004-05-11 2005-12-01 Peter Gipps User interface for path determination system
US7698110B2 (en) * 2005-10-13 2010-04-13 Autodesk, Inc. Method for dynamically generating multiple views of three-dimensional models for utility networks
JP5374878B2 (ja) * 2008-01-25 2013-12-25 富士通株式会社 ハーネス配線経路算出方法、ハーネス配線経路設計支援装置及びプログラム
JP5089478B2 (ja) * 2008-04-28 2012-12-05 キヤノン株式会社 解析モデル作成装置及び解析モデル作成方法
JP4825887B2 (ja) * 2009-03-12 2011-11-30 株式会社東芝 ケーブル格納部品の三次元配置調整cadデータの作成装置、その制御方法及び制御プログラム
CN102157014B (zh) * 2011-04-13 2013-01-16 西安理工大学 地铁综合管线三维可视化方法
FR2986887A1 (fr) * 2012-02-15 2013-08-16 Bull Sas Procede d'aide a la conception d'un centre de calcul
US8612913B1 (en) * 2012-12-21 2013-12-17 Synopsys, Inc. Automated approach to planning critical signals and busses
EP2829993B1 (en) 2013-07-25 2020-09-30 Dassault Systèmes Design of a path connecting a first point to a second point in a three-dimensional scene

Also Published As

Publication number Publication date
US20150029181A1 (en) 2015-01-29
US9330498B2 (en) 2016-05-03
KR20150013069A (ko) 2015-02-04
CA2857780A1 (en) 2015-01-25
CN104346830A (zh) 2015-02-11
JP2015026377A (ja) 2015-02-05
EP2829993A1 (en) 2015-01-28
EP2829993B1 (en) 2020-09-30
CN104346830B (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
JP6513914B2 (ja) 3次元シーンにおいて第1のポイントと第2のポイントとを結ぶパス設計
JP6787661B2 (ja) 工作物の機械加工のシミュレート
JP6356378B2 (ja) 幾何学的三次元モデルオブジェクトを設計する方法
JP7327943B2 (ja) フライス作業によって製造可能な部品の設計
JP6721332B2 (ja) 3dモデル化されたアセンブリ上で境界ボックスを生成すること
JP6196032B2 (ja) 複数の3d曲線からの表面の生成
JP7235462B2 (ja) 機械部品を表す2d図面の生成
EP3340085B1 (en) B-rep of the result of a two-axis 3d printing process
CN105760570B (zh) 选择对象集的视点
KR101925640B1 (ko) 3차원 장면에서 오브젝트들의 3차원 모델링된 어셈블리의 디자인
EP2241988B1 (en) Method, program and product edition system for visualizing objects displayed on a computer screen
KR20150109285A (ko) 기하학적 제약조건들에 의해 연결된 기하구조들을 이용한 산업 제품들의 설계
EP3895131A1 (en) A system for optimizing a 3d mesh

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170724

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180619

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180919

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20181015

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190411

R150 Certificate of patent or registration of utility model

Ref document number: 6513914

Country of ref document: JP

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