JP6469499B2 - スライスモデルの領域判定装置、3次元造形システム、および、スライスモデルの領域判定方法 - Google Patents

スライスモデルの領域判定装置、3次元造形システム、および、スライスモデルの領域判定方法 Download PDF

Info

Publication number
JP6469499B2
JP6469499B2 JP2015075076A JP2015075076A JP6469499B2 JP 6469499 B2 JP6469499 B2 JP 6469499B2 JP 2015075076 A JP2015075076 A JP 2015075076A JP 2015075076 A JP2015075076 A JP 2015075076A JP 6469499 B2 JP6469499 B2 JP 6469499B2
Authority
JP
Japan
Prior art keywords
internal level
value
contour
outline
scanning line
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
Application number
JP2015075076A
Other languages
English (en)
Other versions
JP2016193568A (ja
Inventor
真 吉田
真 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Roland DG Corp
Original Assignee
Roland DG Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Roland DG Corp filed Critical Roland DG Corp
Priority to JP2015075076A priority Critical patent/JP6469499B2/ja
Priority to US15/084,835 priority patent/US10101728B2/en
Publication of JP2016193568A publication Critical patent/JP2016193568A/ja
Application granted granted Critical
Publication of JP6469499B2 publication Critical patent/JP6469499B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • G05B19/4099Surface or curve machining, making 3D objects, e.g. desktop manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/351343-D cad-cam
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49007Making, forming 3-D object, model, surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50093Sculptured rough machining with the contour map approach, make slices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Chemical & Material Sciences (AREA)
  • Materials Engineering (AREA)

Description

本発明は、スライスモデルの領域判定装置、3次元造形システム、および、スライスモデルの領域判定方法に関する。
従来から、3次元造形物を造形する3次元造形装置が知られている。この種の3次元造形装置では、例えば、コンピュータ支援設計装置(CAD装置)を用いて、3次元造形物を造形するための3次元モデルのデータを作成している(特許文献1参照)。そして、3次元モデルを所定の間隔にスライスすることで、3次元造形物の断面形状に対応したスライスモデルのデータを作成している。3次元造形装置は、スライスモデルのデータに沿った断面形状の樹脂材料を順次積層し、樹脂材料を硬化させることによって3次元造形物を造形する。
図11(a)は、3次元造形物A100の平面図である。図11(b)は、3次元造形物A100の側面図である。この3次元造形物A100の形状は、直径が異なる2つの円柱形状のものを上下方向に並べた形状であり、平面視において中央部分が切り抜かれた形状である。図12は、図11(b)の位置PT100で3次元造形物A100をスライスしたスライスモデルSM100を示した図である。なお、図11(a)、図11(b)、図12において、斜線が引かれた領域は造形領域である。スライスモデルSM100は、3次元造形物A100の形状を示す輪郭線によって構成されている。この輪郭線には、例えば、3次元造形物A100の造形領域の外郭を示す輪郭線L101と、3次元造形物A100の穴の形状を示す輪郭線L102とが含まれる。以下の説明において、3次元造形物の造形領域の外郭を示す輪郭線を「島輪郭線」と称する。3次元造形物の穴の形状を示す輪郭線を「穴輪郭線」と称する。
図12において、島輪郭線L101と穴輪郭線L102との間の領域D101は造形領域である。穴輪郭線L102よりも内側の領域D102は、穴を示しており、造形されない非造形領域である。
例えば、スライスモデルSM100において、輪郭線L101、L102が島輪郭線か穴輪郭線かを識別するために、それぞれの輪郭線L101、L102において周回方向が設定されている。例えば、島輪郭線L101の周回方向は時計回りの方向に設定されている。また、穴輪郭線L102の周回方向は反時計回りの方向に設定されている。コンピュータプログラムは、輪郭線の周回方向によって、輪郭線が島輪郭線か穴輪郭線かを判定している。
ところで、コンピュータプログラムにおいて、スライスモデルSM100の領域を造形領域と非造形領域とに分けるために、輪郭線L101、L102に対して交差し、かつ、所定の方向(図12では、左から右への方向)に走査する直線状の走査線SL100を設定する。また、コンピュータプログラムには、スライスモデルSM100の領域を造形領域と非造形領域とに分けるための変数n(ここでは、内部レベルnという。)が設定されている。例えば、内部レベルnの初期値は「0」である。走査線SL100が所定の方向に走査して輪郭線L101、L102と交差した際、輪郭線L101、L102がどの方向から走査線SL100に対して交差したかを判定する。ここでは、輪郭線が一の方向(図12では、下から上へ向かう方向)から走査線SL100に対して交差した場合、内部レベルnの値に「1」を加算する。一方、輪郭線が一の方向とは逆の他の方向(図12では、上から下へ向かう方向)から走査線SL100に対して交差した場合、内部レベルnの値に「1」を減算する。図12のスライスモデルSM100では、交差点P101、P103において内部レベルnの値に「1」が加算され、交差点P102、P104において内部レベルnの値に「1」が減算される。そして、コンピュータプログラムは、内部レベルnの値が「0」以外の場合、内部レベルnに対応した領域(図12では、領域D101)を造形領域と判定し、内部レベルnの値が「0」の場合、内部レベルnに対応した領域(図12では、領域D102)を非造形領域と判定する。
特表2003−535712号公報
図13は、図11(b)の位置PT110で3次元造形物A100をスライスしたスライスモデルSM110を示した図である。図13において、位置PT110は、3次元造形物A100を構成する2つの円柱形状の境界となる位置である。そのため、図13のスライスモデルSM110には、下側の円柱形状の上端の外郭を示す島輪郭線L111と、上側の円柱形状の下端の外郭を示す島輪郭線L112とが設けられている。図13において、斜線が引かれた領域は、造形領域である。図13のスライスモデルSM110では、島輪郭線L111と穴輪郭線L113との間には、他の島輪郭線L112が設けられている。ここでは、島輪郭線L111と島輪郭線L112との間の領域D111、および、島輪郭線L112と穴輪郭線L113との間の領域D112は、造形領域である。一方、穴輪郭線L113よりも内側の領域D113は、非造形領域である。
コンピュータプログラムは、スライスモデルSM110の輪郭線に対して交差するような走査線SL110を設定する。そして、走査線SL110を走査して内部レベルnの値が推移することで、スライスモデルSM110の領域を造形領域と非造形領域とに分けている。このとき、交差点P111、P112において、内部レベルnの値にそれぞれ「1」が加算されるため、交差点P112では、内部レベルnの値が「2」となる。交差点P113において、内部レベルnの値に「1」が減算されるため、内部レベルnの値が「1」となる。同様にして、交差点P114では内部レベルnの値が「2」、交差点P115では内部レベルnの値が「1」、交差点P116では内部レベルnの値が「0」となる。
コンピュータプログラムは、内部レベルnの値が「0」の場合、内部レベルnに対応した領域が非造形領域であると判定する。スライスモデルSM110において、本来、領域D113は非造形領域である。しかしながら、領域D113では内部レベルnの値が「1」であるため、コンピュータプログラムは、領域D113を造形領域と判定してしまうおそれがあった。
本発明はかかる点に鑑みてなされたものであり、その目的は、造形する3次元造形物の3次元モデルを所定の間隔にスライスしたスライスモデルにおいて、スライスモデルの領域を造形領域と非造形領域とに適切に分けることが可能なスライスモデルの領域判定装置、3次元造形システム、および、スライスモデルの領域判定方法を提供することである。
本発明に係るスライスモデルの領域判定装置は、造形する3次元造形物の3次元モデルを所定の間隔にスライスし、前記3次元造形物の輪郭を示す輪郭線によって構成されたスライスモデルにおいて、前記スライスモデル内の領域を、造形する造形領域と造形しない非造形領域とに分けるスライスモデルの領域判定装置である。前記輪郭線には、前記3次元造形物の造形領域の外郭の形状を示す島輪郭線と、前記3次元造形物の穴の形状を示す穴輪郭線とが含まれている。前記領域判定装置は、記憶部と、周回方向設定部と、走査線設定部と、交差点特定部と、輪郭線判定部と、第1内部レベル設定部と、第2内部レベル設定部と、領域判定部とを備えている。前記記憶部は、前記スライスモデル、変数である内部レベル変数および一時保持変数を記憶する。前記周回方向設定部は、前記記憶部に記憶された前記スライスモデルの前記島輪郭線と前記穴輪郭線とにおいて、互いに異なる周回方向を設定する。前記走査線設定部は、前記記憶部に記憶された前記スライスモデルにおいて、前記輪郭線と交差するように所定の方向に向かって走査させる走査線を設定する。前記交差点特定部は、前記輪郭線と前記走査線とが交差する交差点を特定する。前記輪郭線判定部は、前記交差点特定部によって特定された前記交差点において、前記走査線と交差した前記輪郭線が前記島輪郭線か前記穴輪郭線かを判定する。前記第1内部レベル設定部は、前記輪郭線判定部によって、前記走査線と交差した前記輪郭線が前記島輪郭線と判定された場合、前記島輪郭線が前記走査線に対して一の方向から交差した際に、前記内部レベル変数の値に所定の数を加算し、前記島輪郭線が前記走査線に対して前記一の方向とは逆の他の方向から交差した際に、前記内部レベル変数の値に前記所定の数を減算する。前記第2内部レベル設定部は、前記輪郭線判定部によって、前記走査線と交差した前記輪郭線が前記穴輪郭線と判定された場合、前記穴輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値を前記一時保持変数に代入した後に、前記内部レベル変数に0を代入し、前記穴輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に、前記一時保持変数の値を代入する。前記領域判定部は、前記第1内部レベル設定部および前記第2内部レベル設定部によって設定された前記内部レベル変数において、前記内部レベル変数の値が0以外の値である場合、前記内部レベル変数に対応した領域が前記造形領域であると判定し、前記内部レベル変数の値が0である場合、前記内部レベル変数に対応した領域が前記非造形領域であると判定する。
前記領域判定装置によれば、第2内部レベル設定部によって、穴輪郭線が走査線に対して他の方向から交差した際に、内部レベル変数の値を一時保持変数に代入した後に、内部レベル変数の値に「0」を代入する。そして、穴輪郭線が走査線に対して一の方向から交差した際に、内部レベル変数の値に一時保持変数の値を代入する。よって、スライスモデルにおいて、造形しない非造形領域では内部レベル変数の値を確実に「0」にすることができる。そのため、例えば、図13のスライスモデルSM110のように、島輪郭線L111と穴輪郭線L113との間に、他の島輪郭線L112とがある場合であっても、スライスモデルSM110の領域を造形領域と非造形領域とに確実に分けることができる。
本発明の好ましい一態様によれば、前記周回方向設定部は、前記島輪郭線の周回方向を一の周回方向に設定し、前記穴輪郭線の周回方向を前記一の周回方向とは逆の他の周回方向に設定する。前記輪郭線判定部は、前記交差点において前記走査線と交差した前記輪郭線の周回方向が前記一の周回方向の場合、前記交差した前記輪郭線が前記島輪郭線であると判定し、前記交差点において前記走査線と交差した前記輪郭線の周回方向が前記他の周回方向の場合、前記交差した前記輪郭線が前記穴輪郭線であると判定する。
上記態様によれば、走査線と交差した輪郭線の周回方向が一の周回方向か他の周回方向かを判定することで、走査線と交差した輪郭線が島輪郭線か穴輪郭線かを容易に判定することができる。
本発明の好ましい他の一態様によれば、前記第1内部レベル設定部は、前記島輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に1を加算し、前記島輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値に1を減算する。
上記態様によれば、島輪郭線が走査線に対して交差した際に、内部レベル変数の値をより簡単に推移させることができる。
本発明の好ましい他の一態様によれば、前記走査線設定部は、前記走査線を複数設定する。
上記態様によれば、スライスモデルの領域を造形領域と非造形領域とに、より確実に分けることができる。
本発明に係る3次元造形システムは、3次元造形物を造形する3次元造形装置と、上述した何れかに記載されたスライスモデルの領域判定装置と、を備えている。
上記態様によれば、上述した何れかに記載されたスライスモデルの領域判定装置を備えた3次元造形システムを提供することができる。
本発明に係るスライスモデルの領域判定方法は、造形する3次元造形物の3次元モデルを所定の間隔にスライスし、前記3次元造形物の輪郭を示す輪郭線によって構成されたスライスモデルにおいて、前記スライスモデル内の領域を、造形する造形領域と造形しない非造形領域とに分けるスライスモデルの領域判定方法である。前記輪郭線には、前記3次元造形物の造形領域の外郭の形状を示す島輪郭線と、前記3次元造形物の穴の形状を示す穴輪郭線とが含まれている。前記領域判定方法は、記憶工程と、周回方向設定工程と、走査線設定工程と、交差点特定工程と、輪郭線判定工程と、第1内部レベル設定工程と、第2内部レベル設定工程と、領域判定工程とを包含する。前記記憶工程では、前記スライスモデルを記憶する。前記周回方向設定工程では、前記記憶工程で記憶した前記スライスモデルの前記島輪郭線と前記穴輪郭線とにおいて、互いに異なる周回方向を設定する。前記走査線設定工程では、前記記憶工程で記憶した前記スライスモデルにおいて、前記輪郭線と交差するように所定の方向に向かって走査させる走査線を設定する。前記交差点特定工程では、前記輪郭線と前記走査線とが交差する交差点を特定する。前記輪郭線判定工程では、前記交差点特定工程によって特定した前記交差点において、前記走査線と交差した前記輪郭線が前記島輪郭線か前記穴輪郭線かを判定する。前記第1内部レベル設定工程では、前記輪郭線判定工程において、前記走査線と交差した前記輪郭線が前記島輪郭線と判定した場合、前記島輪郭線が前記走査線に対して一の方向から交差した際に、変数である内部レベル変数の値に所定の数を加算し、前記島輪郭線が前記走査線に対して前記一の方向とは逆の他の方向から交差した際に、前記内部レベル変数の値に前記所定の数を減算する。第2内部レベル設定工程では、前記輪郭線判定工程において、前記走査線と交差した前記輪郭線が前記穴輪郭線と判定した場合、前記穴輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値を、変数である一時保持変数に代入した後に、前記内部レベル変数に0を代入し、前記穴輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に、前記一時保持変数の値を代入する。前記領域判定工程では、前記第1内部レベル設定工程および前記第2内部レベル設定工程で設定した前記内部レベル変数において、前記内部レベル変数の値が0以外の値である場合、前記内部レベル変数に対応した領域が前記造形領域であると判定し、前記内部レベル変数の値が0である場合、前記内部レベル変数に対応した領域が前記非造形領域であると判定する。
本発明の好ましい他の一態様によれば、前記周回方向設定工程において、前記島輪郭線の周回方向を一の周回方向に設定し、前記穴輪郭線の周回方向を前記一の周回方向とは逆の他の周回方向に設定する。前記輪郭線判定工程では、前記交差点において前記走査線と交差した前記輪郭線の周回方向が前記一の周回方向の場合、前記交差した前記輪郭線が前記島輪郭線であると判定し、前記交差点において前記走査線と交差した前記輪郭線の周回方向が前記他の周回方向の場合、前記交差した前記輪郭線が前記穴輪郭線であると判定する。
本発明の好ましい他の一態様によれば、前記第1内部レベル設定工程において、前記島輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に1を加算し、前記島輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値に1を減算する。
本発明の好ましい他の一態様によれば、前記走査線設定工程において、前記走査線を複数設定する。
前記スライスモデルの前記輪郭線には、前記3次元造形物の造形領域の外郭を示す第1島輪郭線と、前記穴輪郭線と、前記第1島輪郭線と前記穴輪郭線との間に設けられ、前記3次元造形物の造形領域の外郭を示す第2島輪郭線とが含まれている。前記内部レベル変数の初期値を0とする。前記第1内部レベル設定工程において、前記第1島輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に1を加算し、前記第2島輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に1を加算することで前記内部レベル変数の値を2とする。前記第2内部レベル設定工程において、前記穴輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値である2を前記一時保持変数に代入した後に、前記内部レベル変数に0を代入し、前記穴輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に前記一時保持変数の値である2を代入する。前記第1内部レベル設定工程において、前記第2島輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値に1を減算することで前記内部レベル変数の値を1とし、前記第1島輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値に1を減算することで前記内部レベル変数の値を0とする。
上記態様によれば、内部レベル変数の値が「2」であって、穴輪郭線が走査線に対して他の方向から交差した際に、内部レベル変数の値(=2)を一時保持変数に代入した後に、内部レベル変数の値に「0」を代入する。そして、穴輪郭線が走査線に対して一の方向から交差した際に、内部レベル変数の値に一時保持変数の値(=2)を代入する。よって、スライスモデルが第1島輪郭線、穴輪郭線、および、第1島輪郭線と穴輪郭線との間に設けられた第2島輪郭線によって構成された場合であっても、造形しない非造形領域では内部レベル変数の値を確実に「0」にすることができる。したがって、スライスモデルの領域を造形領域と非造形領域とに確実に分けることができる。
本発明によれば、造形する3次元造形物の3次元モデルを所定の間隔にスライスしたスライスモデルにおいて、スライスモデルの領域を造形領域と非造形領域とに適切に分けることができる。
本発明の実施形態に係る3次元造形システムの断面図である。 3次元造形システムの平面図である。 3次元造形システムのブロック図である。 スライスモデルの輪郭線が島輪郭線か穴輪郭線かを判別するための手順を示す図である。 スライスモデルにおいて、どの領域が造形領域であり、どの領域が非造形領域であるかを判定する手順を示したフローチャートである 3次元造形物の一例を示した図であり、図6(a)は、3次元造形物の平面図であり、図6(b)は、3次元造形物の側面図である。 図6(b)の位置PT1で3次元造形物をスライスしたスライスモデルを示した図である。 図8(a)および図8(b)は、ベクトルaとベクトルbとの外積a×bによって算出されたベクトルの方向について示した図である。 スライスモデルに複数の走査線を設定した状態を示した図である。 スライスモデルの他の一例を示した図である。 従来技術を説明する図であり、図11(a)は、3次元造形物の平面図であり、図11(b)は、3次元造形物の側面図である。 従来技術を説明する図であり、図11(b)の位置PT100で3次元造形物をスライスしたスライスモデルを示した図である。 従来技術を説明する図であり、図11(b)の位置PT110で3次元造形物をスライスしたスライスモデルを示した図である。
以下、図面を参照しながら、本発明の実施形態に係るスライスモデルの領域判定装置(以下、領域判定装置という。)を備えた3次元造形システムについて説明する。なお、ここで説明される実施形態は、当然ながら特に本発明を限定することを意図したものではない。また、同じ作用を奏する部材・部位には同じ符号を付し、重複する説明は適宜省略または簡略化する。
図1は、本実施形態に係る3次元造形システム10の断面図である。図2は、3次元造形システム10の平面図である。図3は、3次元造形システム10のブロック図である。なお、図面中の符号F、Rr、L、Rは、それぞれ前、後、左、右を示している。ただし、これらは説明の便宜上の方向に過ぎず、3次元造形システム10の設置態様を何ら限定するものではない。
3次元造形システム10は、3次元造形物を造形するシステムである。図1に示すように、3次元造形システム10は、3次元造形装置10Aと、領域判定装置100(図3参照)とを備えている。3次元造形装置10Aは、3次元造形物の断面形状を用意し、液体の光硬化性樹脂を硬化させて断面形状に対応した形状の樹脂層を順次積層することによって、3次元造形物を造形する装置である。ここで、「断面形状」とは、3次元造形物を所定の厚み(例えば、0.1mm)ごとにスライスしたときの断面の形状である。「光硬化性樹脂」とは、所定の波長を含む光が照射されると、硬化する樹脂である。3次元造形装置10Aは、台11と、槽12と、ホルダ13と、光学装置14と、制御装置16とを備えている。
台11は、ケース25に支持されている。台11には、光硬化性樹脂23に照射する光を通過させる開口21が形成されている。槽12は、液体の光硬化性樹脂23を収容する。槽12は、台11上に取り付け可能に載置されている。図2に示すように、槽12は、台11に載置された状態において、台11の開口21を覆う。槽12は、光を透過させることのできる材料、例えば、透明な材料によって形成されているとよい。
図1に示すように、ホルダ13は、槽12の上方、かつ、台11の開口21の上方に配置されている。ホルダ13は、下降したときに槽12内の光硬化性樹脂23に浸漬し、上昇するときに、光が照射されて硬化した光硬化性樹脂23を吊り上げるように昇降自在に構成されている。ここでは、台11には、上下方向に延びた支柱41が設けられている。支柱41の前方には、スライダ42が取り付けられている。スライダ42は、支柱41に沿って昇降自在であり、モータ43によって上方または下方に移動する。ここでは、ホルダ13は、スライダ42に取り付けられており、支柱41の前方に配置されている。ホルダ13は、モータ43によって上方または下方に移動する。
光学装置14は、台11の下方に配置されている。光学装置14は、槽12内に収容された液体の光硬化性樹脂23に所定の波長からなる光を照射する装置である。光学装置14は、台11の下方に設けられたケース25に収容されている。光学装置14は、プロジェクタ31と、ミラー32とを備えている。プロジェクタ31は、光を発する光源であり、台11の前部の下方に配置されている。プロジェクタ31は、ホルダ13よりも前方に配置されている。プロジェクタ31の後部には、レンズ34が配置されている。プロジェクタ31は、レンズ34を通じて前方から後方に向かって光を発する。ミラー32は、プロジェクタ31から発せられた光を槽12に向かって反射させる部材である。ミラー32は、台11に形成された開口21の下方、かつ、プロジェクタ31の後方に配置されている。プロジェクタ31から発せられた光は、ミラー32によって反射され、台11の開口21を通じて槽12内の光硬化性樹脂23に照射される。
制御装置16は、ホルダ13が取り付けられたスライダ42を昇降自在に制御するモータ43、および、光学装置14のプロジェクタ31に接続されている。制御装置16は、モータ43を駆動することによって、スライダ42およびホルダ13を上方または下方に移動させる。制御装置16は、プロジェクタ31を制御する。制御装置16は、プロジェクタ31から発せられる光のエネルギー、光度、光量、光の波長帯域、光の形状、光を照射させる位置および光を発するタイミングなどを制御する。なお、制御装置16の構成は特に限定されない。例えば、制御装置16は、コンピュータであり、中央演算処理装置(以下、CPUという。)と、CPUが実行するプログラムなどを格納したROMと、RAMなどを備えていてもよい。
以上、本実施形態に係る3次元造形装置10Aの構成について説明した。本実施形態に係る3次元造形装置10Aでは、造形する3次元造形物に対応した3次元モデルのデータ(以下、造形物モデルという。)を用意する。そして、造形物モデルを所定の間隔で水平方向にスライスすることによって、3次元造形物の断面形状に対応した2次元のスライスモデルのデータを複数作成する。ただし、造形物モデルをスライスする方向は、水平方向に限定されず、例えば、垂直方向であってもよい。ここでは、スライスモデルのデータとは、STLデータのことである。以下、2次元のスライスモデルのデータを単に「スライスモデル」とも称する。ここでは、3次元造形装置10Aは、液体の光硬化性樹脂23を硬化させて、スライスモデルに沿った断面形状に対応した形状の樹脂層を順次積層することによって、3次元造形物を造形する。
ところで、図12に示すように、例えば、造形する3次元造形物A100のスライスモデルSM100は、3次元造形物A100(図11(a)および(b)参照)の形状を示す輪郭線によって構成されている。この輪郭線には、例えば、造形領域の外郭を示す島輪郭線L101と、穴の形状を示す穴輪郭線L102とが含まれている。島輪郭線L101よりも内側であって、穴輪郭線L102よりも外側の領域D101は、光硬化性樹脂23が硬化する領域、すなわち、造形領域である(図12の斜線部分)。一方、穴輪郭線L102よりも内側の領域(ただし、穴輪郭線L102よりも内側に他の島輪郭線がある場合、穴輪郭線L102よりも内側であって、他の島輪郭線よりも外側の領域)D102は、穴でありその領域には光硬化性樹脂23が硬化しない領域、すなわち、造形されない非造形領域である。
ここでは、スライスモデルSM100において、島輪郭線L101と穴輪郭線L102とを識別するために、それぞれの輪郭線において周回方向が設定されている。例えば、島輪郭線L101の周回方向は時計回りであり、穴輪郭線L102の周回方向は反時計回りである。本実施形態では、時計回りが本発明の「一の周回方向」に対応し、反時計回りが本発明の「他の周回方向」に対応する。ただし、島輪郭線L101の周回方向と穴輪郭線L102の周回方向とは異なっていればよく、島輪郭線L101の周回方向が反時計回りであり、穴輪郭線L102の周回方向が時計回りであってもよい。
なお、スライスモデルの輪郭線の周回方向が分からないため、その輪郭線が島輪郭線か穴輪郭線かが分からない場合には、以下の手順で輪郭線を判定することができる。図4は、スライスモデルSM11の輪郭線L11が島輪郭線であるか穴輪郭線であるかを判定するための手順を示した図である。以下では、図4のスライスモデルSM11を用いて、スライスモデルSM11の輪郭線L11が島輪郭線であるか穴輪郭線であるかを判定(以下、輪郭線判定という。)する手順について説明する。ここでは、輪郭線判定をするために、「三角形の符号付き面積」を用いる。「三角形の符号付き面積」とは、三角形の面積にプラスまたはマイナスの符号を付加した面積のことである。例えば、図4に示すような多角形を構成する輪郭線L11の場合、まず、成す角度が鋭角である任意の凸頂点を抽出する。ここでは、例えば、頂点pを抽出する。次に、頂点pと隣合う頂点qおよび頂点rを抽出する。ここで、三角形△pqrの符号付き面積を求める。三角形△pqrの符号付き面積をSとすると、面積Sは、以下の式(1)で表される。
S=(p.x−r.x)・(q.y−r.y)−(q.x−r.x)・(p.y−r.y) ・・・(1)
上記式(1)において、p.xおよびp.yはそれぞれ頂点pのx座標およびy座標、q.xおよびq.yはそれぞれ頂点qのx座標およびy座標、r.xおよびr.yはそれぞれ頂点rのx座標およびy座標を示している。ここで、面積Sが「0」より小さい場合、すなわち、面積Sが負である場合、輪郭線L11は島輪郭線であると判定する。一方、面積Sが「0」より大きい場合、すなわち、面積Sが正である場合、輪郭線L11は穴輪郭線であると判定する。次に、三角形△pqrの符号付き面積Sと、輪郭線L11の周回方向とを関連付ける。面積Sが負である場合、輪郭線L11の周回方向を、例えば、一の方向(ここでは、時計回りの方向)とし、面積Sが正である場合、輪郭線L11の周回方向を一の方向とは逆の方向(ここでは、反時計回りの方向)とする。
ところで、コンピュータによって、スライスモデルのどの領域が造形領域であり、どの領域が非造形領域であるかを判定(以下、領域判定という。)するのは、上述した情報(例えば、輪郭線の周回方向などの情報)のみでは困難である。そこで、本実施形態では、領域判定装置100を用いて、スライスモデルの領域判定を行う。領域判定装置100は、造形する3次元造形物の3次元モデルを所定の間隔にスライスしたスライスモデルにおいて、スライスモデルのどの領域が造形領域であり、どの領域が非造形領域であるかを判定する装置である。領域判定装置100は、3次元造形装置10Aと別体であってもよく、3次元造形装置10Aに内蔵されていてもよい。例えば、領域判定装置100は、コンピュータであり、CPUが実行するプログラムなどを格納したROMとRAMなどを備えていてもよい。ここでは、コンピュータ内に保存されたプログラムを使用して、スライスモデルの領域を判定する。領域判定装置100は、3次元造形システム10のための専用のコンピュータであってもよく、汎用のコンピュータであってもよい。
図5は、スライスモデルにおいて、どの領域が造形領域であり、どの領域が非造形領域であるかを判定する手順を示したフローチャートである。図6(a)は、3次元造形物Aの平面図である。図6(b)は、3次元造形物Aの側面図である。図7は、図6(b)の位置PT1で3次元造形物AをスライスしたスライスモデルSM21を示した図である。なお、図6(a)、図6(b)、図7において、斜線が引かれた領域は造形領域である。3次元造形物Aは、大きさが異なる2つの柱形状のものを上下方向に並べた形状であり、平面視において中央部分が切り抜かれた形状である。図6(b)において、位置PT1は、3次元造形物Aを構成する2つの柱形状のものの境界となる位置である。ここでは、図6(b)の3次元造形物Aを位置PT1でスライスしたスライスモデルSM21を用いて、領域判定装置100が、スライスモデルSM21において、どの領域が造形領域であり、どの領域が非造形領域であるかを判定する手順について説明する。
まず、ステップS101では、スライスモデルを作成する。ここでは、造形する3次元造形物Aの3次元モデルを所定の間隔で水平方向にスライスすることによって、3次元造形物Aの断面形状に沿った2次元のスライスモデルを複数作成する。なお、図7のスライスモデルSM21は、作成した複数のスライスモデルのうちの1つである。スライスモデルSM21は、島輪郭線L21よりも内側に他の島輪郭線L22および穴輪郭線L23が設けられている。他の島輪郭線L22よりも内側に、穴輪郭線L23が設けられている。すなわち、島輪郭線L21と穴輪郭線L23との間に、島輪郭線L22が設けられている。なお、本実施形態において、島輪郭線L21は本発明の「第1島輪郭線」に対応し、島輪郭線L22は本発明の「第2島輪郭線」に対応する。
次に、ステップS102では、スライスモデルSM21の各輪郭線において、周回方向を設定する。ここでは、島輪郭線L21、L22の周回方向をそれぞれ時計回りに設定する。一方、穴輪郭線L23の周回方向を反時計回りに設定する。
次に、ステップS103では、スライスモデルSM21に対して、走査線SL21を設定する。走査線SL21は、スライスモデルSM21の領域を造形領域と非造形領域とに分けるために用いるものである。走査線SL21は、スライスモデルSM21の輪郭線に対して交差し、かつ、所定の方向に走査するように設定される。ここでは、走査線SL21の所定の方向は、図7の左から右へ向かう方向である。しかし、走査線SL21の所定の方向は特に限定されない。例えば、走査線SL21の所定の方向は、図7の右から左への方向であってもよいし、図7の上から下への方向であってもよい。
なお、ここでは、領域判定装置100には、変数としての内部レベル変数n(以下、内部レベルnともいう。)が記憶されている。内部レベルnとは、スライスモデルSM21の領域を造形領域と非造形領域とに分けるために用いられる変数である。領域判定装置100は、内部レベルnの値によって、スライスモデルSM21において、どの領域が造形領域であり、どの領域が非造形領域であるかを決定する。ここでは、内部レベルnの初期値は「0」であるが、初期値は「0」に限定されない。
次に、ステップS104では、走査線SL21の所定の方向に沿って、内部レベルnの値を推移させる。ここでは、まず、走査線SL21とスライスモデルSM21の輪郭線とが交差する交差点P21〜P26を特定する。走査線SL21を所定の方向(ここでは、図7の左から右へ向かう方向)に走査し、走査線SL21とスライスモデルSM21の輪郭線とが交差した場合に、内部レベルnの値を変化させる。なお、内部レベルnの値が変更された際、変更後の内部レベルnの値と、走査線SL21と輪郭線とが交差した交差点とを関連付けた状態で、変更後の内部レベルnの値と上記交差点とは、領域判定装置100に記憶されている。
ここでは、走査線SL21と交差した輪郭線が島輪郭線であるか穴輪郭線であるかによって、内部レベルnの値の変更の仕方が異なる。そこで、まず、走査線SL21と交差した輪郭線が島輪郭線であるか穴輪郭線であるかを判定する。ここでは、走査線SL21と交差した輪郭線の周回方向によって、輪郭線の種類を判定する。輪郭線の周回方向が時計回りの方向である場合、交差した輪郭線は島輪郭線であると判定する。一方、輪郭線の周回方向が反時計回りの方向である場合、交差した輪郭線は穴輪郭線であると判定する。
具体的には、例えば、図4に示すようなスライスモデルSM11の輪郭線L11の場合、任意の頂点pと、頂点pと隣合う頂点q、rからなる三角形の符号付き面積Sを求める。そして、求めた面積Sが正の場合、輪郭線L11は穴輪郭線であると判定される。一方、求めた面積Sが負の場合、輪郭線L11は島輪郭線であると判定される。図7のスライスモデルSM21では、交差点P21、P22、P25、P26において交差した輪郭線を島輪郭線と判定する。そして、交差点P23、P24において交差した輪郭線を穴輪郭線と判定する。
走査線SL21と交差した輪郭線が島輪郭線の場合、次に、島輪郭線が走査線SL21にどの方向から交差したのかを判定する。そして、その判定結果によって、内部レベルnの値に「1」を加算するか、または、減算するかを決定する。例えば、島輪郭線が走査線SL21に対して一の方向(ここでは、図7の下から上への方向)DR1から交差したと判定した場合、内部レベルnの値に「1」を加算する。一方、島輪郭線が走査線SL21に対して一の方向DR1とは逆の他の方向(ここでは、図7の上から下への方向)DR2から交差したと判定した場合、内部レベルnの値に「1」を減算する。
なお、走査線SL21と交差した輪郭線が島輪郭線の場合、内部レベルnの値に「1」を加算するか、または、減算するかは、外積を用いて決定することができる。例えば、走査線SL21をベクトルaとし、交差した島輪郭線をベクトルbとする。そして、外積a×bを求める。このとき、外積a×bによって算出されたベクトルの方向によって内部レベルnの値に「1」を加算するか、または、減算するかを決定する。例えば、図8(a)の場合、走査線SL21を示すベクトルaがX軸方向のプラスへ向かうベクトルであり、走査線SL21と交差した島輪郭線を示すベクトルbがY軸方向のプラスへ向かうベクトルである。このとき、外積a×bによって算出されたベクトルは、Z軸方向のプラスへ向かうベクトルとなる。一方、図8(b)の場合、走査線SL21を示すベクトルaがX軸方向のプラスへ向かうベクトルであり、走査線SL21と交差した島輪郭線を示すベクトルbがY軸方向のマイナスへ向かうベクトルである。このとき、外積a×bによって算出されたベクトルは、Z軸方向のマイナスへ向かうベクトルとなる。ここでは、外積a×bによって算出されたベクトルの方向がZ軸方向のプラスへ向かう方向の場合、内部レベルnの値に「1」を加算する。一方、外積a×bによって算出されたベクトルの方向がZ軸方向のマイナスへ向かう方向の場合、内部レベルnの値に「1」を減算する。
走査線SL21と交差した輪郭線が穴輪郭線の場合、次に、穴輪郭線が走査線SL21に対してどの方向から交差したかを判定する。そして、判定結果によって、内部レベルnの値をどのように変更するのかを決定する。ここでは、領域判定装置100には、一時保持変数mが記憶されている。一時保持変数mは、内部レベルnの値を一時的に保持するための変数である。ここでは、走査線SL21が穴輪郭線と交差し、領域が造形領域から非造形領域に変更したとき、内部レベルnの値を一時保持変数mに代入する。その後、内部レベルnに「0」を代入する。一方、走査線SL21が穴輪郭線と交差し、領域が非造形領域から造形領域に変更した場合、内部レベルnの値に一時保持変数mの値を代入する。なお、このとき、内部レベルnに代入される一時保持変数mの値は、同一の穴輪郭線が走査線SL21と交差し、領域が造形領域から非造形領域に変更したときに代入された一時保持変数mの値である。本実施形態では、非造形領域のときに内部レベルnの値を「0」にしている。
ここでは、穴輪郭線が走査線SL21に対して他の方向(図7では、上から下への方向)DR2から交差したと判定した場合、内部レベルnの値を一時保持変数mに代入する。その後、内部レベルnに「0」を代入する。一方、穴輪郭線が走査線SL21に対して一の方向(図7では、下から上への方向)DR1から交差したと判定した場合、内部レベルnに一時保持変数mの値を代入する。
なお、走査線SL21と交差した輪郭線が穴輪郭線の場合、内部レベルnの値の変更を、外積を用いて決定することができる。図8(a)および図8(b)において、ベクトルbが穴輪郭線を示すベクトルとする。このとき、図8(b)に示すように、外積a×bによって算出されたベクトルの方向がZ軸方向のマイナスへ向かう方向の場合、内部レベルnの値を一時保持変数mに代入した後に、内部レベルnに「0」を代入する。一方、図8(a)に示すように、外積a×bによって算出されたベクトルの方向がZ軸方向のプラスへ向かう方向の場合、内部レベルnの値に一時保持変数mの値を代入する。
図7のスライスモデルSM21では、交差点P21、P22において、それぞれ島輪郭線L21、L22が走査線SL21に対して一の方向DR1から交差している。そのため、交差点P21、P22において、それぞれ内部レベルnの値に「1」が加算される。具体的には、交差点P21では内部レベルn=1、交差点P22では内部レベルn=2となる。そして、交差点P23において、穴輪郭線L23が走査線SL21に対して他の方向DR2から交差している。そのため、交差点P23において、内部レベルnの値を一時保持変数mに代入し、内部レベルnに「0」が代入される。具体的には、一時保持変数mには、「2」が代入される。次に、交差点P24において、穴輪郭線L23が走査線SL21に対して一の方向DR1から交差している。ここで、交差点P24において、内部レベルnに一時保持変数mの値、すなわち、「2」が代入される。そして、交差点P25、P26において、それぞれ島輪郭線L21、L22が走査線SL21に対して他の方向DR2から交差している。そのため、交差点P25、P26では、内部レベルnの値に「1」が減算される。具体的には、交差点P25では内部レベルn=1、交差点P26では内部レベルn=0となる。
なお、上述した方法では、スライスモデルSM21に対して1つの走査線SL21を設定している。しかし、設定する走査線SL21は、複数であってもよい。例えば、図9に示すように、同一の方向に複数の走査線SL21を設定してもよい。ここでは、複数の走査線SL21の互いの間隔は、等間隔であるが、異なる間隔であってもよい。また、走査線SL21の走査方向とは異なる方向に、他の走査線SL22を設定してもよい。例えば、走査線SL21の走査方向と直交する方向に他の走査線SL22を設定してもよい。この走査線SL22の数は特に限定されず、1つであってもよいし、複数であってもよい。このことによって、各走査線において、スライスモデルSM21の領域を造形領域と非造形領域とに分けることができるため、より詳細に領域を造形領域と非造形領域とに分けることができる。
ステップS104において、内部レベルnの値を推移させた後、ステップS105では、内部レベルnの値に対応するようにして、スライスモデルのどの領域が造形領域であり、どの領域が非造形領域であるかを判定する。ここでは、内部レベルnの値が「0」以外の場合、内部レベルnに対応した領域を造形領域と判定する。一方、内部レベルnの値が「0」の場合、内部レベルnに対応した領域を非造形領域と判定する。
図7のスライスモデルSM21では、島輪郭線L21と島輪郭線L22との間の領域D21、島輪郭線L22と穴輪郭線L23との間の領域D22において、内部レベルnの値が「0」以外であるため、領域D21、D22は造形領域と判定される。一方、穴輪郭線L23よりも内側の領域D23において、内部レベルnの値が「0」であるため、領域D23は非造形領域と判定される。
なお、ステップS102〜ステップS105の処理は、他のスライスモデルに対しても行われる。このようにして、3次元造形物Aの断面形状に沿った複数のスライスモデルにおける領域を造形領域と非造形領域とに分ける。
なお、領域判定装置100によって各スライスモデルの領域を造形領域と非造形領域とに分けた後、各スライスモデルに沿って3次元造形物Aを造形する。例えば、図7のスライスモデルSM21を使用して、スライスモデルSM21に対応した断面形状を造形する。具体的には、造形領域D21、D22に対応する領域に位置する光硬化性樹脂23にプロジェクタ31から発せられた光を照射させることで、造形領域D21、D22に対応する領域に位置する光硬化性樹脂23を硬化させる。一方、非造形領域D23に対応する領域に位置する光硬化性樹脂23には、プロジェクタ31から発せられた光を照射させない。このことによって、非造形領域D23に対応する位置には、造形させないようにする。
以上のような方法を用いることによって、どのようなスライスモデルであっても、そのスライスモデルの領域を造形領域と非造形領域とに分けることができる。図10は、スライスモデルSM31の一例を示した図であり、スライスモデルSM31に、走査線SL31を設定した図である。なお、図10において、造形領域は、斜線が引かれた領域である。例えば、スライスモデルSM31に対して、図10のような走査線SL31を設定する。そして、走査線SL31を図10の左から右への方向に走査することで、内部レベルnの値を推移させる。ここでは、内部レベルnの値は図10に示したように推移している。ここでは、領域判定装置100は、一時保持変数mと同様の変数m’が設定されている。なお、一時保持変数m、m’は、別々の変数であってもよいし、配列構造を有する1つの変数であってもよい。ただし、一時保持変数m、m’が配列構造を有する1つの変数の場合、その変数は、スタック構造であることが好ましい。例えば、走査線SL31と穴輪郭線L33とが交差する交差点P31において、内部レベルnの値(n=2)が一時保持変数mに代入され、内部レベルnには「0」が代入される。そして、走査線SL31と島輪郭線L34とが交差する交差点P32において、内部レベルnの値に「1」が加算され、n=1となる。次に、走査線SL31と穴輪郭線L35とが交差する交差点P33において、内部レベルnの値(n=1)が一時保持変数m’に代入され、内部レベルnには「0」が代入される。そして、走査線SL31と穴輪郭線L35が交差する交差点P34において、内部レベルnに一時保持変数m’が代入され、内部レベルn=1となる。島輪郭線L34が交差する交差点P35では、内部レベルnの値に「1」が減算され、n=0となる。そして、穴輪郭線L33が交差する交差点P36において、内部レベルnに一時保持変数mが代入され、n=2となる。なお、他の交差点についての詳しい説明は省略する。そして、内部レベルnの値が「0」以外の場合、その内部レベルnに対応した領域を造形領域と判定する。一方、内部レベルnの値が「0」の場合、その内部レベルnに対応した領域を非造形領域と判定する。このように、図10のようなスライスモデルSM31であっても、領域を造形領域と非造形領域とに適切に分けることができる。
なお、本実施形態では、図3に示すように、領域判定装置100は、記憶部52と、周回方向設定部54と、走査線設定部56と、交差点特定部58と、輪郭線判定部60と、第1内部レベル設定部62と、第2内部レベル設定部64と、領域判定部66とを備えている。
記憶部52は、3次元造形システム10が造形しようとする3次元造形物Aの造形物モデルを記憶している。また、記憶部52は、変数である内部レベルnと、一時保持変数mとを記憶している。
図7に示すように、周回方向設定部54は、記憶部52によって記憶されたスライスモデルSM21の島輪郭線L21、L22と穴輪郭線L23とにおいて、互い異なる周回方向を設定する。ここでは、周回方向設定部54は、島輪郭線L21、L22の周回方向を時計回りに設定し、穴輪郭線L23の周回方向を反時計回りに設定する。なお、周回方向設定部54は、図5のステップS102の処理を行う。
走査線設定部56は、記憶部52によって記憶されたスライスモデルSM21において、スライスモデルSM21の輪郭線と交差するように所定の方向(例えば、図7の左から右への方向)に向かって走査させる走査線SL21を設定する。なお、走査線設定部56は、図5のステップS103の処理を行う。
交差点特定部58は、図5のステップS104のうち、スライスモデルSM21の輪郭線と走査線SL21とが交差する交差点P21〜P26を特定する処理を行う。輪郭線判定部60は、図5のステップS104のうち、交差点特定部58によって特定された交差点P21〜P26において、走査線SL21と交差した輪郭線が島輪郭線か穴輪郭線かを判定する処理を行う。
第1内部レベル設定部62は、図5のステップS104のうち、走査線SL21と交差した輪郭線が島輪郭線である場合における内部レベルnの値の変更についての処理を行う。第1内部レベル設定部62は、輪郭線判定部60によって、走査線SL21と交差した輪郭線が島輪郭線と判定された場合、島輪郭線が走査線SL21に対して一の方向DR1から交差した際に、内部レベルnの値に所定の数(ここでは、「1」)を加算する。一方、第1内部レベル設定部62は、島輪郭線が走査線SL21に対して一の方向DR1とは逆の他の方向DR2から交差した際に、内部レベルnの値に所定の数(ここでは、「1」)を減算する。ただし、内部レベルnの値に加算または減算する上記所定の数は、「1」に限定されない。例えば、上記所定の数は、「2」であってもよいし、「10」であってもよい。
第2内部レベル設定部64は、図5のステップS104のうち、走査線SL21と交差した輪郭線が穴輪郭線である場合における内部レベルnの値の変更についての処理を行う。第2内部レベル設定部64は、輪郭線判定部60によって、走査線SL21と交差した輪郭線が穴輪郭線と判定された場合、穴輪郭線が走査線SL21に対して他の方向DR2から交差した際に、内部レベルnの値を一時保持変数mに代入する。そして、第2内部レベル設定部64は、内部レベルnに「0」を代入する。一方、第2内部レベル設定部64は、穴輪郭線が走査線SL21に対して一の方向DR1から交差した際に、内部レベルnに、一時保持変数mの値を代入する。
領域判定部66は、第1内部レベル設定部62および第2内部レベル設定部64によって設定された内部レベルnにおいて、内部レベルnの値が「0」以外である場合、内部レベルnに対応した領域が造形領域であると判定する。一方、領域判定部66は、内部レベルnの値が「0」である場合、内部レベルnに対応した領域が非造形領域である判定する。なお、領域判定部66は、図5のステップS105の処理を行う。
以上、本実施形態では、第2内部レベル設定部64によって、図7に示すように、穴輪郭線が走査線SL21に対して他の方向DR2から交差した際に、内部レベルnの値を一時保持変数mに代入した後に、内部レベルnの値に「0」を代入する。そして、穴輪郭線が走査線SL21に対して一の方向DR1から交差した際に、内部レベルnの値に一時保持変数mの値を代入する。よって、スライスモデルSM21において、造形しない非造形領域では内部レベルnの値を確実に「0」にすることができる。そのため、例えば、スライスモデルSM21のように、島輪郭線L21と穴輪郭線L23との間に、他の島輪郭線L22とがある場合であっても、スライスモデルSM21の領域を造形領域と非造形領域とに確実に分けることができる。
本実施形態では、周回方向設定部54は、島輪郭線の周回方向を時計回りに設定し、穴輪郭線の周回方向を反時計回りに設定する。このことによって、走査線SL21と交差した輪郭線の周回方向が時計回りか反時計回りかを判定することで、走査線SL21と交差した輪郭線が島輪郭線か穴輪郭線かを容易に判定することができる。
本実施形態では、第1内部レベル設定部62は、島輪郭線が走査線SL21に対して一の方向DR1から交差した際(交差点P21、P22)に、内部レベルnの値に「1」を加算する。一方、第1内部レベル設定部62は、島輪郭線が走査線SL21に対して他の方向DR2から交差した際に、内部レベルnの値に1を減算する。島輪郭線が走査線SL21に対して交差した際に、内部レベルnの値をより簡単に推移させることができる。
本実施形態では、走査線設定部56は、図9に示すように、走査線SL21、SL22を複数設定してもよい。このことにより、スライスモデルSM21の領域を造形領域と非造形領域とにより確実に分けることができる。
10 3次元造形システム
10A 3次元造形装置
13 ホルダ
14 光学装置
52 記憶部
54 周回方向設定部
56 走査線設定部
58 交差点特定部
60 輪郭線判定部
62 第1内部レベル設定部
64 第2内部レベル設定部
66 領域判定部
100 領域判定装置(スライスモデルの領域判定装置)

Claims (10)

  1. 造形する3次元造形物の3次元モデルを所定の間隔でスライスし、前記3次元造形物の輪郭を示す輪郭線によって構成されたスライスモデルにおいて、前記スライスモデル内の領域を、造形する造形領域と造形しない非造形領域とに分けるスライスモデルの領域判定装置であって、
    前記輪郭線には、前記3次元造形物の造形領域の外郭の形状を示す島輪郭線と、前記3次元造形物の穴の形状を示す穴輪郭線とが含まれ、
    前記スライスモデル、変数である内部レベル変数および一時保持変数を記憶する記憶部と、
    前記記憶部に記憶された前記スライスモデルの前記島輪郭線と前記穴輪郭線とにおいて、互いに異なる周回方向を設定する周回方向設定部と、
    前記記憶部に記憶された前記スライスモデルにおいて、前記輪郭線と交差するように所定の方向に向かって走査させる走査線を設定する走査線設定部と、
    前記輪郭線と前記走査線とが交差する交差点を特定する交差点特定部と、
    前記交差点特定部によって特定された前記交差点において、前記走査線と交差した前記輪郭線が前記島輪郭線か前記穴輪郭線かを判定する輪郭線判定部と、
    前記輪郭線判定部によって、前記走査線と交差した前記輪郭線が前記島輪郭線と判定された場合、前記島輪郭線が前記走査線に対して一の方向から交差した際に、前記内部レベル変数の値に所定の数を加算し、前記島輪郭線が前記走査線に対して前記一の方向とは逆の他の方向から交差した際に、前記内部レベル変数の値に前記所定の数を減算する第1内部レベル設定部と、
    前記輪郭線判定部によって、前記走査線と交差した前記輪郭線が前記穴輪郭線と判定された場合、前記穴輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値を前記一時保持変数に代入した後に、前記内部レベル変数に0を代入し、前記穴輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に、前記一時保持変数の値を代入する第2内部レベル設定部と、
    前記第1内部レベル設定部および前記第2内部レベル設定部によって設定された前記内部レベル変数において、前記内部レベル変数の値が0以外の値である場合、前記内部レベル変数に対応した領域が前記造形領域であると判定し、前記内部レベル変数の値が0である場合、前記内部レベル変数に対応した領域が前記非造形領域であると判定する領域判定部と、
    を備えた、スライスモデルの領域判定装置。
  2. 前記周回方向設定部は、前記島輪郭線の周回方向を一の周回方向に設定し、前記穴輪郭線の周回方向を前記一の周回方向とは逆の他の周回方向に設定し、
    前記輪郭線判定部は、前記交差点において前記走査線と交差した前記輪郭線の周回方向が前記一の周回方向の場合、前記交差した前記輪郭線が前記島輪郭線であると判定し、前記交差点において前記走査線と交差した前記輪郭線の周回方向が前記他の周回方向の場合、前記交差した前記輪郭線が前記穴輪郭線であると判定する、請求項1に記載されたスライスモデルの領域判定装置。
  3. 前記第1内部レベル設定部は、前記島輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に1を加算し、前記島輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値に1を減算する、請求項1または2に記載されたスライスモデルの領域判定装置。
  4. 前記走査線設定部は、前記走査線を複数設定する、請求項1から3までの何れか一つに記載されたスライスモデルの領域判定装置。
  5. 3次元造形物を造形する3次元造形装置と、
    請求項1から4までの何れか一つに記載されたスライスモデルの領域判定装置と、
    を備えた、3次元造形システム。
  6. 造形する3次元造形物の3次元モデルを所定の間隔でスライスし、前記3次元造形物の輪郭を示す輪郭線によって構成されたスライスモデルにおいて、前記スライスモデル内の領域を、造形する造形領域と造形しない非造形領域とに分けるスライスモデルの領域判定方法であって、
    前記輪郭線には、前記3次元造形物の造形領域の外郭の形状を示す島輪郭線と、前記3次元造形物の穴の形状を示す穴輪郭線とが含まれ、
    前記スライスモデルを記憶する記憶工程と、
    前記記憶工程で記憶した前記スライスモデルの前記島輪郭線と前記穴輪郭線とにおいて、互いに異なる周回方向を設定する周回方向設定工程と、
    前記記憶工程で記憶した前記スライスモデルにおいて、前記輪郭線と交差するように所定の方向に向かって走査させる走査線を設定する走査線設定工程と、
    前記輪郭線と前記走査線とが交差する交差点を特定する交差点特定工程と、
    前記交差点特定工程によって特定した前記交差点において、前記走査線と交差した前記輪郭線が前記島輪郭線か前記穴輪郭線かを判定する輪郭線判定工程と、
    前記輪郭線判定工程において、前記走査線と交差した前記輪郭線が前記島輪郭線と判定した場合、前記島輪郭線が前記走査線に対して一の方向から交差した際に、変数である内部レベル変数の値に所定の数を加算し、前記島輪郭線が前記走査線に対して前記一の方向とは逆の他の方向から交差した際に、前記内部レベル変数の値に前記所定の数を減算する第1内部レベル設定工程と、
    前記輪郭線判定工程において、前記走査線と交差した前記輪郭線が前記穴輪郭線と判定した場合、前記穴輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値を、変数である一時保持変数に代入した後に、前記内部レベル変数に0を代入し、前記穴輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に、前記一時保持変数の値を代入する第2内部レベル設定工程と、
    前記第1内部レベル設定工程および前記第2内部レベル設定工程で設定した前記内部レベル変数において、前記内部レベル変数の値が0以外の値である場合、前記内部レベル変数に対応した領域が前記造形領域であると判定し、前記内部レベル変数の値が0である場合、前記内部レベル変数に対応した領域が前記非造形領域であると判定する領域判定工程と、
    を包含する、スライスモデルの領域判定方法。
  7. 前記周回方向設定工程において、前記島輪郭線の周回方向を一の周回方向に設定し、前記穴輪郭線の周回方向を前記一の周回方向とは逆の他の周回方向に設定し、
    前記輪郭線判定工程では、前記交差点において前記走査線と交差した前記輪郭線の周回方向が前記一の周回方向の場合、前記交差した前記輪郭線が前記島輪郭線であると判定し、前記交差点において前記走査線と交差した前記輪郭線の周回方向が前記他の周回方向の場合、前記交差した前記輪郭線が前記穴輪郭線であると判定する、請求項6に記載されたスライスモデルの領域判定方法。
  8. 前記第1内部レベル設定工程において、前記島輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に1を加算し、前記島輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値に1を減算する、請求項6または7に記載されたスライスモデルの領域判定方法。
  9. 前記走査線設定工程において、前記走査線を複数設定する、請求項6から8までの何れか一つに記載されたスライスモデルの領域判定方法。
  10. 前記スライスモデルの前記輪郭線には、前記3次元造形物の造形領域の外郭を示す第1島輪郭線と、前記穴輪郭線と、前記第1島輪郭線と前記穴輪郭線との間に設けられ、前記3次元造形物の造形領域の外郭を示す第2島輪郭線とが含まれ、
    前記内部レベル変数の初期値を0とし、
    前記第1内部レベル設定工程において、前記第1島輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に1を加算し、前記第2島輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に1を加算することで前記内部レベル変数の値を2とし、
    前記第2内部レベル設定工程において、前記穴輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値である2を前記一時保持変数に代入した後に、前記内部レベル変数に0を代入し、前記穴輪郭線が前記走査線に対して前記一の方向から交差した際に、前記内部レベル変数の値に前記一時保持変数の値である2を代入し、
    前記第1内部レベル設定工程において、前記第2島輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値に1を減算することで前記内部レベル変数の値を1とし、前記第1島輪郭線が前記走査線に対して前記他の方向から交差した際に、前記内部レベル変数の値に1を減算することで前記内部レベル変数の値を0とする、請求項8に記載されたスライスモデルの領域判定方法。
JP2015075076A 2015-04-01 2015-04-01 スライスモデルの領域判定装置、3次元造形システム、および、スライスモデルの領域判定方法 Expired - Fee Related JP6469499B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015075076A JP6469499B2 (ja) 2015-04-01 2015-04-01 スライスモデルの領域判定装置、3次元造形システム、および、スライスモデルの領域判定方法
US15/084,835 US10101728B2 (en) 2015-04-01 2016-03-30 Three-dimensional printing system and method of printing a three-dimensional object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015075076A JP6469499B2 (ja) 2015-04-01 2015-04-01 スライスモデルの領域判定装置、3次元造形システム、および、スライスモデルの領域判定方法

Publications (2)

Publication Number Publication Date
JP2016193568A JP2016193568A (ja) 2016-11-17
JP6469499B2 true JP6469499B2 (ja) 2019-02-13

Family

ID=57015162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015075076A Expired - Fee Related JP6469499B2 (ja) 2015-04-01 2015-04-01 スライスモデルの領域判定装置、3次元造形システム、および、スライスモデルの領域判定方法

Country Status (2)

Country Link
US (1) US10101728B2 (ja)
JP (1) JP6469499B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108943724A (zh) * 2017-05-19 2018-12-07 三纬国际立体列印科技股份有限公司 切层图像处理方法以及立体打印设备
US10768606B2 (en) * 2017-06-02 2020-09-08 Autodesk, Inc. Agent-based slicing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5182715A (en) * 1989-10-27 1993-01-26 3D Systems, Inc. Rapid and accurate production of stereolighographic parts
JP3325267B2 (ja) * 1990-10-30 2002-09-17 3ディー・システムズ、インコーポレイテッド 3次元物体の造形方法及び装置
JP3807796B2 (ja) * 1996-10-04 2006-08-09 本田技研工業株式会社 3次元cadシステム及び画像データ変換方法
JP3570138B2 (ja) * 1997-01-28 2004-09-29 松下電工株式会社 三次元光造形用データ作成方法
US6259962B1 (en) 1999-03-01 2001-07-10 Objet Geometries Ltd. Apparatus and method for three dimensional model printing
JP3873571B2 (ja) * 2000-03-28 2007-01-24 松下電工株式会社 光造形機用データ作成方法及びその装置
JP2007248647A (ja) * 2006-03-14 2007-09-27 Renesas Technology Corp 塗潰し処理装置、図形表示装置および塗潰し処理方法

Also Published As

Publication number Publication date
JP2016193568A (ja) 2016-11-17
US20160288425A1 (en) 2016-10-06
US10101728B2 (en) 2018-10-16

Similar Documents

Publication Publication Date Title
JP6469498B2 (ja) スライスモデルの領域判定装置、3次元造形システム、および、スライスモデルの領域判定方法
US9862150B2 (en) Three dimensional printing apparatus and printing method thereof
TWI630124B (zh) 立體列印裝置
JP5971266B2 (ja) 光造形装置及び光造形方法
Salmi et al. Effect of build orientation in 3D printing production for material extrusion, material jetting, binder jetting, sheet object lamination, vat photopolymerisation, and powder bed fusion
TWI526294B (zh) 立體列印裝置
US10576687B2 (en) Photofabrication method
Cuccolini et al. 5 Axes computer aided laser milling
JP2016198974A (ja) スライスモデル生成装置および3次元造形システム
US11953879B2 (en) Agent-based slicing for 3D object models
JP6469499B2 (ja) スライスモデルの領域判定装置、3次元造形システム、および、スライスモデルの領域判定方法
JP6542038B2 (ja) スライス画像作成装置、3次元造形システム、および、スライス画像作成方法
EP3478477B1 (en) Generating additive manufacturing instructions
JP6538452B2 (ja) スライス画像作成装置、3次元造形システム、および、スライス画像作成方法
RU2659474C2 (ru) Способ и устройство для формирования числового представления трехмерного объекта, числовое представление, предназначенное для применения в целях изготовления трехмерного объекта посредством стереолитографии
RU2663245C2 (ru) Усовершенствованный компьютерно-реализуемый способ задания точек построения опорных элементов объекта, изготавливаемого в ходе стереолитографического процесса
JP6638020B2 (ja) 3dプリンティング装置及び3dプリンティング方法
JP5993224B2 (ja) 三次元造形装置
JP2019089312A (ja) 3次元の物体を付加製造する方法
CN110832551A (zh) 将对象性质数据与位置相关联
US20190337225A1 (en) Information processing apparatus, modeling apparatus, information processing method, and program
US20240255917A1 (en) Agent-based slicing for 3d object models
EP4385711A1 (en) Tile optimization
JP2016124230A (ja) 3次元造形物の形状判定装置、および、それを備えた3次元造形装置
Zhang et al. A Parallel 2D Nesting Method for Machine’s Work Space Planning in Additive Manufacturing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181227

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: 20190115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190116

R150 Certificate of patent or registration of utility model

Ref document number: 6469499

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees