(57)【要約】【課題】所定の方向の力に対する造形物の強度を高めることができる情報処理装置を提供すること。【解決手段】材料を積層して三次元造形物を造形する積層造形装置７０に対し、造形のためのデータを提供する情報処理装置２０であって、前記三次元造形物の形状に関するデータを表示装置に表示する表示手段２３と、前記表示装置に表示された前記形状に関するデータの強度に関する方向の入力を受け付ける方向受付手段２４と、前記方向受付手段が受け付けた前記方向の強度が回転前より高くなるように前記形状に関するデータを回転させる回転手段２５と、を有することを特徴とする。【選択図】図１
2018012220.tif 000002
【特許請求の範囲】
【請求項１】
材料を積層して三次元造形物を造形する積層造形装置に対し、造形のためのデータを提供する情報処理装置であって、
前記三次元造形物の形状に関するデータを表示装置に表示する表示手段と、
前記表示装置に表示された前記形状に関するデータの強度に関する方向の入力を受け付ける方向受付手段と、
前記方向受付手段が受け付けた前記方向の強度が、回転前よりも高くなるように前記形状に関するデータを回転させる回転手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記方向と、予め定められた方向とのなす角を算出し、前記回転手段は、前記形状に関するデータを前記なす角、回転させる請求項１に記載の情報処理装置。
【請求項３】
前記方向受付手段が複数の前記方向の入力を受け付けた場合、複数の前記方向に基づいて１つの方向を算出する方向算出手段を有し、
前記回転手段は、前記方向算出手段が算出した前記１つの方向の強度が回転前より高くなるように前記形状に関するデータを回転させる請求項１又は２に記載の情報処理装置。
【請求項４】
前記方向受付手段が複数の前記方向の入力を受け付けた場合、複数の前記方向の優先度を受け付ける優先度受付手段を有し、
前記方向算出手段は、前記方向の前記優先度を重み付けにして前記１つの方向を算出する請求項３に記載の情報処理装置。
【請求項５】
前記表示手段が前記表示装置に表示させた、前記回転手段が回転させた前記形状に関するデータに対し、造形開始を受け付ける造形開始受付手段を有する請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記積層造形装置が前記形状に関するデータを造形するのに要する造形時間を算出する造形時間算出手段を有し、
前記表示手段は、前記造形時間を前記表示装置に表示する請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記積層造形装置が前記形状に関するデータを造形するのに要する造形材料量を算出する造形材料量算出手段を有し、
前記表示手段は、前記造形材料量を前記表示装置に表示する請求項６に記載の情報処理装置。
【請求項８】
前記表示手段は、前記回転手段が回転させる前の前記造形時間又は前記造形材料量、及び、前記回転手段が回転させた後の前記造形時間又は前記造形材料量を前記表示装置に表示し、
前記回転手段が回転させる前の前記形状に関するデータと、前記回転手段が回転させた後の前記形状に関するデータのどちらで前記積層造形装置に造形させるかの選択を受け付ける選択受付手段を有する請求項７に記載の情報処理装置。
【請求項９】
請求項１〜８のいずれか１項に記載された情報処理装置と、前記積層造形装置を有する造形システム。
【請求項１０】
材料を積層して三次元造形物を造形する積層造形装置に対し、造形のためのデータを提供する情報処理装置を、
前記三次元造形物の形状に関するデータを表示装置に表示する表示手段と、
前記表示装置に表示された前記形状に関するデータの強度に関する方向の入力を受け付ける方向受付手段と、
前記方向受付手段が受け付けた前記方向の強度が回転前より高くなるように前記形状に関するデータを回転させる回転手段、として機能させるためのプログラム。
【請求項１１】
材料を積層して三次元造形物を造形する積層造形装置に対し、造形のためのデータを提供する情報処理装置が行うデータ処理方法であって、
表示手段が、前記三次元造形物の形状に関するデータを表示装置に表示するステップと、
方向受付手段が、前記表示装置に表示された前記形状に関するデータの強度に関する方向の入力を受け付けるステップと、
回転手段が、前記方向受付手段が受け付けた前記方向の強度が回転前より高くなるように前記形状に関するデータを回転させるステップと、
を有することを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、造形システム、プログラム及びデータ処理方法に関する。
【背景技術】
【０００２】
３Ｄモデルデータで表された立体的な形状を種々の方式で造形する積層造形装置が知られている。積層造形装置は、立体的な形状が一層ごとにスライスされたスライスデータに基づき材料を下から上に積み上げていくことで造形物を造形する。
【０００３】
３Ｄモデルをどのよう方向で積層して造形物を造形するかは、必ずしも固定でなく適切な積層方向があったりユーザが選択したりすることができる。このような性質を利用して、造形時間が最も短くなるように３Ｄモデルデータを再配置することで造形時間を短縮する積層造形装置が知られている（例えば、特許文献１参照。）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の積層造形装置では、造形物の積層方向が考慮されていないため、好ましい強度が得られていない場合があるという問題があった。すなわち、積層造形装置が造形する造形物は、材料が下から積層される造形手順で造形されているため、垂直方向に材料の層が多層に積み上がった多積層構造になっている。このため、造形物に垂直方向へ引っ張る力が加えられた場合、水平方向へ引っ張る力が加えられた場合よりも強度が低くなる傾向がある。
【０００５】
本発明は、所定の方向の力に対する造形物の強度を高めることができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題に鑑み、本発明は、材料を積層して三次元造形物を造形する積層造形装置に対し、造形のためのデータを提供する情報処理装置であって、前記三次元造形物の形状に関するデータを表示装置に表示する表示手段と、前記表示装置に表示された前記形状に関するデータの強度に関する方向の入力を受け付ける方向受付手段と、前記方向受付手段が受け付けた前記方向の強度が回転前より高くなるように前記形状に関するデータを回転させる回転手段と、を有することを特徴とする。
【発明の効果】
【０００７】
所定の方向の力に対する造形物の強度を高めることができる情報処理装置を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】造形システムの構成例を示す図である。
【図２】情報処理装置のハードウェア構成図の一例である。
【図３】積層造形装置の構成を示す説明図の一例である。
【図４】情報処理装置と積層造形装置を含む造形システムの機能構成図の一例である。
【図５】スライスデータとＧコードを説明する図の一例である。
【図６】強度を高めたい方向の入力と３Ｄモデルデータの回転を説明する図の一例である。
【図７】３Ｄモデルデータの回転を説明する図の一例である。
【図８】情報処理装置が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である。
【図９】情報処理装置が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例１）。
【図１０】スライスデータから三次元造形物を造形するための印刷データの生成方法を模式的に説明する図の一例である。
【図１１】情報処理装置が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例２）。
【図１２】オーバーハング部分とそのサポート部を説明する図である。
【図１３】情報処理装置が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例３）。
【図１４】情報処理装置が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例４）。
【図１５】情報処理装置と積層造形装置を含む造形システムの機能構成図の一例である（実施例２）。
【図１６】強度方向受付部が受け付ける強度を高めたい複数の方向を模式的に説明する図の一例である。
【図１７】情報処理装置が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（実施例２）。
【図１８】情報処理装置が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例１）。
【図１９】各方向の優先度の入力を説明する図の一例である。
【図２０】情報処理装置が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例２）。
【図２１】情報処理装置が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例３）。
【図２２】情報処理装置が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例４）。
【図２３】情報処理装置２０が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例５）
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための情報処理装置２０と情報処理装置２０が行うデータ処理方法について図面を参照しながら説明する。
【実施例１】
【００１０】
本実施形態の積層造形装置は、引っ張る力に対し三次元造形物の強度が高いことが望まれる方向の入力を受け付け、指定された方向に引っ張る強度が回転前より高くなるように３Ｄモデルデータを回転させる。すなわち、指定された方向に引っ張る強度が回転前より高くなるように３Ｄモデルが再配置されるので、多積層構造の三次元造形物の所定方向に対する引っ張り強度を高めることができる。
【００１１】
＜用語について＞
形状に関するデータは、立体や三次元の形状を表すデータであればよい。本実施形態では一例として３Ｄモデルデータという用語で説明する。
【００１２】
造形のためのデータは、積層造形装置７０が解釈することで動作して三次元形状物を造形するための情報である。例えば、命令や制御内容、設定などが含まれる。本実施形態では一例として印刷データという用語で説明する。
【００１３】
強度に関する方向とは、方向によって強度が異なる３Ｄモデルデータの方向を指定する情報である。例えば、強度が高いことが好ましい方向が例として挙げられる。逆に、解体時等の容易性を考慮して強度が低いことが好ましい方向でもよい。
【００１４】
＜構成例＞
図１は、造形システム１の構成例を示す図である。造形システム１はネットワーク２を介して接続された情報処理装置２０と積層造形装置７０を有する。ネットワーク２は主に社内ＬＡＮであるが、ＷＡＮ又はインターネットを含んでいてもよい。また、情報処理装置２０と積層造形装置７０はＵＳＢケーブルなどの専用線を介して接続されていてもよい。ネットワーク２や専用線は全てが有線で構築されていてもよいし、一部又は全てが無線ＬＡＮ、Bluetooth（登録商標）、などの無線にて構築されていてもよい。
【００１５】
情報処理装置２０は、主にＰＣ（Personal Computer）であるが、後述するプログラムが動作する装置であればよい。そのほか、情報処理装置２０としては、例えば、タブレット型端末、スマートフォン、ＰＤＡ（Personal Digital Assistant）、携帯電話、ウェアラブルＰＣ、ゲーム機器、カーナビゲーション端末、電子ホワイトボード、プロジェクタなどでもよい。
【００１６】
情報処理装置２０は３Ｄモデルデータを解析して立体的な形状である３Ｄモデルを構築し、これを積層厚（積層ピッチ）で等間隔にスライスしてスライスデータを作成する。スライスデータはＧコードという書式の印刷データに変換され、この印刷データが積層造形装置７０に送信される。印刷データは、ＵＳＢメモリやＳＤメモリカードなどの記憶媒体に記憶された状態で積層造形装置７０に提供されてもよい。積層造形装置７０は記憶媒体Ｉ／Ｆに装着された記憶媒体から印刷データを読み込む。従って、ネットワーク２はなくてもよい。
【００１７】
なお、情報処理装置２０と積層造形装置７０が一体に構成されていてもよい。すなわち、積層造形装置７０が情報処理装置２０の機能を有し、３Ｄモデルデータから印刷データを作成するなどの処理を行う。また、情報処理装置２０がサーバ９０に３Ｄモデルデータを送信しておき、サーバ９０が積層造形装置７０に直接、又は、いったん情報処理装置２０が受け取って積層造形装置７０に印刷データを送信する形態も可能である。
【００１８】
積層造形装置７０は、印刷データを元に三次元造形物を造形する。積層造形装置７０の造形方式としては、材料押出堆積法（ＦＤＭ）、マテリアルジェッティング、バインダージェッティング、粉末焼結積層造形（ＳＬＳ）、光造形（ＳＬＡ）などがある。材料押出堆積法（ＦＤＭ）は主に熱で溶かした樹脂をノズルから押し出し、積み上げて三次元造形物を造形する。樹脂の他、金属などの流動体であれば積層造形装置７０の材料となりうる。マテリアルジェッティングはインクジェットヘッドから噴射した樹脂を、紫外線で固めて積層する方式である。バインダージェッティングは、インクジェットヘッドから液体の結合剤を噴射し、石膏や樹脂粉末を一層ずつ固めていく方式である。粉末焼結積層造形（ＳＬＳ）は粉末状の素材にレーザーを照射して焼結させる方式である。光造形（ＳＬＡ）は液体状の光硬化性樹脂を、紫外線レーザーで一層ずつ硬化させて積層していく方式である。本実施形態では説明の便宜上、材料押出堆積法（ＦＤＭ）の積層造形装置７０を例に説明するが、本実施形態の３Ｄモデルデータの再配置方法は造形方式に関わりなく適用できる。
【００１９】
<ハードウェア構成>
以下、図２，３を用いて、情報処理装置２０、積層造形装置７０のハードウェア構成について説明する。
【００２０】
<<情報処理装置２０のハードウェア構成>>
図２は情報処理装置２０のハードウェア構成図の一例である。情報処理装置２０は、ＣＰＵ５０１、ＲＯＭ５０２、ＲＡＭ５０３、ＨＤＤ(Hard Disk Drive)５０５、ディスプレイ５０８、ネットワークＩ／Ｆ５０９，キーボード５１１、マウス５１２、メディアドライブ５０７、光学ドライブ５１４、ＵＳＢＩ／Ｆ５１５、及び、これらを電気的に接続するためのアドレスバスやデータバス等のバスライン５１０を備えている。
【００２１】
ＣＰＵ５０１は情報処理装置２０全体の動作を制御する。ＲＯＭ５０２はＩＰＬ（Initial Program Loader）等のＣＰＵ５０１の駆動に用いられるプログラムを記憶している。ＲＡＭ５０３はＣＰＵ５０１のワークエリアとして使用される。ＨＤ５０４は、プログラム、ＯＳ（Operating System）及び各種データを記憶する。ＨＤＤ５０５は、ＣＰＵ５０１の制御に従ってＨＤ５０４に対する各種データの読み出し又は書き込みを制御する。ネットワークＩ／Ｆ５０９はネットワーク２を利用してデータ通信するためのインタフェースである。キーボード５１１は文字、数値、各種指示などをユーザが入力するための複数のキーを備えた装置である。マウス５１２は各種指示の選択や実行、処理対象の選択、カーソルの移動などをユーザが入力するための装置である。メディアドライブ５０７は、フラッシュメモリ等の記録メディア５０６に対するデータの読み出し又は書き込み（記憶）を制御する。光学ドライブ５１４は着脱可能な記録媒体の一例としての光学ディスク(CD-ROM,DVD、Blu-Ray等)５１３に対する各種データの読み出し又は書き込みを制御する。ディスプレイ５０８はカーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。ディスプレイ５０８はプロジェクタなどでもよい。ＵＳＢＩ／Ｆ５１５はＵＳＢケーブルやＵＳＢメモリ等を接続するインタフェースである。
【００２２】
<<積層造形装置７０のハードウェア構成>>
図３（ａ）は、積層造形装置７０の構成を示す説明図の一例である。積層造形装置７０は、本体フレーム１２０の内部にチャンバー１０３を備えている。チャンバー１０３の内部は、三次元造形物を造形するための処理空間となっており、その処理空間内すなわちチャンバー１０３の内部には、載置台としてのステージ１０４が設けられている。このステージ１０４上に三次元造形物が造形される。
【００２３】
チャンバー１０３の内部におけるステージ１０４の上方には、造形手段としての造形ヘッド１１０が設けられている。造形ヘッド１１０は、その下方に造形材料であるフィラメントを吐出する吐出ノズル１１５を有する。本実施形態では、造形ヘッド１１０上に４つの吐出ノズル１１５が設けられているが、吐出ノズル１１５の数は任意である。また、造形ヘッド１１０には、各吐出ノズル１１５に供給されるフィラメントを加熱する発熱手段としての造形材料加熱手段であるヘッド加熱部１１４が設けられている。
【００２４】
フィラメントは、細長いワイヤー形状であり、巻き回された状態で積層造形装置７０にセットされており、フィラメント供給部１０６により造形ヘッド１１０上の各吐出ノズル１１５へそれぞれ供給される。なお、フィラメントは、吐出ノズル１１５ごとに異なるものであってもよいし、同じものであってもよい。本実施形態においては、フィラメント供給部１０６により供給されるフィラメントをヘッド加熱部１１４で加熱溶融し、溶融状態のフィラメントを所定の吐出ノズル１１５から押し出すようにして吐出することにより、ステージ１０４上に層状の造形構造物を順次積層して三次元造形物を造形する。
【００２５】
なお、造形ヘッド１１０上の吐出ノズル１１５には、造形材料のフィラメントではなく、三次元造形物を構成しないサポート材が供給される場合がある。このサポート材は、通常、造形材料のフィラメントとは異なる材料で形成され、最終的にはフィラメントで形成された三次元造形物から除去される。このサポート材も、ヘッド加熱部１１４で加熱溶融され、溶融状態のサポート材が所定の吐出ノズル１１５から押し出されるように吐出されて、層状に順次積層される。
【００２６】
造形ヘッド１１０は、装置左右方向に延びるＸ軸駆動機構１０１に対し、そのＸ軸駆動機構１０１の長手方向（Ｘ軸方向）に沿って移動可能に保持されている。造形ヘッド１１０は、Ｘ軸駆動機構１０１の駆動力により、装置左右方向（Ｘ軸方向）へ移動することができる。Ｘ軸駆動機構１０１の両端は、それぞれ、装置前後方向に延びるＹ軸駆動機構１０２に対し、そのＹ軸駆動機構１０２の長手方向（Ｙ軸方向）に沿ってスライド移動可能に保持されている。Ｘ軸駆動機構１０１がＹ軸駆動機構１０２の駆動力によってＹ軸方向に沿って移動することにより、造形ヘッド１１０はＹ軸方向に沿って移動することができる。
【００２７】
また、本実施形態においては、チャンバー１０３の内部（処理空間）に、チャンバー１０３内を加熱する処理空間加熱手段としてのチャンバー用ヒータ１０７が設けられている。本実施形態においては、熱溶解積層法（ＦＤＭ）で三次元造形物を造形するため、チャンバー１０３内の温度を目標温度に維持した状態で、造形処理を行うことが望ましい。そのため、本実施形態では、造形処理を開始する前に、予めチャンバー１０３内の温度を目標温度まで昇温させる予熱処理を行う。チャンバー用ヒータ１０７は、この予熱処理中には、チャンバー１０３内を目標温度まで昇温させるためにチャンバー１０３内を加熱すると共に、造形処理中には、チャンバー１０３内の温度を目標温度に維持するためにチャンバー１０３内を加熱する。チャンバー用ヒータ１０７の動作は、次述する制御部によって制御される。
【００２８】
図３（ｂ）は、本実施形態の積層造形装置７０の制御ブロック図である。造形ヘッド１１０のＸ軸方向位置を検知するＸ軸ポジション検知機構１１１が設けられている。Ｘ軸ポジション検知機構１１１の検知結果は、制御部１００に送られる。制御部１００は、その検知結果に基づいてＸ軸駆動機構１０１を制御して、造形ヘッド１１０を目標のＸ軸方向位置へ移動させる。
【００２９】
また、本実施形態においては、Ｘ軸駆動機構１０１のＹ軸方向位置（造形ヘッド１１０のＹ軸方向位置）を検知するＹ軸ポジション検知機構１１２が設けられている。Ｙ軸ポジション検知機構１１２の検知結果は、制御部１００に送られる。制御部１００は、その検知結果に基づいてＹ軸駆動機構１０２を制御することにより、Ｘ軸駆動機構１０１上の造形ヘッド１１０を目標のＹ軸方向位置へ移動させる。
【００３０】
また、本実施形態においては、ステージ１０４のＺ軸方向位置を検知するＺ軸ポジション検知機構１１３が設けられている。Ｚ軸ポジション検知機構１１３の検知結果は、制御部１００に送られる。制御部１００は、その検知結果に基づいてＺ軸駆動機構１２３を制御して、ステージ１０４を目標のＺ軸方向位置へ移動させる。
【００３１】
制御部１００は、このようにして造形ヘッド１１０及びステージ１０４の移動制御を行うことにより、チャンバー１０３内における造形ヘッド１１０とステージ１０４との相対的な三次元位置を、目標の三次元位置に移動させることができる。
【００３２】
＜造形システムの機能構成例＞
図４は、情報処理装置２０と積層造形装置７０を含む造形システム１の機能構成図の一例である。
【００３３】
<<情報処理装置２０>>
情報処理装置２０ではプログラム２０１０が実行される。このプログラム２０１０を情報処理装置２０が実行することで、以下で説明される主な機能を提供する。
【００３４】
情報処理装置２０は、通信部２１、３Ｄモデルデータ読込部２２、３Ｄモデル表示部２３、強度方向受付部２４、３Ｄモデル再配置部２５、スライス部２６、印刷データ作成部２７、全体制御部２８、造形時間算出部３１、造形材料量算出部３２、造形パターン選択受付部３３、造形開始判断受付部３４、及び記憶・読出処理部２９を有している。情報処理装置２０が有するこれらの機能は、図２に示されている各構成要素のいずれかが、ＨＤ５０４からＲＡＭ５０３上に展開されたプログラム２０１０に従ったＣＰＵ５０１からの命令によって動作することで実現される機能、又は機能される手段である。
【００３５】
また、情報処理装置２０は、図２に示されているＨＤ５０４によって構築される記憶部２０００を有している。記憶部２０００には、３Ｄモデルデータ記憶部２００１、及び、プログラム２０１０が記憶されている。プログラム２０１０は図２の記録メディア５０６や光学ディスク５１３に記憶された状態で配布されたり、プログラムを配信するサーバから配信される。プログラム２０１０はプリンタドライバと呼ばれていても、アプリケーションプログラムと呼ばれていてもよい。また、本実施形態で説明されるプログラム２０１０が例えばプリンタドライバとアプリケーションプログラムなどの２つ以上のプログラムを有するものでもよい。
【００３６】
３Ｄモデルデータ記憶部２００１には３Ｄモデルデータが記憶されている。３ＤモデルデータはＵＳＢメモリなどの可搬性の記憶媒体から情報処理装置２０又は積層造形装置７０が読み取ったものでもよいし、ネットワークを介して接続されたサーバなどからダウンロードしたものでもよいし、また、情報処理装置２０で動作した３Ｄアプリが作成したものでもよい。３Ｄアプリは、例えば３ＤＣＡＤや３ＤＣＧなどと呼ばれるソフトウェアである。３Ｄアプリが出力する３ＤモデルデータのデータフォーマットとしてはＳＴＬ（Standard Triangulated Language）が知られているがこれに限られるものではなく、３ＭＦ、ＰＬＹ又はＯＢＪなどでもよい。表１は、３Ｄモデルデータの一例を示す。
【００３７】
【表１】
2018012220.tif 000003
表１はＳＴＬという書式の３Ｄモデルデータである。ＳＴＬは三角形のポリゴンで形状を表す書式である。三次元空間の三角形の頂点と三角形の法線ベクトルが１つの三角形の情報である。
【００３８】
表１のfacetからendfacetまでが１つの三角形の情報を表す。また、normalが三角形の法線ベクトル、３つのvertexがそれぞれ三角形の３つの頂点の座標を表している。この三角形のデータが繰り返されることで、三次元造形物を表現している。３Ｄモデルの表面はこれらの三角形の各頂点で表現されるため、幾何計算することでスライスデータの算出等が可能になる。
【００３９】
なお、上記のように３Ｄモデルデータは、三次元の形状を表現していればどのような書式でもよい。また、立体形状の表面形状が分かっていれば、情報処理装置２０が表面を三角形に分割してＳＴＬ形式の３Ｄモデルデータに変換することもできる。
【００４０】
（情報処理装置２０の機能）
情報処理装置２０の通信部２１は、例えば図２に示されているＣＰＵ５０１がプログラム２０１０やＯＳを実行することやネットワークＩ／Ｆ５０９等によって実現され、積層造形装置７０と通信する。具体的には３Ｄモデルデータから変換された印刷データを積層造形装置７０に送信する。
【００４１】
全体制御部２８は、例えば図２に示されているＣＰＵ５０１がプログラム２０１０を実行すること等により実現され、積層造形装置７０の全体の制御を行う。すなわち、図４に示された各機能を必要に応じて呼び出して本実施形態の積層造形装置７０の機能を提供する。
【００４２】
３Ｄモデルデータ読込部２２は、例えば図２に示されているＣＰＵ５０１がプログラム２０１０を実行することやＨＤＤ５０４等により実現され、３Ｄモデルデータを３Ｄモデルデータ記憶部２００１から読み込む。
【００４３】
３Ｄモデル表示部２３は、例えば図２に示されているＣＰＵ５０１がプログラム２０１０を実行すること等により実現され、３Ｄモデルデータを斜視図などで表された３Ｄモデルに変換してディスプレイ５０８に表示する。この３Ｄモデルは三次元座標を有し、ディスプレイ５０８に射影変換されている。
【００４４】
強度方向受付部２４は、例えば図２に示されているＣＰＵ５０１がプログラム２０１０を実行することやキーボード５１１やマウス５１２又はタッチパネル等により実現される。強度方向受付部２４は、３Ｄモデル表示部２３により表示された三次元造形物に対しユーザがキーボード５１１やマウス５１２で入力した方向を受け付ける。この方向が、引っ張る力に対し高い強度が望まれる方向である。
【００４５】
３Ｄモデル再配置部２５は、例えば図２に示されているＣＰＵ５０１がプログラム２０１０を実行すること等により実現され、強度方向受付部２４が受け付けた方向に基づいて３Ｄモデルデータを回転させる。
【００４６】
スライス部２６は、例えば図２に示されているＣＰＵ５０１がプログラム２０１０を実行すること等により実現され、所定のピッチで３Ｄモデルデータをスライスして、スライスデータを作成する。すなわち、３ＤモデルデータをＺ軸方向に等間隔（積層厚の間隔で）にスライスし、スライスして得られた各Ｚ座標における３Ｄモデルデータの断面形状を作成する。なお、積層厚は固定でも可変でよい。３Ｄモデルデータは例えばポリゴンで表されているため、Ｚ座標が決まるとそのＺ座標のポリゴンのＸ，Ｙ座標が得られる。スライスデータはこのポリゴンの断面のＸ，Ｙ座標の集合である。
【００４７】
印刷データ作成部２７は、例えば図２に示されているＣＰＵ５０１がプログラム２０１０を実行すること等により実現され、スライスデータに基づいて印刷データを作成する。印刷データは例えばＧコードで記述されるが、積層造形装置７０が解釈可能な書式で印刷データが記述されていればよい。Ｇコードの例については図５（ｂ）にて説明する。
【００４８】
造形時間算出部３１は、例えば図２に示されているＣＰＵ５０１がプログラム２０１０を実行すること等により実現され、印刷データに基づいて三次元造形物を造形するのに要する時間を算出する。
【００４９】
造形材料量算出部３２は、例えば図２に示されているＣＰＵ５０１がプログラム２０１０を実行すること等により実現され、印刷データに基づいて三次元造形物を造形するのに要する材料の量を算出する。
【００５０】
造形パターン選択受付部３３は、例えば図２に示されているＣＰＵ５０１がプログラム２０１０を実行すること等により実現され、３Ｄモデル再配置部２５が回転させて再配置した３Ｄモデルデータと、再配置する前の３Ｄモデルデータのどちらか一方をユーザに選択させ、選択結果を受け付ける。
【００５１】
造形開始判断受付部３４は、例えば図２に示されているＣＰＵ５０１がプログラム２０１０を実行すること等により実現され、３Ｄモデル表示部２３がディスプレイ５０８に表示した３Ｄモデルの造形を開始するか否かを受け付ける。
【００５２】
記憶・読出処理部２９は、例えば図２に示されているＣＰＵ５０１がプログラム２０１０を実行すること及びＨＤＤ５０５等により実現され、記憶部２０００に各種データを記憶したり、記憶部２０００から各種データを読み出したりする。なお、以下では、情報処理装置２０が記憶部２０００から読み書きする場合でも「記憶・読出処理部２９を介して」という記載を省略する場合がある。
【００５３】
<<積層造形装置７０>>
積層造形装置７０は、造形部７１を有する。造形部７１は、図３に示した各種のハードウェアが協働し、印刷データに基づいて材料を吐出するなどして三次元造形物を造形する。
【００５４】
＜スライスデータの作成と印刷データ（Ｇコード）について＞
図５（ａ）はスライスデータの作成を説明する図の一例である。説明の便宜上、三次元空間の１つのポリゴンを例に説明する。法線ベクトルｎ（ａ，ｂ，ｃ，）と頂点ＯＰＱの座標がＳＴＬにより与えられている。このポリゴンを含む面の方程式は以下で表される。（Ｘｏ、Ｙｏ、Ｚｏ）はポリゴン上の点でありいずれかの頂点の座標を用いることができる。
【００５５】
ａ（ｘ−Ｘｏ）＋ｂ（ｙ−Ｙｏ）＋ｃ（ｚ−Ｚｏ）＝０
あるＺ座標でポリゴンをスライスするためには、ｚ＝Ｚを代入して、ａｘ＋ｂｙ＝定数という直線ＭＮの式を求める。Ｍは辺ＯＰにおいて高さＺの点であり、Ｎは辺ＯＱにおいて高さＺの点である。直線ＭＮはポリゴン内でしか存在しないので、点Ｍと点Ｎの座標を求めることで直線ＭＮを求めることができる。点Ｍは頂点ＯとＰを通る直線において高さＺの点であり、点Ｎは頂点ＯとＱを通る直線において高さＺの点である。この直線ＭＮがポリゴンがスライスされた場合の断面形状である。
【００５６】
図５（ｂ）はＧコードで表された印刷データを説明する図の一例である。１行が印刷データの１命令を表している。１命令の内容は様々であるがここでは吐出ノズル１１５の移動に関する命令を示す。Ｇ１で始まる命令は吐出ノズル１１５の移動及び材料の供給を表している。１行目はＸ=１０,Ｙ=１０の位置に、６００〔mm/minute〕の速度で移動せよという意味である。２行目はＸ=２０, Ｙ=１０の位置に、６００〔mm/minute〕で移動しながら、５〔mm〕の材料を供給せよという意味である。
【００５７】
図５（ｂ）の例では、点ＭからＮまで（又はこの逆）材料を吐出する命令を印刷データ作成部２７がＧコードにより作成する。
【００５８】
ＧコードはＦＤＭ方式の積層造形装置７０で使用される場合が多い。しかし、吐出ノズル１１５の軌跡（２点の座標の集まり）、移動速度、及び、材料の供給量を表現していれば印刷データはどのような書式でもよい。また、ＦＤＭ方式以外の積層造形装置７０では方式に応じた適切な印刷データが使用される。
【００５９】
＜強度を高めたい方向と３Ｄモデルデータの回転＞
図６は、強度を高めたい方向の入力と３Ｄモデルデータの回転を説明する図の一例である。図６（ａ）は３Ｄモデル表示部２３によってディスプレイ５０８に表示された三次元造形物の一例を示す。ユーザは表示された３Ｄモデルデータ２０２を見ながら、引っ張り力に対する強度を高めたい方向を入力する。
【００６０】
図６（ｂ）は、ユーザが入力した引っ張り力に対する強度を高めたい方向を示す。ユーザは例えばマウス５１２を強度を高めたい方向２０３にドラッグする。図６（ｂ）の３Ｄモデルデータ２０２には基板５１上に孔部を有する構造物５２が造形されており、ユーザが紐などを孔部に通過させる用途が想定されている。このため、ユーザは基板５１に対し構造物５２が離れる方向の引っ張り力に対する強度を高めたい。そこで、ユーザはディスプレイの下方向から上方向にマウス５１２をドラッグしたり、又は、タッチパネルを指でなぞる。
【００６１】
ユーザが方向２０３を入力すると、３Ｄモデル再配置部２５は強度を高めたい方向２０３が水平方向になるように３Ｄモデル（三次元造形物）２０２を回転させる。図６（ｃ）は、ユーザが入力した方向２０３が水平方向を向いた３Ｄモデルデータを示す。図６（ｃ）の縦方向が積層造形装置７０の高さＺになるので、ユーザが入力した方向２０３の強度を高めることができる。
【００６２】
なお、３Ｄモデルデータがディスプレイ５０８に表示される際は、３Ｄモデルが射影変換されており、３Ｄモデルデータの三次元座標がディスプレイ５０８のｕｖ座標に対応付けられている。従って、ユーザがマウスや指で触れたｕｖ座標の点は３Ｄモデルデータの三次元座標に変換される。
【００６３】
また、ディスプレイ５０８では、ユーザは２次元平面内の方向しか指定できない。しかしながら、上記のようにｕｖ座標と三次元座標が対応しているので、ユーザがディスプレイ５０８で２点を指定すれば、三次元空間の１つのベクトルを指定できる。
【００６４】
図７は３Ｄモデルデータの回転を説明する図の一例である。図７（ａ）に示すように、ユーザがｚ軸に平行な方向２０３を入力したものとする。この方向２０３が水平方向を向くには、方向２０３がｘｙ平面と平行となればよく、具体的にはｘ軸又はｙ軸の少なくとどちらかを中心に９０度回転すればよい。図７（ｂ）はｘ軸を中心に９０度、回転させられた方向２０３を示す。ｙ軸を中心に回転させてもよいし、ｘ軸とｙ軸の両方で９０度回転させてもよい。
【００６５】
従って、強度を高めたい方向２０３が水平方向になるように３Ｄモデルデータを回転させるには、ｘｙ平面とユーザが入力した方向のなす角だけ、ｘ軸又はｙ軸の少なくとどちらかを中心に回転させればよい。図７（ｃ）ではユーザが入力した方向２０３とｘ、ｙ平面がαのなす角を有するので、３Ｄモデル再配置部２５は３Ｄモデルデータをｘ軸又はｙ軸の少なくとも一方を中心に角度α回転させる。例えば、ｘ軸を中心に３Ｄモデルデータをα回転させる場合、三次元座標は下式で変換される。（ｘ、ｙ、ｚ）が変換前の座標であり、（ｘ'、ｙ'、ｚ'）が変換後の座標である、
ｘ'＝ｘ
ｙ'＝ｙcosα＋ｘsinα
ｚ'＝-ysinα＋ｚcosα
＜動作手順＞
図８は、情報処理装置２０が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である。
【００６６】
まず、３Ｄモデルデータ読込部２２は３Ｄモデルデータ記憶部から３Ｄモデルデータを読み込む（Ｓ１０）。
【００６７】
次に、３Ｄモデル表示部２３は３Ｄモデルデータを解釈し、３Ｄモデルをディスプレイ５０８に表示する（Ｓ２０）。
【００６８】
強度方向受付部２４は、ユーザにより強度を高めたい方向２０３が入力されたか否かを判断する（Ｓ３０）。この判断は、ユーザが所定の操作ボタンを押下したか否かにより判断される。あるいは、マウスが所定以上の長さでドラッグされたかによって判断されてもよい。タッチパネルの場合は所定以上の長さでなぞられたか否かを判断する。
【００６９】
ステップＳ３０の判断がＮｏの場合、３Ｄモデルデータを回転させる必要がないので処理はステップＳ７０に進む。
【００７０】
ステップＳ３０の判断がＹｅｓの場合、ユーザの操作により強度方向受付部２４は強度を高めたい方向を受け付ける（Ｓ４０）。
【００７１】
次に、３Ｄモデル再配置部２５は３Ｄモデルデータを回転させることで再配置する（Ｓ５０）。
【００７２】
次に、３Ｄモデル表示部２３は再配置後の３Ｄモデルデータを解釈し、三次元造形物をディスプレイ５０８に表示する（Ｓ６０）。
【００７３】
積層造形装置７０は三次元造形物を造形する（Ｓ７０）。すなわち、印刷データ作成部２７が印刷データを作成し、通信部２１が印刷データを積層造形装置７０に送信すると、積層造形装置７０の造形部７１が三次元造形物を造形する。
【００７４】
以上のように、本実施例の情報処理装置２０によれば、ユーザが強度を高めたい方向が水平方向になるように３Ｄモデルデータを回転させるので、任意の方向の強度を高めることができる。
【００７５】
以下では本実施形態のいくつかの変形例を説明する。
【００７６】
＜変形例１＞
図９は、情報処理装置２０が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例１）。なお、図９では図８との相違点を主に説明する。ステップＳ１０〜Ｓ６０の処理は図８と同様である。
【００７７】
ステップＳ６０で３Ｄモデル表示部２３が３Ｄモデルを表示すると、ユーザは目視で３Ｄモデルの向きを確認する。ユーザは、マウスやキーボードから造形を開始するかどうかを入力する。
【００７８】
ステップＳ６２では、造形開始判断受付部３４は、ユーザが造形を開始する操作を入力したか否かを判断する（Ｓ６２）。
【００７９】
ユーザが造形を開始する操作を入力した場合、ステップＳ７０で造形部７１が三次元造形物を造形する。
【００８０】
ユーザが造形を開始する操作を入力せず、例えば、例えば、ステップＳ４０で入力した方向をキャンセルした場合（Ｓ６２のＮｏ）、処理はステップＳ４０に戻り、強度を高めたい方向の入力から再度、実行される。
【００８１】
このような処理によれば、ユーザは入力した強度を回転前より高くしたい方向によってでき上がる三次元造形物の向きを確認してから造形することにより、所望の三次元造形物を造形できる。
【００８２】
＜変形例２＞
さらに、情報処理装置２０が造形時間を予測して表示することで、ユーザは造形を開始するか否かを判断しやすくなる。
【００８３】
上記のように、印刷データは、３Ｄモデルデータを水平方向にスライスして得られる断面形状に基づいて作成されている。造形部７１は、１層分の断面形状をフィラメントを吐出させながらトレースすることで造形を行う。すなわち、造形時間は、造形ヘッド１１０が全スライスデータを描く全軌跡の移動時間の総和となる。
【００８４】
図１０は、スライスデータから三次元造形物を造形するための印刷データの生成方法を模式的に説明する図の一例である。例えば、断面が楕円形状の３Ｄモデルデータがスライスされたものとする。楕円形状の曲線部分も実際には複数の小さな直線（ポリゴン）で構成されている。
【００８５】
このような小判型のスライスデータ３１０に対して、印刷データ作成部２７は吐出ノズル１１５の輪郭を作成し、輪郭に基づき吐出ノズル１１５の軌跡を算出する。まず、スライスデータの断面３０２から曲線部分を検出する。スライスデータの断面３０２は点（直線の集まり）で構成されているので、３つ以上の点にハフ変換や最小二乗法を施すと直線を検出できる。従って、３つ以上の点から１つだけの直線が近似できない場合に曲線部分であることが分かる。
【００８６】
印刷データ作成部２７は、図１０（ｂ）に示すように、曲線部分３０２ａの断面３０２を直線に近似することで輪郭３０３を算出する。これは、吐出ノズル１１５が直線的にしか移動できないことが想定されているためである。曲線部分３０２ａを何本の直線に近似するかは適宜設定される。例えば、決まった長さの直線で近似する場合、印刷データ作成部２７は、曲線部分３０２ａの始点（直線部分３０２ｂの終点）３０６から近い順に曲線部分の点との距離を算出し、決まった長さの距離に最も近い点と始点を結ぶ直線で曲線部分を近似する。あるいは、曲線部分を近似する直線同士のなす角が閾値以下になるように近似する。この場合、曲線部分の始点３０６から曲線部分の点と順番に直線を作成し、直線部分（曲線部分の手前の直線）３０２ｂとのなす角を算出する。なす角が閾値を超えるまでは次の直線を算出し、なす角が閾値以下で最大の直線を輪郭３０３とする。以降は、この輪郭３０３とのなす角に基づいて同様に直線を評価する。
【００８７】
このようにして輪郭３０３が求まると、図１０（ｃ）に示すように、印刷データ作成部２７は直線で近似されたスライスデータの輪郭３０３の内側に軌跡３０４を作成する。内側としたのは、吐出される材料の幅が考慮されるためである。なお、材料の幅の初期値は予め決まっているものとする。
【００８８】
次に、印刷データ作成部２７は、軌跡３０４の内側に中埋めするための軌跡（以下、中埋め軌跡３０５という）を作成する。軌跡３０４と中埋め軌跡３０５は、吐出ノズル１１５が移動する軌跡の軌跡情報である。図１０（ｄ）では、吐出ノズル１１５が往復しながら軌跡３０４の内側を中埋めするための中埋め軌跡３０５が示されている。印刷データ作成部２７は、軌跡３０４の最左や最右などの端部から軌跡３０４よりも吐出される材料の幅だけ内側を始点Ｓにする。始点Ｓから軌跡３０４に平行に直線を形成し、軌跡３０４の別の直線部分よりも材料の幅だけ内側に到達すると到達した軌跡３０４の直線部分に平行な方向に向きを変えて直線を形成する。決まったピッチＰｔだけ移動すると往路と平行で向きが逆の方向（軌跡３０４と平行）に向きを変えて直線を形成する。以上の処理を材料を吐出できるスペースがなくなるまで行い、スペースがなくなる終了点Ｅで終了する。このように一筆書きで中埋め軌跡３０５が作成されることで空走距離（積層しないで吐出ノズル１１５が移動する距離）がなくなるので積層時間を抑制できる。
【００８９】
図１０（ｄ）の軌跡３０４，中埋め軌跡３０５が、吐出ノズル１１５の軌跡となる。軌跡３０４，中埋め軌跡３０５は複数の直線を有するので、軌跡３０４，中埋め軌跡３０５は直線を表す２点の座標（始点と終点も指定されている）で表されている。
【００９０】
造形時間算出部３１は軌跡を移動速度で除して、各軌跡の移動時間を算出する。これを１層内の全ての軌跡で行い、全ての層の移動時間を合計して、１つの三次元造形物の造形時間を算出する。
【００９１】
図１１は、情報処理装置２０が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例２）。なお、図１１では図９との相違点を主に説明する。
【００９２】
ステップＳ１２において、造形時間算出部３１が１つの三次元造形物の造形時間を算出する（Ｓ１２）。
【００９３】
次に、３Ｄモデル表示部２３は造形される３Ｄモデルと造形時間をディスプレイ５０８に表示する（Ｓ２０）。
【００９４】
ステップＳ３０〜Ｓ５０の処理は図９と同様である。次に、造形時間算出部３１は１つの三次元造形物の造形時間を算出する（Ｓ５２）。すなわち、再配置後の造形時間を算出する。そして、３Ｄモデル表示部２３は造形される３Ｄモデルと造形時間をディスプレイ５０８に表示する（Ｓ６０）。これにより、ユーザは造形時間を考慮の上、造形を開始するか否かを判断できる。
【００９５】
このような処理によれば、ユーザは入力した強度を回転前より高くしたい方向によって向きが変わる三次元造形物とその造形時間を確認してから造形することにより、所望の三次元造形物を造形できる。
【００９６】
＜変形例３＞
さらに、情報処理装置２０が造形材料量を予測して表示することで、ユーザは造形を開始するか否かを判断しやすくなる。１つの三次元造形物の体積は一定だが造形材料量は、積層造形装置７０が造形する向きによって異なる場合がある。これは、以下のようにオーバーハング構造（傾斜が垂直以上の部分）があるため下側に三次元造形物がない立体部分などを造形するには、積層造形装置７０はサポート部６２をオーバーハング部分の下側に造形する必要があるためである。
【００９７】
図１２は、オーバーハング部分６１とそのサポート部６２を説明する図である。図１２（ａ）は３Ｄモデル５００のうちオーバーハング部分６１の側面図を示す。オーバーハング部分６１を空中に積層することは困難なので、図１２（ｂ）に示すようにオーバーハング部分６１に先だってサポート部６２が造形される。サポート部６２はユーザが必要とする３Ｄモデルデータに対して余計に造形された部分であるため、造形の完了後に除去される。しかし、造形材料として消費されてしまう。
【００９８】
造形材料量算出部３２は、サポート部６２の体積を含め、各立体部分の体積を求めることで造形材料量を算出する。すなわち、材料量はほぼ体積に比例するので、体積により造形材料量の大小を判断できる。
【００９９】
３Ｄモデルデータの体積の算出方法は各種あるが、例えば、三次元空間の任意の原点に頂点を一つ追加して、３Ｄモデルデータの各ポリゴンと原点とで形成される四面体の体積を求めることで算出する方法がある。あるいは、３Ｄモデルデータを例えば三角錐の集合として表し、３Ｄモデルデータの中に任意の点（頂点）を生成し、その点と三角形で構成される三角錐を生成する。任意の点では三角錐を作れない場合（三角錐を作ると３Ｄモデルデータからはみ出てしまう）、別の任意の点を生成する。造形材料量算出部３２は３Ｄモデルデータの空間が三角錐で埋まるまで、三角錐を作る処理を繰り返す。これにより、３Ｄモデルデータを三角錐の集合として表すことができる。１つの三角錐の体積は底面の面積と高さから求められるので、三角錐の体積の合計が３Ｄモデルデータの体積となる。
【０１００】
サポート部６２の体積については、まず、サポート部６２がどこに必要かを判断する必要がある。造形材料量算出部３２は３Ｄモデルデータの各面ごとに、面の下方に空間があるかどうか、面の角度が例えば４５度以上かどうか（面の角度が小さいとサポート部が不要なため）を判断し、サポート部６２が必要な面を特定する。この面よりも下方の空間がサポート部の体積である。
【０１０１】
図１３は、情報処理装置２０が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例３）。なお、図１３では図１１との相違点を主に説明する。
【０１０２】
ステップＳ１４において、造形材料量算出部３２は１つの三次元造形物の造形材料量を算出する（Ｓ１４）。
【０１０３】
次に、３Ｄモデル表示部２３は造形される３Ｄモデル、造形時間及び造形材料量をディスプレイ５０８に表示する（Ｓ２０）。
【０１０４】
ステップＳ３０〜Ｓ５２の処理は図１１と同様である。次に、造形材料量算出部３２は１つの三次元造形物の造形材料量を算出する（Ｓ５４）。すなわち、再配置後の造形材料量を算出する。
【０１０５】
そして、３Ｄモデル表示部２３は造形される３Ｄモデル、造形時間及び造形材料量をディスプレイ５０８に表示する（Ｓ６０）。これにより、ユーザは造形材料量を考慮の上、造形を開始するか否かを判断できる。
【０１０６】
このような処理によれば、ユーザは入力した強度を回転前より高くしたい方向によって向きが変わる三次元造形物とその造形時間及び造形材料量を確認してから造形することにより、所望の三次元造形物を造形できる。
【０１０７】
＜変形例４＞
さらに、情報処理装置２０が造形時間や造形材料量を比較可能に表示することで、ユーザは３Ｄモデルデータの造形方向を選択しやすくなる。
【０１０８】
図１４は、情報処理装置２０が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例４）。なお、図１４では図１３との相違点を主に説明する。ステップＳ１０〜Ｓ５４の処理は図１３と同様である。
【０１０９】
ステップＳ６０において３Ｄモデル表示部２３は、ユーザが強度を高めたい方向を入力する前の３Ｄモデル、造形に必要な造形時間、及び造形材料量をディスプレイ５０８に表示し、再配置した後の３Ｄモデル、造形に必要な造形時間、及び造形材料量をディスプレイ５０８に表示する（Ｓ６０）。
【０１１０】
これにより、ユーザは再配置する前、又は再配置した後のどちらの向きで三次元造形物を造形するか選択できる（Ｓ６４）。造形パターン選択受付部３３はユーザによる選択を受け付ける。
【０１１１】
このような処理によれば、強度を回転前より高くするために再配置するか、再配置せずに造形するかを造形時間や造形材料量からユーザが選択しやすくなる。
【実施例２】
【０１１２】
本実施例では、ユーザが強度を高めたい方向を複数、入力できる情報処理装置２０について説明する。
【０１１３】
＜造形システムの機能構成例＞
図１５は、情報処理装置２０と積層造形装置７０を含む造形システム１の機能構成図の一例である（実施例２）。なお、本明細書において、同一の符号を付した構成要素については、同様の機能を果たすので、一度説明した構成要素の説明を省略あるいは相違点についてのみ説明する場合がある。
【０１１４】
図１５の情報処理装置２０は、強度方向算出部３５と強度優先度受付部３６を有している。また、本実施例の強度方向受付部２４は機能が実施例１と異なっており、強度方向受付部２４は、ユーザが入力する複数の強度を高めたい点と力の方向を受け付ける。
【０１１５】
強度方向算出部３５は、強度方向受付部２４によって入力が受け付けられた強度を高めたい点と方向が複数存在した場合に、強度の方向として１つの方向に複数の方向を合成して算出する。
【０１１６】
強度優先度受付部３６は、強度方向受付部２４によって入力された強度を高めたい点とその方向が複数存在した場合に、ユーザが入力した強度を高めたい点とその方向ごとの優先度を受け付ける。
【０１１７】
＜強度を高めたい方向の入力＞
図１６は、強度方向受付部２４が受け付ける強度を高めたい複数の方向を模式的に説明する図の一例である。図１６（ａ）では、ユーザが３Ｄモデルの２箇所で強度を高めたい点とその方向を入力している。点１の力の方向を方向Ａ、点２の方向を方向Ｂとしたとき、方向ＡとＢはそれぞれ別の方向である。３Ｄモデルデータ全体として強度を高められる方向は一方向であるため、情報処理装置２０は３Ｄモデルデータ全体として強度を高めたい方向を決定しなくてはならない。
【０１１８】
そこで、強度方向算出部３５は、方向Ａの向きと方向Ｂの向きの中間を全体として強度を高くする方向に決定する。具体的には、方向Ａと方向Ｂを三次元ベクトル化し、そのベクトルを１つの方向に合成して算出する。ベクトルの合成は、ｘ成分、ｙ成分、ｚ成分を合計すればよい。方向Ａのベクトルのｘ成分、ｙ成分、ｚ成分をそれぞれｘa、ｙａ、ｚａ、方向Ｂのベクトルのｘ成分、ｙ成分、ｚ成分をそれぞれｘｂ、ｙｂ、ｚｂ、とする。合成後の方向Ｃのベクトルは以下で表すことができる。
方向Ｃの成分＝（ｘa＋ｘｂ、ｙａ＋ｙｂ、ｚａ＋ｚｂ）
図１６（ｂ）では、方向ＡとＢの合成により方向Ｃが得られ、方向Ｃが垂直方向上向き（Ｚ方向）であることが示されている。なお、方向ＡとＢでユーザが要請する強度が異なる場合は後述する。また、図１６では合成される方向が２つであるが３つ以上の場合も同様に合成できる。
【０１１９】
なお、強度を高めたい複数点における引っ張る力の方向がすべて同じ方向である場合、複数の点を含む面全体に対して強度を高めることと同じ意味となる。
【０１２０】
また、複数のベクトルの合成後のベクトルが零ベクトルとなる場合、３Ｄモデルデータ全体として強度を高めたい方向は、任意のベクトルの方向から９０度回転させた方向とする。 任意のベクトルは例えば、以下の方法で決定される。
・一番最初に入力された強度を高めたい方向を強度方向受付部２４が任意のベクトルに決定する。
・ユーザが選んだ方向を強度方向受付部２４が任意のベクトルに決定する。
【０１２１】
＜動作手順＞
図１７は、情報処理装置２０が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である。
【０１２２】
まず、３Ｄモデルデータ読込部２２は３Ｄモデルデータ記憶部から３Ｄモデルデータを読み込む（Ｓ１０）。
【０１２３】
次に、３Ｄモデル表示部２３は３Ｄモデルデータを解釈し、３Ｄモデルをディスプレイ５０８に表示する（Ｓ２０）。
【０１２４】
強度方向受付部２４は、ユーザにより強度を高めたい点と方向が入力されたか否かを判断する（Ｓ３０）。この判断は、ユーザが所定の操作ボタンを押下したか否かにより判断される。あるいは、マウスが所定以上の長さでドラッグされたかによって判断されてもよい。タッチパネルの場合は所定以上の長さでなぞられたか否かを判断する。
【０１２５】
ステップＳ３０の判断がＮｏの場合、３Ｄモデルデータを回転させる必要がないので処理はステップＳ８０に進む。
【０１２６】
ステップＳ３０の判断がＹｅｓの場合、ユーザの操作により強度方向受付部２４は強度を高めたい複数の点と方向を受け付ける（Ｓ４０）。
【０１２７】
次に、強度方向算出部３５は、複数の方向を合成して、三次元造形物全体として強度を高めたい方向を算出する（Ｓ５０）。
【０１２８】
次に、３Ｄモデル再配置部２５は３Ｄモデルデータを回転させることで再配置する（Ｓ６０）。
【０１２９】
次に、３Ｄモデル表示部２３は再配置後の３Ｄモデルデータを解釈し、三次元造形物をディスプレイ５０８に表示する（Ｓ７０）。
【０１３０】
積層造形装置７０は三次元造形物を造形する（Ｓ８０）。すなわち、印刷データ作成部２７が印刷データを作成し、通信部２１が印刷データを積層造形装置７０に送信すると、積層造形装置７０の造形部７１が三次元造形物を造形する。
【０１３１】
以上のように、本実施例の情報処理装置２０によれば、ユーザが強度を高めたい方向が複数あってもそれらを合成するので、３Ｄモデルデータの適切な方向の強度を高めることができる。
【０１３２】
以下ではいくつかの変形例を説明する。
【０１３３】
＜変形例１＞
図１８は、情報処理装置２０が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例１）。なお、図１８では図１７との相違点を主に説明する。ステップＳ１０〜Ｓ７０の処理は図１７と同様である。
【０１３４】
ステップＳ７０で３Ｄモデル表示部２３が三次元造形物を表示すると、ユーザは目視で三次元造形物の向きを確認する。ユーザは、マウスやキーボードから造形を開始するかどうかを入力する。
【０１３５】
ステップＳ７２では、造形開始判断受付部３４は、ユーザが造形を開始する操作を入力したか否かを判断する（Ｓ７２）。
【０１３６】
ユーザが造形を開始する操作を入力した場合、ステップＳ８０で造形部７１が三次元造形物を造形する。
【０１３７】
ユーザが造形を開始する操作を入力せず、例えば、ステップＳ４０で入力した方向をキャンセルした場合（Ｓ７２のＮｏ）、処理はステップＳ４０に戻り、強度を高めたい方向の入力から再度、実行される。
【０１３８】
このような処理によれば、ユーザは入力した強度を回転前より高くしたい方向によって向きが異なる三次元造形物を確認してから造形することにより、所望の三次元造形物を造形できる。
【０１３９】
＜変形例２＞
ユーザが複数の方向のうち優先度を設定したい場合ある。つまりある方向の強度を他の方向よりも高めたいような場合である。このような場合、本変形例ではユーザは各方向の優先度を入力できる。
【０１４０】
図１９は、各方向の優先度の入力を説明する図の一例である。図１９では、強度を高めたい点とその方向の入力箇所が２箇所あった場合を示す。点１の方向を方向Ａ、点２の方向を方向Ｂとする。ユーザは、方向Ａと方向Ｂにそれぞれに優先度(重みづけ)を入力できる。強度優先度受付部３６は、例えばユーザが入力した方向の数だけ優先度の入力欄をディスプレイ５０８に表示する。優先度の初期値は同じであるものとする。例えば、方向が２つの場合、方向Ａの優先度が５０〔％〕、方向Ｂの優先度が５０〔％〕である。
【０１４１】
ユーザが方向Ａ又はＢの優先度を入力すると、強度優先度受付部３６は合計が１００〔％〕になるように他の優先度を増減する。これにより、常に優先度の合計を１００〔％〕に維持できる。
【０１４２】
図１９では方向Ａの優先度が７５〔％〕、方向Ｂの優先度が２５〔％〕である。この場合、強度方向算出部３５は、方向Ａと方向Ｂを三次元ベクトル化し、次にそれぞれの優先度の比率を乗算し、双方のベクトルを合成する。つまり、０．７５を方向Ａの三次元ベクトルの各成分に乗算し、０．２５を方向Ｂの三次元ベクトルの各成分に乗算し、成分ごとに加算する。これにより方向Ｄの三次元ベクトルが得られる。
【０１４３】
図２０は、情報処理装置２０が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例２）。なお、図２０では図１８との相違点を主に説明する。
【０１４４】
ステップＳ１０〜Ｓ４０の処理は図１８と同様である。次に、強度優先度受付部３６は強度を高めたい方向の優先度を受け付ける（Ｓ４２）。
【０１４５】
ステップＳ５０では、強度方向算出部３５はこの優先度に基づいて、強度を高めたい方向を算出する（Ｓ５０）。ステップＳ６０〜Ｓ８０は図１８と同様でよい。
【０１４６】
このような処理によれば、ユーザは強度を回転前より高くしたい点とその方向が複数ある場合、強度の割合を設定できる。
【０１４７】
＜変形例３＞
さらに、情報処理装置２０が造形時間を予測して表示することで、ユーザは造形を開始するか否かを判断しやすくなる。造形時間の求め方は実施例１にて説明した。
【０１４８】
図２１は、情報処理装置２０が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例３）。なお、図２１では図２０との相違点を主に説明する。
【０１４９】
ステップＳ１２において、造形時間算出部３１が１つの三次元造形物の造形時間を算出する（Ｓ１２）。
【０１５０】
次に、３Ｄモデル表示部２３は造形される３Ｄモデルと造形時間をディスプレイ５０８に表示する（Ｓ２０）。
【０１５１】
ステップＳ３０〜Ｓ６０の処理は図２０と同様である。次に、造形時間算出部３１は１つの三次元造形物の造形時間を算出する（Ｓ６２）。すなわち、再配置後の造形時間を算出する。
【０１５２】
そして、３Ｄモデル表示部２３は造形される３Ｄモデルと造形時間をディスプレイ５０８に表示する（Ｓ７０）。これにより、ユーザは造形時間を考慮の上、造形を開始するか否かを判断できる。
【０１５３】
このような処理によれば、ユーザは入力した強度を回転前より高くしたい方向によって向きが変わる３Ｄモデルとその造形時間を確認してから造形することにより、所望の三次元造形物を造形できる。
【０１５４】
＜変形例４＞
さらに、情報処理装置２０が造形材料量を予測して表示することで、ユーザは造形を開始するか否かを判断しやすくなる。１つの三次元造形物の体積は一定だが造形材料量は、積層造形装置７０が造形する向きによって異なる場合がある。なお、オーバーハングについては実施例１にて説明した。
【０１５５】
図２２は、情報処理装置２０が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例４）。なお、図２２では図２１との相違点を主に説明する。
【０１５６】
ステップＳ１４において、造形材料量算出部３２は１つの三次元造形物の造形材料量を算出する（Ｓ１４）。
【０１５７】
次に、３Ｄモデル表示部２３は造形される３Ｄモデル、造形時間及び造形材料量をディスプレイ５０８に表示する（Ｓ２０）。
【０１５８】
ステップＳ３０〜Ｓ６２の処理は図２１と同様である。次に、造形材料量算出部３２は１つの三次元造形物の造形材料量を算出する（Ｓ６４）。すなわち、再配置後の造形材料量を算出する。
【０１５９】
そして、３Ｄモデル表示部２３は造形される３Ｄモデル、造形時間及び造形材料量をディスプレイ５０８に表示する（Ｓ７０）。これにより、ユーザは造形材料量を考慮の上、造形を開始するか否かを判断できる。
【０１６０】
このような処理によれば、ユーザは入力した強度を回転前より高くしたい方向によって向きが変わる３Ｄモデルとその造形時間及び造形材料量を確認してから造形することにより、所望の三次元造形物を造形できる。
【０１６１】
＜変形例５＞
さらに、情報処理装置２０が造形時間や造形材料量を比較可能に表示することで、ユーザは３Ｄモデルデータの造形方向を選択しやすくなる。
【０１６２】
図２３は、情報処理装置２０が３Ｄモデルデータを再配置する手順を示すフローチャート図の一例である（変形例５）。なお、図２３では図２２との相違点を主に説明する。ステップＳ１０〜Ｓ６４の処理は図２２と同様である。
【０１６３】
ステップＳ７０において３Ｄモデル表示部２３は、ユーザが強度を高めたい方向を入力する前の３Ｄモデル、造形に必要な造形時間、及び造形材料量をディスプレイ５０８に表示し、再配置した後の３Ｄモデル、造形に必要な造形時間、及び造形材料量をディスプレイ５０８に表示する（Ｓ７０）。
【０１６４】
これにより、ユーザは再配置する前、又は再配置した後のどちらの３Ｄモデルデータを造形するか選択できる（Ｓ７４）。造形パターン選択受付部３３はユーザによる選択を受け付ける。
【０１６５】
このような処理によれば、強度を回転前よりも高くするために再配置するか、再配置せずに造形するかを造形時間や造形材料量からユーザが選択しやすくなる。
【０１６６】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１６７】
例えば、本実施形態では主に樹脂や金属などの流動体が材料であると説明したが、積層造形装置７０は人、動物、植物などの細胞を吐出して造形することもできる。例えば、細胞で何らかの器官を作成したり、細胞シートを作成したりすることができる。
【０１６８】
また、本実施形態では引っ張る力に対する強度を高めることを目的としたが、圧縮する力や剪断力に対する強度が高まるように再配置してもよい。
【０１６９】
また、図４などの構成例は、情報処理装置２０の処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。情報処理装置２０の処理は、処理内容に応じてさらに多くの処理単位に分割することもできる。また、１つの処理単位がさらに多くの処理を含むように分割することもできる。
【０１７０】
また、例えば、情報処理装置２０の機能の一部を積層造形装置７０が有していてもよい
なお、３Ｄモデル表示部２３は表示手段の一例であり、ディスプレイ５０８は表示装置の一例であり、強度方向受付部２４は方向受付手段の一例であり、３Ｄモデル再配置部２５は回転手段の一例であり、強度方向算出部３５は方向算出手段の一例であり、強度優先度受付部３６は優先度受付手段の一例であり、造形開始判断受付部３４は造形開始受付手段の一例であり、造形時間算出部３１は造形時間算出手段の一例であり、造形材料量算出部３２は造形材料量算出手段の一例であり、造形パターン選択受付部３３は選択受付手段の一例である。
【符号の説明】
【０１７１】
１          造形システム
２０        情報処理装置
２２        ３Ｄモデルデータ読込部
２３        ３Ｄモデル表示部
２４        強度方向受付部
２５        ３Ｄモデル再配置部
３１        造形時間算出部
３２        造形材料量算出部
３３        造形パターン選択受付部
３４        造形開始判断受付部
３５        強度方向算出部
３６        強度優先度受付部
７０        積層造形装置
２０１０    プログラム
【先行技術文献】
【特許文献】
【０１７２】
【特許文献１】特開2012-096426号公報
【図１】
2018012220.tif 000004
【図２】
2018012220.tif 000005
【図３】
2018012220.tif 000006
【図４】
2018012220.tif 000007
【図５】
2018012220.tif 000008
【図６】
2018012220.tif 000009
【図７】
2018012220.tif 000010
【図８】
2018012220.tif 000011
【図９】
2018012220.tif 000012
【図１０】
2018012220.tif 000013
【図１１】
2018012220.tif 000014
【図１２】
2018012220.tif 000015
【図１３】
2018012220.tif 000016
【図１４】
2018012220.tif 000017
【図１５】
2018012220.tif 000018
【図１６】
2018012220.tif 000019
【図１７】
2018012220.tif 000020
【図１８】
2018012220.tif 000021
【図１９】
2018012220.tif 000022
【図２０】
2018012220.tif 000023
【図２１】
2018012220.tif 000024
【図２２】
2018012220.tif 000025
【図２３】
2018012220.tif 000026