(57)【特許請求の範囲】
【請求項１】
設計物を示す線分を含む複数の投影図から構成される二次元図面と、三次元モデルを表示するための三次元空間とを記憶する記憶手段と、
前記二次元図面を構成する複数の投影図のうち第１の投影図に含まれる線分を転記するための平面である第１の平面を前記三次元空間上に設定する平面設定手段と、
前記二次元図面を構成する前記第１の投影図においてユーザから指定された線分を、前記平面設定手段で設定された第１の平面に転記する転記手段と、
前記転記手段で転記された線分が構成する図形に基づいて押し出し処理を行うことにより、前記三次元空間上にソリッド形状の三次元モデルを生成する三次元モデル生成手段と、
前記記憶手段に記憶される二次元図面を構成する複数の投影図のうち、補助投影図である第２の投影図に、ユーザから指定された第１の座標系を設定する座標系設定手段と
を備え、
前記平面設定手段は、更に、前記三次元モデル生成手段で生成された三次元モデルを構成する面に対して、前記二次元図面を構成する前記第２の投影図に含まれる線分を転記するための平面である第２の平面を前記三次元空間上に設定することが可能であり、
前記転記手段は、前記二次元図面を構成する前記第２の投影図においてユーザから指定された線分を、前記座標系設定手段で設定された第１の座標系の座標軸の傾きと前記平面設定手段で設定された第２の平面が有する第２の座標系の座標軸の傾きとの差に基づいて決定される角度で回転して、前記平面設定手段で前記三次元モデルを構成する面に対して設定された前記第２の平面に転記し、
前記三次元モデル生成手段は、前記三次元モデルに対して設定された前記第２の平面に転記された線分が構成する図形に基づいて押し出し処理を行うことにより、当該三次元モデルの形状を変更することを特徴とする情報処理装置。
【請求項２】
前記転記手段は、前記座標系設定手段で第１の座標系が設定されている場合に、前記二次元図面を構成する前記第２の投影図においてユーザから指定された線分を、前記座標系設定手段で設定された第１の座標系の座標軸の傾きと前記平面設定手段で設定された第２の平面が有する第２の座標系の座標軸の傾きとの差に基づいて決定される角度で回転して当該第２の平面に転記し、前記座標系設定手段で第１の座標系が設定されていない場合に、前記二次元図面を構成する前記第２の投影図においてユーザから指定された線分を回転せずに当該第２の平面に転記することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記座標系設定手段は、前記記憶手段に記憶される二次元図面上に表示されたオブジェクトを介してユーザから指定された第１の座標系を設定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記座標系設定手段は、前記記憶手段に記憶される二次元図面上の線要素に基づく位置関係で第１の座標系を設定することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記二次元図面及び前記三次元モデルは、ＣＡＤデータであることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
設計物を示す線分を含む複数の投影図から構成される二次元図面と、三次元モデルを表示するための三次元空間とを記憶する記憶手段を備える情報処理装置の制御方法であって、
前記情報処理装置の平面設定手段が、前記二次元図面を構成する複数の投影図のうち第１の投影図に含まれる線分を転記するための平面である第１の平面を前記三次元空間上に設定する平面設定ステップと、
前記情報処理装置の転記手段が、前記二次元図面を構成する前記第１の投影図においてユーザから指定された線分を、前記平面設定ステップで設定された第１の平面に転記する転記ステップと、
前記情報処理装置の三次元モデル生成手段が、前記転記ステップで転記された線分が構成する図形に基づいて押し出し処理を行うことにより、前記三次元空間上にソリッド形状の三次元モデルを生成する三次元モデル生成ステップと、
前記情報処理装置の座標系設定手段が、前記記憶手段に記憶される二次元図面を構成する複数の投影図のうち、補助投影図である第２の投影図に、ユーザから指定された第１の座標系を設定する座標系設定ステップと
を備え、
前記平面設定ステップは、更に、前記三次元モデル生成ステップで生成された三次元モデルを構成する面に対して、前記二次元図面を構成する前記第２の投影図に含まれる線分を転記するための平面である第２の平面を前記三次元空間上に設定することが可能であり、
前記転記ステップは、前記二次元図面を構成する前記第２の投影図においてユーザから指定された線分を、前記座標系設定ステップで設定された第１の座標系の座標軸の傾きと前記平面設定ステップで設定された第２の平面が有する第２の座標系の座標軸の傾きとの差に基づいて決定される角度で回転して、前記平面設定ステップで前記三次元モデルを構成する面に対して設定された前記第２の平面に転記し、
前記三次元モデル生成ステップは、前記三次元モデルに対して設定された前記第２の平面に転記された線分が構成する図形に基づいて押し出し処理を行うことにより、当該三次元モデルの形状を変更することを特徴とする情報処理装置の制御方法。
【請求項７】
設計物を示す線分を含む複数の投影図から構成される二次元図面と、三次元モデルを表示するための三次元空間とを記憶する記憶手段を備える情報処理装置の制御方法を実行可能なプログラムであって、
前記情報処理装置を、
前記二次元図面を構成する複数の投影図のうち第１の投影図に含まれる線分を転記するための平面である第１の平面を前記三次元空間上に設定する平面設定手段と、
前記二次元図面を構成する前記第１の投影図においてユーザから指定された線分を、前記平面設定手段で設定された第１の平面に転記する転記手段と、
前記転記手段で転記された線分が構成する図形に基づいて押し出し処理を行うことにより、前記三次元空間上にソリッド形状の三次元モデルを生成する三次元モデル生成手段と、
前記記憶手段に記憶される二次元図面を構成する複数の投影図のうち、補助投影図である第２の投影図に、ユーザから指定された第１の座標系を設定する座標系設定手段
として機能させ、
前記平面設定手段は、更に、前記三次元モデル生成手段で生成された三次元モデルを構成する面に対して、前記二次元図面を構成する前記第２の投影図に含まれる線分を転記するための平面である第２の平面を前記三次元空間上に設定することが可能であり、
前記転記手段は、前記二次元図面を構成する前記第２の投影図においてユーザから指定された線分を、前記座標系設定手段で設定された第１の座標系の座標軸の傾きと前記平面設定手段で設定された第２の平面が有する第２の座標系の座標軸の傾きとの差に基づいて決定される角度で回転して、前記平面設定手段で前記三次元モデルを構成する面に対して設定された前記第２の平面に転記し、
前記三次元モデル生成手段は、前記三次元モデルに対して設定された前記第２の平面に転記された線分が構成する図形に基づいて押し出し処理を行うことにより、当該三次元モデルの形状を変更することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元ＣＡＤデータ（平面データ）を用いた３次元ＣＡＤモデルデータ（立体データ）の作成に関し、特に二次元図面を構成する第１の投影図上の線分を三次元空間上の平面に転記し、転記された線分から生成されるソリッド形状の三次元モデルの面に、当該二次元図面を構成する補助投影図である第２の投影図上の線分を容易に転記することの可能な情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
３次元ＣＡＤアプリケーションの普及に伴い、従来のような２次元ＣＡＤアプリケーションのみによって平面空間へ正投影法による輪郭線を描くという作業は減少傾向にある。しかし過去の設計資産として残された平面データや外部から持ち込まれる平面データを基に立体データをモデリングする機会はむしろ増加傾向にある。
【０００３】
３次元ＣＡＤアプリケーション上で立体データをモデリングする際には、３次元空間上に任意の作図平面を設定し、設定した作図平面上へ形状の輪郭線を描き、その輪郭線を様々な押し出し手段によって立体データへと発展させる。また、既存の平面データに基づいてこれらの作業を行う場合には、平面データを画面表示させるか紙に印刷するなどし、目視によってその輪郭を識別し、その内容に基づいて３次元ＣＡＤアプリケーションの作図平面上へ輪郭線を転記する。転記にあたっては輪郭の成分が直線、円弧、円、楕円であるかをユーザによって識別し、都度転記に用いる３次元ＣＡＤアプリケーションの操作コマンドをユーザが切り換えるという煩雑さを伴ってしまう。
【０００４】
上記のような場合において、例えば下記の特許文献１には平面データから効率的に立体データをモデリングする仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−２０２８９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示されている仕組みでは、確かに平面データから輪郭線を３次元ＣＡＤアプリケーションへ転記して立体データをモデリングすることを実現しているが、輪郭線の転記やモデリングにおいて平面データの投影方向に依存しているため直行しない投影方向同士、例えば矢視図などの輪郭を転記する場合の解決には至っていない。
【０００７】
従来からある作図平面としては、正投影法による正面、平面、右側面が基本である。しかし、これだけでは複雑な設計物を表現するには不十分である。そこで必要に応じて他の角度から設計物を捉えた矢視図を作成する。この矢視図は設計物を斜めから捉えた場合もあり、平面データでは図１４に示すように正面図に対して角度のついた表現がなされる。
【０００８】
このような矢視図をそのまま転記しようとすると、平面データの座標軸のまま、立体データに転記されてしまうため、図１８に示すように意図する位置に転記することができない問題がある。
【０００９】
また平面データのみによってモデリングを行うよりも、既にモデリングされた立体データの一部、例えば押し出された形状の面やエッジを用いて作図平面の設定や回転形状中心軸の設定を行う方が作業手順を省略できる。
【００１０】
本発明は、二次元図面を構成する第１の投影図上の線分を三次元空間上の平面に転記し、転記された線分から生成されるソリッド形状の三次元モデルの面に、当該二次元図面を構成する補助投影図である第２の投影図上の線分を容易に転記することの可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明の情報処理装置は、設計物を示す線分を含む複数の投影図から構成される二次元図面と、三次元モデルを表示するための三次元空間とを記憶する記憶手段と、前記二次元図面を構成する複数の投影図のうち第１の投影図に含まれる線分を転記するための平面である第１の平面を前記三次元空間上に設定する平面設定手段と、前記二次元図面を構成する前記第１の投影図においてユーザから指定された線分を、前記平面設定手段で設定された第１の平面に転記する転記手段と、前記転記手段で転記された線分が構成する図形に基づいて押し出し処理を行うことにより、前記三次元空間上にソリッド形状の三次元モデルを生成する三次元モデル生成手段と、前記記憶手段に記憶される二次元図面を構成する複数の投影図のうち、補助投影図である第２の投影図に、ユーザから指定された第１の座標系を設定する座標系設定手段とを備え、前記平面設定手段は、更に、前記三次元モデル生成手段で生成された三次元モデルを構成する面に対して、前記二次元図面を構成する前記第２の投影図に含まれる線分を転記するための平面である第２の平面を前記三次元空間上に設定することが可能であり、前記転記手段は、前記二次元図面を構成する前記第２の投影図においてユーザから指定された線分を、前記座標系設定手段で設定された第１の座標系の座標軸の傾きと前記平面設定手段で設定された第２の平面が有する第２の座標系の座標軸の傾きとの差に基づいて決定される角度で回転して、前記平面設定手段で前記三次元モデルを構成する面に対して設定された前記第２の平面に転記し、前記三次元モデル生成手段は、前記三次元モデルに対して設定された前記第２の平面に転記された線分が構成する図形に基づいて押し出し処理を行うことにより、当該三次元モデルの形状を変更することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、二次元図面を構成する第１の投影図上の線分を三次元空間上の平面に転記し、転記された線分から生成されるソリッド形状の三次元モデルの面に、当該二次元図面を構成する補助投影図である第２の投影図上の線分を容易に転記することの可能な効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態における立体データ作成システム１００の一例を示す構成図である。
【図２】図１に示す情報処理装置１０１及びサーバ１０２のハードウェア構成の一例を示す構成図である。
【図３】図１に示す情報処理装置１０１及びサーバ１０２のモジュール構成の一例を示す構成図である。
【図４】本発明の実施形態における一連の処理の流れを示すフローチャートである。
【図５】図４のステップＳ１１０における平面追加編集処理の詳細を示すフローチャートである。
【図６】図４のステップＳ１１１におけるスケッチ作成処理の詳細を示すフローチャートである。
【図７】図６のステップＳ３０７におけるスケッチ転記処理の詳細を示すフローチャートである。
【図８】図４のステップＳ１１２における３Ｄ化処理の詳細を示すフローチャートである。
【図９】情報処理装置１０１に記憶された各種テーブル構成の一例を示す構成図である。
【図１０】本実施例における各種テーブルのデータ格納例を示す模式図である。
【図１１】本実施例におけるメインコントロールダイアログ１１００の一例を示す構成図である。
【図１２】本実施例における平面追加編集ダイアログ１２００の一例を示す構成図である。
【図１３】本実施例における３次元空間上の基準平面の一例を示す模式図である。
【図１４】図６のＳ３０４及びＳ３０５で処理を行った場合の一例を示す模式図である。
【図１５】図６のＳ３０９で処理を行った場合の一例を示す模式図である。
【図１６】図７のＳ４０７及びＳ４０８で処理を行った場合の一例を示す模式図である。
【図１７】図７のＳ４０９で処理を行った場合の一例を示す模式図である。
【図１８】本実施例における課題と解決手段の一例を示す模式図である。
【図１９】図８のＳ５０５及びＳ５０９で処理を行った場合の処理の一例を示す模式図である。
【図２０】図８のＳ５０８及びＳ５０９で処理を行った場合の処理の一例を示す模式図である。
【図２１】図８のＳ５１１で処理を行った場合の処理の一例を示す模式図である。
【図２２】図８のＳ５１２で処理を行った場合の処理の一例を示す模式図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【００１５】
図１は、本発明の立体データ作成システム１００のシステム構成の一例を示す図である。本発明の立体データ作成システム１００は、情報処理装置１０１、サーバ１０２が設置されており、それら装置はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク１０３を介して相互にデータ通信可能に接続されている。図１のネットワーク１０３上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００１６】
情報処理装置１０１は、３次元ＣＡＤアプリケーションを実行する装置である。３次元ＣＡＤアプリケーションは後述する図２のＲＯＭ２０２または外部メモリ２１１に記憶されており、設計者（以下、ユーザ）からの指示に応じて、ＣＰＵ２０１がＲＡＭ２０３に読み出して各種動作を行う。
【００１７】
３次元ＣＡＤアプリケーションは、ユーザからの操作に応じて、設計物の立体データの作成や構築を行う。本実施例においては、２次元ＣＡＤアプリケーションで作成された図面データに基づいて立体データを作成する。尚、立体データはサーバ１０２の外部メモリ２１１に記憶されても、情報処理装置１０１の外部メモリ２１１に記憶されてもよい。本実施例では、情報処理装置１０１の外部メモリ２１１に記憶されているものとして、以下説明を行う。
【００１８】
サーバ１０２は、情報処理装置１０１で作成された各種データを記憶管理する装置である。立体データは、複数のユーザによって作成される場合があり、その場合には１つのサーバ１０２に各ユーザの情報処理装置１０１で作成された立体データを一元管理する。
【００１９】
尚、情報処理装置１０１が、サーバ１０２の構成を含んでもよいし、サーバ１０２が情報処理装置１０１の構成を含んでもよい。また、本実施例においては、情報処理装置１０１に各種データが記憶され、ユーザからの操作によって動作させる形態に基づいて説明を行う。
【００２０】
図２は、本発明の実施形態における各種端末のハードウェア構成を示す図である。
【００２１】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２２】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ(Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ)やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２３】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２４】
また、入力コントローラ（入力Ｃ）２０５は、キーボード２０９や不図示のマウス等のポインティングデバイスからの入力を制御する。
【００２５】
ビデオコントローラ（ＶＣ）２０６は、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。表示器はＣＲＴだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。
【００２６】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフロッピーディスク（登録商標  ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ２１１へのアクセスを制御する。
【００２７】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２８】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２９】
本発明の情報処理装置１０１が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
【００３０】
次に、情報処理装置１０１及びサーバ１０２のモジュール構成を示す機能構成図について、図３を用いて説明する。尚、図３の各種端末あるいはサーバのモジュール構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００３１】
情報処理装置１０１は、ＣＡＤデータ記憶モジュール３０１、画面表示モジュール３０２、テーブル管理モジュール３０３、座標軸管理モジュール３０４、補正管理モジュール３０５、転記モジュール３０６を備える。
【００３２】
ＣＡＤデータ記憶モジュール３０１は、３次元ＣＡＤアプリケーションによって作成された立体データと、２次元ＣＡＤアプリケーションによって作成された平面データを記憶するモジュールである。ＣＡＤデータ記憶モジュール３０１によって記憶された立体データ及び平面データは、情報処理装置１０１の外部メモリ２１１等に記憶され、必要に応じて、ＣＡＤデータ記憶モジュール３０１によって読みだされる。
【００３３】
画面表示モジュール３０２は、各種情報を情報処理装置１０１のＣＲＴ２１０に表示させるためのモジュールである。画面表示モジュール３０２は後述するメインコントロールダイアログ１１００等の画面を表示させ、必要に応じてユーザからの選択や入力を受け付ける。また、立体データや平面データを表示させ、必要に応じて識別可能に表示させる。
【００３４】
テーブル管理モジュール３０３は、後述する図９の各種テーブルの記憶や更新等を行うためのモジュールである。各種テーブルは、外部メモリ２１１に記憶され、必要に応じてＲＡＭ２０３に読み出す。
【００３５】
座標軸管理モジュール３０４は、平面データや立体データのＸ軸、Ｙ軸といった座標軸を管理するためのモジュールである。必要に応じて、後述するマニピュレータを表示させ、座標軸の変更を行うことができる。
【００３６】
補正管理モジュール３０５は、平面データから立体データに対して転記を行う場合に、角度等の補正を行うためのモジュールである。座標軸管理モジュール３０４において座標軸を回転して変更されると、その回転角度に応じて、補正管理モジュール３０５で転記を行う場合に回転させて補正する。
【００３７】
転記モジュール３０６は、平面データから立体データに対して線要素の転記を行うためのモジュールである。平面データにおいてユーザから選択された線要素を立体データに転記し、必要に応じて補正管理モジュール３０５で補正された回転角度で転記する。
【００３８】
サーバ１０２は、ＣＡＤデータ記憶モジュール３０７を備える。ＣＡＤデータ記憶モジュール３０７は、前述した情報処理装置１０１のＣＡＤデータ記憶モジュール３０１と同様である。情報処理装置１０１に立体データ及び平面データを記憶管理させる場合には情報処理装置１０１のＣＡＤデータ記憶モジュール３０１を利用し、サーバ１０２に立体データ及び平面データを記憶管理させる場合にはサーバ１０２のＣＡＤデータ記憶モジュール３０７を利用する。本実施例では、情報処理装置１０１のＣＡＤデータ記憶モジュール３０１を利用するものとして説明を行う。
【００３９】
次に、本発明の実施例における情報処理装置１０１によって行われる一連の処理について、図４に示すフローチャートを用いて説明する。尚、Ｓ１０１乃至Ｓ１１３の各ステップは情報処理装置１０１におけるＣＰＵ２０１の制御の下、処理が行われる。
【００４０】
尚、この処理を情報処理装置１０１に実行させるためのプログラムは、情報処理装置１０１にインストールされている３次元ＣＡＤアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、３次元ＣＡＤアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【００４１】
図４に示す処理を行う際には、情報処理装置１０１のＣＰＵ２０１は３次元ＣＡＤアプリケーションを動作可能な状態にある。本発明では、２次元ＣＡＤアプリケーションで作成した平面データを３次元ＣＡＤアプリケーションへ取り込み、平面データの輪郭線を立体データへ転記しながらモデリングを行う。
【００４２】
まず、ステップＳ１０１では、情報処理装置１０１は、ユーザによる３次元ＣＡＤアプリケーションの操作により任意の平面データを選択し、３次元ＣＡＤアプリケーションで図面ドキュメントとして読み込む。そして、図面ドキュメントが有する縮尺を取得してスケールテーブル９１０のスケール９１１に格納し、図面ドキュメントを表示する処理を行う。格納結果としては、図１０のスケールテーブル９１０に示す通りとなる。一般的に、３次元ＣＡＤアプリケーションと互換性のある平面データであれば３次元ＣＡＤアプリケーションの図面ドキュメントとして平面データを表示することができる。図面ドキュメントとは、平面データを３次元ＣＡＤアプリケーション上で編集可能なファイルである。
【００４３】
スケールテーブル９１０（図９参照）は、ステップＳ１０１で読み込んだ図面ドキュメントを後述する部品ドキュメントに転記する場合の倍率を示すスケール９１１から構成される。読み込んだ図面ドキュメントと転記先の部品ドキュメントが等倍ではない場合があるので、あらかじめ倍率をスケール９１１に格納しておく。
【００４４】
ステップＳ１０２では、情報処理装置１０１は、ユーザによる図面ソリッド化プログラムの起動指示を受け付けると、外部メモリ２１１から図面ソリッド化プログラムを読み出して、起動する。図面ソリッド化プログラムは３次元ＣＡＤアプリケーションのメニューの１つとして動作してもよいし、３次元ＣＡＤアプリケーションとは別のプログラムとして動作してもよい。
【００４５】
ステップＳ１０３では、情報処理装置１０１は、輪郭線の転記先となる立体データを新規に作成するか否かの判定を行う。つまり、３次元ＣＡＤアプリケーションで新規に立体データを作成するか、既存ファイルから選択するかについてユーザからの受付処理を行う。立体データを新規に作成すると判定された場合にはステップＳ１０４に処理を進め、そうでない場合には、ステップＳ１０５に処理を進める。
【００４６】
ステップＳ１０４では、情報処理装置１０１は、３次元ＣＡＤアプリケーションの新規ファイルとして部品ドキュメントを作成し、ステップＳ１０１で表示した図面ドキュメントとを左右に並べて表示する。一般的に３次元ＣＡＤアプリケーションではファイルドキュメントとして部品ドキュメント、アセンブリドキュメント、図面ドキュメントを有しており、本発明での転記処理で説明する立体データは主に部品ドキュメントを示している。
【００４７】
ステップＳ１０５では、情報処理装置１０１は、ファイル選択ダイアログ（不図示）を表示する。
【００４８】
ステップＳ１０６では、情報処理装置１０１は、ステップＳ１０５で表示したファイル選択ダイアログに対してユーザによって指定される部品ドキュメントのファイルパス受付処理を行う。
【００４９】
ステップＳ１０７では、情報処理装置１０１は、ステップＳ１０６で受け付けた部品ドキュメントとステップＳ１０１で表示した図面ドキュメントを３次元ＣＡＤアプリケーション上で左右に並べて表示する。表示完了後はステップＳ１０８へ処理を移行する。
【００５０】
ステップＳ１０８では、情報処理装置１０１は、表示中の部品ドキュメントが保持する３次元空間上の基準平面を取得し、図９に示す平面テーブル９００の平面名９０１に取得した平面の名称を格納する。３次元空間上の基準平面とは、図１３の基準平面イメージ１３０１に示す通りである。部品ドキュメントによって保持する基準平面は異なるが、基準平面イメージ１３０１では、正面、平面、右側面の３つの視点となっている。これらの格納結果としては図１０の平面テーブル９００に示す通りとなる。
【００５１】
平面テーブル９００（図９参照）は、部品ドキュメントが保持する３次元空間上の基準平面を格納する平面名９０１から構成される。
【００５２】
ステップＳ１０９では、情報処理装置１０１は、平面テーブル９００を取得し、図１１に示すメインコントロールダイアログ１１００を表示する。平面リスト１１０１には平面テーブル９００の平面名９０１をリスト表示する。
【００５３】
ステップＳ１１０では、情報処理装置１０１は、ユーザによる平面追加ボタン１１０２もしくは平面編集ボタン１１０３の押下を受け付けた場合に、平面リスト１１０１に表示された各平面に対して新規平面を定義もしくは定義内容の変更を行う。平面追加編集処理の詳細は、後述する図５に示す。完了後はステップＳ１１１へ処理を移行する。尚、ステップＳ１１０は繰り返し処理を行うことも可能であり、またいずれの処理も行うことなくステップＳ１１１へ処理を移行することも可能である。新規平面の定義処理を行わなかった場合には、既存平面にもとづいて後述の処理を行うことになる。
【００５４】
ステップＳ１１１では、情報処理装置１０１は、図面ドキュメントから任意の輪郭線に対するユーザの選択処理を受け付け、部品ドキュメントの作図平面に対して当該輪郭線の転記処理を行う。スケッチ作成処理の詳細は、後述する図６に示す。
【００５５】
ステップＳ１１２では、情報処理装置１０１は、ステップＳ１１１で部品ドキュメントへ転記処理した輪郭線を用いて３次元形状の作成処理を行う。３Ｄ化処理の詳細は、後述する図８に示す。
【００５６】
ステップＳ１１３では、情報処理装置１０１は、メインコントロールダイアログ１１００の終了ボタン１１１３が押下されたか否かを判定する。終了ボタン１１１３が押下されたと判定された場合には、メインコントロールダイアログ１１００を閉じ、図面ソリッド化プログラムを終了し、本一連の処理を終了する。終了ボタン１１１３が押下されたと判定できない場合には、ステップＳ１１０に処理を戻し、ステップＳ１１０乃至ステップＳ１１３を繰り返し行う。
【００５７】
次に、平面追加編集処理について図５を用いて説明する。尚、Ｓ２０１乃至Ｓ２０８の各ステップは情報処理装置１０１おけるＣＰＵ２０１の制御の下、処理が行われる。
【００５８】
尚、この処理を情報処理装置１０１に実行させるためのプログラムは、情報処理装置１０１にインストールされている３次元ＣＡＤアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、３次元ＣＡＤアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【００５９】
ステップＳ２０１では、情報処理装置１０１は、ユーザによる平面追加ボタン１１０２もしくは平面編集ボタン１１０３の押下を受け付けた場合に、図１２に示す平面追加編集ダイアログ１２００を表示する。平面名１２０１では、ユーザから入力を受け付けた平面の名称を表示する。ステップＳ１１０において平面追加ボタン１１０２が押下された場合と平面編集ボタン１１０３が押下された場合の処理は基本的に同様であるため、ここでは平面追加ボタン１１０２の押下を受け付けた場合を例として説明する。
【００６０】
ステップＳ２０２では、情報処理装置１０１は、ユーザによる部品ドキュメント内の基準平面もしくは形状構成面のいずれかに対する選択操作を受け付け、受け付けた基準平面もしくは面の名称を平面／面１２０２に表示する。部品ドキュメント内の基準平面もしくは形状構成面は、図１３に示す通りであり、３次元空間上にこのような基準平面イメージ１３０１を表示し、ユーザから選択された基準平面を平面／面１２０２に表示するようにしてもよい。また、平面テーブル９００に格納された値をリスト表示し、選択を受け付けるようにしてもよい。
【００６１】
ステップＳ２０３では、情報処理装置１０１は、ユーザによって選択されたタイプ１２０３が「距離」か否かを判定する。ここでタイプ１２０３は「距離」と「角度」がある。「距離」は、ステップＳ２０２において選択された基準平面から指定された距離だけ離れた場所に新たな基準平面を追加するためのものであり、「角度」は、ステップＳ２０２において選択された基準平面を指定された角度で回転するためのものである。「距離」であった場合には、ステップＳ２０４に処理を進め、そうでない場合、つまり「角度」であった場合には、ステップＳ２０５に処理を進める。
【００６２】
ステップＳ２０４では、情報処理装置１０１は、基準平面と追加平面との間に設定する距離の入力を、距離入力欄１２０４に受け付ける。
【００６３】
ステップＳ２０７では、情報処理装置１０１は、平面／面１２０２、タイプ１２０３、距離入力欄１２０４、角度入力欄１２０５、軸入力欄１２０６で受け付けた情報をもとに新たな基準平面を作成する。例えば前述のステップＳ２０４の内容を引き継いだ場合、距離入力欄１２０４で受け付けた距離を隔てた空間へ平面／面１２０２で受け付けた基準平面を平行移動させた基準平面を追加することになる。図１３に示す基準平面追加イメージ１３０２は正面を一定距離平行移動させて基準平面を追加した後の部品ドキュメントのイメージである。
【００６４】
ステップＳ２０５では、情報処理装置１０１は、ステップＳ２０４が距離によって基準平面を追加したのに対し、平面／面１２０２で受け付けた基準平面を一定角度回転させた基準平面を追加するための角度の受け付けを行う。
【００６５】
ステップＳ２０６では、情報処理装置１０１は、平面／面１２０２で受け付けた基準平面を一定角度回転させた基準平面を追加するための回転軸を軸入力欄１２０６によって受け付ける。受け付け対象は直線的要素であり、例えば形状の直線エッジなどをユーザによる選択操作によって受け付け、その受け付けた直線的要素の名称を軸入力欄１２０６へ表示する。
【００６６】
ステップＳ２０８では、情報処理装置１０１は、ステップＳ２０７で作成した平面名を新しいレコードとして平面テーブル９００に追加し、ステップＳ１０９と同様に平面テーブル９００の情報によって平面リスト１１０１の表示内容を更新する。ステップＳ２０８が終了したら、平面追加編集処理を終了し、呼び出し元に処理を戻す。
【００６７】
次に、スケッチ作成処理について図６を用いて説明する。尚、Ｓ３０１乃至Ｓ３０７の各ステップは情報処理装置１０１おけるＣＰＵ２０１の制御の下、処理が行われる。
【００６８】
尚、この処理を情報処理装置１０１に実行させるためのプログラムは、情報処理装置１０１にインストールされている３次元ＣＡＤアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、３次元ＣＡＤアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【００６９】
ステップＳ３０１では、情報処理装置１０１は、平面リスト１１０１に表示された平面名に対して、ユーザからの選択を受け付ける。
【００７０】
ステップＳ３０２では、情報処理装置１０１は、輪郭線（平面形状）の転記処理時に角度の補正を行う鉛直指定１１０５または水平指定１１０６に対する選択を受け付ける（補正タイプ設定受付手段）。ユーザからの選択を受け付けなかった場合には、補正テーブル９２０の補正タイプ９２１に「０」を格納し、鉛直指定１１０５の選択を受け付けた場合は補正タイプ９２１に「１」を格納し、水平指定１１０６の選択を受け付けた場合は補正タイプ９２１に「２」を格納する。格納結果としては、図１０の補正テーブル９２０に示す通りとなる。ここで受け付ける鉛直指定１１０５または水平指定１１０６は、後述する角度補正のためのマニピュレータを鉛直方向のスケッチを基準に角度補正するのか、水平方向のスケッチを基準に角度補正するのかを判定するためのフラグとなる。
【００７１】
補正テーブル９２０（図９参照）は、角度補正をして転記するか否か、及び角度補正の方法を示す補正タイプ９２１と、角度補正をする場合の角度を示す補正角９２２から構成される。
【００７２】
ステップＳ３０３では、情報処理装置１０１は、選択開始ボタン１１０４の押下を受け付けることにより転記のための処理を開始し、ステップＳ３０１で選択を受け付けた基準平面に対して部品ドキュメントをスケッチ作成可能な状態（以下ではこの作図可能な状態にある平面空間をスケッチ平面と呼ぶ）に切り替える。
【００７３】
ステップＳ３０４では、情報処理装置１０１は、図面ドキュメントから部品ドキュメントのスケッチ平面へ転記処理を行うための座標合わせにあたり、ユーザによる図面ドキュメント側の基点（平面基準座標）の指定を受け付ける。ユーザによって指定された図面ドキュメント上の座標点を取得し、図９に示す基点座標テーブル９３０のＸ座標９３２とＹ座標９３３に取得した座標点の座標を格納する。格納結果としては、図１０の基点座標テーブル９３０に示す通りとなる。図面ドキュメントには複数のビューが描かれており、それぞれのビューから輪郭線を転記する場合に最も効率のよい位置を基点として設定するものである。図１４に示す図面基点指定イメージ１４０１は図面ドキュメントにおける基点指定の操作イメージである。
【００７４】
基点座標テーブル９３０（図９参照）は、指定された基点のドキュメントの種類を示す対象９３１、基点のＸ座標を示すＸ座標９３２、基点のＹ座標を示すＹ座標９３３から構成される。
【００７５】
ステップＳ３０５では、情報処理装置１０１は、ステップＳ３０４と同等の処理を部品ドキュメントに対して行う。つまり部品ドキュメント上の基点（立体基準座標）の指定を受け付ける。部品ドキュメントは３つの座標系を有するが、スケッチ平面では２つの座標系で構成されているため基点座標テーブル９３０へ格納する値はステップＳ３０４と同様である。格納結果としては図１０の基点座標テーブル９３０に示す通りとなる。図１４に示す部品基点指定イメージ１４０２は部品ドキュメントにおける基点指定の操作イメージである。
【００７６】
ステップＳ３０６では、情報処理装置１０１は、補正テーブル９２０の補正タイプ９２１の値が「１」もしくは「２」であるか否かを判定する。「１」もしくは「２」であると判定された場合には、ステップＳ３０７に処理を進め、「０」であると判定された場合には、ステップＳ３１１に処理を進める。
【００７７】
ステップＳ３０７では、情報処理装置１０１は、図面ドキュメントで受け付けた基点にＸＹ座標系を示すＬ字のマニピュレータ（座標軸設定アイコン）を図面ドキュメント上に表示する（表示手段）。図１５はマニピュレータ表示状態の操作イメージであり、マニピュレータ１５０４がマニピュレータの表示例である。図面基点１５０１の表示位置が図面ドキュメント側の基点であり、部品基点１５０２が部品ドキュメント側の基点である。また、選択面１５０３はステップＳ３０１で受け付けた面である。このマニピュレータを使用することによって、角度のついた矢視図であっても図面ドキュメントと部品ドキュメントのＸ軸とＹ軸を補正することができる。つまり、従来はこのような座標軸の設定ができなかったため、図面ドキュメントの右方向をＸ軸、上方向をＹ軸として転記するしかなかった。しかし、マニピュレータで座標軸の角度を変えることによって、転記する要素の座標を部品ドキュメントの座標と相対的に一致させることができるので、適切な位置に転記することができるようになる。尚、図１５では、正面、平面、右側面の他に、角度のついた矢視図を新たな基準平面として追加している。よって、この矢視図の転記処理を行う場合を例に挙げて、以下説明を行う。
【００７８】
ステップＳ３０８では、情報処理装置１０１は、ステップＳ３０７で表示したマニピュレータの回転角を設定するための直線要素をユーザの選択要素から受け付ける（座標軸変更手段）。そして、その直線要素とマニピュレータのＸ軸もしくはＹ軸が平行となるようにマニピュレータを回転補正させる。この処理を行うには補正テーブル９２０から補正タイプ９２１の値を取得し、値が「１」の場合は鉛直補正として処理を行い、値が「２」の場合は水平補正として処理を行う。鉛直補正の場合にはユーザの選択によって受け付けた直線要素とマニピュレータのＹ軸が平行になるようマニピュレータを回転させ、水平補正の場合にはユーザの選択によって受け付けた直線要素とマニピュレータのＸ軸が平行になるようにマニピュレータを回転させる。図１５は補正タイプ９２１の値が「１」の場合におけるステップＳ３０８の操作イメージであり、直線要素１５０５をユーザの選択によって受け付けてマニピュレータのＹ軸が直線要素と平行になるようマニピュレータを回転させた結果の一例である。
【００７９】
ステップＳ３０９では、情報処理装置１０１は、ユーザからの指示があった場合に、ステップＳ３０８で回転させたマニピュレータを１８０度回転させる。ステップＳ３０８で回転させた際に直線要素と平行ではあっても軸方向が反転している場合があるからである。ユーザによるマニピュレータの選択操作を受け付けることによってマニピュレータを反転させて表示する。その際、直線要素との平行関係は維持され続ける。
【００８０】
ステップＳ３１０では、情報処理装置１０１は、マニピュレータのＸ軸と図面ドキュメントのＸ軸とのなす角度を取得し、補正角として補正テーブル９２０の補正角９２２に格納する（補正角度取得手段）。つまり、図面ドキュメントにおける矢視図がどれだけ傾いているのかを取得することになる。
【００８１】
ステップＳ３１１では、情報処理装置１０１は、ユーザによる図面ドキュメントの輪郭線選択を受け付け、スケッチ平面へ転記する処理を行う。スケッチ転記処理の詳細は、後述する図７に示す。ステップＳ３１１が終了したら、スケッチ作成処理を終了し、呼び出し元に処理を戻す。
【００８２】
次に、スケッチ転記処理について図７を用いて説明する。尚、Ｓ４０１乃至Ｓ４１１の各ステップは情報処理装置１０１おけるＣＰＵ２０１の制御の下、処理が行われる。
【００８３】
尚、この処理を情報処理装置１０１に実行させるためのプログラムは、情報処理装置１０１にインストールされている３次元ＣＡＤアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、３次元ＣＡＤアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【００８４】
ステップＳ４０１では、情報処理装置１０１は、図面ドキュメント内の輪郭線要素の選択を受け付ける。同時に複数の輪郭線を受け付けることはせず、３次元ＣＡＤアプリケーションが識別可能な個々の単位での処理とするが、これに限らない。輪郭線の選択を受け付けた場合はステップＳ４０２へ処理を移行する。なお、後述する成分以外の線要素を受け付けた場合、受け付けを解除して再度輪郭線要素受け付け状態へと移行する。
【００８５】
ステップＳ４０２では、情報処理装置１０１は、ステップＳ４０１で受け付けた輪郭線の線要素タイプを識別する。識別は３次元ＣＡＤアプリケーションの機能によって行い、その結果によって処理の分岐を行う。一般に線要素タイプとしては、「直線」、「円」、「円弧」、「楕円」の４つが存在する。３次元ＣＡＤアプリケーションでは、これらの線要素を組み合わせて立体データや平面データを作成する。線要素タイプが「直線」の場合はステップＳ４０３へ処理を移行し、線要素タイプが「円」の場合はステップＳ４０４へ処理を移行し、線要素タイプが「円弧」の場合はステップＳ４０５へ処理を移行し、線要素タイプが「楕円」の場合はステップＳ４０６へ処理を移行する。
【００８６】
ステップＳ４０３では、情報処理装置１０１は、受け付けた「直線」のうち両端の座標を取得し、図９に示す直線テーブル９４０のＸａ座標９４１とＹａ座標９４２に両端のうち片方の端点の座標値をそれぞれ格納し、Ｘｂ座標９４３とＹｂ座標９４４にもう片方の端点の座標値をそれぞれ格納する。
【００８７】
直線テーブル９４０（図９参照）は、Ｘａ座標９４１とＹａ座標９４２、Ｘｂ座標９４３とＹｂ座標９４４から構成される。直線テーブル９４０は、ステップＳ４０１で選択を受け付けた線要素のうち、線要素のタイプが「直線」であるものの座標値を格納するためのテーブルである。直線テーブル９４０は、前述の通り、直線の両端の座標をＸａ座標９４１とＹａ座標９４２、Ｘｂ座標９４３とＹｂ座標９４４にそれぞれ格納する。
【００８８】
ステップＳ４０４では、情報処理装置１０１は、受け付けた「円」のうち半径と中心座標を取得し、図９に示す円テーブル９５０の半径９５１に半径値を格納し、Ｘ座標９５２とＹ座標９５３に中心点の座標値をそれぞれ格納する。
【００８９】
円テーブル９５０（図９参照）は、半径９５１、Ｘ座標９５２、Ｙ座標９５３から構成される。円テーブル９５０は、ステップＳ４０１で選択を受け付けた線要素のうち、線要素のタイプが「円」であるものの座標値を格納するためのテーブルである。
【００９０】
ステップＳ４０５では、情報処理装置１０１は、受け付けた「円弧」のうち半径と中心座標と両端の座標を取得し、図９に示す円弧テーブル９６０の半径９６１に半径値を格納し、中心Ｘ座標９６２と中心Ｙ座標９６３に中心座標の座標値を格納し、Ｘａ座標９６４とＹａ座標９６５に両端のうち片方の端点の座標値を格納し、Ｘｂ座標９６６とＹｂ座標９６７にもう片方の端点の座標値を格納する。
【００９１】
円弧テーブル９６０（図９参照）は、半径９６１、中心Ｘ座標９６２、中心Ｙ座標９６３、Ｘａ座標９６４、Ｙａ座標９６５、Ｘｂ座標９６６、Ｙｂ座標９６７から構成される。円弧テーブル９６０は、ステップＳ４０１で選択を受け付けた線要素のうち、線要素のタイプが「円弧」であるものの座標値を格納するためのテーブルである。
【００９２】
ステップＳ４０６では、情報処理装置１０１は、受け付けた「楕円」のうち中心座標と１つの長径点座標と１つの短径点座標を取得し、図９に示す楕円テーブル９７０の中心Ｘ座標９７１と中心Ｙ座標９７２に中心点の座標値を格納し、Ｘａ座標９７３とＹａ座標９７４に長径点の座標値を格納し、Ｘｂ座標９７５とＹｂ座標９７６に短径点の座標値を格納する。
【００９３】
楕円テーブル９７０（図９参照）は、中心Ｘ座標９７１、中心Ｙ座標９７２、Ｘａ座標９７３、Ｙａ座標９７４、Ｘｂ座標９７５、Ｙｂ座標９７６から構成される。円弧テーブル９６０は、ステップＳ４０１で選択を受け付けた線要素のうち、線要素のタイプが「円弧」であるものの座標値を格納するためのテーブルである。
【００９４】
ステップＳ４０７では、情報処理装置１０１は、ステップＳ４０３乃至４０６のいずれかで格納した座標値と、ステップＳ３０４で取得した図面ドキュメントの基点座標との距離を算出し、部品ドキュメントに転記した場合の倍率を乗算する。つまり、部品ドキュメントに図面ドキュメントの線要素を転記するには、まず選択された線要素が図面ドキュメントの基点からどれくらい離れた場所にあるのかを算出する。そして、図面ドキュメントと部品ドキュメントは大きさが異なる場合があるため、ステップＳ１０１でスケールテーブル９１０に格納した倍率をかけて、部品ドキュメントの基点から転記場所への距離を算出する
【００９５】
例えば、図１６では、ステップＳ４０７と後述するステップＳ４０８の処理過程と処理結果を示している。ここでは線要素として「円」が選択されたとすると、当該「円」の中心座標と、図面ドキュメントにおける基点座標の差を求めることで、中心座標から基点座標までの距離を算出する。この場合、円の中心座標は「（Ｘ，Ｙ）＝（１２５、３５０）」であり、図面ドキュメントの基点座標は「（Ｘ，Ｙ）＝（１００，２００）」である。よって、この差を算出すると、基点座標からＸ方向に「２５」、Ｙ方向に「１５０」進んだところに円の中心座標が存在することがわかる。次に、図面ドキュメントと部品ドキュメントの大きさが異なるので、算出した距離と円の半径に対してその大きさ分の倍率を乗算する。ここでは、ステップＳ１０１で取得したスケール９１１の値を乗算する。その結果、転記する「円」は、部品ドキュメントの基点座標からＸ方向に「５０」、Ｙ方向に「３００」進んだところに中心座標が存在し、更に半径が「４０」であることがわかる。
【００９６】
ステップＳ４０８では、情報処理装置１０１は、ステップＳ４０７で更新したいずれかのテーブルに基づいて、部品ドキュメントのスケッチ平面に輪郭線の転記を行う（回転転記手段）。転記処理そのものは３次元ＣＡＤアプリケーションの基本機能によって輪郭線をスケッチ平面上へ輪郭要素（以下スケッチ）として作成する。転記を行う場合には、ステップＳ４０７で算出した部品ドキュメントの基点座標からの距離等に基づいて、輪郭要素の座標値を算出する。
【００９７】
例えば、図１６の例を引き継ぐと、ステップＳ４０７で算出した距離と部品ドキュメントの座標値を加算することで、転記した際の各座標値が算出できる。図１６の場合、部品ドキュメントの基点座標が「（Ｘ，Ｙ）＝（５０，５０）」であり、ステップＳ４０７で算出した転記先の「円」の基点座標から中心座標までの距離がＸ方向に「５０」、Ｙ方向に「３００」である。よって、加算すると転記した場合の「円」の中心座標は「（Ｘ，Ｙ）＝（１００，３５０）」となる。つまり、図面ドキュメントから部品ドキュメントに転記した場合には、半径が「４０」で、中心座標が「（Ｘ，Ｙ）＝（１００，３５０）」となるスケッチを作成すればよいことがわかる。このパラメータを使用して、転記を行う。
【００９８】
ステップＳ４０９では、情報処理装置１０１は、ステップＳ４０８で作成したスケッチに対して、その線要素のタイプ（直線、円、円弧、楕円）に応じた寸法パラメータを取得、または算出して、スケッチ上に表示する。例えば線要素のタイプが「直線」の場合、直線の長さに関する寸法パラメータを挿入し、線要素のタイプが「円」であれば半径に関する寸法パラメータを挿入する。図１７はステップＳ４０１からステップＳ４０９の処理を行った結果の一例である。直線１７０１がステップＳ４０１で受け付けた輪郭線であり、転記をした結果、スケッチ平面にスケッチ１７０２が作成される。また、ステップＳ４０９で寸法パラメータが挿入され、寸法パラメータ１７０３のように表示される。
【００９９】
ステップＳ４１０では、情報処理装置１０１は、ステップＳ４０９で作成したスケッチの回転処理を行う。回転の中心座標はステップＳ３０５で取得した基点座標テーブル９３０の部品レコードのＸ座標９３２とＹ座標９３３とし、回転角はステップＳ３１０で取得した補正テーブル９２０の補正角９２２とし、回転対象のスケッチはその形を維持した状態で回転させる。例えば図１８を用いて説明すると、図面基点１８０１と転記元１８０３の位置関係と、部品基点１８０２と転記先１８０４の位置関係は一致しているため正しく転記できているが、本来意図する位置へ転記できているとは言えない。これは前述の通り、矢視図のような角度のついた図面は座標軸が異なるため、このような状態となってしまう。そのため、ステップＳ４１０で回転補正を行う。ステップＳ３１０において角度１８０５を補正角９２２として取得して、当該補正角９２２によるスケッチの回転移動を行うと、補正後転記先１８０６が示す位置へスケッチが移動される。これにより、本来意図する位置へスケッチを転記できる。
【０１００】
ステップＳ４１１では、情報処理装置１０１は、スケッチの転記が終了したか否かを判定する。何らかのボタンによって終了を検知してもよいし、他の方法でもよい。スケッチの転記が終了したと判定した場合には、スケッチ転記処理を終了して呼び出し元に処理を戻し、スケッチの転記が終了したと判定できなかった場合にはステップＳ４０１より同様の処理を繰り返し行う。
【０１０１】
次に、３Ｄ化処理について図８を用いて説明する。尚、Ｓ５０１乃至Ｓ５１４の各ステップは情報処理装置１０１おけるＣＰＵ２０１の制御の下、処理が行われる。
【０１０２】
尚、この処理を情報処理装置１０１に実行させるためのプログラムは、情報処理装置１０１にインストールされている３次元ＣＡＤアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、３次元ＣＡＤアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【０１０３】
ステップＳ５０１では、情報処理装置１０１は、押し出しタイプの選択を受け付ける。メインコントロールダイアログ１１００の押し出し１１０７もしくは回転押し出し１１０８のいずれかがユーザから選択されると、図９に示す押し出しタイプテーブル９８０の押し出しタイプ９８１に値を格納する。具体的には、押し出し１１０７の選択を受け付けた場合は「１」を格納し、回転押し出し１１０８を受け付けた場合は「２」を格納してステップＳ５０２に処理を移行する。格納例は、図１０の押し出しタイプテーブル９８０に示す通りである。
【０１０４】
ステップＳ５０２では、情報処理装置１０１は、メインコントロールダイアログ１１００の加算ボタン１１０９、減算ボタン１１１０、共通部ボタン１１１１のいずれかに対する押下を受け付ける。そして押下された場合に、図９の３Ｄタイプテーブル９９０の３Dタイプ９９１に値を格納する。具体的には、加算ボタン１１０９の押下を受け付けた場合は「１」を格納し、減算ボタン１１１０の押下を受け付けた場合は「２」を格納し、共通部ボタン１１１１の押下を受け付けた場合は「３」を格納してステップＳ５０３に処理を移行する。格納例は、図１０の３Ｄタイプテーブル９９０に示す通りである。
【０１０５】
ステップＳ５０３では、情報処理装置１０１は、スケッチ作成処理によって部品ドキュメントに転記されたスケッチが３Ｄ化の輪郭として適切であるか否かを判定する。判定は３次元ＣＡＤアプリケーションによる識別結果に基づいて行い、具体的にはスケッチが面を構成しているかどうかで判定する。適切である場合と判定された場合には、ステップＳ５０４に処理を進め、適切であると判定できなかった場合には、３Ｄ化処理を終了し、呼び出し元に処理を戻す。
【０１０６】
ステップＳ５０４では、情報処理装置１０１は、ステップＳ５０１で押し出しタイプテーブル９８０の押し出しタイプ９８１に格納された値から「押し出し」が選択されたか、「回転押し出し」が選択されたかを判定する。具体的には、押し出しタイプ９８１に「１」が格納されていれば「押し出し」が選択されており、「２」が格納されていれば「回転押し出し」が選択されていると判定できる。「押し出し」が選択されたと判定された場合には、ステップＳ５０５に処理を進め、「回転押し出し」が選択されたと判定された場合には、ステップＳ５０８に処理を進める。
【０１０７】
ステップＳ５０５では、情報処理装置１０１は、スケッチに対して垂直な方向への押し出し形状を作成するための距離と押し出し方向を受け付けるための押し出しダイアログ１９０５を表示する。押し出しダイアログ１９０５は図１９に示す通りである。
【０１０８】
ステップＳ５０６では、情報処理装置１０１は、ユーザによって図面ドキュメントから選択される直線要素を受け付け、その長さを取得し、図９のスケールテーブル９１０のスケール９１１に示すスケールの値を長さに乗算した結果を距離として押し出しダイアログ１９０５の距離欄１９０２に表示する処理を行う。ユーザによって手入力される形態でもよい。
【０１０９】
ステップＳ５０７では、情報処理装置１０１は、ステップＳ５０６で受け付けた値を基に、押し出す輪郭をスケッチ平面の上下どちらの方向へ押し出すかについて、ユーザによる押し出し方向の選択を受け付ける。
【０１１０】
一方、ステップＳ５０８では、情報処理装置１０１は、押し出す輪郭をある軸回転で回転押し出しすることによって回転形状を作成するための回転軸をユーザの操作によって受け付けるための回転押し出しダイアログ（不図示）を表示する。
【０１１１】
ステップＳ５０９では、情報処理装置１０１は、ユーザによる部品ドキュメント内の直線要素（形状やスケッチの一部など）の選択受け付け処理を行う。この選択された直線要素が回転形状を作成するための回転軸となる。
【０１１２】
ステップＳ５１０では、情報処理装置１０１は、ステップＳ５０５乃至ステップＳ５０７、またはステップＳ５０８及びステップＳ５０９で設定された値を基に、押し出し形状を作成する。例えば「押し出し」の場合には、図１９に示すようにスケッチ平面１９０１を押し出し方向１９０３に向かって、距離欄１９０２の値を基に押し出すことで押し出し形状１９０４を作成する。また「回転押し出し」の場合には、図２０に示すように押し出し輪郭２００１を回転軸２００２に基づいて３６０度回転させた回転押し出し形状２００３を作成する。
【０１１３】
ステップＳ５１１では、情報処理装置１０１は、ステップＳ５０２で選択された３Ｄタイプの種類を判定する。具体的には、３Ｄタイプテーブル９９０の３Ｄタイプ９９１に格納された値に基づいて、「加算」なのか「減算」なのか「共通部」なのかを判定する。３Ｄタイプ９９１に格納された値が「１」である場合には「加算」を示すので、ステップＳ５１２に処理を進める。３Ｄタイプ９９１に格納された値が「２」である場合には「減算」を示すので、ステップＳ５１３に処理を進める。３Ｄタイプ９９１に格納された値が「３」である場合には「共通部」を示すので、ステップＳ５１４に処理を進める。
【０１１４】
ステップＳ５１２では、情報処理装置１０１は、部品ドキュメントに存在するソリッド形状（立体形状）にステップＳ５１０で作成した押し出し形状を組み合わせる（加算）処理を行う。ステップＳ５１０において作成された形状の他に、元々部品ドキュメントに存在しているソリッド形状に対して、組み合わせるイメージとなる。処理が終了したら、３Ｄ化処理を終了し、呼び出し元に処理を戻す。
【０１１５】
ステップＳ５１３では、情報処理装置１０１は、部品ドキュメントに存在するソリッド形状からステップＳ５１０で作成した形状を差し引く（減算）処理を行う。図２１のソリッド形状２１０１は部品ドキュメントに元々存在するソリッド形状である。ステップＳ５１３では、ステップＳ５１０で作成された押し出し形状２１０２をソリッド形状２１０１から差し引くことで、減算ソリッド形状２１０３に示す通りの形状となる。処理が終了したら、３Ｄ化処理を終了し、呼び出し元に処理を戻す。
【０１１６】
ステップＳ５１４では、情報処理装置１０１は、部品ドキュメントに存在するソリッド形状とステップＳ５１０で作成した形状の重なり合う部分（共通部）以外を部品ドキュメントから取り除く処理を行う。図２２のソリッド形状２２０１は部品ドキュメントに元々存在するソリッド形状である。ステップＳ５１４では、回転押し出し形状２２０２と、ソリッド形状２２０１の重なり合う部分以外を取り除くことで、共通部ソリッド形状２２０３に示す通りの形状となる。処理が終了したら、３Ｄ化処理を終了し、呼び出し元に処理を戻す。
【０１１７】
以上説明したように、本実施形態によれば、２次元ＣＡＤアプリケーションで作成した平面データを用いて、３次元ＣＡＤアプリケーションで効率よくモデリングする作業を行うためのデータ出力を補助することが可能となる。特に平面データからの輪郭線転記においては、角度のついた矢視図であっても転記時に座標軸を考慮して回転した転記が行えるので、作業の効率化が期待できる。
【０１１８】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１１９】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０１２０】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１２１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１２２】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１２３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１２４】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１２５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１２６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１２７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１２８】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１２９】
１００  立体データ作成システム
１０１  情報処理装置
１０２  サーバ
１０３  ネットワーク
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力コントローラ
２０６  ビデオコントローラ
２０７  メモリコントローラ
２０８  通信Ｉ／Ｆ（インターフェース）コントローラ
２０９  入力装置
２１０  ディスプレイ装置
２１１  外部メモリ
【図１】
0006024087.tif 000002
【図２】
0006024087.tif 000003
【図３】
0006024087.tif 000004
【図４】
0006024087.tif 000005
【図５】
0006024087.tif 000006
【図６】
0006024087.tif 000007
【図７】
0006024087.tif 000008
【図８】
0006024087.tif 000009
【図９】
0006024087.tif 000010
【図１０】
0006024087.tif 000011
【図１１】
0006024087.tif 000012
【図１２】
0006024087.tif 000013
【図１３】
0006024087.tif 000014
【図１４】
0006024087.tif 000015
【図１５】
0006024087.tif 000016
【図１６】
0006024087.tif 000017
【図１７】
0006024087.tif 000018
【図１８】
0006024087.tif 000019
【図１９】
0006024087.tif 000020
【図２０】
0006024087.tif 000021
【図２１】
0006024087.tif 000022
【図２２】
0006024087.tif 000023