JP2003509736A - 設計対象間のエッジ相関のための方法及び装置 - Google Patents

設計対象間のエッジ相関のための方法及び装置

Info

Publication number
JP2003509736A
JP2003509736A JP2001522412A JP2001522412A JP2003509736A JP 2003509736 A JP2003509736 A JP 2003509736A JP 2001522412 A JP2001522412 A JP 2001522412A JP 2001522412 A JP2001522412 A JP 2001522412A JP 2003509736 A JP2003509736 A JP 2003509736A
Authority
JP
Japan
Prior art keywords
target
edge
edges
source
cad
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.)
Pending
Application number
JP2001522412A
Other languages
English (en)
Inventor
エツィオン,マイカル
スピッツ,スティーブン
Original Assignee
プロフィシャンシー リミテッド
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 プロフィシャンシー リミテッド filed Critical プロフィシャンシー リミテッド
Publication of JP2003509736A publication Critical patent/JP2003509736A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/196Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
    • G06V30/1983Syntactic or structural pattern recognition, e.g. symbolic string recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/653Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Image Generation (AREA)
  • Exposure Of Semiconductors, Excluding Electron Or Ion Beam Exposure (AREA)
  • Hardware Redundancy (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Collating Specific Patterns (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)
  • Telephonic Communication Services (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

(57)【要約】 コンピュータ支援設計システムにおける設計対象間のエッジ相関のためのコンピュータが実施する技術を提供する。1つの実施例では、ソースエッジは、ソースCADシステムからグローバルシーン内のデータ表現にエクスポートされる。グローバルシーンは、1または複数の候補ターゲットエッジが定義可能に、ターゲットCADシステムにインポートされる。候補ターゲットエッジが定義されると、それらは、ローカルシーンのデータ表現にエクスポートされる。エッジオーバーラップアルゴリズム、領域包含アルゴリズム、エッジ包含アルゴリズム及びエッジ延長アルゴリズムを包含可能な一連の技術を通して、非オーバーラップ候補ターゲットエッジは、ターゲットエッジの相関されたセットが生成されるまで、ローカルシーンから除去される。丸め動作または面取り動作のような設計特徴は、それらがソースCADシステム内に存在するように、ターゲットCADシステム内で、相関されたエッジのセットで実行可能である。

Description

【発明の詳細な説明】
【0001】
【発明の属する分野】
本発明は、コンピュータデータ交換に関し、特に、設計対象間のエッジ相関の
ための技術に関する。
【0002】
【背景情報】
近年のエンジニア、特に、機械装置を設計するエンジニアは、設計処理を助け
るコンピュータ支援設計装置を用いる。この装置は、典型的には、キーボード、
ディスプレイ及びマウス等のポインティング装置(指示装置)を含む、ユニック
ス(登録商標)ベースまたはマイクロソフトウィンドウズ(登録商標)NT(T
M)ベースのワークステーションまたはコンピュータにより構成される。特に、
この装置は、エンジニアが設計する装置の2次元図面または3次元図面を、エン
ジニアが創作することを可能とするコンピュータ支援設計(以下、“CAD”と
いう)ソフトウェアを含んでいる。
【0003】 時には、CADソフトウェアは、単にエンジニアが装置の図面を創作すること
を可能とする以上のものとなることもある。また、CADソフトウェアは、エン
ジニアのCADモデルの分析、ならびに、例えば、CADモデルを複雑な生産品
データ管理(“PDM”)に統合することによる機能チェーンの供給(supply c
hain functionality)に基づく製造、資源計画製造(manufacturing resource
planning)(“MRP”)、または資源計画事業(enterprise resource planni
ng)(“ERP”)データベースのモデル製作及び/または設計を実行する。
【0004】 エンジニアがデータをCADシステムに入力する2つの標準例がある。簡略化
のために、1つの例は“イクスプリット幾何学(explicit geometry)”例と呼ば
れ、第2の例は“パラメータ特徴ベース(parametric feature-based)例と呼ば
れる。図1は、イクスプリット幾何学システムを示し、図2はパラメータ特徴ベ
ースシステムを示している。
【0005】 昔のCADシステムでは、部分のイクスプリット幾何学記述が実行される。例
えば、各点(ポイント)または線に対する直角座標または極座標が記述されるイメ
ージが、時には異なる層で生成される。この方法は、やっかいであり、骨が折れ
る一が、しばしば、複雑な自由形状の表面を設計するエンジニアにとって好まし
いデータ登録例となる。この例の強みは、また、弱みでもある。すなわち、エッ
ジ(edge)、コネクション(connection)、ボイド(void)及び空間幾何学の間の厳密
で、しばしば寛大でない相互依存性を有する。例えば、1つの線あるいは点を移
動させると、モデル全体が崩壊することがある。
【0006】 それほど遠くない過去では、パラメータ特徴ベース(“PFB”)設計と呼ば
れる、CAD設計に対する新しいアプローチが紹介された。パラメータ特徴ベー
ス設計は、現在では、CAD産業では主要な設計例である。この例では、Parame
tric Technology Corporation(“PTC”)等が草分けであるが、エンジニ
アは、幾何学的なポイント等を明白に記述するよりも、形状からスタートし、形
状に対するパラメータを定義する。次の特徴が、集合時に完全なCADモデルを
形成する形状に付加される。図2に、対象に対する特徴リスト及び対象のスケッ
チ8の例が示されている。
【0007】 例えば、エンジニアが自動車の新しい車輪を設計する場合、円からスタートす
るであろう。次に、円柱を作る円に特徴が付加される(例えば、突き出し動作)
。そして、円柱から外枠が取り除かれて、車輪の目に見える部分のための全体的
な輪郭が生成される。最後に、車輪を自動車に取り付ける開口部を生成するため
に、小径の円柱の列が車輪の目に見える部分から取り除かれる。設計に付加され
る各特徴を用いて、エンジニアは、ベーシックな幾何学と、幾何学(例えば、半
径、長さ、幅、深さ、材料等)のための1または複数のパラメータを記述する。
しかしながら、競合するシステムでは、より複雑な形状を設計可能である。例え
ば、競合するCADシステムは、基準線幾何学特徴からスタートするよりも、円
柱、円錐または他の複雑な3次元特徴が記述される。
【0008】 パラメータ特徴ベース設計の強みは、たとえ細部(パラメータ)が変化しても
、エンジニアの設計意図が保持されることである。これは、エンジニアの設計の
異なるパラメータを簡単にテストするための順応性をエンジニアに与えながら、
全ての設計が保持されるということである。例えば、PFB CADモデルの特
徴を少し変化させても、全ての設計の安定性は、必ずしも崩壊されない。
【0009】 現時点では、多くの、CADソフトウェアの大きい販売業者や、小さい販売業
者が存在する。これらの販売業者には、PTC,Dassault Systems(フランス),
Unigraphics Solutions,SDRC及びAutodeskが含まれている。これらの販売業者
の各々は、異なる方法で設計方法を実行し、そして、大部分が、それぞれのコン
ピュータ及びアルゴリズム方法を財産として扱っている。それぞれの方法が秘密
であるだけなく、それぞれの方法を実行するデータ構造も秘密である。
【0010】 ここで、問題がある。異なるCADシステムのユーザが設計データを分配する
必要がある時、現時点では、限られた範囲でしか分配することができない。典型
的には、ユーザがデータを分配可能な範囲は、種々のCAD販売業者間の協同の
程度によって限定される。CAD販売業者は、ヘッドツーヘッド(head-to-head)
の競合者であるため、販売業者を区別するための中核となる要素である、それぞ
れのトレードシークレットまたは財産である方法が競合者に知られるのを恐れて
、しぶしぶでしか情報を分配しない。
【0011】 それにもかかわらず、CAD販売業者は、問題に対する少なくとも部分的な解
決を供給するアプリケーションプログラミングインターフェース(application
programming interface)(“API”)を提供する。APIを使用することによ
って、ユーザまたはシステム統合者は、必要な処理情報とともに、特別なCAD
システムに対する機能呼出しを作ることができる。特別なCADシステムは、機
能呼出しを処理するとともに、所望の部分または特徴のイクスプリット幾何学表
現(explicit geometric expression)、あるいは、所望の部分または特徴の数
種の標準グラフ表現(standard graphical representation)を戻す。
【0012】 しかしながら、APIは、機能的な制限があり、しばしば複雑な設計特徴及び
/または情報を交換するという重大な問題がある。再度、CAD販売業者のAP
Iに付加された各付加機能は、競合する販売業者が、リバースエンジニアリング
に対する眼識を持っていれば、販売業者のトレードシークレットの少なくともい
くつかの部分を見ることができる窓を提供する。
【0013】 問題はより悪化している。自動車産業や航空機産業等の産業内における統合は
、より多くのCADデータ交換問題を発生させる。例えば、ボーイング社は、最
近、マクドネルダグラス社を取得した。以前は別々の実体は、おそらく異なるC
ADシステムを用いている。その上、以前は別々の実体のそれぞれは、複数段の
下請業者を有している。下請業者も、それぞれ自己のCADシステムを使用して
いる。ボーイング社のエンジニアが部分を変更した時には、その部分を製造する
特別の下請業者に変更を連絡しなければならない。下請業者は、部分のためのC
ADモデルを必要とするであろう。しかしながら、適合しないファイル形式、異
なるコンピュータ及びアルゴリズム方法論のために、CADモデルを提供するこ
とができない。より悪い場合には、ボーイング社が、合併される2社間の設計協
働を作成することを決定する時に、ボーイング社のエンジニア及びマクドネルダ
グラス社のエンジニアは、複雑なCADモデルを完全に交換することができない
であろう。勿論、最近ジャガー社とボルボ社を買い取ったフォードモーター社に
ついても同じである。図3は、通信問題を図で示したものである。
【0014】 そのような実体の吸収合併によって望まれるスケールのエコノミー(economny
of scale))は、CAD販売業者間の情報及びノウハウを分配するうえで避け
られない抗争の被害者である。その上、別々の実体からのエンジニア間(すなわ
ち、本来の装置製造者と第1段及び第2段の下請業者間)の協力は、現在の技術
状態のもとでは、エンジニアが、本質的に相違するCADシステムから作られた
設計ファイルを分配するために時間と費用をひどく消費するため、不可能である
。粗データイメージ(例えば、TIFFやJPEG)及び境界表現(boundary r
epresentation)(例えば、IGESやSTEP)を交換するための標準は存在す
るが、これらの標準は、エンジニアの設計意図を保持しない。
【0015】
【発明の概要】
コンピュータ支援設計システムにおける設計対象間のエッジ相関のための、コ
ンピュータが実行する技術が提供される。本発明のアスペクトによれば、ソース
エッジは、ソースCADシステムからグローバルシーン内のデータ表現にエクス
ポートされる。グローバルシーンは、1または複数の候補ターゲットエッジが定
義可能に、ターゲットCADシステムにインポートされる。候補ターゲットエッ
ジが定義されると、それらは、ローカルシーンのデータ表現内にエクスポートさ
れる。エッジオーバーラップアルゴリズム、領域包含アルゴリズム、エッジ包含
アルゴリズム及びエッジ延長アルゴリズムを包含可能な一連の技術を通して、非
オーバーラップの候補ターゲットエッジは、相関されたターゲットエッジのセッ
トが生成されるまで、ローカルシーンから除去される。丸め動作または面取り動
作のような設計特徴は、それらがソースCADシステム内に存在するように、タ
ーゲットCADシステム内で、相関されたエッジのセットで実行可能である。
【0016】
【好ましい実施例の詳細な説明】
図4は、本発明の実施例の概念図である。本発明は、ソースコンピュータシス
テム401からのコンピュータ支援設計データをターゲットコンピュータシステ
ム403に変換するための方法及びシステムを含んでいる。ソースコンピュータ
システム及びターゲットコンピュータシステムの双方は、コンピュータ支援設計
環境で使用される。1つの実施例では、中間システム400が、ソースシステム
401からターゲットシステム403への変換を行う機能を提供する。実行領域
404は、2つの基本機能を実行する。第1に、実行領域404は、ソース40
1からCADデータを取り出す。第2に、実行領域は、ターゲット403によっ
て使用可能なCADデータを生成する。1つの実施例では、データベース402
は、CADデータを取り出し及び生成するために、ソースシステム401あるい
はターゲットシステム403のいずれかで実行可能な動作の知識カタログ(knowl
edge catalogue)を提供する。知識カタログ405には、変換処理のために用い
られ、アプリケーションプログラマーインターフェース408、パターンマッチ
ング技術409、ユーザエミュレーション技術410及び境界表現技術411を
含む1連の動作が含まれている。
【0017】 1つの実施例では、ブリッジデータ構造(bridge data structure)402’
が、中間システム400によって生成される。ブリッジデータ構造402’は、
別々に生成され、永続的に蓄積されるデータ構造であり、または、使用され、そ
の後にメモリから消去される単に一時的なデータ構造である。ブリッジデータ構
造402’が永続的なデータ構造である場合には、それもデータベース402の
部分である。
【0018】 永続的なブリッジデータ402’を生成する利点は、バージョン情報及びアン
ドゥログ(undo log)またはロールバックログ(rollback log)のような取出/生
成情報が、CADデータの交換が行われる時に失敗である変化をバックアウトま
たは再書き込みするために、またはCAD設計の特別な例を再生成するために生
成可能であることである。CAD設計の各バージョンのための単一のファイルを
生成するよりも、特別な例が、インクリメンタル方法で再生成され、それによっ
てディスク空間が節約される。その上、データベースまたは中間データ構造が、
CAD設計のパラメータ、特徴、履歴等を保持するための交換手段を提供可能で
あるため、設計意図の保持は、容易に維持可能である。
【0019】 ここに開示されているデータ交換技術における根底の目的は、ソースCADモ
デルからの設計意図を保持しなければならないということである。実際上このこ
とが意味することは、エンジニアがソースCADデータ構造で働いているかのよ
うに、特徴ベースによる特徴で、ターゲットCADデータ構造を操作する次のエ
ンジニアの能力を保持するターゲットコンピュータシステムに対する結果のCA
Dデータ構造である。勿論、操作のこのレベルは、常に可能ではなく、そして、
実際には、本発明の不可欠な必要条件ではないが、好ましい。
【0020】 [CADデータ交換] 図5Aは、本発明の1つの実際例に対応するCADデータ交換方法を描写する
フローチャートである。ここで、ソースCADデータモデルの意義がすでに理解
されていると想定する。更に、ブリッジデータ構造が用いられる場所では、一般
的な中間CADデータ形式が使用可能である。このように、ソースCADシステ
ム及びターゲットCADシステムは、取り出し処理あるいは生成処理と独立して
いる。
【0021】 ステップ501では、アプリケーションプログラマーインターフェース(“A
PI”)が、ソースCADシステムまたはターゲットCADシステム上で呼び出
される。1つの実施例では、まずターゲットCADシステムAPIが呼び出され
、もしAPIが働かない場合に、ソースCADシステムのAPIが呼び出される
。しかしながら、他の実施例では、ターゲットCADシステムのAPIのみまた
はソースCADシステムのAPIのみが呼び出される。例えば、出力処理が実行
される場合には、ソースCADシステムAPIのみが用いられる。しかしながら
、入力処理が実行される場合には、ターゲットCADシステムAPIのみが用い
られる。
【0022】 ステップ502では、失敗が発生しているか否かを決定するために、APIの
結果が分析される。一般的に、APIは、失敗通知を戻すが、他の場合には、A
PI失敗は、ページ欠陥または一般的な保護欠陥等のサブシステムクラッシュを
引き起こすかもしれない。このように、失敗が発生しているか否かを決定するこ
とは、APIの出力を監視するだけでなく、ソースCADシステム及び/または
ターゲットCADシステムの種々の動作パラメータならびにCADデータ対象自
身の物理的特性(例えば、特徴ベースによる特徴上で)を監視することも含んで
いる。
【0023】 ステップ502でのテストでAPIが成功であったとしても、ターゲットCA
Dモデルが生成される時にソースCADデータの設計意図が保持されていること
を確実にするために、ステップ503で第2のテストが実行される。ここでは、
設計意図のテストは、特別のターゲットCAD特徴がエンジニアによって修正可
能であるか否かの決定を含んでいる。例えば、設計意図が保持されているか否か
を決定するためのテストは、CADデータモデル内の境界表現の範囲を試験する
ことである。典型的には、ターゲットCADモデルが全て境界表現である場合に
は、設計意図が保持されていない可能性がある。しかしながら、例えば、境界表
現が特徴ベースによる特徴上に生成される時には、ターゲットCADモデルは、
境界表現によって表現可能であり、部分的に設計意図を保持している。
【0024】 APIがソースCADシステムからの設計意図を有効に保持している場合には
、ステップ504において、APIは、ターゲットCADシステムのための特別
の特徴を生成するために使用される。そうでない場合またはステップ502での
テストの結果が失敗である場合には、ステップ505において、以下に詳述する
パターンマッチング技術が実行される。
【0025】 一般的に、パターンマッチング技術は、ソースCADデータモデルからの特別
な特徴の1または複数の機能を、ターゲットCADデータモデルのための1また
は複数の対応する機能にマッピング(mapping)するための方法である。1つの実
施例では、パターンマッチング技術は、“最善の実施”技術または設計制限を強
要する。このように、典型的には、パターンマッチング技術は、ソース特徴リス
ト(source feature list)内の同一延長の動作シーケンスを発見し、設計意図
を保持する、ターゲットCADシステムのための所望の特徴リストにマッピング
するために用いられる。パターンマッチング技術は、図6〜8を参照して以下に
説明されている。
【0026】 ステップ506では、ステップ505でのパターンマッチングの結果を決定す
るために、テストが実行される。現在の特徴を含んでいるパターンが存在しない
場合に失敗であるパターンマッチングは、データベースに蓄積されているマッチ
レコードとマッチ可能である。 ステップ507では、パターンマッチが成功であると仮定し、1または複数の
等価動作が、ターゲットCADモデルまたはブリッジ構造に対して生成される。
【0027】 ステップ508は、機能マッピング技術(function mapping technique)を示
している。一般的に、パターンマッチングと機能マッチング間の差は、パターン
マッチングが、複数の動作を複数の等価動作内にマッチさせるのに対し、機能マ
ッピングは、動作間の1対1形式のマッチングであり、マッピングに設計制限あ
るいは実務制限を必ずしも強要しない。しかしながら、ステップ508及び対応
する次の動作は、パターマッチング技術に包含可能である。機能マッピングは、
パターンマッチングの部分集合である。ステップ509では、機能マッピングが
等価動作を発見することに失敗したか否を決定するために、テストが実行される
。機能マッピングが成功した場合には、ステップ510で、ターゲットCADモ
デルのために等価動作が生成される。
【0028】 しかしながら、機能マッピングが失敗の場合には、ステップ511で、ユーザ
エミュレーション技術が実行される。一般に、ユーザエミュレーション技術は、
ターゲットCADシステムまたはソースCADシステムのユーザのメニュ操作及
び/またはマウス操作をエミュレートする。例えば、ユーザエミュレーション技
術は、ターゲットCAD対象またはソースCAD対象のいずれかの特性を検出す
るため、または特別の特徴に関する付加的な属性またはコメントを示すために用
いることができる。また、ユーザエミュレーション技術は、ソースCADシステ
ムから特別の特徴を取り出し、またはターゲットCADシステム内の等価な特徴
を生成するために使用可能である。ユーザエミュレーション技術の詳細は、図9
A〜C及び図10A〜Dを参照して以下に記載されている。
【0029】 ステップ512では、ユーザエミュレーション技術が失敗したか否かを決定す
るために、テストが実行される。ユーザエミュレーション技術が失敗でない場合
には、ステップ513で、ターゲットCADモデルの特徴が生成され、処理は、
ソースCADモデルの次の設計特徴に続く。しかしながら、ユーザエミュレーシ
ョンが失敗であった場合には、ステップ514で、境界表現(すなわち、PFB
表現に対抗する、イクスプリット幾何学表現)が生成される。特別な特徴の表現
(“brep(ブレップ)”)を生成する方法は一般に知られている。例えば、
出力可能なbrepを生成するために、ソースCADシステムまたはターゲット
CADシステム内で、1または複数のAPI機能が呼び出し可能である。bre
pを生成する方法は一般に知られているが、ここで特徴があるのは、ターゲット
CAD対象をbrepとともに生成する方法である。本発明の1つの実施例では
、ソースCAD対象のbrepは、現在の特徴がbrep内に含まれるまで生成
される。現在の特徴が含まれると、brep技術411がターゲットCADモデ
ルの生成を中止するとともに、次の特徴が他の技術とともに生成可能である。
【0030】 ステップ514の終了後、処理は、ソースCADモデルの次の設計特徴に続く
【0031】 本発明にしたがって実行される失敗検出方法を説明することは価値がある。こ
れを、図5Bにより説明する。
【0032】 ステップ531では、失敗検出がAPI呼び出しまたは他の操作(例えば、パ
ターンマッチング、機能マッピング、ユーザエミュレーションあるいはbrep
)に基づいてイニシャライズされるか否かを決定するテストや他の動作が示され
ている。失敗検出処理がAPI呼び出しに続く場合には、ステップ532で、中
間システムは、API呼出しの成功あるいは失敗を示す、APIから戻される信
号を待機する。そうでない場合には、処理はステップ534に続く。
【0033】 ステップ533では、APIが失敗であるか否かを決定するために、テストが
実行される。APIが失敗した場合には、ステップ538で、失敗信号がデータ
交換処理に戻される。そうでない場合には、ステップ531に続くステップ53
4が実行される。ステップ534では、ソースCADモデルの幾何学的及び/ま
たは物理的特性をターゲットCADモデルと比較する特性分析が実行される。例
えば、表面面積計算、重量あるいは密度計算及び/または線長あるいは周囲長計
算が実行可能である。また、他の個体または幾何学的モデル計算が実行される。
【0034】 ステップ535では、ステップ534での比較結果が、ターゲットCADシス
テムに関連する許容可能な公差に対してテストされる。公差は、ソースCADモ
デル特性及びターゲットCADモデル特性に関係しているだけでなく、ターゲッ
トCADシステムに厳密に対応する設計公差または特徴公差に関するターゲット
CAD対象特性にも関係していることに注意する。結果が、ターゲットCADシ
ステムの公差の範囲内である場合には、処理は、以下に説明するステップ539
に続く。そうでない場合には、処理は、ターゲット特徴を調整するステップ53
6に続く。例えば、2つの線がターゲットCAD対象内で交わらない場合には、
2つの線のうち1つまたは双方が、2つの線間に交差を生成させるために、他方
の方向に延長される。ステップ537では、前記した公差のテストが再度実行さ
れる。しかしながら、テストが失敗である場合には、ステップ538で、失敗通
知がデータ交換処理に戻される。
【0035】 ステップ537でのテストが成功である場合には、ステップ539で、アンド
ゥ情報(undo information)がメモリに永続的に蓄積される。これにより、必要
であれば、生成処理が取り消される。実際、アンドゥ情報内には、ソースCAD
モデルのための同期点(synchronization point)または同期標識(synchronizati
on marker)、ならびにターゲットCADモデルのための対応する動作が蓄えら
れる。
【0036】 例えば、特別のソースCADモデルが3つの特徴を有していると仮定する。ソ
ースCADモデルをターゲットCADモデルに交換する時に、最初の2つの特徴
の交換は成功したが、3番目は失敗した。実際には、3番目の特徴は失敗してな
く、第1及び第2の特徴の交換が第3の特徴の交換を失敗させた可能性もある。
そのような場合には、特別のターゲットCAD特徴(自身)を調整してもソース
CAD特徴の再生が成功しない時、第2の特徴をバックアウトし、新しい技術を
用いた第2の特徴の交換を繰り返す。第2の特徴の交換を調整しても第3の特徴
の交換に対する動作が成功しない場合には、第1の特徴は、アンドゥ情報ととも
にバックアウト可能である。
【0037】 ステップ540では、“成功”信号が、メインCADデータ交換処理に戻され
る。失敗検出処理におけるイクスプリットステップ(explicit step)が存在しな
いが、ステップ541は、次の動作が、それまでの動作からの失敗を確認するこ
とを示していることに注意する。そのような場合には、ステップ539で蓄えら
れるアンドゥ情報は、それまでの動作、及びそれまでの動作に対する次の動作を
取り消すために使用可能である。失敗検出処理は、ステップ548及び551の
後で終了する。
【0038】 図4に示すシステム及び図5Aに示す方法を参照すると、典型的なデータフロ
ーは以下のとおりである。ソースCADシステム401は、PRO/Engin
eer CADソフトウェアを有している。ターゲットCADシステム403を
用いて作業するエンジニアは、Catia CADソフトウェアを使用する。エ
ンジニアは、PRO/Engineerソフトウェアを用いて設計されたCAD
モデルを手に入れ、Catia CADモデルを生成することを望む。CADデ
ータ交換処理は、エンジニアによって開始される。
【0039】 データフローに戻ると、まず、ソースCADシステム401内の特徴リストあ
るいは特徴ツリー(feature tree)が、中間システム400によって試験される
。中間システムは、孤立システムであるか、またはソースCADシステム401
及び/またはターゲットCADシステム403のいずれか(または双方)のプラ
グイン(plug-in)である。
【0040】 取り出し処理406は、個々の特徴をターゲットCADシステム403に翻訳
する機能のための、ソースCADシステム401のAPIのテストによって開始
する。ソースCADシステム401にAPIが存在するか否か。繰り返し方法で
は、処理は、API技術408の後に続く。それによって、パターン認識技術4
09(取り出しに対してはオプション)、ユーザエミュレーション技術410及
び境界表現技術411は、それぞれターゲットCADシステム403のためのC
ADモデルを生成するために(それまでの技術が失敗した場合にのみ)使用され
る。
【0041】 ソースCADデータモデルが取り出されると、生成処理407が開始する。生
成処理は、取り出し処理406からの個々の特徴を翻訳する機能のために、ター
ゲットCADシステム403のAPIをテストする。同様の繰返方法において、
処理は、API技術408からパターンマッチング技術409、ユーザエミュレ
ーション技術410、最後に境界表現技術411に続く。ふたたび、各技術は、
それまでの技術が失敗した場合、または、ある例では、それまでの技術と共同し
て実行される。例えば、パターンマッチング技術409は、以下の説明から明ら
かなように、API技術408またはユーザエミュレーション技術410からの
動作を実行可能である。
【0042】 1つの実施例では、データベース402は、パターンマッチング技術409の
ためのマッチデータ(match data)のパターンを保持するデータ構造を蓄積する
。また、データベースは、多くのCADシステムのグラフユーザインターフェー
スマッピング(graphical user interface mapping)等のユーザインターフェ
ースデータを蓄積することができる。その上、データベースは、特別なターゲッ
トCADシステム403内で最も成功しそうな種々のbrep技術を有すること
ができる。
【0043】 他の実施例では、ブリッジデータ構造402’は、ターゲットCADシステム
403のためのCADモデル、ならびに特別な特徴または失敗動作をバックアウ
トするためのロールバックログ及び/またはアンドゥログを一時的または永続的
に保持することができるように生成される。更に他の実施例では、ブリッジデー
タ構造402’は、ターゲットCADシステム403によって自然のままの形式
に変換される一般的なファイル形式である。そのような一般的なファイル形式は
、次のCADデータ交換処理(取り出しステージ406は少なくとも1回実行さ
れる必要がある)において、ターゲットCADシステム403の1つ以上のタイ
プが、ソースCADシステム401から手に入れたCADモデルを使用する時に
、生成ステージ407のみを残して、取り出しステージ406を除去する利点を
有している。
【0044】 [パターンマッチング] 図6には、本発明の実施例に対応するパターンマッチング技術の動作図が描写
されている。コンピュータシステムの揮発性メモリ領域603は、部分的には1
または複数の永続的な磁気式または光学式蓄積装置である、データベース402
及び/またはソースCADシステム401と連動する永続的なメモリからのデー
タの部分を保持する。
【0045】 揮発性メモリ領域603は、メモリの4つのセクションを有している。マッチ
データ領域604は、システム知識ベースの部分である静的マッチデータ(stati
c match data)を一時的に貯蔵する。マッチデータは、周知のパターンを発見
するための、関与領域(region of interest)領域またはより高次の統計上の見
込み領域である知識ベースの部分集合である。現在の対象領域605は、ソース
CADシステム401からの特徴リストの1または複数の部分を一時的にキャッ
シュ(貯蔵)する。このキャッシュは、一般鉄的に、最も大きなソース動作パタ
ーンを保持できる大きさとなるように、十分に釣り合ったデータ(または動作)
のセットを表している。
【0046】 領域604及び605は、主として、I/O部及び一体化されたディスク受入
部を減少させるために用いられる。領域は、サイズが可変である。1つの実施例
では、メモリ603は、更に、より大きなレコードセット(record set)、また
は、少なくとも、メモリ603内に蓄積されているデータの境界を越えているレ
コードセット内で探索を促進するためのハッシュ(hash)またはインデックス(ind
ex)を含んでいる。
【0047】 現在の特徴領域606は、マッチデータ領域601よりも小さい。現在の特徴
領域606は、マッチデータ領域601の質問のベースである現在の対象領域6
05から引き出されたソース動作(source operation)を保持する。
【0048】 現在のマッチ領域607は、マッチデータレコード、例えば、ターゲットCA
DシステムがどのようにターゲットCADモデルまたはターゲット特徴を構成す
るかを示す知識ベース402のレコードからの情報を一時的に蓄積する。現在の
マッチ領域607は、小さくてもよい。しかしながら、小さい場合には、領域は
、しばしば永続的なメモリ領域に書かれ、そして削除される。勿論、領域が大き
い場合にも同じことが言えるが、回数は減少する。
【0049】 任意であるが、ブリッジ構造402’が図6に示されている。ブリッジ構造4
02’は、一般的なデータ形式またはプロダクト表現、すなわち、厳密に言えば
、ターゲットデータ形式ではない中間データ形式である。このように、ブリッジ
構造402’は、ソースCADモデル、ターゲットCADモデル、ロスのない、
2方向データ交換のために使用可能な取り出し情報及び生成情報に関する付加情
報を含んでいる。
【0050】 図7は、データベース402内に設けられている知識ベースのためのデータ構
造の例を描写している。1つの実施例では、データ構造は、ソースCADシステ
ム形式及びターゲットCADシステム形式を有する変換テーブル708を備えて
いる。ソースCADシステム形式及びターゲットCADシステム形式をマッチさ
せるために、本発明のステップを実行するコンピュータは、所望の特別のCAD
データ交換に対応する付加レコードまたはデータ構造に対するポインタ(pointer
)をアクセスする。Xは、同じCAD形式の変換を示しており、本発明の方法は
、同じ形式のCADモデルの変換に等しく適用されるが、異なるバージョンを有
している。このように、CADモデルをPro/Engineerバージョン2
000i2からPro/Engineerバージョン2000iに変換すること
、すなわち後方向に変換することは、前方向に変換(2000iから2000i
2)することと同様に可能である。種々のバージョン番号のためのデータレコー
ドをマッチさせるためのポインタも、構造内に包含可能である。
【0051】 他の実施例では、変換テーブル708は必要でない。例えば、CADデータ交
換ソフトウェアは、典型的には、他のCADシステムにプラグ−インで装着され
る。プラグ−インは、形式Aのファイルを形式Bのファイル(およびその逆に)
に変換する変換詳細である。その場合、変換テーブル708情報は、すでに知ら
れており、テーブル708は必要でない。
【0052】 パターンマッチング技術の1つのアスペクトでは、マッチデータレコード70
9は、パターン(または機能)マッチング処理を達成するために用いられる。マ
ッチデータレコード709は、2つの区域を有している。第1の区域は、ソース
機能情報またはソース動作情報を蓄積する。ソース機能情報は、ソースCADシ
ステムにおける1または複数の動作構造または幾何学構造に対応している。第2
の区域711は、ターゲットCADシステムのためのターゲット機能情報または
ターゲット幾何学構造、例えば、所望の行動を実行する機能に対するポインタを
蓄積する。ターゲット機能情報は、ターゲットCADシステム内の1または複数
の動作に対応している。例えば、ターゲット機能情報は、API技術408のた
めの機能に対する機能またはポインタを包含可能である。レコードが可変長であ
る可能性があるため、マッチデータレコード709を他と容易に判別できるよう
にするために、ファイル区域のエンド712が包含可能である。しかしながら、
固定長のマッチデータレコード709が用いられる場合には、ファイル区域のエ
ンド712は必要でない。
【0053】 付加的なデータ構造も含まれている。例えば、図6を参照して述べたように、
マッチデータレコード709は、周知のハッシュ技術(hashing technique)を用
いることによって種々のハッシュバケット(hush bucket)に分割可能であるか、
または、検索動作を促進するためにインデックス構造(indexing structure)の
Bツリー形式または他の形式が使用可能である。その上、動作前にまたはレコー
ドがアップデートされた時に、マッチデータレコード709を区分することは有
効である。レコードが区分されると、高い位置参照性(メモリアドレスXが呼び
出された場合には、メモリアドレスYも呼び出されることを意味する)を有する
メモリの領域がグループ化され、I/O部及び読出部を減少させることができる
【0054】 図8は、CADデータ交換に適用されるパターンマッチングのための方法を詳
述するフローチャートである。必要ではないが、図6及び図7を参照して図8を
見ると便利である。この説明のために、ソースCADモデル401及び知識ベー
ス402はメモリ603に読み出されているものと仮定する。
【0055】 ステップ801では、ソース特徴リストから現在の特徴が読み出され、現在の
特徴領域606にロードされる。ステップ802では、現在の特徴領域606内
のデータが、データレコードをマッチングするために領域606を検索すること
によって、マッチデータ領域601内のソース機能710に対して比較される。
ステップ803では、マッチが発見されれば処理はステップ805に続き、そう
でなければ、失敗信号がメインCADデータ交換アルゴリズム(例えば、図5参
照)に戻される。
【0056】 ステップ805では、現在のマッチデータレコード709に対応する情報が、
現在のマッチ領域607に蓄積される。情報は、現在のマッチレコード709そ
のもの、知識ベース402またはマッチデータ領域601内の現在のマッチレコ
ード709のポインタ、ターゲット機能711、または支持データ(例えば、タ
ーゲットCADシステムのためのパラメータ、及び/または取出し処理または生
成処理に関する付加情報)とともに翻訳されるターゲット機能711である。
【0057】 ステップ806では、交換する必要があるソース特徴内に付加機能が存在しな
いことを保証するために、テストが実行される。付加機能を処理する必要がある
場合には、方法はステップ807に続く。そうでない場合には、ステップ812
で、現在のマッチレコード607が永続的に蓄積(すでに蓄積されていなければ
)され、特徴に対応する次の機能がステップ807でロードされ、それによって
検索ステップ(808)及びマッチステップ(809)が実行される。
【0058】 ステップ809では、検索に付加される付加機能が不適合なマッチを生成する
可能性がある。1つの実施例では、ターゲット特徴リストに対して行われたまた
は付加された変化は、特徴ベースによって特徴にバックアウトされる(ステップ
814)。この処理が実行される1つの理由は、失敗した動作を取り扱う次の試
みが、1つの動作よりも、1連の動作(例えば、全ての特徴)をより効果的にモ
デル化することである。他の実施例では、最後に蓄えられたマッチデータコード
が、ターゲット特徴リストのためのベース(基礎)として用いられ(ステップ8
15)、保持機能は、代替方法を介してターゲットCADシステムと交換される
。ステップ816では、マッチデータレコード情報が、ターゲットCADモデル
に対してエンター(投入)される。
【0059】 ステップ809に戻り、マッチが発見された場合には、ステップ810で、マ
ッチデータレコード709に対応する情報が蓄えられる。ステップ811におい
て、ソースCADモデル内にさらに動作が存在する場合には、処理はステップ8
07に戻る。そうでない場合には、ターゲット機能711に対応する情報の複数
のセットを有する、蓄えられたターゲット機能リストが、ステップ812で、タ
ーゲットCADモデルにエンター(投入)される。
【0060】 前述したパターンマッチング処理が特別な特徴を参照して定義される一方、こ
れは好ましい実施例であるが、特別な特徴に対する全体的な関係に関係なく、個
々の機能に関するパターンマッチングを実行可能であることに注意する。
【0061】 1つの実施例では、特別の特徴がパターンマッチング技術を用いて生成された
後、物理的及び/または幾何学的な特性分析(前述したように)が、ターゲット
の特徴について実行され、そして、特性がソース特徴の物理的/幾何学的特性に
対して比較される。特性がマッチしない場合には、ターゲット特性リストのパラ
メータが、特性が許容可能な公差内となるまで調整される。
【0062】 [ユーザエミュレーション] 図9A〜Cは、取り出し処理及び生成処理を実行するために用いられる予備技
術または代替技術であるユーザエミュレーションのアスペクトを描写している。
1つの実施例では、ユーザエミュレーション技術は、ソースCADシステムから
のデータをターゲットCADシステムに直接に変換するために用いられる。ある
いは、ユーザエミュレーション技術は、ソースCADデータからのデータを、ブ
リッジデータ構造のような中間ファイルであるが、ターゲットCADシステムに
交換するために用いることができる。更に他の実施例では、ユーザエミュレーシ
ョン技術は、ソースCADモデルまたはターゲットCADモデルのいずれかの情
報を集めるために用いられる。
【0063】 例えば、以下に説明するユーザエミュレーション技術は、ソース特徴またはタ
ーゲット特徴に対応する属性情報または呼び出し情報を選択するため、幾何学的
または物理的な特性分析を実行するため、あるいはソースCADモデルまたはタ
ーゲットCADモデルの特別のエッジまたは面を選択するために使用可能である
。さらに他の実施例では、ユーザエミュレーション技術は、公知のユーザインタ
ーフェース機能を有する処理を自動化するために使用可能である。
【0064】 図9Aは、ユーザエミュレーション技術の実施例の構成図である。図は、プロ
グラムされたコンピュータの異なるソフトウェアモジュールがどのように相互作
用するかを理解するのに役立つ。
【0065】 CADシステムソフトウェア901は、ユーザインターフェースを含んでいる
。ユーザインターフェースは、典型的には、マウスまたはキーボードコントロー
ルのようなポインティング装置(指示装置)を通してユーザと相互に作用する。
この説明のために、マウスやキーボードコントロールを、“インターフェース”
と呼ぶ。しかしながら、実際には、ユーザインターフェースは、インターフェー
ス入力と直接に相互作用しない。実際、インターフェース入力は、装置ドライブ
(device drive)(図示していない)を通過し、コンピュータモニタ(図示して
いない)に表れる。同時に、インターフェース入力に対応する情報は、例えばX
サーバ902を介してCADシステム901に通過する。CADシステム901
のユーザインターフェースは、Xサーバー902を介してデータを送信すること
によってまたはコマンドを戻すことによって(これらは、その後コンピュータモ
ニタに出力され)、インターフェース入力に対して順に応答可能である。
【0066】 Xサーバは、単に、グラフ窓モジュール(graphical windowing module)の例
であることに注意する。任意の動作システム下では、Xサーバの役割は、他のグ
ラフイメージサーバーまたはグラフイメージモジュールによって実行される。こ
れらのモジュールは、例えば、マイクロソフトウィンドウズ(登録商標)NT内
で実行可能なUSER.EXE及びGDI.EXEを含んでいる。他の環境では
、Java(登録商標) Script内に生成されるインターフェースまたは
種々のJava(登録商標) classを用いる、付加的な実行モジュールま
たは手続モジュールは、適用環境または動作環境に対して同様の機能を実行する
【0067】 例えば、ユーザは、位置(x1,y1)から(x2,y2)にカーソルを移動
させ(マウスを用いて)、マウスをクリック操作する。マウスは、移動を電気信
号に翻訳する装置ドライブにインターフェース入力を送信する。インターフェー
ス入力は、モニターのためのビットマップ表示を制御するXサーバ902に送ら
れる。また、電気信号は、CADシステム901に送られる。CADシステム9
01は、インターフェース入力を受信し、CADソフトウェアがどのようにイン
タフェース入力に応答(または変化)すべきであるかを決定する。応答は、特別
なメニューアイテム(menu item)の色の変化、メニュープルダウンリスト(menu
pull-down list)の表示または特別な対象の特徴の選択を包含可能である。C
ADシステム901が、ディスプレイをどのように変化させるかを決定すると、
CADソフトウェアは、コンピュータディスプレイが適切に変化するように、対
応する状態を内部的に変化させた後、付加情報をXサーバ902に戻す。
【0068】 本発明では、ユーザーインタフェースは、Xサーバ902と直接に相互作用し
ない。代わりに、ユーザーインタフェースは、少なくとも1つがユーザをエミュ
レートする、1または複数のソフトウェアモジュールと相互作用する。本発明の
1つの実施例ではプロキシー(proxy)903は、CADシステム901(及びそ
のユーザーインタフェース)とXサーバー902との間のバッファとして動作す
る。プロキシー903を通過する信号は、信号を試験するとともにユーザ応答を
エミュレートする、インタプリータ(interpreter)904に流される。エミュレ
ートされたユーザ応答は、プロキシー903を介して、ユーザインターフェース
またはXサーバー902に送信可能である。(プロキシー903及びインタプリ
ータ904は、例えば、CADシステム901を介して結合されるプラグインで
ある、単一のソフトウェアモジュール内に内在可能であることに注意する。)
【0069】 代替実施例では、Xサーバー902とCADシステム901との間のデータ及
び制御信号は、プラグインによってCADソフトウェアに捕獲される。捕獲信号
に応答して、プラグインは、本質的には時間が遅れている状態となる。第2に、
サブスレッド(sub-thread)が、捕獲信号を処理するプラグインによって産まれ
る。プラグインが信号を処理すると、プラグインは、CADシステムに対応する
状態情報(プラグインと共同する保存メモリ内に)及びプラグインの待機状態を
終了させる信号を蓄積することができる。
【0070】 そうしている間に、CADシステムは、プラインが終了したという仮定の基で
通常の処理に戻る。信号がプラグインによって捕獲される次の時には、プラグイ
ンは、再び、プラグインを呼び起こし、サブスレッド内の処理を再開(resume)、
すなわち、停止した処理をピックアップすることをCADシステムに指示する。
この技術は安全に筋道づけられていないが、通常の動作環境では相互に排他的で
ある2つの処理を実行するための有益な方法である。
【0071】 1つの実施例では、プラグインを終了させる前に、サブスレッドがタイマをイ
ニシャライズする。タイマは、外部処理エラーが発生する時を検出するために使
用可能である。サブスレッドによる状態情報の処理が再開される前に、タイマが
終了した場合には、エラーメッセージが戻され、それによって、ユーザエミュレ
ーション処理が取り消されまたはバックアウトされる。
【0072】 1つの実施例では、基礎をなすCADシステム、Cライブラリ手段(C librar
y implementation)またはプラットフォーム(platform)は、安全なクロススレッ
ド呼び出し(cross-thread call)を許可しない。この禁止条件で作業するには、
サブスレッドがCADシステムAPIを直接呼び出す必要がある時に、サブスレ
ッドは、サブスレッドの代表として呼び出しを実行するために、プラグインに要
求を通過させるための内部処理通信(inter-process communication)技術、遠方
手続(remote procedure call)技術またはクロススレッドメッセージ技術を用
いる。
【0073】 図9Bは、ユーザエミュレーション技術が適用可能な有益な処理の1つである
、対象選択のアスペクトを詳述する画面905である。本実施例では、画面は、
テキストベースのメニューオプションを有するツールバー912、対象(ここで
は、立方体)の概略図910、対象の部分の拡大図909を含んでいる。更に、
拡大図909は、典型的には、対象の特別な特徴が選択されているか否かをCA
Dシステムに記入するために用いられ、マウスで選択可能なオプションを有して
いるボタンバー908を含んでいる。また、画面905に示されているように、
状態指示906と、カーソル913の現在位置を示す座標指示907を有してい
る。対象のグラフ要素(ここでは、エッジ911)は、強調されている。(以下
で用いられているように、“グラフ要素”という用語は、CAD対象の線、エッ
ジ、面、表面または他のグラフ設計特徴を意味し、これらは、通常は、コンピュ
ータディスプレイに2次元あるいは3次元の形態で表示される。)
【0074】 図9Cは、Xサーバー902からの信号の例を示している。この例では、信号
は、窓システム(windowing system)内に示されている特別のグラフ要素のため
にカラー指示であってもよい。1つの実施例では、対象上のグラフ要素を選択す
る動作は、ボタンバー908内のボタンの1つまたは状態指示器906と共同す
るカラー指示器内の状態推移に対するXサーバー902からの1または複数の信
号の監視を含んでいる。指示器の状態推移を検出することによって、ユーザエミ
ュレーション処理が失敗しなかったことを暗示可能である。
【0075】 例えば、状態指示器906内のX窓テキストは、ユーザ応答またはそれまでの
応答を処理するためにシステムが待機しているか否かに応じて色を変更してもよ
い。他のオプションは、それまでの動作の失敗または成功を示す単語のために、
ダイアログボックスまたはポップアップウィンドウ(pop-up window)のためのテ
キストを走査することである。
【0076】 図10A〜Dは、ユーザエミュレーション技術のためのステップを詳述するフ
ローチャートである。ユーザエミュレーション技術は、典型的には、コンピュー
タシステムの他の要素と共同してインタプリータ904によって実行される。
【0077】 まず、図10Aは、ユーザエミュレーションのための主要ステップを描写して
いる。ステップ1001では、セットアップ動作が実行され、インタプリータ9
04が窓システムに対して構成される。ステップ1002では、窓システム内に
示されているグラフ要素が選択される。
【0078】 ステップ1003では、正しい(または、所望の)グラフ要素が選択されてい
ることを確認するために、テストが実行される。例えば、グラフ要素の選択及び
確認は、CADモデル内の特徴リストを介したステッピング(stepping)及びXサ
ーバー902からの信号の監視を含んでいる。代わりに、エミュレートされたマ
ウスの移動及びクリックをXサーバー902に送り、CADシステム901に戻
された結果状態信号を、状態推移またはテキスト列に対して監視してもよい。
【0079】 正しいグラフ要素が選択されると、ステップ1004で、動作がグラフ要素上
で実行される。動作は、特性分析、グラフ要素に対応する属性の読み出し、グラ
フ要素を隠しまたは削除すること、出力コマンド(例えば、brepの生成)の
初期化またはグラフ要素に対応する属性の修正等を実行する。ステップ1005
では、動作が失敗しているか否かを決定するために、テストが実行される。動作
が失敗した場合には、次のCADデータ交換方法が試みられ、そうでない場合に
は、交換方法は成功であると判断する。
【0080】 図10Bは、セットアップ動作を実行するためのステップを描写するフローチ
ャートである。ステップ1007では、表示装置内に示されている窓が確認され
る。窓の確認は、含まれている特別のCADシステムに応じて、以下のいずれか
、または全てに基づいている。(1)窓ハイアラキー(窓階級)(例えば、子窓
の数、窓リスト内の種々の窓の位置)、(2)窓内に表示されているテキスト列
、及び/または(3)窓の幾何学(例えば、幅、高さ、幅と高さの比、画面上の
位置)。窓は、CADデータ交換ソフトウェアによって選択された確認とともに
メモリに蓄積可能であり、または、それらは、窓(例えば、タイトルまたはヘッ
ダー)と共同するテキストに対応する確認とともに蓄積可能である。次に、ステ
ップ1008で、カーソル(例えば、913)の移動に対応する信号が、窓シス
テム(例えば、907)の座標に対して校正される。校正は、特別の窓環境及び
指示装置の設定に合うように(例えば、寸法合わせ)、インタプリータによって
発生された信号に対して、調整または変換が可能にメモリに蓄えられる。
【0081】 ステップ1009では、メニューマッピング(menu mapping)が実行される。
一般に、メニューマッピングは、メインツールバー912のオプションのテキス
トを読み取り、各オプションに対してマウスクリックを送信し、更にサブオプシ
ョン(sub-option)をマッピングする。また、マッピングの結果は、ユーザエミュ
レーションがパターンマッチング技術の部分として用いられる場合のように、将
来実行される動作に整列可能にメモリに蓄積される。また、メニューマッピング
は、CADソフトウェアの(国の)言語またはバージョンを確認するために使用
可能である。
【0082】 図10Cは、グラフ要素を選択するためのステップを描写するフローチャート
である。ステップは、メインツールバー912またはサブオプションの1つから
のオプションよりも、窓内に表示されている対象の特徴またはアスペクトの選択
に特に関係している。
【0083】 ステップ1010では、ターゲット窓内に見えるグラフ要素を確認するために
、テストが実行される。グラフ要素がターゲット窓内に存在しない場合には、窓
の位置または有利な地点(vantage point)が、例えば、メインツールバー912
を用いることによって調整される。ステップ1011では、所望の特徴以外の1
または複数の特徴(例えば、所望の特徴にまさに隣接あるいは近い特徴)は、隠
されまたは削除される。代替実施例では、1または複数の特徴は、後で復元可能
な場所でのみ削除される。次に、ステップ1012では、ターゲット窓の領域は
、ズームアウトされ(対象を小さくする)、そして、ステップ1013では、窓
が、ターゲットグラフ要素の回りに集められる。ステップ1014では、マウス
クリックが、ターゲット窓の中央に送られる。
【0084】 図10Dは、正しい要素が選択されたことを確認するための技術を描写するフ
ローチャートである。ステップ1016では、正しいグラフ要素が選択されたこ
とを確認するために、Xサーバー902からのリターンストリング(return str
ing)または状態指示がチェックされる。1つの実施例では、正しいグラフ要素ま
たは選択が検出されない場合には、処理は、ステップ1012(またはステップ
1002)に続き、ターゲット窓が他のポイント(点)の回りに再度集められ、
及び/またはズーム係数が減少される(対象を大きくする)。
【0085】 しかしながら、ステップ1017に示されているように、失敗が検出された場
合には、ユーザエミュレーションが取り消されるとともに、処理は次のCADデ
ータ交換技術に続く。失敗が検出されない場合には、ステップ1019で、ユー
ザエミュレーション処理によって変更がなされる前に、CAD対象に対応する状
態情報が永続的に蓄えられる。
【0086】 ステップ1020は、次の動作、例えば、CADデータ対象を扱う時に、AP
I、パターンマッチング、後のユーザエミュレーションまたはbrep処理等の
ユーザエミュレーション技術の外部で発生する動作内の失敗のためのテストを示
している。次の動作が失敗の場合には、即座の失敗が検出されないとしても(例
えば、特性分析から)、それまでの動作からのユーザエミュレーションが、実際
は失敗である可能性がある。このように、ステップ1022では、ステップ10
19で蓄積された状態情報が、CADデータモデルからバックアウト(例えば、
ロールバック処理)される。次の動作が失敗でない場合には、ステップ1021
で、状態情報が削除される。
【0087】 [エッジ選択] CADデータ交換処理の部分は、定義されたCADモデルのいくつかの部分ま
たは特徴の確認を要求する動作の実行を包含可能である。以下に説明するエッジ
選択技術は、複数のコンピュータ支援設計装置においてソースエッジをターゲッ
トエッジに相関させる目的のためにその技術が使用されるような動作を実行する
時に、使用可能な新しく、有益な道具を提供する。例えば、動作は、ターゲット
CADモデルの丸くする動作または面取り動作、または対象の面の選択を含んで
いる。処理は、孤立した処理であり、処理は、ユーザエミュレーション処理(前
述)からのステップを統合し、または、処理は、ユーザエミュレーション処理内
に統合可能である。更に、添付の図面及び説明では、たとえ、実際に動作し、技
術で使用されているものが線及び形状のデータ表現である場合でも、目に見える
ように、線及び形状の要約が用いられることに注意する。
【0088】 図11A〜Dは、現在の問題を示している。図11Aは、ソースCADシステ
ムにおける3次元対象1101を描写している。対象は、4つの面(面1105
と1106のみが呼び出されている)によって表されている幾分丸い側を有して
いる。エッジ1102は、4つの面によって形成されている曲線を表している。
丸くする動作は、ソースCADモデル内に記述されており、エッジ1102で実
行される。図11Bを参照すると、丸くする動作が実行される時に、丸くされた
エッジ1104が、エッジ1102が存在した場所に形成される。対象1101
は、対象1101’として示されている。
【0089】 前述したように、CADデータ交換技術の基礎をなす目的は、ソースCADモ
デルからの設計意図がターゲットCADモデル内に保存されることである。した
がって、ある実施例では、ソースCADモデルのより細かい粒状表現(granulari
ty representation)が、しばしばターゲットCADモデル内で発見される。他
の例では、反対の関係が存在する。図11C〜Dは、ターゲットCADシステム
における実施例として、ソースCADモデルのそのようなより細かい粒状表現を
示している。例えば、対象1103では、対象1101内のエッジ1102を有
する4つの面は、面1107、1108、1109及び1110を含む8つの面
を有し、エッジ1102’を作っている。望まれることは、特徴1104がター
ゲットCADシステム内に特徴1104’として生成可能となるように、エッジ
1102をエッジ1102’に相関させることである。
【0090】 図12は、エッジ選択アルゴリズムの動作図を描写している。対象(例えば、
ブロックの境界表現)は、ソースCADシステム1202内に存在し、エッジ“
a”を有している。エッジ“a”は、エクスポータモジュール(出力モジュール
)(exporter module)1208によるデータ交換プロダクトのためにグローバル
シーン(全体画面)(global scene)1210にエクスポート(出力)される。
エッジ“a”がグローバルシーン1210内で確認された場合には、インポータ
モジュール(入力モジュール)1206は、ターゲットCADシステム1204
内の対応するエッジを確認しなければならない。そして、エッジ“a”とマッチ
する複数の候補“エッジ”を表現しているローカルシーン(部分画面)(local
scene)1212が、ターゲットCADシステムからエクスポートされる。ロ
ーカルシーン1212は、インクリメント方法でエクスポートされることに注意
する。全てのローカルシーン1212が同時にエクスポート可能であるが、一般
的に、これは、図12内の循環データフローによって示されている場合ではない
【0091】 ローカルシーン1212(または、その部分)がエクスポートされると、エッ
ジセレクタ(エッジ選択器)(edge selector)1207は、修正処理を開始する
。ターゲットCADシステム1204内の不必要なエッジは候補から除去されが
、他のエッジのマッピングは保持される。マッピングは、理想的には、n対mを
表す。nは、m以上であり、ターゲットCADシステム1204のエッジとソー
スCADシステム1202のエッジ間に対応する。マッピングは保持されるため
、エッジ“a”の次の動作は、エッジ“b1”及び“b2”への適用とみなされ
る。以下は、エッジを選択するために、個々にあるいは共同して使用可能な複数
の技術である。
【0092】 [エッジオーバラップアルゴリズム] エッジオーバラップアルゴリズム(edge overlap algorithm)の基礎となる前
提は、2つのエッジ(すなわち、ソースCADモデル及びターゲットCADモデ
ルからの、グローバルシーン及びローカルシーンからの)が、それらの交点が位
相的に1つのディメンジョン(“1−D”)である場合にオーバーラップする(
重なる)ことである。2つのエッジがオーバーラップする場合には、それらは同
じ幾何学的キャリア(geometric carrier)上に存在する。
【0093】 1つの実施例では、エッジの幾何学は、非均一な有理B−スプライン(non-uni
form rational B-spline)(“NUBRS”)として表現される。エッジの幾
何学のNURBS表現の作成は、各エッジにスタートポイント(start-point)及
びエンドポイント(end-point)を与える。エッジが閉じている(すなわち、円形
)場合には、スタートポイントとエンドポイントが一致する。スタートポイント
とエンドポイントが1つの実施例で用いられていながら、スタート頂点とエンド
頂点を用いることが可能である。本発明の他の実施例では、エッジの他の表現も
、対応するデカルト座標(Cartesian coordinate)を有する分離した線形セグメ
ントであることを想像させる。
【0094】 図13は、エッジオーバーラップアルゴリズムを描写するフローチャートであ
る。ステップ1302では、各エッジを表現するNURBSのスタートポイント
及びエンドポイントが、NURBSから取り出される。
【0095】 ステップ1304では、領域が、例えば、ソースエッジ(source edge)内で決
定される。領域は、ターゲットエッジ(target edge)のスタートポイント及びエ
ンドポイントがその上にマッピされる場合には、分割される回数を表現している
。このように、ターゲットエッジ内の1つのポイントがソースエッジ内で発見さ
れる場合には、ソースエッジは2つの領域を有している。しかしながら、ターゲ
ットエッジ内の2つのポイントがソースエッジ内に発見される場合には、ソース
エッジは3つの領域を有している。ステップ1304において、取り出されたポ
イントを区分することは有益である。ソースエッジの領域は、別個の(区分され
た)ポイントの全ての連続的なペア間である。
【0096】 図14は、ソースエッジの領域を決定する例を示している。ソースエッジ“E
”(1402)と、ターゲットエッジ“F1”(1406)、“F2”(140
8)及び“F3”(1410)に対する3つの候補1404が描写されている。
種々のターゲットエッジ候補1404に向かい合っているソースエッジEの領域
を決定する。Eは、F1に関して1つの領域を有している。Eは、F2に関して
2つの領域を有している。Eは、F3に関して3つの領域を有している。領域を
確認すると、ソースエッジは、常に、少なくとも1つ、しかしながら3つを超え
ない領域を有していることに注意する。
【0097】 図13に戻り、ステップ1308では、領域包含動作が実行される。ステップ
1308がその一部である、領域包含動作は、ソースエッジ及びターゲットエッ
ジが同じ幾何学キャリアを有していることを想定している。領域包含動作は、ソ
ースエッジによって定義される領域の中点を選択する。ステップ1310では、
選択された中点がターゲットエッジ内に存在するか否かを決定するために、テス
トが実行される。ステップ1312では、選択された中点がターゲットエッジ内
に存在する場合には、ソースエッジ及びターゲットエッジはオーバーラップする
ものとされ宣言されるとともに、結果が戻される。中点がターゲットエッジ内に
存在しない場合には、オーバーラップは存在せず、ステップ1314で、適当な
応答が戻される。
【0098】 上記処理は、レーザのような精密度が要求されないことに注意する。異なるC
ADシステムは、異なる方法で非線形セグメントを表現することが、発明者によ
って認識されている。ソースCADモデルを正確に同じ方法で、すなわち同じ基
礎をなすノウハウを用いてターゲットCADモデル内に正確に再生成することは
、CADデータ交換システムの目的ではない。むしろ、ソースCADシステム及
びターゲットCADシステムのノウハウに関係する、受入可能なターゲットCA
Dモデルを生成することが目的である。このように、ソースエッジまたはターゲ
ットエッジ上の特別なポイントが、他のシステム内に存在するか否かを決定する
際の公差が、分析内に予定される。したがって、数学的または統計学的分析が、
そのような公差をモデルするため使用可能であり、または、公差がCADデータ
交換システム内にハードコード(hard-coded)可能である。
【0099】 [エッジ包含アルゴリズム] ターゲットCADモデルの粒状が、理想的には、ソースCADモデルと同じか
または細かい限り、ターゲットCADモデルは、ソースCADモデルより効果的
な方法で、特別なエッジを表現することができる。そのような場合、ソースエッ
ジの領域の全てがターゲットエッジ内に含まれていることを確認するために、エ
ッジ包含アルゴリズム(領域包含動作と反対である)を実行することは有益であ
る。更に、この処理は、ターゲットエッジがソースエッジより細かい粒状で表さ
れていても、2つのエッジのオーバーラップを確認するために使用可能であるこ
とに注意する。
【0100】 エッジオーバーラップ例の場合のように、ソースエッジ及びターゲットエッジ
は、グローバルシーン及びローカルシーン(図12に描写されている)から使用
可能である。所望の確認に依存して(すなわち、ターゲットエッジがソースエッ
ジより一層表現的な領域(representative region)を有し、あるいはその逆)、
エッジ包含アルゴリズムへの入力は、所望の出力に応じて選択可能である。更に
、エッジ包含アルゴリズムは、前述したエッジオーバーラップアルゴリズムと共
に使用可能である。
【0101】 ここで、説明のために、図11A〜Dを参照して前記した場合のように、ター
ゲットエッジは、ソースエッジより一層表現的な領域を有していると仮定する。
付加的に、ターゲットエッジのセットが、ソースエッジ“e”でオーバーラップ
する時、ターゲットエッジのセットは、“接続された”セットと呼ばれる。更に
、各エッジのエンドポイントが次のエッジ(successor)のスタートポイントであ
るような、方向付けられたエッジのシーケンスは、“チェーン(chain)”と呼ば
れる。
【0102】 図15は、エッジ包含アルゴリズムのフローチャートである。ステップ150
2では、ターゲットエッジ(“C”)のチェーンのメモリ位置表現のシーケンス
がフラッシュ(flush)される。ステップ1504では、好ましくはローカルシー
ンから、第1のターゲットエッジが位置決めされ、そして、セット“C”に付加
される。以下に説明する図16は、第1のターゲットエッジを発見するための1
つのアルゴリズムの実施例を描写している。他の実施例では、システムは、与え
られたソースエッジ“e”の付近をエッジのために検索する。
【0103】 ステップ1506では、ターゲットエッジが発見されたか否か、ターゲットエ
ッジがソースエッジ“e”をオーバーラップしているか否かを決定するために、
テストが実行される。ターゲットエッジが発見されない場合またはエッジがオー
バーラップしていない場合には、ターゲットエッジは、ステップ1522で、エ
ッジをマッチングさせる場合のように、候補から除去される。そうでない場合に
は、ステップ1508で、ターゲットエッジは、次の、接続されたエッジを包含
するために前方へ延長される。ステップ1510では、新しく延長されたエッジ
がソースエッジ“e”によって包含されているか否か決定するために、テストが
実行される。ステップ1512では、新しく延長されたエッジがソースエッジ“
e”によって包含されている場合には、次の接続されたエッジ(前記延長された
)がターゲットエッジに付加され、そしてエッジチェーン“C”内に蓄えられる
。処理は、ターゲットエッジが前方に延長できなくなるまで繰り返される。
【0104】 ステップ1514では、ステップ1508〜1512で参照される前述した処
理と同じ処理が実行される。しかしながら、ここでは、ステップ1514、15
16及び1518で、ターゲットエッジは後方に延長される。その上、延長され
たエッジがソースエッジ“c”によって包含されていない場合には、処理はステ
ップ1520に続く。
【0105】 ステップ1508、1510及び1512、ならびにステップ1514、15
16及び1518で描写されているエッジ延長処理の1実施例は、図17を参照
して以下に説明されている。
【0106】 [イニシャルエッジの発見] 図16は、エッジ包含アルゴリズムのためのイニシャルエッジを発見するため
にコンピュータが実行する方法の実施例を描写している。ステップ1602では
、ポイント“p”がソースエッジ“e”から選択される。“p”は、“e”の内
部のポイント、スタートポイントあるいはエンドポイントであってもよい。ステ
ップ1604では、エッジのセット“F”(例えば、ローカルシーンからの)が
、ポイント“p”を包含するように生成される。(エッジのセット“F”は、ロ
ーカルシーン内にすでに存在していてもよいが、ローカルシーンの生成はインク
リメンタル処理であるため、セット“F”の付加メンバは、ステップ1604で
付加可能であることに注意する。)
【0107】 ステップ1606では、セット“F”内の非オーバーラップエッジ(non-overl
apping edge)がセット“F”から除去される。一般的に、セット“F”内の各
エッジは、2つのエッジがオーバーラップしていることを確認するために、ソー
スエッジ“e”に対して繰返しテスト可能である。
【0108】 ステップ1608では、セット“F”がからであるか否かを決定するために、
テストが実行される。セット“F”がからである場合には、ステップ1614に
示されているように、エラーが発生している。セット“F”がからでない場合に
は、セット“F”が3以上のターゲットエッジを保持しているか否かを決定する
ために、テストが実行される。セット“F”が3以上のターゲットエッジを保持
している場合には、ステップ1614に示しているように、エラーが発生してい
る。しかしながら、セット“F”が1または2つのターゲットエッジを有してい
る場合には、1つのエッジがステップ1612での処理のために戻される。(第
2のエッジは、戻されたエッジがソースエッジ“e”を十分にオーバーラップし
ていない場合に処理される。)
【0109】 ステップ1614は、1または複数のエラー訂正構成を有しており、それにより
、選択された特別のエラー訂正構成が、ステップ1608、1610及び/また
は1612で効果を有することに注意する。これらの構成は、新しいポイント“
p”の選択、またはポイント“p”に近い第2のポイント“p’”の選択を含ん
でいる。
【0110】 図16は、例えば、単一のターゲットエッジがソースエッジを完全に包含して
いる(及び自身が完全に包含されている)ことが確認された場合に、図15に描
写されているステップの残りを迂回可能であることに注意する。
【0111】 [チェーン延長アルゴリズム] 図17は、本発明の実施例に対応する、ソースエッジ“e”を表現するエッジ
のチェーン(“C”)を延長するためにコンピュータが実行する処理を描写して
いる。方法は、図15(ステップ1508、1510及び1512、あるいはス
テップ1514、1516及び1518)を参照して前述した処理の代用、ある
いは処理の付属として使用可能である。その上、チェーン延長アルゴリズムは、
前方あるいは後方へのエッジチェーンの延長処理に等しく適用可能である。
【0112】 ステップ1702では、エッジのセット、すなわち、エッジのチェーン“C”
のメンバが、セット内の最後のエッジを生成する。説明のために、このエッジを
、エッジ“c”と呼ぶ。ステップ1704では、“c”の終わりに隣接するター
ゲットエッジのセットが確認される。隣接するエッジのセットは、セット“F”
と呼ばれる。ステップ1706では、ソースエッジ“e”をオーバーラップして
いないセット“F”内のエッジが、前述したオーバーラップ処理あるいは包含処
理に従って除去される。
【0113】 ステップ1708では、セット“F”がからであるか否かを決定するために、
テストが実行される。セット“F”がからである場合には、アルゴリズムはステ
ップ1718に進む。セット“F”がからでない場合には、ステップ1710で
、セット“F”が2以上のターゲットエッジを含んでいるか否かを決定するため
に、テストが実行される。ステップ1710の結果が、セット“F”が2以上の
ターゲットエッジを含んでいることを示している場合には、エラーが発生してお
り、ステップ1716が実行される。ステップ1716は、失敗結果を戻すこと
または新しいエッジ“c”を選択すべきであることを指示すること、あるいは存
在するエッジ“c”が他の方向に延長されるべきであることを含んでいる。
【0114】 しかしながら、ターゲットエッジ“c”に隣接するエッジが実際に存在する場
合には、ステップ1712で、エッジ(例えば、“f”)がセット“C”に添付
される。ステップ1714では、エッジ“f”は、セットC内の第1エッジであ
るか否か(すなわち、セット“C”のメンバでない、隣接するエッジが存在しな
い)を決定するためにテストされる。エッジ“f”がセット“C”内の第1エッ
ジでない場合には、ステップ1720で、エッジ“f”はエッジ“c”としてセ
ットされ、処理はステップ1704に続く。そうでない場合には、ステップ17
18で、セット“C”が調節され、処理が完了する。
【0115】 最後に、図15を参照して前述した実施例に示されているように、前述した処
理は1つの延長方向に関するのみであったため、前述の処理を他の方向に繰り返
すのが望ましい。
【0116】 前述した技術は、1または複数の指示のシーケンスとして、すなわち、コンピ
ュータソフトウェアプロダクトまたはコンピュータプログラムプロダクトとして
例示したが、ここで記載されている方法及び変換を実行するための1または複数
のプロセッサまたは技術システムとして構成することもできる。コンピュータソ
フトウェアプロダクトは、製作される対象の指示、通訳されるプログラムコード
または種々のスクリプト言語(scripting language)により構成可能である。
【0117】 コンピュータソフトウェアプロダクトは、独立したコンピュータ、例えば、マ
イクロソフトウィンドウズ(登録商標)NT(TM)を動作させるコンピュータ
システム上で動作可能であり、また、ProEngineer2000i2(TM
)のような、存在するコンピュータ支援設計システムに対するプラグインとする
ことができる。しかしながら、他の実施例では、処理は、機能的に分離可能であ
る。例えば、取り出し処理またはエクスポート処理(出力処理)は、生成処理ま
たはインポート処理(入力処理)が第2のコンピュータシステムで行われていな
がら、第1のコンピュータシステムで行うことができる。更に、他の実施例では
、サーバー様式(クライアント−サーバシステムの)で動作するミドルウェアシ
ステム(middleware system)は、独立して(勿論、2つのクライアントシステム
のいずれかでAPIを用いる)または種々の処理の間の中間で処理を実行するこ
とができる。
【図面の簡単な説明】
【図1】 イクスプリット幾何学CADシステムで作られる自由形式の形状を示している
【図2】 パラメータ特徴ベース設計CADシステムを示している。
【図3】 CADシステム間の通信の流れを図で示したものである。
【図4】 本発明の概念図である。
【図5A】 本発明の通常動作を示すフローチャートである。
【図5B】 失敗検出ステップの例を詳述するフローチャートである。
【図6】 システム要素間のデータの流れの例を一般的に示す図である。
【図7】 データマトリックスの例を示す図である。
【図8】 特徴パターンマッチング動作の例を詳述するフローチャートである。
【図9A】 システム構成要素間の通信の概念の例を一般的に示す図である。
【図9B】 対象を選択するアスペクトを詳述する画面である。
【図9C】 変更のための表示制御データの監視を描写する図である。
【図10A】 ユーザエミュレーションのためのメインステップを描写するフローチャートで
ある。
【図10B】 セットアップ動作の例を詳述するフローチャートである。
【図10C】 要素選択動作の例を詳述するフローチャートである。
【図10D】 確認動作の例を詳述するフローチャートである。
【図11A】 ソース対象及びエッジの斜視図である。
【図11B】 エッジに加えられた特徴を有するソース対象の斜視図である。
【図11C】 ターゲット対象及びエッジの斜視図である。
【図11D】 エッジに加えられた特徴を有するターゲット対象の斜視図である。
【図12】 エッジ選択処理を備えたコンピュータの動作概念図である。
【図13】 2つのエッジがオーバラップしているか否かを検出するための方法を描写する
フローチャートである。
【図14】 領域を決定するための技術を説明する、ソースエッジ及び一連のターゲットエ
ッジ候補を示す図である。
【図15】 エッジ包含アルゴリズムを描写するフローチャートである。
【図16】 イニシャルエッジを検出するための方法を描写するフローチャートである。
【図17】 チェーン延長アルゴリズムを描写するフローチャートである。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AG,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,BZ,C A,CH,CN,CR,CU,CZ,DE,DK,DM ,DZ,EE,ES,FI,GB,GD,GE,GH, GM,HR,HU,ID,IL,IN,IS,JP,K E,KG,KP,KR,KZ,LC,LK,LR,LS ,LT,LU,LV,MA,MD,MG,MK,MN, MW,MX,MZ,NO,NZ,PL,PT,RO,R U,SD,SE,SG,SI,SK,SL,TJ,TM ,TR,TT,TZ,UA,UG,UZ,VN,YU, ZA,ZW

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 複数のプログラムモジュールを有し、技術システム内の設計
    対象間のエッジを相関させるためのコンピュータプログラムであって、プログラ
    ムモジュールは、 ソース技術システムからグローバルシーンにCADデータを取り出し、更に、
    ターゲット技術システムからローカルシーンにCADデータを取り出すエクスポ
    ート手段であって、グローバルシーンはソースエッジのデータ表現を有し、ロー
    カルシーンは複数のターゲットエッジのデータ表現を有するものと、 複数のターゲットエッジを定義するために、グローバルシーンをターゲット技
    術システムにインポートするインポート手段と、 ソースエッジを複数のターゲットエッジの部分に相関させるエッジ選択手段で
    あって、相関がエクスポート手段に戻され、それによって、ソースエッジと共同
    する特徴が複数のターゲットエッジの部分に適用されるものと、 を備えている。
  2. 【請求項2】 請求項1に記載のコンピュータプログラムであって、エッジ
    選択手段は、ソースエッジを複数のターゲットエッジの部分に相関させるサブモ
    ジュールを備え、サブモジュールは、 複数のターゲットエッジが、ソースエッジの少なくとも部分をオーバーラップ
    しているか否かを確認するエッジオーバーラップ手段と、 複数のターゲットエッジが、ソースエッジから取り出された少なくとも1つの
    領域によって包含されていることを確認する領域包含手段と、 を備えている。
  3. 【請求項3】 請求項2に記載のコンピュータプログラムであって、サブモ
    ジュールは、更に、共にソースエッジを表現しているターゲット技術システムか
    らの複数の接続されたエッジを定義するチェーン延長モジュールを含んでいる。
  4. 【請求項4】 請求項3に記載のコンピュータプログラムであって、チェー
    ン延長モジュールがテストを繰り返すとともに処理を付加することによって、複
    数の接続されたエッジがイニシャルターゲットエッジを構成し、イニシャルター
    ゲットエッジは、新しいターゲットエッジがイニシャルターゲットエッジに付加
    されるように、イニシャルターゲットエッジのエンドポイントを含む新しいター
    ゲットエッジまで十分に延長される。
  5. 【請求項5】 ターゲット対象からのターゲットエッジをソース対象からの
    ソースエッジに相関させるための、コンピュータが実行する方法であって、 スタートターゲットエッジを定義するステップと、 ソースエッジの少なくとも部分をオーバーラップするスタートターゲットエッ
    ジを確認するステップと、 スタートターゲットエッジを、ソースエッジの少なくとも部分をオーバーラッ
    プする次のターゲットエッジを含むまで延長するステップと、 次のターゲットエッジをターゲットエッジに添付し、エッジのチェーンを形成
    するステップと、 エッジのチェーンを相関エッジとして戻すステップと、 を備えている。
  6. 【請求項6】 請求項5に記載の方法であって、延長ステップは、更に、 スタートターゲットエッジのエンドポイントに近接する候補ターゲットエッジ
    のセットを生成するステップと、 候補エッジのセット内のエッジで、ソースエッジの部分をオーバーラップして
    いないエッジを除去するステップと、 を有している。
  7. 【請求項7】 請求項6に記載の方法であって、更に、 除去されない候補ターゲットエッジが、エッジのチェーン内の第1エッジであ
    ることを確認するステップと、 除去されない候補エッジが、エッジのチェーン内の第1エッジでない時に、除
    去されない候補エッジを、エッジのチェーンに対するスタートターゲットエッジ
    としてセットするステップと、 請求項6に記載されている生成ステップ及び除去ステップと、請求項5に記載
    されている添付ステップを繰り返すステップと、 を備えている。
  8. 【請求項8】 請求項5〜7のいずれかに記載の方法であって、スタートタ
    ーゲットエッジを定義するステップは、 ソースエッジのポイントを選択するステップと、 ポイントに近接するターゲット対象からターゲットエッジのセットを生成する
    ステップと、 オーバーラップしていないターゲットエッジをターゲットエッジのセットから
    除去するステップと、 ターゲットエッジのセット内に残っている、オ−バーラップしているターゲッ
    トエッジをスタートターゲットエッジとして戻すステップと、 を備えている。
  9. 【請求項9】 請求項5〜8のいずれかに記載の方法であって、更に、 ソースエッジ及びターゲットエッジのそれぞれの複数のスタートポイント及び
    エンドポイントを定義するステップと、 定義されたスタートポイント及びエンドポイントのそれぞれに対応するソース
    エッジ内の1または複数の領域を決定するステップと、 ソースエッジ内の領域の少なくとも1つが、ターゲットエッジとオーバーラッ
    プしていることを確認するステップと、 を備えている。
  10. 【請求項10】 請求項5〜9のいずれかに記載の方法であって、更に、 ソースエッジ内の領域の中点を選択するステップと、 中点がターゲットエッジ内に含まれていることを確認するステップと、 中点がターゲットエッジ内に含まれていない時に、ターゲットエッジを相関エ
    ッジとして取り除くステップと、 を有している。
  11. 【請求項11】 請求項5〜10のいずれかに記載の方法であって、更に、 ソース対象からグローバルシーンのデータ表現をエクスポートするステップと
    、 グローバルシーンをターゲット対象にインポートするステップと、 ターゲット対象からローカルシーンのデータ表現をエクスポートするステップ
    であって、ローカルシーンが1または複数の候補ターゲットエッジに対応すると
    ともに、グローバルシーンに基づくものと、 グローバルシーン及びローカルシーンを相関方法のための基礎として用いるス
    テップと、 を有している。
  12. 【請求項12】 請求項11に記載の方法であって、ローカルシーンのデー
    タ表現をエクスポートするステップは、インクリメンタル方法で実行される。
  13. 【請求項13】 請求項5〜12のいずれかに記載のステップを1または複
    数のプロセッサに実行させる指示の1または複数のシーケンスを記憶する、コン
    ピュータが読み取り可能な媒体。
JP2001522412A 1999-09-07 2000-09-06 設計対象間のエッジ相関のための方法及び装置 Pending JP2003509736A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/391,311 US6614430B1 (en) 1998-09-08 1999-09-07 System and method for the exchange of CAD data
US09/391,311 1999-09-07
PCT/IB2000/001355 WO2001018669A2 (en) 1999-09-07 2000-09-06 Method and apparatus for edge correlation between design objects

Publications (1)

Publication Number Publication Date
JP2003509736A true JP2003509736A (ja) 2003-03-11

Family

ID=23546117

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2001522413A Pending JP2003509737A (ja) 1999-09-07 2000-09-06 コンピュータ支援設計データ交換のためのユーザエミュレーション
JP2001522439A Pending JP2003509740A (ja) 1999-09-07 2000-09-06 コンピュータ支援設計システム間のデータ交換
JP2001522415A Pending JP2003509738A (ja) 1999-09-07 2000-09-06 コンピュータ支援設計システム間のデータ交換のためのパターンマッチング
JP2001522412A Pending JP2003509736A (ja) 1999-09-07 2000-09-06 設計対象間のエッジ相関のための方法及び装置

Family Applications Before (3)

Application Number Title Priority Date Filing Date
JP2001522413A Pending JP2003509737A (ja) 1999-09-07 2000-09-06 コンピュータ支援設計データ交換のためのユーザエミュレーション
JP2001522439A Pending JP2003509740A (ja) 1999-09-07 2000-09-06 コンピュータ支援設計システム間のデータ交換
JP2001522415A Pending JP2003509738A (ja) 1999-09-07 2000-09-06 コンピュータ支援設計システム間のデータ交換のためのパターンマッチング

Country Status (8)

Country Link
US (1) US6614430B1 (ja)
EP (4) EP1218833B1 (ja)
JP (4) JP2003509737A (ja)
AT (4) ATE259973T1 (ja)
AU (4) AU7035600A (ja)
DE (4) DE60004691D1 (ja)
IL (4) IL148348A0 (ja)
WO (4) WO2001018670A2 (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6834312B2 (en) * 2000-05-02 2004-12-21 Cadopener.Com 11C Method and apparatus for delivery of data over a network
US7039569B1 (en) * 2000-06-09 2006-05-02 Haws Richard R Automatic adaptive dimensioning for CAD software
US20020067364A1 (en) * 2000-06-22 2002-06-06 Lane John F. Method for browsing various intelligent design data abstractions
US6828963B1 (en) * 2000-09-06 2004-12-07 Proficiency Ltd. Pattern matching for data exchange between computer aided design systems
US6985835B1 (en) * 2000-09-06 2006-01-10 Proficiency Solutions Ltd. Method and apparatus for edge correlation between design objects
US7099803B1 (en) * 2000-09-06 2006-08-29 Proficiency Solutions Ltd. Data exchange between computer aided design systems
WO2002037406A1 (en) * 2000-10-30 2002-05-10 Translation Technologies, Inc. Computational geometry system, interrupt interface, geometric model comparator, and method
US6992685B2 (en) * 2001-02-23 2006-01-31 Autodesk, Inc. Measuring geometry in a computer-implemented drawing tool
US20020178157A1 (en) * 2001-05-25 2002-11-28 International Business Machines Corporation Method, device, and computer program product for facilitating a custom design process
US6686914B2 (en) * 2001-06-11 2004-02-03 General Electric Company Methods and systems for automatically translating geometric data
US20030154058A1 (en) * 2001-06-11 2003-08-14 Keener Bryan F. Methods and systems for validating translated geometry
JP2003044722A (ja) * 2001-07-31 2003-02-14 Amada Co Ltd 加工編集会議方法及びそのシステム
US20040128648A1 (en) * 2001-08-30 2004-07-01 Ari Rappoport Face correlation between computer aided design models
US20030045947A1 (en) * 2001-08-30 2003-03-06 The Boeing Company System, method and computer program product for controlling the operation of motion devices by directly implementing electronic simulation information
US20030098862A1 (en) * 2001-11-06 2003-05-29 Smartequip, Inc. Method and system for building and using intelligent vector objects
US6993401B1 (en) * 2001-11-07 2006-01-31 Autodesk, Inc. Method and apparatus for simplified determination of a design schedule utilizing computer aided design (CAD) model information
US20030101098A1 (en) * 2001-11-27 2003-05-29 Erich Schaarschmidt Process and device for managing automatic data flow between data processing units for operational order processing
US20030135557A1 (en) * 2002-01-11 2003-07-17 Autodesk, Inc. Distributed revision block service
DE10206658B4 (de) * 2002-02-15 2011-11-17 Qimonda Ag Verfahren zum Überprüfen einer integrierten elektrischen Schaltung
US7643968B1 (en) 2002-02-25 2010-01-05 Autodesk, Inc. Method and apparatus for simplified patterning of features in a computer aided design (CAD) model
US7013468B2 (en) * 2002-02-26 2006-03-14 Parametric Technology Corporation Method and apparatus for design and manufacturing application associative interoperability
US20030163604A1 (en) * 2002-02-26 2003-08-28 Parametric Technology Corporation Method and apparatus for design and manufacturing application feature interoperability
WO2004010384A2 (en) * 2002-07-23 2004-01-29 Imagecom, Inc. System and method for creating and updating a three-dimensional model and creating a related neutral file format
US7698016B2 (en) * 2003-02-18 2010-04-13 Tti Acquisition Corporation Feature-based translation system and method
US7337030B2 (en) * 2003-03-12 2008-02-26 Right Hemisphere Limited Automated derivative view rendering system
US7086028B1 (en) * 2003-04-09 2006-08-01 Autodesk, Inc. Simplified generation of design change information on a drawing in a computer aided design (CAD) environment
EP1687767A1 (en) * 2003-11-14 2006-08-09 Koninklijke Philips Electronics N.V. Product data exchange
US7661101B2 (en) * 2004-01-15 2010-02-09 Parametric Technology Corporation Synchronous and asynchronous collaboration between heterogeneous applications
JP2006072837A (ja) * 2004-09-03 2006-03-16 Ykk Corp 製品設計方法、製品設計装置、製品設計システム及び製品設計プログラム
JPWO2007086120A1 (ja) * 2006-01-26 2009-06-18 富士通株式会社 情報処理装置、シミュレーション方法、情報処理プログラム
US7587302B2 (en) * 2006-01-31 2009-09-08 Autodesk, Inc. Graphic interactive method to reorder sequential data values on graphic objects
US8860752B2 (en) * 2006-07-13 2014-10-14 Apple Inc. Multimedia scripting
US20080126018A1 (en) * 2006-08-22 2008-05-29 Bor-Tsuen Lin Method for constructing object by stacking up functional feature
FR2907936B1 (fr) * 2006-10-27 2008-12-19 Airbus France Sas Procede et dispositifs d'aide au positionnement relatif d'objets durant une phase de conception.
FR2907944B1 (fr) * 2006-10-27 2008-12-12 Airbus France Sas Procede et dispositifs d'aide a la modelisation d'objets 3d.
JP5056079B2 (ja) * 2007-03-07 2012-10-24 富士通株式会社 設計方法及びプログラム
US20080238946A1 (en) * 2007-03-29 2008-10-02 Boeing Company A Corp. Of Delaware System and method for providing a replica of a graphic presentation
EP2245564B1 (de) * 2008-01-31 2011-08-31 Siemens Aktiengesellschaft Verfahren und system zur qualifizierung von cad-objekten
ATE538442T1 (de) * 2008-04-24 2012-01-15 Siemens Ag Verfahren und system zur erkennung von gruppierungseigenschaften
US9430588B2 (en) * 2008-07-11 2016-08-30 Autodesk, Inc. Assembly connection method for attaching virtual parts in a computer aided design software environment
WO2010030696A2 (en) * 2008-09-10 2010-03-18 Lcdesign, Inc. Assembly-based parametric modeler
US8073812B2 (en) * 2008-10-15 2011-12-06 Microsoft Corporation Preserving user intention in distributed data systems
US9723330B2 (en) * 2008-11-25 2017-08-01 Thomson Licensing Dtv Method and apparatus for sparsity-based de-artifact filtering for video encoding and decoding
US8516410B2 (en) * 2008-12-30 2013-08-20 International Business Machines Corporation Method of migrating electronic devices operating in current mode to a target technology
US10108432B1 (en) * 2009-04-16 2018-10-23 Intuit Inc. Generating a script based on user actions
CN101989307A (zh) * 2009-07-30 2011-03-23 中国商用飞机有限责任公司 一种针对视界的飞机驾驶舱风挡设计方法
CN101930464B (zh) * 2010-08-25 2012-08-08 华南理工大学 一种面向rfid物流应用的松散性异构数据交换系统及方法
US8635197B2 (en) * 2011-02-28 2014-01-21 International Business Machines Corporation Systems and methods for efficient development of a rule-based system using crowd-sourcing
US8756048B2 (en) * 2011-04-15 2014-06-17 Stmicroelectronics S.R.L. Method for technology porting of CAD designs, and computer program product therefor
CN102520971B (zh) * 2011-12-30 2014-12-10 北京数码大方科技股份有限公司 基于cad软件的数据交互方法及装置
US8924909B2 (en) * 2012-06-13 2014-12-30 Purdue Research Foundation Microelectromechanical system design and layout
US10885235B2 (en) * 2012-08-13 2021-01-05 The Boeing Company Multi-user virtual product development environment
US20140198109A1 (en) * 2013-01-16 2014-07-17 International Business Machines Corporation Method and system for preserving a graphics file
CN103793535B (zh) * 2014-02-28 2017-01-25 武汉大学 一种基于遗传算法的异构cad模型数据交换的系统及方法
US20150278401A1 (en) * 2014-03-28 2015-10-01 Siemens Product Lifecycle Management Software Inc. Intelligent offset recognition in cad models
CN104484163B (zh) * 2014-11-20 2017-09-05 北京索为高科系统技术有限公司 一种基于统一建模环境的异构模型转换方法
CN106874020B (zh) * 2015-12-10 2021-02-02 五八同城信息技术有限公司 启动插件的方法及装置
US10816957B2 (en) * 2017-03-10 2020-10-27 Robert Kirkwood CAD integration through virtual persistent identifiers and design change recognition
EP3567500B1 (en) * 2018-05-09 2021-07-14 Siemens Aktiengesellschaft Preparation of a three-dimensional model for data transmission
US11847381B2 (en) * 2018-05-21 2023-12-19 Dassault Systemes Solidworks Corporation Three-dimensional graphical annotations with semantic attributes
FR3087025A1 (fr) 2018-10-04 2020-04-10 Movida Production Procede pour transformer un modele tridimensionnel (3d) en un modele 3d embarquable dans une interface humain-machine d’un equipement mobile
CN109948114B (zh) * 2019-03-20 2023-05-12 武汉轻工大学 弧长曲线积分自动计算方法、设备、存储介质及装置
US11693868B2 (en) * 2020-06-08 2023-07-04 Apriori Technologies, Inc. Insight generation based on retrieved PLM data
DE102021126065A1 (de) 2021-10-07 2023-04-13 H&F Solutions GmbH Verfahren und System zur Erzeugung und Anwendung eines Modells beim Konvertieren von Daten
DE102021126062A1 (de) 2021-10-07 2023-04-13 H&F Solutions GmbH Verfahren und System zum Konvertieren von Daten aus einem Ursprungsdateiformat in ein Zieldateiformat

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5386500A (en) * 1987-06-02 1995-01-31 Cubital Ltd. Three dimensional modeling apparatus
JPH01175671A (ja) 1987-12-29 1989-07-12 Nippon Steel Corp 図面データの変換方法
US5600789A (en) * 1992-11-19 1997-02-04 Segue Software, Inc. Automated GUI interface testing
KR970702523A (ko) * 1994-04-21 1997-05-13 에리카 린들리 그래험 더튼 인터페이스 장치 및 방법(interface device and method)
JPH0877217A (ja) * 1994-09-09 1996-03-22 Hitachi Ltd 論理動作記述データ変換制御方法
US5646862A (en) 1994-09-29 1997-07-08 Ford Motor Company Vendor-neutral integrated vehicle electrical design and analysis system and method
US5717905A (en) 1994-12-15 1998-02-10 Kao Corporation CAD system and bezier-curve data converting apparatus and method thereof in said CAD system
JPH08335279A (ja) 1995-06-08 1996-12-17 Olympus Optical Co Ltd 設計支援システム
US5870588A (en) 1995-10-23 1999-02-09 Interuniversitair Micro-Elektronica Centrum(Imec Vzw) Design environment and a design method for hardware/software co-design
JPH09190526A (ja) * 1996-01-11 1997-07-22 Hitachi Ltd 図面データの形式変換システム
US5815415A (en) 1996-01-19 1998-09-29 Bentley Systems, Incorporated Computer system for portable persistent modeling
US6128023A (en) * 1996-12-20 2000-10-03 Fujitsu Limited Apparatus and method for editing character train on CAD picture plane and storage medium storing CAD character train editing program
US6542937B1 (en) 1998-02-27 2003-04-01 Amada Company, Limited Apparatus and method for transferring and editing sheet metal part data
US6373917B1 (en) * 2000-08-30 2002-04-16 Agilent Technologies, Inc. Z-axis elimination in an X-ray laminography system using image magnification for Z plane adjustment
WO2002037406A1 (en) 2000-10-30 2002-05-10 Translation Technologies, Inc. Computational geometry system, interrupt interface, geometric model comparator, and method

Also Published As

Publication number Publication date
US6614430B1 (en) 2003-09-02
DE60004691D1 (de) 2003-09-25
AU7035600A (en) 2001-04-10
DE60008264D1 (de) 2004-03-18
IL148349A0 (en) 2002-09-12
AU7035500A (en) 2001-04-10
DE60008397D1 (de) 2004-03-25
ATE247851T1 (de) 2003-09-15
EP1214647B1 (en) 2004-02-18
EP1218833B1 (en) 2004-02-11
IL148348A0 (en) 2002-09-12
DE60009122D1 (de) 2004-04-22
AU7440900A (en) 2001-04-10
DE60008264T2 (de) 2004-12-09
JP2003509737A (ja) 2003-03-11
JP2003509740A (ja) 2003-03-11
AU7035400A (en) 2001-04-10
DE60009122T2 (de) 2005-02-17
JP2003509738A (ja) 2003-03-11
WO2001018670A2 (en) 2001-03-15
WO2001018669A2 (en) 2001-03-15
EP1226514B1 (en) 2004-03-17
WO2001018670A3 (en) 2002-03-14
WO2001018696A2 (en) 2001-03-15
WO2001018672A3 (en) 2002-05-23
DE60008397T2 (de) 2005-02-17
ATE259973T1 (de) 2004-03-15
EP1218828B1 (en) 2003-08-20
EP1218833A2 (en) 2002-07-03
EP1218828A2 (en) 2002-07-03
ATE259517T1 (de) 2004-02-15
WO2001018669A3 (en) 2002-01-17
WO2001018672A2 (en) 2001-03-15
EP1226514A2 (en) 2002-07-31
WO2001018696A3 (en) 2001-08-02
ATE262199T1 (de) 2004-04-15
IL148346A0 (en) 2002-09-12
IL148347A0 (en) 2002-09-12
EP1214647A2 (en) 2002-06-19

Similar Documents

Publication Publication Date Title
JP2003509736A (ja) 設計対象間のエッジ相関のための方法及び装置
US7099803B1 (en) Data exchange between computer aided design systems
US6828963B1 (en) Pattern matching for data exchange between computer aided design systems
US6985835B1 (en) Method and apparatus for edge correlation between design objects
US7277835B2 (en) Boundary representation per feature methods and systems
US8253726B1 (en) Systems and methods for modifying three dimensional geometry using an arbitrary cross-section plane
US8773425B2 (en) Methods and apparatuses for proposing resolutions to conflicts in a CAD drawing with reflections
JP4516957B2 (ja) 3次元オブジェクトについて検索を行なうための方法、システムおよびデータ構造
US5850535A (en) Roll-back during regeneration on a computer-aided design system
EP3340084A1 (en) Replica selection
US11163915B2 (en) Three-dimensional modeled object
US8244508B1 (en) Method for modifying a piece of 3D geometry
US20040167650A1 (en) Partial reprojection method and device in three-dimensional CAD system and computer program
JP2022023010A (ja) 2点接触曲線による乗り物衝撃解析
JP2003288372A (ja) Cad用解析結果データ処理装置及びcad用解析結果データ処理方法並びにcad用解析結果データ処理プログラム
JP3884195B2 (ja) 薄板金属製作設備全体にわたって設計製作情報を分配する装置および方法
US20040128648A1 (en) Face correlation between computer aided design models
EP2751723A1 (en) Notch blends in brep models
EP4213059A1 (en) Designing a product using procedural graphs
JP2022023009A (ja) 2点接触曲線による乗り物衝撃解析
WO2002021449A1 (en) Face correlation between computer aided design models
Sung et al. Octree based assembly sequence generation