(57)【特許請求の範囲】
【請求項１】
図形オブジェクトを表す初期モデルを有するコンピュータ・システムにおいて、コンピュータによって実行する方法であって、該コンピュータが、
ユーザがマクロに組込もうとする複数のフィーチャを含んでいるフィーチャ群であって、前記初期モデルに対して適用されるフィーチャ群を用意するステップと、
前記ユーザにより指定された前記フィーチャからマクロを生成するステップと、
選択されたモデルへ前記マクロのフィーチャの追加をしないで、該選択されたモデルの少なくとも一部分に前記マクロを適用するステップと、
を実行することを特徴とする方法。
【請求項２】
前記コンピュータ・システム上でコンピュータ支援設計（ＣＡＤ）システムが実行されており、前記方法が該ＣＡＤシステムによって実行されることを特徴とする請求項１記載の方法。
【請求項３】
前記選択されたモデルがパラメータ型モデルであることを特徴とする請求項１記載の方法。
【請求項４】
ユーザのマクロ作成要求に応答して前記コンピュータ・システムが前記マクロに対応するマクロ言語命令を生成することを特徴とする請求項１記載の方法。
【請求項５】
ユーザがマクロ作成要求を発するためのユーザ・インターフェース・エレメントを用意するステップを更に含んでいることを特徴とする請求項４記載の方法。
【請求項６】
前記選択されたモデルの更に別の部分にも前記マクロを適用するステップを更に含んでいることを特徴とする請求項１記載の方法。
【請求項７】
前記コンピュータは解析を実行するために前記マクロに記述された命令を読み取ることを特徴とする請求項１記載の方法。
【請求項８】
前記マクロが前記選択されたモデルの一部分の形状を定義していることを特徴とする請求項１記載の方法。
【請求項９】
前記マクロは、ユーザ指定のマクロ言語命令を何ら含んでいないことを特徴とする請求項１記載の方法。
【請求項１０】
前記選択されたモデルが前記初期モデルであることを特徴とする請求項１記載の方法。
【請求項１１】
前記選択されたモデルが前記初期モデルとは別のモデルであることを特徴とする請求項１記載の方法。
【請求項１２】
図形オブジェクトを表す初期モデルを有するコンピュータ支援設計システムにおいて、コンピュータによって実行する方法であって、該コンピュータが、
前記初期モデルに対応したユーザにより指定された複数のフィーチャを記録するステップと、
ユーザの要求に応答して、前記ユーザにより指定された前記複数のフィーチャのうちの少なくとも幾つかのフィーチャからマクロを生成するステップと、
前記マクロから選択されたモデルへフィーチャの追加をしないで、該選択されたモデルの少なくとも一部分に前記マクロを適用するステップと、
を実行することを特徴とする方法。
【請求項１３】
前記初期モデルがパラメータ型モデルであることを特徴とする請求項１２記載の方法。
【請求項１４】
前記選択されたモデルの更に別の部分にも前記マクロを適用するステップを更に含んでいることを特徴とする請求項１２記載の方法。
【請求項１５】
前記初期モデルが前記選択されたモデルであることを特徴とする請求項１２記載の方法。
【請求項１６】
前記初期モデルが前記選択されたモデルとは別のモデルであることを特徴とする請求項１２記載の方法。
【請求項１７】
コンピュータ・システムにおいて、コンピュータによって実行する方法であって、該コンピュータが、
図形オブジェクトを表す初期フィーチャ型モデルの第１部分に適用するための解析を定義するためにユーザにより指定されたフィーチャ群を用意するステップと、
前記解析を実行するために前記ユーザにより指定されたフィーチャ群からマクロを生成するステップであって、該マクロはユーザ生成のマクロ言語命令を含まず、前記図形オブジェクトを表す前記初期フィーチャ型モデルに対応した複数のフィーチャを包含している、ステップと、
前記図形オブジェクトを表す前記選択されたフィーチャ型モデルに対して前記解析を実行するために前記コンピュータを用いて前記マクロにより記述された前記命令を読み取るステップであって、前記解析は、前記マクロから選択されたモデルへフィーチャの追加をしないで、前記図形オブジェクトを表す前記選択されたフィーチャ型モデルのうちから該選択されたモデルの第２部分に対し前記マクロにより記述された前記命令を適用する、ステップと、
を実行することを特徴とする方法。
【請求項１８】
前記方法がコンピュータ支援設計（ＣＡＤ）システムによって実行されることを特徴とする請求項１７記載の方法。
【請求項１９】
前記解析を実行することは、永続的な記録用の記録装置に対して提供される解析結果を発生することを特徴とする請求項１８記載の方法。
【請求項２０】
前記図形オブジェクトがアセンブリであることを特徴とする請求項１７記載の方法。
【請求項２１】
前記図形オブジェクトがパーツであることを特徴とする請求項１７記載の方法。
【請求項２２】
前記解析を定義することは前記図形オブジェクトに対応したユーザ定義の複数のフィーチャを用意することを含むことを特徴とする請求項１７記載の方法。
【請求項２３】
前記コンピュータ・システムが非揮発性記憶装置を含んでおり、前記方法が更に、図形オブジェクトの前記第２部分にマクロを適用した結果を前記非揮発性記憶装置に格納するステップを含んでいることを特徴とする請求項１７記載の方法。
【請求項２４】
前記第１部分が、図形オブジェクトを表す前記初期フィーチャ型モデルの単一箇所であることを特徴とする請求項１７記載の方法。
【請求項２５】
前記第２部分が、図形オブジェクトを表す前記選択されたフィーチャ型モデルの更に別の箇所であることを特徴とする請求項２４記載の方法。
【請求項２６】
前記第２部分が、複数の図形エンティティーの集合体を含んでいることを特徴とする請求項２４記載の方法。
【請求項２７】
前記集合体が、前記図形オブジェクトをカバーする代表を成す複数の図形エンティティーを含んでいることを特徴とする請求項２６記載の方法。
【請求項２８】
前記第１部分が、図形オブジェクトを表す前記初期フィーチャ型モデル上の曲線であることを特徴とする請求項１７記載の方法。
【請求項２９】
前記第２部分が、図形オブジェクトを表す前記選択されたフィーチャ型モデル上の更に別の曲線であることを特徴とする請求項２８記載の方法。
【請求項３０】
前記第２部分が、図形オブジェクトを表す前記選択されたフィーチャ型モデル上の複数本の曲線を含んでいることを特徴とする請求項２８記載の方法。
【請求項３１】
前記第１部分が、図形オブジェクトを表す前記初期フィーチャ型モデル上の面を含んでいることを特徴とする請求項１７記載の方法。
【請求項３２】
前記第２部分が、図形オブジェクトを表す前記選択されたフィーチャ型モデル上の更に別の面を含んでいることを特徴とする請求項３１記載の方法。
【請求項３３】
前記第２部分が、図形オブジェクトを表す前記選択されたフィーチャ型モデル上の複数の面を含んでいることを特徴とする請求項３１記載の方法。
【請求項３４】
前記初期フィーチャ型モデルが前記選択されたフィーチャ型モデルであることを特徴とする請求項１７記載の方法。
【請求項３５】
前記初期フィーチャ型モデルが前記選択されたフィーチャ型モデルとは別のモデルであることを特徴とする請求項１７記載の方法。
【請求項３６】
コンピュータ・システムにおいて、コンピュータによって実行する方法であって、該コンピュータが、
図形オブジェクトを表す初期フィーチャ型モデルのカスタム図形を定義するためにユーザにより指定された複数の図形フィーチャを用意するステップと、
前記カスタム図形を定義するために前記ユーザにより指定された複数の図形フィーチャからマクロを生成するステップであって、該マクロはユーザ生成マクロ言語命令を含まず、前記ユーザにより指定された複数の図形フィーチャを包含し、前記図形オブジェクトを表す前記初期フィーチャ型モデルに対応する、ステップと、
前記マクロから選択されたフィーチャ型モデルへフィーチャの追加をしないで、前記図形オブジェクトを表す前記選択されたフィーチャ型モデルに前記マクロを適用してカスタム図形を定義するステップと、
を実行することを特徴とする方法。
【請求項３７】
前記初期フィーチャ型モデルが前記選択されたフィーチャ型モデルであることを特徴とする請求項３６記載の方法。
【請求項３８】
前記初期フィーチャ型モデルが前記選択されたフィーチャ型モデルとは異なったモデルであることを特徴とする請求項３６記載の方法。
【請求項３９】
前記方法がコンピュータ支援設計（ＣＡＤ）システムによって実行されることを特徴とする請求項３６記載の方法。
【請求項４０】
コンピュータ支援設計（ＣＡＤ）するためのシステムであって、該システムは命令を実行するためのプロセッサを備え、該命令は実行時に該プロセッサに対し、
図形オブジェクトを表すモデルを受け取ること、
マクロから前記モデルへフィーチャの追加をしないで、前記モデルに対応したユーザ定義の複数のフィーチャを含んでいるマクロを生成するマクロ・ジェネレータを用意することであって、該マクロはユーザの要求に応答して生成され、ユーザ生成マクロ命令を含んでいない、用意すること、
ユーザがマクロ生成要求を発するためのユーザ・インターフェース・エレメントを用意すること、
を実行させることを特徴とするシステム。
【請求項４１】
前記プロセッサが、前記モデルの一部分に、または別のモデルに、前記マクロを適用するためのマクロ・エンジンを更に提供することを特徴とする請求項４０記載のシステム。
【請求項４２】
前記プロセッサが、前記モデルに対しユーザ定義フィーチャ・リストをさらに提供し、前記マクロ・ジェネレータが該ユーザ定義フィーチャ・リストを用いて前記マクロを生成することを特徴とする請求項４０記載のシステム。
【請求項４３】
前記プロセッサが前記マクロにより記述された命令を用いて解析を実行することを特徴とする請求項４０記載のシステム。
【請求項４４】
前記マクロにより記述された前記命令はカスタム図形を定義することを特徴とする請求項４０記載のシステム。
【請求項４５】
前記モデルがパラメータ型モデルであることを特徴とする請求項４０記載のシステム。
【請求項４６】
図形オブジェクトを表す初期モデルを有するコンピュータ・システムにおいて、方法を実行するためのコンピュータ実行命令を記録した、コンピュータ読み取り可能な記録媒体において、
前記方法が、
ユーザがマクロに組込もうとする複数のフィーチャを含んでいるフィーチャ群であって、前記初期モデルに対して適用されるユーザ定義の該フィーチャ群を受け取るステップと、
前記フィーチャ群からマクロを生成するステップと、
前記マクロから選択されたモデルへフィーチャの追加をしないで、該選択されたモデルの少なくとも一部分に前記マクロを適用するステップと、を含んでいるコンピュータにより実行される方法である、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項４７】
前記マクロがコンピュータ支援設計（ＣＡＤ）システムによって実行されることを特徴とする請求項４６記載のコンピュータ読み取り可能な記録媒体。
【請求項４８】
前記コンピュータが前記マクロにより記述された前記命令を用いて解析を実行することを特徴とする請求項４６記載のコンピュータ読み取り可能な記録媒体。
【請求項４９】
前記方法が更に、ユーザがマクロ生成要求を発するためのユーザ・インターフェース・エレメントを用意するステップを含んでいることを特徴とする請求項４６記載のコンピュータ読み取り可能な記録媒体。
【請求項５０】
前記コンピュータが前記マクロにより記述された前記命令を用いて工学解析を実行することを特徴とする請求項４６記載のコンピュータ読み取り可能な記録媒体。
【請求項５１】
前記マクロにより記述された前記命令が、前記モデルの一部分に対応した図形を定義することを特徴とする請求項４６記載のコンピュータ読み取り可能な記録媒体。
【請求項５２】
前記マクロが、前記マクロに対応したユーザ指定命令を含まないことを特徴とする請求項４６記載のコンピュータ読み取り可能な記録媒体。
【請求項５３】
前記初期モデルが前記選択されたモデルであることを特徴とする請求項４６記載のコンピュータ読み取り可能な記録媒体。
【請求項５４】
前記初期モデルが前記選択されたモデルとは別のモデルであることを特徴とする請求項４６記載のコンピュータ読み取り可能な記録媒体。
【請求項５５】
図形オブジェクトを表す初期モデルを有するコンピュータ支援設計システムにおいて、コンピュータによって実行するステップを含んでいる方法を実行するためのコンピュータ実行命令を記録した、コンピュータ読み取り可能な記録媒体において、
前記方法が、
前記初期モデルに対応したユーザにより指定された複数のフィーチャを記録するステップと、
ユーザの更なる要求に応答して、前記ユーザにより指定されている前記複数のフィーチャのうちの少なくとも幾つかのフィーチャからマクロを生成するステップと、
前記マクロから選択されたモデルへフィーチャの追加をしないで、該選択されたモデルの少なくとも一部分に前記マクロを適用するステップと、を含んでいるコンピュータにより実行される方法である、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項５６】
コンピュータ・システムにおいて、コンピュータによって実行するステップを含んでいる方法を実行するためのコンピュータ実行命令を記録した、コンピュータ読み取り可能な記録媒体において、
前記方法が、
初期図形オブジェクトの第１部分の解析を定義するためにユーザにより指定された複数の解析フィーチャを用意するステップと、
マクロから前記図形オブジェクトへフィーチャの追加をしないで、前記解析を実行するためにユーザにより指定された複数の解析フィーチャからマクロを生成するステップであって、該マクロはユーザ生成マクロ言語命令を含まない、ステップと、
選択された図形オブジェクトの第２部分に前記マクロにより記述された前記命令を適用して、該選択された図形オブジェクトの前記第２部分に対して前記解析を実行するステップと、を含んでいるコンピュータによって実行される方法である、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項５７】
前記解析が工学解析であることを特徴とする請求項５６記載のコンピュータ読み取り可能な記録媒体。
【請求項５８】
前記初期図形モデルが前記選択された図形モデルであることを特徴とする請求項５６記載のコンピュータ読み取り可能な記録媒体。
【請求項５９】
前記選択された図形モデルが前記初期図形モデルとは別のモデルであることを特徴とする請求項５６記載のコンピュータ読み取り可能な記録媒体。
【請求項６０】
コンピュータ・システムにおいて、コンピュータによって実行するステップを含んでいる方法を実行するためのコンピュータ実行命令を記録した、コンピュータ読み取り可能な記録媒体において、
前記方法が、
初期図形オブジェクトの第１部分に対応したカスタマイズした図形を定義するためにユーザにより指定された複数の図形フィーチャを用意するステップと、
マクロから前記図形オブジェクトへフィーチャの追加をしないで、前記カスタマイズした図形を生成するために前記ユーザにより指定された複数の図形フィーチャからマクロを生成するステップであって、該マクロはユーザ生成マクロ言語命令を含まない、ステップと、
選択された図形オブジェクトの第２部分に前記マクロを適用して、前記選択された図形オブジェクトの前記第２部分に前記カスタマイズされた図形を生成させるステップと、を含んでいるコンピュータによって実行される方法である、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項６１】
前記初期図形モデルが前記選択された図形モデルであることを特徴とする請求項６０記載のコンピュータ読み取り可能な記録媒体。
【請求項６２】
前記初期図形モデルが前記選択された図形モデルとは別のモデルであることを特徴とする請求項６０記載のコンピュータ読み取り可能な記録媒体。
【請求項６３】
記憶装置を備えたコンピュータ・システムにおいて、コンピュータによって実行する方法であって、該コンピュータが、
マクロからフィーチャ型モデルへフィーチャの追加をしないで、該フィーチャ型モデルに対する解析を実行するためにユーザにより指定された複数の解析フィーチャからマクロを生成するステップと、
前記マクロを前記モデルに適用して結果を生成するステップと、
前記結果を前記モデルと共に前記記憶装置に格納するステップと、
前記モデルに変更を加えるステップと、
変更を加えた前記モデルに前記マクロを適用して前記結果を更新するステップと、
を実行することを特徴とする方法。
【請求項６４】
前記コンピュータが、前記マクロにより記述された前記命令を用いて前記モデルに対する解析を実行することを特徴とする請求項６３記載の方法。
【請求項６５】
前記コンピュータが、前記マクロにより記述された前記命令を用いて前記モデルに適用する図形機能を定義することを特徴とする請求項６３記載の方法。
【請求項６６】
更新された前記結果を前記モデルと共に前記記憶装置に格納するステップを更に含んでいることを特徴とする請求項６３記載の方法。
【請求項６７】
図形オブジェクトを表すモデルを有するコンピュータ・システムにおいて、コンピュータによって実行する方法であって、該コンピュータが、
ユーザがマクロに組込もうとする複数のフィーチャを含んでいるフィーチャ群であって、初期モデルに対して適用されるユーザ定義のフィーチャ群を用意するステップと、
前記フィーチャ群からマクロを生成するステップと、
選択されたモデルへ前記マクロのフィーチャの追加をしないで、該選択されたモデルの少なくとも一部分に前記マクロにより記述された命令を適用してユーザ定義フィーチャを生成するステップと、
を実行することを特徴とする方法。
【請求項６８】
前記コンピュータ・システムが、複数のフィーチャ・ライブラリを備えており、該フィーチャ・ライブラリに含まれているフィーチャはモデルに組み込み可能であり、前記ユーザ定義フィーチャが該ライブラリに追加されることを特徴とする請求項６７記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、広くはコンピュータ・システムに関するものであり、より詳しくはカスタマイズした解析機能及びカスタマイズした図形機能をフィーチャを利用して定義するようにしたマクロ生成に関するものである。
【０００２】
【従来の技術】
コンピュータ支援設計（ＣＡＤ）とは、コンピュータを使用して製品の設計を支援することをいう。設計者はＣＡＤシステムを使用して、製品の様々な重要な特性を指定する。それら重要な特性には、その製品の形状の他にその製品の様々な特性及び属性が含まれる。
【０００３】
多くのＣＡＤシステムは、製品を表すモデルを生成するようにしており、製品を表すモデルには、その製品の形状及びその他の属性がデータとして捕獲されている。従来のＣＡＤシステムに用いられているモデルには様々な種類がある。従来のＣＡＤシステムのうちには、「フィーチャ・モデル」（「フィーチャ型モデル」とも呼ばれる）を生成するものがあり、このモデルは、製品を複数の「フィーチャ」の組合せで表すようにしたものである。１つの「フィーチャ」は、その製品の形状または特性を生成するためのデータと処理手順とをセットにしたものであり、その製品についての属性ないし知識が付随していることもある。フィーチャは、その製品に関する製品モデリング及び図形リーズニングのための基本的な単位構成要素である。フィーチャによって製品の図形要素の特性が規定され、また、図形要素に属性が付与される。
【０００４】
従来のＣＡＤシステムのうちには、「パラメータ型モデル」を生成するものもある。パラメータ型モデルは、入力パラメータ（例えば寸法値）を受取り図形等を出力する複数の処理手順がセットになったものである。パラメータ型モデルには、その製品のモデルを構築するための処理手順が格納されている。パラメータ型モデルにおける、製品を構築するための処理手順は、そのモデルに、変数式に入力する入力パラメータの関数として、複数の変数を次々と付与して行くシーケンスである考えられる。パラメータを変更するには、入力パラメータ（例えば寸法値）の値を変更した後に、構築処理手順の再評価を行う。「パラメータ型モデル」の定義のうちには、従来のＣＡＤシステムの幾つかで生成されている「バリエーション型モデル」や、「変数駆動モデル」も含まれる。
【０００５】
フィーチャ型モデルによるモデリングを行うようにしている従来のＣＡＤシステムには、複数の標準フィーチャを格納したフィーチャ・ライブラリが用意されている。設計者は、フィーチャ・ライブラリの中から取り出した複数のフィーチャを組合せて製品モデルを作成することによって、製品モデルを容易に作成することができる。
【０００６】
【発明が解決しようとする課題】
しかしながら、このフィーチャ・ライブラリの機能も十分とはいえず、また、従来のＣＡＤシステムでは、カスタマイズした解析機能及びカスタマイズした図形機能の定義を容易にするための機能が不十分であった。例えば、従来のＣＡＤシステムでは、ユーザが、新しい種類の工学解析（即ち、ＣＡＤのプログラムに予め定義されていない工学解析）を適用したい場合には、ユーザは、例えばその解析を実行させるための一連のコンピュータ命令をエンコードする（即ち、新たにプログラムを作成する）等の、その解析を実行するための何らかの方策を講じなければならなかった。
【０００７】
【課題を解決するための手段】
本発明は、以上に説明した従来のＣＡＤシステムに付随していた問題を解決することを目的とするものであり、ユーザ定義解析機能、及び／または、ユーザ定義図形機能を実行するためのマクロを容易に作成することのできる機構を提供することで、それを達成せんとするものである。マクロは、フィーチャ型モデリング環境の一部を成す複数のフィーチャのシーケンスとして定義される。１つのマクロを定義する複数のフィーチャから成るシーケンスは、ユーザ定義解析を実行するための、及び／または、ユーザ定義図形を生成するための、処理手順を記述している。マクロは、ユーザが利用することのできるフィーチャ・ライブラリへ追加可能な非標準フィーチャを定義する処理手順として利用することができる。ユーザは、マクロ言語命令を作成する必要はなく、またマクロを作成するための正しいシンタックスを理解する必要もない。マクロは、一度定義したならば、モデルのどの部分にでも適用することができる。従って、マクロを定義するときには、モデルのある箇所を対象として定義するが、一旦定義したならば、そのモデルの他の箇所にも適用可能である。このように、このマクロは、特定の箇所に対して定義した場合でも、定義した後には、より複雑な図形オブジェクトに含まれているあらゆる箇所に適用することができ、例えば、多数の点の集合体に対しても、１本ないし複数本の曲線に対しても、また、１つないし複数の曲面に対しても適用可能である。また、当業者には明らかなように、このマクロは、特定の種類の図形エンティティーに対して定義したならば、より複雑な図形オブジェクトに含まれているエンティティーであっても、種類さえ同じであれば適用可能である。更に、このマクロは、このマクロをそのモデルに対して定義した初期モデル以外の別のモデルに含まれている図形オブジェクトに対しても適用可能である。マクロを適用することによって、そのマクロを定義している一連のフィーチャがそのマクロが適用されたフィーチャ型モデルに追加されるということはない。単に、少なくとも１つのユーザ定義解析が実行されるか、ないしは、少なくとも１個のユーザ定義エンティティーが生成されるだけである。本発明は、その１つの実施例においは、マクロに組み込むフィーチャをユーザが指定容易に指定でき、従ってユーザがマクロを容易に作成できるようにするための、使い勝手のよいユーザ・インターフェースを提供する。マクロを一旦作成したならば、そのマクロの名前を用いてマクロを呼び出すことができる。
【０００８】
本発明の１つの特徴的曲面においては、図形オブジェクトを表す初期モデルを有するコンピュータ・システムにおいて方法が実行される。初期モデルに対して複数のフィーチャから成るフィーチャ群が用意される。それらフィーチャのうちには、例えば、その初期モデルに適用する解析を定義するものもあり、また、その初期モデルに対応した付加的なカスタム図形機能を定義するものもある。ユーザは、それらフィーチャを適宜マクロに組み込めばよい。マクロはこのフィーチャ群から生成され、生成されたマクロは、選択されたモデルの少なくとも一部分に適用される。この方法は、ＣＡＤシステムによって実行することができ、モデルはパラメータ型モデルであってもよい。選択されるモデルは、初期モデルでもよく、それとは別のモデルでもよい。
【０００９】
本発明の別の１つの特徴的曲面においては、図形オブジェクトを表す初期モデルに対応した複数のフィーチャが、ＣＡＤシステムに記録される。ＣＡＤシステムのユーザが、マクロ作成要求を発すると、既に記録されているフィーチャのうちの少なくとも幾つかを組込んだマクロが作成される。こうして作成されたマクロは、選択されたモデルの少なくとも一部分に適用され、その際に、マクロから選択されたモデルへフィーチャが追加されることはない。
【００１０】
本発明の更に別の１つの特徴的曲面においては、図形オブジェクトを表すフィーチャ型モデルの一部分に対する解析が定義される。この解析を実行するためのマクロが、ユーザ生成マクロ言語命令なしに生成される。このマクロは、その図形オブジェクトを表すフィーチャ型モデルに対応した複数のフィーチャが組込まれている。このマクロは、そのフィーチャ型モデルの第２部分に、または、別のモデルに適用され、それによって、そのフィーチャ型モデルのその第２部分に対する解析、または、その別のモデルに対する解析が実行され、その際に、マクロから選択されたモデルへフィーチャが追加されることはない。解析を定義するときに対象とする部分は単一の箇所でよく、定義した後には、この解析は、例えば点の集合体や、１本ないし複数本の曲線や、１つないし複数の曲面のように、より複雑な図形オブジェクトに含まれるあらゆる箇所に対して適用することができる。
【００１１】
本発明の更に別の１つの特徴的局面によれば、コンピュータによって実行する方法が、コンピュータ・システムにおいて実行される。この方法によれば、図形オブジェクトを表す初期フィーチャ型モデルに対して、カスタム図形が定義される。そして、そのカスタム図形を定義するためのマクロが、ユーザ生成マクロ言語命令なしに生成される。このマクロには、図形オブジェクトを表すその初期フィーチャ型モデルに対応した複数のフィーチャが組込まれている。生成されたマクロは、図形オブジェクトを表す選択されたフィーチャ型モデルに適用され、それによってカスタム図形が定義され、その際に、このマクロからその選択されたモデルへフィーチャが追加されることはない。このカスタム図形エンティティーは、単一の箇所に対して定義すればよく、定義した後には、このカスタム図形エンティティーは、例えば点の集合体や、１本ないし複数本の曲線や、１つないし複数の曲面のように、より複雑な図形オブジェクトに含まれるあらゆる箇所に対して適用することができる。このようにマクロをより複雑な図形オブジェクトに適用すると、単一の箇所に対して適用した場合と比べて、より高次の図形エンティティーが生成される。例えば、あるマクロを、１つの点に対して適用した場合に、ある特別の点が生成されるような場合に、そのマクロを、１本の曲線上の複数の点をカバーする代表的な図形エンティティーに適用すると、特別の曲線が生成され、また、１つの極面上の複数の点をカバーする代表的な図形エンティティーに適用すると、特別の曲面が生成される。
【００１２】
本発明の更なる特徴的局面によれば、ＣＡＤシステムが、図形オブジェクトを表すモデルと、そのモデルに対応した複数のフィーチャが組込まれたマクロを生成するためのマクロ・ジェネレータとを備えている。このマクロは、ユーザのマクロ生成要求に応答して、ユーザ指定マクロ命令なしに生成される。このＣＡＤシステムは、更に、ユーザがマクロ生成要求を発するためのユーザ・インターフェース・エレメントを備えているようにしてもよい。
【００１３】
本発明の更なる特徴的局面によれば、コンピュータが、図形オブジェクトを表すモデルを備えている。ユーザがマクロに組み込もうとする複数のフィーチャから成るフィーチャ群が、そのモデルに対して用意されている。ユーザはそのフィーチャ群からマクロを作成し、こうして作成されたマクロは、選択されたモデルの少なくとも一部分に適用され、それによってユーザ定義フィーチャが生成される。
【００１４】
【発明の実施の形態】
以下に図面を参照しつつ、本発明の具体的な実施例について説明して行く。
以下に示す本発明の実施例は、複数のフィーチャで構成されるマクロを、作成し、利用するための機構を提供するものである。マクロを利用することで、例えば、解析機能や図形機能をカスタマイズしたり、それらをユーザ定義機能として作成したりすることができる。具体的な例としては、マクロを利用することで、工学解析等の様々な解析を実行させることができる。この実施例が提供する機構は、ユーザが、そのようなマクロを容易に定義できるようにするものである。ユーザは、マクロの定義のために、マクロ言語命令を作成する必要もなく、また、マクロ生成のための正しいシンタックスを理解する必要もない。
【００１５】
この実施例は、マクロ・レファレンスを低減するためのパラメータ型機構を提供する。マクロは、パラメータ型モデルの一部分に適用され、それによって解析結果が生成される。この解析結果は、廃棄されることもある。或いはまた、この解析結果は、永続的に保存されることもある。特に、この解析結果、モデルの属性、それに、モデルのうちの解析が適用される領域は、そのモデルと共に保存される。モデルに変更が加えられたときには、解析が再適用され、解析結果が更新される。
【００１６】
以下に説明する実施例は、互いに関連付けて編成された一揃いのモジュールを含んでいるＣＡＤパッケージに組み込むようにしたものである。しかしながら、当業者には明らかなように、本発明は、その他の種類のソフトウェア・パッケージにも組み込むことも可能である。本発明は、コンピュータ支援製造（ＣＡＭ）パッケージや、ＣＡＤ／ＣＡＭパッケージや、コンピュータ支援エンジニアリング（ＣＡＥ）パッケージに組み込んで実施することもできる。また、本発明は、図形オブジェクトのモデルを利用しているパッケージであれば、その他の種類のパッケージにおいても実施可能である。また、ＣＡＤ／ＣＡＭパッケージは、場合によっては、互いに関連付けた複数のプログラムないし複数のモジュールの集合ではなく、単一のプログラムとして構成されていることもあり、そのようなものにおいても本発明は実施可能である。
【００１７】
この実施例では、図形オブジェクトは、フィーチャ型の図形モデルで表されている。このようにモデルをフィーチャ型モデルとしているため、夫々のモデルには、そのモデルの形状及び属性を定義する複数のフィーチャが包含されている。それら複数のフィーチャの各々は、モデルの基本的な単位構成要素である。フィーチャは、寸法値、パラメータ、それに、図形レファレンス集合などを通して、環境を把握できるため、フィーチャの変更はその影響が予測可能である。それらモデルは、また、手続型で、パラメータ型でもある。構築手順が保存され、各フィーチャには、そのフィーチャを実行するための１つまたは複数の手順が組込まれている。以下に更に詳細に説明するように、この実施例では、フィーチャ・リストを保持するようにしており、そのリストには、構築手順に従って層構造に編成された、そのモデルに対応した複数のフィーチャのシーケンスが記入されている。このフィーチャ・リストには、解析のためのフィーチャを含めておくことも可能である。また、ここでいう解析とは、例えば、技術情報を得るための工学解析などである。
【００１８】
この実施例のＣＡＤパッケージは、３次元モデリング（モデル生成機能）をサポートしている。このＣＡＤパッケージは更に、完全に変数型で連想型のシステムであり、開発中のいかなる時点であれ、設計モデルに何らかの変更を加えたならば、そのモデルが方々で使用されている場合でも、その全てに自動的に変更内容が伝播する。変数型という用語は、モデルの寸法に変更が加えられたならば、そのモデルの内部において定義されている相互関係に従ってモデルの全体が更新されることを意味している。連想型というのは、そのモデルがどこで使用されていても変更が可能であり、また、モデルがどこで使用されていても更新されることを意味している。
【００１９】
この実施例は、ユーザがマクロの生成を要求でき、また、マクロに組込むフィーチャを認識できるようにするための、ユーザ・インターフェース・エレメントを提供する。ユーザは、フィーチャ・リストに含まれている複数のフィーチャのうちから、マクロに組込むフィーチャを特定すればよい。特定したフィーチャはマクロ命令に用いられる。マクロには名前を付けることができ、一旦作成したマクロは、モデルの別の部分でも使用することができ、別のモデルでも使用することができる。マクロには、入力パラメータが付随しており、この入力パラメータは、そのマクロがモデルのどの部分に適用されるかに応じて、また、そのマクロがどのモデルに適用されるかに応じて、異なった値を取る。
【００２０】
マクロがどのように定義され使用されるかを説明するために、具体例を挙げることにする。ここで、ＣＡＤパッケージのユーザが、ある１つのモデルのある箇所に対して、工学解析を実行したいと考えたとする。ＣＡＤパッケージは、ユーザがそのような工学解析を定義するための機構を提供している（これは、ユーザ定義解析「ＵＤＡ」である）。ユーザは、その解析を、その箇所で実行するためのフィーチャを生成する。このフィーチャは、そのモデルに対応したフィーチャ・リストに追加される。続いてユーザは、その工学解析に対応したそのフィーチャを、マクロに組込むことを要求することができる。特別の実施形態では、マクロを定義する複数のフィーチャでグループを形成することで、マクロが生成される。システムは、あるフィーチャ・グループ内の最後のフィーチャが「解析フィーチャ」である場合に、そのことをもって、そのフィーチャ・グループがＵＤＡマクロであると認識する。解析フィーチャは、特別の種類のフィーチャであり、解析計算の結果をパラメータ、及び／または、図形エンティティーに取り込むようにするフィーチャである。マクロは作成されたならば名前が付けられる。また作成したマクロは、フィーチャを保存するフィーチャ・ライブラリへ追加することができ、それによって、ユーザがモデルを生成したり編集したりする際にそれを利用することができる。ユーザは、作成したマクロを、そのモデルの別の箇所に適用することもでき、別のモデルに適用することもできる。これによって、あるモデルの多数の箇所に工学解析を適用することや、様々なモデルに工学解析を適用することが、容易になっている。マクロを構成しているフィーチャは、マクロを適用したというだけで、適用したモデルに追加されることはない。工学解析を適用した結果は、保存しておくことができ、そうすれば、後刻、その解析結果を利用することができる。更に、作成したマクロを所望のフィーチャに組込むことも可能である。
【００２１】
以下の説明のために、幾つかの用語について定義を明らかにしておく。
「モデル」とは、オブジェクトのレプリゼンテーションのことをいう。「フィーチャ型モデル」及び「パラメータ型モデル」とは、以下の説明においても、従来の技術の説明において定義したところに従う。
【００２２】
「図形オブジェクト」とは、図形が付随するエンティティーのことをいう。
「図形エンティティー」とは、図形が付随するもの、例えば点、辺、曲線、それに面などをいう。
【００２３】
「マクロ」とは、所与の機能を実行するための一組のマクロ言語命令に名前を付けたものをいう。本発明の実施例では、マクロ言語は、フィーチャをマクロ言語命令として利用する。
【００２４】
「パーツ」とは、製品の全体から分離できる構成部材のことをいう。
「アセンブリ」とは、複数の「パーツ」を含む組立体のことをいう。
「ユーザ作成マクロ命令なしに」という句は、ユーザがプログラミング・コードを作成することもなく、命令を作成することもないことを意味している。実施例では、ユーザは複数のフィーチャをグループ化することでマクロを作成する。
【００２５】
図１は、本発明の方法を実施するのに適した具体例のコンピュータ・システム１０のブロック図である。当業者には明らかなように、図１に示したコンピュータ・システム１０の構成形態は、あくまでも具体例を提示することを目的としたものであり、本発明がそれに限定されるものではない。コンピュータ・システム１０は、ネットワーク・コンピュータであってもよく、また、パーソナル・コンピュータ、ポータブル・コンピュータ、ミニ・コンピュータ、メインフレーム・コンピュータ、ワークステーション、或いは更にその他のコンピュータ・システムでもよい。更に、コンピュータ・システム１０は、分散型コンピュータ・システムとしてもよく、プロセッサどうしが緊密に連結されたマルチプロセッサ・システムであってもよい。
【００２６】
図１に示したコンピュータ・システム１０は、命令を実行し、このコンピュータ・システムの全体動作を統括する中央処理装置（ＣＰＵ）１２を含んでいる。コンピュータ・システム１０の一部を成す周辺装置として、ビデオ・ディスプレイ１４、キーボード１６、マウス１８、それにオーディオ出力デバイス２０が装備される。当業者には明らかなように、図１に示したものとは異なった台数の周辺装置を使用して本発明を実施することも可能であり、図１に示した周辺装置とは異なった種類の周辺装置を使用して本発明を実施することも可能である。コンピュータ・システム１０には、ローカル・エリア・ネットワーク（ＬＡＮ）等のコンピュータ・ネットワーク２４にインターフェースするための、ネットワーク・アダプタ２２も装備される。コンピュータ・システム１０には更に、電話線、ケーブル線、或いは無線通信路にインターフェースして、このコンピュータ・システムがリモート・コンピュータ資源と通信できるようにするためのモデム２６なども装備される。
【００２７】
コンピュータ・システム１０は記憶装置２８を備えており、この記憶装置２８は、例えば、一時記憶装置と二次記憶装置との両方を備えたものである。記憶装置２８は、コンピュータ読み取り可能な記録媒体を含み、また、例えばフロッピー・ディスク、光ディスク、等々のリムーバブル記録媒体を含んだものとすることができる。記憶装置２８は、何種類もの記憶方式を併用してもよく、例えば、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フロッピーディスク、光ディスクなどを組合せて使用することができる。記憶装置２８には、複数のアプリケーション・プログラム３０がインストールされており、また、ＣＡＤパッケージ３４がインストールされている。この実施例では、ＣＡＤパッケージ３４は、米国、マサチューセッツ州、Ｗａｌｔｈａｍに所在の、パラメトリック・テクノロジー社（Ｐａｒａｍｅｔｒｉｃ  Ｔｅｃｈｎｏｌｏｇｙ  Ｃｏｒｐｏｒａｔｉｏｎ）が、「Ｐｒｏ／Ｅｎｇｉｎｅｅｒ  ２０００ｉ」という商品名で販売している製品であるものとしている。ＣＡＤパッケージ３４を使用することで、アセンブリやパーツを表す多数のモデル３２にアクセスすることが可能になる。記憶装置２８には、フィーチャ・ライブラリを格納することができる。
【００２８】
図２は、ＣＡＤパッケージ３４の論理コンポーネントのうち、本発明の実施例にとって特に重要な幾つかのコンポーネントを示した図である。ＣＡＤパッケージ３４は、ユーザがＣＡＤパッケージとの間でやりとりができるようにするためのユーザ・インターフェース（ＵＩ）コンポーネント４０をサポートしている。このＵＩコンポーネント４０を用いることで、ユーザは、必要に応じてモデルの作成及び変更を行うことができる。ＵＩコンポーネント４０は更に、ユーザが、マクロを作成及び適用するためのインターフェースを提供している。特に、ＵＩコンポーネント４０は、ユーザが、ユーザ定義解析及びユーザ定義図形を作成及び適用するのに役立っている。
【００２９】
ＣＡＤパッケージ３４は、各モデルごとに１つずつのフィーチャ・リスト４２を用意している。フィーチャ・リスト４２には、所与のモデルに対応した、複数のフィーチャが、階層構造をなして包含されている。ＣＡＤパッケージ３４は、マクロを生成し定義するためのマクロ・ジェネレータ４４を含んでいる。マクロ・ジェネレータ４４は、保存するマクロを作成するために必要なステップを実行する機構である。ＣＡＤパッケージ３４は更に、マクロをモデルに適用するためのマクロ・エンジン４６を含んでいる。以上によって、マクロを１つのモデルの異なった複数箇所に適用可能にしている。本発明の実施例のうちには、マクロ・ジェネレータ４４とマクロ・エンジン４６とを一体化して単一の機構としたものもある。
【００３０】
図３は、本発明の実施例において実行するステップを示したフローチャートである。先ず、所与のモデルに対応した複数のフィーチャを識別する（図３のステップ５０）。ユーザは、例えば、記憶装置２８に格納してあるモデル３２のうちから１つのモデルを取り出すこともできる。ＣＡＤパッケージ３４は、ビデオ・ディスプレイ１４上に、そのモデルを図形表示させ、併せてフィーチャ・リスト４２も表示させる。或いは、ユーザは、ＣＡＤパッケージ３４とのインタラクティブなセッションの間に、そのモデルに対応したフィーチャを作成することもできる。更に、ユーザは、ＣＡＤパッケージ３４との間のインタラクティブなセッションの間に、所定のフィーチャ集合を有するモデルをオープンして、そのフィーチャ集合に含まれているフィーチャに対して変更を加えることもできる。
【００３１】
ユーザは、あるモデルをカスタマイズして、そのモデルの解析機能ないし図形機能を定義したいと望むことがある。また、例えば、ユーザは、あるモデルに適用する解析を定義したいと望むことがある。また、ユーザは、あるモデルに、カスタム図形機能を定義したいと望むことがある。それらの場合に、ユーザは、そのモデルに対してフィーチャを定義することで、そのような解析機能ないし図形機能を生成させることができる。そのためのフィーチャは、フィーチャ・リストの中に、そのモデルに対応したその他のフィーチャと共に包含されている（図３のステップ５２）。ユーザは、ユーザ・インターフェース・エレメントを介して、或いはプログラムに従って、マクロ生成要求を発することができる（図３のステップ５４）。
【００３２】
図４に、マクロ作成の際に用いるユーザ・インターフェース・ディスプレイの具体例を示した。この具体例は、ヘッドライト６２の反射面上の幾つかの点において反射角を測定するためのものである。最初に、ユーザは、反射面上の任意の点において反射角を計測するための複数のフィーチャを作成する。それらフィーチャは、モデル・ツリー・ウィンドウ６４の中に階層構造で表示されている。モデル・ツリー・ウィンドウ６４は、オブジェクト及びアクティブ・ウィンドウの中にフィーチャの明細を示すことのできる特別のウィンドウである。２１から２７まで番号を付したフィーチャは、図形フィーチャであり、電球６３から発した光線が任意の点（ＧＰＴ２）においてどのように反射するかを記述したフィーチャである。解析フィーチャ６８（即ち、フィーチャ番号２８）は、反射光とヘッドライトの軸心（Ａ）との間の角度を計測する解析を表している。ユーザは、図５に示したメニュー７０を用いてマクロを生成するために、角度計測の光路を記述した複数のフィーチャによって１つのグループを形成する。このグループは、図５のモデル・ツリー・ウィンドウ６４に強調表示されている複数のフィーチャから成るものである。このグループには名前が付けられており（図示例では「ＲＬ」）、このグループによって、反射の角度を計測するためのマクロが定義されている。複数のフィーチャを１つのグループに編成したならば、モデル・ツリー・ウィンドウ６４内のフィーチャのディスプレイ表示が変更されて、それらフィーチャがグループＲＬとしてまとめられたことが、ディスプレイ表示に反映される。グループＲＬのフィーチャ７２が、モデル・ツリー・ウィンドウ６４に表示されている。この具体例において、グループＲＬがマクロとして認識されるのはこのグループの末尾に解析フィーチャがあるからである。このマクロを作成したことによって、このヘッドライト・モデルの任意の反射面の任意の点における反射角の計算を行わせることができ、また、このヘッドライト・モデルの任意の反射面の全ての点における反射角の計算を行わせることもできる。更には、異なったモデルで使用するために、ライブラリに格納しておくこともできる。ユーザ定義解析ウィンドウ７４には、ユーザ定義解析の種別に関する情報７５、解析の定義に関する情報７６、それに、その解析を特定の点に対して適用した結果に関する情報７７が保持される。
【００３３】
既述の如く、マクロを作成するには、フィーチャ・リスト４２に含まれている複数のフィーチャから選択した幾つかのフィーチャで、部分集合を作成する（図３のステップ５６）。ＣＡＤパッケージ３４には、それらフィーチャに対応した処理手順が用意されており、マクロの実行時にはそれら処理手順が実行される。図８は、マクロ生成に際に実行するステップを示したフローチャートである。ユーザは、ユーザ・インターフェースを操作して、マクロに組み込むアクションを指定する（図８のステップ８０）。マクロは、ユーザによって指定された複数のフィーチャによって生成される。マクロが生成されたならば、そのマクロに名前を付ける（図８のステップ８２）。尚、マクロの中に包含された複数のフィーチャの夫々が必要とする入力パラメータが、そのまま、そのマクロが必要とする入力パラメータになる。続いて、そのマクロを記憶装置２８に保存する（図８のステップ８４）。この時点で、そのマクロは使用可能になる。即ち、名前によってそのマクロを参照することができ、必要な入力パラメータを与えることによってそのマクロを使用することができる。
【００３４】
フィーチャ・リストに含まれている複数のフィーチャのうちの部分集合によってマクロを作成したならば（図３のステップ５６）、続いてそのマクロを適用する（図３のステップ５８）。マクロを適用するには、そのマクロに適当な入力パラメータを入力する。すると、それら入力パラメータは、フィルタ処理を経て、該当するフィーチャ処理手順へ受け渡される。このフィーチャ処理手順は、予め定義されているシーケンスに従って実行される。マクロを適用して得られた結果が、記憶装置２８に保存される（図３のステップ６０）。マクロが解析を実行したならば、その解析の結果を記憶装置に保存させておくことができ、そうしておけば、後刻、その解析結果を参照することができ、また、ユーザが、その解析の適用対象のモデルの解析ないし変更を行う際にも役立つ。解析結果それ自体を、１つのフィーチャとしてマクロに組込むことも可能である。解析結果を保存する際に、その解析をモデルのどの領域に適用したかという、その適用領域の情報を併せて保存することも可能になっている。ＣＡＤパッケージ３４は、あるモデルに変更が加えられたならば、それに応じて該当する解析にも必要な変更が加えられるようにするパラメトリック機構を備えており、それによってマクロ参照負荷を低減している。これについては、図１０に示す、マクロによる解析の結果がモデルの適用領域を示すデータと共にに保存される場合を説明する（図１０のステップ１１０）。モデルに変更が加えられたならば（図１０のステップ１１２）、そのモデルが更新されると共に、解析が再び適用されて、新たな解析結果が生成される（図１０のステップ１１４）。この新たな結果と、モデルの領域とが保存されて（図１０のステップ１１６）、後刻、参照することができるようになる。
【００３５】
図９は、図４〜図７を参照して以上に説明したマクロを、複数の箇所に適用した場合を例示した図である。この図９に示すように、マクロＲＬは、ヘッドランプ６２の領域１００に適用されている。凡例ウィンドウ１０２に、領域１００に表示される色の意味が説明されている。ここでは、色によって反射角の違いが表されている。これは、ＣＡＤパッケージのユーザにとって有用な視覚ツールであり、この視覚ツールは、ヘッドランプ６２のモデルに組込まれている。ＣＡＤパッケージ３４は、解析結果をディスプレイに表示するのを支援する種々の一般的ツールも提供している。例えば、ＣＡＤパッケージ３４は、解析結果を数字でディスプレイ画面上に表示すると共に、スカラ場やベクトル場を曲線や曲面でディスプレイ画面上に表示するためのツールも備えている。そのディスプレイ表示はカスタマイズすることができ、また、ＣＡＤパッケージ３４は、解析結果をグラフ、縞模様、点群、等々で表示するツールも提供している。
【００３６】
以上に本発明を具体的な実施の形態に即して説明したが、当業者には明らかなように、以上に開示した実施の形態に対しては、請求項に記載した本発明の範囲から逸脱することなく様々な変更を加えることができる。
【図面の簡単な説明】
【図１】本発明の実施例の方法を実施するのに適した具体例のコンピュータ・システムの構成要素を示したブロック図である。
【図２】図１のＣＡＤパッケージの論理コンポーネントを示したブロック図である。
【図３】本発明の実施例の方法においてマクロの生成及び適用のために実行するステップを示したフローチャートである。
【図４】ヘッドランプとそのヘッドランプに対応したモデル・ツリー・ウィンドウとを示した図である。
【図５】複数のフィーチャをグループ化してマクロを生成するためにメニュー選択をどのように利用するかを示した図である。
【図６】グループが定義されたときに図４のモデル・ツリー・ウィンドウがどのように変更されるかを示した図である。
【図７】ヘッドランプと、モデル・ツリー・ウィンドウと、ユーザ定義解析とを示した図である。
【図８】本発明の実施例においてマクロの生成のために実行するステップを示したフローチャートである。
【図９】図４〜図７のＲＬマクロがヘッドランプのある部分領域に適用された結果の具体例を示した図である。
【図１０】モデルの変更に応答して解析を更新するための実行するステップを示したフローチャートである。
【符号の説明】
１０  コンピュータ・システム
３４  ＣＡＤパッケージ
４０  ＵＩ
４２  フィーチャ・リスト
４４  マクロ・ジェネレータ
４６  マクロ・エンジン
【図１】
0004813639.tif 000002
【図２】
0004813639.tif 000003
【図３】
0004813639.tif 000004
【図４】
0004813639.tif 000005
【図５】
0004813639.tif 000006
【図６】
0004813639.tif 000007
【図７】
0004813639.tif 000008
【図８】
0004813639.tif 000009
【図９】
0004813639.tif 000010
【図１０】
0004813639.tif 000011