(57)【要約】【課題】本来の三次元形状データを破綻させない範囲で三次元形状データを編集することができる。【解決手段】三次元形状の編集装置１０は、三次元形状データで表される三次元形状の保護対象範囲及び編集可能範囲の少なくとも一方を設定し、編集可能範囲を編集する際に、保護対象範囲が編集されないように、編集可能範囲の編集を制御する制御条件を設定する。また、三次元形状の編集装置１０は、三次元位置情報で表される空間範囲を編集制御範囲として設定し、空間範囲の中に三次元形状が存在するような編集を禁止する制御条件又は空間範囲に三次元形状が存在するような編集を許可する制御条件を設定する。【選択図】図１
2018067289.tif 000002
【特許請求の範囲】
【請求項１】
三次元位置情報を含む三次元形状データで表される三次元形状の保護対象範囲及び編集可能範囲の少なくとも一方を編集制御範囲として設定する範囲設定手段と、
前記編集可能範囲を編集する際に、前記保護対象範囲が編集されないように、前記編集可能範囲の編集を制御する制御条件を設定する制御条件設定手段と、
を備え、
前記範囲設定手段は、前記三次元位置情報で表される空間範囲を前記編集制御範囲として設定し、
前記制御条件設定手段は、前記空間範囲の中に前記三次元形状が存在するような編集を禁止する制御条件又は前記空間範囲に前記三次元形状が存在するような編集を許可する制御条件を設定する
三次元形状データの編集装置。
【請求項２】
前記範囲設定手段は、前記三次元位置情報を用いて前記編集制御範囲を設定する
請求項１記載の三次元形状データの編集装置。
【請求項３】
前記範囲設定手段は、前記三次元位置情報で表される点、線、面、及び空間の少なくとも１つの情報を用いて前記編集制御範囲を設定する
請求項２記載の三次元形状データの編集装置。
【請求項４】
前記範囲設定手段は、前記点、線、面、及び空間の少なくとも１つの情報で表される三次元位置情報を用いて前記編集制御範囲を設定する際に、編集対象の三次元形状データとは異なる他の三次元形状データとして保持された情報を用いて前記編集制御範囲を設定する
請求項３記載の三次元形状データの編集装置。
【請求項５】
前記範囲設定手段は、前記三次元位置情報に付与される属性情報を用いて前記編集制御範囲を設定する
請求項１〜４の何れか１項に記載の三次元形状データの編集装置。
【請求項６】
前記範囲設定手段は、前記三次元位置情報に付与される色、強度、材料、及び質感の少なくとも１つの属性情報を用いて前記編集制御範囲を設定する
請求項１〜５の何れか１項に記載の三次元形状データの編集装置。
【請求項７】
前記範囲設定手段は、前記三次元位置情報に付与される周期、数式、及び他の三次元形状データの少なくとも１つの属性情報を用いて設定される属性パターンを用いて前記編集制御範囲を設定する
請求項１〜６の何れか１項に記載の三次元形状データの編集装置。
【請求項８】
前記制御条件設定手段は、前記三次元位置情報で表される点、線、面、及び空間の少なくとも１つの情報を用いて前記制御条件を設定する
請求項１〜７の何れか１項に記載の三次元形状データの編集装置。
【請求項９】
前記三次元形状データは、前記三次元形状を複数のボクセルの集合で表すボクセルデータであり、
前記制御条件設定手段は、前記ボクセルにより前記点、線、面、及び空間を表すことで前記制御条件を設定する
請求項８記載の三次元形状データの編集装置。
【請求項１０】
前記制御条件は、前記編集可能範囲に対する、変形、拡大、縮小、移動、回転、追加、削除、置換、及び合成の少なくとも１つの処理を制御する条件を含む
請求項１〜９の何れか１項に記載の三次元形状データの編集装置。
【請求項１１】
前記制御条件は、前記編集可能範囲に対する、属性の追加、削除、変更、置換、及び合成の少なくとも１つの処理を制御する条件を含む
請求項１〜１０の何れか１項に記載の三次元形状データの編集装置。
【請求項１２】
前記制御条件は、前記三次元形状の外側の予め定めた空間を前記保護対象範囲又は前記編集可能範囲とする条件を含む
請求項１〜１１の何れか１項に記載の三次元形状データの編集装置。
【請求項１３】
請求項１〜１２の何れか１項に記載の三次元形状データの編集装置によって編集された三次元形状データの前記制御条件に従って前記編集可能範囲を編集する編集手段
を備えた三次元形状データの編集装置。
【請求項１４】
前記編集手段は、前記編集可能範囲を編集する際に、前記保護対象範囲を含む範囲を編集しようとした場合、前記編集可能範囲に対してのみ、指示された編集を適用する
請求項１３記載の三次元形状データの編集装置。
【請求項１５】
コンピュータを、請求項１〜１４の何れか１項に記載の三次元形状作成データ編集装置の各手段として機能させるための三次元形状データの編集プログラム。
【請求項１６】
三次元位置情報を含む三次元形状データで表される三次元形状の保護対象範囲及び編集可能範囲の少なくとも一方を編集制御範囲として設定する範囲設定手段と、前記編集可能範囲を編集する際に、前記保護対象範囲が編集されないように、前記編集可能範囲の編集を制御する制御条件を設定する制御条件設定手段と、を備えた三次元形状データの編集装置に用いられる三次元形状データのデータ構造であって、
三次元形状を構成する複数のボクセルに関するボクセル情報と、
前記三次元形状の前記編集制御範囲を表す保護属性と、
前記三次元形状の編集を制御するための制御条件と、
を含み、
前記範囲設定手段が、記憶部から前記三次元形状データを読み込み、前記三次元位置情報で表される空間範囲を前記編集制御範囲として設定し、前記制御条件設定手段が、前記空間範囲の中に前記三次元形状が存在するような編集を禁止する制御条件又は前記空間範囲に前記三次元形状が存在するような編集を許可する制御条件を設定した前記三次元形状データを前記記憶部に記憶させる処理に用いられる
三次元形状データのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元形状データの編集装置、三次元形状データの編集プログラム、及び三次元形状データのデータ構造に関する。
【背景技術】
【０００２】
特許文献１には、他の図形物体とともに表示された図形物体を変形させるためのシステムにおいて、図形物体を体積要素を伴う体積のある物体として特徴づけるためのコンピュータを含む手段と、前記の体積要素のうちの選ばれた１つを選択して動かすために前記コンピュータに結合されているユーザーインターフェースと、前記ユーザーインターフェースに応答して、前記ユーザーインターフェースにより指定された量だけ前記の選択された体積要素を運動させ、その運動の結果として前記図形物体を変形させるための図形物体変形手段と、前記図形物体の変形時に図形物体同士の衝突を検出して防止するための手段と、要素同士の相対的位置をその弾力性に基づいて弛緩させるための弛緩手段と、前記弛緩手段の出力に結合されて、前記の体積のある図形物体を動かし、変形させ、弛緩させた結果を再現するためのディスプレイを含む手段とから成ることを特徴とする図形物体を迅速に変形させるためのシステムが開示されている。
【０００３】
特許文献２には、３次元空間にあるソリッドモデルを記述する形状データを記憶装置に保持して利用するための情報処理システムにおける立体形状記述方法であり、前記情報処理システムは、形状処理装置、記憶装置、操作装置及び表示装置を備えており、前記形状処理装置は、予め定義された前記３次元空間に対する固定座標系を、前記表示装置に表示するステップと、１つの前記ソリッドモデルを記述する第一の形状データを受け取り、前記表示装置に表示された固定座標系上において該ソリッドモデルに対して単数または複数の浮動座標系の領域と分解能の定義を受け付けるステップと、前記浮動座標系の領域と分解能の定義から、前記固定座標系に対する前記浮動座標系の相対的な位置関係を代数的に演算し、前記浮動座標系によって定義される格子点が形状の内・外のいずれであるかを規定する３次元セル配列を定義するステップと、前記浮動座標系と前記３次元セル配列の対応を記述して前記ソリッドモデルを記述する第二の形状データを生成するステップと、生成された前記ソリッドモデルの第二の形状データを前記記憶装置に保持するステップとを実行することを特徴とする立体形状記述方法が開示されている。
【０００４】
特許文献３及び特許文献４には、ボクセルデータに色や材料等を定義して三次元形状を作製する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２０８０７８号公報
【特許文献２】特許第３５１２４０６号公報
【特許文献３】米国特許出願公開第２０１４／３２４２０４号明細書
【特許文献４】米国特許出願公開第２０１５／２５８７７０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、３Ｄプリンタの普及により、デジタルデータから直接的に生産を行う最終製品のダイレクトデジタルマニュファクチャリング（ＤＤＭ）が盛んに行われるようになることが予想されている。ＤＤＭでは少量多品種製造が可能となるため、ユーザーは大量生産品では無い、オリジナリティのある製品を手に入れることが容易になる。
【０００７】
３Ｄプリントでは三次元形状データの作成が必要である。一般的なユーザーが一から三次元形状のモデリングを行って三次元形状データを生成するのは困難であるが、既に用意されている三次元形状データに基づく三次元形状を編集して三次元形状データを生成するのは比較的容易である。
【０００８】
しかしながら、三次元形状を自由に編集して三次元形状データを生成する場合、本来の三次元形状を損なうような編集が加えられてしまう可能性がある。
【０００９】
本発明は、本来の三次元形状データを破綻させない範囲で三次元形状データを編集することができる三次元形状データの編集装置、三次元形状データの編集プログラム、及び三次元形状データのデータ構造を提供することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１記載の発明の三次元形状データの編集装置は、三次元位置情報を含む三次元形状データで表される三次元形状の保護対象範囲及び編集可能範囲の少なくとも一方を編集制御範囲として設定する範囲設定手段と、前記編集可能範囲を編集する際に、前記保護対象範囲が編集されないように、前記編集可能範囲の編集を制御する制御条件を設定する制御条件設定手段と、を備え、前記範囲設定手段は、前記三次元位置情報で表される空間範囲を前記編集制御範囲として設定し、前記制御条件設定手段は、前記空間範囲の中に前記三次元形状が存在するような編集を禁止する制御条件又は前記空間範囲に前記三次元形状が存在するような編集を許可する制御条件を設定する。
【００１１】
請求項２記載の発明は、前記範囲設定手段は、前記三次元位置情報を用いて前記編集制御範囲を設定する。
【００１２】
請求項３記載の発明は、前記範囲設定手段は、前記三次元位置情報で表される点、線、面、及び空間の少なくとも１つの情報を用いて前記編集制御範囲を設定する。
【００１３】
請求項４記載の発明は、前記範囲設定手段は、前記点、線、面、及び空間の少なくとも１つの情報で表される三次元位置情報を用いて前記編集制御範囲を設定する際に、編集対象の三次元形状データとは異なる他の三次元形状データとして保持された情報を用いて前記編集制御範囲を設定する。
【００１４】
請求項５記載の発明は、前記範囲設定手段は、前記三次元位置情報に付与される属性情報を用いて前記編集制御範囲を設定する。
【００１５】
請求項６記載の発明は、前記範囲設定手段は、前記三次元位置情報に付与される色、強度、材料、及び質感の少なくとも１つの属性情報を用いて前記編集制御範囲を設定する。
【００１６】
請求項７記載の発明は、前記範囲設定手段は、前記三次元位置情報に付与される周期、数式、及び他の三次元形状データの少なくとも１つの属性情報を用いて設定される属性パターンを用いて前記編集制御範囲を設定する。
【００１７】
請求項８記載の発明は、前記制御条件設定手段は、前記三次元位置情報で表される点、線、面、及び空間の少なくとも１つの情報を用いて前記制御条件を設定する。
【００１８】
請求項９記載の発明は、前記三次元形状データは、前記三次元形状を複数のボクセルの集合で表すボクセルデータであり、前記制御条件設定手段は、前記ボクセルにより前記点、線、面、及び空間を表すことで前記制御条件を設定する。
【００１９】
請求項１０記載の発明は、前記制御条件は、前記編集可能範囲に対する、変形、拡大、縮小、移動、回転、追加、削除、置換、及び合成の少なくとも１つの処理を制御する条件を含む。
【００２０】
請求項１１記載の発明は、前記制御条件は、前記編集可能範囲に対する、属性の追加、削除、変更、置換、及び合成の少なくとも１つの処理を制御する条件を含む。
【００２１】
請求項１２記載の発明は、前記制御条件は、前記三次元形状の外側の予め定めた空間を前記保護対象範囲又は前記編集可能範囲とする条件を含む。
【００２２】
請求項１３記載の発明は、請求項１〜１２の何れか１項に記載の三次元形状データの編集装置によって編集された三次元形状データの前記制御条件に従って前記編集可能範囲を編集する編集手段を備える。
【００２３】
請求項１４記載の発明は、前記編集手段は、前記編集可能範囲を編集する際に、前記保護対象範囲を含む範囲を編集しようとした場合、前記編集可能範囲に対してのみ、指示された編集を適用する。
【００２４】
請求項１５記載の発明の三次元形状の編集プログラムは、コンピュータを、請求項１〜１４の何れか１項に記載の三次元形状作成データ編集装置の各手段として機能させるための三次元形状データの編集プログラムである。
【００２５】
請求項１６記載の発明の三次元形状データのデータ構造は、三次元位置情報を含む三次元形状データで表される三次元形状の保護対象範囲及び編集可能範囲の少なくとも一方を編集制御範囲として設定する範囲設定手段と、前記編集可能範囲を編集する際に、前記保護対象範囲が編集されないように、前記編集可能範囲の編集を制御する制御条件を設定する制御条件設定手段と、を備えた三次元形状データの編集装置に用いられる三次元形状データのデータ構造であって、三次元形状を構成する複数のボクセルに関するボクセル情報と、前記三次元形状の前記編集制御範囲を表す保護属性と、前記三次元形状の編集を制御するための制御条件と、を含み、前記範囲設定手段が、記憶部から前記三次元形状データを読み込み、前記三次元位置情報で表される空間範囲を前記編集制御範囲として設定し、前記制御条件設定手段が、前記空間範囲の中に前記三次元形状が存在するような編集を禁止する制御条件又は前記空間範囲に前記三次元形状が存在するような編集を許可する制御条件を設定した前記三次元形状データを前記記憶部に記憶させる処理に用いられる。
【発明の効果】
【００２６】
請求項１、１５、１６記載の発明によれば、他の三次元形状との関係を破綻させない範囲で三次元形状データを編集できる、という効果を有する。
【００２７】
請求項２記載の発明によれば、編集制御範囲が設定しやすくなる、という効果を有する。
【００２８】
請求項３記載の発明によれば、三次元位置情報で表される点、線、面、及び空間の少なくとも１つの情報を用いずに編集制御範囲を設定する場合と比較して、編集制御範囲が設定しやすくなる、という効果を有する。
【００２９】
請求項４記載の発明によれば、編集対象の三次元形状データとは異なる他の三次元形状データとして保持された情報を用いずに編集制御範囲を設定する場合と比較して、三次元形状データを管理しやすくなる、という効果を有する。
【００３０】
請求項５記載の発明によれば、三次元位置情報に付与される属性情報を用いずに編集制御範囲を設定する場合と比較して、編集制御範囲が設定しやすくなる、という効果を有する。
【００３１】
請求項６記載の発明によれば、三次元位置情報に付与される色、強度、材料、及び質感の少なくとも１つの属性情報を用いずに編集制御範囲を設定する場合と比較して、編集制御範囲が設定しやすくなる、という効果を有する。
【００３２】
請求項７記載の発明によれば、前記三次元位置情報に付与される周期、数式、及び他の三次元形状データの少なくとも１つの属性情報を用いて設定される属性パターンを用いずに編集制御範囲を設定する場合と比較して、編集制御範囲が設定しやすくなる、という効果を有する。
【００３３】
請求項８記載の発明によれば、三次元位置情報で表される点、線、面、及び空間の少なくとも１つの情報を用いずに制御条件を設定する場合と比較して、制御条件が設定しやすくなる、という効果を有する。
【００３４】
請求項９記載の発明によれば、三次元形状が複数のボクセルの集合で表すボクセルデータで表される場合に、本来の三次元形状を損なわない範囲で三次元形状を変更することができる、という効果を有する。
【００３５】
請求項１０記載の発明によれば、本来の三次元形状を損なわない範囲で、編集可能範囲に対して、変形、拡大、縮小、移動、回転、追加、削除、及び合成の少なくとも１つの処理を制限することができる、という効果を有する。
【００３６】
請求項１１記載の発明によれば、三次元形状の編集の自由度が高くなる、という効果を有する。
【００３７】
請求項１２記載の発明によれば、三次元形状の外側の予め定めた空間に三次元形状が存在するような編集を制限したり、三次元形状の外側の予め定めた空間に三次元形状が存在するような編集を許可したりすることができる、という効果を有する。
【００３８】
請求項１３記載の発明によれば、本来の三次元形状を損なわない範囲で編集可能範囲を編集することができる、という効果を有する。
【００３９】
請求項１４記載の発明によれば、保護対象範囲にまで編集が及ぶのを防ぐことができる、という効果を有する。
【図面の簡単な説明】
【００４０】
【図１】三次元形状データの編集装置のブロック図である。
【図２】三次元形状データで表される三次元形状の編集制御範囲を設定するための編集プログラムのフローチャートである。
【図３】三次元形状データで表される三次元形状の編集可能範囲を編集するための編集プログラムのフローチャートである。
【図４】三次元形状データのデータ構造を示す図である。
【図５】三次元形状の一例を示す図である。
【図６】三次元形状の一例を示す図である。
【図７】三次元形状の一例を示す図である。
【図８】保護対象範囲及び編集可能範囲について説明するための図である。
【図９】制御条件について説明するための図である。
【図１０】制御条件について説明するための図である。
【図１１】保護対象範囲について説明するための図である。
【図１２】制御条件について説明するための図である。
【図１３】制御条件について説明するための図である。
【図１４】制御条件について説明するための図である。
【図１５】制御条件について説明するための図である。
【図１６】制御条件について説明するための図である。
【図１７】制御条件について説明するための図である。
【図１８】制御条件について説明するための図である。
【図１９】制御条件について説明するための図である。
【発明を実施するための形態】
【００４１】
以下、図面を参照して、本発明を実施するための形態例を詳細に説明する。
【００４２】
まず、図１を参照して、本実施の形態に係る三次元形状データの編集装置１０の構成について説明する。
【００４３】
編集装置１０は、例えばパーソナルコンピュータ等で構成され、コントローラ１２を備える。コントローラ１２は、ＣＰＵ（Central Processing Unit）１２Ａ、ＲＯＭ（Read Only Memory）１２Ｂ、ＲＡＭ（Random Access Memory）１２Ｃ、不揮発性メモリ１２Ｄ、及び入出力インターフェース（Ｉ／Ｏ）１２Ｅを備える。そして、ＣＰＵ１２Ａ、ＲＯＭ１２Ｂ、ＲＡＭ１２Ｃ、不揮発性メモリ１２Ｄ、及びＩ／Ｏ１２Ｅがバス１２Ｆを介して各々接続されている。
【００４４】
また、Ｉ／Ｏ１２Ｅには、操作部１４、表示部１６、通信部１８、及び記憶部２０が接続されている。なお、ＣＰＵ１２Ａは、範囲設定手段、制御条件設定手段、及び編集手段の一例である。
【００４５】
操作部１４は、例えばマウス及びキーボードを含んで構成される。
【００４６】
表示部１６は、例えば液晶ディスプレイ等で構成される。
【００４７】
通信部１８は、外部装置とデータ通信を行うためのインターフェースである。
【００４８】
記憶部２０は、ハードディスク等の不揮発性の記憶装置で構成され、後述する三次元形状データの編集プログラム等を記憶する。ＣＰＵ１２Ａは、記憶部２０に記憶された三次元形状データの編集プログラムを読み込んで実行する。
【００４９】
次に、図２、３を参照して、本実施の形態に係る編集装置１０の作用を説明する。ＣＰＵ１２Ａにより編集プログラムを実行させることで、図２に示す編集処理が実行される。なお、図２に示す編集処理は、例えば、ユーザーの操作により編集プログラムの実行が指示された場合に実行される。ここで、図２に示す処理は、三次元形状データで表される三次元形状の編集制御範囲を設定するための処理である。編集制御範囲とは、三次元形状の編集を不可とする保護対象範囲及び三次元形状の編集を可能とする編集可能範囲の少なくとも一方を表す。図２の処理は、例えば企業の設計者等がモデリングした三次元形状データに対して編集制御範囲を設定する場合等に実行される。
【００５０】
なお、本実施形態において、「編集」とは、三次元形状の少なくとも一部に対して、変形、拡大、縮小、移動、回転、追加、削除、置換、及び合成等の処理を施すことにより三次元形状の少なくとも一部の形状を変更することを含む。
【００５１】
また、「編集」とは、三次元位置情報に付与される色、強度、材料、及び質感の少なくとも１つの属性情報の少なくとも一部に対して、追加、削除、変更、置換、及び合成等の処理を施すことにより三次元形状の少なくとも一部の属性を変更することを含む。
【００５２】
ここで、材料とは、樹脂、金属、ゴム等の材料のジャンルを表す情報、ＡＢＳ、ＰＬＡ等の材料名を表す情報、市販されている材料の商品名、商品番号等を表す情報、ＩＳＯ、ＪＩＳ等の規格で定められている材料名、略称、番号等の材料を表す情報、熱伝導率、導電率、磁性等の材料特性を表す情報の少なくとも１つの情報を含む。
【００５３】
また、質感とは、三次元形状データの反射率、透過率、光沢、表面性等の色だけではない見た目やさわり心地を表す属性情報を表す。
【００５４】
なお、属性情報には、三次元位置情報に付与される周期、数式、及び他の三次元形状データの少なくとも１つの情報を用いて設定される属性パターンを含む。属性パターンとは、一定周期の繰り返し、グラデーション、数式で表される傾斜や極点による表現、他の三次元形状データ等に従って三次元形状データの色、材料、質感等を連続的に変更すること、三次元形状データの指示された範囲を指示された形状で充填すること又は連続的に変更すること、の少なくとも１つを含む。
【００５５】
ステップＳ１００では、三次元形状をモデリングした三次元形状データを記憶部２０から読み込み、読み込んだ三次元形状データに基づく三次元形状を表示部１６に表示させる。三次元形状データは、ユーザーが、操作部１４を操作して、少なくとも三次元形状を作成し、色や材料等の属性を指定することで生成される。
【００５６】
なお、本実施形態では、三次元形状データのデータフォーマットとして、三次元形状をボクセルの集合によって表現するデータフォーマットを用いた場合について説明するが、他のデータフォーマットを用いても良い。
【００５７】
ここで、ボクセルとは、三次元形状の基本要素であり、例えば直方体が用いられるが、直方体に限らず、球や円柱等を用いても良い。このボクセルを積み上げることで所望の三次元形状が表現される。また、各ボクセルに色や材料等の属性を指定することで三次元形状データの表示、及び造形後の色や材料が表現される。
【００５８】
本実施形態に係る三次元形状データは、少なくとも三次元形状を構成する複数のボクセルに関するボクセル情報と、三次元形状の保護対象範囲及び編集可能範囲を表す保護属性と、三次元形状の編集を制御するための制御条件と、を含む。
【００５９】
具体的には、図４に示すデータ構造３０のように、ボクセルＩＤ、保護属性、及び制御条件の対応関係を表すテーブルデータの構造である。なお、データ構造はテーブルデータに限られるものではなく、上記の対応関係を表すデータ構造であれば、階層構造等の他の構造であってもよい。
【００６０】
ボクセルＩＤは、個々のボクセルに付与された固有のＩＤである。なお、ボクセルＩＤは、三次元空間におけるＸ、Ｙ、Ｚの座標値で表されても良いし、三次元空間を均等にグリッドで分割した際のＸ、Ｙ、Ｚのインデックス番号で表されても良いし、原点からの通し番号で表されても良い。
【００６１】
保護属性は、三次元形状を保護するのか編集を許可するのかを表す情報であり、三次元形状の編集を不可とする「保護」、または、三次元形状の編集を許可する「編集」の情報がボクセル毎又はボクセルによって設定される範囲毎に設定される。
【００６２】
また、データ構造３０にボクセルの色や材料等の属性を設定してもよい。この場合、ボクセルの色は、例えばＲ（赤）、Ｇ（緑）、Ｂ（青）、Ａ（Ａｌｐｈａ：透過）で表される。また、属性は、前述の三次元形状データに付与される色、強度、材料、及び質感等の情報と同等の情報を、各ボクセルではなくデータ構造３０として保持するものであってもよい。
【００６３】
制御条件は、三次元形状の編集を制御するための条件であり、詳細は後述する。
【００６４】
図５には、ボクセルの集合によって表現された三次元形状の一例を示した。図５に示すように、三次元形状３２は、うさぎを多数のボクセル３４の集合で表したものである。なお、ボクセル３４のサイズを小さくしていくことにより、図６、７に示すように、より詳細に三次元形状３２Ａ、３２Ｂが表現される。
【００６５】
ステップＳ１０２では、ユーザーの操作によって編集制御範囲の設定が指定されたか否かを判定し、肯定された場合はステップＳ１０４へ移行し、否定された場合は本ルーチンを終了する。
【００６６】
ステップＳ１０４では、編集制御範囲を設定する。例えばユーザーは、三次元形状のうち保護対象範囲、すなわち編集を不可とする範囲と、編集を許可する編集可能範囲と、を指定する。
【００６７】
例えば図８に示すように、うさぎの三次元形状３２に対して、うさぎの胴体と頭部との境界に境界線３６を設定し、うさぎの胴体を保護対象範囲３８として設定し、頭部を編集可能範囲４０として設定可能である。なお，境界線３６は、例えば２個以上のボクセルを指定することで設定される。また、境界線３６は、２個のボクセルで表現される線分、半直線、及び直線の何れかであっても良いし、３個以上のボクセルで表現される曲線であっても良い。
【００６８】
なお、三次元形状データに対して編集制御範囲を新たに定義してもよいし、三次元形状データに元から含まれている三次元位置情報、及び三次元位置情報に付与されている属性情報を編集制御範囲として用いてもよい。例えば、頭と胴体が別のパーツとして定義されている場合、頭パーツのみを編集可能とするように編集制御範囲を設定してもよい。
【００６９】
また、図９に示すように、保護対象範囲と編集可能範囲との境界に境界面４２を設定し、例えば境界面４２より下側の範囲を保護対象範囲４４として設定し、境界面４２より上側の範囲を編集可能範囲４６として設定してもよい。なお、境界面４２は、例えば３個のボクセルを指定することで設定される。また、境界面４２は平面であるが、多数のボクセルを指定して境界面が曲面となるように設定してもよい。
【００７０】
また、例えば図１０に示すように、うさぎの三次元形状３２において、うさぎの耳の内側の範囲５１を表す三次元位置情報に対し、柔らかいという強度属性が付与されていた場合、同じ強度属性が付与された三次元形状データの範囲のみを編集可能範囲とするように編集制御範囲を設定してもよい。また、うさぎの胴体の内側の範囲５３を表す三次元位置情報に対し、繰り返し周期の格子構造で充填するという属性パターンが付与されていた場合、同じ属性パターンが付与された三次元形状データの範囲のみを編集可能範囲、もしくは保護対象範囲とするように編集制御範囲を設定してもよい。
【００７１】
同様に、三次元位置情報に色情報が付与された場合、もしくはテクスチャマッピングされた場合に、任意の色が付与された三次元形状データの範囲のみを編集制御範囲として設定してもよい。この場合、特定の１色を指定してもよいし、一定の色範囲を指定してもよい。
【００７２】
同様に、三次元位置情報に材料情報が付与された場合、任意の材料が付与された三次元形状データ範囲のみを編集制御範囲として設定してもよい。この場合、ＡＢＳ，ＰＬＡ等の特定の１材料を指定してもよいし、材料が含まれる樹脂、金属、ゴム等の材料のジャンルを指定してもよいし、一定以上の導電性、特定範囲の熱伝導率等のように材料特性の範囲を指定してもよい。
【００７３】
また、図１１に示すように、コンセントカバーの三次元形状４８の場合、例えば破線で示す面５０を編集可能範囲として設定してもよい。
【００７４】
なお、前述したように、三次元形状データに対して編集制御範囲を新たに定義してもよいし、三次元形状データに元から含まれている三次元位置情報、及び三次元位置情報に付与されている属性情報を編集制御範囲として用いてもよい。例えば、面５０のように、一定の曲率が続く連続した平面と判断できる三次元形状データの範囲を編集制御範囲として設定してもよい。
【００７５】
また、ユーザーは、保護対象範囲及び編集可能範囲の両方を設定してもよいし、保護対象範囲のみ設定し、その他の範囲を自動的に編集可能範囲として設定してもよい。また、編集可能範囲のみ設定し、その他の範囲を自動的に保護対象範囲として設定してもよい。
【００７６】
ステップＳ１０６では、保護属性を各ボクセルに設定する。すなわち、ユーザーにより指定された保護対象範囲のボクセルについては保護属性を「保護」に設定し、編集可能範囲のボクセルについては保護属性を「編集」に設定する。
【００７７】
ステップＳ１０８では、ユーザーの操作によって制御条件が指定されたか否かを判定し、肯定された場合はステップＳ１１０へ移行し、否定された場合はステップＳ１０２へ移行する。
【００７８】
ステップＳ１１０では、ユーザーが指定した制御条件を三次元形状データに設定する。
【００７９】
以下、制御条件の設定の具体例について説明する。
【００８０】
例えばユーザーは、図９に示すように、うさぎの首を保護対象範囲に設定し、首の周囲の制御ボクセル５２の内側に縮小しないという制御条件を制御ボクセル５２に設定してもよい。これにより、うさぎの首が細くなるような編集が制限される。
【００８１】
また、図９に示すように、うさぎの首の中心部付近を保護対象範囲に設定し、首の中心部に設定した制御ボクセル５４を中心として回転するという制御条件を制御ボクセル５４に設定してもよい。この際、回転軸及び回転角度を設定してもよい。これにより、うさぎの首以外の範囲を中心としてうさぎの頭部が回転してしまうような不自然な編集が抑制される。
【００８２】
また、図９に示すように、例えばうさぎの耳付近を保護対象として設定し、制御ボクセル５６Ａと制御ボクセル５６Ｂをペア、制御ボクセル５８Ａと制御ボクセル５８Ｂをペアとするように、２つのボクセルをペアとして、ペアのボクセル同士が離間可能な最大離間距離を制御条件として設定してもよい。また、ペアのボクセル同士が離間していなければならない最小離間距離を制御条件として設定してもよい。また、離間できる方向、角度等を制御条件としても良い。これにより、例えばうさぎの左右の耳の距離が大きく変化してしまうのが抑制される。また、ペアのボクセルの周囲の太さが予め定めた範囲内の太さとなるような制御条件を設定してもよい。これにより、例えばうさぎの耳が太すぎる、または細すぎるというように大きく変化してしまうのが抑制される。
【００８３】
また、図１２に示すように、コンセントカバーの三次元形状４８の場合において、例えばコンセントカバーの取付面６０を設定し、取付面６０よりも奥に三次元形状４８が存在するような編集を禁止する制御条件を設定してもよい。なお、取付面６０を設定するには、例えば取付面６０を表す無限遠の平面を定義するための３点に３個のボクセルを設定すればよい。なお、このボクセルは三次元形状データを表すものではなく、編集制御条件を表すための範囲設定用ボクセルとしてもよい。
【００８４】
また、コンセントカバーを壁に取り付けるためのネジ６２の範囲の編集を不可とするために、ネジ６２を含む領域６４を保護対象範囲として設定してもよい。
【００８５】
また、コンセントカバーには電源プラグが差し込まれるため、電源プラグが差し込まれる空間範囲６６、６７を保護対象範囲として設定し、空間範囲６６、６７の中に三次元形状４８が存在するような編集を禁止する制御条件を設定してもよい。また、空間範囲を編集可能範囲として設定し、空間範囲に三次元形状が存在するような変形を許可する制御条件を設定してもよい。
【００８６】
なお、空間範囲６６、６７を設定するには、例えば空間範囲を占めるボクセルを設定すればよい。もしくは、空間を定義する特徴点となるボクセルを設定すればよい。もしくは、空間範囲６６、６７を定義する他の三次元形状データを用いてもよい。他の三次元形状データは、例えば、空間範囲６６を表す三次元形状データを、三次元形状４８とは異なるデータとして用意し、三次元形状４８の編集制御範囲として使用してもよい。その場合、空間範囲６６を表す三次元形状データを複数読み込み、同じ三次元形状の複数の空間範囲６６、６７として設定してもよい。
【００８７】
また、空間範囲は、立方体、球、円柱のようなシンプルな形状等の他に、いびつな形状や、他の部品形状を表す複雑な形状の空間範囲であってもよい。また、連続した空間を範囲としてもよいし、非連続の空間を範囲としてもよい。例えば、位置的に離れている複数の異なる部品形状をまとめて１つの空間範囲としてもよいし、細かく分布される大小様々な飛び飛びの空間をまとめて１つの空間範囲としてもよい。
【００８８】
また、他の三次元形状データで空間範囲を設定する場合、編集対象となる三次元形状の内側に収まる空間範囲のみを編集制御範囲として設定してもよいし、編集対象となる三次元形状の外側の空間範囲のみを編集制御範囲として設定してもよいし、編集対象となる三次元形状の内側と外側をまたがるような空間範囲を編集制御範囲として設定してもよい。
【００８９】
また、他の三次元形状データで編集制御範囲を設定する場合、空間範囲のみに限定するものではない。点、線、および面の三次元位置情報を、編集対象となる三次元形状データとは異なる他の三次元形状データとして保持しておいてもよい。
【００９０】
また、ボクセルを用いて点、線、面、空間等の三次元形状データを定義することで編集制御範囲を設定する場合、使用するボクセルは三次元形状データを表すものではなく、編集制御条件を表すための範囲設定用ボクセルとしてもよい。
【００９１】
また、図１３に示すように、保護対象範囲７０に制御ボクセル７２を指定した場合、編集可能範囲７４が制御ボクセル７２よりも矢印Ａ方向で示す保護対象範囲７０側に存在するように移動、拡大、縮小等するのを禁止する制御条件を制御ボクセル７２に設定してもよい。なお、図１３においては、図示の都合上二次元的に記載しているが、実際は三次元的に制御される。図１４〜１９においても同様である。
【００９２】
また、図１４に示すように、保護対象範囲７０に２つの制御ボクセル７８Ａ、７８Ｂを指定した場合、編集可能範囲７４が２つの制御ボクセル７８Ａ、７８Ｂを結ぶ線分８０又は半直線８０又は直線８０よりも保護対象範囲７０側に存在するように移動、拡大、縮小等するのを禁止する制御条件を制御ボクセル７８Ａ、７８Ｂに設定してもよい。このとき、編集可能範囲７４が線分８０又は半直線８０又は直線８０の延長線上を移動することを許可する制御条件を制御ボクセル７８Ａ、７８Ｂに設定してもよい。
【００９３】
また、図１５に示すように、保護対象範囲７０に３つの制御ボクセル８２Ａ、８２Ｂ、８２Ｃを指定した場合、編集可能範囲７４が３つの制御ボクセル８２Ａ、８２Ｂ、８２Ｃを結ぶことで形成される面８４よりも保護対象範囲７０側に存在するように移動、拡大、縮小等するのを禁止する制御条件を制御ボクセル８２Ａ、８２Ｂ、８２Ｃに設定してもよい。このとき、編集可能範囲７４が面８４及び面８４を含む平面上を移動することを許可する制御条件を制御ボクセル８２Ａ、８２Ｂ、８２Ｃに設定してもよい。
【００９４】
また、図１６に示すように、保護対象範囲７０に制御ボクセル８６及び回転角度θを指定した場合、編集可能範囲７４が制御ボクセル８６を中心として回転角度θを超えて回転するのを禁止する制御条件を制御ボクセル８６に設定してもよい。
【００９５】
また、図１７に示すように、保護対象範囲７０に２つの制御ボクセル８８Ａ、８８Ｂ、及び回転角度θを指定した場合、編集可能範囲７４が２つの制御ボクセル８８Ａ、８８Ｂを結ぶ直線９０を軸として回転角度θを超えて回転するのを禁止する制御条件を制御ボクセル８８Ａ、８８Ｂに設定してもよい。
【００９６】
また、図１８に示すように、保護対象範囲７０に制御ボクセル９２を、編集可能範囲７４に制御ボクセル９４を設定し、制御ボクセル９２と制御ボクセル９４との距離Ｄが予め定めた距離を超えることを禁止する制御条件を制御ボクセル９２、９４に設定してもよい。また、制御ボクセル９２と制御ボクセル９４との距離Ｄが予め定めた距離以内となることを禁止する制御条件を制御ボクセル９２、９４に設定してもよい。
【００９７】
また、図１９に示すように、保護対象範囲７０Ａに設定する制御ボクセル９６は、保護対象範囲９６の最外郭に設定されなければならないという制御条件を設定してもよい。また、保護対象範囲７０Ｂに設定する制御ボクセル９８は、制御ボクセル９８の外側にｎ個（図１９の例では３個）以上のボクセルが存在しなければならないという制御条件を設定してもよい。
【００９８】
なお、三次元形状データに設定された編集制御範囲に対して新たに制限条件を定義してもよいし、予め定められた制限条件を適用してもよい。例えば、ＩＳＯ、ＪＩＳ等の規格で定められている部品の厚み、長さ、径等の制限条件、または製造装置の仕様、制限等で定められている厚み、長さ、径等の制限条件、またはユーザーが良く使用する制限条件等を編集制御範囲に設定してもよい。
【００９９】
また、編集制御範囲と制限条件を組み合わせて管理してもよい。その場合、編集対象となる三次元形状データに編集制御範囲と制限条件を同時に適用してもよいし、編集制御範囲のみ、または制限条件のみを適用してもよい。
【０１００】
また、編集制御範囲と制限条件を組み合わせて、編集対象の三次元形状データとは異なる他の三次元形状データとして保持してもよい。
【０１０１】
なお、図１３〜１９で説明した制御条件を組み合わせてもよい。また、三次元形状を保護対象とし、三次元形状に付与された属性情報のみ編集可能としてもよい。逆に、三次元形状を編集可能とし、その三次元形状に付与されている属性情報を保護対象とするように、制御条件を組み合わせてもよい。
【０１０２】
ステップＳ１１１では、ユーザーの操作により「終了」が選択されたか否かを判定し、肯定された場合はステップＳ１１２へ移行し、否定された場合はステップＳ１０２へ移行して上記の処理を繰り返す。
【０１０３】
ステップＳ１１２では、処理後の三次元形状データを記憶部２０に記憶する。
【０１０４】
なお、図２の処理では、既に作成済みの３次元形状データを読み込んで編集制御範囲を設定する場合について説明したが、３次元形状データを作成しながら編集制御範囲の設定を行うようにしても良い。
【０１０５】
次に、図３を参照して、三次元形状の編集可能範囲を編集するための編集プログラムによる編集処理について説明する。ＣＰＵ１２Ａにより編集プログラムを実行させることで、図３に示す編集処理が実行される。なお、図３に示す編集処理は、例えば、ユーザーの操作により編集プログラムの実行が指示された場合に実行される。ここで、図３に示す処理は、既に三次元形状の編集可能範囲が設定された三次元形状データを編集するための処理である。図３の処理は、例えば別の作者によって既に三次元形状の編集可能範囲が設定された三次元形状データを、例えばインターネット経由で取得したユーザーが自宅で編集する場合等に実行される。
【０１０６】
ステップＳ２００では、ユーザーにより指定された三次元形状データを記憶部２０から読み込んで、読み込んだ三次元形状データに基づく三次元形状物を表示部１６に表示させる。
【０１０７】
ステップＳ２０２では、ユーザーの操作により表示部１６に表示された三次元形状に対して編集が指示されたか否かを判定し、肯定された場合はステップＳ２０４へ移行し、否定された場合はステップＳ２１０へ移行する。
【０１０８】
ステップＳ２０４では、ステップＳ２０２で編集が指示された範囲が編集可能範囲であるか否かを判定する。ステップＳ２０２で編集が指示された範囲が編集可能範囲であると判定された場合はステップＳ２０６へ移行し、編集可能範囲でないと判定された場合はステップＳ２０８へ移行する。
【０１０９】
ステップＳ２０６では、読み込んだ三次元形状データの制御条件に基づいて三次元形状を編集する。
【０１１０】
一方、ステップＳ２０８では、三次元形状データの編集が保護されているため、三次元形状データの編集が制限されていることを警告する警告メッセージを表示部１６に表示させる。
【０１１１】
例えば、三次元形状が前述した図８に示すうさぎの三次元形状３２であり、うさぎの首の周囲に制御ボクセル５２が指定され、指定された制御ボクセル５２の内側に縮小しないという制御条件が制御ボクセル５２に設定されていたとする。この場合、ユーザーがうさぎの首が細くなるような編集を指示しても、例えば警告メッセージを表示して編集を停止させたり、ユーザーの指示を無効にしたりする等して、編集を許可しない。これにより、うさぎの首が細くなるような編集が制限され、保護対象範囲が保護される。
【０１１２】
また、保護対象範囲を編集させず、編集可能範囲だけを編集させるような指示だった場合には、その指示は許可され、指示に応じて編集させた三次元形状を表示部１６に表示させる。
【０１１３】
なお、編集が指示された範囲が編集可能範囲でない場合、編集指示の操作を無効化してもよい。
【０１１４】
また、編集が指示された範囲が保護対象範囲及び編集可能範囲の両方を含む場合、編集可能範囲のみ編集を許可してもよい。例えば、編集操作が保護対象範囲に差し掛かった場合、保護対象範囲に至るまでの編集のみ反映し、保護対象範囲を境界として編集を停止させてもよい。または、属性情報のみ編集可能と制御条件が設定された保護対象範囲に対し、他の三次元形状データを合成しようとした場合、三次元形状は反映されず、三次元形状データに付与されている属性情報のみが対象範囲に合成されるようにしてもよい。
【０１１５】
さらに、特定の条件を満たした場合のみ、保護対象範囲を編集することを許可してもよい。例えば、編集制御範囲の設定を行ったユーザーと同一のユーザーである、または編集制御範囲の設定を行ったユーザーが定めたパスワードや暗号鍵等の特定の許可情報をユーザーが保持している、等の特定の条件を満たした場合、保護対象範囲の設定を変更することで、保護対象だった範囲を編集することを許可しても良い。
【０１１６】
ステップＳ２１０では、ユーザーの操作により「終了」が選択されたか否かを判定し、肯定された場合はステップＳ２１２へ移行し、否定された場合はステップＳ２０２へ移行して上記の処理を繰り返す。
【０１１７】
ステップＳ２１２では、処理後の三次元形状データを記憶部２０に記憶する。
【０１１８】
このように、編集可能範囲の編集を制御する制御条件が設定されている場合には、保護対象範囲は編集されず、編集可能範囲だけが編集されるため、本来の三次元形状を損なわない範囲で三次元形状が編集される。
【０１１９】
なお、本実施形態では、図２、３の処理を別個のプログラムとした場合について説明したが、これに限らず、図２、３の処理を１つのプログラムにまとめてもよい。
【０１２０】
なお、本実施の形態では、三次元形状データの編集プログラムが記憶部２０に予めインストールされている場合について説明したが、本発明はこれに限定されるものではない。例えば、編集プログラムが、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）等の記憶媒体に格納されて提供される形態、又はネットワークを介して提供される形態としてもよい。
【０１２１】
また、本実施の形態で説明した編集プログラムの処理の流れ（図２、３参照）も一例であり、本発明の主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよいことは言うまでもない。
【符号の説明】
【０１２２】
１０ 三次元形状の編集装置
１２ コントローラ
３０ データ構造
３２ 三次元形状
３４ ボクセル
３８ 保護対象範囲
４０ 編集可能範囲
【図１】
2018067289.tif 000003
【図２】
2018067289.tif 000004
【図３】
2018067289.tif 000005
【図４】
2018067289.tif 000006
【図５】
2018067289.tif 000007
【図６】
2018067289.tif 000008
【図７】
2018067289.tif 000009
【図８】
2018067289.tif 000010
【図９】
2018067289.tif 000011
【図１０】
2018067289.tif 000012
【図１１】
2018067289.tif 000013
【図１２】
2018067289.tif 000014
【図１３】
2018067289.tif 000015
【図１４】
2018067289.tif 000016
【図１５】
2018067289.tif 000017
【図１６】
2018067289.tif 000018
【図１７】
2018067289.tif 000019
【図１８】
2018067289.tif 000020
【図１９】
2018067289.tif 000021