以下、図面を参照して、本発明の実施の形態の一例について説明する。
図1を参照して、本発明のPC101とソフトウェアの関係の一例について説明する。
本発明における情報処理装置であるPC101には、CADソフトウェア110(以下、CADソフト110)と、当該CADソフト110のアドオンツールである割当ツール120がインストールされている。
CADソフト110は、PC101の外部メモリや、不図示のサーバ装置の外部メモリに記憶されているCADファイルを読み込んで、メモリ上に展開し、表示画面に読み込んだCADファイルのイメージを展開することが可能である。サーバ装置とは例えばLAN(ローカルエリアネットワーク)で通信可能に接続されているものとする。以下、実施形態の説明においては、CADファイルはPC101内の所定の記憶領域に記憶されているものとする。
割当ツール120は、CADファイル上の寸法の値を、各寸法の公差の値に基づいてレイヤー分けする処理を行う。また、当該レイヤー分けをするための条件を管理している。以上が図1の説明である。
以下、図2を用いて、図1に示したPC101に適用可能な情報処理装置のハードウェア構成について説明する。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示器への表示を制御する。なお、図2では、CRT210と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。以上が図2の説明である。
次に図3を参照して、本発明の実施形態におけるPC101の機能構成の一例について説明する。
CADファイル読込部311は、PC101の記憶部に記憶されているCADファイルを読み込んでメモリ上に展開する処理部である。寸法情報取得部312は、割当ツール120から要求に応じて展開中のCADファイルの寸法情報(寸法の識別情報、寸法公差、タイプ等)をCADファイルから抽出して取得する取得部である。寸法情報送信部313は、寸法情報取得部312で取得した寸法情報を割当ツール120に送信する。
割当条件記憶部321は、寸法情報取得部322でCADソフト110に要求して受信(取得)した前記寸法情報を、どのグループに割り当てるかを決定するための割当条件を記憶する記憶部である。なお、本実施形態におけるグループとは、CADソフト上で管理されるレイヤーのこととする。割当条件判定部323は、寸法情報取得部322で取得した寸法が、割当条件記憶部321に記憶されている条件を満たすか判定する判定部である。割当先グループ決定部324は、割当条件判定部323で割当条件を満たすと判定された寸法を、当該寸法が満たした割当条件に対応するグループに割り当てることを決定する決定部である。
新規グループ生成指示部325は、割当先として決定したグループ(レイヤー)が展開中のCADファイル上に存在しない場合に、当該グループを新規に生成するようCADファイルに指示する指示部である。新規グループ生成部314は、当該指示を受け付けて、指示に応じて新規のグループ(レイヤー)を生成する。
割当実行指示部326は、割当先グループ決定部324で決定されたグループに対象の寸法を割り当てるようCADソフト110に指示する指示部である。割当実行部315は、当該指示に応じて、割当先のグループに対象の寸法を割り当てる処理を実行する。
割当解除実行指示部327は、寸法のグループへの割当を解除するようCADソフト110に指示する指示部である。割当解除実行部316は、当該指示に応じて、対象の寸法を割当先のグループから外す制御を行う。例えば、割当先のグループを削除する。以上が図3の説明である。
次に、本発明の実施例におけるPC101によって行われる処理について、図4に示すフローチャートを用いて説明する。尚、S401からS409の各ステップはPC101におけるCPU201が、PC101にインストールされたCADソフト及び割当ツールの機能を用いて実行するものとする。割当ツールは、例えばCADソフトのアドオンされているものとする。
ステップS401では、CADソフト110が操作者の操作によって起動し、操作者によるコマンド起動処理を受け付けることによって処理の対象となるCADモデルを読み込んで表示し、また、当該CADソフトの画面において割当ツール120の起動操作を受け付けることによって割当ツールを起動する(ステップS401)。そして、ステップS402へ処理を移行する。
ステップS402では、起動した割当ツール120が、図8に示す公差テーブル800を作成する。そして、公差テーブル800に該当する情報を持つ、予め定めた外部データファイルが所定の記憶領域に格納されているか確認して、格納されている場合(取得できる場合)には、図8に示すように、その情報を公差テーブル800へ格納して記憶し、図9に示すメインダイアログ900を表示する。その後、ステップS403へ処理を移行する。
ここで図8を用いて公差テーブル800を説明する。公差テーブルとは、寸法を、その寸法の公差に応じてどのレコードに割り当てるかを決定するための条件を記憶・格納するテーブルである。ここでは寸法をレイヤーに割り当てる。
公差テーブル800は、レコードNoを格納するNo801、公差の種類を格納する公差タイプ802、公差の許容下限値を格納する最小寸法差803、公差の許容上限値を格納する最大寸法差804、処理の対象となった寸法を割り当てるレイヤー名を格納するレイヤー名805で構成する。以上が図8の説明である。公差テーブル800を画面に表示した具体的な結果として図10を示す。
図4の説明に戻る。ステップS403では、割当ツール120は、公差テーブル更新指示を受け付けたか判定する。具体的には操作者による図9に示す「設定」ボタン901の押下を受け付けた場合に当該公差テーブル更新指示を受け付けたと判定し、図11に示す設定ダイアログ1100(図10の1010と同じ)を表示し、ステップS407へ処理を移行する。「設定」ボタン901の押下を受け付けなかった場合はステップS404へ処理を移行する。
ステップS407の公差テーブル更新処理とは、寸法をレイヤーに割り当てる条件を格納する公差テーブルを生成・更新する処理である。当該交差テーブル更新処理については図5の説明で後述する。
ステップS404では、割当ツール120は、レイヤー割当指示を受け付けたか判定する。具体的には操作者により図9に示す「割当」ボタン902の押下を受け付けた場合に当該レイヤー割当指示を受け付けたと判定し、ステップS408へ処理を移行する。「割当」ボタン902の押下を受け付けなかった場合はステップS405へ処理を移行する。
ステップS408のレイヤー割当処理とは、CADソフト110で読み込み、展開中の図面の寸法を、公差テーブルの割当条件に従ってレイヤーに割り当てる処理である。ステップS408のレイヤー割当処理については図6の説明で後述する。
ステップS405では、割当ツール120は、レイヤー解除指示を受け付けたか判定する。具体的には操作者により図9に示す「解除」ボタン903の押下を受け付けた場合に当該レイヤー解除指示を受け付けたと判定し、ステップS409へ処理を移行する。「解除」ボタン903の押下を受け付けなかった場合はステップS406へ処理を移行する。
ステップS409のレイヤー解除処理とは、公差テーブルの条件に従って寸法が割り当てられたレイヤーを例えば削除し、寸法のレイヤーへの割当を解除する処理である。ステップS409のレイヤー解除処理については図7の説明で後述する。
ステップS406では、割当ツール120は、画面の終了指示を受け付けたか判定する。具体的には、図9に示す「終了」ボタン905の押下を受け付けた場合に当該画面の終了指示を受け付けたと判定し、図8の800に示す公差テーブルの情報を外部データへ格納してコマンド終了処理を行う。画面の終了指示を受け付けなかった場合は、ステップS402へ処理を移行する。以上が図4の説明である。
次に図5を参照して、公差テーブル更新処理の流れについて説明する。尚、ステップS501〜S510の各ステップは、PC101におけるCPU201が、PC101にインストールされた割当ツールの機能を用いて実行するものとする。
ステップS501では、割当ツール120は、図8に示す公差テーブル800の情報を図10に示す設定ダイアログ1000の設定グリッド1001へ表示し(図10の1010)、ステップS502へ処理を移行する。
具体的にはレコードNo801の値が1のレコードから昇順で、設定グリッド1001のヘッダ(項目)に対応した公差テーブルヘッダ(公差テーブルの項目)のプロパティ値を、設定グリッド1001に表示する。設定グリッド1001のヘッダの公差タイプの列には公差タイプ802の値を表示し、同様に最小寸法差の列には最小寸法差803の値を表示し、最大寸法差の列には最大寸法差804の値を表示し、レイヤー名の列にはレイヤー名805の値をそれぞれ表示する。
またグリッド上で任意のレコードの選択を操作者から受け付けることにより、図10に示すテキストボックス1002〜1005の表示を更新する。具体的にはテキストボックス1002に選択中のレコードの公差タイプ802の値を表示し、テキストボックス1003に最小寸法差803の値を表示し、テキストボックス1004に最大寸法差804の値を表示し、テキストボックス1005にレイヤー名805の値をそれぞれ表示する。表示されるダイアログの一例を、図10の1010に示す。
ステップS502では、割当ツール120は、操作者による設定ダイアログ1000への公差パラメータ入力受付処理を行う。具体的には、テキストボックス1002〜1005で、ユーザ操作による各入力受付部への直接入力を受け付ける。なお、入力受付後は操作者による任意のタイミングで「追加」ボタン1006、「更新」ボタン1007、「削除」ボタン1008、「閉じる」ボタン1009のいずれかの押下を受け付けることで、ステップS507〜S510の処理を実行する。
ステップS503では、割当ツール120は、公差テーブルへのレコード追加指示を受け付けたか判定する。具体的には図10に示す「追加」ボタン1006の押下を受け付けた場合に当該公差テーブルへのレコード追加指示を受け付けたと判定し、指示受付時にテキストボックス1002〜1005に入力され・表示されている値を設定グリッド1001の末尾に新規レコードとして追加し(図11の1100及び1110)、ステップS507へ処理を移行する。「追加」ボタン1006の押下を受け付けなかった場合は、ステップS504へ処理を移行する。
ステップS507では、ステップS503で入力を受け付けた内容に基づいて、公差テーブル800のレコード追加処理を行う。具体的には、図11の1120及び1130に示すように、公差テーブル800の末尾に新規レコードを追加し、ステップS503で受け付けたプロパティ値(公差テーブルの各項目の値)を格納する。その後、処理をステップS502の前に処理を移行する。
ステップS504では、割当ツール120は、操作者による公差テーブルへのレコード変更指示を受け付けたか判定する。具体的には図10に示す「更新」ボタン1007の押下を受け付けた場合に、当該公差テーブルへのレコード変更指示を受け付けたと判定し、指示受付時にテキストボックス1002〜1005に表示する値を設定グリッド1001で選択されているレコードのプロパティへ反映し(図12の1200及び1210)、ステップS508へ処理を移行する。「更新」ボタン1007の押下を受け付けなかった場合は、ステップS505へ処理を移行する。
ステップS508では、割当ツール120は、ステップS504で入力を受け付けた内容に基づいて、公差テーブル800のレコード変更処理を行う。具体的には、図12の1220及び1230に示すように、ステップS504で設定グリッド1001に処理を行ったレコードNoに該当する公差テーブル800のレコードに対して、ステップS504と同様のプロパティ値を格納する。その後、ステップS502の前に処理を移行する。
ステップS505では、割当ツール120は、操作者による公差テーブルへのレコード順序変更の指示を受け付けたか判定する。
具体的には、図10に示す設定ダイアログ1000において、レコードグリッド行のドラッグアンドドロップコントロールによって表示上の順序変更指示(順序変更操作)を受け付けた場合に当該レコード順序変更の指示を受け付けたと判定し、順序変更指示の受付対象レコードの表示順序を設定グリッド1001で更新し(図13の1300及び1310)、処理をステップS509へ移行する。順序変更指示を受け付けなかった場合は、ステップS506へ処理を移行する。
ステップS509では、ステップS505の受け付けた順序変更指示による順序変更に基づいて、公差テーブル800のレコード順序変更処理を行う。具体的には、図13の1320及び1330に示すように、ステップS505で設定グリッド1001に処理を行ったレコードNoに該当する公差テーブル800のレコードに対して順序変更(例えばレコードのインサート処理)を行う。その後、ステップS502の前に処理を移行する。
ステップS506では、操作者による公差テーブルへのレコード削除指示を受け付けたか判定する。具体的には図10に示す「削除」ボタン1008の押下を受け付けた場合に当該削除指示を受け付けたと判定し、当該削除指示受付時に設定グリッド1001で選択されているレコードを設定グリッド1001から削除し(図14の1400及び1410)、ステップS510へ処理を移行する。「削除」ボタン1008の押下を受け付けなかった場合は、例えば「閉じる」ボタン1009の押下を受け付けたものと判定し、公差テーブル更新処理を終了する。そして、ステップS402の前に処理を移行する。
ステップS510では、ステップS506で受け付けた削除指示の結果に基づいて、公差テーブル800のレコード削除処理を行う。具体的には、図14の1420及び1430に示すように、ステップS506で設定グリッド1001に処理を行ったレコードNoに該当する公差テーブル800のレコードに対して削除処理を行う。その後、ステップS502の前に処理を移行する。以上が図5の説明である。
次に図6を参照して、本発明の実施形態における、レイヤー割当処理の流れについて説明する。尚、ステップS601〜S615の各ステップは、PC101におけるCPU201が、PC101にインストールされたCADソフト及び割当ツールの機能を用いて実行するものとする。
ステップS601で、割当ツール120は、CADソフト110のAPIを用いてCADソフトが展開中のCADファイル内の寸法情報の1番目の内部IDを取得し、ステップS602へ処理を移行する。
具体的には、割当ツール120がCADソフト110に対してCADソフト110が展開中のCADファイル(図面)の中のオブジェクト、線分の全寸法情報を要求する。これに対してCADソフト110が、展開中のCADファイルに記憶されている寸法情報を割当ツール120に返信し、割当ツールが当該寸法情報を取得し、メモリ上にリストとして記憶する。そして、割当ツール120が当該リスト中の1つ目の寸法情報を取得する。
寸法情報とは、例えば図15の1500に示すような情報であり、寸法ID1501、公差タイプ1502、最小寸法差1503、最大寸法差1504及び寸法が所属するレイヤー名1505等から構成される、PC101の外部メモリに記憶されている情報である。
ステップS602では、ステップS601で取得した寸法情報に対して寸法公差有無の判定を行う。具体的には、ステップS601で取得した寸法情報1500から公差タイプ1502の値が取得できなければ公差を持たない寸法として判定する。判定の結果、寸法公差を持つ寸法(公差タイプ1502を持ち、最小寸法差1503、最大寸法差1504に値を持っている寸法情報)であればステップS603へ処理を移行し、寸法公差を持たない寸法であればステップS607へ処理を移行する。
ステップS603では、図15の1510に示す割当前テーブル(1510に示すようなレコードが空のテーブル)をメモリ上に作成し、ステップS602で取得した寸法情報1500を割当前テーブルへ格納し(図16の1610及び1620)、ステップS604へ処理を移行する。割当前テーブルは、別途外部メモリに記憶されている、割当前テーブルの項目を規定した割当テーブルの項目に基づいて生成される。
割当前テーブルは、レコードNoを格納するNo1511、寸法のIDを格納する寸法ID1512、公差の種類を格納する公差タイプ1513、公差の許容下限値を格納する最小寸法差1514、公差の許容上限値を格納する最大寸法差1515、処理の対象となった寸法を割り当てるレイヤー名を格納するレイヤー名1516等から構成される。
ステップS604では、ステップS603で格納したレコード(例えば図16の1620)のうち1つのレコードを取得して、図5の公差テーブル800の全レコード(公差に応じて寸法をどのレコードに割り当てるかの条件)と比較し、該当する公差テーブルのレコードがあるか判定する。
当該判定の基準は、図9に示す帯域有効オプション904が有効か(チェックが入っているか)無効かに応じて異なる。ここでは帯域有効オプション904が無効な場合における処理について説明する。具体的には、ステップS603で格納したレコードと公差テーブルのレコードNo1の公差タイプを比較し、一致した場合は両レコードの最小寸法差を比較し、一致した場合は両レコードの最大寸法差を比較する。全ての比較で一致した場合、ステップS603で格納したレコードは公差テーブルの公差設定に該当したものと判定して該当した公差テーブルレコードのレイヤー名805を取得し、ステップS605へ処理を移行する。
比較した結果、一致しない項目を確認した場合は(寸法情報が公差テーブルのレコードの条件に合致しない場合は)、公差テーブルの次レコードを新たな比較対象レコードとして取得し、前述した方法と同様方法で、ステップS601又は後述するステップS608で取得した寸法情報のレコードと、公差テーブル800を、公差タイプから順に比較する。全ての公差テーブルのレコードと比較を行った結果、いずれのレコードにも該当しなかった場合はステップS606へ処理を移行する。
つまり、該当する公差テーブル800のレコードが見つかるか、全ての公差テーブル800のレコードに該当しないと判定されるまで、ステップS604のレコードの該当判定を行う。
ステップS605では、前述した割当テーブルを用いて、割当後テーブル(テーブルの項目は割当前テーブル1510と同じ)を作成し、ステップS604で、公差テーブル800のレコードに該当すると判定された寸法情報の1501〜1504を格納し、且つ、該当した公差テーブル800のレコードのレイヤー名を格納した(該当した条件に対応するレイヤーを割り当てた)、レイヤー割当後の情報を割当後テーブルへ格納し、ステップS607へ処理を移行する。当該レイヤーの割当(割当後テーブルへの寸法情報の記憶)の様子を図17に示す。
ステップS606では、割当テーブルの項目を用いて未割当テーブル(レイヤー割当の条件(公差テーブルのレコード)に該当せず、公差テーブルのレイヤー名505に割り当てられない寸法情報を記憶するテーブル)を作成し、ステップS603までで取得した寸法情報及びレイヤー名を未割当テーブルへ格納する。そして、ステップS607へ処理を移行する。未割当テーブルへの寸法情報の格納結果を図19に示す。
ステップS607では、ステップS601と同様の手段によってCADファイル上で未処理の寸法情報があるか判定する。未処理の寸法情報がある場合はステップS608へ処理を移行し、未処理の寸法が無い(直前のステップS605又は606の処理を適用した寸法情報が展開中のCADファイルの寸法情報のうち最後の寸法情報である)場合は、ステップS609へ処理を移行する。
ステップS608では、ステップS607で取得した未処理の寸法情報の1つを新たな処理対象寸法として取得・設定し、ステップS602へ処理を移行する。
ステップS609では、未割当テーブル(どの割当条件にも合致しなかった寸法を格納するテーブル)に格納されているレコードがあるか判定する。ステップS609に至る過程で未割当テーブルを作成している場合は(公差テーブル800のレイヤー割当の条件に該当しない寸法情報があった場合は)、ステップS610へ処理を移行し、未割当テーブルを未作成の場合はステップS611へ処理を移行する。
ステップS611では、割当前テーブルと割当後テーブルのレコードに対してそれぞれのレイヤー名を比較し、差異の有無判定を行う。差異がある場合はステップS612へ処理を移行し、差異がない場合はレイヤー割当処理を終了する。
ステップS612では、図21に示す確認ダイアログ2100を表示する。具体的には、2101が空の確認ダイアログ2100を作成し、ステップS611で行った判定対象の割当前テーブル及び割当後テーブルのレコードNoごとに、割当前と割当後でレイヤー名に差異を持つ全てのレコードを確認ダイアログ2100へ比較表示する(割当前テーブルの寸法IDとレイヤー名及び割当後テーブルのレイヤー名を確認グリッド2101へ表示する)。そして、ステップS613へ処理を移行する。
ステップS613では、操作者によるCADファイルの寸法への所属レイヤー更新指示を受け付けたか判定する。具体的には図21の「実行」ボタン2102の押下を受け付けた場合に、CADファイルの寸法への所属レイヤー更新指示を受け付けたと判定し、ステップS614へ処理を移行する。「閉じる」ボタン2103の押下を受け付けた場合、レイヤー割当処理を終了する。
ステップS614では、割当ツール120は、割当後テーブルのレコードに基づいて寸法を割り当てるためのレイヤーをCADファイルにおいて作成する制御を行う(割当ツール120が、CADソフトのAPIにより割当後テーブルのレコードに含まれるレイヤー名のレイヤーを作成する)。具体的には、割当ツール120がCADソフト110に、展開中のCADファイルが保持している既存のレイヤーの一覧を要求し、割当後テーブルのレイヤー名を1つ取得して当該既存のレイヤー一覧に割当後テーブルから取得したレイヤーのレイヤー名が存在するか判定する。存在しない場合には当該レイヤー名のレイヤーを作成するようCADソフト110に指示し、CADソフト110は、割当ツールからの指示に応じて新たなレイヤーを作成する。同名のレイヤーが既に存在する場合は割当後テーブルの次のレコードを取得し、上述した既存のレイヤー一覧との比較・判定を実行する。全てのレコードに対して当該レイヤーの作成処理(S614)を行った後、ステップS615へ処理を移行する。
ステップS615では、割当ツール120は、ステップS614で作成した割当先のレイヤー、又は割当先の既存のレイヤーに対して割当後テーブルのレコードに含まれる全ての寸法(寸法ID)の割当処理(割当制御)を行う。
具体的には割当ツール120が、CADソフトのAPIにより割当後テーブルのレコードに含まれる寸法IDによって処理対象となる寸法を取得し、寸法が所属するレイヤーを同レコードのレイヤー名に格納したレイヤーへ割り当てるようCADソフト110に指示する。そしてCADソフト110が、対象の寸法IDの寸法を、指示されたレイヤー名のレイヤーに割り当てる(寸法情報のレイヤー名を割当ツール120に指示されたレイヤー名に更新する)処理を行う。割当後テーブルの全てのレコードに対して処理を行った場合、レイヤー割当処理を終了する。図22にステップS614、S615の処理の様子及び結果の一例を示す。
ステップS610では、割当処理でレイヤーに割り当てられなかった寸法用の割当条件(公差テーブルの条件)を、図10に示す設定ダイアログ1000を用いて公差テーブルに追加するレコード追加処理を行う。具体的には、未割当テーブルの全てのレコードを対象として、公差タイプ、最小寸法差、最大寸法差を設定グリッド1001へ表示し(画面表示手段に該当)、レコードが複数ある場合は設定グリッド1001のレコードNo1に表示する公差タイプ、最小寸法差、最大寸法差をテキストボックス1002〜1004へ表示する。テキストボックス1005は操作者による文字入力を受け付け、「追加」ボタン1006の押下を受け付けることによりテキストボックス1002〜1005に表示する値を公差テーブルの末尾に、新たなレコードとして格納し、設定グリッド1001に表示する残りのレコードに対しても同様の手順で処理を行う。ステップS610の様子を図20に示す。また、「閉じる」ボタン1009の押下を受け付けることにより、既存の割当前テーブル、割当後テーブル、未割当テーブルの全てを削除し、ステップS601へ処理を移行する。なお、ステップS610において、未割当テーブルの破棄、割当前テーブルの破棄、割当後テーブルの破棄を行い、ステップS601に処理を戻すことで最初から処理を再開するものとする。
つまり、割当先のレイヤーがない寸法が存在する場合に、ステップS610の処理を実行することにより、割当先のレイヤーのない寸法情報について、割当先となるレイヤー(当該寸法情報が該当する条件、及び条件に該当するレイヤー名)を作成することができる。以上が図6の説明である。
次に図7を参照して、本発明の実施形態における、レイヤー解除処理の流れについて説明する。尚、ステップS701〜S705の各ステップは、PC101におけるCPU201が、PC101にインストールされたCADソフト及び割当ツールの機能を用いて実行するものとする。
図7の処理では、公差テーブル800のレイヤー名505を、レイヤー割当解除(寸法情報が割り当てられたレイヤーの削除)の条件として用いる。
ステップS701では、割当ツール120は、CADソフトのAPIを用いて、展開中のCADファイル上の既存のレイヤー一覧をCADソフト110から取得して、当該既存のレイヤーの一つ目のレイヤー名を取得し、ステップS702へ処理を移行する。
ステップS702では、割当ツール120は、ステップS701で取得したレイヤー名と公差テーブルのレコードのレイヤー名とを比較し、それぞれのレイヤー名が一致する場合はステップS703へ処理を移行し、一致しない場合はステップS704へ処理を移行する。
ステップS703では、割当ツール120は、ステップS701で取得したレイヤー(公差テーブルのレコードのレイヤー名805のいずれかに一致するレイヤー名のレイヤー)を、CADソフト110のAPIによって削除し(CADソフト110に削除するよう指示してCADソフト110がレイヤーを削除し)、ステップS704へ処理を移行する。
なお、一般的にCADファイル上のレイヤーを削除した場合でも、そのレイヤーに割り当てられている寸法などは削除されず、初期レイヤー(例えばレイヤーNoが0のレイヤー)へ強制的に割り当てが変更される。少なくとも本実施形態においては、CADファイル上のレイヤーを削除した場合でも、そのレイヤーに割り当てられている寸法などは削除されず、初期レイヤーへ強制的に割り当てが変更されるものとする。
ステップS704では、割当ツール120は、処理したレイヤーが、CADファイルにおけるレイヤー一覧の最後のレイヤーか(当該一覧上の全てのレイヤーに対してステップS702の処理、又はステップS702及びS703の処理の両方を適用済みか)判定し、最後のレイヤーでない場合は処理をステップS705に移行する。最後のレイヤーである場合(当該一覧上の全てのレイヤーに対してステップS702の処理、又はステップS702及びS703の処理の両方を適用済みである場合)、処理を終了する。
ステップS705では、ステップS701と同様の手段によって未処理のレイヤーから一つ目のレイヤー名を取得し、ステップS702へ処理を移行する。図23にステップS702、S703の処理の様子及び結果の一例を示す。以上が図7の説明である。
以上説明したように、本実施形態によれば、寸法公差の設定に応じて、寸法を容易にグループ分けすることができる。
例えば、公差テーブルにもとづいてCADソフト上の寸法を自動的にレイヤーへ割り当てることができるため、図24に示すCADソフト上におけるユーザによるレイヤーの表示/非表示の切替操作及び当該操作に応じたCADソフトによるレイヤーの表示/非表示処理と組み合わせることにより、特定の情報(寸法公差)に特化したCADファイルの表示を比較的容易に実現することが可能となる。当該寸法公差に基づく特定の寸法の表示を以って、作業を行う作業者のCADファイルに対する読解にかかる負担を軽減させることができる。
上述した図6の説明においては、帯域有効オプション904が無効な場合の処理について説明したが、当該帯域有効オプション904が有効か無効かに応じて、寸法情報のレイヤーへの割当方法を変更することができる。
なお、当該帯域有効オプションが有効か無効かの判定は、PC101におけるCPU201が、PC101にインストールされた割当ツールの機能を用いて、例えば図6のステップS601の前に行う。無効である場合は図6の説明で上述した処理を実行し、有効である場合は以下に説明する処理を実行する。
以下、帯域有効オプション904が有効な場合の処理について説明する。なお、ステップS604における、寸法情報の公差テーブル800の条件への該当判定の方法以外は、上述した図6の処理と同一の処理を行うものとする。
帯域有効オプション904が有効である場合、公差テーブル800の最小寸法差と最大寸法差の範囲を、寸法情報の最小寸法差と最大寸法差の範囲との比較の帯域(幅)として設定してステップS604の判定を行う。具体的にはステップS603で格納したレコードと比較対象となる公差テーブル800のレコードそれぞれの公差タイプを比較し、一致する場合にはそれぞれの最小寸法差と最大寸法差の範囲を比較し、公差テーブル800のレコードによって設定する最小寸法差と最大寸法差の範囲内にステップS603で格納したレコードの最小寸法差と最大寸法差の範囲が収まっている場合は、当該寸法情報(寸法情報のレコード)を、公差テーブル800の条件に該当するレコードとして判定して、処理をステップS605に移行する。収まっていない場合は該当しないレコードとして判定し、処理をステップS606に移行する。帯域有効オプション904が有効である場合の処理の様子及び結果の一例を図18に示す。以上が、帯域有効オプション904が有効な場合の処理についての説明である。
寸法をレイヤーに割り当てるための条件に幅を持たせることによって、必ずしも「寸法の数=レイヤーの数」となることがなくなる。
また、複数種類の寸法を1つのレイヤーに割り当てることが容易になるという効果がある。
また、ユーザは、レイヤーに割り当てたい寸法の値を全て把握せずとも、大体の公差の幅を指定するだけで、当該幅に収まる公差の寸法を分類(グループ分け)することができる。
また、設定ダイアログ1000に代えて、図25に示す設定ダイアログ2500を表示するようにしてもよい。実際には図25の2520のような順序で公差テーブルの条件を設定してしまうと、レコードNoが先頭の条件(割当対象の寸法に最初に合致判定される条件)一番広い条件であるため、No2の条件の範囲に収まる公差を持つ寸法であっても、意図せずレコードNo1の条件に合致(該当)したと判断されてしまい、レコードNo1のレイヤーに当該寸法が割り当てられてしまうことがある。図25の設定ダイアログ2500を用いることで、条件の数値、順序を直感的に設定・変更することができる。
例えばステップS501において、割当ツール120は図25に示す設定ダイアログ2500を表示画面に表示する。設定ダイアログ2500において、割当ツール120は、公差テーブルの各条件が示す最小・最大寸法差の幅を示す矢印を生成して、設定ダイアログ2500に示すように、当該幅の値を示す表の上に配置する。なお、左側からレコードNoの昇順に矢印を並べるものとする。割当ツール120は、矢印の選択操作(例えばダブルクリック)を受け付けた場合に、2511に示すような、公差タイプと割当先のレイヤー名を入力する入力部を表示する。そして、当該入力部に対する入力を受け付けることで、パラメータの入力を受け付けたものと判定する(S502に該当)。また、「更新」ボタンの押下を受け付けることで入力されたパラメータの値を公差テーブルの対象レコードに上書きして更新し、当該更新後の公差の値に従って対象の矢印の幅を変更する(S504、S508に該当)。また、「新規作成」ボタンの押下を受け付けた場合に、公差テーブルの最後尾に、各項目にデフォルト値が設定された新規のレコードを追加し、当該レコードの条件を示す矢印を表に追加する(S503、S507に該当)。「削除」ボタンの押下を受け付けた場合に、選択中の矢印を表から削除し、公差テーブルからも対象レコードを削除する(S506、S510に該当)。また、矢印の順序を左右に入れ替えることで、公差テーブル2520、2530に示すように、公差テーブルのレコードの順序を入れ替える。当該入れ替えの操作は、矢印に対するドラッグ&ドロップ操作であるものとする(S505、S509に該当)。
図25の表示形態を採用することで、直感的に公差テーブルの条件を設定、変更することができる。
また、上述の実施形態では、図7のステップS703で割当先のレイヤーを削除する処理をしたが、例えばCADソフト110が、レイヤーを削除すると当該レイヤーに属している情報(線分/寸法/注記等)も削除してしまう仕様の場合は、当該処理を行ってしまうと公差テーブルの割当条件に合致する全ての寸法情報が削除されてしまう。寸法情報を削除しないようにするために、例えば、割当ツール120がステップS703で、対象のレイヤーに属する寸法およびその他の情報を、削除対象ではない他のレイヤー(例えば初期レイヤー)に移動するようCADソフト110に指示し、CADソフト110が当該指示に従って対象の情報を対象のレイヤーから初期レイヤーに移動して移動完了を割当ツールに通知し、当該通知を受け付けた場合に、割当ツール120がCADソフト110に対してステップS702で公差テーブルの条件に含まれていると判定されたレイヤーを削除するよう指示するようにしてもよい(CADソフト110は当該指示を受けて対象のレイヤーを展開中のCADファイル上から削除する)。当該処理により、より確実に、割当済みの寸法を削除することなく割当解除することができる。
なお、寸法を他のレイヤーに移動せずに対象のレイヤーを削除するか、寸法を他のレイヤーに移動せずに対象のレイヤーを削除するかは、モード設定で切替可能であるものとする。当該モードの情報はPC101の外部メモリに記憶されているものとし、割当ツールが提供する不図示のモード設定画面に対する操作により任意に変更・設定可能である。割当ツールはステップS703の処理を実行する前に当該モードの情報を読み込んで、モードによって上記のいずれの処理を実行するか決定する。
また、上述した実施形態においては、図6のステップS614で割当ツール120が既存のレイヤーでない新規に作成すべきレイヤーを特定して当該新規に作成すべきレイヤーの作成をCADソフト110に対して指示することで新規のレイヤーを作成するものとしたが、例えば、CADソフト110に、もし(ユーザにより入力された)公差テーブルにとっては新規のレイヤー名レイヤーとCADファイル上の既存のレイヤーのレイヤー名が重複していた場合に既存のレイヤーの設定を残したままレイヤーを上書き保存する機能があるのであれば、上述したような割当ツール120での新規に作成すべきレイヤーの特定処理は不要である。このような場合、割当ツール120は、単に、確認ダイアログに表示されている割当後レイヤー名のレイヤーの作成をCADソフトに指示するようにしてもよい。割当ツール120がステップS614で新規に作成すべきレイヤーの特定をしてCADソフトに作成指示をするか、単に認ダイアログに表示されている割当後レイヤー名のレイヤーの作成指示をするかは、モード設定で切替可能であるものとする。当該モードの情報はPC101の外部メモリに記憶されているものとし、割当ツールが提供する不図示のモード設定画面に対する操作により任意に変更・設定可能である。割当ツールはステップS614の処理を実行する前に当該モードの情報を読み込んで、モードによって上記のいずれの処理を実行するか決定するものとする。新規に作成すべきレイヤーの特定処理を省くことで、割当ツール120による処理の効率化ができる。
また、ステップS615で割り当てた寸法が示す線分の色を、割当先のレイヤーに対応する色に変更するようにしてもよい。具体的には、公差テーブルのレコード(割当条件)にCADソフト110が壱岐別可能な色の識別番号を対応付けて記憶しておき、例えば割当ツール120がステップS615の実行後に、割当処理を実行した各寸法IDの寸法の線分の色を、公差テーブルのレコード上で当該寸法を割り当てた先のレイヤー名に対応する識別番号の色に変更するよう、CADソフト110に指示する。CADソフト110は当該指示に応じて、対象の寸法の示す線分の色及び/または寸法・寸法公差を示す文字の色を指示された識別番号の色に変更する(色変更手段に該当)。色を変更することで、例えレイヤーの割当が解除されたとしても、各寸法がどの割当条件を満たす公差の寸法なのかを容易に確認できる。
以上説明したように、本発明によれば、寸法公差の設定に応じて、寸法を容易にグループ分けすることができる。
尚、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
例えば、不図示のサーバ装置にCADファイルを記憶させ、PC101に記憶されているCADソフト110がネットワークを介して当該CADファイルをサーバから取得・読込、展開するようにしてもよい。また、CADソフト110と割当ツール120が一体であってもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。