JP3570138B2 - 3D stereolithography data creation method - Google Patents
3D stereolithography data creation method Download PDFInfo
- Publication number
- JP3570138B2 JP3570138B2 JP01412597A JP1412597A JP3570138B2 JP 3570138 B2 JP3570138 B2 JP 3570138B2 JP 01412597 A JP01412597 A JP 01412597A JP 1412597 A JP1412597 A JP 1412597A JP 3570138 B2 JP3570138 B2 JP 3570138B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- loop
- closed
- correction
- open
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 287
- 238000012937 correction Methods 0.000 claims description 199
- 230000008569 process Effects 0.000 claims description 177
- 238000012545 processing Methods 0.000 claims description 104
- 239000011347 resin Substances 0.000 claims description 51
- 229920005989 resin Polymers 0.000 claims description 51
- 230000015572 biosynthetic process Effects 0.000 claims description 41
- 230000007547 defect Effects 0.000 claims description 40
- 238000004381 surface treatment Methods 0.000 claims description 23
- 239000013598 vector Substances 0.000 claims description 13
- 230000001678 irradiating effect Effects 0.000 claims description 9
- 238000000576 coating method Methods 0.000 claims description 7
- 238000005498 polishing Methods 0.000 claims description 7
- 238000007493 shaping process Methods 0.000 claims description 6
- 230000003287 optical effect Effects 0.000 claims description 5
- 239000011248 coating agent Substances 0.000 claims description 4
- 230000002950 deficient Effects 0.000 claims description 4
- 230000001143 conditioned effect Effects 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims 1
- 239000010410 layer Substances 0.000 description 288
- 238000010586 diagram Methods 0.000 description 45
- 239000011295 pitch Substances 0.000 description 21
- 230000000694 effects Effects 0.000 description 16
- 239000007788 liquid Substances 0.000 description 15
- 238000000465 moulding Methods 0.000 description 11
- 238000003475 lamination Methods 0.000 description 9
- 238000003672 processing method Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 230000003028 elevating effect Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000010030 laminating Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000010409 thin film Substances 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000007517 polishing process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
Images
Description
【0001】
【発明の属する技術分野】
本発明は、形成槽内の光硬化性樹脂をレーザー照射により一層毎に硬化させる三次元形状形成装置に用いる三次元光造形用データ作成方法に関するものである。
【0002】
【従来の技術】
従来、形成槽内の光硬化性樹脂をレーザー照射により一層毎に硬化させる三次元形成装置では、下記のような種々の問題点があった。
例えば、図56(a)に示すデータを元に作成した形状データ(図56(b))が三次元形状形成装置に与えられて三次元形状の造形物1が図56(c)に示すように形成されるのであるが、紫外線が既硬化層を貫通してその下の未硬化樹脂を硬化させることにより、造形物1の形状の下向き部分が同図(c)に示すように余剰硬化し、形状精度が大きく低下するという問題があった。図中ΔHは余剰硬化部分2の寸法を示し、例えば0.4乃至0.6mmとなる。
【0003】
従来、寸法精度が要求される造形物に対しては、造形後手作業による修正で対応していたが、作業工数の増大となるばかりでなく、形状によって手作業で修正できない箇所もあった。
この点を解決するための方法としては、特開平6−64048号公報に見られるように、三次元CADデータの作成段階で、オペレータの操作によって、次の補正をかける方法が提案されている。
【0004】
つまりこの方法は、図57(a)に示すような元の形状を、複写して同図(b)に示すように補正量(ΔH)だけ、Z軸方向にオフセットして配置し、元の形状とオフセットされた形状とをブーリアン演算して、重なり合った部分のみ(同図(c)の黒塗り部分)を補正後の形状として採用する方法であった。
しかしこの方法も、三次元CADで指定の操作を行っても、現在市販の三次元CADのレベルでは、演算エラーになることが多く、実質的に複雑な形状は処理できないという問題があった。更にオペレータの処理工数がかかるとともに、一連作業の自動化を阻害するという問題があり、しかもブーリアン演算を用いるため、ソリッドモデルのデータにしか適用出来ず、サーフェースモデルのデータや断面輪郭線データには対応できないという問題もあった。
【0005】
更にそのデータを編集するための三次元CADシステムを保有していなければ処理ができないという問題があった。
また更に、形成用の入力データとしては、三次元形状データ及び断面輪郭線(等高断面)データが存在するが、三次元形状データを対象とした補正では、入力データが断面輪郭線の場合には適用できず、そのため断面輪郭線データを対象とした補正を実現する必要があった。
【0006】
この断面輪郭線データを対象とした補正の方法には、特開平8−34064号公報に見られるように補正値を入力し、積層厚みに基づいて前記補正値に相当する層数を求め、造形時に底面となる層以外の各層において、造形時に光線が入射する方向とは反対側の方向に、前記補正値に相当する以上前記層が重なっている断面部分、或いは前記底面となる層に重なっている断面部分の何れかのみを断面となるように補正する方法が提案されている。
【0007】
図58はこの従来の補正方法の流れを示しており、図中(a)は補正前のデータを、(b)は補正後のデータを、そして(c)は補正後のデータに基づいて実際に造形加工を行った造形物1を示している。この補正方法によれば同図(c)で示すように余剰硬化部分2’により所望の形状に近い造形物1が得られるのである。
【0008】
しかし、光硬化性樹脂の余剰硬化現象が、レーザー走査の条件が一定であったとしても、積層する一層の厚み、積層厚さ(積層数)で変わってくるため、単純な補正値入力では正確な補正が実現できず、補正を行うことによって、かえって形状の不具合を引き起こすという問題や、一つの層の補正データを求めるため、補正値に相当する層数分の演算処理を行う必要があり、演算時間が長くなるという問題があった。
【0009】
図59は上記の複数の積層ピッチ(一層の厚み)を用いた場合に対応できない問題点を示しており、造形物表面の段差を目立たなくするために、部分的に同図(a)に示すように細かいピッチで積層する造形用データを用いる場合があるが、その造形結果は同図(b)に示すようになり、層毎に寸法偏差が異なるため余剰硬化部分2が凸凹となるという問題を示している。
【0010】
また図60(a)に示すような元のデータに基づいて得られる同図(b)に示す補正前のデータから余剰硬化に対する補正を行った同図(c)に示すデータを生成し、この補正後のデータにより造形を行っても、同図(d)に示すように形状の欠落部分3が発生し、所望の寸法精度が得られず、補正を行うことによって、かえって形状の不具合を引き起こすという問題があった。
【0011】
更に従来では、三次元の形状データにスライス面の処理を施す際、スライス座標値と形状との関係で、形成時に不具合となるような断面輪郭線データが生成される可能性があった。
例えば図61(a)に示すような断面形状を持つ同図(b)に示す三次元形状の造形物1を形成する場合、同図(a)において▲1▼▲2▼▲3▼のようなスライス面における断面輪郭線データを生成した場合、スライスする座標値と形状との関係で、▲2▼のスライス面では図62の(b)に示すような断面輪郭線データが生成され、造形物形成時の軌跡が図63(b)の如く二重輪のようになり、不具合となるという問題があった。図62(a)、(c)は▲1▼、▲3▼のスライス面に対応する断面輪郭線データ、図63(a),(c)は▲1▼、▲3▼のスライス面に対応する断面輪郭線データに対応する軌跡を示す。
【0012】
更にまた積層構造で三次元造形物を形成する場合、積層ピッチを図64(a)に示すように等ピッチ(例えば0.2mm)とすると、立ち上がりの強い面と比べて水平に近い面の仕上がりが粗くなり、この点に対処して積層ピッチを細かくすると造形時間が増大すという問題があった。そこでこの問題点を解消するために、図64(b)に示すように部分的に積層ピッチを細かくする不等ピッチスライスの処理方法が提案されているが、装置のオペレータが細かくする座標値の範囲を指定する必要があり、そのためには形状を詳細に確認しなければならなかった。そのため見落としも多くなり、事実上は一度テストで造形し、その結果で決めていたため、工数が多くなるという問題があった。図64(b)の場合、中央部分が0.1mmのピッチ、その上下両側は0.2mmのピッチとしていた。
【0013】
更に三次元形状データに不具合があった場合、それをスライスした断面輪郭線データにも不具合が当然発生する。一般に、三次元形状の元データがソリッドモデルの場合は不具合が少ないが、サーフェスモデルの場合は不具合が出易いという問題があった。現状のソリッドモデルは、自由曲面の機能が弱いので、自由曲面を持つ形状の場合、サーフェスモデルを使用することが多い。またサーフェスモデルを不具合のでないように修正すると、手戻りになるため、リードタイム、モデリング工数の増大が問題となった。
【0014】
また、CADデータなしに、直接断面輪郭線データを受け取るような場合は、CADによるデータ修正が不可能であるため断面輪郭線データの修正が不可欠である。
更に薄層(薄板)を重ねることによって三次元の造形物を形成する際、データ処理上、形状の上向き部分は所望の形状より内側に、形状の下向き部分は外側になる(データの使い方によっては、これと反対の現象になる)。図65(a)はこの場合の元のデータを示し、同図(b)は造形結果を示しており、本来の輪郭線より形状の上向き部分が所望の形状より内側に、形状の下向き部分が外側になっていることが分かる。この造形物に表面処理を行って仕上げをするとき、磨き処理(同図(c))の場合には上向き部分が、コーテイング処理(同図(d))の場合には下向き部分が、それぞれの所望の形状から更に誤差Xが拡大する方向に仕上げられるので、正確な造形物に仕上げるのが難しいという問題があった。
【0015】
また更に三次元形状をスライスするときに、閉ループの断面輪郭線に与える方向は、三次元形状データに付加されている位相データ(面の表裏の情報)による。元データがソリッドモデルの場合は位相データが正しく付加されているが、サーフェースモデルの場合は元々位相データを持たないため、情報の信頼性がない。
【0016】
しかし、正確な寸法の造形物を形成するために、断面輪郭線データを補正する場合には、このループの方向が重要となる。形成寸法精度向上のための補正でも必要であるが、一般的に行われているレーザースポット径の補正を行う場合について考えてみると、レーザースポット径の半径分、形状の内側方向にオフセットする必要がある。ループ方向に対して左側を形状の内側と定めた場合全てループの回転方向の左側にオフセットする処理となる。従って図66(a)に示すようにループの方向が正しい場合には、レーザー軌跡データは同図(b)に示すようレーザースポットの半径分のオフセットOがかかることになって、外形寸法に影響を与えることがないが、図67(a)に示すように回転方向が不具合な場合には、同図(b)に示すようにオフセットが逆方向にかかり、正確な寸法の造形物が得られないという問題があった。
【0017】
【発明が解決しようとする課題】
本発明は上記各問題点に鑑みて為されたもので、その目的とするところは、光硬化性樹脂を用いて三次元形状の造形物を形成するためのデータ作成工数と造形物の後加工処理を軽減し、しかも造形物を高精度で形成することができる三次元光造形用データ作成方法を提供するにある。
【0018】
【課題を解決するための手段】
上記目的を達成するために請求項1の発明では、光硬化性樹脂に光を照射して形成した光硬化層、或いは薄板を複数層積み重ねて所望の三次元形状を形成する三次元形状装置に用いる三次元光造形用データ作成方法において、三次元形状データを形成段差が目立たないようにスライスして複数の断面輪郭線データを作成する段階と、入力された形状データの不備による断面輪郭線データの不具合を補正する段階と、形成寸法精度向上のために断面輪郭線データを補正する段階とから成り、前記スライスして複数の断面輪郭線データを作成する段階は、不具合の出る座標値で三次元形状データをスライスするのを避けるための座標値補正過程と、形成段差を目立たなくするために、形成段差の目立つ箇所を通常ピッチより細かくスライスする過程とから成ることを特徴とする。
【0020】
請求項2の発明では、請求項1の発明において、上記スライス座標値補正過程は、条件により計算或いは指定されたスライス座標値列の各々の数値に対して、データ作成対象となる三次元形状形成装置の積層方向移動量の最小値単位未満の任意の微小数値を一律に加算或いは減算することにより行うことを特徴とする。
請求項3の発明では、請求項1の発明において、上記スライスする過程は、形状を一定ピッチでスライスするとともに、該スライスにより形成したある二つの層間を補間する層が必要か否かを、この二つの層で挟まれた領域に存在するSTLデータのファセットの法線ベクトル情報から判断して補間層数を決定し、その数値に基づいてスライス位置を決定して2層間を追加スライスすることを特徴とする。
【0021】
請求項4の発明では、請求項3の発明において、上記二つの層で挟まれた領域に存在するSTLデータのファセットの法線ベクトルの内、下向きの法線ベクトルを持つデータを判断から外すことを特徴とする。
請求項5の発明では、光硬化性樹脂に光を照射して形成した光硬化層、或いは薄板を複数層積み重ねて所望の三次元形状を形成する三次元形状装置に用いる三次元光造形用データ作成方法において、三次元形状データを形成段差が目立たないようにスライスして複数の断面輪郭線データを作成する段階と、入力された形状データの不備による断面輪郭線データの不具合を補正する段階と、形成寸法精度向上のために断面輪郭線データを補正する段階とから成り、上記断面輪郭線データの不具合を補正する段階は、開ループを閉ループ化する過程と、閉ループの自己交差を分割・削除する過程と、閉ループの重なりを是正する過程と、不要な閉ループを削除する過程と、閉ループの回転方向が正しいかどうが不明確なデータに対して閉ループの回転方向の予め規定した側が形状の内側になるように閉ループの回転方向を是正する過程とから成ることを特徴とする。
【0022】
請求項6の発明では、請求項5の発明において、上記開ループを閉ループ化する段階では、開ループが自己で閉ループ化を試行し、閉ループ化されない場合は、他の開ループとの接続による閉ループ化を試行し、他の開ループと接続できない場合は削除することを特徴とする。
請求項7の発明では、請求項6の発明において、上記開ループの自己での閉ループ化の方法は、開ループに自己交差がある場合又は端点が当該開ループ上にある場合、交点で閉ループ化して残りを削除し、次に端点間の距離が指定値以下であれば、端点間に直線を追加して閉ループ化し、更に該閉ループと端点との距離が指定値以下であれば、当該端点から閉ループの垂線を追加して閉ループ化し、残りを削除することを特徴とする。
【0023】
請求項8の発明では、請求項6又は7の発明において、複数の開ループを接続しての閉ループ化の方法は、ループの方向が既に正しく設定されているとする条件で、或る二つの開ループが交差或いは接点を持つ場合に対して、ループの方向が合うように交点で二つの開ループをつなぎ替え、短い方を削除し、残った開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
終点と他の開ループの始点との距離、或いは始点と他の開ループの終点との距離が指定値以下の場合に対して、複数の該当があれば最短距離のループを対象として端点間に直線を追加することにより接続し、この接続によりできた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
他の開ループとの間で端点とループとの距離が指定値以下であるという関係の場合に対して、当該端点からループへの垂線を追加し、該垂線とループとの交点からループ方向が合ように接続するとともに接続によって残った部分を削除し、該接続と削除によりできた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
上記各過程において処理対象となる開ループ以外の開ループのデータを削除する過程とからなり、元から存在している開ループ及び上記過程で二次的に発生した開ループのデータが無くなるまで、上記過程の処理を繰り返すことを特徴する。
【0024】
請求項9の発明では、請求項6又は7の発明において、上記複数の開ループを接続しての閉ループ化の方法は、ループの方向が不明確な条件で、或る二つの開ループが交差或いは接点を持つ場合に対して、各々のループの、交点若しくは接点で分割された長い方同士を接続するとともにループの方向を二つの内の長い方に合わせ且つ残りを削除し、得られた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
他の開ループとの間で端点とループとの距離が指定値以下の場合に対して、複数の該当があれば最短距離のループを対象として端点間に直線を追加することにより接続するとともにループの方向を二つの内の長い方に合わせ、得られた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
他の開ループとの間で端点とループとの距離が指定値以下であるという関係の場合に対して、当該端点からループへの垂線を追加し、該垂線とループとの交点で分割された長い方と接続するとともにループの方向を二つの内の長い方に合わせ且つ残りを削除し、得られた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
上記各過程において処理対象となる開ループ以外の開ループのデータを削除する過程とからなり、元から存在している開ループ及び上記過程で二次的に発生した開ループのデータが無くなるまで、上記過程の処理を繰り返すことを特徴する。
【0025】
請求項10の発明では、請求項5の発明において、上記自己交差を分割・削除する過程は、自己交差の交点毎に閉ループの切り出しと、残りのループの接続による閉ループ化を行っていくことにより最終的に複数の閉ループを得、該面積最大の閉ループのみ以外を削除することを特徴とする。
請求項11の発明では、請求項5の発明において、上記閉ループの重なりを是正する過程は、ループの回転方向が既に正しく設定されている場合において、重なった二つの閉ループの回転方向が等しい時に、当該両閉ループの論理和を取って両閉ループを統合し、回転方向が異なる時に、面積大の閉ループから面積小の閉ループを引く形で両閉ループを統合することを特徴とする。
【0026】
請求項12の発明では、請求項5の発明において、上記不要な閉ループを削除する過程は、ループの回転方向が既に正しく設定されている場合に、一断面内の全ての閉ループの包含関係を予め求め、この求めた包含関係情報を用いて最上位の閉ループを親ループとし、該親ループと該親ループの一つ下の閉ループの回転方向の相違をチェックして親ループと同じ回転方向を持つ場合には該閉ループを削除し、削除した閉ループに下位の閉ループが包含される場合には包含される閉ループを一段上位に上げ、該閉ループについても親ループとの間で回転方向の相違をチェックし、親ループと同じ回転方向を持つ場合には該閉ループを削除するという操作を親ループから最下位の閉ループまで順番に行うことを特徴とする。
【0027】
請求項13の発明では、請求項5の発明において、上記閉ループの回転方向を是正する過程は、一断面内の全ての閉ループの包含関係を求め、この求めた包含関係情報を用いて最上位の閉ループを親ループとして該親ループに対して内側が形状の内側になるような回転方向を与え、以下最下位の閉ループまで順番に夫々親ループと反対のループ回転方向を設定することを特徴とする。
【0028】
請求項14の発明では、光硬化性樹脂に光を照射して形成した光硬化層、或いは薄板を複数層積み重ねて所望の三次元形状を形成する三次元形状装置に用いる三次元光造形用データ作成方法において、三次元形状データを形成段差が目立たないようにスライスして複数の断面輪郭線データを作成する段階と、入力された形状データの不備による断面輪郭線データの不具合を補正する段階と、形成寸法精度向上のために断面輪郭線データを補正する段階とから成り、形成寸法精度向上のために断面輪郭線データを補正する段階は、形成後の表面処理方法に応じたループの補正過程と、光硬化性樹脂の余剰硬化のためのデータ補正過程と成ることを特徴とする。
請求項15の発明では、請求項14の発明において、上記形成後の表面処理方法に応じたループの補正過程は、形成後に磨きによる表面処理を行う場合に対応して、或る層の断面輪郭線データと該層の一層下の層の断面輪郭線データとの論理和を該層の補正データとし、この補正データを生成する操作を全層に亘って行うことを特徴とする。
【0029】
請求項16の発明では、請求項14の発明において、上記形成後の表面処理方法に応じたループの補正過程は、形成後にコーティングによる表面処理を行う場合に対応して、或る層の断面輪郭線データと該層の一層下の層の断面輪郭線データとの論理積を該層の補正データとし、この補正データを生成する操作を全層に亘って行うことを特徴とする。
【0030】
請求項17の発明では、請求項14の発明において、上記光硬化性樹脂の余剰硬化のためのデータ補正過程は、条件によって異なる余剰硬化の寸法偏差を予め条件付けしてデータベースに登録しておき、補正の際に補正対象層における寸法偏差を、該補正対象層及びその上位に存在する層の厚みと層数の条件に応じてデータベースから検索若しくは検索した値を加工して得、この寸法偏差に相当する分下方に存在する層を求め、該層と上記補正対象層との断面輪郭線データの論理積を上記補正対象層の補正データとし、この補正データを得る操作を最上位層以外の全層に亘って行うことを特徴とする。
【0031】
請求項18の発明では、請求項17の発明において、補正を行う層の範囲、補正を行わない層の範囲の纏まりを複数指定可能とし、補正を行う層範囲では一つの層範囲の纏まり毎に独立した形状データとして補正を行うことを特徴とする。
請求項19の発明では、請求項14の発明において、上記光硬化性樹脂の余剰硬化のためのデータ補正過程は、条件によって異なる余剰硬化の寸法偏差を予め条件付けしてデータベースに登録しておき、補正の際に補正対象層を当該層の上位に存在する複数層の形状によって層数の条件毎に複数の部分に分割し、上位に層が存在しない部分についてはその部分を補正データとし、その他の部分については夫々の部分における寸法偏差を、当該部分及び当該部分の上位に存在する層の厚みと総数の条件に応じてデータベースから検索若しくは検索した値を加工して得、この寸法偏差に相当する分下方に存在する層を求め、該層と上記当該部分との断面輪郭線データの論理積を上記当該部分の補正データとし、この補正データを分割された全ての部分について求めるとともにこれらの補正データを統合することにより補正対象層の補正データとし、この補正データを得る操作を全層に亘って行うことを特徴とする。
【0032】
【発明の実施の形態】
以下、本発明を実施形態により説明する。
図68は本発明に用いる三次元形状形成装置の構成を示しており、この三次元形状形成装置は、光源10と、光源10から照射された光をXY平面上に走査する光走査部11と、光硬化性樹脂液15を貯留する矩形枠状の樹脂液槽12と、樹脂液槽12内に沈められた水平台状をなす成形台13と、樹脂液槽12上を水平移動するドクタープレード(掃き取り部材)14とを備えている。
【0033】
光源10は、たとえば、紫外線レーザー光を照射するガスレーザー発振源であり、支持ステージ20上に取り付けられている。光走査部11は、光源10とともに支持ステージ20に取り付けられている。光走査部11は、光源10からのレーザー光を反射する3つの固定ミラー21,22,23と、固定ミラー23で反射した光をX方向に走査するX走査ミラー24と、X走査ミラー24でX方向に走査されたレーザー光をY方向に走査して成形台13上の樹脂液面に向けて照射するY走査ミラー25とを有している。X走査ミラー24およびY走査ミラー25は、それぞれの駆動部26,27を有しており、駆動部26,27によりその傾斜角度を変更することでそれぞれの方向にレーザー光を走査する。すなわち、光走査部11では、光源10から投射されたレーザー光17を二つの走査ミラー24,25でX,Yの2方向に偏向して成形台13上に照射する。
【0034】
樹脂液槽12の一隅には、直方体形状の凹部12aが形成されており、この凹部12aには、光源10から照射されたレーザー光の照射位置を繰出するためのセンサ30が設けられている。なお、センサ30は1個ではなく複数個設けてもよい。
センサ30は、2次元位置検出素子(PSD)からなり、センサ30に照射されたレーザー光の照射位置の所定位置(通常は受光面の中心)からのX,Y方向のずれ量を2次元で繰出できる。このセンサ30は、コンピュータ31に接続されている。
【0035】
コンピュータ31には、X,Y駆動部26,27と光源10と成形台昇降機構とドクタープレード移動機構とも接続されている。コンピュータ31は、成形台昇降機構とドクタープレード移動機構との移動を制御するとともに、走査データに基づき光源10及びX,Y駆動部26,27を制御する。また、コンピュータ31は、所定のタイミングでセンサ30にレーザー光を照射し、センサ30により照射位置が検出されると、所定位置からのずれ量に基づき駆動部26,27を制御し、走査ミラー24,25を傾けて照射位置の変動を補正する。
【0036】
成形台13は、樹脂液槽12の外部に設置された昇降機構(図示せず)により、樹脂液15中で昇降可能となっており、造形された光硬化層16を支持する。ドクターブレード14は、樹脂液槽12の外部に設置された水平移動機構(図示せず)により水平移動可能となっている。ドクターブレード14は、成形台13または先に形成された光硬化層16の上に形成された樹脂液薄膜上を水平移動により掃き取り、樹脂液薄層の厚みを一定にしかつ表面を滑らかにするための部材である。
【0037】
この装置の動作の一例を図69に示すフローチャートにより説明する。コンピュータ31に電源が投入されると、図69のステップSlでは、X,Y駆動部26,27に所定の指令値を送信し、X,Y走査ミラー24,25を傾けてセンサ30の受光面に向けてレーザー光を照射する。ステップS2では、センサ30のレーザー光や照射位置(X0,Y0)を読み込む。この照射位置(X0,Y0)が以降の照射位置の原点となる。ステップS3では、光源10およびX・Y駆動部26,27に走査データを送信する。ステップS4では、レーザー光を樹脂液面のXY方向に走査する。この結果、樹脂液槽12内の成形台13上の樹脂液15の露光部分が一層分所定の形状に硬化し、光硬化層16が造形される。ステップS5では、成形台13を所定量下降させ、続いて、ドクタープレード14を動作させる。この結果、造形された光硬化層16の上に一定厚みの滑らかな樹脂液薄膜が形成される。ステップS6では、全ての光硬化層16の造形が終了したか否かを判断する。全ての光硬化層16の造形が終了した場合には処理を終了し、造形が終了していない場合にはステップS7に移行する。ステップS7では、ステップSlと同様に所定の指令値をX・Y駆動部26・27に送信し、X,Y走査ミラー24,25を傾けてセンサ30の受光面に向けてレーザー光を照射する。ステップS8では、センサ30のレーザー光の照射位置(Xl・Yl)を読み込む。ステップS9では、今回の照射位置(Xl・Yl)と原点(X0,Y0)との差により補正量(△X,△Y)を求める.ステップS10では、次の光硬化層16を造形する際の走査データの補正を行う。具体的にはX(補正後の走査データ)=X(補正前の走査データ)−△X、Y(補正後の走査データ)=Y〈補正前の走査データ) △Yでデータの補正を行う。ステップSl0での補正が終了するとステップS3に戻り、次の光硬化層16の走査データを光源10及びX・Y駆動部26,27に送信し、以降の動作を造形終了まで繰り返す。
【0038】
以上のような動作を基本的な動作を行うものであり、本発明はこの三次元形状形成装置のコンピュータ31に三次元形状の造形物を形成するためのデータを与える3次元CADのようなデータ生成装置32におけるデータ処理方法にかかるものである。
(実施形態)
本実施形態は形成段差が目立たないようなデータ作成する方法にかかるものであり、まず図68で示すデータ生成装置32は、図1に示すように不具合を含む三次元形状データが入力されると、不具合の有無に如何に関わらず不具合の出る位置でスライスするのを避けるためにスライス座標値を補正し、その後形成段差が目立たないように三次元形状データをスライスして複数の断面輪郭線を作成する。この形成段差が目立たないように三次元形状データをスライスする方法は、図2に示すフローチャートのような方法が採用される。
【0039】
上記のスライス座標値の補正は、図3に示すフローチャートに基づいて補正を行う。
即ち、形成する三次元形状の造形物をZ軸方向(高さ方向)にスライスするものとし、スライス開始Z座標STARTZが指定されると、のスライス開始Z座標STARTZに微小数値αを加えて実際のスライス開始Z座標STARTZとし、この実際のスライス開始Z座標STARTZをスライスするZ座標Ztmp とする。
【0040】
この後、前回のスライスしたZ座標Ztmp にスライスピッチPを加えながら、次回、スライスするZ座標Ztmp を決定し、スライス終了座標ENDZをZ座標Ztmp が越えるまで順次スライスを行うのである。
例えば図4に示すような形状を持つ造形物1を形成する場合、下側の大径部1aと、上側の小径部1bとの境界面までの高さ位置さを30mmとし、スライスピッチPを0.1とし、指定されたスライス開始Z座標STARTZを0.0、スライス終了Z座標ENDZを50.0とし、微小数値αを0.000333とした場合、指定スライスZ座標値と、実際のスライスZ座標値との間には0.000333のずれが生じ、不具合が出る位置(30mmの高さ位置)のZ座標値30.0に対応する実際のスライスZ座標値は30.000333となり、不具合が発生しなくなる。
【0041】
さて図2においてはスライス座標値を補正してスライスした後、形成段差を目立たなくするために形成段差の目立つ箇所を通常ピッチより細かく追加スライスする。この過程における方法は図5に示すフローチャートによる。
つまり上述と同様にZ軸方向でスライスするものとし、通常のスライスピッチをP、図6に示すように造形物1の許容最大段差をamax スライス開始Z座標を、STARTZ、スライス終了Z座標をENDZ、スライスするZ座標をZtmp とすると、まずこの過程での処理はスライス開始Z座標STARTZとしてZtmp をセットし、90°をファセットの法線ベクトルとz軸との為す角度θmin Uにセットし、スライスするZ座標Ztmp にスライスピッチPを順次加えながら、Z座標Ztmp がスライス終了Z座標ENDZを越えるまで以下の処理を行う。
【0042】
まずZ座標Ztmp を横切るファセットのデータを全て読み込み、ファセットの状態と、ファセットの法線ベクトルとz軸との為す角度θ(0〜90°にとる)を調べ、更にスライスするZ座標Ztmp のスライスデータ作成を行う。
次いで、全てのθから、図7に示す状態II,IV,VIでの最小角度θmin Dをセットする。そして上記のθmin Uと、θmin Dの小さい方をθmin とする。4はスライスする平面を示す。
【0043】
次に全てのθから、状態II,III,Vでの最小角度θmin Uをセットする。
上記のθmin の角度における許容段差amax の場合の高さPPを形成する。PP=amax ・tan(θmin )を計算し、このPPがPP≧Pの場合、Ztmp にスライスピッチPを加えて上記の処理に戻るが、PPがPP≧Pでない場合にはPPとPの数値により、下層との間を何分割するかを決定し、スライスするZ値(Ztmp 1,2,3…)を計算する。この処理が追加スライス位置決定処理である
そしてこのZtmp 1,2,3…のスライスデータを作成した後、Ztmp にスライスピッチPを加えて上記の処理に戻ることになる。
【0044】
Ztmp がENDZを越えると、全スライスデータをZ座標値の小さい順に並べてこの過程を終了する。
ここで上記の追加スライス位置決定処理について説明すると、例えばamax が0.5mm、θmin が5°、スライスピッチPが0.1mmであったとすると、上記の高さPPは0.044となり、PP<Pが成り立つ。
【0045】
そして分割数の決定はP/PP=2.2286から、切り上げて分割数=3とする。また座標値の決定は下層のZ座標値=100.000333とすると、層間(0.1mm)を3等分した中間の二つのZ座標値は、
Ztmp 1=100.033666
Ztmp 2=100.066999
となり、その位置で追加スライスすることになる。
【0046】
尚上記でθが0°に非常に近くなると、計算上の分割数が増大するが、形成装置の機械的限界も考慮して、例えば最大5分割までというように上限を決めておくようにしたほうが良い。これに関してファセットの法線ベクトルとz軸とのなす角度θが0°に非常に近いもの(例えば3°未満)を0°(状態I)と見做して判断から除外するようにしても良い。
【0047】
以上のようにして入力データがあると、図2に示すように不具合の出る位置でスライスするのを避けるためにスライス座標値を補正し、この補正後形成段差を目立たなくするために形成段差の目立つ箇所を通常ピッチより細かいスライスするデータを作成後、断面輪郭データを生成するのである。
ところで光硬化性樹脂を使用する三次元形状形成装置にあっては、レーザー光による硬化単位の形状が、上方は平面であるが、下方は図8に示すように球面近似形状のため、造形物1の下向き面は元々段差が目立たない。そこで下向き面については考慮しないことにすれば積層数が削減でき、データ処理時間、形成時間を短縮できる。また、いたずらに積層厚みを細かくすると、光硬化性樹脂の余剰硬化における寸法偏差が増大し、寸法精度が低下するので、これを抑制する意味でも有効となる。その方法として、図5におけるスライスするZ座標Ztmp を横切るファセットのデータを全て読み込む段階で、法線ベクトルの下向きのデータを読み飛ばすようにすれば良い。
【0048】
さて上記図1において形成段差が目立たないように三次元形状データをスライスし、複数の断面輪郭線を作成して得られた断面輪郭線データには、入力された三次元形状データに不具合があった場合、当然その断面輪郭線データにも不具合が発生する。
そこで不具合の無い断面輪郭線データの条件は、次の3点がある。
【0049】
▲1▼図9(a)に示すような開ループ(始点と終点が一致ないループ)でなく、全ての輪郭線は閉じている(閉ループである)点
▲2▼図9(b)に示すような自己交差(8の字部分がある)が無い点。
▲3▼図9(c)に示すようなループの重なりがなく、輪郭線同士が交わらない点
尚ループには始点から終点へという方向があり、この方向によって閉ループの内側が詰まっているのか、穴なのかが決まるものとする。本実施形態では、ループの始点から終点に向けて右側が形状の外側、左側が形状の内側というように決めており、このルールに従って言えば、閉ループが反時計回り(以下CCWと称する)のときは内側が詰まっている(中実)状態であり、時計回り(以下CWと称する)の時は穴(中空)の状態であると言える。
【0050】
図10はデータに含まれる不具合を補正する処理のフロチャートを示しており、このフローチャートでは開ループを閉ループ化する過程と、閉ループの自己交差を分割・削除する過程と、閉ループの重なりを是正する過程とで、上記の条件▲1▼乃至▲3▼を満足させ、更に不要な閉ループを削除する過程と、閉ループの回転方向を是正する過程とを経て、不具合を補正した断面輪郭線データを生成するのである。
【0051】
ここで、開ループの閉ループ化の過程は図11に示すフローチャートにより行う。
つまりこの過程では開ループのデータを全て読み込み、自己での閉ループ化処理と、他の開ループとの接続による閉ループ化処理と、接続できない開ループを削除する処理とを行う。
【0052】
自己での閉ループ化処理は、図12に示すフローチャートにより行う。つまり、開ループデータを一つずつ順次選択し、選択した閉ループが、図13(a)に示すように始点Sと終点Eとの間に交点が存在している場合、つまり自己交差がある場合、或いは図14(a)に示すように端点(始点S或いは終点E)がループ上に存在している場合、図13(b)又は図14(b)に示すように交点で閉ループ化し、図13(c)又は図14(c)に示すように削除することにより始点Sと、終点Eとを一致させる処理を行う。
【0053】
また図15(a)に示すように端点間(始点Sと終点Eとの間)の距離Gが指定値ΔG以下の、開ループが存在している場合、図15(b)に示すように端点間に直線を追加して図15(c)に示すように閉ループ化する。
更に図16(a)に示すように端点(始点S又は終点E)との間の距離Gが指定値ΔG以下である場合には、当該端点からループへの垂線を図16(b)に示すように追加して図16(c)に示すように閉ループ化を行う。このようにして自己での閉ループ化ができる開ループデータについて閉ループ化処理が終了すれば、自己での閉ループ化処理より抜け出ることになる。
【0054】
尚閉ループ化により生成したデータは、データ処理装置32において登録するとともに、閉ループ化された元の閉ループデータを削除する。
上記の自己での閉ループ化かできず、他の開ループとの接続によって閉ループ化する場合には、図17、図21に示すフローチャートにより閉ループ化処理を行う。図17の場合は、ループの方向が既に正しく設定されている場合に用いる。
【0055】
この場合、開ループデータを一つずつ順次選択し、図18(a)に示すように他の開ループと交差或いは接点を持つ開ループと交差或いは接点を持つ開ループデータを選択した場合には、図18(b)に示すように方向を合わせて交点で両ループをつなぎ替え、短い方を図18(c)に示すように削除する処理を行う。また終点Eと他の開ループの始点S、始点Sと他の開ループの終点E間の距離が図19(a)に示すように指定値G以下の開ループデータを選択した場合には、端点間に直線を図19(b)に示すように追加して、図19(c)の示すように両ループを接続する処理を行う。
【0056】
更に端点と他の開ループとの距離、ループと他の開ループの端点との距離が図20(a)に示すように指定値G以下の開ループデータを選択した場合には、端点からループへの垂線を図20(b)に示すように追加して、図20(c)に示すように垂線との交点で分割された方向の合う方と接続する処理を行う。
上記のようにして複数の開ループを接続して閉ループ化処理を行ったのち、更に上述と同様に自己での閉ループ化処理を行い、最終的に閉ループ化できた場合には、該閉ループ化によって生成された閉ループデータを登録し、閉ループ化された元の二つの開ループデータを削除する。また閉ループ化できなかった場合には接続した両開ループデータを削除するとともに、接続して得られたデータを新開ループデータとして追加する。
【0057】
そして処理に当たって選択した開ループデータが上記の何れの場合にも該当しない開ループデータであれば当該開ループデータを削除する。
かようにして順次該当開ループデータを順次選択し、全てのデータの選択、処理が終了すると、当該過程より抜け出ることになる。
また複数の開ループを接続する閉ループ化処理に当たって、取り扱う開ループの方向が正しいかどうかが不明確な場合には、図21のフローチャートにより閉ループ化処理を行う。
【0058】
この場合も開ループデータを一つずつ順次選択し、図22(a)に示すように他の開ループと交差或いは接点を持つ開ループと交差或いは接点を持つ開ループデータを選択した場合には、図22(b)に示すように交点で分割された長い方同士を接続するとともにループ方向を長い方に合わせ、残りを図22(c)に示すように削除する処理を行う。
【0059】
また終点Eと他の開ループの始点S、始点Sと他の開ループの終点E間の距離が図23(a)に示すように指定値G以下の開ループデータを選択した場合には、端点間に直線を図23(b)に示すように追加するとともにループ方向を長い方に合わせ、図23(c)の示すように両ループを接続する処理を行う。
更に端点と他の開ループとの距離、ループと他の開ループの端点との距離が図24(a)に示すように指定値G以下の開ループデータを選択した場合には、端点からループへの垂線を図24(b)に示すように追加して、垂線との交点で分割された長い方向と接続するとともにループ方向を長い方に合わせ、図24(c)に示すように短いループを削除する処理を行う。
【0060】
上記のようにして複数の開ループを接続して閉ループ化処理を行ったのち、更に上述と同様に自己での閉ループ化処理を行い、最終的に閉ループ化できた場合には、該閉ループ化によって生成された閉ループデータを登録し、閉ループ化された元の二つの開ループデータを削除する。また閉ループ化できなかった場合には接続した両開ループデータを削除するとともに、接続して得られたデータを新開ループデータとして追加する。
【0061】
そして処理に当たって選択した開ループデータが上記の何れの場合にも該当しない開ループデータであれば当該開ループデータを削除する。
かようにして順次該当開ループデータを順次選択し、全てのデータの選択、処理が終了すると、当該過程より抜け出ることになる。
さて図10において、上述のような方法により開ループを閉ループ化する過程を終了した後、閉ループの自己交差を分割・削除する過程を経る分けであるが、この過程では図25に示すフローチャートによる処理を行う。
【0062】
つまりこの場合閉ループデータを一つずつ順次選択し、選択した閉ループに自己交差がある場合、交点で閉ループを切り出して二つの閉ループに分割する。
そしてこれら分割は閉ループデータを用いて再度自己交差の有無を判断し、有れば再度交点で閉ループを切り出して二つの閉ループに分割する。このようにして自己交差が無くなるまで分割処理を行い、分割処理により複数の閉ループに分割されている場合に、その内の面積最大の閉ループのみを新たなデータとして登録し、他を削除するとともに、元の閉ループデータを削除する処理を行う。
【0063】
図26(a)では二つの自己交差がある閉ループを示しており、この閉ループの場合には、分割処理により三つの閉ループに分割され(図26(b))、その内の最大の閉ループが図26(c)に示すように選択されることになる。
かようにして順次該当閉ループデータを順次選択し、全てのデータの選択、処理が終了すると、当該過程より抜け出ることになる。
【0064】
さて閉ループの自己交差の分割・削除処理の過程が終了すると、図10に示すように閉ループの重なりの是正処理の過程に進むが、この過程では、図27に示すフローチャートによる処理が為される。但し、ループの回転方向が既に正しく設定されている場合に対応する。
つまりこの場合閉ループデータを一つずつ順次選択し、選択した閉ループに他の閉ループと重なりがあるか否かの判定を行い、ある場合には更にループの回転方向が同じであるか異なるかを判定し、図28(a)に示すようにループの回転方向(位相)が等しい場合には、二つの閉ループの論理和をとることにより、図28(b)に示すようにループを統合し、図29(a)に示すようにループの回転方向(位相)が異なる場合には、面積大の閉ループから面積小の閉ループを引く形で図29(b)に示すように統合し、これら統合した新ループデータを追加し、元の両閉ループデータを削除する。
【0065】
かようにして順次該当閉ループデータを順次選択し、全てのデータの選択、処理が終了すると、当該過程より抜け出ることになる。
この過程を終了すると、図10に示すように不要な閉ループの削除過程に入ることなるが、この過程では、図30に示すフローチャートによる処理が為される。但しこの場合ループの回転方向が既に正しく設定されているものとする。
【0066】
まず、一断面内の全ての閉ループの包含関係を調査してデータ生成装置32のメモリにセットする。
このセット方法は図31(a)に示すように各ループLP1乃至LP6がある場合、包含関係のレベルと、そのループの回転方向とを表1に示すようなテーブルに纏めてセットする。
【0067】
【表1】
【0068】
そして1番目のデータから順次ループ番号、レベル、回転方向のデータを読み込み、その回転方向を作業領域WORK(レベル0)に格納する。そして当該データのレベルが0であるのか否かを判断する。ここで1番目のデータであるループLP1のレベルは0であるから、親ループと判断され、次の2番目のデータを読み出し、その回転方向を作業領域WORK(レベル1)に書き込む。
【0069】
ここで2番目のデータであるループLP2はレベル1であるから、次に回転方向がレベル0の親ループLP1と等しいか判断される。
ここでは異なるから、次に3番目のループLP4のデータを読み出し、その回転方向を作業領域WORK(レベル2)に書き込み込む。この場合レベルは2であるので、回転方向を、レベル1のループの回転方向と比較する。ここで2番目のループLP2の回転方向とループLP4の回転方向が異なるので、次の4番目のループLP5のデータを読み出し、そのレベル3に対応する作業領域WORK(レベル3)に回転方向を書き込む。ここでレベル3であるから先のレベル2のループLP4の回転方向と比較する。この場合回転方向が異なるので、5番目のデータであるループLP3のデータを読み出し、そのレベル1に対応する作業領域WORK(レベル1)に回転方向を書き込む。ここでレベルが1であるので、レベル0のループLP1の回転方向と比較する。この場合両ループLP1、LP3とも回転方向が同じであるから、5番目のループ番号のデータを削除する。
そして現在呼び出しているループのデータとして親ループのレベル、つまり元をセットし、次に6番目のデータ、つまりループLP6のデータを読み出し、もしこれで全てのデータの読み出しが終了していなければ、次の7番目のデータの読み出しに移るが、図31(a)の場合、終了となるので、ループLP6のレベルと元レベルとを比較し元レベルが等しく若しくは大きい場合にはループLP6のレベル、つまり2から1減じてループLPのレベルを1にセットする。
【0070】
このようにして、不具合のあるデータであってもループの回転方向により不要なループを図31(b)に示すように判定して削除でき、これに起因する形状不具合の防止や、データ修正工数の削減が図れる。
さて不要な閉ループの削除過程が終了すると、図10に示すように閉ループの回転方向の是正の過程に移行する。この閉ループの回転方向の是正では、図32に示すフローチャートによる処理が為される。この場合上述と同様に一断面内の全ての閉ループの包含関係を調査してメモリにループ番号とレベルとをセットする。ここで例として図31(a)の場合を取り上げる。
【0071】
このセットされたデータからまず1番目のデータを順次読み出し、読み出してデータのレベルが奇数か、偶数かを見て、奇数のレベルのループ番号のデータを回転方向CWに変換し、偶数の場合には回転方向CCWに変換する。
このようにすることによりループの回転方向に信頼性が無くとも、断面内のループの包含関係により内外を判断し、それに応じて回転方向を是正することにより、これに起因する形成不具合の防止、データ修正工数の削減が図れる。
【0072】
以上のようにして図10に示す不具合補正の処理を終了して不具合補正後の断面輪郭線データをデータ生成装置32は作成し、図1に示すように形成寸法精度向上のために断面輪郭線データを補正する段階に入る。
この段階は、図33に示すように形成後の表面処理の方法に応じたデータ補正処理と、光硬化性樹脂の余剰硬化を是正するためのデータ補正処理とがあり、形成後の表面処理の方法に応じたデータ補正処理の場合には、形成後に磨きによる表面処理を行う場合の補正方法と、形成後にコーティングによる表面処理を行なう場合の補正方法とがある。
【0073】
前者の補正方法は図34に示すフローチャートによる処理が為される。
つまり造成物の総積層数をNmax とし、第n層と、その前の層である第n−1層の論理和を演算して第n層の補正データとする処理を行うのである。但し、第0層のデータは三次元形状の最低Z値でスライスした断面輪郭線データとする。従って補正前のデータが図35(a)の場合、補正後のデータは図35(b)に示すように上向き部分、下向き部分とも所望の形状の外側に位置した形状データとなる。この補正後の形状データにより造形物を形成した後、外側の部分を研磨処理するだけで、所望の寸法が確保でき、容易な作業で正確な寸法の造形物1が図35(c)のように得られることになる。
【0074】
以上のような補正したデータを用いて造形物を形成した後に形成段差を研磨処理するだけで、所望の寸法が確保でき、容易な作業で正確な寸法の造形物1を得ることができる。
後者の補正方法は、図36に示すフローチャートによる処理が為される。
つまり造成物の総積層数をNmax とし、第n層と、その前の層である第n−1層の論理積を演算して第n層の補正データとする処理を行うのである。但し、第0層のデータは三次元形状の最低Z値でスライスした断面輪郭線データとする。
【0075】
従って補正前のデータが図37(a)の場合、補正後のデータは図37(b)に示すように所望の形状の外側に位置していた下向き部分も内側に位置した形状データとなる。この補正後の形状データにより造形物を形成した後、段差部分ををコーティング処理により埋めることで、所望の寸法が確保でき、容易な作業で正確な寸法の形状の造形物1が図37(c)のように得られることになる。
【0076】
以上のように研磨若しくはコーティング処理に対応したデータ補正を行った後、光硬化性樹脂の余剰硬化を是正するためのデータ補正処理を行う。
この光硬化性樹脂の余剰硬化を是正するためのデータ補正処理としては、次のような方法がある。
まずその一つは、実験或いは計算機解析により、条件に応じた寸法偏差表をデータベースとして予め登録しておく。表2はこのデータベースの一例を示し、この場合第1層から第五層迄の寸法偏差を示しており、第五層以上は同一の値とする。
【0077】
【表2】
【0078】
この処理は図38に示すフローチャートにより為される。
つまり最大積層数に対応した層Nmax から順次下層へ向けて補正処理を行うのである。つまり第n層の寸法偏差を条件とデータベースの数値により算出し、寸法偏差分下方の層の層番号を求める。但し算出した数値で示される位置がある層の中間を示す場合にはその層の一つ上位の層の層番号を求める。この層番号mが0層より大きくなければ、第n層の補正データは空データ(データ無し)とし、また層番号mが0層より大きければ、第n層と第m層の論理積演算を行い、第n層の補正データとするのである。
【0079】
この補正処理を図39の形状データに基づいて詳説する。図39の形状データが最大積層数が100層であり、100乃至96層の各層の厚みが0.2mm、95層乃至86層の各層の厚みが0.2mmとする。
(1)最上位の100層目は最上位層であるため補正は行わない。
(2)99層目 0.2mmの2層で、寸法偏差が0.25mm、0.25mm下方は、98層目
(3)98層目 0.2mmの3層で、寸法偏差が0.3mm、0.3mm下方は、97層目
(4)97層目 0.2mmの4層で、寸法偏差が0.33mm、0.33mm下方は、95層目
(5)96層目 0.2mmの5層で、寸法偏差が0.35mm、0.35mm下方は、93層目
(6)95層目 0.1mmの1層と0.2mmの5層で、寸法偏差が0.25mm+(0.35−0.15)=0.45mmで、0.45mm下方は、91層目
(7)94層目 0.1mmの2層と0.2mmの5層で、寸法偏差が0.4mm+(0.35−0.25)=0.5mmで、0.5mm下方は、89層目
(8)93層目 0.1mmの3層と0.2mmの5層で、寸法偏差が0.5mm+(0.35−0.3)=0.55mmで、0.55mm下方は、88層目
(9)92層目 0.1mmの4層と0.2mmの5層で、寸法偏差が0.53mm+(0.35−0.33)=0.55mmで、0.55mm下方は、87層目
(10)91層目 0.1mmの5層で、寸法偏差が0.55mmで、0.55mm下方は、86層目
以下の層も同様にして、補正対象の層と求めた下方の層の2層の論理積(重なり部分)演算して補正対象層の補正データとするのである。
【0080】
データ補正を行って造形物形成を行った場合の流れを示しており、図40(a)に示す形成データから上記の処理により図40(b)に示す補正したデータを得、この補正後データにより造形物1を形成した場合余剰硬化部分Xがあっても所望する形状に近い形状の造成物1が得られることが分かる。
つまり従来では不可能な一層の厚みが部分によって異なる場合であっても光硬化性樹脂の余剰硬化の補正が実現できる。また従来補正を実施することによりかえって不具合となる、最上部が杯状に開いた形状であっても、正確な形状に補正することが可能となる。更に或る層の補正を行う場合に、論理積の演算は1回のみ行えば良いので、処理時間が短縮する。
【0081】
図38に示す処理では、図41(a)乃至(d)に示すような形状の場合、下向き面の最上先端部分に形状欠落部分が図41(d)に示すように発生し補正により寸法精度が低下する恐れがある。尚図41(a)は元の形状データ、(b)は不具合がある補正前の形状データ、(c)は補正後のデータ、(d)はこの補正後のデータにより造形物1を形成した状態を示す。
【0082】
この点を補うために、補正を行わない層範囲、補正を行う層範囲のまとまりを夫々複数指定可能とするのが図42に示す処理方法である。つまり補正対象範囲を指定入力し、その処理しようとする層が対象範囲である層なのか否かを判定し、否であれば補正をキャンセルするのである。
これを図43(a)乃至(d)に示す具体例により説明すると、図43(a)の元のデータから得られた不具合を含むデータ(図43(b))において、補正を行なわない範囲と補正を行う範囲を指定して、データ補正を行い、図43(c)に示すような形状データを作成し、この補正後の形状データに基づいて造形物1を図43(d)に示すように形成すると、欠落部分が無くなり、段差のある部分であっても、補正に伴う形状の不具合を抑制し、正確な形状の造形物1を得ることができる。
【0083】
図44(a)乃至図44(d)は、別の例を示しており、図44(a)の元のデータから得られた不具合を含むデータ(図44(b))から補正を行う範囲を二つに分け、夫々に於いて補正を行い、補正後のデータ(図44(c))により造形物1を図44(d)に示すように形成すると、上記の場合と同様に欠落部分が無くなり、段差のある部分であっても、補正に伴う形状の不具合を抑制し、正確な形状の造形物1を得ることができる。
【0084】
上記のように補正を行う層の範囲、行わない層の範囲の纏まりを適切に支持することによって、段差のある形状であっても、補正に伴う形状の不具合を抑制し、正確な形状の造形物1を得ることができる。
ところで、図38又は図39に示す余剰硬化の補正処理は、比較的容易な手順・演算により補正を行うことが可能であるが、あらゆる形状に対して正確な補正を保証するものではない。
【0085】
つまりこれら処理方法においては、ある層に対する補正が、当該層全域に渡って同一の条件で行われるからである。実際の形状では、一つの層においても部分部分でその上に重なる層の条件が異なるために、余剰硬化の寸法偏差が異なってくる場合がある。図45のような形状の正しい補正を行うことができない。
つまり図45(a)に示すような形状の元のデータを、図45(b)に示す不具合を持つ補正前のデータに変換し、更に図38の処理方法によりデータを補正して図45(c)に示すようなデータを作成し、このデータにより造営物1を形成すると、図45(d)に示すように欠落部分が発生する。一方、図42に示す処理方法により図45(e)に示すように補正範囲を指定してデータ補正を行い、この補正後データで造形物1を図45(f)に示すように形成した場合には形状過多な部分が発生する。
【0086】
このような点を考慮してあらゆる形状に対して余剰硬化の補正を行う方法が次に述べる処理である。
つまり本方法では、予めレーザー走査条件毎に、一層の厚み及び積層数によって異なる寸法偏差を実験或いは計算機解析により求めて予めデータベース化しておく。
【0087】
そして図46に示すフローチャートの処理を実行するのである。この処理では図に示すように各層の補正を行う際に、補正対象となる層を、その層の上位に存在する複数層の形状によって重なり合う層数の条件毎に分割し、夫々の部分における寸法偏差を当該部分の条件に応じてデータベース(表2と同じ)の数値から算出し、次にその補正値に相当する分、下方の層を求め、更にその層と補正対象となる層の当該部分形状との重なり合う形状を各々求め、それらの形状と統合して補正対象となる層の補正データとするのである。
【0088】
これを全層に亘って行うことにより求める補正データを得る。但し、最上位となる部分については、補正を行わない。
この補正処理を更に具体的な形状について説明する。
図47に示す、最上位層が100層目、段差部分の層が89層であるような形状データを補正するに際しては、
(1)最上位の100層目は最上位層であるため補正は行わない。
【0089】
(2)99層目 0.1mmの2層で、寸法偏差が0.4mm、0.4mm下方は、95層目で、論理積をとる。
(3)98層目 0.1mmの3層で、寸法偏差が0.5mm、0.5mm下方は、93層目で、論理積をとる。
(4)97層目 0.1mmの4層で、寸法偏差が0.53mm、0.53mm下方は、92層目で、論理積をとる。
【0090】
(5)96層目 0.1mmの5層で、寸法偏差が0.55mm、0.55mm下方は、91層目で、論理積をとる。
(6)95層目乃至90層は同様にして90層乃至85層目と論理積をとる。
これら100層乃至90層までは層善意に亘って条件が同一になるため分割されず、図38の処理方法と同様に補正対象の層と求めた下方の層の二層の論理積(重なり部分)を演算して補正対象層の補正データとする。
【0091】
(7)89層目は図48(a)に示すように部分▲1▼は最上位であるが、部分▲2▼は0.1mmの5層で、寸法偏差0.55mmとなり、84層目と論理積を取る。図48(b)は89層目の補正結果を示す。
(8)88層目は図49(a)に示すように部分▲1▼は0.1mmの2層で、寸法偏差0.4mmとなり、84層目と論理積を取る。また部分▲2▼は0.1mm5層で、寸法偏差0.55mmとなり83層目と論理積をとる。図49(b)は88層目の補正結果を示す。
【0092】
以下同様にして補正を行う。
図50(a)は補正後の形状データを示し、この形状データを用いて造営物1の造形を行った結果が図50(b)であり、この結果形状の欠落部分や過多な部分がなくなり、正確な形状になる。
尚上記説明で用いた形状は説明のため単純化した形状としているが、任意の形状であっても同様な考え方で処理が可能である。
【0093】
このように図46に示す処理方法によれば、部分毎に余剰硬化による寸法偏差の補正が行えるため、如何なる形状であっても正確な補正が実現できる。
尚各層の形状分割は次のような方法で行う。
例えば今上から見た形状が図51(a)に示すような形状で側面から見た形状が図51(b)に示すような形状の場合、図52(a)に示すように補正対象層Ltと、一層上位層L1との差の内、上位層にない部分A1を分割する。
【0094】
つまりA1(最上位層として処理する部分)は層L1が重ならない保証対象層Ltの部分で最上位層として処理される。図中B1は層L1が重なる補正対象層Ltの残りの部分を示す。
次に図52(b)に示すように残りの部分B1と、二層上位層L2との差の内、上位層にない部分A2を分割する。図中B2は層L2に重なった補正対象層Ltの残りの部分を示す。
【0095】
以下同様に残りの部分とその更に上位層との差の内、上位層の重ならない部分を切り取る操作を繰り返すことにより分割を行う。
この場合ある程度以上は寸法偏差が一定値になるので、上位3〜4層程度まで行えば十分である。
図53(a)は残りの部分B2と、三層上位層L3との差の内、層L3が重ならない補正対象層Ltの部分A3を分割する状態を示す。図中B3は層L3に重なった補正対象層Ltの残りの部分を示す。
【0096】
図53(b)は残りの部分B3と、三層上位層L4との差の内、層L4が重ならない補正対象層Ltの部分A4を分割する状態を示す。図中B4は層L4に重なった補正対象層Ltの残りの部分を示す。
上記の分割した結果は図54に示すようになり、これらの部分について夫々の条件に応じて補正を行えば良い。
【0097】
次にこの例における各部分形状について、A1について補正なし、A2について一層下との論理積、A3について二層下との論理積、A4について三層下との論理積、A5について四層下との論理積というように、補正したところ、図55(a)に示すような部分形状毎の補正結果が得られ、これら部分形状結果を統合すると図55(b)に示すようになる。尚図55(b)の(イ)に示す部分が補正後の層形状を、補正前の層形状は長方形全体(ロ)を示す。
【0098】
【発明の効果】
請求項1の発明は、光硬化性樹脂に光を照射して形成した光硬化層、或いは薄板を複数層積み重ねて所望の三次元形状を形成する三次元形状装置に用いる三次元光造形用データ作成方法において、三次元形状データを形成段差が目立たないようにスライスして複数の断面輪郭線データを作成する段階と、入力された形状データの不備による断面輪郭線データの不具合を補正する段階と、形成寸法精度向上のために断面輪郭線データを補正する段階とから成るので、三次元形状形成用のデータ作成工数と造形物の後加工処理を軽減し、三次元形状形成作業のコスト低減、納期短縮、造形物の高精度化を実現することができるという効果がある。
【0099】
また、スライスにより断面輪郭線データを作成する段階は、不具合の出る座標値で三次元形状データをスライスするのを避けるための座標値補正過程と、形成段差を目立たなくするために、形成段差の目立つ箇所を通常ピッチより細かくスライスする過程とから成るので、段差の目立たない造形物を得ることができ、そのため造形物の後加工処理を軽減できるという効果がある。
【0100】
請求項2の発明は、請求項1の発明において、上記スライス座標値補正過程は、条件により計算或いは指定されたスライス座標値列の各々の数値に対して、データ作成対象となる三次元形状形成装置の積層方向移動量の最小値単位未満の任意の微小数値を一律に加算或いは減算することにより行うので、形状データをスライスしてデータ補正を行う際に、不具合のでる位置でのスライスを防ぎ、これに起因する形成不具合の防止、データ修正工数の削減が図れるという効果がある。
【0101】
請求項3の発明は、請求項1の発明において、上記スライスする過程は、形状を一定ピッチでスライスするとともに、該スライスにより形成したある二つの層間を補間する層が必要か否かを、この二つの層で挟まれた領域に存在するSTLデータのファセットの法線ベクトル情報から判断して補間層数を決定し、その数値に基づいてスライス位置を決定して2層間を追加スライスするので、細かいピッチでのスライスが必要な箇所を自動的に認識してスライスデータを作成することが可能となり、そのため見落としやテスト形成が必要なくなり、作業工数を増加させることなく段差の目立たない造形物の形成が可能となるという効果がある。
【0102】
請求項4の発明は、請求項3の発明において、上記二つの層で挟まれた領域に存在するSTLデータのファセットの法線ベクトルの内、下向きの法線ベクトルを持つデータを判断から外すので、もともと段差が目立たない下向きの面について補正しないため、その分積層数の削減が図れ、データ処理時間、形成時間を短縮することが可能となり、しかも積層厚みを細かくしないため、光硬化性樹脂の余剰硬化によって起きる寸法偏差の増大からの寸法精度の低下を抑制できるという効果がある。
請求項5の発明は、光硬化性樹脂に光を照射して形成した光硬化層、或いは薄板を複数層積み重ねて所望の三次元形状を形成する三次元形状装置に用いる三次元光造形用データ作成方法において、三次元形状データを形成段差が目立たないようにスライスして複数の断面輪郭線データを作成する段階と、入力された形状データの不備による断面輪郭線データの不具合を補正する段階と、形成寸法精度向上のために断面輪郭線データを補正する段階とから成り、上記断面輪郭線データの不具合を補正する段階は、開ループを閉ループ化する過程と、閉ループの自己交差を分割・削除する過程と、閉ループの重なりを是正する過程と、不要な閉ループを削除する過程と、閉ループの回転方向が正しいかどうが不明確なデータに対して閉ループの回転方向の予め規定した側が形状の内側になるように閉ループの回転方向を是正する過程とから成るので、不具合を含んだ断面輪郭線データであっても、自動的に判断して問題のない断面輪郭線データに変換するので、三次元形状形成作業のコスト低減、納期短縮、造形物の高精度化を実現することができる上に、データ修正工数を大幅に削減できるという効果がある。
【0103】
請求項6の発明は、請求項5の発明において、上記開ループを閉ループ化する段階は、開ループが自己で閉ループ化を試行し、閉ループ化されない場合は、他の開ループとの接続による閉ループ化を試行し、他の開ループと接続できない場合は削除するので、断面輪郭線データが開ループとなっている不具合を閉ループ化して不具合を無くし、且つ不具合が解消しない断面輪郭線データを削除してその影響を除去することができるという効果がある。
【0104】
請求項7の発明は、請求項6の発明において、上記開ループの自己での閉ループ化の方法は、開ループに自己交差がある場合又は端点が当該開ループ上にある場合、交点で閉ループ化して残りを削除し、次に端点間の距離が指定値以下であれば、端点間に直線を追加して閉ループ化し、更に該閉ループと端点との距離が指定値以下であれば、当該端点から閉ループの垂線を追加して閉ループ化し、残りを削除するので、複数の開ループの閉ループ化に対応できるという効果がある。
【0105】
請求項8の発明は、請求項6又は7の発明において、上記複数の開ループを接続しての閉ループ化の方法は、ループの方向が既に正しく設定されているとする条件で、或る二つの開ループが交差或いは接点を持つ場合に対して、ループの方向が合うように交点で二つの開ループをつなぎ替え、短い方を削除し、残った開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
終点と他の開ループの始点との距離、或いは始点と他の開ループの終点との距離が指定値以下の場合に対して、複数の該当があれば最短距離のループを対象として端点間に直線を追加することにより接続し、この接続によりできた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
他の開ループとの間で端点とループとの距離が指定値以下であるという関係の場合に対して、当該端点からループへの垂線を追加し、該垂線とループとの交点からループ方向が合ように接続するとともに接続によって残った部分を削除し、該接続と削除によりできた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
上記各過程において処理対象となる開ループ以外の開ループのデータを削除する過程とからなり、元から存在している開ループ及び上記過程で二次的に発生した開ループのデータが無くなるまで、上記過程の処理を繰り返すので、ループの方向が既に正しく設定されているとする条件で、複数の開ループの閉ループ化に対応できるという効果がある。
【0106】
請求項9の発明は、請求項6又7の発明において、複数の開ループを接続しての閉ループ化の方法は、ループの方向が不明確な条件で、或る二つの開ループが交差或いは接点を持つ場合に対して、各々のループの、交点若しくは接点で分割された長い方同士を接続するとともにループの方向を二つの内の長い方に合わせ且つ残りを削除し、得られた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
他の開ループとの間で端点とループとの距離が指定値以下の場合に対して、複数の該当があれば最短距離のループを対象として端点間に直線を追加することにより接続するとともにループの方向を二つの内の長い方に合わせ、得られた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
他の開ループとの間で端点とループとの距離が指定値以下であるという関係の場合に対して、当該端点からループへの垂線を追加し、該垂線とループとの交点で分割された長い方と接続するとともにループの方向を二つの内の長い方に合わせ且つ残りを削除し、得られた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
上記各過程において処理対象となる開ループ以外の開ループのデータを削除する過程とからなり、元から存在している開ループ及び上記過程で二次的に発生した開ループのデータが無くなるまで、上記過程の処理を繰り返すので、ループの方向が不明確であっても、複数の開ループの閉ループ化に対応できるという効果があるという効果がある。
【0107】
請求項10の発明は、請求項5の発明において、上記自己交差を分割・削除する過程は、自己交差の交点毎に閉ループの切り出しと、残りのループの接続による閉ループ化を行っていくことにより最終的に複数の閉ループを得、該面積最大の閉ループのみ以外を削除するので、閉ループの自己交差の分割、削除が自動的にできるという効果がある。
【0108】
請求項11の発明は、請求項5の発明において、上記閉ループの重なりを是正する過程は、ループの回転方向が既に正しく設定されている場合において、重なった二つの閉ループの回転方向が等しい時に、当該両閉ループの論理和を取って両閉ループを統合し、回転方向が異なる時に、面積大の閉ループから面積小の閉ループを引く形で両閉ループを統合するので、ループの回転方向が正しく設定されている条件で、閉ループの重なりの是正が自動的にできるという効果がある。
【0109】
請求項12の発明は、請求項5の発明において、上記不要な閉ループを削除する過程は、ループの回転方向が既に正しく設定されている場合に、一断面内の全ての閉ループの包含関係を予め求め、この求めた包含関係情報を用いて最上位の閉ループを親ループとし、該親ループと該親ループの一つ下の閉ループの回転方向の相違をチェックして親ループと同じ回転方向を持つ場合には該閉ループを削除し、削除した閉ループに下位の閉ループが包含される場合には包含される閉ループを一段上位に上げ、該閉ループについても親ループとの間で回転方向の相違をチェックし、親ループと同じ回転方向を持つ場合には該閉ループを削除するという操作を親ループから最下位の閉ループまで順番に行うので、ループの回転方向が正しく設定されている条件で、不要な閉ループを自動的に削除することができるという効果がある。
【0110】
請求項13の発明は、請求項5の発明において、上記閉ループの回転方向を是正する過程は、一断面内の全ての閉ループの包含関係を求め、この求めた包含関係情報を用いて最上位の閉ループを親ループとして該親ループに対して内側が形状の内側になるような回転方向を与え、以下最下位の閉ループまで順番に夫々親ループと反対のループ回転方向を設定するので、ループの回転方向に信頼性が無くとも、断面内のループの包含関係により内・外を判断し、それに応じて回転方向を是正することで、これに起因する形成不具合の防止が図れ、またデータ修正工数の削減が図れるという効果がある。
【0111】
請求項14の発明は、光硬化性樹脂に光を照射して形成した光硬化層、或いは薄板を複数層積み重ねて所望の三次元形状を形成する三次元形状装置に用いる三次元光造形用データ作成方法において、三次元形状データを形成段差が目立たないようにスライスして複数の断面輪郭線データを作成する段階と、入力された形状データの不備による断面輪郭線データの不具合を補正する段階と、形成寸法精度向上のために断面輪郭線データを補正する段階とから成り、形成寸法精度向上のために断面輪郭線データを補正する段階は、形成後の表面処理方法に応じたループの補正過程と、光硬化性樹脂の余剰硬化のためのデータ補正過程と成るので、三次元形状形成作業のコスト低減、納期短縮、造形物の高精度化を実現することができる上に、造形物の形成後に行う表面処理方法に対応して形成寸法精度の向上が図れるデータ補正ができるという効果がある。
【0112】
請求項15の発明は、請求項14の発明において、上記形成後の表面処理方法に応じたループの補正過程は、形成後に磨きによる表面処理を行う場合に対応して、或る層の断面輪郭線データと該層の一層下の層の断面輪郭線データとの論理和を該層の補正データとし、この補正データを生成する操作を全層に亘って行うので、形成後に形成段差を削り取ることによって、所望の寸法を確保でき、そのため容易な作業で正確な寸法の造形物を得ることができるという効果がある。
【0113】
請求項16の発明は、請求項14の発明において、上記形成後の表面処理方法に応じたループの補正過程は、形成後にコーティングによる表面処理を行う場合に対応して、或る層の断面輪郭線データと該層の一層下の層の断面輪郭線データとの論理積を該層の補正データとし、この補正データを生成する操作を全層に亘って行うので、形成後に形成段差を埋めるよに表面をコーティングすることによって、所望の寸法を確保でき、そのため容易な作業で正確な寸法の造形物を得ることができるという効果がある。
【0114】
請求項17の発明は、請求項14の発明において、上記光硬化性樹脂の余剰硬化のためのデータ補正過程は、条件によって異なる余剰硬化の寸法偏差を予め条件付けしてデータベースに登録しておき、補正の際に補正対象層における寸法偏差を、該補正対象層及びその上位に存在する層の厚みと層数の条件に応じてデータベースから検索若しくは検索した値を加工して得、この寸法偏差に相当する分下方に存在する層を求め、該層と上記補正対象層との断面輪郭線データの論理積を上記補正対象層の補正データとし、この補正データを得る操作を最上位層以外の全層に亘って行うので、従来技術では不可能な、一層の厚みが部分によってことなる場合であっても光硬化性樹脂の余剰硬化の補正が実現でき、従来技術では補正を実施することによりかえって不具合となる、最上位部が杯状に開いたような形状であっても、正確な形状に補正することが可能で、また或る層の補正を行う場合に、論理積の演算が一回のみ行えば良いので、処理時間が短縮するという効果がある。
【0115】
請求項18の発明は、請求項17の発明において、補正を行う層の範囲、補正を行わない層の範囲の纏まりを複数指定可能とし、補正を行う層範囲では一つの層範囲の纏まり毎に独立した形状データとして補正を行うので、段差のある形状であっても、補正に伴う形状の不具合を抑制し、正確な形状の造形物を得ることができるという効果がある。
【0116】
請求項19の発明は、請求項14の発明において、上記光硬化性樹脂の余剰硬化のためのデータ補正過程は、条件によって異なる余剰硬化の寸法偏差を予め条件付けしてデータベースに登録しておき、補正の際に補正対象層を当該層の上位に存在する複数層の形状によって層数の条件毎に複数の部分に分割し、上位に層が存在しない部分についてはその部分を補正データとし、その他の部分については夫々の部分における寸法偏差を、当該部分及び当該部分の上位に存在する層の厚みと総数の条件に応じてデータベースから検索若しくは検索した値を加工して得、この寸法偏差に相当する分下方に存在する層を求め、該層と上記当該部分との断面輪郭線データの論理積を上記当該部分の補正データとし、この補正データを分割された全ての部分について求めるとともにこれらの補正データを統合することにより補正対象層の補正データとし、この補正データを得る操作を全層に亘って行うので、あらゆる形状に対して余剰硬化の補正を行うことが可能なデータ補正ができるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施形態の全体の処理の流れを示すフローチャートである。
【図2】同上の形成段差が目立たないように三次元形状データをスライスして複数の断面輪郭線を作成する段階のフローチャートである。
【図3】図2の段階におけるスライス座標値の補正過程を示すフローチャートである。
【図4】図2の補正過程を説明するための形状の断面図である。
【図5】図2の段階における段差の目立たないスイラス方法を示すフローチャートである。
【図6】図5のスライス方法を説明するための形状例図である。
【図7】図5におけるファセットの状態の説明図である。
【図8】図2は段階における段差の目立たないスライス方法の別の例を説明するための形状例図である。
【図9】図1に於ける断面輪郭線の不具合を補正する段階を説明するための不具合例図である。
【図10】図1に於ける断面輪郭線の不具合を補正する段階のフローチャートである。
【図11】図10の段階における閉ループを閉ループ化する過程のフローチャートである。
【図12】図11における閉ループの自己での閉ループ化処理のフローチャートである。
【図13】同上の閉ループ化処理の説明図である。
【図14】同上の別の閉ループ化処理の説明図である。
【図15】同上の他の閉ループ化処理の説明図である。
【図16】同上のその他の閉ループ化処理の説明図である。
【図17】図11における複数の閉ループを接続しての閉ループ化処理のフローチャートである。
【図18】同上の閉ループ化処理の説明図である。
【図19】同上の別の閉ループ化処理の説明図である。
【図20】同上の他の閉ループ化処理の説明図である。
【図21】図11における複数の閉ループを接続しての閉ループ化処理の別の例のフローチャートである。
【図22】同上の閉ループ化処理の説明図である。
【図23】同上の別の閉ループ化処理の説明図である。
【図24】同上の他の閉ループ化処理の説明図である。
【図25】図10の段階における閉ループの自己交差を分割・削除する処理のフローチャートである。
【図26】同上の閉ループの自己交差を分割・削除する処理の説明図である。
【図27】図10の段階における閉ループの重なり是正の処理のフローチャートである。
【図28】同上の閉ループの重なり是正の説明図である。
【図29】同上の閉ループ化の重なり是正の別の例の説明図である。
【図30】図10の段階における不要な閉ループを削除する処理のフローチャートである。
【図31】同上の処理の説明図である。
【図32】図10の段階における閉ループの回転方向を是正する処理のフローチャートである。
【図33】図1に於ける形成寸法精度向上のために断面輪郭線データの補正過程のフローチャートである。
【図34】図33における形成後の表面処理の方法に応じたデータ補正のフローチャートである。
【図35】同上の処理の説明図である。
【図36】図33における形成後の表面処理の方法に応じたデータ補正の別の例のフローチャートである。
【図37】同上の処理の説明図である。
【図38】図33における光硬化性樹脂の余剰硬化を是正するためのデータ補正のフローチャートである。
【図39】同上の処理の説明図である。
【図40】同上の処理の説明図である。
【図41】図38に示すデータ補正の問題点の説明図である。
【図42】図33における光硬化性樹脂の余剰硬化を是正するためのデータ補正の別の例のフローチャートである。
【図43】同上の処理の説明図である。
【図44】同上の処理の説明図である。
【図45】図38、図42に示すデータ補正の問題点の説明図である。
【図46】図33における光硬化性樹脂の余剰硬化を是正するためのデータ補正の他の例のフローチャートである。
【図47】同上の処理の説明図である。
【図48】同上の処理の説明図である。
【図49】同上の処理の説明図である。
【図50】同上の処理の説明図である。
【図51】同上の各層の形状分割方法の説明図である。
【図52】同上の各層の形状分割方法の説明図である。
【図53】同上の各層の形状分割方法の説明図である。
【図54】同上の各層の形状分割方法の説明図である。
【図55】同上の各層の形状分割方法の説明図である。
【図56】従来例の説明図である。
【図57】別の従来例の説明図である。
【図58】他の従来例の説明図である。
【図59】従来例の光硬化性樹脂の余剰硬化の補正での問題点の説明図である。
【図60】従来例の光硬化性樹脂の余剰硬化の補正での問題点の説明図である。
【図61】(a)は従来例のスライス座標値の補正での問題点の説明用の造形物の断面図である。
(b)は従来例のスライス座標値の補正での問題点の説明用の造形物の斜視図である。
【図62】図61に示す断面輪郭線データの例図である。
【図63】図62の断面輪郭線データによる造形物形成時のレーザー照射の軌跡の説明図である。
【図64】従来の段差の目立たないスライス方法の説明図である。
【図65】従来の造形物の表面処理による補正方法の説明図である。
【図66】従来の断面輪郭線データの閉ループの回転方向の是正方法における問題点の説明図である。
【図67】同上の断面輪郭線データの閉ループの回転方向の是正方法における問題点の説明図である。
【図68】本発明に用いる光造形形成装置の構成図である。
【図69】同上の動作説明用フローチャートである。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method for creating data for three-dimensional stereolithography used in a three-dimensional shape forming apparatus that cures a photocurable resin in a forming tank layer by layer by laser irradiation.
[0002]
[Prior art]
Conventionally, a three-dimensional forming apparatus in which a photocurable resin in a forming tank is hardened one by one by laser irradiation has the following various problems.
For example, shape data (FIG. 56 (b)) created based on the data shown in FIG. 56 (a) is given to a three-dimensional shape forming apparatus, and a three-dimensional
[0003]
Conventionally, a molded object requiring dimensional accuracy has been corrected by manual work after molding. However, not only the number of working steps is increased, but also there are some places where manual correction is not possible depending on the shape.
As a method for solving this point, as disclosed in Japanese Patent Application Laid-Open No. 6-64048, a method has been proposed in which the following correction is performed by an operator's operation at the stage of creating three-dimensional CAD data.
[0004]
That is, in this method, the original shape as shown in FIG. 57A is copied and arranged in the Z-axis direction by the correction amount (ΔH) as shown in FIG. In this method, a Boolean operation is performed on the shape and the offset shape, and only the overlapping portion (the black portion in FIG. 3C) is adopted as the corrected shape.
However, this method also has a problem that even if a designated operation is performed by using a three-dimensional CAD, a calculation error often occurs at the level of a currently commercially available three-dimensional CAD, and a substantially complicated shape cannot be processed. Furthermore, there is a problem that it takes more processing time for the operator and hinders automation of a series of operations.Moreover, since the Boolean operation is used, it can be applied only to solid model data. There was also a problem that we could not cope.
[0005]
Further, there is a problem that processing cannot be performed unless a three-dimensional CAD system for editing the data is possessed.
Further, three-dimensional shape data and cross-sectional contour (contour contour) data exist as input data for formation. However, in the correction for three-dimensional shape data, when the input data is a cross-sectional contour, Cannot be applied, and therefore, it is necessary to realize correction for the cross-sectional contour data.
[0006]
As a correction method for the cross-sectional contour data, a correction value is input as disclosed in Japanese Patent Application Laid-Open No. 8-34064, the number of layers corresponding to the correction value is obtained based on the lamination thickness, and modeling is performed. Sometimes, in each layer other than the layer serving as the bottom surface, in the direction opposite to the direction in which light rays are incident at the time of modeling, the cross-sectional portion where the layer overlaps more than the correction value, or the layer serving as the bottom surface overlaps A method has been proposed in which only one of the cross-sectional portions is corrected to be a cross-section.
[0007]
FIG. 58 shows the flow of the conventional correction method, in which (a) shows the data before correction, (b) shows the data after correction, and (c) shows the actual data based on the data after correction. FIG. 1 shows a modeled
[0008]
However, even if the laser curing conditions are constant, the surplus curing phenomenon of the photocurable resin changes depending on the thickness of the layers to be laminated and the lamination thickness (the number of laminations). Correction can not be realized, the correction may cause a problem of the shape on the contrary, and in order to obtain the correction data of one layer, it is necessary to perform arithmetic processing for the number of layers corresponding to the correction value, There is a problem that the calculation time becomes long.
[0009]
FIG. 59 shows a problem that cannot be solved when a plurality of the above-described lamination pitches (one layer thickness) are used. In order to make the steps on the surface of the modeled product less noticeable, FIG. In this case, modeling data in which the layers are stacked at a fine pitch is used in some cases, but the modeling result is as shown in FIG. 3B, and the problem that the surplus hardened
[0010]
Further, data shown in FIG. 60C in which the correction for the excess curing is performed is generated from the data before correction shown in FIG. 60B obtained based on the original data as shown in FIG. Even if modeling is performed based on the data after the correction, a
[0011]
Furthermore, conventionally, when performing processing of a slice plane on three-dimensional shape data, there is a possibility that cross-sectional contour data that may cause a problem at the time of formation may be generated due to a relationship between a slice coordinate value and a shape.
For example, when forming the three-dimensionally
[0012]
Furthermore, when forming a three-dimensional structure with a laminated structure, if the laminating pitch is equal pitch (for example, 0.2 mm) as shown in FIG. However, when the lamination pitch is reduced to cope with this problem, there is a problem that the molding time increases. In order to solve this problem, a method of processing unequal pitch slices in which the lamination pitch is partially reduced as shown in FIG. 64B has been proposed. It was necessary to specify the range, which required detailed confirmation of the shape. As a result, the number of oversights increases, and in fact, the modeling is performed once by a test, and the decision is made based on the results. In the case of FIG. 64 (b), the center portion has a pitch of 0.1 mm, and the upper and lower sides have a pitch of 0.2 mm.
[0013]
Further, when there is a defect in the three-dimensional shape data, a defect naturally occurs in the sectional contour data obtained by slicing the data. Generally, when the original data of the three-dimensional shape is a solid model, there are few problems, but when the data is a surface model, there is a problem that the problem is likely to occur. Since the function of a free-form surface is weak in the current solid model, a surface model is often used for a shape having a free-form surface. Also, if the surface model is corrected so that it does not have a defect, it will be reworked, so that the lead time and the modeling man-hour will increase.
[0014]
Further, in a case where the cross-sectional contour data is directly received without CAD data, the correction of the cross-sectional contour data is indispensable because data cannot be corrected by CAD.
Further, when forming a three-dimensional object by laminating thin layers (thin plates), the upward portion of the shape is inside the desired shape and the downward portion of the shape is outside due to data processing (depending on how the data is used). And the opposite is true). FIG. 65 (a) shows the original data in this case, and FIG. 65 (b) shows the modeling result, with the upward part of the original contour being inside the desired shape and the downward part of the shape being inside the desired shape. You can see that it is outside. When a surface treatment is applied to this shaped object to finish it, the upward portion in the case of the polishing process (FIG. 3C) and the downward portion in the case of the coating process (FIG. 3D) are There is a problem that it is difficult to finish the molded object accurately because the error X is further enlarged from the desired shape.
[0015]
Further, when slicing the three-dimensional shape, the direction given to the cross-sectional contour of the closed loop depends on the phase data (information on the front and back of the surface) added to the three-dimensional shape data. When the original data is a solid model, the phase data is correctly added. However, when the surface data is a surface model, the information is not reliable because the original data does not have the phase data.
[0016]
However, the direction of this loop is important when correcting the cross-sectional contour data in order to form a model having accurate dimensions. Although it is necessary to make corrections to improve the forming dimensional accuracy, considering the case where laser spot diameters are generally corrected, it is necessary to offset inward of the shape by the radius of the laser spot diameter. There is. If the left side is determined to be inside the shape with respect to the loop direction, all the processing is offset to the left side in the rotation direction of the loop. Therefore, when the loop direction is correct as shown in FIG. 66A, the laser trajectory data has an offset O corresponding to the radius of the laser spot as shown in FIG. However, when the rotational direction is not good as shown in FIG. 67 (a), the offset is applied in the opposite direction as shown in FIG. 67 (b), and a molded article with accurate dimensions can be obtained. There was no problem.
[0017]
[Problems to be solved by the invention]
The present invention has been made in view of the above-mentioned problems, and has as its object the object of forming data for forming a three-dimensional shaped object using a photocurable resin and post-processing of the shaped object. It is an object of the present invention to provide a method for creating data for three-dimensional stereolithography, which can reduce processing and can form a molded object with high accuracy.
[0018]
[Means for Solving the Problems]
In order to achieve the above object, according to the first aspect of the present invention, a photocurable layer formed by irradiating a photocurable resin with light, or a three-dimensional shape apparatus that forms a desired three-dimensional shape by stacking a plurality of thin plates is provided. In the method for creating data for three-dimensional stereolithography to be used, three-dimensional shape data is formed so as to form a plurality of cross-sectional contour data by slicing the steps so that a step is not conspicuous, and the cross-sectional contour data due to incomplete input shape data. And the step of correcting the cross-sectional contour data to improve the forming dimension accuracy. Thus, the step of slicing and creating a plurality of cross-sectional contour data includes a coordinate value correction process for avoiding slicing the three-dimensional shape data with a defective coordinate value, and a process for making the formed steps inconspicuous. , From the process of slicing the part where the formation step is conspicuous more finely than the normal pitch It is characterized by comprising.
[0020]
[0021]
[0022]
Claim 7 In the invention of the claim, 6 In the invention of the above, the method of self-closed loop of the open loop, if there is a self-intersection in the open loop, or if the end point is on the open loop, closed loop at the intersection, delete the rest, and then between the end points If the distance is less than or equal to the specified value, a straight line is added between the end points to form a closed loop, and if the distance between the closed loop and the end point is less than or equal to the specified value, a perpendicular to the closed loop is added from the end point to form a closed loop, It is characterized in that the rest is deleted.
[0023]
If the distance between the end point and the start point of another open loop, or the distance between the start point and the end point of another open loop is equal to or less than the specified value, if there are multiple cases, the loop between the shortest distance is the target and between the end points. Connect by adding a straight line and claim the open loop created by this connection 7 The closed loop is tried by the method of the closed loop of the open loop by itself, and if the closed loop is formed by the trial, the processing for the corresponding open loops is terminated, and the process proceeds to the next open loop, and the trial is performed. If not closed loop in the process of adding the data of the open loop to the end of the processing data,
For the case where the distance between the end point and the loop is less than or equal to the specified value between other open loops, add a perpendicular from the end point to the loop, and set the loop direction from the intersection of the perpendicular and the loop. Claims about the open loop created by the connection and the deletion by connecting the connection and removing the remaining part by the connection 7 The closed loop is tried by the method of the closed loop of the open loop by itself, and if the closed loop is formed by the trial, the processing for the corresponding open loops is terminated, and the process proceeds to the next open loop, and the trial is performed. If not closed loop in the process of adding the data of the open loop to the end of the processing data,
The process of deleting the data of the open loop other than the open loop to be processed in each of the above processes, until the original open loop and the data of the open loop secondaryly generated in the above process disappear. It is characterized in that the processing of the above steps is repeated.
[0024]
If the distance between the end point and the loop between other open loops is less than or equal to the specified value, if there is more than one, connect and loop by adding a straight line between the end points for the shortest distance loop To the longer of the two, and claim the resulting open loop. 7 The closed loop is tried by the method of the closed loop of the open loop by itself, and if the closed loop is formed by the trial, the processing for the corresponding open loops is terminated, and the process proceeds to the next open loop, and the trial is performed. If not closed loop in the process of adding the data of the open loop to the end of the processing data,
For a case where the distance between the end point and the loop is less than or equal to the specified value between other open loops, a perpendicular line from the end point to the loop was added, and divided at the intersection of the perpendicular line and the loop Claim the open loop obtained by connecting with the longer one and adjusting the direction of the loop to the longer of the two and removing the rest. 7 The closed loop is tried by the method of the closed loop of the open loop by itself, and if the closed loop is formed by the trial, it is determined that the processing for both corresponding open loops is completed, and the process proceeds to the next open loop processing, and the trial is performed. If not closed loop in the process of adding the data of the open loop to the end of the processing data,
The process of deleting the open loop data other than the open loop to be processed in each of the above processes, until the original existing open loop and the data of the open loop secondary generated in the above process disappear, It is characterized in that the processing of the above steps is repeated.
[0025]
[0026]
[0027]
Claim Thirteen In the invention of the claim, 5 In the invention, the step of correcting the rotation direction of the closed loop includes obtaining the inclusion relation of all the closed loops in one cross section, and using the obtained inclusion relation information as a top-level closed loop as a parent loop with respect to the parent loop. The rotation direction is set such that the inner side becomes the inside of the shape, and the loop rotation direction opposite to the parent loop is set in order to the lowest closed loop.
[0028]
In the invention of
In the invention of claim 15, the
[0029]
Claim 16 In the invention of the claim, 14 In the invention of the present invention, the loop correction process according to the surface treatment method after the formation corresponds to the case where the surface treatment by coating is performed after the formation, and the cross-sectional contour data of a certain layer and the layer one layer below the layer The logical product with the cross-sectional contour data is used as the correction data of the layer, and the operation of generating the correction data is performed over all the layers.
[0030]
Claim 17 In the invention of the claim, 14 In the invention, in the data correction process for the excess curing of the photocurable resin, the dimensional deviation of the excess curing that varies depending on the condition is preliminarily conditioned and registered in a database, and the dimensional deviation in the correction target layer at the time of the correction. From the database according to the conditions of the thickness and the number of layers of the layer to be corrected and the layer present thereabove, and processing the values searched for, and obtaining the layer below by the amount corresponding to this dimensional deviation. The logical product of the cross-sectional contour data of the layer and the correction target layer is used as the correction data of the correction target layer, and the operation of obtaining the correction data is performed for all layers except the uppermost layer. .
[0031]
Claim 18 In the invention of the claim, 17 In the invention of the above, it is possible to specify a plurality of ranges of layers to be corrected and a range of layers not to be corrected, and to perform correction as independent shape data for each group of one layer range in the layer range to be corrected. Features.
Claim 19 In the invention of the claim, 14 In the invention, the data correction process for the excess curing of the photocurable resin is performed by preconditioning and registering a dimensional deviation of the excess curing that varies depending on conditions in a database, and when the correction is performed, the correction target layer is set to the corresponding layer. Is divided into a plurality of parts according to the condition of the number of layers according to the shape of the plurality of layers existing in the upper layer, the part having no upper layer is used as correction data, and the other parts are dimensional deviations in the respective parts. Is obtained by processing the value searched or retrieved from the database according to the conditions of the thickness and the total number of layers existing above the part and the part concerned, and a layer existing below by an amount corresponding to this dimensional deviation is obtained, The logical product of the cross-sectional contour data of the layer and the portion is used as the correction data of the portion, and the correction data is obtained for all the divided portions. The correction data of the correction target layer by integrating the correction data, and performs over an operation for obtaining the correction data in all layers.
[0032]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described.
FIG. 68 shows a configuration of a three-dimensional shape forming apparatus used in the present invention. The three-dimensional shape forming apparatus includes a
[0033]
The
[0034]
A rectangular parallelepiped
The
[0035]
The
[0036]
The molding table 13 can be moved up and down in the resin liquid 15 by an elevating mechanism (not shown) installed outside the
[0037]
An example of the operation of this device will be described with reference to the flowchart shown in FIG. To
[0038]
The above operation is a basic operation, and the present invention provides a
(Embodiment)
The present embodiment relates to a method of creating data in which formation steps are not conspicuous. First, the
[0039]
The correction of the slice coordinate value is performed based on the flowchart shown in FIG.
That is, it is assumed that the three-dimensional object to be formed is sliced in the Z-axis direction (height direction). When the slice start Z coordinate STARTZ is designated, a minute numerical value α is added to the slice start Z coordinate STARTZ. And the actual slice start Z coordinate STARTZ is a Z coordinate Z that slices the actual slice start Z coordinate STARTZ. tmp And
[0040]
After this, the last sliced Z coordinate Z tmp The next time the slice pitch P is added, the Z coordinate Z to be sliced next time tmp Is determined, and the slice end coordinate ENDZ is changed to the Z coordinate Z. tmp The slice is sequentially performed until the value exceeds.
For example, when forming the modeled
[0041]
In FIG. 2, after slicing after correcting the slice coordinate value, a portion where the formation step is conspicuous is additionally sliced finer than the normal pitch in order to make the formation step inconspicuous. The method in this process is based on the flowchart shown in FIG.
That is, slices are to be sliced in the Z-axis direction in the same manner as described above, and the normal slice pitch is P, and as shown in FIG. max STARTZ is the slice start Z coordinate, ENDZ is the slice end Z coordinate, and Z is the Z coordinate to be sliced. tmp First, processing in this process is performed by setting the slice start Z coordinate STARTZ as Z tmp And 90 ° is the angle θ between the normal vector of the facet and the z-axis. min Set to U, Z coordinate Z to slice tmp While sequentially adding the slice pitch P to the Z coordinate Z tmp The following processing is performed until the data exceeds the slice end Z coordinate ENDZ.
[0042]
First, the Z coordinate Z tmp Is read, the facet state, the angle θ between the normal vector of the facet and the z-axis (taken from 0 to 90 °), and the Z coordinate Z to be sliced are read. tmp To create slice data.
Next, the minimum angle θ in the state II, IV, VI shown in FIG. min Set D. And the above θ min U and θ min The smaller of D is θ min And
[0043]
Next, from all θ, the minimum angle θ in the state II, III, V min Set U.
The above θ min Step a at an angle of max In this case, the height PP is formed. PP = a max ・ Tan (θ min ), And if this PP is PP ≧ P, Z tmp , And returns to the above processing. When PP is not PP ≧ P, the number of divisions between the lower layer and the lower layer is determined based on the values of PP and P, and the Z value (
And this Z tmp After creating 1, 2, 3 ... slice data, Z tmp Is added to the slice pitch P, and the process returns to the above.
[0044]
Z tmp Exceeds ENDZ, all slice data are arranged in ascending order of Z coordinate value, and this process is terminated.
Here, the additional slice position determination processing will be described. max Is 0.5 mm, θ min Is 5 ° and the slice pitch P is 0.1 mm, the height PP becomes 0.044, and PP <P holds.
[0045]
Then, the number of divisions is determined by rounding up P / PP = 2.2286 and setting the number of divisions = 3. Assuming that the Z value of the lower layer is 100.000333, the middle two Z coordinate values obtained by dividing the interlayer (0.1 mm) into three equal parts are:
, And additional slicing is performed at that position.
[0046]
Note that if θ is very close to 0 °, the number of divisions in calculation increases, but the upper limit is set to, for example, up to five divisions in consideration of the mechanical limit of the forming apparatus. Better. In this regard, an angle θ between the normal vector of the facet and the z-axis which is very close to 0 ° (for example, less than 3 °) may be regarded as 0 ° (state I) and excluded from the determination. .
[0047]
When there is input data as described above, the slice coordinate value is corrected to avoid slicing at a position where a defect occurs as shown in FIG. 2, and the formed formation step is made inconspicuous after this correction. After creating data for slicing a conspicuous portion finer than a normal pitch, cross-sectional contour data is generated.
By the way, in a three-dimensional shape forming apparatus using a photocurable resin, the shape of a curing unit by a laser beam is a flat surface on the upper side, but is a spherical shape as shown in FIG.
[0048]
In FIG. 1, three-dimensional shape data is sliced so that the formed steps are not conspicuous, and cross-sectional contour data obtained by creating a plurality of cross-sectional contour lines has a defect in the input three-dimensional shape data. In such a case, a defect also occurs in the cross-sectional contour data.
Therefore, there are the following three conditions for the cross-sectional contour data having no defect.
[0049]
{Circle around (1)} A point where all contour lines are closed (closed loop) instead of an open loop (a loop whose start point and end point do not match) as shown in FIG.
{Circle around (2)} There is no self-intersection (there is a figure-eight portion) as shown in FIG. 9 (b).
{Circle around (3)} As shown in FIG. 9 (c), there is no overlap of loops, and the outlines do not intersect.
Note that the loop has a direction from the start point to the end point, and this direction determines whether the inside of the closed loop is clogged or a hole. In this embodiment, from the start point to the end point of the loop, the right side is determined to be outside the shape and the left side is determined to be inside the shape. According to this rule, when the closed loop is counterclockwise (hereinafter referred to as CCW) Is a solid (solid) state on the inside, and can be said to be a hole (hollow) state when clockwise (hereinafter referred to as CW).
[0050]
FIG. 10 shows a flowchart of a process for correcting a defect included in data. In this flowchart, a process of making an open loop into a closed loop, a process of dividing and deleting a self-intersection of the closed loop, and correcting an overlap of the closed loop are performed. Through the process, the above conditions (1) to (3) are satisfied, and a process of deleting unnecessary closed loops and a process of correcting the direction of rotation of the closed loop are performed to generate cross-sectional contour data in which a defect is corrected. You do it.
[0051]
Here, the process of making the open loop closed is performed according to the flowchart shown in FIG.
That is, in this process, all the data of the open loop is read, and the closed loop forming process by itself, the closed loop forming process by connection with another open loop, and the process of deleting the open loop that cannot be connected are performed.
[0052]
The closed loop processing by itself is performed according to the flowchart shown in FIG. That is, the open loop data is sequentially selected one by one, and the selected closed loop has an intersection between the start point S and the end point E as shown in FIG. Alternatively, when an end point (start point S or end point E) exists on the loop as shown in FIG. 14A, a closed loop is formed at the intersection as shown in FIG. 13B or FIG. As shown in FIG. 13 (c) or FIG. 14 (c), a process for matching the start point S and the end point E is performed.
[0053]
As shown in FIG. 15A, when an open loop exists in which the distance G between the end points (between the start point S and the end point E) is equal to or smaller than the specified value ΔG, as shown in FIG. A straight line is added between the end points to form a closed loop as shown in FIG.
Further, when the distance G from the end point (start point S or end point E) is equal to or smaller than the specified value ΔG as shown in FIG. 16A, a perpendicular line from the end point to the loop is shown in FIG. 16B. As shown in FIG. 16C, a closed loop is formed. When the closed-loop processing is completed for the open-loop data that can be closed by itself in this way, the process exits from the closed-loop processing by itself.
[0054]
The data generated by the closed loop is registered in the
In the case where the closed loop cannot be performed by itself and the closed loop is formed by connection with another open loop, the closed loop processing is performed according to the flowcharts shown in FIGS. The case of FIG. 17 is used when the direction of the loop is already set correctly.
[0055]
In this case, when the open loop data is sequentially selected one by one, and as shown in FIG. 18A, the open loop data having the intersection or the contact with the open loop having the intersection or the contact with another open loop is selected. 18 (b), the two loops are connected at the intersection in the same direction, and the shorter one is deleted as shown in FIG. 18 (c). When the distance between the end point E and the start point S of the other open loop and the distance between the start point S and the end point E of the other open loop are selected as shown in FIG. A process of adding a straight line between the end points as shown in FIG. 19B and connecting both loops as shown in FIG. 19C is performed.
[0056]
When the distance between the end point and the other open loop and the distance between the loop and the end point of the other open loop are selected as shown in FIG. 20B, a process is performed to add a perpendicular line to the direction which is divided at the intersection with the perpendicular line as shown in FIG. 20C.
After connecting a plurality of open loops and performing a closed loop processing as described above, further perform a closed loop processing by itself in the same manner as described above, and when the closed loop processing is finally completed, the closed loop processing is performed. The generated closed-loop data is registered, and the original two closed-loop open-loop data are deleted. If the closed loop cannot be formed, the connected open loop data is deleted, and the data obtained by the connection is added as the new open loop data.
[0057]
Then, if the open loop data selected in the process is open loop data that does not correspond to any of the above cases, the open loop data is deleted.
In this way, the corresponding open loop data is sequentially selected, and when the selection and processing of all data are completed, the process exits from the process.
In addition, in the closed loop processing for connecting a plurality of open loops, if it is not clear whether the handling of the open loop is correct or not, the closed loop processing is performed according to the flowchart of FIG.
[0058]
In this case as well, the open loop data is sequentially selected one by one, and as shown in FIG. 22 (a), when the open loop data having an intersection or a contact with an open loop having an intersection or a contact with another open loop is selected. Then, as shown in FIG. 22 (b), the longer sides divided at the intersections are connected, the loop direction is adjusted to the longer one, and the rest is deleted as shown in FIG. 22 (c).
[0059]
When the distance between the end point E and the start point S of the other open loop and the distance between the start point S and the end point E of the other open loop are selected as shown in FIG. A process of adding a straight line between the end points as shown in FIG. 23 (b) and adjusting the loop direction to the longer one, and connecting both loops as shown in FIG. 23 (c) is performed.
Further, if the distance between the end point and another open loop and the distance between the loop and the end point of the other open loop are selected as shown in FIG. 24B is added as shown in FIG. 24 (b), connected to the longer direction divided at the intersection with the perpendicular, and the loop direction is adjusted to the longer direction, and as shown in FIG. Is performed.
[0060]
After connecting a plurality of open loops and performing a closed loop processing as described above, further perform a closed loop processing by itself in the same manner as described above, and when the closed loop processing is finally completed, the closed loop processing is performed. The generated closed-loop data is registered, and the original two closed-loop open-loop data are deleted. If the closed loop cannot be formed, the connected open loop data is deleted, and the data obtained by the connection is added as the new open loop data.
[0061]
Then, if the open loop data selected in the process is open loop data that does not correspond to any of the above cases, the open loop data is deleted.
In this way, the corresponding open loop data is sequentially selected, and when the selection and processing of all data are completed, the process exits from the process.
Now, in FIG. 10, after the process of forming an open loop into a closed loop by the above-described method is completed, a process of dividing / eliminating the self-intersection of the closed loop is performed. In this process, the process according to the flowchart shown in FIG. 25 is performed. I do.
[0062]
That is, in this case, the closed loop data is sequentially selected one by one, and if the selected closed loop has a self-intersection, the closed loop is cut out at the intersection and divided into two closed loops.
In these divisions, the presence or absence of self-intersection is determined again using the closed loop data, and if there is, the closed loop is cut out again at the intersection and divided into two closed loops. In this way, the division processing is performed until there is no self-intersection, and if the division processing divides the data into a plurality of closed loops, only the closed loop having the largest area in the closed loops is registered as new data, and the others are deleted. A process for deleting the original closed loop data is performed.
[0063]
FIG. 26A shows a closed loop having two self-intersections. In the case of this closed loop, it is divided into three closed loops by a dividing process (FIG. 26B), and the largest closed loop is shown in FIG. 26 (c).
In this way, the corresponding closed loop data is sequentially selected, and when all the data are selected and processed, the process exits from the process.
[0064]
When the process of dividing / deleting the self-intersection of the closed loop is completed, the process proceeds to the process of correcting the overlap of the closed loop as shown in FIG. 10. In this process, the process shown in the flowchart of FIG. 27 is performed. However, this corresponds to a case where the rotation direction of the loop has already been correctly set.
In other words, in this case, the closed loop data is sequentially selected one by one, and it is determined whether or not the selected closed loop overlaps another closed loop. In some cases, it is further determined whether the rotation direction of the loop is the same or different. When the rotation directions (phases) of the loops are equal as shown in FIG. 28A, the two closed loops are ORed to integrate the loops as shown in FIG. When the rotation directions (phases) of the loops are different as shown in FIG. 29 (a), they are integrated as shown in FIG. 29 (b) by subtracting a closed loop with a small area from a closed loop with a large area. Add loop data and delete the original closed loop data.
[0065]
In this way, the corresponding closed loop data is sequentially selected, and when all the data are selected and processed, the process exits from the process.
When this process is completed, an unnecessary closed-loop elimination process starts as shown in FIG. 10. In this process, the process shown in the flowchart of FIG. 30 is performed. However, in this case, it is assumed that the rotation direction of the loop has already been set correctly.
[0066]
First, the inclusion relations of all the closed loops in one cross section are checked and set in the memory of the
In this setting method, when there is each of the loops LP1 to LP6 as shown in FIG. 31A, the level of the inclusion relation and the rotation direction of the loop are collectively set in a table as shown in Table 1.
[0067]
[Table 1]
[0068]
Then, data of a loop number, a level, and a rotation direction are sequentially read from the first data, and the rotation direction is stored in a work area WORK (level 0). Then, it is determined whether or not the level of the data is 0. Here, since the level of the loop LP1, which is the first data, is 0, it is determined to be a parent loop, the next second data is read, and the rotation direction is written in the work area WORK (level 1).
[0069]
Here, since the loop LP2 as the second data is at
Here, since it is different here, the data of the third loop LP4 is read out next, and the rotation direction is written in the work area WORK (level 2). In this case, since the level is 2, the rotation direction is compared with the rotation direction of the
Then, the level of the parent loop, that is, the original, is set as the data of the currently called loop, and then the sixth data, that is, the data of the loop LP6, is read. If the reading of all data has not been completed by this, The process proceeds to the reading of the next seventh data. In the case of FIG. 31A, the process ends. Therefore, the level of the loop LP6 is compared with the original level. That is, the level of the loop LP is set to 1 by subtracting 1 from 2.
[0070]
In this way, even for defective data, unnecessary loops can be determined and deleted according to the rotation direction of the loop as shown in FIG. 31 (b). Can be reduced.
When the unnecessary closed loop elimination process is completed, the process proceeds to the process of correcting the rotation direction of the closed loop as shown in FIG. In the correction of the rotation direction of the closed loop, a process according to a flowchart shown in FIG. 32 is performed. In this case, the inclusion relations of all the closed loops in one section are checked and the loop number and the level are set in the memory, as described above. Here, the case of FIG. 31A is taken as an example.
[0071]
First, the first data is sequentially read from the set data, and the data is read to see whether the data level is odd or even. The data of the loop number of the odd number is converted into the rotation direction CW. Is converted to the rotation direction CCW.
In this way, even if the rotation direction of the loop is unreliable, the inside and outside are determined based on the inclusion relation of the loop in the cross section, and the rotation direction is corrected accordingly, thereby preventing the formation failure caused by this, Data modification man-hours can be reduced.
[0072]
As described above, the process of the defect correction shown in FIG. 10 is completed, and the
At this stage, as shown in FIG. 33, there are data correction processing according to the method of surface treatment after formation, and data correction processing to correct excessive curing of the photocurable resin. In the case of the data correction processing according to the method, there are a correction method when performing a surface treatment by polishing after formation and a correction method when performing a surface treatment by coating after formation.
[0073]
In the former correction method, the processing according to the flowchart shown in FIG. 34 is performed.
In other words, the total number of laminated structures is N max Then, the logical sum of the n-th layer and the (n-1) -th layer, which is the preceding layer, is calculated, and the process is performed as the correction data of the n-th layer. However, the data of the 0th layer is cross-sectional contour data sliced at the lowest Z value of the three-dimensional shape. Therefore, when the data before the correction is as shown in FIG. 35A, the data after the correction is the shape data located outside the desired shape in both the upward and downward portions as shown in FIG. 35B. After forming the modeled object based on the corrected shape data, a desired dimension can be ensured only by polishing the outer portion, and the modeled
[0074]
The desired dimensions can be ensured only by polishing the formed steps after forming the molded article using the corrected data as described above, and the molded
In the latter correction method, the processing according to the flowchart shown in FIG. 36 is performed.
In other words, the total number of laminated structures is N max Then, the logical product of the n-th layer and the (n-1) -th layer preceding the n-th layer is calculated to obtain the n-th layer correction data. However, the data of the 0th layer is the cross-sectional contour data sliced at the lowest Z value of the three-dimensional shape.
[0075]
Therefore, when the data before the correction is as shown in FIG. 37A, the data after the correction is the shape data in which the downward portion located outside the desired shape is also located inside as shown in FIG. 37B. After forming the modeled object based on the corrected shape data, the stepped portion is filled with a coating process, whereby a desired size can be secured. ).
[0076]
After performing the data correction corresponding to the polishing or the coating process as described above, the data correction process for correcting the excessive curing of the photocurable resin is performed.
As a data correction process for correcting the excessive curing of the photocurable resin, there is the following method.
First of all, a dimensional deviation table corresponding to a condition is registered in advance as a database by experiment or computer analysis. Table 2 shows an example of this database. In this case, the dimensional deviation from the first layer to the fifth layer is shown, and the same value is set for the fifth layer and above.
[0077]
[Table 2]
[0078]
This process is performed according to the flowchart shown in FIG.
That is, the layer N corresponding to the maximum number of layers max The correction process is sequentially performed from the lower layer to the lower layer. That is, the dimensional deviation of the n-th layer is calculated from the condition and the numerical value of the database, and the layer number of the layer below the dimensional deviation is obtained. However, when the position indicated by the calculated numerical value indicates the middle of a certain layer, the layer number of the next higher layer is obtained. If the layer number m is not larger than the 0th layer, the correction data of the nth layer is empty data (no data), and if the layer number m is larger than the 0th layer, the logical product operation of the nth layer and the mth layer is performed. Then, the correction data of the n-th layer is obtained.
[0079]
This correction process will be described in detail based on the shape data in FIG. In the shape data in FIG. 39, the maximum number of layers is 100, and the thickness of each of the 100 to 96 layers is 0.2 mm, and the thickness of each of the 95 to 86 layers is 0.2 mm.
(1) Since the 100th layer at the top is the top layer, no correction is performed.
(2) 99th layer Two layers of 0.2 mm, with dimensional deviation of 0.25 mm and 0.25 mm below, are the 98th layer.
(3) 98th layer Three layers of 0.2 mm, with dimensional deviation of 0.3 mm and 0.3 mm below are the 97th layer.
(4) 97th layer Four layers of 0.2 mm, with dimensional deviation of 0.33 mm and 0.33 mm below are the 95th layer.
(5) 96th layer Five layers of 0.2 mm, with dimensional deviation of 0.35 mm and 0.35 mm below are the 93rd layer
(6) 95th layer One layer of 0.1 mm and five layers of 0.2 mm, the dimensional deviation is 0.25 mm + (0.35−0.15) = 0.45 mm, and the lower layer of 0.45 mm is 91 layers. Eye
(7) 94th layer Two layers of 0.1 mm and five layers of 0.2 mm have a dimensional deviation of 0.4 mm + (0.35−0.25) = 0.5 mm, and 89 layers below 0.5 mm. Eye
(8) 93rd layer The dimensional deviation is 0.5mm + (0.35-0.3) = 0.55mm with 3 layers of 0.1mm and 5 layers of 0.2mm, and 88 layers are below 0.55mm. Eye
(9) 92nd layer The dimensional deviation is 0.53mm + (0.35-0.33) = 0.55mm with 4 layers of 0.1mm and 5 layers of 0.2mm, and 87 layers below 0.55mm. Eye
(10) 91st layer Five layers of 0.1 mm, the dimensional deviation is 0.55 mm, and the lower part of 0.55 mm is the 86th layer.
In the same manner, the logical product (overlapping portion) of the two layers, that is, the layer to be corrected and the obtained lower layer is calculated as the correction data of the layer to be corrected.
[0080]
FIG. 40 shows a flow in a case where a molded object is formed by performing data correction. The corrected data shown in FIG. 40B is obtained from the formation data shown in FIG. Thus, it can be seen that, when the molded
In other words, even when the thickness of one layer differs depending on the portion, which is impossible in the related art, it is possible to correct the excess curing of the photocurable resin. Further, even if the conventional correction is performed, even if the uppermost portion has a cup-shaped open shape, which is disadvantageous, it can be corrected to an accurate shape. Further, when a certain layer is corrected, the logical product operation needs to be performed only once, so that the processing time is reduced.
[0081]
In the processing shown in FIG. 38, in the case of the shape shown in FIGS. 41 (a) to 41 (d), a shape missing portion is generated at the uppermost end of the downward surface as shown in FIG. May decrease. 41A shows the original shape data, FIG. 41B shows the shape data before correction having a defect, FIG. 41C shows the data after correction, and FIG. 41D shows the formed
[0082]
To compensate for this, the processing method shown in FIG. 42 allows a plurality of layer ranges not to be corrected and a plurality of layer ranges to be corrected to be specified. That is, a correction target range is designated and input, and it is determined whether or not the layer to be processed is the target range, and if not, the correction is canceled.
This will be described with reference to specific examples shown in FIGS. 43A to 43D. In the data including the defect (FIG. 43B) obtained from the original data in FIG. The data correction is performed by designating the range to be corrected and the shape data as shown in FIG. 43 (c) is created, and the modeled
[0083]
FIGS. 44 (a) to 44 (d) show another example, in which a range to be corrected from data (FIG. 44 (b)) containing a defect obtained from the original data of FIG. 44 (a). Is divided into two parts, and correction is performed in each of them. When the modeled
[0084]
As described above, by properly supporting the range of the layer to be corrected and the range of the layer not to be corrected, even if the shape has a step, the problem of the shape due to the correction is suppressed, and the modeling of the accurate shape is performed.
By the way, the correction processing of the surplus hardening shown in FIG. 38 or FIG. 39 can perform correction by a relatively easy procedure and calculation, but does not guarantee accurate correction for all shapes.
[0085]
That is, in these processing methods, the correction for a certain layer is performed under the same conditions over the entire area of the layer. In the actual shape, even in one layer, the dimensional deviation of the excess hardening may be different due to the different conditions of the layer overlying the partial portion. Correct correction of the shape as shown in FIG. 45 cannot be performed.
That is, the original data having the shape as shown in FIG. 45A is converted into the uncorrected data having the defect shown in FIG. 45B, and the data is further corrected by the processing method of FIG. When data as shown in c) is created and the
[0086]
The method described below is a method of correcting the excess hardening for all shapes in consideration of such points.
In other words, in this method, for each laser scanning condition, a dimensional deviation that differs depending on the thickness and the number of layers is obtained in advance by experiment or computer analysis and is stored in a database in advance.
[0087]
Then, the processing of the flowchart shown in FIG. 46 is executed. In this process, when performing correction of each layer as shown in the figure, the layer to be corrected is divided according to the condition of the number of overlapping layers depending on the shape of a plurality of layers existing above the layer, and the size in each part is The deviation is calculated from the numerical value of the database (same as in Table 2) according to the condition of the relevant portion, and then the lower layer corresponding to the correction value is obtained, and further, the corresponding layer and the corresponding portion of the layer to be corrected are calculated. Shapes that overlap with the shapes are obtained, and integrated with those shapes to obtain correction data for the layer to be corrected.
[0088]
The correction data to be obtained is obtained by performing this over all layers. However, no correction is made for the uppermost part.
This correction processing will be described for a more specific shape.
When correcting the shape data shown in FIG. 47 in which the top layer is the 100th layer and the layer of the stepped portion is 89 layers,
(1) Since the 100th layer at the top is the top layer, no correction is performed.
[0089]
(2) 99th layer The two layers of 0.1 mm have a dimensional deviation of 0.4 mm and the lower part of 0.4 mm is the 95th layer, which is the logical product.
(3) 98th layer The three layers of 0.1 mm have a dimensional deviation of 0.5 mm and the lower part of 0.5 mm is the 93rd layer, which is the logical product.
(4) 97th layer The four layers of 0.1 mm have a dimensional deviation of 0.53 mm and the lower part of the layer is 0.53 mm.
[0090]
(5) 96th layer The five layers of 0.1 mm have a dimensional deviation of 0.55 mm and the lower part of 0.55 mm is the 91st layer, which is the logical product.
(6) Similarly, the 95th to 90th layers are logically ANDed with the 90th to 85th layers.
The conditions are the same for the 100th to 90th layers because the conditions are the same over the layers and the layers are not divided. Similar to the processing method of FIG. 38, the logical product (overlapping part) of the two layers of the correction target layer and the lower layer obtained is obtained. ) Is calculated as correction data of the correction target layer.
[0091]
(7) In the 89th layer, as shown in FIG. 48 (a), the portion (1) is the topmost, but the portion (2) is a 0.1-mm five-layer structure with a dimensional deviation of 0.55 mm. AND with FIG. 48B shows the correction result of the 89th layer.
(8) As shown in FIG. 49A, part (1) of the 88th layer has two layers of 0.1 mm, a dimensional deviation of 0.4 mm, and the logical product of the 84th layer. Further, the portion (2) has 0.1 mm and 5 layers, and has a dimensional deviation of 0.55 mm, which is the logical product of the 83rd layer. FIG. 49B shows a correction result of the 88th layer.
[0092]
Hereinafter, correction is performed in the same manner.
FIG. 50 (a) shows the corrected shape data, and FIG. 50 (b) shows the result of forming the
Although the shape used in the above description is a simplified shape for the purpose of explanation, any shape can be processed in the same way.
[0093]
As described above, according to the processing method shown in FIG. 46, since the dimensional deviation due to the excessive curing can be corrected for each portion, accurate correction can be realized for any shape.
The shape division of each layer is performed by the following method.
For example, when the shape viewed from above is the shape shown in FIG. 51 (a) and the shape viewed from the side is the shape shown in FIG. 51 (b), as shown in FIG. Of the difference between Lt and the upper layer L1, a portion A1 not in the upper layer is divided.
[0094]
That is, A1 (the part to be processed as the uppermost layer) is the part of the guarantee target layer Lt where the layer L1 does not overlap, and is processed as the uppermost layer. In the drawing, B1 indicates the remaining portion of the correction target layer Lt where the layer L1 overlaps.
Next, as shown in FIG. 52 (b), of the difference between the remaining portion B1 and the two-layer upper layer L2, a portion A2 not in the upper layer is divided. In the drawing, B2 indicates the remaining portion of the correction target layer Lt overlapping the layer L2.
[0095]
In the same manner, the division is performed by repeating the operation of cutting out the non-overlapping part of the upper layer from the difference between the remaining part and the higher layer.
In this case, since the dimensional deviation becomes a constant value for a certain degree or more, it is sufficient to perform the upper three or four layers.
FIG. 53A shows a state in which, of the difference between the remaining portion B2 and the three upper layers L3, the portion A3 of the correction target layer Lt where the layer L3 does not overlap is divided. In the drawing, B3 indicates the remaining portion of the correction target layer Lt overlapping the layer L3.
[0096]
FIG. 53B shows a state in which, of the difference between the remaining portion B3 and the three upper layers L4, the portion A4 of the correction target layer Lt where the layer L4 does not overlap is divided. In the drawing, B4 indicates the remaining portion of the correction target layer Lt overlapping the layer L4.
The result of the above division is as shown in FIG. 54, and these portions may be corrected according to the respective conditions.
[0097]
Next, for each partial shape in this example, A1 is uncorrected, A2 is the logical product of one layer below, A3 is the logical product of two layers below, A4 is the logical product of three layers below, and A5 is the logical product of four layers below. As shown in FIG. 55 (a), the correction result is obtained for each partial shape as shown in FIG. 55 (a). When these partial shape results are integrated, the result becomes as shown in FIG. 55 (b). The portion shown in FIG. 55B (a) shows the layer shape after correction, and the layer shape before correction shows the entire rectangle (b).
[0098]
【The invention's effect】
The invention according to
[0099]
Also, The step of creating the cross-sectional contour line data by slicing includes a coordinate value correction process for avoiding slicing the three-dimensional shape data with a defective coordinate value, and a location where the formation step is conspicuous in order to make the formation step inconspicuous. And a step of slicing the finer than the normal pitch, so that it is possible to obtain a shaped article with less noticeable level difference, and thus to reduce the post-processing of the shaped article.
[0100]
[0101]
[0102]
The invention of
[0103]
[0104]
Claim 7 The invention of
[0105]
If the distance between the end point and the start point of another open loop, or the distance between the start point and the end point of another open loop is equal to or less than the specified value, if there are multiple cases, the loop between the shortest distance is the target and between the end points. Connect by adding a straight line and claim the open loop created by this connection 7 The closed loop is tried by the method of the closed loop of the open loop by itself, and if the closed loop is formed by the trial, the processing for the corresponding open loops is terminated, and the process proceeds to the next open loop, and the trial is performed. If not closed loop in the process of adding the data of the open loop to the end of the processing data,
For the case where the distance between the end point and the loop is less than or equal to the specified value between other open loops, add a perpendicular from the end point to the loop, and set the loop direction from the intersection of the perpendicular and the loop. Claims about the open loop created by the connection and the deletion by connecting the connection and removing the remaining part by the connection 7 The closed loop is tried by the method of the closed loop of the open loop by itself, and if the closed loop is formed by the trial, the processing for the corresponding open loops is terminated, and the process proceeds to the next open loop, and the trial is performed. If not closed loop in the process of adding the data of the open loop to the end of the processing data,
The process of deleting the data of the open loop other than the open loop to be processed in each of the above processes, until the original open loop and the data of the open loop secondaryly generated in the above process disappear. Since the process of the above process is repeated, there is an effect that a plurality of open loops can be made into a closed loop under the condition that the direction of the loop is already correctly set.
[0106]
If the distance between the end point and the loop between other open loops is less than or equal to the specified value, if there is more than one, connect and loop by adding a straight line between the end points for the shortest distance loop To the longer of the two, and claim the resulting open loop. 7 The closed loop is tried by the method of the closed loop of the open loop by itself, and if the closed loop is formed by the trial, the processing for the corresponding open loops is terminated, and the process proceeds to the next open loop, and the trial is performed. If not closed loop in the process of adding the data of the open loop to the end of the processing data,
For a case where the distance between the end point and the loop is less than or equal to the specified value between other open loops, a perpendicular line from the end point to the loop was added, and divided at the intersection of the perpendicular line and the loop Claim the open loop obtained by connecting with the longer one and adjusting the direction of the loop to the longer of the two and removing the rest. 7 The closed loop is tried by the method of the closed loop of the open loop by itself, and if the closed loop is formed by the trial, the processing for the corresponding open loops is terminated, and the process proceeds to the next open loop, and the trial is performed. If not closed loop in the process of adding the data of the open loop to the end of the processing data,
The process of deleting the open loop data other than the open loop to be processed in each of the above processes, until the original existing open loop and the data of the open loop secondary generated in the above process disappear, Since the process of the above process is repeated, there is an effect that even if the direction of the loop is unclear, there is an effect that it is possible to cope with the closed loop of a plurality of open loops.
[0107]
[0108]
[0109]
[0110]
Claim Thirteen The invention of
[0111]
The invention of
[0112]
Claim Fifteen The invention of
[0113]
Claim 16 The invention of
[0114]
Claim 17 The invention of
[0115]
Claim 18 The invention of claim 17 In the invention of the above, it is possible to specify a plurality of ranges of layers to be corrected and a range of layers not to be corrected, and to perform correction as independent shape data for each group of one layer range in the layer range to be corrected. Even if the shape has a step, there is an effect that defects in the shape due to the correction can be suppressed, and a molded object with an accurate shape can be obtained.
[0116]
Claim 19 The invention of
[Brief description of the drawings]
FIG. 1 is a flowchart showing a flow of overall processing according to an embodiment of the present invention.
FIG. 2 is a flowchart of a stage in which three-dimensional shape data is sliced to create a plurality of cross-sectional contour lines so that a forming step is not conspicuous.
FIG. 3 is a flowchart showing a process of correcting slice coordinate values in the stage of FIG. 2;
FIG. 4 is a sectional view of a shape for explaining a correction process of FIG. 2;
FIG. 5 is a flowchart illustrating a thirassing method in which a step is not noticeable in the stage of FIG. 2;
FIG. 6 is an example of a shape for explaining the slicing method of FIG. 5;
FIG. 7 is an explanatory diagram of a facet state in FIG. 5;
FIG. 8 is an example of a shape for explaining another example of a slicing method in which steps are not noticeable in stages.
FIG. 9 is a diagram illustrating a defect example for explaining a step of correcting a defect of a cross-sectional contour line in FIG. 1;
FIG. 10 is a flowchart of a step of correcting a defect of a cross-sectional contour line in FIG. 1;
FIG. 11 is a flowchart of a process of converting a closed loop into a closed loop in the stage of FIG.
FIG. 12 is a flowchart of a closed-loop forming process of the closed loop itself in FIG. 11;
FIG. 13 is an explanatory diagram of a closed-loop processing according to the embodiment.
FIG. 14 is an explanatory diagram of another closed-loop processing of the above.
FIG. 15 is an explanatory diagram of another closed-loop processing of the above.
FIG. 16 is an explanatory diagram of another closed-loop forming process of the embodiment.
FIG. 17 is a flowchart of a closed loop forming process in which a plurality of closed loops in FIG. 11 are connected.
FIG. 18 is an explanatory diagram of the above closed loop processing.
FIG. 19 is an explanatory diagram of another closed-loop processing of the above.
FIG. 20 is an explanatory diagram of another closed-loop processing of the above.
FIG. 21 is a flowchart of another example of a closed-loop forming process in which a plurality of closed loops in FIG. 11 are connected.
FIG. 22 is an explanatory diagram of a closed-loop forming process of the embodiment.
FIG. 23 is an explanatory diagram of another closed-loop forming process of the embodiment.
FIG. 24 is an explanatory diagram of another closed-loop forming process of the above.
FIG. 25 is a flowchart of a process of dividing and deleting a closed loop self-intersection at the stage of FIG. 10;
FIG. 26 is an explanatory diagram of a process of dividing and deleting a self-intersection of the above closed loop.
FIG. 27 is a flowchart of a closed loop overlap correction process at the stage of FIG. 10;
FIG. 28 is an explanatory diagram of correction of overlapping of the closed loop according to the first embodiment.
FIG. 29 is an explanatory diagram of another example of the correction of the overlap of the above closed loop.
FIG. 30 is a flowchart of a process of deleting an unnecessary closed loop in the stage of FIG. 10;
FIG. 31 is an explanatory diagram of the above processing.
FIG. 32 is a flowchart of a process for correcting the direction of rotation of the closed loop in the stage of FIG. 10;
FIG. 33 is a flowchart of a process of correcting cross-sectional contour data in order to improve formation dimension accuracy in FIG. 1;
34 is a flowchart of data correction according to the method of surface treatment after formation in FIG. 33.
FIG. 35 is an explanatory diagram of the above processing.
36 is a flowchart of another example of data correction according to the method of surface treatment after formation in FIG. 33.
FIG. 37 is an explanatory diagram of the above processing.
FIG. 38 is a flowchart of data correction for correcting excessive curing of the photocurable resin in FIG. 33.
FIG. 39 is an explanatory diagram of the above processing.
FIG. 40 is an explanatory diagram of the above processing.
FIG. 41 is an explanatory diagram of a problem of the data correction shown in FIG. 38;
FIG. 42 is a flowchart of another example of data correction for correcting excess curing of the photocurable resin in FIG. 33.
FIG. 43 is an explanatory diagram of the above processing.
FIG. 44 is an explanatory diagram of the above processing.
FIG. 45 is an explanatory diagram of a problem of the data correction shown in FIGS. 38 and 42.
FIG. 46 is a flowchart of another example of data correction for correcting excessive curing of the photocurable resin in FIG. 33.
FIG. 47 is an explanatory diagram of the above processing.
FIG. 48 is an explanatory diagram of the above processing.
FIG. 49 is an explanatory diagram of the above processing.
FIG. 50 is an explanatory diagram of the above processing.
FIG. 51 is an explanatory diagram of a method of dividing the shape of each layer in the above.
FIG. 52 is an explanatory diagram of a method of dividing the shape of each layer in the above.
FIG. 53 is an explanatory diagram of a method of dividing the shape of each layer in the above.
FIG. 54 is an explanatory diagram of a method for dividing the shape of each layer in the above.
FIG. 55 is an explanatory diagram of a method of dividing the shape of each layer in the above.
FIG. 56 is an explanatory diagram of a conventional example.
FIG. 57 is an explanatory diagram of another conventional example.
FIG. 58 is an explanatory diagram of another conventional example.
FIG. 59 is an explanatory diagram of a problem in correction of excess curing of a photocurable resin in a conventional example.
FIG. 60 is an explanatory diagram of a problem in correction of excessive curing of a photocurable resin in a conventional example.
FIG. 61A is a cross-sectional view of a model for explaining a problem in correcting a slice coordinate value in a conventional example.
(B) is a perspective view of a modeled object for explaining a problem in correction of a slice coordinate value in a conventional example.
FIG. 62 is an example diagram of the cross-sectional contour data shown in FIG. 61;
63 is an explanatory diagram of the trajectory of laser irradiation at the time of forming a modeled object based on the cross-sectional contour data of FIG. 62.
FIG. 64 is an explanatory diagram of a conventional slicing method with less noticeable step.
FIG. 65 is an explanatory diagram of a conventional correction method by surface treatment of a modeled object.
FIG. 66 is an explanatory diagram of a problem in a conventional method of correcting the rotation direction of a closed loop of cross-sectional contour data.
FIG. 67 is an explanatory diagram of a problem in the method for correcting the rotation direction of the closed loop of the cross-sectional contour data according to the above.
FIG. 68 is a configuration diagram of a stereolithography forming apparatus used in the present invention.
FIG. 69 is a flowchart for explaining the above operation.
Claims (19)
終点と他の開ループの始点との距離、或いは始点と他の開ループの終点との距離が指定値以下の場合に対して、複数の該当があれば最短距離のループを対象として端点間に直 線を追加することにより接続し、この接続によりできた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
他の開ループとの間で端点とループとの距離が指定値以下であるという関係の場合に対して、当該端点からループへの垂線を追加し、該垂線とループとの交点からループ方向が合ように接続するとともに接続によって残った部分を削除し、該接続と削除によりできた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
上記各過程において処理対象となる開ループ以外の開ループのデータを削除する過程とからなり、元から存在している開ループ及び上記過程で二次的に発生した開ループのデータが無くなるまで、上記過程の処理を繰り返すことを特徴する請求項6又は7記載の三次元光造形用データ作成方法。 The closed-loop method of connecting a plurality of open loops is based on the condition that the direction of the loop has already been set correctly. The two open loops are reconnected at the intersection so that the directions match, the shorter one is deleted, and the remaining open loops are closed looped by the open loop self-closing method according to claim 7. If the process is closed, the process for both open loops is completed, and the process proceeds to the next open loop process. If the process is not closed by trial, the data of the open loop is added to the end of the process data When,
If the distance between the end point and the start point of another open loop, or the distance between the start point and the end point of another open loop is equal to or less than the specified value, if there are multiple cases, the loop between the shortest distance is the target and between the end points. connect by adding a straight line, attempting a closed loop by way of the closed loop of the open loop made by this connection at its own open loop of claim 7, applicable if it is closed by said sample line both Assuming that the process for the open loop has been completed, the process proceeds to the process of the next open loop, and if the closed loop is not performed by trial, a process of adding the data of the open loop to the end of the processing data;
For the case where the distance between the end point and the loop is less than or equal to the specified value between other open loops, add a perpendicular from the end point to the loop, and set the loop direction from the intersection of the perpendicular and the loop. A connection is properly made, a portion remaining by the connection is deleted, and an open loop formed by the connection and the deletion is tried to make a closed loop by an open loop self-closing method according to claim 7, and the trial makes a closed loop. If it is determined that the processing for both open loops is completed, the process proceeds to the next open loop processing, and if it is not closed by trial, the process of adding the data of the open loop to the end of the processing data and ,
The process of deleting the open loop data other than the open loop to be processed in each of the above processes, until the original existing open loop and the data of the open loop secondary generated in the above process disappear, 8. The method for creating data for three-dimensional stereolithography according to claim 6 , wherein the processing of the above steps is repeated .
他の開ループとの間で端点とループとの距離が指定値以下の場合に対して、複数の該当があれば最短距離のループを対象として端点間に直線を追加することにより接続するとともにループの方向を二つの内の長い方に合わせ、得られた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
他の開ループとの間で端点とループとの距離が指定値以下であるという関係の場合に対して、当該端点からループへの垂線を追加し、該垂線とループとの交点で分割された長い方と接続するとともにループの方向を二つの内の長い方に合わせ且つ残りを削除し、得られた開ループについて請求項7の開ループの自己での閉ループ化の方法により閉ループ化を試行し、該試行により閉ループ化されれば該当する両開ループについての処理を終了したとして、次の開ループの処理に移行し、試行で閉ループ化されなければ、当該開ループのデータを処理データの末尾に追加する過程と、
上記各過程において処理対象となる開ループ以外の開ループのデータを削除する過程とからなり、元から存在している開ループ及び上記過程で二次的に発生した開ループのデータが無くなるまで、上記過程の処理を繰り返すことを特徴する請求項6又は7の三次元光造形用データ作成方法。 The method of closing a loop by connecting the plurality of open loops is performed under the condition that the direction of the loop is unclear, and when a certain two open loops intersect or have a contact point, each loop has an intersection or 8. The method for self-closing an open loop according to claim 7, wherein the long sides divided at the contact points are connected, the direction of the loop is adjusted to the longer one of the two, and the rest is deleted. The closed loop is attempted by the above, if it is closed by the trial, the process for the corresponding both open loops is terminated, and the process proceeds to the next open loop. Adding data to the end of the processed data;
If the distance between the end point and the loop between other open loops is less than or equal to the specified value, if there is more than one, connect and loop by adding a straight line between the end points for the shortest distance loop Is adjusted to the longer one of the two, and the obtained open loop is tried to be closed-loop by the method of self-closed loop of open loop according to claim 7, and if the closed loop is formed by the trial, the corresponding two loops are closed. Assuming that the process for the open loop has been completed, the process proceeds to the process of the next open loop, and if the closed loop is not performed by trial, a process of adding the data of the open loop to the end of the processing data;
For a case where the distance between the end point and the loop is less than or equal to the specified value between other open loops, a perpendicular line from the end point to the loop was added, and divided at the intersection of the perpendicular line and the loop Connect to the longer one, adjust the direction of the loop to the longer one of the two, remove the rest, and try to make the resulting open loop closed loop by the open loop self closed loop method of claim 7. If the closed loop is established by the trial, the processing for the corresponding open loops is terminated, and the process proceeds to the next open loop. If the closed loop is not established by the trial, the data of the open loop is added to the end of the processing data. The process of adding to
The process of deleting the open loop data other than the open loop to be processed in each of the above processes, until the original existing open loop and the data of the open loop secondary generated in the above process disappear, 8. The method according to claim 6, wherein the steps are repeated .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP01412597A JP3570138B2 (en) | 1997-01-28 | 1997-01-28 | 3D stereolithography data creation method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP01412597A JP3570138B2 (en) | 1997-01-28 | 1997-01-28 | 3D stereolithography data creation method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10202756A JPH10202756A (en) | 1998-08-04 |
| JP3570138B2 true JP3570138B2 (en) | 2004-09-29 |
Family
ID=11852412
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP01412597A Expired - Fee Related JP3570138B2 (en) | 1997-01-28 | 1997-01-28 | 3D stereolithography data creation method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3570138B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10357958B2 (en) | 2015-09-14 | 2019-07-23 | Ricoh Company, Ltd. | Information processing apparatus, 3D printer system, information processing method, and non-transitory recording medium |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4659651B2 (en) * | 2006-03-13 | 2011-03-30 | 三菱電機株式会社 | CAD / CAM device, CAD / CAM device program, and CAD / CAM data editing method |
| JP6163285B2 (en) * | 2011-04-01 | 2017-07-12 | セイコーエプソン株式会社 | 3D multifunction machine |
| CN104690976B (en) * | 2015-03-25 | 2017-03-01 | 英华达(上海)科技有限公司 | The column printing method of three-dimensional printing machine and system |
| JP6469499B2 (en) * | 2015-04-01 | 2019-02-13 | ローランドディー.ジー.株式会社 | Slice model region determination device, three-dimensional modeling system, and slice model region determination method |
| JP6469498B2 (en) * | 2015-04-01 | 2019-02-13 | ローランドディー.ジー.株式会社 | Slice model region determination device, three-dimensional modeling system, and slice model region determination method |
| JP6844217B2 (en) * | 2016-11-24 | 2021-03-17 | ソニー株式会社 | Information processing equipment, modeling equipment, information processing methods, and programs |
| CN108995219B (en) * | 2018-05-31 | 2021-04-20 | 共享智能铸造产业创新中心有限公司 | Slicing method with variable layer thickness, 3D printing method and 3D printed product |
-
1997
- 1997-01-28 JP JP01412597A patent/JP3570138B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10357958B2 (en) | 2015-09-14 | 2019-07-23 | Ricoh Company, Ltd. | Information processing apparatus, 3D printer system, information processing method, and non-transitory recording medium |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH10202756A (en) | 1998-08-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3436705B2 (en) | How to form a three-dimensional object | |
| US5432704A (en) | Adaptive lamina generation for shape dependent process control and/or object decomposition | |
| US6600965B1 (en) | Method and apparatus for production of high resolution three-dimensional objects by stereolithography | |
| CN107428082B (en) | Automatic generation method and control instruction generation unit of control instruction of generative layer-by-layer construction device | |
| EP0354637B1 (en) | CAD/CAM stereolithographic data conversion | |
| US20040107019A1 (en) | Automated rapid prototyping combining additive and subtractive processes | |
| US20090160852A1 (en) | System and method for measuring a three-dimensional object | |
| KR100892353B1 (en) | Photo-shaping Method, Photo-Shaping System, And Photo-Shaping Program | |
| US11813798B2 (en) | Additive manufacturing systems and methods of pretreating and additively printing on workpieces | |
| JP3570138B2 (en) | 3D stereolithography data creation method | |
| CN116806178B (en) | Powder bed fusion method and related equipment | |
| US5858297A (en) | Method and apparatus of correcting superfluous curing thickness of optical modeling product | |
| EP0757621B1 (en) | Enhanced building techniques in stereolithography | |
| JP6887926B2 (en) | Manufacturing method of three-dimensional structure and manufacturing equipment of three-dimensional structure | |
| JP2001187424A (en) | Device and method for stereoshaping | |
| JPH05278124A (en) | Method for producing optically modeling data | |
| JPH07232383A (en) | Three-dimensional stereolithography method and apparatus | |
| JPH08244118A (en) | Method and apparatus for forming optical shaped product | |
| JP3458437B2 (en) | Optical shaping method and optical shaping apparatus | |
| Chen | Intelligent scanning in selective laser sintering | |
| JP4079544B2 (en) | Stereolithography and apparatus therefor | |
| JP4405671B2 (en) | Determination of resin hardened area in optical stereolithography | |
| US20080177416A1 (en) | Method and apparatus for automatic construction of electrodes for rocking-motion electric discharge machining | |
| KR101236933B1 (en) | Curved surface measuring method | |
| Zhu | Automatic compensating cleanup operation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040106 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040308 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040601 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040614 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070702 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080702 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090702 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090702 Year of fee payment: 5 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090702 Year of fee payment: 5 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090702 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100702 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100702 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110702 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120702 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120702 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130702 Year of fee payment: 9 |
|
| LAPS | Cancellation because of no payment of annual fees |