【文献】
LANGELAAR, Matthijs,An additive manufacturing filter for topology optimization of print-ready designs,Structural and Multidisciplinary Optimization,Splinger,2017年 3月,Volume55, Issue3,pp871-883
(58)【調査した分野】(Int.Cl.,DB名)
前記ステップ(j3)では、前記第1面積と前記第2面積との差を算出し、当該差を前記第1面積で除して前記失敗係数を得ることを特徴とする請求項9に記載の3D印刷に用いられる印刷層の設計支援方法。
前記失敗値は、3Dプリンタの印刷材料の特性又は現在の前記印刷層に対応する層数の値であることを特徴とする請求項9に記載の3D印刷に用いられる印刷層の設計支援方法。
【発明を実施するための形態】
【0010】
以下、本発明の目的、実施方式及び効果をより理解するために、具体的な実施形態と添付の図面を組み合わせて本発明に係る技術内容を詳細に説明するが、本発明の特許請求の範囲は限定されない。
【0011】
図1は、本発明の第1の実施形態に係る3D印刷システムを示す構造図である。同図に示すように、本発明には、3Dソリッドモデルに対応する多層印刷層の設計を支援することが可能な3D印刷システム1が開示される。上述した多層印刷層は、3Dソリッドモデルを作成するために3D印刷に用いられることが可能である。3D印刷システム1は、コンピュータ設備2(デスクトップコンピュータ、ノートブックコンピュータ、クラウドサーバ、又はスマートフォンなど)にインストールされる編集ソフトウェア250と、3Dプリンタ3とを主に含む。
【0012】
一実施形態では、コンピュータ設備2は、入力装置21(例えば、ボタン、マウス、キーボード、タッチパッド又は他の入力装置)と、ディスプレイ22と、出力装置23(例えば、スピーカ、インジケータ、ブザー又は他の出力装置)と、接続装置24(例えば、USBモジュール、Wi−Fi(登録商標)モジュール又は他の有線/無線接続モジュール)と、メモリ25と、これらに電気的に接続されるプロセッサ20とを含んでもよい。
【0013】
編集ソフトウェア250は、コンピュータ設備2のメモリ25に記憶される。メモリ25は、コンピュータ読み取り可能な非一時的な記録媒体である。編集ソフトウェア250には、コンピュータ実行可能なコードが記録される。プロセッサ20は、編集ソフトウェア250を実行した後、後述する設計支援ステップを実行するようにコンピュータ設備2の各装置を制御してもよい。
【0014】
一実施形態では、入力装置21及びディスプレイ22は、タッチスクリーンとして統合されてもよい。
【0015】
3Dプリンタ3(例えば、光造形方式の3Dプリンタ又は熱溶解積層方式の3Dプリンタ)は、3D印刷モジュール31と、接続モジュール32と、記憶モジュール33と、これらのモジュールに電気的に接続される制御モジュール30とを含んでもよい。
【0016】
3D印刷モジュール31は、制御モジュール30による3D印刷を実行して3Dソリッドモデルを作成するために用いられる。接続モジュール32(例えば、USBモジュール、Wi−Fiモジュール、又は他の有線/無線接続モジュール)は、データ(例えば、後述する印刷データ)を受信するために外部装置(例えば、コンピュータ設備2の接続装置24)に接続される。記憶モジュール33は、例えば、印刷ソフトウェア330(印刷ソフトウェア330は、3Dプリンタ3のファームウェア又はオペレーティングシステムであるが、これに限定されず)などのデータを記憶するために用いられる。制御モジュール30は、3Dプリンタ3を制御するために用いられる。
【0017】
一実施形態では、記憶モジュール33は、コンピュータ読み取り可能な非一時的な記録媒体である。印刷ソフトウェア330には、コンピュータ実行可能なコードが記録される。制御モジュール30は、印刷ソフトウェア330を実行した後、接続モジュール32を介して印刷データを受信するか、又は記憶モジュール33から印刷データを読み取り、印刷データに基づいて後述する印刷ステップを実行するように、3D印刷モジュール31を制御してもよい。
【0018】
図2は、本発明の第2の実施形態に係る3D印刷システムを示す構造図である。同図を併せて参照する。この実施形態では、コンピュータ設備2及び3Dプリンタ3は、単一の設備に統合されてもよい。
【0019】
コンピュータ設備2を3Dプリンタ3に統合したものを例に説明すると、図に示すように、統合された3Dプリンタ3では、コンピュータ設備2の入力装置21、出力装置23、及びディスプレイ22は、内部配線を介して3Dプリンタ3の制御モジュール30に接続される。これにより、接続モジュール32及び接続装置24を省くことができる。また、統合された3Dプリンタ3は、制御モジュール30により制御され、記憶モジュール33を用いてデータを記憶する。これにより、プロセッサ20及びメモリ25を省くことができる。(即ち、編集ソフトウェア250は、記憶モジュール33に記憶されてもよい)。
【0020】
本発明は、コンピュータ設備2と3Dプリンタ3とを単一の装置に統合することにより、3D印刷システム1の体積を効果的に削減することができる。
【0021】
図3は、本発明の第1の実施形態に係る印刷層の設計支援方法を示すフローチャートである。同図を併せて参照する。
【0022】
本発明の各実施形態の3D印刷に用いられる印刷層の設計支援方法(以下、設計支援方法と称する)は、
図1〜
図2に示すいずれかの3D印刷システム1によって実現することができる。プロセッサ20(
図1に示す)又は制御モジュール30(
図2に示す)は、編集ソフトウェア250を実行した後、本発明の各実施形態の設計支援方法の各ステップを実行することができる(以下、
図1に示す3D印刷システム1を例に挙げて説明する)。
【0023】
本発明の設計支援方法は、グラフィカルユーザインタフェースを提供して、ユーザが3Dソリッドモデルの複数の印刷層を手動で編集して各印刷層の印刷範囲を決定し(即ち、3Dソリッドモデルの各層の形状を決定する)、決定された各印刷範囲に基づいて対応するオブジェクト印刷データを生成する。
【0024】
また、本発明の設計支援方法は、各印刷層の編集過程において、ユーザに各印刷層の編集領域を提示することができる。ユーザにより決定された印刷範囲が編集領域内にある場合には、生成されたオブジェクト印刷データに基づいて3D印刷を行うと、印刷の成功確率が高くなる。本実施形態の3D印刷方法は、以下のステップを含む。
【0025】
ステップS10:プロセッサ20は、一群のグラフィカルユーザインタフェースをレンダリング(render)し、ディスプレイ22を介して生成されたグラフィカルユーザインタフェースを表示する。
【0026】
一実施形態では、上述したグラフィカルユーザインタフェースは、複数のブロック(ブロックの数又はサイズは、3Dプリンタ3の印刷解像度又は使用される印刷材料の材料特性に応じて調整可能である)を含んでもよく、ディスプレイ22を介してレンダリングされたグラフィカルユーザインタフェースを表示する(
図11A〜
図11Dに示す)。
【0027】
ステップS11:プロセッサ20は、多層の印刷層のうちの1層を順次選択する(例えば、第1層の印刷層を選択する)。
【0028】
ステップS12:プロセッサ20は、グラフィカルユーザインタフェースにおいて選択された印刷層の編集領域を計画し、計画された編集領域をマークする。
【0029】
一実施形態では、プロセッサ20は、3D印刷モジュール31の印刷可能範囲、使用される印刷材料の付着力、現在の印刷層の層数、及び/又は他の印刷層(例えば、前の層又は底層)によって設定された印刷ブロックの範囲に基づいて、現在の印刷層の編集領域を計画してマークする(例えば、特定の色又はテクスチャでマークする)。
【0030】
一実施形態では、各印刷層は、複数のブランクブロックを含む。プロセッサ20は、1つ又は複数のブランクブロックを編集領域に加えて1つ又は複数の編集ブロックとすることで、上述した編集領域の計画を完了する。
【0031】
ステップS13:プロセッサ20は、入力装置21を介してユーザによる編集操作を受け付け、編集操作に応じて計画された編集領域に1つ又は複数の編集ブロックを選択し、選択した編集ブロックを印刷ブロックとして設定する。
【0032】
一実施形態では、上述した編集操作は、ユーザが入力装置21を介して編集領域に1つ又は複数の編集ブロックを選択することである。
【0033】
一実施形態では、プロセッサ20は、ユーザが編集領域外のブランクブロックを選択したことを検出すると、ディスプレイ22又は出力装置23を介して警告を発して、ユーザに現在選択されているブロックの対応する印刷範囲による印刷失敗の可能性が高いことを注意し、さらに、編集領域内の編集ブロックを再選択することをユーザに示唆してもよい。
【0034】
一実施形態では、プロセッサ20は、ユーザが編集領域外のブランクブロックを選択することを直接禁止してもよい。
【0035】
ステップS14:プロセッサ20は、選択された1つ又は複数の印刷ブロックに基づいて、1層のオブジェクト印刷データを生成する(例えば、第1層のオブジェクト印刷データを生成する)。
【0036】
一実施形態では、プロセッサ20は、選択された1つ以上の印刷ブロックに基づいて、現在の印刷層の印刷範囲を決定し、1層のオブジェクト印刷データを生成する。
【0037】
一実施形態では、3Dプリンタ3が熱溶解積層方式の3Dプリンタである場合、3D印刷モジュール31は、成形ノズルを含んでもよい。各層のオブジェクト印刷データは、印刷経路を記述するために用いられる。成形ノズルは、各層のオブジェクト印刷データの印刷経路に基づいて印刷すると、1層の印刷層の印刷を完了する。
【0038】
一実施形態では、3Dプリンタ3が光造形方式の3Dプリンタである場合、3D印刷モジュール31は、光源モジュールを含んでもよい。各層のオブジェクト印刷データは、2D画像を記述するために用いられる。光源モジュールは、各層のオブジェクト印刷データの2D画像に基づいて光硬化性材料を照射すると、1層の印刷層の印刷を完了する。
【0039】
ステップS15:プロセッサ20は、全ての印刷層の設計が完了したか否かを判断する。
【0040】
一実施形態では、プロセッサ20は、グラフィカルユーザインタフェースに「設計完了」ボタン及び「1層」ボタンを表示してもよい。
【0041】
プロセッサ20は、ユーザが「設計完了」ボタンをクリックすると、全ての印刷層の設計が完了したと判断する。プロセッサ20は、ユーザが「次の層」ボタンをクリックすると、全ての印刷層の設計が完了していないと判断する。
【0042】
一実施形態では、プロセッサ20は、設計が完了した印刷層の層数が予め設定された層数(例えば100層)に適合するか否かを判断する。設計が完了した印刷層の層数が予め設定された層数に適合する場合には、全ての印刷層の設計が完了したと判断する一方、設計が完了した印刷層の層数が予め設定された層数に適合しない場合には、全ての印刷層の設計が完了していないと判断する。
【0043】
プロセッサ20は、全ての印刷層の設計が完了したと判断した場合、設計支援方法を終了する。
【0044】
プロセッサ20は、いずれかの印刷層の設計が完了していないと判断した場合、ステップS11〜S14を再度実行して、他の印刷層を選択してその印刷層の設計を行う。例えば、第2層の印刷層を選択した場合、第2層の印刷層の編集領域を計画してマークし、編集操作を受け付けてその編集操作に応じて、第2層の印刷層の編集領域における一部の印刷ブロックを選択し、選択された印刷ブロックに基づいて第2層のオブジェクト印刷データを生成する。
【0045】
このようにして、本発明は、ユーザによる3Dソリッドモデルに対応する多層印刷層の設計を効果的に支援することができる。また、本発明による生成された多層オブジェクト印刷データに基づいて3D印刷を行うと、3Dソリッドモデルの印刷失敗の確率を低減することができる。
【0046】
図3及び
図4を併せて参照する。
図4は、本発明の第2の実施形態に係る印刷層の設計支援方法の一部を示すフローチャートである。本実施形態の設計支援方法のステップS12は、
図3に示す設計支援方法と比較して、以下のステップを含む。
【0047】
ステップS20:プロセッサ20は、現在選択されている印刷層が底層(即ち、第1層)であるか否かを判断する。
【0048】
プロセッサ20は、選択された印刷層が底層であると判断した場合、ステップS21を実行する。そうでない場合、プロセッサ20は、ステップS22を実行する。
【0049】
ステップS21:プロセッサ20は、現在の印刷層の全てのブランクブロックを編集領域に加える。
【0050】
具体的には、現在の印刷層が底層である場合、全てのブランクブロックの対応する位置が3D印刷過程において3Dプリンタ3の成形ステージ(図示せず)と直接接触するので、十分な支持力を得て倒壊しない。したがって、プロセッサ20は、現在の印刷層が底層である場合、全てのブランクブロックを編集ブロックとして編集領域に直接加えることができる。
【0051】
ステップS22:プロセッサ20は、選択された印刷層が底層でない場合(例えば、第2層以上)、他の印刷層(例えば、前の層又は底層)の印刷ブロックの位置に基づいて、現在の印刷層の1つ又は複数のブランクブロックを編集ブロックとして編集領域に加えることができる。
【0052】
一実施形態において、上述した他の印刷層は、現在の印刷層の下方に位置する(即ち、印刷過程において他の印刷層が現在の印刷層を支持するために用いられる)。
【0053】
具体的には、現在の印刷層が底層でない場合、3D印刷過程において現在の印刷層に含まれる全てのブロックの対応する位置が浮いた状態なので、十分な支持力を得られずに倒壊する可能性がある。そのため、プロセッサ20は、現在の印刷層が底層でない場合、下方の他の印刷層の印刷ブロックの位置又は分布に基づいて、3D印刷過程において十分な支持力を得られるブランクブロックを選択して編集ブロックとして設定する(即ち、編集領域に加える)。
【0054】
ステップS23:プロセッサ20は、編集領域をマークする(即ち、全ての編集ブロックをマークする)。
【0055】
図3及び
図5を併せて参照する。
図5は、本発明の第3の実施形態に係る印刷層の設計支援方法の一部を示すフローチャートである。本実施形態の設計支援方法のステップS22は、
図3及び
図4に示す設計支援方法と比較して、以下のステップを含む。
【0056】
ステップS30:プロセッサ20は、臨界距離(例えば、3)を取得する。
【0057】
一実施形態では、上述した臨界距離は、印刷材料の特性(例えば、付着性)及び/又は現在の印刷層の層数によって決定される。
【0058】
ステップS31:プロセッサ20は、現在の印刷層の複数のブランクブロックのうち1つを選択する。
【0059】
ステップS32:プロセッサ20は、現在の印刷層のブランクブロックの位置が、他の印刷層(例えば、底層又は前の層)のいずれかの印刷ブロックの位置と重なるか否かを判断する。即ち、選択されたブランクブロックは、3D印刷の行う過程において他の印刷層のいずれかの印刷ブロックによって直接的又は間接的に支持可能であるか、又は浮いた状態である(即ち、直接又は間接的な支持が得られない)を判断する。
【0060】
プロセッサ20は、選択されたブランクブロックの位置が他の印刷層の印刷ブロックの位置と重なると判断した場合、ステップS33を実行する。そうでない場合、プロセッサ20は、ステップS34を実行する。
【0061】
ステップS33:プロセッサ20は、選択されたブランクブロックを編集領域に加えて、このブランクブロックを編集ブロックとして設定する(即ち、ユーザはこのブロックを選択することができる)。
【0062】
ステップS32において、プロセッサ20は、選択されたブランクブロックの位置が他の印刷層の全ての印刷ブロックの位置と重ならないと判断した場合、ステップS34を実行する。プロセッサ20は、選択されたブランクブロックと他の印刷層の1つ又は複数の印刷ブロックとの間のオフセット距離を算出する。
【0063】
一実施形態では、他の印刷層は、複数の印刷ブロックを含む。プロセッサ20は、現在の印刷層の選択されたブランクブロックと他の印刷層の各印刷ブロックとの間の水平候補(candidate)距離をそれぞれ算出し、複数の水平候補距離のうち1つをオフセット距離として選択する(例えば、最小の水平候補距離を選択する)。
【0064】
一実施形態では、プロセッサ20は、上述した複数の水平候補距離の平均値をオフセット距離として算出してもよい。
【0065】
ステップS35:プロセッサ20は、算出されたオフセット距離が、取得された臨界距離以下であるか否かを判断する。
【0066】
プロセッサ20は、オフセット距離が臨界距離以下であると判断した場合、選択されたブランクブロックが3D印刷を行うときに十分な付着力を有するため、印刷失敗の確率が低いと判定して、ステップS36を実行する。そうでない場合、プロセッサ20は、選択された印刷ブロックが3D印刷を行うときに十分な付着力を有していない可能性があるため、印刷失敗の確率が高いと判定して、ステップS37を実行する。
【0067】
ステップS36:プロセッサ20は、選択されたブランクブロックを現在の印刷層の編集領域に加えて、このブランクブロックを編集ブロックとして設定する。即ち、ユーザは、現在の印刷層を設計するときにこのブロックを選択することができる。その後、ステップS38を実行する。
【0068】
ステップS37:プロセッサ20は、現在の印刷層のブランクブロックを制限領域に加えて、ブランクブロックを制限ブロックとして設定する。即ち、ユーザは、現在の印刷層を設計するときにこのブロックを選択できないか、又はコンピュータ設備2は、ユーザがこのブロックを選択すると警告を発する。その後、ステップS38を実行する。
【0069】
ステップS38:プロセッサ20は、現在の印刷層のいずれかのブランクブロックが編集領域又は制限領域に加えられていないか否かを判断する。
【0070】
プロセッサ20は、いずれかのブランクブロックが編集領域又は制限領域に加えられていないと判断した場合、ステップS30〜S37を再度実行して、このブランクブロックを編集領域又は制限領域に加える。そうでない場合、プロセッサ20は、ステップS23を実行する。
【0071】
このようにして、本発明は、重なり関係及びオフセット距離に基づいて編集領域を計画することにより、計画された編集領域の各編集ブロックが低い印刷失敗率を有することができる。
【0072】
図6は、本発明の第4の実施形態の安定係数評価機能を示すフローチャートである。同図を参照すると、本実施形態では、現在の印刷層と他の印刷層との間の安定係数をユーザによる設計の基準として算出することができる安定係数評価機能を提供する。具体的に、本実施形態の設計支援方法は、安定係数評価機能を実現するための以下のステップを含む。
【0073】
ステップS40:プロセッサ20は、ユーザにより現在の印刷層において選択された複数の印刷ブロックと、その下方の他の印刷層における複数の印刷ブロックとの間の重なる面積を取得する。
【0074】
一実施形態では、プロセッサ20は、上下に重なっている現在の印刷層の複数の印刷ブロックと、他の印刷層(例えば、底層又は前の層)の複数の印刷ブロックとの数量を算出して、その重なる数量を重なる面積とする。
【0075】
ステップS41:プロセッサ20は、ユーザにより現在の印刷層において選択された複数の印刷ブロックと、他の印刷層の複数の印刷ブロックとの間の重ならない面積を取得する。
【0076】
一実施形態では、プロセッサ20は、現在の印刷層の全ての印刷ブロックの数量から上述した上下に重なる印刷ブロックの数量を減算して、算出結果を重ならない面積とする。
【0077】
ステップS42:プロセッサ20は、重なる面積と重ならない面積に基づいて安定係数を算出する。
【0078】
一実施形態では、プロセッサ20は、重ならない面積を重なる面積で除算して、算出結果を安定係数とする。
【0079】
ステップS43:プロセッサ20は、安定係数が予め設定された安全値(例えば、2)を超えるか否かを判断する。
【0080】
一実施形態では、上述した安全値は、印刷材料の特性及び/又は現在の印刷層の層数値に基づいて決定されるものである。
【0081】
プロセッサ20は、安定係数が予め設定された安全値を超えたと判断した場合、ステップS44を実行する。そうでない場合、プロセッサ20は、今回の安定係数評価を終了する。
【0082】
ステップS44:プロセッサ20は、現在の印刷層の構造が不良であり、印刷失敗の可能性があることをユーザに注意するように、ディスプレイ22又は出力装置23を介して倒壊警告通知を発する。
【0083】
図7は、本発明の第5の実施形態の失敗係数評価機能を示すフローチャートである。同図を併せて参照すると、本実施形態では、現在の印刷層の失敗係数を算出することができる失敗係数評価機能を提供する。具体的に、本実施形態の設計支援方法は、失敗係数評価機能を実現するための以下のステップを含む。
【0084】
ステップS50:プロセッサ20は、ユーザにより下方の他の印刷層(例えば、底層又は前の層)において選択された複数の印刷ブロックの第1面積を取得する。
【0085】
一実施形態では、プロセッサ20は、他の印刷層内の全ての印刷ブロックの数量を第1面積とする。
【0086】
ステップS51:プロセッサ20は、ユーザにより現在の印刷層において選択された複数の印刷ブロックの第2面積を取得する。
【0087】
一実施形態では、プロセッサ20は、現在の印刷層の全ての印刷ブロックの数量を第2面積とする。
【0088】
ステップS52:プロセッサ20は、第1面積及び第2面積に基づいて失敗係数を算出する。
【0089】
一実施形態では、プロセッサ20は、第1面積と第2面積との差を算出し、その差を第1面積で除算して、算出結果を失敗係数とする。
【0090】
ステップS53:プロセッサ20は、失敗係数が予め設定された失敗値(例えば、150%)を超えるか否かを判断する。
【0091】
一実施形態では、上述した失敗値は、印刷材料の特性及び/又は現在の印刷層の層数値に基づいて決定されるものである。
【0092】
プロセッサ20は、失敗係数が失敗値を超えたと判断した場合、ステップS54を実行する。そうでない場合、プロセッサ20は、今回の失敗係数評価を終了する。
【0093】
ステップS54:プロセッサ20は、現在の印刷層構造が不良であり、印刷失敗の可能性があることをユーザに思い出させるディスプレイ22又は出力装置23を介して印刷失敗警告通知を発する。
【0094】
図8は、本発明の第6の実施形態に係る印刷層の設計支援方法を示すフローチャートである。同図を併せて参照する。本実施形態では、ユーザにより選択された各印刷層の各印刷ブロックの色を編集し、対応する1層のカラー印刷データを生成することができる色彩編集機能を提供する。また、3D印刷過程において、3D印刷モジュール31は、各層のカラー印刷データに基づいて印刷された3Dソリッドモデルの各層を着色し、カラーの3Dソリッドモデルを得てもよい。本実施形態の設計支援方法は、以下のステップを含む。
【0095】
ステップS60:プロセッサ20は、一群のグラフィカルユーザインタフェースをレンダリングし、ディスプレイ22を介して生成されたグラフィカルユーザインタフェースを表示する。
【0096】
ステップS61:プロセッサ20は、多層の印刷層のうちの1層を順次選択する(例えば、第1層の印刷層を選択する)。上述した各印刷層は、複数のブランクブロックを含む。
【0097】
ステップS62:プロセッサ20は、他の印刷層の印刷ブロックに基づいて、現在の印刷層の全部又は一部のブランクブロックを編集ブロックとして編集領域に加え、現在の印刷層の編集領域の計画を完了する。グラフィカルユーザインタフェースでは、計画された編集領域をマークする(即ち、全ての編集ブロックをマークする)。
【0098】
ステップS63:プロセッサ20は、入力装置21を介してユーザによる編集操作を受け付け、編集操作に応じて計画された編集領域内に1つ又は複数の編集ブロックを選択して、選択された編集ブロックを印刷ブロックとして設定する。
【0099】
ステップS64:プロセッサ20は、入力装置21を介してユーザの着色操作を受け付け、着色操作に応じてステップS63で設定された各印刷ブロックの色を設定する。
【0100】
ステップS65:プロセッサ20は、選択された印刷ブロックに基づいて1層のオブジェクト印刷データを生成し、各印刷ブロックの色に基づいて1層のカラー印刷データを生成する(例えば、第1層のオブジェクト印刷データ及び第1層のカラー印刷データを生成する)。
【0101】
ステップS66:プロセッサ20は、全ての印刷層の設計が完了するか否かを判断する。
【0102】
プロセッサ20は、全ての印刷層の設計が完了したと判断した場合、設計支援方法を終了する。プロセッサ20は、いずれかの印刷層の設計が完了していないと判断した場合、ステップS61〜S65を再度実行して、他の印刷層を選択してその印刷層の設計を行う。例えば、第2層の印刷層を選択した場合、第2層の印刷層の編集領域の1つ又は複数の編集ブロックを計画してマークし、編集操作を受け付けてその編集操作に応じて、第2層の印刷層の編集領域における全部又は一部の編集ブロックを印刷ブロックとして選択し、選択された各印刷ブロックの色を設定し、選択された印刷ブロックに基づいて第2層のオブジェクト印刷データ及び第2層のカラー印刷データを生成する。
【0103】
このようにして、本発明は、カラー編集機能を効果的に実現することができる。また、3Dプリンタ3は、本実施形態の多層オブジェクト印刷データ及び多層オブジェクト印刷データに基づいて3D印刷を行った後、カラーの3Dソリッドモデルを生成することができる。
【0104】
図9は、本発明の第7の実施形態に係る印刷層の設計支援方法を示すフローチャートである。同図を併せて参照する。本実施形態では、ユーザにより既存の3Dオブジェクトの各層のスライスオブジェクト(即ち、後述する各層のテンプレートデータ)を直接編集して既存の3Dオブジェクトを修正し、修正された3Dオブジェクトの多層オブジェクト印刷データを得ることができるテンプレート編集機能を提供する。具体的に、本実施形態の設計支援方法は、テンプレート編集機能を実現するための以下のステップを含む。
【0105】
ステップS70:プロセッサ20は、一群のグラフィカルユーザインタフェースをレンダリングし、ディスプレイ22を介して生成されたグラフィカルユーザインタフェースを表示する。
【0106】
ステップS72:プロセッサ20は、メモリ25から予め記憶された多層のテンプレートデータをロードする。上述した多層テンプレートデータは、1群の3Dオブジェクトに対応する。
【0107】
一実施形態では、各層のテンプレートデータは、対応する各層の印刷層の1つ又は複数の印刷ブロックを記述するものである。
【0108】
一実施形態では、プロセッサ20は、1群の3Dオブジェクトに対応する3Dオブジェクトデータをロードし、3Dオブジェクトデータのジオメトリ情報に基づいて切断処理を実行して、3Dオブジェクトを多層スライスオブジェクトに切断し、多層スライスオブジェクトに対応する多層テンプレート情報を生成する。上述した各層のテンプレートデータは、上述した各層のスライスオブジェクトの輪郭又は形状を記述するために用いられる。
【0109】
ステップS72:プロセッサ20は、多層の印刷層のうちの1層を順次選択する(例えば、第1層の印刷層を選択する)。
【0110】
ステップS73:プロセッサ20は、テンプレートデータに基づいて、グラフィカルユーザインタフェースにおいて選択された印刷層の編集領域を計画し、計画された編集領域をマークする。
【0111】
一実施形態では、選択された印刷層(即ち、現在の印刷層)が第1層である場合、プロセッサ20は、現在の印刷層の全てのブランクブロックを編集ブロックとして編集領域に加えてマークしてもよい。プロセッサ20は、現在の印刷層が第2層以上である場合、他の印刷層の印刷ブロックに基づいて現在の印刷層の編集領域を計画し、計画された編集領域をマークしてもよい。
【0112】
ステップS74:プロセッサ20は、ステップS72で選択した印刷層と同一層のテンプレートデータに基づいて、1つ又は複数の編集ブロックを印刷ブロックとして選択し、ディスプレイ22を介して選択された印刷ブロックを表示し、入力装置21を介してユーザによる編集操作を受け付け、編集操作に応じて、編集領域内に位置する他の編集ブロックを追加して印刷ブロックを増やすか、又はいずれかの印刷ブロックを選択解除して印刷ブロックを減らす。
【0113】
一実施形態では、プロセッサ20は、同一層のテンプレートデータの対応するスライスオブジェクトの輪郭又は形状に基づいて、現在の印刷層の編集領域において1つ又は複数の編集ブロックを印刷ブロックとして選択し、ディスプレイ22で印刷ブロックを表示する。
【0114】
ステップS75:プロセッサ20は、選択された印刷ブロックに基づいて1層のオブジェクト印刷データを生成する(例えば、第1層のオブジェクト印刷データを生成する)。
【0115】
ステップS76:プロセッサ20は、全ての印刷層の設計が完了したか否かを判断する。
【0116】
プロセッサ20は、全ての印刷層の設計が完了したと判断した場合、設計支援方法を終了する。プロセッサ20は、いずれかの印刷層の設計が完了していないと判断した場合、ステップS72〜S75を再度実行して、他の印刷層を選択して同一層のテンプレートデータに基づいてその印刷層の設計を行う。例えば、第2層の印刷層が選択された場合には、第2層の印刷層の編集領域を計画してマークし、第2層のテンプレートデータに基づいて、編集領域における一部の編集ブロックを印刷ブロックとして選択し、編集操作を受け付けて編集操作に応じて一部の印刷ブロックを増加又は取消し、選択された印刷ブロックに基づいて第2層のオブジェクト印刷データを生成する。
【0117】
本発明のテンプレート編集機能によれば、設計難易度を低減し、設計時間を短縮することができる。
【0118】
図10は、本発明の第8の実施形態の3D印刷を示すフローチャートである。同図を併せて参照する。本実施形態では、上述した印刷データ(例えば、オブジェクト印刷データやカラー印刷データ)に基づいて3D印刷を行い、対応する(カラー)3Dソリッドモデルを作成する3D印刷機能を提供する。具体的に、制御モジュール30は、印刷ソフトウェア330を実行した後、本実施形態の各印刷ステップを実行してもよい。本実施形態の設計支援方法は、3D印刷機能を実現するための以下のステップを含む。
【0119】
3Dプリンタ3の制御モジュール30は、3D印刷を開始する前に、まず、多層のオブジェクト印刷データ及び多層のカラー印刷データ(もしあれば)を、記憶モジュール33から読み取るか、又はコンピュータ設備2から受け取る。
【0120】
次に、制御モジュール30は、ステップS80を実行して、多層のオブジェクト印刷データのうちの1つを順に選択するとともに、同一層のカラー印刷データ(もしあれば)を選択する。例えば、第1層のオブジェクト印刷データ及びカラー印刷データを選択する。
【0121】
ステップS81:制御モジュール30は、選択されたオブジェクト印刷データに基づいて、3D印刷モジュール31を制御して1層のソリッドモデル(例えば、第1層のソリッドモデル)を印刷する。
【0122】
ステップS82:制御モジュール30は、選択されたカラー印刷データに基づいて、ステップS82で印刷されたソリッドモデルを着色する必要があるか否かを判断する。
【0123】
制御モジュール30は、印刷されたソリッドモデルを着色する必要があると判断した場合、ステップS84を実行する。そうでない場合、制御モジュール30は、ステップS84を実行する。
【0124】
ステップS83:制御モジュール30は、選択されたカラー印刷データに基づいて、印刷されたソリッドモデルを着色するように、3D印刷モジュール31を制御する。
【0125】
ステップS84:制御モジュール30は、3D印刷が完了したか否かを判断する。具体的に、制御モジュール30は、現在選択されている印刷データ(即ち、オブジェクト印刷データ又はカラー印刷データ)が最終層の印刷データであるか否かを判断する。
【0126】
現在選択されている印刷データが最終層の印刷データである場合には、全てのソリッドモデルが印刷及び着色(もし必要があれば)され、(カラー)3Dソリッドモデルに積み上げられたことを意味する。
【0127】
制御モジュール30は、印刷が完了したと判断した場合、3D印刷を終了する。そうでない場合、制御モジュール30は、ステップS80〜ステップS84を再度実行して、他の印刷材料を選択する。例えば、第2層のオブジェクト印刷データを選択し、第2層の印刷データに基づいて第2層のソリッドモデルを印刷するように、3D印刷モジュール31を制御する。着色する必要があると判断した場合、第2層のカラー印刷データに基づいて、第2層のソリッドモデルを着色するように、3D印刷モジュール31を制御する。
【0128】
これにより、本発明は、3Dソリッドモデルを効果的に作成することができる。
【0129】
図11A〜
図11Cを併せて参照する。
図11Aは、本発明の一実施形態に係る設計支援を示す第1の概略図である。
図11Bは、本発明の一実施形態に係る設計支援を示す第2の概略図である。
図11Cは、本発明の一実施形態に係る設計支援を示す第3の概略図である。
図11A〜
図11Cは、本発明の設計支援方法を例示的に説明するための図である。
【0130】
まず、
図11Aに示すように、コンピュータ設備2は、第1層の印刷層(底層)を選択し、第1層の印刷層の全てのブランクブロックB00〜B77を編集ブロックB00〜B77として編集領域に加える。また、コンピュータ設備2は、1回目の編集操作を受け付けて、1回目の編集操作に応じて編集領域において編集ブロックB32〜B33、B42〜B43を印刷ブロックB32〜B33、B42〜B43として選択する。さらに、コンピュータ設備2は、印刷ブロックB32〜B33、B42〜B43に基づいて、第1層のオブジェクト印刷データを生成する。
【0131】
次に、
図11Bに示すように、コンピュータ設備2は、第2層の印刷層を選択し、前の層(即ち、第1層)の印刷ブロックB32〜B33、B42〜B43、及び第1臨界距離(例えば、2)に基づいて、編集領域を決定する。この例では、コンピュータ設備2は、前の層の印刷ブロックB32〜B33、B42〜B43を外側に第1臨界距離広げて編集領域とする(即ち、ブロックB10〜B15、B20〜B25、B30〜B35、B40〜B45、B50〜B55、B60〜B65は編集領域であり、ブロックB00〜B07、B16〜B17、B26〜B27、B36〜B37、B46〜B47、B56〜B57、B66〜B67、B70〜B77は制限領域である)。
【0132】
そして、
図11Cに示すように、コンピュータ設備2は、2回目の編集操作を受け付けて、2回目の編集操作に応じて編集領域において編集ブロックB12〜B15、B22〜B25、B32〜B35、B42〜B45、B52〜B55、B62〜B65を印刷ブロックB12〜B15、B22〜B25、B32〜B35、B42〜B45、B52〜B55、B62〜B65として選択する。また、コンピュータ設備2は、印刷ブロックB12〜B15、B22〜B25、B32〜B35、B42〜B45、B52〜B55、B62〜B65に基づいて、第2層のオブジェクト印刷データを生成する。本発明は、上記のステップを繰り返すことにより、全ての層のオブジェクト印刷データを設計するときにユーザを支援することができる。
【0133】
図11A〜
図11Dを合わせて参照すると、
図11Dは、本発明の一実施形態に係る設計支援を示す第4の概略図である。一実施形態では、コンピュータ設備2は、2層以上の印刷層及び2つ以上の臨界距離に基づいて編集領域を計画してもよい。
【0134】
例えば、コンピュータ設備2は、底層及び前の層の印刷層及び2群の臨界距離(例えば、第1の臨界距離「2」及び第2の臨界距離「3」)に基づいて、編集領域を計画してもよい。
【0135】
図11Dに示すように、コンピュータ設備2は、第3層の印刷層を選択し、前の層(即ち、第2層)の印刷ブロックB12〜B15、B22〜B25、B32〜B35、B42〜B45、B52〜B55、B62〜B65を外側に第1臨界距離広げて第1編集領域を決定する(第1編集領域はブロックB00〜B77を含む)。
【0136】
次に、コンピュータ設備2は、底層の印刷ブロックB32〜B33、B42〜B43(第1層)を外側に第2臨界距離広げて第2編集領域を決定する(第2の編集領域は、ブロックB00〜B06、B10〜B16、B20〜B26、B30〜B36、B40〜B46、B50〜B56、B60〜B66、B70〜B76を含む)。
【0137】
最後に、コンピュータ設備2は、第1編集領域及び第2編集領域に対して交点演算を実行して、最終的な編集領域(即ち、ブロックB00〜B06、B10〜B16、B20〜B26、B30〜B36、B40〜B46、B50〜B56、B60〜B66、B70〜B76は編集領域であり、ブロックB07、B17、B27、B37、B47、B57、B67、B77は制限領域である)。
【0138】
本発明は、前の層の印刷層に基づいて各印刷層の編集領域を計画することにより、各印刷層の印刷ブロックが3D印刷処理中に十分な支持力を得て、印刷失敗の可能性を低減することを保証することができる。また、本発明は、底層の印刷層に基づいて各印刷層の編集領域を計画することにより、全ての印刷層が底層から過度にオフセットされずに、3Dソリッドモデルは印刷過程において重心が不安定になって倒壊しないように保証することができ、印刷失敗の可能性を低減することができる。
【0139】
勿論、本発明は、他の複数の実施形態を有してもよい。当業者が、この発明の要旨を逸脱しない範囲内で対応する変化又は付加はいずれも本願の特許請求の範囲に含まれるものである。