(57)【要約】【課題】実際の３Ｄプリンタによる造形前に造形結果を把握することができること。【解決手段】情報処理装置１００は、シミュレーション空間１１１における設計データが示す造形対象の立体物１１２を囲う空間１１３が区切られた複数の部分空間１１４であって、３次元プリンタの造形性能値に基づく特定の形状である複数の部分空間１１４を示す部分空間データ１０２を生成する。情報処理装置１００は、生成した部分空間データ１０２が示す複数の部分空間１１４の各々について、部分空間１１４と立体物１１２との重なり度合いに応じて立体物１１２の形状の有無を示すフラグを設定する。情報処理装置１００は、複数の部分空間１１４のうち、設定したフラグが、形状があることを示す部分空間１１４に部分空間１１４の形状の立体物を配置して組み合わせた立体物１１５を示す造形データ１０３を生成する。【選択図】図１
2016137663.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
シミュレーション空間における設計データが示す造形対象の立体物を囲う空間が区切られた複数の部分空間であって、３次元プリンタの造形性能値に基づく特定の形状である複数の部分空間を示す部分空間データを生成し、
生成した前記部分空間データが示す前記複数の部分空間の各々について、前記部分空間と前記立体物との重なり度合いに応じて前記立体物の形状の有無を示すフラグを設定し、
前記複数の部分空間のうち、設定した前記フラグが、前記形状があることを示す前記部分空間に前記部分空間の形状の立体物を配置して組み合わせた立体物を示す造形データを生成する、
処理を実行させることを特徴とする造形データ作成プログラム。
【請求項２】
前記造形性能値とは、前記３次元プリンタによって定められた造形可能な最小造形距離であることを特徴とする請求項１に記載の造形データ作成プログラム。
【請求項３】
前記コンピュータに、
前記複数の部分空間のうち、設定した前記フラグが、前記立体物の形状があることを示す前記部分空間について、造形時に前記部分空間の直下である前記部分空間に設定した前記フラグが前記立体物の形状がないことを示す部分空間に、前記形状の有無と異なることを示すフラグを設定する処理を実行させ、
前記造形データを生成する処理では、さらに、設定した前記フラグが前記形状の有無と異なることを示す部分空間に、前記形状の有無と異なることを示す形状の立体物を配置して組み合わせた立体物を示す前記造形データを生成することを特徴とする請求項１または２に記載の造形データ作成プログラム。
【請求項４】
前記立体物の形状の有無を示す前記フラグを設定する処理では、前記設計データが示す前記立体物の造形時に最も下になる位置から上になる位置の順に設定することを特徴とする請求項３に記載の造形データ作成プログラム。
【請求項５】
前記設計データは、
前記立体物に含まれる第１面の辺の頂点と、前記辺に最も近く前記第１面と異なる前記立体物に含まれる第２面の辺の頂点と、の間の距離が、前記３次元プリンタの形状認識精度に基づく特定の範囲内でない場合に、前記距離が前記特定の範囲内となるように前記第１面の辺の頂点または前記第２面の辺の頂点との少なくともいずれか一方を移動させた後の前記立体物を示すことを特徴とする請求項１〜４のいずれか一つに記載の造形データ作成プログラム。
【請求項６】
前記シミュレーション空間において前記設計データが示す前記立体物は前記３次元プリンタの基準位置に基づく位置に配置されることを特徴とする請求項１〜５のいずれか一つに記載の造形データ作成プログラム。
【請求項７】
コンピュータが、
シミュレーション空間における設計データが示す造形対象の立体物を囲う空間が区切られた複数の部分空間であって、３次元プリンタの造形性能値に基づく特定の形状である複数の部分空間を示す部分空間データを生成し、
生成した前記部分空間データが示す前記複数の部分空間の各々について、前記部分空間と前記立体物との重なり度合いに応じて前記立体物の形状の有無を示すフラグを設定し、
前記複数の部分空間のうち、設定した前記フラグが、前記形状があることを示す前記部分空間に前記部分空間の形状の立体物を配置して組み合わせた立体物を示す造形データを生成する、
処理を実行することを特徴とする造形データ作成方法。
【請求項８】
造形対象の立体物を示す設計データを記憶する記憶部と、
シミュレーション空間における前記記憶部に記憶された前記設計データが示す前記立体物を囲う空間が区切られた複数の部分空間であって、３次元プリンタの造形性能値に基づく特定の形状である複数の部分空間を示す部分空間データを生成し、生成した前記部分空間データが示す前記複数の部分空間の各々について、前記部分空間と前記立体物との重なり度合いに応じて前記立体物の形状の有無を示すフラグを設定し、前記複数の部分空間のうち、設定した前記フラグが、前記形状があることを示す前記部分空間に前記部分空間の形状の立体物を配置して組み合わせた立体物を示す造形データを生成する制御部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、造形データ作成プログラム、造形データ作成方法、および情報処理装置に関する。
【背景技術】
【０００２】
従来、３次元プリンタ（以下、「３Ｄ（Ｄｉｍｅｎｓｉｏｎａｌ）プリンタ」と称する。）と呼ばれる立体形状を造形するＲＰ（Ｒａｐｉｄ  Ｐｒｏｔｏｔｙｐｉｎｇ）装置が公知である。３Ｄプリンタの造形方式としては、インクジェット方式、光硬化方式、紙積層、粉末硬化などが挙げられる。３Ｄプリンタでは、３Ｄ−ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）などで作成した立体形状を変換して生成される中間ファイルである３Ｄデータを入力情報とし、３Ｄデータが示す立体形状に合わせて造形が行われる。
【０００３】
従来、例えば、３Ｄプリンタの造形精度を元にシミュレーションを実施して造形時の不具合を表示させる技術が公知である（例えば、以下特許文献１参照。）。
【０００４】
また、従来、例えば、３Ｄプリンタで利用可能な３Ｄデータを生成する際に、３Ｄプリンタにより造形される立体物を構成する部品が造形不良となる基準に該当する場合、部品の中央部が単純化された形状となる部品の雛形に自動的に変更する技術が公知である（例えば、以下特許文献２参照。）。
【０００５】
また、従来、例えば、立体物を分割する１つ以上の分割指示面を指定する操作入力を受け付け、分割指示面および３Ｄプリンタの３Ｄ造形分解能に応じて規定されたギャップ幅で規定された分割領域で立体物を分割するように、３Ｄデータを加工する技術が公知である（例えば、以下特許文献３参照。）。
【０００６】
また、従来、例えば、造形装置が造形可能な立体物のサイズを示すサイズ情報などを有する特性情報により造形装置のサイズ情報に対応した最適な大きさの立体物を造形させるスライスデータが得られる技術が公知である（例えば、以下特許文献４参照。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−２４８６９２号公報
【特許文献２】特開２００２−２３６７１０号公報
【特許文献３】特開２０１１−３９６９５号公報
【特許文献４】特開２０１２−１０１４４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来、実際に３Ｄプリンタによって造形が行われないと、造形結果が分からないという問題がある。
【０００９】
１つの側面では、本発明は、実際の３Ｄプリンタによる造形前に造形結果を把握することができる造形データ作成プログラム、造形データ作成方法、および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一側面によれば、シミュレーション空間における設計データが示す造形対象の立体物を囲う空間が区切られた複数の部分空間であって、３次元プリンタの造形性能値に基づく特定の形状である複数の部分空間を示す部分空間データを生成し、生成した前記部分空間データが示す前記複数の部分空間の各々について、前記部分空間と前記立体物との重なり度合いに応じて前記立体物の形状の有無を示すフラグを設定し、前記複数の部分空間のうち、設定した前記フラグが、前記形状があることを示す前記部分空間に前記部分空間の形状の立体物を配置して組み合わせた立体物を示す造形データを生成する造形データ作成プログラム、造形データ作成方法、および情報処理装置が提案される。
【発明の効果】
【００１１】
本発明の一態様によれば、実際の３Ｄプリンタによる造形前に造形結果を把握することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、情報処理装置による一動作例を示す説明図である。
【図２】図２は、３Ｄプリンタによって造形形状が異なる例を示す説明図である。
【図３】図３は、情報処理装置のハードウェア構成例を示すブロック図である。
【図４】図４は、情報処理装置の機能的構成例を示すブロック図である。
【図５Ａ】図５Ａは、３Ｄデータ例を示す説明図（その１）である。
【図５Ｂ】図５Ｂは、３Ｄデータ例を示す説明図（その２）である。
【図６】図６は、形状認識精度例を示す説明図である。
【図７】図７は、造形精度例を示す説明図である。
【図８】図８は、面と面のエッジの抽出例を示す説明図である。
【図９】図９は、最大隙間例を示す説明図である。
【図１０】図１０は、補正例（その１）を示す説明図である。
【図１１】図１１は、補正例（その２）を示す説明図である。
【図１２】図１２は、造形開始位置の補正例を示す説明図である。
【図１３】図１３は、直方体によって区切った例を示す説明図である。
【図１４】図１４は、立体物の有無の確認例を示す説明図である。
【図１５】図１５は、フラグの設定例を示す説明図である。
【図１６】図１６は、各形状の立体物が結合された立体物を示す説明図である。
【図１７】図１７は、表示例を示す説明図である。
【図１８】図１８は、情報処理装置による造形データ作成処理手順例を示すフローチャート（その１）である。
【図１９】図１９は、情報処理装置による造形データ作成処理手順例を示すフローチャート（その２）である。
【図２０】図２０は、情報処理装置による造形データ作成処理手順例を示すフローチャート（その３）である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、本発明にかかる造形データ作成プログラム、造形データ作成方法、および情報処理装置の実施の形態を詳細に説明する。
【００１４】
図１は、情報処理装置による一動作例を示す説明図である。情報処理装置１００は、シミュレーション空間１１１上に配置された立体物１１２を３Ｄプリンタで造形した場合の形状を予測するコンピュータである。ここで、シミュレーション空間１１１とは、コンピュータ上でシミュレーションされる仮想的な３次元空間である。具体的には、例えば、シミュレーション空間１１１は、３次元のアセンブリの設計を行うためのＣＡＤによって情報処理装置１００内に仮想的に設定された空間である。シミュレーション空間１１１には、例えば、Ｘ軸とＹ軸とＺ軸とを有する３次元の直交座標系が定義される。立体物とは、製品や部品そのもの、製品や部品などの試作や、建築物などの模型などである。３Ｄデータ例については、後述する。
【００１５】
３Ｄプリンタは３Ｄデータ１０１を元に、高さ方向で輪切りにし、輪切りにした各層ごとに光、樹脂噴射、接着剤などで材料を結合させて積層を繰り返して３Ｄの立体物を作成する技術である。また、代表的な技術としてインクジェット方式、光硬化方式、紙積層、粉末硬化などがある。３Ｄプリンタによって造形するには、３Ｄ−ＣＡＤから３Ｄデータ１０１を出力する。そして、３Ｄプリンタ制御システムに３Ｄデータ１０１を取り込み、造形レイアウトや材料設定など造形に必要な条件が設定される。最後に３Ｄプリンタで造形する３Ｄデータ１０１と造形条件などの情報を３Ｄプリンタに出力して実際の３次元の立体物を作成することができる。
【００１６】
３Ｄデータ１０１は、設計対象の立体物１１２を示す設計データである。３Ｄデータ１０１は、例えば、ＳＴＬ（Ｓｔａｎｄａｒｄ  Ｔｒｉａｎｇｕｌａｔｅｄ  Ｌａｎｇｕａｇｅ）などの所定のフォーマットで立体を表現したファイルである。ＳＴＬフォーマットのファイルである場合、３Ｄデータ１０１は、３つの頂点を有する三角形の集合により立体を表現する。３つの頂点は座標値によって表される。ここでの座標値とは、上述した互いにＸ軸とＹ軸とＺ軸とにより定義されたシミュレーション空間１１１における座標値（Ｘ成分値、Ｙ成分値、Ｚ成分値）である。３Ｄデータ１０１の具体例については、図５Ａおよび図５Ｂにて後述する。
【００１７】
このように、３Ｄプリンタでは、３Ｄデータ１０１を受け付けると、簡単に造形することが可能である。しかしながら、３Ｄプリンタによって造形が行われると、立体物が壊れている場合、細かい形状が潰れている場合など、意図しない形ができるという場合がある。立体物が壊れている場合とは、例えば、肉厚部分が中空になって変形するものや途中で割れているなどが挙げられる。そして、従来、３Ｄプリンタによって造形が行われないと、造形される形状が分からないという問題がある。そのため、意図しない形状になった場合、造形のやり直しなどが発生するため、造形材料や造形時間などのコストがかかるという問題点がある。
【００１８】
そこで、情報処理装置１００は、立体物１１２と該立体物１１２を囲う空間１１３を造形性能で区切った部分空間１１４との重なり度合いにより部分空間１１４の位置に部分空間１１４の形状の立体物を配置して組み合わせた立体物１１２を示す造形データ１０３を生成する。これにより、実際の３Ｄプリンタによる造形前に造形結果を把握することができる。
【００１９】
まず、情報処理装置１００は、空間１１３が区切られた複数の部分空間１１４であって、３次元プリンタの造形性能値に基づく特定の形状である複数の部分空間１１４を示す部分空間データ１０２を生成する。空間１１３は、シミュレーション空間１１１における３Ｄデータ１０１が示す造形対象の立体物１１２を囲う空間である。造形性能値とは、例えば、指定された３Ｄプリンタによって造形可能な最小造形距離である。そのため、特定の形状は、例えば、立方体である。造形対象の立体物１１２を囲う空間１１３は、例えば、３Ｄプリンタによって定められた造形可能空間１１３のすべてであってもよい。また、図１（１）に示すように、造形対象の立体物１１２を囲う空間１１３は、例えば、造形対象の立体物１１２の最大外形を囲う空間１１３であってもよいし、造形対象の立体物１１２の最大外形の立方体の空間１１３であってもよい。
【００２０】
情報処理装置１００は、例えば、造形対象の立体物１１２を囲う空間１１３に特定の形状を隙間なく並べることによって複数の部分空間１１４を示す部分空間データ１０２を生成してもよい。また、情報処理装置１００は、例えば、造形対象の立体物１１２の最大外形を囲うように最小造形距離の倍数に基づくバウンディングボックスを生成して、生成したバウンディングボックスを特定の形状によって分割する。これにより、情報処理装置１００は、複数の部分空間１１４を示す部分空間データ１０２を生成してもよい。
【００２１】
これにより、図１（２）に示すように、シミュレーション空間１１１上において、特定の形状である立方体が隙間なく並べられることになる。
【００２２】
情報処理装置１００は、生成した部分空間データ１０２が示す複数の部分空間１１４の各々について、部分空間１１４と立体物１１２との重なり度合いに応じて立体物１１２の形状の有無を示すフラグを設定する。情報処理装置１００は、例えば、部分空間１１４と立体物１１２との重なり度合いが所定割合以上であれば、立体物１１２の形状があることを示すフラグを設定する。情報処理装置１００は、例えば、部分空間１１４と立体物１１２との重なり度合いが所定割合未満であれば、立体物１１２の形状がないことを示すフラグを設定する。図１（３）では、形状があることを示すフラグは形状フラグであり、形状がないことを示すフラグは削除フラグである。所定割合は、例えば、利用者によって指定されてもよい。ここでは、所定割合は、例えば、５０［％］とする。例えば、部分空間１１４−１には形状フラグが設定され、部分空間１１４−２には削除フラグが設定される。
【００２３】
つぎに、情報処理装置１００は、複数の部分空間１１４のうち、設定したフラグが、形状があることを示す部分空間１１４に部分空間１１４の形状の立体物を配置して組み合わせた立体物１１５を示す造形データ１０３を生成する。具体的に、情報処理装置１００は、例えば、シミュレーション空間１１１上に、形状フラグが設定されている部分空間１１４の各々について、部分空間１１４の位置に部分空間１１４の３Ｄ形状の立体物を配置する。そして、図１（４）では、情報処理装置１００は、配置した部分空間１１４の３Ｄ形状の立体物を結合した立体物１１５を示す造形データ１０３を生成する。
【００２４】
これにより、実際に３Ｄプリンタによって造形する前に、造形結果を把握することができる。このため、造形のやり直しなどの発生を抑制することができ、造形材料や造形時間などのコストの低廉化を図ることができる。
【００２５】
ここで、意図しない立体物ができる大きな原因として、３Ｄデータ１０１の品質と、３Ｄプリンタの性能と、の２つが挙げられる。
【００２６】
３Ｄ−ＣＡＤの形状精度や変換性能や３Ｄプリンタ制御システムの形状認識精度により、３Ｄデータ１０１の面法線や隣接する面と面が許容値の解釈が異なり、不具合が存在する３Ｄデータ１０１になることがある。特に自由曲面など形状が複雑になるほど不具合が多く含まれる。この不具合を含んだ３Ｄデータ１０１を元に３Ｄプリンタで造形すると、形状が壊れるなど、意図しない形状で造形される可能性が高くなる。
【００２７】
また、従来技術では、３Ｄプリンタの造形精度を設定し、設定した造形精度に基づくシミュレーションによる造形時の不具合形状から修正すべき形状を検討後、３Ｄ−ＣＡＤを活用して手動で形状を修正する方法が公知である（例えば、上述した特許文献１）。しかし、この方法では、シミュレーション結果を元に３Ｄ−ＣＡＤ上で修正実施し、不具合がなくなるまで繰り返すことになるため、利用者は、３Ｄ−ＣＡＤに関する高度な操作スキルを有していなければならない。また、修正などに時間がかかるため、手軽に３Ｄプリンタを活用することができない。
【００２８】
また、従来技術では、３Ｄプリンタで利用可能な３Ｄデータを生成する際に、３Ｄプリンタにより造形される立体物を構成する部品が造形不良となる基準に該当する場合、部品の中央部が単純化された形状となる部品の雛形に自動的に変更する技術が公知である（例えば、上述した特許文献２参照。）。しかし、この場合、予め設定された造形不良となる基準以外の部品や部品を組み立てた全体の立体物については、実際に３Ｄプリンタによって造形が行われないと、造形結果が分からないという問題がある。
【００２９】
そこで、本実施の形態では、情報処理装置１００は、面のエッジの頂点と、当該エッジに最も近い面のエッジの頂点と、の間の距離が許容範囲に収まるように頂点の位置を補正する。これにより、形状が壊れたり、意図しない形状で造形されることの抑制を図ることができる。また、図１にて説明したように、情報処理装置１００は、立体物１１２と該立体物１１２を囲う空間１１３を造形性能で区切った部分空間１１４との重なり度合いにより部分空間１１４の位置に部分空間１１４の形状の立体物を配置して組み合わせた立体物１１５を示す造形データ１０３を生成する。これにより、実際の３Ｄプリンタによる造形前に造形結果を把握することができる。
【００３０】
図２は、３Ｄプリンタによって造形形状が異なる例を示す説明図である。図２（１）に示すように、本実施の形態では、情報処理装置１００が、３Ｄデータ１０１に基づいて、指定された３Ｄプリンタによって３Ｄデータ１０１が示す立体物１１２を造形した場合の立体物１１５を示す造形３Ｄデータ１０１を生成する。
【００３１】
３Ｄプリンタに応じて造形精度や形状認識精度が異なる。そのため、図２（２）に示すように、Ａプリンタの場合には４つの突起が１つの突起になり、Ｂプリンタの場合には４つの突起が２つの突起になるなど、３Ｄデータ１０１が同じであっても３Ｄプリンタに応じて造形形状が異なる場合がある。
【００３２】
（情報処理装置１００のハードウェア構成例）
図３は、情報処理装置のハードウェア構成例を示すブロック図である。図３において、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。情報処理装置１００は、Ｉ／Ｆ（Ｉｎｔｅｒ／Ｆａｃｅ）３０６と、キーボード３０７と、マウス３０８と、ディスプレイ３０９と、を有する。また、ＣＰＵ３０１と、ＲＯＭ３０２と、ＲＡＭ３０３と、ディスクドライブ３０４と、Ｉ／Ｆ３０６と、キーボード３０７と、マウス３０８と、ディスプレイ３０９とは、バス３００によってそれぞれ接続されている。
【００３３】
ここで、ＣＰＵ３０１は、情報処理装置１００の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、磁気ディスク、光ディスクなどが挙げられる。
【００３４】
Ｉ／Ｆ３０６は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク３１０に接続され、このネットワーク３１０を介して他の装置に接続される。そして、Ｉ／Ｆ３０６は、ネットワーク３１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ３０６には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００３５】
キーボード３０７やマウス３０８は、利用者の操作により、各種データの入力を行うインターフェースである。ディスプレイ３０９は、ＣＰＵ３０１の指示により、データを表示する表示装置である。
【００３６】
また、図示省略するが、情報処理装置１００は、例えば、カメラから画像や動画を取り込むことができる入力装置、マイクから音声を取り込むことができる入力装置などが設けられていてもよい。また、情報処理装置１００は、例えば、プリンタなどの出力装置が設けられていてもよい。
【００３７】
また、図示省略するが、情報処理装置１００は、例えば、３Ｄプリンタと接続可能なＩ／Ｆが設けられていてもよい。または、情報処理装置１００は、例えば、ネットワーク３１０を介して３Ｄプリンタに接続されてもよい。
【００３８】
また、図３のハードウェア構成例では、情報処理装置１００がデスクトップ型のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やノート型のＰＣである場合を例に挙げているが、これに限らず、情報処理装置１００はサーバであってもよい。情報処理装置１００がサーバである場合、例えば、情報処理装置１００が、ネットワーク３１０を介して利用者が操作可能な装置にアクセス可能とする。この場合、各処理の処理結果は、例えば、情報処理装置１００のＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶されてもよいし、利用者が操作可能な装置の記憶装置に記憶されてもよい。また、情報処理装置１００は、ネットワーク３１０を介して、利用者が操作可能な装置が有するディスプレイ３０９などに処理結果を表示してもよい。
【００３９】
（情報処理装置１００の機能的構成例）
図４は、情報処理装置の機能的構成例を示すブロック図である。情報処理装置１００は、取得部４０１と、第１補正部４０２と、第２補正部４０３と、第１生成部４０４と、設定部４０５と、第２生成部４０６と、表示部４０７と、を有する。取得部４０１から表示部４０７までの制御部の処理は、例えば、図３に示すＣＰＵ３０１がアクセス可能なＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶部４１１に記憶されたプログラムにコーディングされている。そして、ＣＰＵ３０１が記憶部４１１から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部の処理が実現される。また、制御部の処理結果は、例えば、ＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶部４１１に記憶される。
【００４０】
情報処理装置１００は、例えば、３Ｄプリンタ４００と接続可能なＩ／Ｆを介して接続されてもよいし、ネットワーク３１０を介して３Ｄプリンタ４００に接続されてもよい。
【００４１】
図５Ａおよび図５Ｂは、３Ｄデータ例を示す説明図である。ここでは、３Ｄデータ１０１として、ＳＴＬファイルフォーマットを用いて説明する。図５Ａ（１）にはソリッドの名前を表す文字列が記述される。図５Ａ（２）には三角形の面法線のベクトルの成分が記述される。図５Ａ（３）は、三角形を構成する点の開始記号が記述される。
【００４２】
図５Ａ（４）〜図５Ａ（６）には三角形を構成する点の成分が記述される。図５Ａ（７）には、三角形を構成する点の終了記号が記述される。図５Ａ（８）には、三角形の面の終了記号が記述される。図５Ａ（９）には、ソリッドを終了する記号が記述される。
【００４３】
図５Ｂには、Ｘ，Ｙ，Ｚの各長さが３０，１０，２０の立方体のサンプルモデルを例に挙げる。面ごとに面を構成する点が記述される。図５Ｂに示すように、３Ｄデータ１０１には、１つ目の面を構成する点からＮ番目の面を構成する点までが記述される。
【００４４】
図６は、形状認識精度例を示す説明図である。形状認識精度は、例えば、３Ｄプリンタ４００または３Ｄプリンタ４００に付属して造形を制御するシステムにおいて、立体形状を構成する形状を認識するための精度である。
【００４５】
図７は、造形精度例を示す説明図である。造形精度とは、３Ｄプリンタ４００自体の分解能である。３Ｄプリンタ４００では、システムの原点座標が定義されてある。造形精度としては、ＸＹＺのそれぞれの方向の最小造形距離と、ＸＹ方向の位置精度と、などが挙げられる。また、図示す省略するが、造形精度としては、ＸＹＺの最大造形可能空間などが挙げられる。
【００４６】
取得部４０１は、３Ｄデータ１０１を取得する。取得形式としては、例えば、ＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置から３Ｄデータ１０１を取得してもよいし、ネットワークを介して他の装置から３Ｄデータ１０１を取得してもよいし、キーボード３０７やマウス３０８などを介して利用者の操作によって３Ｄデータ１０１の入力を受け付けることによって３Ｄデータ１０１を取得してもよい。
【００４７】
また、取得部４０１は、造形に使用する３Ｄプリンタ４００の種類を示す情報を取得する。取得部４０１は、例えば、キーボード３０７やマウス３０８などの利用者の操作により造形に使用する３Ｄプリンタ４００の指定の入力を受け付けることにより３Ｄプリンタ４００の種類を示す情報を取得してもよい。
【００４８】
＜形状の補正＞
まず、第１補正部４０２による３Ｄデータ１０１が示す立体物１１２の形状の補正について説明する。ここでは、３Ｄデータ１０１をそのまま使用するか３Ｄデータ１０１が示す立体物１１２の形状を補正して使用するかの利用者による指示を受け付けてもよい。
【００４９】
取得部４０１は、指示された３Ｄプリンタ４００の３Ｄプリンタ制御システムから形状認識精度を取得して記憶部４１１に格納する。また、取得部４０１は、形状認識精度をライブラリ化したものから、指示された３Ｄプリンタ４００の形状認識精度を選択してもよい。ここでは、例えば、形状認識精度として、面のエッジと別の面のエッジとの隙間の許容値「０．１［ｍｍ］以内」が取得されたこととする。面のエッジとは、面を構成するエッジである。
【００５０】
第１補正部４０２は、３Ｄデータ１０１が示す立体物１１２からいずれかの面を順に選択する。第１補正部４０２は、選択した面のエッジを抽出する。
【００５１】
図８は、面と面のエッジの抽出例を示す説明図である。第１補正部４０２は、例えば、面Ａを選択して面Ａのエッジａ１を抽出する。
【００５２】
つぎに、第１補正部４０２は、抽出したエッジに最も近い面のエッジを抽出する。エッジａ１に最も近い面のエッジは、面Ｂのエッジｂ３である。第１補正部４０２は、抽出したエッジの頂点の隙間を計測して最大隙間を算出する。
【００５３】
図９は、最大隙間例を示す説明図である。エッジａ１の頂点ａ１―１とエッジｂ３の頂点ｂ３−１との隙間は、０．１２［ｍｍ］である。エッジａ１の頂点ａ１−２とエッジｂ３の頂点ｂ３−２との隙間は、０．０５［ｍｍ］である。このため、最大隙間は０．１２［ｍｍ］である。
【００５４】
つぎに、第１補正部４０２は、算出した最大隙間が形状認識精度の隙間の許容値の範囲に含まれるか否かを判断する。ここでは、上述したように許容値は「０．１［ｍｍ］以内」であるため、図９の例では、第１補正部４０２は最大隙間が許容値の範囲に含まれないと判断する。
【００５５】
第１補正部４０２は、最大隙間が許容値の範囲に含まれると判断した場合に、３Ｄデータ１０１に基づいて、頂点座標を補正しない。一方、第１補正部４０２は、最大隙間が許容値の範囲に含まれないと判断した場合に、３Ｄデータ１０１に基づいて、最大隙間が許容値の最大値となるように頂点座標を補正する。
【００５６】
図１０は、補正例（その１）を示す説明図である。まず、第１補正部４０２は、例えば、点ａ１−１と点ｂ３−１の隙間が０．１２［ｍｍ］で許容値の範囲に含まれないため、点ａ１−１を中心点とする半径０．１［ｍｍ］の球形状を作成する。
【００５７】
図１１は、補正例（その２）を示す説明図である。つぎに、第１補正部４０２は、点ｂ３−１に一番近い球形状の稜線の座標を算出する。そして、第１補正部４０２は、３Ｄデータ１０１に含まれる点ｂ３−１の座標を算出した座標に置き換える。これにより、エッジｂ３が新しい点ｂ３−１から点ｂ３−２を通るエッジに変わる。また、図８に示すエッジｂ３の頂点も新しい点ｂ３−１となる。
【００５８】
このように、第１補正部４０２は、面の各々について、面のエッジの頂点間の隙間を算出して、算出した隙間が許容値の範囲に含まれない場合に、頂点の座標を補正する。第１補正部４０２は、例えば、面Ａのエッジａ１の確認が完了した後に、面Ａのエッジａ２、面Ａのエッジａ３、面Ｂのエッジｂ１などの順に確認してもよい。これにより、形状が壊れたり、意図しない形状で造形されることを抑制することができる。
【００５９】
＜造形開始位置の補正＞
つぎに、第２補正部４０３による造形開始位置の補正について説明する。
【００６０】
第２補正部４０３は、シミュレーション空間１１１において、３Ｄデータ１０１が示す立体物１１２を３Ｄプリンタ４００の最大造形可能空間に配置する。ここでの３Ｄデータ１０１は、第１補正部４０２による補正後の３Ｄデータ１０１であってもよいし、取得してきたそのものであってもよい。配置については、造形する方向を決めるための処理であるため、利用者の操作によって指定された位置に配置してもよいし、シミュレーション空間１１１における原点や予め定められた位置に配置してもよい。
【００６１】
つぎに、第２補正部４０３は、３Ｄプリンタ４００によって造形する時の造形開始位置の座標を抽出する。
【００６２】
図１２は、造形開始位置の補正例を示す説明図である。図１２（１）に示すように、造形開始位置は、例えば、シミュレーション空間１１１上にある３Ｄプリンタ４００の造形テーブル１２００の上であり、立体物１１２の左下などである。ここでは、造形開始位置は、Ｘ＝０．１５、Ｙ＝１．２０である。そして、第２補正部４０３は、シミュレーション空間１１１に定義された軸の各々について、造形開始位置が最大造形可能空間における原点から最小造形距離の倍数の位置にあるか否かを判断する。
【００６３】
図１２（１）に示すように、Ｘ軸方向については、造形開始位置がＸ＝０．１５であり、原点から造形開始位置に最も近い最小造形距離の倍数の位置がＸ＝０．２である。そのため、第２補正部４０３は、Ｘ軸について、造形開始位置が最大造形可能空間における原点から最小造形距離の倍数の位置にないと判断する。
【００６４】
Ｙ軸方向については、造形開始位置がＹ＝１．２０であり、原点から造形開始位置に最も近い最小造形距離の倍数の位置がＹ＝１．２０である。そのため、第２補正部４０３は、Ｙ軸について、造形開始位置が最大造形可能空間における原点から最小造形距離の倍数の位置にあると判断する。
【００６５】
また、Ｚ軸方向については造形開始位置がＺ＝０であるため、Ｘ軸やＹ軸のような補正を行わなくてよい。
【００６６】
つぎに、第２補正部４０３は、造形開始位置を最小造形距離の倍数となるように配置位置を補正する。ここでは、図１２（２）に示すように、Ｘ軸方向の造形開始位置がＸ＝０．１５であり、原点から造形開始位置に最も近い最小造形距離の倍数の位置がＸ＝０．２であるため、第２補正部４０３は、造形形状全体をＸ軸方向の＋側に０．０５［ｍｍ］移動させる。また、第２補正部４０３は、造形形状全体をＸ軸方向の−側に０．１５［ｍｍ］移動させて、造形開始位置をＸ＝０にしてもよい。
【００６７】
＜造形データ１０３の生成＞
つぎに、第１生成部４０４は、造形対象の立体物１１２を囲う空間１１３が区切られた複数の部分空間１１４であって、３Ｄプリンタ４００の造形性能値に基づく特定の形状である複数の部分空間１１４を示す部分空間１１４データを生成する。空間１１３は、シミュレーション空間１１１における設計データが示す造形対象の立体物１１２を囲う空間である。
【００６８】
取得部４０１は、３Ｄプリンタ４００の３Ｄプリンタ制御システムから造形精度を取得して記憶部４１１に格納する。また、取得部４０１は、造形精度をライブラリ化したものから、指定された３Ｄプリンタ４００の造形精度を取得してもよい。ここでは、例えば、造形精度として、以下の最小造形距離とＸＹＺの最大造形可能空間とが取得されたこととする。
【００６９】
最小造形距離：Ｘ＝０．２［ｍｍ］、Ｙ＝０．２［ｍｍ］、Ｚ＝０．１［ｍｍ］
最大造形可能空間：Ｘ＝１００［ｍｍ］、Ｙ＝１５０［ｍｍ］、Ｚ＝８０［ｍｍ］
【００７０】
第１生成部４０４は、例えば、３Ｄデータ１０１が示す設計対象の立体物１１２の最大外形形状の空間１１３を、最小造形距離に基づく特定の形状によって分割した複数の部分空間１１４を示す部分空間データ１０２を生成する。最大外形形状の空間１１３は、例えば、各方向の最小造形距離の倍数に基づく空間１１３であってもよい。特定の形状は、例えば、最小造形距離に基づく形状である。最小造形距離に基づく形状は、球、延長、円錐、多面体であってもよい。本実施の形態では、直方体を例に挙げて説明する。そのため、最大外形形状の空間１１３は、直方体であってもよい。そして、第１生成部４０４は、最大外形形状の空間１１３の面に基づき特定の形状に基づき分割する。
【００７１】
図１３は、直方体によって区切った例を示す説明図である。シミュレーション空間１１１上にある３Ｄプリンタ４００の造形テーブル１２００の上に配置された立体物１１２の最大外形形状の空間１１３が、最小造形距離の直方体によって複数の部分空間１１４に分割される。
【００７２】
図１４は、立体物の有無の確認例を示す説明図である。設定部４０５は、複数の部分空間１１４の各々について、設計対象の立体物１１２の少なくとも一部が部分空間１１４に含まれるか否かを確認する。図１４に示すように、設定部４０５は、部分空間１１４−１から順番に確認する。例えば、立体物１１２を含む部分空間１１４と含まない部分空間１１４例を以下に示す。ここでは、以下以外にも部分空間１１４はあるが、説明を省略する。
・立体物１１２の少なくとも一部を含む：部分空間１１４−１、部分空間１１４−４、部分空間１１４−５、部分空間１１４−７、部分空間１１４−１１、部分空間１１４−１６
・立体物１１２の少なくとも一部を含まない：部分空間１１４−２、部分空間１１４−３、部分空間１１４−２０
【００７３】
そして、設定部４０５は、立体物１１２の少なくとも一部を含む部分空間１１４の各々について、設計対象の立体物１１２を所定割合以上含む部分空間１１４と、所定割合以上含まない部分空間１１４とに区別する。所定割合については、特に限定しないが、例えば、５０［％］とする。
【００７４】
図１５は、フラグの設定例を示す説明図である。図１５（１）にはフラグの設定結果を示し、図１５（２）には設定したフラグに基づいて作成された立体物１１５を示す。
【００７５】
図１５（１）に示すように、設定部４０５は、例えば、設計対象の立体物１１２を５０［％］以上含む部分空間１１４については形状フラグを設定する。また、設定部４０５は、例えば、設計対象の立体物１１２を５０［％］以上含まない部分空間１１４については削除フラグを設定する。
【００７６】
また、設定部４０５は、複数の部分空間１１４のうち、自部分空間１１４が削除フラグであり、かつ自部分空間１１４の直下の部分空間１１４がすべて削除フラグである部分空間１１４についてサポートフラグに設定する。または、設定部４０５は、複数の部分空間１１４のうち、自部分空間１１４が削除フラグであり、かつ自部分空間１１４の直下の部分空間１１４がない部分空間１１４についてサポートフラグに設定する。３Ｄプリンタ４００では、上から造形材料を落とす。そのため、図７に示すように、サポートフラグの位置には、造形時にサポート可能な物体を配置しないと空洞ができない。
【００７７】
つぎに、図１５（２）に示すように、第２生成部４０６は、複数の部分空間１１４のうち、設定したフラグが、形状があることを示す部分空間１１４に、部分空間１１４の形状の立体物を配置して組み合わせた立体物１１５を示す造形データ１０３を生成する。第２生成部４０６は、例えば、複数の部分空間１１４のうち、設定したフラグが、形状があることを示す部分空間１１４に、部分空間１１４の形状の立体物を配置する。
【００７８】
図１６は、各形状の立体物が結合された立体物を示す説明図である。第２生成部４０６は、例えば、配置された部分空間の形状の立体物を結合した立体物１１５を示す造形データ１０３を生成する。第２生成部４０６は、生成された造形データ１０３を記憶部４１１に格納する。造形データ１０３のデータ形式は、３Ｄデータ１０１と同様であるため、詳細な説明を省略する。
【００７９】
表示部４０７は、記憶部４１１に記憶された造形データ１０３が示す立体物を表示する。表示部４０７は、例えば、造形データ１０３が示す立体物１１５を、３Ｄプリンタ４００によって造形したときの形状を予測したものを示す情報を付加してディスプレイ３０９に表示する。
【００８０】
図１７は、表示例を示す説明図である。表示部４０７は、３Ｄデータ１０１が示す立体物１１２と造形データ１０３が示す立体物１１５とのいずれかを利用者の指定により表示してもよい。図１７の例では、左側には３Ｄデータ１０１が示す立体物１１２をディスプレイ３０９に表示する例を示し、右側には造形データ１０３が示す立体物１１５をディスプレイ３０９に表示する例を示す。
【００８１】
また、表示部４０７は、３Ｄデータ１０１が示す立体物１１２と造形データ１０３が示す立体物１１５との両方を並べてディスプレイ３０９に表示してもよい。
【００８２】
（情報処理装置１００による造形データ作成処理手順例）
図１８〜図２０は、情報処理装置による造形データ作成処理手順例を示すフローチャートである。情報処理装置１００は、３Ｄデータ１０１と３Ｄプリンタ４００の指定を受け付ける（ステップＳ１８０１）。つぎに、情報処理装置１００は、指定された３Ｄデータ１０１を取得する（ステップＳ１８０２）。ここでは、情報処理装置１００は、例えば、記憶部４１１から３Ｄデータ１０１を読み出すことにより３Ｄデータ１０１を取得する。
【００８３】
情報処理装置１００は、形状認識精度を取得する（ステップＳ１８０３）。つぎに、情報処理装置１００は、造形精度を取得する（ステップＳ１８０４）。ここでは、情報処理装置１００は、例えば、形状認識精度と造形精度とを指定された３Ｄプリンタ４００から取得してもよい。または、情報処理装置１００は、例えば、予め３Ｄプリンタ４００の種類ごとに形状認識精度と造形精度とを含むテーブルから指定された３Ｄプリンタ４００に基づいて形状認識精度と造形精度とを取得してもよい。
【００８４】
つぎに、情報処理装置１００は、３Ｄデータ１０１を修正するか否かを判断する（ステップＳ１８０５）。修正するか否かは、例えば、キーボード３０７やマウス３０８などの利用者の操作によって指定されてもよい。修正しないと判断された場合（ステップＳ１８０５：Ｎｏ）、情報処理装置１００は、ステップＳ１８１０へ移行する。
【００８５】
一方、修正すると判断された場合（ステップＳ１８０５：Ｙｅｓ）、情報処理装置１００は、３Ｄデータ１０１が示す立体物１１２の面のエッジが隣接する頂点の最大距離を算出する（ステップＳ１８０６）。ここでの３Ｄデータ１０１が示す立体物１１２の面は、未確認の面の中から選択された面である。情報処理装置１００は、最大距離が形状認識精度を超えるか否かを判断する（ステップＳ１８０７）。最大距離が形状認識精度を超えないと判断された場合（ステップＳ１８０７：Ｎｏ）、情報処理装置１００は、ステップＳ１８０９へ移行する。一方、最大距離が形状認識精度を超えると判断された場合（ステップＳ１８０７：Ｙｅｓ）、情報処理装置１００は、頂点間の距離が形状認識精度の最大値になるように頂点座標を補正する（ステップＳ１８０８）。
【００８６】
そして、情報処理装置１００は、面を全て確認したか否かを判断する（ステップＳ１８０９）。いずれかの面を確認していないと判断された場合（ステップＳ１８０９：Ｎｏ）、情報処理装置１００は、ステップＳ１８０６へ戻る。
【００８７】
面を全て確認したと判断された場合（ステップＳ１８０９：Ｙｅｓ）、情報処理装置１００は、シミュレーション空間１１１において、３Ｄデータ１０１が示す立体物１１２を３Ｄプリンタ４００の造形可能空間に配置する（ステップＳ１８１０）。つぎに、情報処理装置１００は、３Ｄデータ１０１が示す立体物１１２の造形開始位置の座標を抽出する（ステップＳ１８１１）。
【００８８】
情報処理装置１００は、造形精度に基づいて、抽出した造形開始位置が造形可能位置であるか否かを判断する（ステップＳ１８１２）。ここで、造形可能位置であるか否かは、軸の各々について確認してもよい。造形可能位置であると判断された場合（ステップＳ１８１２：Ｙｅｓ）、情報処理装置１００は、ステップＳ１９０１へ移行する。造形可能位置でないと判断された場合（ステップＳ１８１２：Ｎｏ）、情報処理装置１００は、造形精度に基づいて、３Ｄデータ１０１が示す立体物１１２の位置を補正し（ステップＳ１８１３）、ステップＳ１９０１へ移行する。
【００８９】
つぎに、情報処理装置１００は、最小造形距離の直方体形状の立体物を３Ｄデータ１０１が示す立体物１１２の最大外形を全て覆うように配置する（ステップＳ１９０１）。これにより、部分空間データが生成される。情報処理装置１００は、直方体を配置した位置に３Ｄデータ１０１が示す立体物１１２が一部でもあるか否かを判断する（ステップＳ１９０２）。一部もないと判断された場合（ステップＳ１９０２：Ｎｏ）、情報処理装置１００は、ステップＳ１９０７へ移行する。
【００９０】
一方、一部でもあると判断された場合（ステップＳ１９０２：Ｙｅｓ）、情報処理装置１００は、５０［％］以上形状が重複するか否かを判断する（ステップＳ１９０３）。５０［％］以上形状が重複すると判断された場合（ステップＳ１９０３：Ｙｅｓ）、情報処理装置１００は、形状フラグを設定する（ステップＳ１９０４）。
【００９１】
そして、情報処理装置１００は、ＸＹ軸方向の同一座標でＺ軸方向が１つ下の直方体に削除フラグがあるか否かを判断する（ステップＳ１９０５）。削除フラグがあると判断された場合（ステップＳ１９０５：Ｙｅｓ）、情報処理装置１００は、ＸＹ軸方向の同一座標でＺ軸方向が１つ下の直方体から連続して削除フラグが設定されている直方体のフラグを全てサポートフラグに変更し（ステップＳ１９０６）、ステップＳ１９０８へ移行する。削除フラグがないと判断された場合（ステップＳ１９０５：Ｎｏ）、情報処理装置１００は、ステップＳ１９０８へ移行する。
【００９２】
ステップＳ１９０３において、５０［％］以上形状が重複しないと判断された場合（ステップＳ１９０３：Ｎｏ）、情報処理装置１００は、削除フラグを設定し（ステップＳ１９０７）、ステップＳ１９０８へ移行する。
【００９３】
つぎに、情報処理装置１００は、全ての直方体にフラグを設定したか否かを判断する（ステップＳ１９０８）。全ての直方体にフラグを設定していないと判断された場合（ステップＳ１９０８：Ｎｏ）、情報処理装置１００は、ステップＳ１９０２へ戻る。全ての直方体にフラグを設定したと判断された場合（ステップＳ１９０８：Ｙｅｓ）、情報処理装置１００は、ステップＳ２００１へ移行する。
【００９４】
つぎに、情報処理装置１００は、直方体のフラグを確認する（ステップＳ２００１）。ここでの直方体は、未確認の直方体から選択された直方体である。情報処理装置１００は、形状フラグであるか否かを判断する（ステップＳ２００２）。形状フラグであると判断された場合（ステップＳ２００２：Ｙｅｓ）、情報処理装置１００は、直方体の位置に直方体の３Ｄ形状を作成し（ステップＳ２００３）、ステップＳ２００４へ移行する。なお、ステップＳ２００３の後に、情報処理装置１００は、ステップＳ２００８へ移行してもよい。
【００９５】
一方、形状フラグでないと判断された場合（ステップＳ２００２：Ｎｏ）、情報処理装置１００は、削除フラグであるか否かを判断する（ステップＳ２００４）。削除フラグでないと判断された場合（ステップＳ２００４：Ｎｏ）、情報処理装置１００は、ステップＳ２００６へ移行する。削除フラグであると判断された場合（ステップＳ２００４：Ｙｅｓ）、情報処理装置１００は、何もしない（ステップＳ２００５）。ここでの何もしないとは、情報処理装置１００が形状を作成しないことである。
【００９６】
つぎに、情報処理装置１００は、サポートフラグであるか否かを判断する（ステップＳ２００６）。サポートフラグでないと判断された場合（ステップＳ２００６：Ｎｏ）、情報処理装置１００は、ステップＳ２００８へ移行する。サポートフラグであると判断された場合（ステップＳ２００６：Ｙｅｓ）、情報処理装置１００は、直方体の位置に直方体のサポート形状を作成する（ステップＳ２００７）。
【００９７】
情報処理装置１００は、全てのフラグを確認したか否かを判断する（ステップＳ２００８）。いずれかのフラグを確認していないと判断された場合（ステップＳ２００８：Ｎｏ）、情報処理装置１００は、ステップＳ２００１へ戻る。全てのフラグを確認したと判断された場合（ステップＳ２００８：Ｙｅｓ）、情報処理装置１００は、全ての直方体の形状を結合した立体物１１５を示す造形データ１０３を生成する（ステップＳ２００９）。
【００９８】
情報処理装置１００は、３Ｄプリンタ４００によって造形したときの造形データ１０３が示す立体物１１５をディスプレイ３０９などの表示装置で表示する（ステップＳ２０１０）。情報処理装置１００は、造形するか否かを判断する（ステップＳ２０１１）。造形するか否かは、キーボード３０７やマウス３０８などの利用者の操作によって指定されてもよい。そこで、情報処理装置１００は、ステップＳ２０１０において造形データ１０３が示す立体物１１５を表示する際に、造形するか否かの判断を入力させる指示を表示してもよい。
【００９９】
造形しないと判断された場合（ステップＳ２０１１：Ｎｏ）、情報処理装置１００は、一連の処理を終了する。一方、造形すると判断された場合（ステップＳ２０１１：Ｙｅｓ）、情報処理装置１００は、造形データ１０３を３Ｄプリンタ４００へ出力し（ステップＳ２０１２）、一連の処理を終了する。
【０１００】
以上説明したように、情報処理装置１００は、立体物と該立体物を囲う空間を造形性能で区切った部分空間との重なり度合いにより部分空間の位置に部分空間の形状の立体物を配置して組み合わせた立体物を示す造形データを生成する。これにより、実際の造形前に造形結果を把握できる。このため、造形のやり直しなどの発生を抑制することができ、造形材料や造形時間などのコストの低廉化を図ることができる。
【０１０１】
また、造形性能は３次元プリンタによって造形可能な最小造形距離である。これにより、実際の造形前に造形結果をより精度よく再現することができる。
【０１０２】
また、情報処理装置１００は、ある部分空間の直下である部分空間に設定したフラグが立体部の形状がないことを示す場合、直下である部分空間に、形状の有無と異なることを示すフラグを設定する。これにより、サポートしなければならない部分であることを再現することができる。
【０１０３】
また、情報処理装置１００は、３次元データが示す立体物の造形時に最も下になる位置から上になる位置の順に設定する。これにより、サポートしなければならない部分についてより精度よく再現することができる。
【０１０４】
また、情報処理装置１００は、面のエッジの頂点と、当該エッジに最も近い面のエッジの頂点と、の間の距離が許容範囲に収まるように頂点の位置を補正する。これにより、形状が壊れるなどの意図しない形状で造形されることの抑制を図ることができる。
【０１０５】
また、シミュレーション空間において設計データが示す立体物は、３次元プリンタの基準位置に基づく位置に配置される。これにより、造形を開始する位置には、確実に造形できる形状があることになる。
【０１０６】
なお、本実施の形態で説明した造形データ作成方法は、予め用意された造形データ作成プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本造形データ作成プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、造形データ作成プログラムは、インターネット等のネットワーク３１０を介して配布してもよい。
【符号の説明】
【０１０７】
１００  情報処理装置
１０１  ３Ｄデータ
１０２  部分空間データ
１０３  造形データ
１１１  シミュレーション空間
１１２，１１５  立体物
１１３  空間
１１４  部分空間
３０９  ディスプレイ
４００  ３Ｄプリンタ
４０１  取得部
４０２  第１補正部
４０３  第２補正部
４０４  第１生成部
４０５  設定部
４０６  第２生成部
４０７  表示部
４１１  記憶部
１２００  造形テーブル
【図１】
2016137663.tif 000003
【図２】
2016137663.tif 000004
【図３】
2016137663.tif 000005
【図４】
2016137663.tif 000006
【図５Ａ】
2016137663.tif 000007
【図５Ｂ】
2016137663.tif 000008
【図６】
2016137663.tif 000009
【図７】
2016137663.tif 000010
【図８】
2016137663.tif 000011
【図９】
2016137663.tif 000012
【図１０】
2016137663.tif 000013
【図１１】
2016137663.tif 000014
【図１２】
2016137663.tif 000015
【図１３】
2016137663.tif 000016
【図１４】
2016137663.tif 000017
【図１５】
2016137663.tif 000018
【図１６】
2016137663.tif 000019
【図１７】
2016137663.tif 000020
【図１８】
2016137663.tif 000021
【図１９】
2016137663.tif 000022
【図２０】
2016137663.tif 000023