(57)【要約】【課題】ユーザの意図しない造形結果が得られることを抑制することを可能とする造形装置を提供する。【解決手段】クライアント端末１０２は、３次元の造形物を造形装置１０１で造形するためにデータの内容を参照し、造形不可能となるような情報の有無をチェックし、造形不可能となるような情報が無いと判断された際に、データの３次元の造形に係る特徴量、及び造形設定を取得する。クライアント端末１０２は、取得された特徴量、及び造形設定を、サーバ１０４に対して送信し、サーバ１０４から取得された、特徴量、及び造形設定に基づく造形の評価に関する情報を提供する。【選択図】図４
2018034441.tif 000002
【特許請求の範囲】
【請求項１】
３次元の造形物を造形装置で造形するためにデータの内容を参照し、造形不可能となるような情報の有無をチェックするチェック手段と、
前記チェック手段で造形不可能となるような情報が無いと判断された際に、前記データの３次元の造形に係る特徴量、及び造形設定を取得する取得手段と、
取得された前記特徴量、及び前記造形設定を、造形を評価する外部サーバに対して送信する送信手段と、
前記外部サーバから取得された、前記特徴量、及び前記造形設定に基づく造形の評価に関する情報を提供する提供手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記造形設定には、前記造形装置の識別情報が含まれる、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記造形設定には、前記造形装置の積層ピッチ、ヘッドの温度、またはフィラメントの径のうち、少なくともいずれか１つが含まれる、ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記特徴量には、前記データの最も細かい空洞部分の径、最も細い部分の径、または最も薄い部分の厚みのうち、少なくともいずれか１つが含まれる、ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記取得手段、及び前記送信手段は、前記情報処理装置のＯＳの機能として提供される、ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記提供手段は、前記造形の評価に関する情報を前記情報処理装置の表示手段で表示させる、ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記造形の評価に関する情報は、前記外部サーバにより検索された前記データと一致するかまたは類似するデータに基づく造形が失敗する割合を含む、ことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記造形の評価に関する情報は、前記データの特徴量または造形設定のうち少なくとも１つを変更する場合に造形が成功する割合が上昇するときに、当該変更する内容を含む、ことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記送信手段は、さらに、前記造形物の造形後にユーザによる当該造形の評価を前記外部サーバに送信する、ことを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記ユーザによる造形の評価には、造形成否、造形結果画像、または前記ユーザのコメントのうち、少なくともいずれか１つが含まれる、ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
３次元の造形物を造形装置で造形するためにデータの内容を参照し、造形不可能となるような情報の有無をチェックするチェック工程と、
前記チェック工程において造形不可能となるような情報が無いと判断された際に、前記データの３次元の造形に係る特徴量、及び造形設定を取得する取得工程と、
取得された前記特徴量、及び前記造形設定を、造形を評価する外部サーバに対して送信する送信工程と、
前記外部サーバから取得された、前記特徴量、及び前記造形設定に基づく造形の評価に関する情報を提供する提供工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項１２】
請求項１乃至１０のいずれか１項に記載の情報処理装置が備える各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、三次元状の造形物を造形するための造形装置、いわゆる３Ｄプリンタがひろく用いられるようになってきている。特許文献１は、プリンタでの３Ｄ物体を生産する印刷動作中に、印刷エラーを検出してエラーを補正する装置を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−２２９３４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された装置のように、印刷動作中に補正がされる場合であっても、造形装置の性能や造形剤の性質、または元となるデータの特徴によっては、ユーザの意図した造形結果が得られない場合がある。例えば、元となるデータでは細かく表現されている部分が造形結果に反映されない場合がある。また、造形装置で造形するためには一定時間を要し、造形剤も一定量消費するため、このようにユーザの意図した造形結果が得られないことは、ユーザにとって不利益となる。
【０００５】
本発明は、ユーザの意図しない造形結果が得られることを抑制することを可能とする造形装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一実施形態の造形装置は、３次元の造形物を造形装置で造形するためにデータの内容を参照し、造形不可能となるような情報の有無をチェックするチェック手段と、前記チェック手段で造形不可能となるような情報が無いと判断された際に、前記データの３次元の造形に係る特徴量、及び造形設定を取得する取得手段と、取得された前記特徴量、及び前記造形設定を、造形を評価する外部サーバに対して送信する送信手段と、前記外部サーバから取得された、前記特徴量、及び前記造形設定に基づく造形の評価に関する情報を提供する提供手段と、を備える。
【発明の効果】
【０００７】
本発明の情報処理装置によれば、ユーザの意図しない造形結果が得られることを抑制することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態における造形システムの構成の一例を示す図である。
【図２】造形システムを構成する各装置のハードウェア構成例を示す図である。
【図３】造形システムを構成する各装置のソフトウェア構成例を示す図である。
【図４】第１実施形態における処理の流れを示すフローチャートである。
【図５】第１実施形態における処理の流れを示すフローチャートである。
【図６】３Ｄデータの特徴量の一例を示す図である。
【図７】ユーザへの通知の一例を示す図である。
【図８】造形ジョブの結果を入力する画面の一例を示す図である。
【図９】第２実施形態における処理の流れを示すフローチャートである。
【図１０】第２実施形態における処理の流れを示すフローチャートである。
【図１１】ユーザへの通知および提案の一例を示す図である。
【図１２】第３実施形態における処理の流れを示すフローチャートである。
【図１３】第３実施形態における処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面などを参照して説明する。
（第１実施形態）
【００１０】
図１は、本実施形態における造形システムの構成の一例を示す図である。
ネットワーク１００に造形装置１０１とクライアント端末１０２が接続されており、ネットワーク１０３にクライアント端末１０２とサーバ１０４（外部サーバ）が接続されている。ネットワーク１００とネットワーク１０３は、同一のネットワークであってもよい。クライアント端末１０２にはＯＳおよびアプリケーションがインストールされている。ユーザは、クライアント端末１０２のアプリケーションを利用して造形指示である造形ジョブを造形装置１０１に送信する。
【００１１】
図２は、本実施形態に係る造形システムを構成する各装置のハードウェア構成の一例を示す図である。
図２（Ａ）は、造形装置１０１のハードウェア構成例を示す図である。ＣＰＵ２０１は、ＲＯＭ２０３や記憶装置２０４に格納されているプログラムを実行し、内部バス２０６を介して各デバイスを総括的に制御する。ＲＡＭ２０２は、ＣＰＵ２０１のメモリやワークエリアとして機能する。ＲＯＭ２０３には、組込済みプログラムおよびデータが記録されている。また、ＲＯＭ２０３には、造形装置１０１の個体識別情報や機種情報が格納されている。
【００１２】
ネットワークＩ／Ｆ２０５は、ネットワーク１００を介して、外部のネットワーク機器あるいはクライアント端末１０２と片方向または双方向にデータをやり取りするために利用される。記憶装置２０４は、外部記憶装置として機能し、造形データ等を記憶するほか、ＲＡＭ２０２に代わって、造形装置１０１の内部で検出され、記録された稼働情報や消耗材に関する情報を保存することも可能である。稼働情報には、障害情報、ステータス情報、ログ情報などが含まれる。
【００１３】
操作部２０８は、造形装置１０１における入出力を担う。具体的には、操作部２０８は、ユーザからの入力（ボタン入力など）を受け付け、該入力に対応する信号を操作部Ｉ／Ｆ２０７によって前述した各処理部へ伝える。また、操作部２０８は、ユーザに対して必要な情報を提供したり、ユーザ操作を受付けたりするための表示装置（タッチパネルなど）を含む。
【００１４】
造形部２０９は、造形方式に依存する造形の制御を行うためのプロセッサーやメモリを含む専用コントローラ、３次元の造形物を造形するための造形材を積層するための造形ステージなどを含む。また、造形部２０９は、造形材の積層、造形物の硬化や仕上げ、サポート部の造形などのための造形方式に依存する構成なども含む。
【００１５】
本発明が適用可能な積層造形方式は、例えば、熱溶融積層法、光造形方式、粉末焼結方式、インクジェット方式などである。造形部２０９において積層造形を行う場合、クライアント端末１０２などにインストールされている３Ｄ造形アプリケーションでモデルデータなどから生成された積層面単位の断面形状データ（すなわちスライスデータ）の造形コマンドを用いて実行する。
【００１６】
消耗材補給部２１２は、造形物を造形するために必要な造形材２１３を含む消耗材を造形部２０９へ供給する。造形物の造形に際してサポート部を造形する造形方式が採用された造形装置では、消耗材補給部２１２は、消耗材としてサポート部材を保持し、造形部２０９へ供給する。造形材２１３には、光硬化型樹脂や熱可塑性樹脂、金属粉、石膏材など様々なものが存在する。光硬化型樹脂には、例えば、紫外線などの照射により硬化する液体状の樹脂がある。
【００１７】
また、消耗材補給部２１２は、造形材２１３やサポート部材などの造形部２０９への供給量を管理することができる。供給量は、記憶装置２０４にログとして記録される。記録されるログは、１レコードに対して、１造形物（１ジョブ）ごとの供給量が記録される。なお、ログの記録は、造形物ごと以外にも、所定期間における供給量を記録することも可能である。
【００１８】
また、造形装置１０１が複数色での着色造形が可能であれば、消耗材補給部２１２は、複数色のそれぞれの造形材２１３を造形部２０９に補給することができ、色ごとに個別に供給量を管理することができる。そして、それらの供給量をログとして記憶装置２０４に記録できる。なお、消耗材補給部２１２への消耗材の補充は、液体、粉末などの造形材２１３が入ったボトルを消耗材補給部２１２に対して装着することにより行う。または、消耗材補給部２１２に対して消耗材を専用のボトルなどから手動で補給してもよい。
【００１９】
センサ２１５は、造形装置１０１内に複数配置され、それぞれに目的がある。造形装置１０１内に配置されるセンサの例について、以下に主なものを説明する。あるセンサは、消耗材補給部２１２が管理する消耗材の造形部２０９への供給量を検出したり、消耗材補給部２１２で保持している消耗材の残量を検出したりする。また、造形材２１３が入ったボトルの装着を検出し、該ボトルの識別情報などを検出するセンサが造形装置１０１内に配置されていてもよい。
【００２０】
また、造形部２０９内における温度異常や故障などを検出するセンサが配置される。造形部２０９に、造形処理用の造形ヘッドやステージが存在する場合には、造形部２０９内に、それらの駆動回数（移動距離）をカウントするためのセンサが配置される。なお、上述のセンサはハードウェアとして配置する例について記載しているが、それらの一部、または全てを、同等の検知機能をもつソフトウェアセンサで代替してもよい。
【００２１】
また、造形装置１０１にはオプション機器として、造形方式に応じて必要となる付帯設備や、カメラ、ＩＣカードリーダ等の３Ｄプリンタの機能および機構を拡張する周辺機器（不図示）を備える。付帯設備の例として、インクジェット方式の場合に粉末対策として必要な装置や、光造形（ＳＬＡ）の場合に必要となる洗浄装置などがある。
【００２２】
図２（Ｂ）は、クライアント端末１０２およびサーバ１０４等の情報処理装置のハードウェア構成例を示す図である。
ＣＰＵ２５１は、ＲＯＭ２５３や記憶装置２５４に格納されたプログラムなどを実行し、情報処理装置全体を、内部バス２５６を介して制御する。また、ＲＯＭ２５３や記憶装置２５４は、プログラム以外に各種データを格納する。例えば、記憶装置２５４は、造形装置１０１のデバイス情報や稼働情報などを記憶する。ＲＡＭ２５２は、ＣＰＵ２０１のメモリやワークエリアとして機能する。
【００２３】
入出力Ｉ／Ｆ２５７は、例えば、ＰＳ２やＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）、アナログやデジタルのディスプレイＩ／Ｆなどである。入出力装置２５８は、キーボードやマウス、ＣＲＴや液晶ディスプレイである。入出力装置２５８は、入出力Ｉ／Ｆ２５７を介して情報処理装置と接続することができる。情報処理装置は、ネットワークＩ／Ｆ２５５により、ネットワーク１０３を介した通信を行う。
【００２４】
ＲＯＭ２５３は、情報処理装置を起動するための初期プログラムや情報処理装置の各モジュールを制御するための基本的なプログラムを格納している。記憶装置２５４は、ＯＳやアプリケーションを格納している。情報処理装置の電源が投入されると、まずＲＯＭ２５３に保存されているコンピュータを起動するためのプログラム（ブートローダ）が実行され、該プログラムが記憶装置２５４に格納されているＯＳをＲＡＭ２５２にロードし、制御権をＯＳに渡す。
【００２５】
ＯＳは、必要なモジュールやドライバソフトウェアを記憶装置２５４からＲＡＭ２５２に読み込む。また、ＯＳは、ユーザの指示により、必要なアプリケーションを記憶装置２５４からＲＡＭ２５２に読み込み、実行する。本実施形態では、ＣＰＵ２５１が情報処理装置の記憶装置２５４に保存されたプログラムをＲＡＭ２５２にロードし、実行することで後述する各処理が実現される。
【００２６】
図３は、本実施形態における造形システムのソフトウェア構成例を示す図である。
造形装置１０１は、通信処理部３０１、造形処理部３０２、入出力制御処理部３０３を備える。通信処理部３０１は、ネットワーク１００を通じて他の機器と通信する。造形処理部３０２は、造形装置１０１内の造形ジョブを実行し、造形物を出力する。入出力制御処理部３０３は、操作部２０８からの入出力情報を制御する。
【００２７】
クライアント端末１０２は、通信処理部３１１、造形ジョブ作成部３１２、入出力制御処理部３１３を備える。通信処理部３１１は、ネットワーク１００またはネットワーク１０３を通じて他の機器と通信する。造形ジョブ作成部３１２は、造形装置１０１が解釈可能な造形指示を造形ジョブとして作成する。入出力制御処理部３１３は、入出力装置２５８からの入出力情報を御する。後述する各フローチャートの処理を実行するドライバソフトウェアまたはＯＳは、制御の主体であり、上述した各ソフトウェアの機能を実現する。
【００２８】
サーバ１０４は、通信処理部３２１、データ処理部３２２を備える。通信処理部３２１は、ネットワーク１０３を通じて他の機器と通信する。データ処理部３２２は、造形ジョブに関するデータを管理する。データ処理部３２２が管理する造形ジョブに関するデータは、造形の評価に関する情報を含みうる。すなわち、サーバ１０４は、造形を評価するサーバとして機能しうる。
【００２９】
造形システムは、造形装置１０１、クライアント端末１０２およびサーバ１０４が互いに通信処理部３０１、通信処理部３１１、および通信処理部３２１を介して通信することにより形成されている。
【００３０】
図４および図５は、本実施形態における処理の流れを示すフローチャートである。
ステップＳ４０１において、クライアント端末１０２上で動作する造形装置１０１用のドライバソフトウェアは、ユーザから造形ジョブの実行指示を受ける。なお、実行指示は、ドライバソフトウェアを介しての指示であってもよく、またＯＳの機能を介しての指示であってもよい。
【００３１】
ステップＳ４０２において、ドライバソフトウェアは、造形対象の３Ｄデータを解釈し、３Ｄデータに不正な箇所がないか確認する。ここでは、造形を実行するにあたり、３Ｄデータの構造上の欠損や不備が無いことを確認する。すなわち、ドライバソフトウェアは、３Ｄデータの内容を参照し、造形不可能となるような情報の有無をチェックする。
【００３２】
ステップＳ４０２において、不正な箇所があると判断した場合には、ステップＳ４０３において、ドライバソフトウェアは、造形ジョブが実行不可能である旨ユーザに通知する。一方、ステップＳ４０２において、不正な箇所がないと判断した場合には、ステップＳ４０４において、ドライバソフトウェアは、造形対象の３Ｄデータを解釈し、３Ｄデータの特徴量を算出する。
【００３３】
図６は、３Ｄデータの特徴量の一を示す図である。本実施形態では、「３Ｄデータの特徴量」５０１として、「最も細かい空洞部分の径」５０２、「細い部分の径」５０３、および「最も薄い部分の厚み」５０４をそれぞれ示す数値を扱う。しかしながら、３Ｄデータから算出可能であり、造形結果に影響を与える特徴量であれば、図６に記載した以外のものを３Ｄデータの特徴量５０１としてもよい。また、３Ｄデータの特徴量５０１は、図６に示した５０２〜５０４のすべての情報を含む必要はなく、少なくともいずれか１つを含んでいればよい。
【００３４】
図４の説明に戻る。ステップＳ４０５において、ドライバソフトウェアは、造形装置１０１の特徴量および造形設定値を取得する。図６に、造形装置の特徴量および造形設定値の一例を示す。本実施形態では、「造形装置の特徴量および造形設定値」５１１として、「積層ピッチ」５１２、「ヘッドの温度」５１３、および「フィラメントの径」５１４をそれぞれ示す数値を扱う。しかしながら、造形装置の特徴量および造形設定値であり、造形結果に影響を与える特徴量または設定値であれば、図６に記載した以外のものを造形装置の特徴量および造形設定値５１１としてもよい。
【００３５】
また、図６に示した５１２〜５１４のすべての情報を含む必要はなく、少なくともいずれか１つを含んでいればよい。また、特徴量および造形設定値５１１は造形装置により固有の特徴量であってもよい。さらに、図４では、ステップ４０５の処理をドライバソフトウェア内の処理として説明しているが、必要に応じて造形装置１０１と通信することにより造形装置の特徴量や設定値を取得する構成であってもよい。
【００３６】
ステップＳ４０６において、ドライバソフトウェアは、ステップＳ４０４で算出した３Ｄデータの特徴量と、ステップＳ４０５で取得した造形装置１０１の特徴量および造形設定値をサーバ１０４へ送信する。ステップＳ４０７において、サーバ１０４は、ステップＳ４０６でドライバソフトウェアから送信された３Ｄデータの特徴量と、造形装置の特徴量および造形設定値とを受信する。そして、サーバ１０４は、データ処理部３２２により管理されている造形ジョブデータ５００の中から、受信した情報と一致するかまたは類似するレコード５３１を検索する。
【００３７】
なお、一致するか、または類似するレコードを検索する際の閾値や検索数の上限を予め設定しておく仕組みがあってもよい。また、一致するか、または類似するレコードを検索する際の閾値や検索数の上限をクライアント端末１０２上のドライバソフトウェアから、３Ｄデータの特徴量と、造形装置の特徴量および造形設定値と合わせて、受信してもよい。また、類似するレコードを検索する際に、３Ｄデータの特徴量と造形装置の特徴量および造形設定値にそれぞれ重みづけを行うことにより類似度を算出する仕組みがあってもよい。
【００３８】
ステップＳ４０８において、サーバ１０４は、検索結果として、受信した情報と一致するかまたは類似するレコード５３１の造形結果情報５２１をクライアント端末１０２上のドライバソフトウェアに送信する。図６に、造形結果情報５２１の例を示す。本実施系形態では、「造形結果情報」５２１として、「造形成否」、「造形結果画像」５２３、および造形結果に関する「ユーザコメント」５２４をそれぞれ示す値を扱う。
【００３９】
しかしながら、造形結果に関する情報であり、今後造形を実行するユーザに対する参考となりうる情報であれば、図６に記載した情報以外のものを造形結果情報５２１としてもよい。また、図６に示した５２１〜５２４のすべての情報を含む必要はなく、少なくともいずれか１つを含んでいればよい。
【００４０】
ステップＳ４０９において、ドライバソフトウェアは、ステップＳ４０８でサーバ１０４から送信された検索結果を受信し、ステップＳ４０６で送信した情報と一致するかまたは類似する情報が受信した検索結果に含まれるか否か判断する。ステップＳ４０９において、一致するかまたは類似する情報が検索結果に含まれないと判断した場合、図５のステップＳ４１０へ進む。
【００４１】
ステップＳ４１０において、ドライバソフトウェアは、造形装置１０１に対して造形ジョブを送信する。造形ジョブを送信する際に、造形ジョブ作成部３１２は、造形対象の３Ｄデータを造形するにあたり、造形装置１０１が解釈可能な造形指示を生成する。ステップＳ４１１において、造形装置１０１は、ステップＳ４１０でクライアント端末１０２上のドライバソフトウェアから送信された造形ジョブを実行する。
【００４２】
一方、ステップＳ４０９において、一致するかまたは類似する情報が検索結果に含まれると判断した場合、図５のステップＳ４１２に進む。ステップＳ４１２において、ドライバソフトウェアは、ユーザに検索結果に基づいた通知を行う。
【００４３】
図７は、通知の一例を示す。
図７（Ａ）は、通知ダイアログの一例である。通知ダイアログ６００は、造形ジョブに一致するかまたは類似する造形ジョブに関して、造形が失敗した割合を通知するとともに、造形ジョブの続行をユーザに確認する。ユーザは、造形ジョブを続行する場合、「はい」ボタン６０１を選択し、造形ジョブを続行しない場合、「いいえ」ボタン６０２を選択する。
【００４４】
ユーザが「詳細を表示」ボタン６１０を選択した場合、ドライバソフトウェアは、図７（Ｂ）に示す詳細情報ダイアログ６５０を表示する。詳細情報ダイアログにおいて、実行する造形ジョブに一致するかまたは類似するジョブの３Ｄデータの特徴量と、当該ジョブを実行した造形装置の特徴量および造形設定値とが表示され、各レコードの造形結果情報が表示される。ユーザが、「確認」ボタン６５１を選択すると、詳細情報ダイアログ６５０は閉じる。
【００４５】
図５の説明に戻る。ステップＳ４１３において、ユーザは、造形ジョブの続行の有無を返却する。造形ジョブを続行する場合は、ステップＳ４１４およびステップＳ４１５を実行する。ステップＳ４１４およびＳ４１５の処理は、ステップＳ４１０およびＳ４１１の処理と同様である。なお、本実施形態において、サーバ１０４のデータ処理部３２２により管理されている造形ジョブデータ５００の構築の仕方は特に限定しない。
【００４６】
例えば、予め異なる条件下で多数の造形ジョブを実行した結果を集計することにより造形ジョブデータ５００を構築してもよい。また、造形ジョブデータ５００は、静的な固定されたデータであってもよく、または動的に更新されるデータであってもよい。例えば、造形後、すなわち、造形ジョブの完了に際して、クライアント端末１０２上のドライバソフトウェアが自動的にジョブの結果をサーバ１０４へ送信する仕組みがあってもよい。また、クライアント端末１０２上のドライバソフトウェアが、図８に示す入力ダイアログ７００を表示し、ユーザに対して造形ジョブの結果の入力を促してもよい。
【００４７】
ユーザは、造形ジョブが実行された結果に満足したか、また造形結果の画像やコメントをサーバ１０４に登録することができる。ユーザが、「送信する」ボタン７１０を選択すると、入力ダイアログ７００に入力された情報と、実行したジョブに関する詳細情報（例えば、図６および図７に示した情報）とが紐づけられてサーバ１０４に登録される。このような仕組みにより造形ジョブの結果を取得し、サーバ１０４へ送信することで造形ジョブデータ５００を逐次更新する仕組みがあってもよい。
【００４８】
以上のように、本実施形態によれば、造形装置に対して造形指示を行う前に、造形を実行した場合の評価に関する情報をユーザに提示することができる。したがって、ユーザの意図しない造形結果が得られることを抑制することが可能となる。
【００４９】
（第２実施形態）
第１実施形態では、ステップＳ４１２において、クライアント端末１０２上のドライバソフトウェアがユーザに検索結果に基づいた通知を行うことで、ユーザの意図しない造形結果が得られることを未然に回避する方法について説明した。これに対して、本実施形態では、ユーザの意図しない造形結果が得られる可能性がある場合に、それを回避してユーザの意図する造形結果が得られるよう修正処理を行う方法について説明する。以下、第１実施形態と同一構成のものには同一の符号を付し、第１実施形態との差異のみ説明する。
【００５０】
図９および図１０は、本実施形態における処理の流れを示すフローチャートである。
ステップＳ８０１〜Ｓ８０７までの処理は、第１実施形態におけるステップＳ４０１〜Ｓ４０７までの処理と同様であるため、その説明は省略する。ステップＳ８０８において、サーバ１０４は、ステップＳ８０７で検索されたレコード５３１を対象に分析を行い、推奨修正情報を作成する。
【００５１】
具体的には、サーバ１０４は、分析として、検索されたレコード５３１のうちいずれかの３Ｄデータの特徴量５０１、または造形装置の特徴量および造形設定値５１１を変更することで、造形成否５２２の成功の割合が上昇するようなレコードを特定する。なお、分析により特定されるレコード、すなわち、３Ｄデータの特徴量５０１と造形装置の特徴量および造形設定値５１１は、複数あってもよい。また、推奨修正情報とは、分析により特定された３Ｄデータの特徴量５０１または造形装置の特徴量および造形設定値５１１と、それぞれの値を修正した場合の値からなる情報、すなわち変更内容のことである。
【００５２】
ステップＳ８０９において、サーバ１０４は、検索結果として、受信した情報と一致するかまたは類似するレコード５３１の造形結果情報５２１と、ステップＳ８０８で作成された推奨修正情報とをクライアント端末１０２上のドライバソフトウェアに送信する。ステップＳ８１０において、ドライバソフトウェアは、ステップＳ８０９でサーバ１０４から送信された検索結果を受信し、ステップＳ８０６で送信した情報と一致するかまたは類似する情報が受信した検索結果に含まれる否か判断する。
【００５３】
ステップＳ８１０において、一致するかまたは類似する情報が検索結果に含まれないと判断した場合、ステップＳ８１１へ進む。ステップＳ８１１およびステップＳ８１２の処理は、図６に示したステップＳ４１０およびステップＳ４１１の処理と同様のため、その説明を省略する。
【００５４】
一方、ステップＳ８１０において、一致するかまたは類似する情報が検索結果に含まれると判断した場合、ステップＳ８１３に進む。ステップＳ８１３において、ドライバソフトウェアは、受信した推奨修正情報が自身の機能により修正が可能な内容か否かを判断する。受信した推奨修正情報が自身の機能により修正可能か否かの判断基準は、推奨修正情報に含まれる、造形対象となる３Ｄデータの特徴量５０１または造形装置の特徴量および造形設定値５１１が、ドライバソフトウェアの制御可能な要素であるか否かに基づく。
【００５５】
また、受信した推奨修正情報が自身の機能により修正可能か否かの判断基準は、推奨修正情報に含まれる値に変更が可能か否かに基づく。例えば、推奨修正情報により修正される値が、造形装置の特徴量および造形設定値５１１の値であり、造形装置１０１に固有のものではなく、推奨修正情報の値が設定可能な値域に含まれる場合、ドライバソフトウェアで制御可能な要素であると判断できる。また、推奨修正情報により修正される値が、３Ｄデータの特徴量５０１の値であり、ドライバソフトウェアの機能により自動的に編集、補正が可能な場合、ドライバソフトウェアで制御可能な要素であると判断できる。
【００５６】
ステップＳ８１３において、受信した推奨修正情報がドライバソフトウェア自身の機能により修正が可能な内容ではないと判断した場合、ドライバソフトウェアは、図１０のステップＳ８１４に進む。ステップＳ８１４において、ドライバソフトウェアは、ユーザに検索結果に基づいた通知を行う。以降の処理、すなわちステップＳ８１５〜Ｓ８１７の処理は、第１実施形態の図５に示したステップＳ４１３〜Ｓ４１５の処理と同様である。
【００５７】
一方、ステップＳ８１３において、受信した推奨修正情報がドライバソフトウェア自身の機能により修正が可能な内容であると判断した場合、図１０のステップＳ８１８に進む。ステップＳ８１８において、ドライバソフトウェアは、ユーザに検索結果の通知および推奨修正情報に基づいた提案を行う。
【００５８】
図１１は、通知および提案の一例である。
通知ダイアログ９００は、造形ジョブに一致するかまたは類似する造形ジョブに関して、造形が失敗した割合を通知するとともに、推奨修正情報に基づいて造形が成功する割合を上昇させるような提案をユーザに行う。そして、造形ジョブの続行をユーザに確認する。なお、通知ダイアログ９００は一例であり、これに限定されるものではない。例えば、造形が失敗する割合を通知せず、推奨修正情報に基づく修正処理の提案のみを行ってもよい。
【００５９】
ユーザは、通知ダイアログ９００において提案された推奨修正情報に基づく修正処理を適用後に造形ジョブを実行する場合、「自動修正して造形開始」ボタン９０１を選択する。また、ユーザは、通知ダイアログ９００において提案された推奨修正情報に基づく修正処理を適用せずに造形ジョブを実行する場合、「自動修正せず造形開始」ボタン９０２を選択する。また、ユーザは、造形ジョブを続行しない場合、「造形しない」ボタン９０３を選択する。ユーザが、「詳細表示リンク」ボタン９１０を選択した場合、ドライバソフトウェアは、図７（Ｂ）に示した詳細情報ダイアログ６５０を表示する。
【００６０】
図９の説明に戻る。ステップＳ８１９において、ユーザは、修正処理を適用するか否かを返却する。修正処理を適用する場合は、ステップＳ８２０へ進む。一方、修正処理を適用しない場合は、ステップＳ８２１へ進む。ステップＳ８２０において、ドライバソフトウェアは、推奨修正情報に基づく修正処理の対象となる、３Ｄデータの特徴量５０１または造形装置の特徴量および造形設定値５１１を、推奨修正情報の値に変更する修正処理を行う。
【００６１】
例えば、推奨修正情報により修正される値が造形装置の特徴量および造形設定値５１１の値であり、造形装置１０１に固有のものではなく、推奨修正情報の値が設定可能な値域に含まれる場合、修正対象の値は推奨修正情報の値に変更される。また、推奨修正情報により修正される値が３Ｄデータの特徴量５０１の値である場合、ドライバソフトウェアは、造形ジョブの３Ｄデータを編集し、補正を行うことで、修正対象の値を推奨修正情報の値に変更する。ステップＳ８２１およびステップＳ８２２の処理は、ステップＳ８１１およびＳ８１２の処理と同様である。
【００６２】
以上のように、本実施形態によれば、第１実施形態と同様の効果を奏する。さらに、本実施形態によれば、ユーザの意図しない造形結果が得られる可能性がある場合に、それを回避してユーザの意図する造形結果が得られるように自動的に修正処理を行うことが可能となる。
【００６３】
（第３実施形態）
第１実施形態では、図４に示した一連の処理をクライアント端末１０２上のドライバソフトウェアが行った。これに対して、本実施形態では、クライアント端末１０２上のＯＳがドライバソフトウェアに代わり一連の処理を実行する場合について説明する。以下、第１実施形態と同一構成のものには同一の符号を付し、第１実施形態との差異のみ説明する。
【００６４】
図１２および１３は、本実施形態における処理の流れを示すフローチャートである。
ステップＳ１００１において、クライアント端末１０２上のＯＳは、ユーザからＯＳの機能を介して造形ジョブの実行指示を受ける。なお、ＯＳの機能を介して造形ジョブの実行指示を受ける場合、事前に当該造形装置１０１を造形指示が可能な造形装置としてＯＳに登録しておく必要がある。
【００６５】
ＯＳへ造形装置を登録する手段は、例えば、造形装置１０１に対応するドライバソフトウェアのインストールをする。また、造形装置１０１とクライアント端末１０２とをネットワークまたはＵＳＢを介して接続することにより、自動的にドライバソフトウェアのインストールがされてもよい。その際、造形装置１０１の固有の情報を示すハードウェアＩＤや互換ＩＤの情報を参照することで自動的なインストールがされてもよい。
【００６６】
ステップＳ１００２において、クライアント端末１０２上のＯＳは、造形対象の３Ｄデータを解釈し、３Ｄデータに不正な箇所がないか確認する。３Ｄデータのフォーマットは、多種多様に存在するが、ＯＳが解釈可能なフォーマットのうち不正な箇所の確認が容易な特定のフォーマットに事前に変換処理をする構成であってもよい。例えば、ＸＭＬ形式で記述されたインデックス化された座標で表現されるフォーマットであってもよい。
【００６７】
また、造形時の素材に関する情報や造形時の補助剤、内部の充填構造に関する記述を含むフォーマットであってもよい。また、事前の変換処理のためのフィルター処理をＯＳが変換ＡＰＩとして提供する構成であってもよい。
【００６８】
ステップＳ１００２において、不正な箇所があると判断した場合には、ステップＳ１００３において、ＯＳは、造形ジョブが実行不可能である旨ユーザに通知する。一方、ステップＳ１００２において、不正な箇所がないと判断した場合には、ステップＳ１００４において、ＯＳは、造形対象の３Ｄデータを解釈し、３Ｄデータの特徴量を算出する。ここで算出される特徴量は、図６に示した特徴量の他に、上述した特定の３Ｄデータのフォーマットに特化した特徴量を含んでいてもよい。
【００６９】
ステップＳ１００５において、ＯＳは、造形装置１０１の特徴量および造形設定値を取得する。なお、ＯＳ標準のウェブサービスを利用し、必要に応じて造形装置１０１と通信することにより造形装置の特徴量および造形設定値を取得してもよい。ステップＳ１００６において、ＯＳは、ステップＳ１００４で算出した３Ｄデータの特徴量と、ステップＳ１００５で取得した造形装置の特徴量および造形設定値をサーバ１０４へ送信する。
【００７０】
サーバ１０４は、クライアント端末１０２上のＯＳと関連付けられた特定のサーバであってもよい。この場合、特定のサーバへ通信するための一連の処理を通信ＡＰＩとして提供する構成であってもよい。ステップＳ１００７において、サーバ１０４は、ステップＳ１００６でクライアント端末１０２上のＯＳから送信された３Ｄデータの特徴量と、造形装置の特徴量および造形設定値とを受信する。
【００７１】
そして、サーバ１０４は、データ処理部３２２により管理されている造形ジョブデータ５００の中から、受信した情報と一致するか、または類似するレコード５３１を検索する。なお、サーバ１０４が格納している造形ジョブデータ５００の初期値は、予めＯＳベンダが各造形装置ベンダから提供された造形ジョブに関する複数の造形結果に基づくものであってもよい。
【００７２】
また、各造形ベンダから提供された造形ジョブは、ＯＳベンダが各造形装置ベンダに対してサンプルデータを提供し、それを用いて各造形ベンダが造形処理を実行した際の造形ジョブであってもよい。ステップＳ１００８において、サーバ１０４は、検索結果として、受信した情報と一致するかまたは類似するレコード５３１の造形結果情報５２１をクライアント端末１０２上のＯＳに送信する。
【００７３】
ステップＳ１００９において、クライアント端末１０２上のＯＳは、ステップＳ１００８でサーバ１０４から送信された検索結果を受信し、ステップＳ１００６で送信した情報と一致するかまたは類似する情報が受信した検索結果に含まれるか否か判断する。ステップＳ１００９において、一致するかまたは類似する情報が検索結果に含まれないと判断した場合、図１３のステップＳ１０１０へ進む。
【００７４】
ステップＳ１０１０において、ＯＳは、造形装置１０１に対して造形ジョブを送信する。ステップＳ１０１１において、造形装置１０１は、ステップＳ１０１０でクライアント端末１０２上のＯＳから送信された造形ジョブを実行する。一方、ステップＳ１００９において、一致するかまたは類似する情報が検索結果に含まれると判断した場合、図１３のステップＳ１０１２に進む。ステップＳ１０１２において、クライアント端末１０２上のＯＳは、ユーザに検索結果に基づいた通知を行う。
【００７５】
ステップＳ１０１３において、ユーザは、造形ジョブの続行の有無を通知ダイアログ（図７（Ａ））上で確認し、造形ジョブの続行の有無を返却する。造形ジョブを続行する場合は、ステップＳ１０１４およびステップＳ１０１５を実行する。ステップＳ１０１４およびＳ１０１５の処理は、ステップＳ１０１０およびＳＳ１０１１と同様である。
【００７６】
なお、本実施形態における造形ジョブデータ５００は、動的に更新されてもよい。動的に更新する仕組みとして、例えば、造形ジョブの終了後に図８に示した入力ダイアログ７００のような、ユーザに注意喚起するポップアップ表示をクライアント端末１０２上のＯＳが行う構成としてもよい。
【００７７】
以上のように、本実施形態によれば、第１実施形態と同様の効果を奏する。さらに、本実施形態では、造形装置のドライバソフトウェアの代わりに、クライアント端末のＯＳが、造形を実行した場合の評価に関する情報の提示に係る処理を実行することができる。
【００７８】
なお、上述した各実施形態において、造形ジョブデータ５００は、サーバ１０４が有する構成であったが、造形ジョブデータ５００または造形ジョブデータ５００に相当する情報をクライアント端末１０２が有していてもよい。また、造形ジョブデータ５００における造形装置１０１の特徴量および造形設定値５１１は、造形装置１０１の種類を示す型番等の識別情報を含んでいてもよい。また、造形ジョブデータ５００における造形結果情報５２１は、３Ｄスキャナ等の読取装置により造形結果を対象として取得した３Ｄデータを含んでいてもよい。
【００７９】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８０】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
2018034441.tif 000003
【図２】
2018034441.tif 000004
【図３】
2018034441.tif 000005
【図４】
2018034441.tif 000006
【図５】
2018034441.tif 000007
【図６】
2018034441.tif 000008
【図７】
2018034441.tif 000009
【図８】
2018034441.tif 000010
【図９】
2018034441.tif 000011
【図１０】
2018034441.tif 000012
【図１１】
2018034441.tif 000013
【図１２】
2018034441.tif 000014
【図１３】
2018034441.tif 000015