KR102305843B1 - Method and apparatus for generating slice data of 3d printer - Google Patents

Method and apparatus for generating slice data of 3d printer Download PDF

Info

Publication number
KR102305843B1
KR102305843B1 KR1020200059059A KR20200059059A KR102305843B1 KR 102305843 B1 KR102305843 B1 KR 102305843B1 KR 1020200059059 A KR1020200059059 A KR 1020200059059A KR 20200059059 A KR20200059059 A KR 20200059059A KR 102305843 B1 KR102305843 B1 KR 102305843B1
Authority
KR
South Korea
Prior art keywords
slice
data
face
printer
buffer
Prior art date
Application number
KR1020200059059A
Other languages
Korean (ko)
Inventor
노동현
김명각
Original Assignee
(주)메타몰프
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 (주)메타몰프 filed Critical (주)메타몰프
Priority to KR1020200059059A priority Critical patent/KR102305843B1/en
Application granted granted Critical
Publication of KR102305843B1 publication Critical patent/KR102305843B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive 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
    • B33Y40/00Auxiliary operations or equipment, e.g. for material handling
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics

Abstract

The present invention relates to a method and an apparatus for generating slice data of a 3D printer. The apparatus for generating slice data of a 3D printer of the present invention comprises: a memory which stores 3D modeling data; and a control unit which is connected to the memory, converts the 3D modeling data that has been stored therein into face buffer data, scans a face based on the face buffer data so as to retrieve the lowest height and highest height of the slice, designates the scope of a slice according to the face scan result, corrects an overlapping face for the specified slice scope, and then executes a slicing operation based on the modified face.

Description

3D 프린터의 슬라이스 데이터 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING SLICE DATA OF 3D PRINTER}Method and apparatus for generating slice data of a 3D printer

본 발명은 데이터 생성 방법에 관한 것으로, 더욱 상세하게는 3D 프린터의 슬라이스 데이터 생성 방법 및 장치에 관한 것이다.The present invention relates to a method for generating data, and more particularly, to a method and apparatus for generating slice data of a 3D printer.

3D 프린팅은 3차원으로 설계된 데이터를 기반으로 다양한 원료를 사출해 입체적인 형태의 물체를 만들어내는 기술을 말한다. 제3의 산업 혁명으로 불리는 3D 프린팅은 제조 분야를 포함하여 여러 분야에서 기술 패러다임을 바꿈으로써 혁명에 가까운 산업 혁신을 가져올 것으로 기대된다.3D printing refers to a technology that creates three-dimensional objects by injecting various raw materials based on data designed in three dimensions. 3D printing, called the third industrial revolution, is expected to bring about revolutionary industrial innovation by changing the technological paradigm in several fields, including manufacturing.

입체적인 형태의 물체를 만드는 방법은 고체 형태의 특정 물질을 한 층씩 쌓아올려 3차원 형태의 입체물을 제조하는 적층 (AM: Additive Manufacturing)제조 방식과 입체물을 기계 가공 등을 통하여 자르거나 깎는 절삭 가공(Subtractive Manufacturing) 제조 방식으로 나뉜다. 절삭 가공 제조 방식은 보통 4축, 혹은 5축 가공기라고도 불리며, 이미 상용화되어 산업 현장에서 널리 쓰이고 있어 3D 프린터에 주로 쓰이는 기술은 적층 제조 방식을 가리킨다.Methods for making three-dimensional objects include the additive manufacturing (AM) manufacturing method, which manufactures three-dimensional objects by stacking specific solid materials layer by layer, and the subtractive manufacturing method, which cuts or cuts the three-dimensional object through machining. Manufacturing) is divided into manufacturing methods. The cutting manufacturing method is usually called a 4-axis or 5-axis processing machine, and since it has already been commercialized and widely used in industrial fields, the technology mainly used in 3D printers refers to the additive manufacturing method.

적층 제조 방식은 작동 방식이나 재료에 따라 구분된다. FDM(Fused Deposition Modeling) 방식은 플라스틱 재료를 녹여 노즐에서 분사하여 적층하는 방식으로 다른 3D 프린터보다 가격이 월등히 저렴하고 재료의 소모가 적다는 특징이 있다. SLS(Selective Laser Sintering) 방식은 분말 재료를 필드에 얇게 깔고 레이저로 선택된 부분만 소결하여 제품을 만드는 방식으로 높은 정밀도와 다양한 원료 사용 등의 장점이 있다. 또한, 3DP(3 Dimension Printing) 방식은 SLS 방식과 비슷하게 분말 재료를 얇게 깔지만 레이저가 아닌 접착제를 분사하여 굳히는 방식이다. 이외에도 금속 재료를 이용한 LOM(Laminated Object Manufacturing) 방식, 광경화성 수지를 이용한 DLP(Digital Light Processing) 방식 등이 있다.Additive manufacturing methods are classified according to the method of operation or material. The FDM (Fused Deposition Modeling) method is a method that melts a plastic material and sprays it from a nozzle to laminate it. The SLS (Selective Laser Sintering) method is a method of manufacturing a product by thinly spreading a powder material on the field and sintering only the selected part with a laser, and has advantages such as high precision and use of various raw materials. In addition, the 3DP (3 Dimension Printing) method is similar to the SLS method, where the powder material is thinly spread, but it is hardened by spraying an adhesive instead of a laser. In addition, there are a LOM (Laminated Object Manufacturing) method using a metal material and a DLP (Digital Light Processing) method using a photocurable resin.

3D 프린팅은 3D 모델링(3D modeling) 후 STL(Standard Tessellation Language) 또는 AMF(Additive Manufacturing Format) 파일 변환, 이미지 데이터 변환, 호스트를 이용한 실물 프린팅의 과정으로 진행된다.3D printing proceeds through 3D modeling, STL (Standard Tessellation Language) or AMF (Additive Manufacturing Format) file conversion, image data conversion, and physical printing using a host.

3D 모델링은 CAD(Computer Aided Design) 소프트웨어, Maya, MAX 등의 애니메이션 모델링 소프트웨어, 3D 스캐너, CT, MRI등의 의료 데이터를 활용하여 물체의 모양을 3차원으로 구성하는 단계이다. 이후 3D 모델링 데이터는 3D 프린팅의 적층 공정을 설계를 위해 STL, OBJ 등의 매쉬(Mesh) 데이터 형태의 파일로 변환되어야 한다. 매쉬(Mesh) 데이터로 파일 변환은 대중적인 CAD 소프트웨어에서 지원하고 있다.3D modeling is the step of constructing the shape of an object in three dimensions using CAD (Computer Aided Design) software, animation modeling software such as Maya and MAX, and medical data such as 3D scanner, CT, and MRI. Thereafter, the 3D modeling data must be converted into a file in the form of mesh data such as STL and OBJ for designing the additive process of 3D printing. File conversion to mesh data is supported by popular CAD software.

변환된 매쉬 데이터 파일은 다양한 슬라이서(Slicer) 프로그램을 활용하여 페이스 버퍼 데이터로 변환된다. 변환된 페이스 버퍼 데이터는 최종적으로 이미지 데이터 또는 이미지 데이터와 경로 데이터로 변환된다. 즉, 슬라이서 프로그램은 CAD 소프트웨어 등으로부터 받은 3D 모델링 데이터를 슬라이싱한 후, 이미지 데이터 또는 이미지 데이터와 경로 데이터로 변환한다.The converted mesh data file is converted into face buffer data using various slicer programs. The converted face buffer data is finally converted into image data or image data and path data. That is, the slicer program slices 3D modeling data received from CAD software or the like, and then converts it into image data or image data and path data.

한편, 3D 프린터에는 3D 프린팅 출력이 진행되는 동안 출력물이 의도한 위치에서 벗어나지 않도록 고정해주는 물체인 서포터를 필요로 한다. 이때, 3D 모델이 생성되는 동안, 서포터가 3D 모델을 고정해야 하므로, 3D 모델과 서포터는 서로 접하게 되고, 도 1에 도시된 바와 같이, 서포터(310)와 3D 모델(320)이 서로 겹치는 중첩 영역(130)이 발생하게 된다.On the other hand, 3D printers require a supporter, which is an object that fixes the output so that it does not deviate from its intended position while 3D printing is in progress. At this time, while the 3D model is being generated, since the supporter must fix the 3D model, the 3D model and the supporter come into contact with each other, and as shown in FIG. 1 , the overlapping area where the supporter 310 and the 3D model 320 overlap each other (130) will occur.

도 2는 도 1의 서로 접하고 있는 3D 모델과 서포터의 슬라이스 화면을 나타낸 도면이다. 구체적으로는, 도 2의 (a)는 의도하는 슬라이스 화면을 나타내고, 도 2의 (b)는 실제 슬라이스 화면을 나타낸다.FIG. 2 is a diagram illustrating a slice screen of a 3D model and a supporter in contact with each other of FIG. 1 . Specifically, FIG. 2A shows an intended slice screen, and FIG. 2B shows an actual slice screen.

도 2의 (a)를 참조하면, 위에서부터 순서대로 도 1의 서로 접하고 있는 3D 모델과 서포터의 I-I 단면도, II-II 단면도, 및 III-III 단면도를 나타낸다. 도 2의 (a)의 II-II 단면도에 도시된 바와 같이, 의도하는 슬라이스 화면에서는 점선으로 된 영역(210)이 제외 영역이다.Referring to (a) of FIG. 2 , cross-sectional views II-I, II-II, and III-III of the 3D model and the supporter in contact with each other of FIG. 1 are shown in order from the top. As shown in the cross-sectional view II-II of FIG. 2A , in the intended slice screen, the area 210 indicated by the dotted line is the excluded area.

그러나, 전술한 바와 같이, 서로 접하고 있는 서포터(310)와 3D 모델(320) 사이에 중첩 영역(130)이 발생하기 때문에, 도 2의 (b)에 도시된 바와 같이, 실제 슬라이스 화면에서는 점선으로 된 영역(210)이 포함 영역으로 나타나게 된다. 결과적으로, 슬라이싱 과정에서 중첩 영역(130)을 인식하지 못하여 반대의 결과를 내는 오류가 발생하게 된다.However, as described above, since the overlapping region 130 occurs between the supporter 310 and the 3D model 320 that are in contact with each other, as shown in FIG. A region 210 that is included is displayed as an included region. As a result, an error occurs in that the overlapping region 130 is not recognized during the slicing process, resulting in the opposite result.

국내특허공개공보 제10-2018-0101732호Domestic Patent Publication No. 10-2018-0101732 국내특허공개공보 제10-2018-0067389호Domestic Patent Publication No. 10-2018-0067389

본 명세서는 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로서, 3D 모델의 슬라이싱 과정에서 서포터와 3D 모델의 중첩 영역을 인식하지 못하여 오류가 발생하는 것을 방지할 수 있는 3D 프린터의 슬라이스 데이터 생성 방법 및 장치를 제공하는 데 그 목적이 있다.The present specification has been devised to solve the above-described problems, and a method for generating slice data of a 3D printer that can prevent an error from not recognizing an overlapping region of a supporter and a 3D model in the slicing process of the 3D model, and The purpose is to provide a device.

이와 같은 목적을 달성하기 위한, 본 명세서의 실시예에 따르면, 본 명세서에 따른 3D 프린터의 슬라이스 데이터 생성 장치는, 3D 모델링 데이터를 저장하는 메모리; 및 상기 메모리에 연결되어, 상기 메모리에 저장된 3D 모델링 데이터를 페이스 버퍼 데이터로 변환하고, 상기 페이스 버퍼 데이터를 토대로 페이스를 스캔하여 슬라이스의 최저 높이 및 슬라이스의 최고 높이를 검색한 후, 페이스 스캔 결과에 따라 슬라이스 범위를 지정하며, 지정된 슬라이스 범위에 대해 페이스 중첩을 수정한 후, 수정된 페이스를 토대로 슬라이싱 연산을 실행하는 제어부를 포함한다.According to an embodiment of the present specification, for achieving the above object, an apparatus for generating slice data of a 3D printer according to the present specification includes: a memory for storing 3D modeling data; and the 3D modeling data connected to the memory is converted into face buffer data, and the face is scanned based on the face buffer data to search for the lowest height of the slice and the highest height of the slice. and a control unit for specifying a slice range according to the slice range, correcting face overlap for the specified slice range, and executing a slicing operation based on the modified face.

바람직하게는, 상기 제어부는 페이스 중첩을 검사한 결과, 여러 모델이 존재하는 경우, 여러 모델을 하나로 합치는 것을 특징으로 한다.Preferably, when several models exist as a result of examining face overlap, the control unit combines several models into one.

바람직하게는, 상기 제어부는 페이스 버퍼로부터 이전 슬라이스의 높이와 현재 슬라이스의 높이 사이에 포함되는 페이스 버퍼 데이터를 추출하고, 각 슬라이스의 이미지 데이터를 구성하는 삼각형 데이터의 위치 값과 이전 슬라이스의 높이 및 현재 슬라이스의 높이를 각각 비교하여 이미지 데이터를 구성하는 각각의 픽셀의 위치 값이 저장된 이미지 버퍼로부터 변경할 픽셀의 위치를 추출하며, 추출된 픽셀의 위치에 이미지 색을 설정한 후, 상기 이미지 버퍼를 이미지 파일로 저장하는 것을 특징으로 한다.Preferably, the control unit extracts the face buffer data included between the height of the previous slice and the height of the current slice from the face buffer, and the position value of the triangle data constituting the image data of each slice, the height of the previous slice, and the current By comparing the height of each slice, the position of the pixel to be changed is extracted from the image buffer in which the position value of each pixel constituting the image data is stored, the image color is set at the position of the extracted pixel, and the image buffer is converted into an image file It is characterized in that it is stored as

바람직하게는, 상기 제어부는 페이스의 방향이 위를 향하면 제외 영역으로 설정하고, 페이스의 방향이 그 외의 방향을 향하면 포함 영역으로 설정한 후, 삼각형 데이터의 포함 영역 및 제외 영역을 고려하여 상기 추출된 픽셀의 위치에 이미지 색을 설정하는 것을 특징으로 한다.Preferably, the control unit sets the exclusion area when the face direction is upward, and sets the exclusion area when the face direction faces other directions, and then sets the extracted area in consideration of the inclusion area and exclusion area of the triangle data. It is characterized in that the image color is set at the position of the pixel.

바람직하게는, 상기 제어부는 슬라이싱이 끝날 때까지 상기 이미지 버퍼의 할당을 유지하는 것을 특징으로 한다.Preferably, the controller maintains the allocation of the image buffer until the slicing is finished.

본 명세서의 다른 실시예에 따르면, 본 명세서에 따른 3D 프린터의 슬라이스 데이터 생성 방법은, 3D 프린터의 슬라이스 데이터 생성 장치가, 3D 모델링 데이터를 페이스 버퍼 데이터로 변환하는 단계; 상기 3D 프린터의 슬라이스 데이터 생성 장치가, 상기 페이스 버퍼 데이터를 토대로 페이스를 스캔하여 슬라이스의 최저 높이 및 슬라이스의 최고 높이를 검색하는 단계; 상기 3D 프린터의 슬라이스 데이터 생성 장치가, 페이스 스캔 결과에 따라 슬라이스 범위를 지정하는 단계; 상기 3D 프린터의 슬라이스 데이터 생성 장치가, 지정된 슬라이스 범위에 대해 페이스 중첩을 수정하는 단계; 및 상기 3D 프린터의 슬라이스 데이터 생성 장치가, 수정된 페이스를 토대로 슬라이싱 연산을 실행하는 단계를 포함한다.According to another embodiment of the present specification, a method for generating slice data of a 3D printer according to the present specification includes, by an apparatus for generating slice data of a 3D printer, converting 3D modeling data into face buffer data; scanning, by the apparatus for generating slice data of the 3D printer, a face based on the face buffer data to search for a lowest height of a slice and a highest height of a slice; specifying, by the apparatus for generating slice data of the 3D printer, a slice range according to a face scan result; modifying, by the apparatus for generating slice data of the 3D printer, face overlap for a specified slice range; and executing, by the apparatus for generating slice data of the 3D printer, a slicing operation based on the corrected pace.

바람직하게는, 상기 페이스 중첩을 수정하는 단계에서, 상기 3D 프린터의 슬라이스 데이터 생성 장치는 여러 모델이 존재하는 경우, 여러 모델을 하나로 합치는 것을 특징으로 한다.Preferably, in the step of correcting the face overlap, the slice data generating apparatus of the 3D printer combines several models into one when there are several models.

바람직하게는, 상기 페이스 중첩을 수정하는 단계에서, 상기 3D 프린터의 슬라이스 데이터 생성 장치는 상기 페이스 버퍼 데이터에 저장된 점의 순서에 따라 공간상에서 페이스가 어느 방향을 향하는 면인지 계산하는 것을 특징으로 한다.Preferably, in the step of correcting the face overlap, the slice data generating apparatus of the 3D printer calculates which direction the face faces in space according to the order of points stored in the face buffer data.

바람직하게는, 상기 페이스 중첩을 수정하는 단계에서, 상기 3D 프린터의 슬라이스 데이터 생성 장치는 서로 겹치는 경계 페이스들을 잘라 버리고, 서로 내부에 해당하는 페이스를 제거함으로써, 외곽을 올바르게 표현한 페이스 데이터를 산출하는 것을 특징으로 한다.Preferably, in the step of correcting the overlapping of faces, the slice data generating apparatus of the 3D printer cuts off boundary faces overlapping each other and removes faces corresponding to the inside of each other, thereby calculating face data that correctly expresses the outline characterized.

바람직하게는, 상기 슬라이싱 연산을 실행하는 단계는, 상기 3D 프린터의 슬라이스 데이터 생성 장치가, 상기 현재 슬라이스 값이 총 슬라이스 수와 동일한지 여부를 판단하는 단계; 상기 3D 프린터의 슬라이스 데이터 생성 장치가, 현재 슬라이스 값이 총 슬라이스 수와 다르다고 판단한 경우, 페이스 버퍼로부터 이전 슬라이스의 높이 및 현재 슬라이스의 높이 사이에 포함되는 페이스를 추출하는 단계; 및 상기 3D 프린터의 슬라이스 데이터 생성 장치가, 추출한 페이스에 대한 부분적인 랜더링 연산을 실행하는 단계를 포함하고, 상기 3D 프린터의 슬라이스 데이터 생성 장치는, 상기 현재 슬라이스 값이 총 슬라이스 수와 동일해질 때까지 상기 현재 슬라이스 값이 총 슬라이스 수와 동일한지 여부를 판단하는 단계 내지 상기 부분적인 랜더링 연산을 실행하는 단계를 반복적으로 수행하는 것을 특징으로 한다.Preferably, the executing of the slicing operation comprises: determining, by the apparatus for generating slice data of the 3D printer, whether the current slice value is equal to the total number of slices; extracting, by the apparatus for generating slice data of the 3D printer, a face included between a height of a previous slice and a height of a current slice from a face buffer when it is determined that the current slice value is different from the total number of slices; and executing, by the device for generating slice data of the 3D printer, a partial rendering operation on the extracted face, until the device for generating slice data of the 3D printer equals the current slice value to the total number of slices. The step of determining whether the current slice value is equal to the total number of slices or the step of executing the partial rendering operation may be repeatedly performed.

바람직하게는, 상기 추출된 픽셀의 위치에 이미지 색을 설정하는 단계에서, 상기 3D 프린터의 슬라이스 데이터 생성 장치는 변경이 허용된 픽셀의 위치만 이미지 색을 설정하는 것을 특징으로 한다.Preferably, in the step of setting the image color at the position of the extracted pixel, the slice data generating apparatus of the 3D printer sets the image color only at the position of the pixel that is allowed to change.

본 명세서의 또 다른 실시예에 따르면, 본 명세서에 따른 3D 프린터의 슬라이스 데이터 생성 장치는, 3D 모델링 데이터를 저장하는 메모리; 및 상기 메모리에 연결되어, 상기 메모리에 저장된 3D 모델링 데이터를 페이스 버퍼 데이터로 변환하고, 상기 페이스 버퍼 데이터를 토대로 페이스를 스캔하여 슬라이스의 최저 높이 및 슬라이스의 최고 높이를 검색한 후, 페이스 스캔 결과에 따라 슬라이스 범위를 지정하며, 지정된 슬라이스 범위에 대해 각 슬라이스의 이미지 픽셀수 * 총 슬라이스 수만큼 복수의 이미지 버퍼를 생성하고, 슬라이스의 최소 높이에 대응되는 이미지 버퍼와 슬라이스의 최대 높이에 대응되는 이미지 버퍼 사이에 해당하는 모든 값을 랜더링 대상으로 설정한 후, 해당 범위의 이미지 버퍼를 이미지 파일로 변환하여 저장하는 제어부를 포함한다.According to another embodiment of the present specification, an apparatus for generating slice data of a 3D printer according to the present specification includes: a memory for storing 3D modeling data; and the 3D modeling data connected to the memory is converted into face buffer data, and the face is scanned based on the face buffer data to search for the lowest height of the slice and the highest height of the slice. Specifies the slice range according to the specified slice range, and creates multiple image buffers equal to the number of image pixels in each slice * the total number of slices for the specified slice range, and the image buffer corresponding to the minimum height of the slice and the image buffer corresponding to the maximum height of the slice After setting all values corresponding to between the values as rendering targets, the control unit converts the image buffer of the corresponding range into an image file and stores the converted image file.

이상에서 설명한 바와 같이 본 명세서에 의하면, 사전에 페이스 중첩 검사를 진행하는 3D 프린터의 슬라이스 데이터 생성 방법 및 장치를 제공함으로써, 중첩 위치에서의 치명적인 연산량을 줄여줄 수 있다.As described above, according to the present specification, by providing a method and an apparatus for generating slice data of a 3D printer that conducts face overlap inspection in advance, it is possible to reduce the amount of fatal computation at the overlapping position.

또한, 버퍼를 다른 버퍼로 가공하거나, 반복적인 스캔이 필요하지 않는 3D 프린터의 슬라이스 데이터 생성 방법 및 장치를 제공함으로써, 3D 모델링 데이터의 크기에 따라 연산 시간이 민감하게 증가하지 않는다. 결과적으로, 연산 과정이 비교적 단순하고, GPU(Graphics Processing Unit)를 활용한 고속 컴퓨팅을 최적화할 수 있다.In addition, by providing a method and apparatus for generating slice data of a 3D printer that does not process the buffer into another buffer or do not require repeated scanning, the calculation time does not increase sensitively according to the size of 3D modeling data. As a result, the calculation process is relatively simple, and high-speed computing using a graphics processing unit (GPU) can be optimized.

도 1은 서포터에 의해 3D 모델이 고정된 상태를 보여주는 도면,
도 2는 도 1의 서로 접하고 있는 3D 모델과 서포터의 슬라이스 화면을 나타낸 도면,
도 3은 본 발명의 제1 실시예에 따른 3D 프린터의 슬라이스 데이터 생성 장치 내부의 개략적인 구성을 나타낸 블럭 구성도,
도 4는 본 발명의 제1 실시예에 따른 모델의 중첩 부위를 고려한 슬라이싱 방법을 나타낸 흐름도,
도 5는 본 발명의 제1 실시예에 따른 슬라이싱 연산 방법을 나타낸 흐름도,
도 6은 본 발명의 제1 실시예에 따른 3D 모델의 부분적인 랜더링 연산 방법을 나타낸 흐름도,
도 7은 본 발명의 제2 실시예에 따른 3D 프린터의 슬라이스 데이터 생성 장치 내부의 개략적인 구성을 나타낸 블럭 구성도,
도 8은 본 발명의 제2 실시예에 따른 모델의 중첩 부위를 고려한 슬라이싱 방법을 나타낸 흐름도,
도 9는 본 발명의 제2 실시예에 따른 병렬 슬라이싱 연산 방법을 나타낸 흐름도, 그리고
도 10은 본 발명의 제2 실시예에 따른 이미지 픽셀수만큼 병렬 슬라이싱 연산을 수행하는 방법을 나타낸 흐름도이다.
1 is a view showing a state in which a 3D model is fixed by a supporter;
Figure 2 is a view showing a slice screen of the 3D model and the supporter in contact with each other of Figure 1;
3 is a block diagram showing a schematic configuration of the inside of the slice data generating apparatus of the 3D printer according to the first embodiment of the present invention;
4 is a flowchart showing a slicing method in consideration of the overlapping portion of the model according to the first embodiment of the present invention;
5 is a flowchart illustrating a slicing operation method according to a first embodiment of the present invention;
6 is a flowchart illustrating a partial rendering operation method of a 3D model according to a first embodiment of the present invention;
7 is a block diagram showing a schematic configuration of the inside of a slice data generating apparatus of a 3D printer according to a second embodiment of the present invention;
8 is a flowchart illustrating a slicing method in consideration of overlapping regions of a model according to a second embodiment of the present invention;
9 is a flowchart illustrating a parallel slicing operation method according to a second embodiment of the present invention, and
10 is a flowchart illustrating a method of performing a parallel slicing operation by the number of image pixels according to the second embodiment of the present invention.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used herein are used only to describe specific embodiments, and are not intended to limit the present invention. In addition, the technical terms used in this specification should be interpreted in the meaning generally understood by those of ordinary skill in the art to which the present invention belongs, unless otherwise defined in this specification, and excessively inclusive. It should not be construed in the meaning of a human being or in an excessively reduced meaning. In addition, when the technical terms used in the present specification are incorrect technical terms that do not accurately express the spirit of the present invention, they should be understood by being replaced with technical terms that those skilled in the art can correctly understand. In addition, general terms used in the present invention should be interpreted as defined in advance or according to the context before and after, and should not be interpreted in an excessively reduced meaning.

또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, as used herein, the singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as "consisting of" or "comprising" should not be construed as necessarily including all of the various components or various steps described in the specification, some of which components or some steps are It should be construed that it may not include, or may further include additional components or steps.

또한, 본 명세서에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.In addition, the suffixes "module" and "part" for the components used in this specification are given or mixed in consideration of the ease of writing the specification, and do not have distinct meanings or roles by themselves.

또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는 데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.Also, terms including an ordinal number such as first, second, etc. used herein may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are assigned the same reference numerals regardless of reference numerals, and redundant description thereof will be omitted.

또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니됨을 유의해야 한다.In addition, in the description of the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, it should be noted that the accompanying drawings are only for easy understanding of the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the accompanying drawings.

도 3은 본 발명의 제1 실시예에 따른 3D 프린터의 슬라이스 데이터 생성 장치 내부의 개략적인 구성을 나타낸 블럭 구성도이다.3 is a block diagram showing a schematic configuration of the inside of the slice data generating apparatus of the 3D printer according to the first embodiment of the present invention.

도 3을 참조하면, 본 발명의 제1 실시예에 따른 3D 프린터의 슬라이스 데이터 생성 장치(300)는 메모리(310), 로딩부(320), 변환부(330), 페이스 버퍼(332), 슬라이스 범위 지정부(340), 페이스 중첩 검사부(350), 픽셀 위치 추출부(360), 이미지 버퍼(362), 및 이미지 색 설정부(370)를 포함할 수 있다. 여기서, 로딩부(320), 변환부(330), 페이스 버퍼(332), 슬라이스 범위 지정부(340), 페이스 중첩 검사부(350), 픽셀 위치 추출부(360), 이미지 버퍼(362), 및 이미지 색 설정부(370)는 하나의 제어부로 구성될 수 있다.Referring to FIG. 3 , the slice data generating apparatus 300 of the 3D printer according to the first embodiment of the present invention includes a memory 310 , a loading unit 320 , a conversion unit 330 , a face buffer 332 , and a slice It may include a range designation unit 340 , a face overlap inspection unit 350 , a pixel position extraction unit 360 , an image buffer 362 , and an image color setting unit 370 . Here, the loading unit 320 , the conversion unit 330 , the face buffer 332 , the slice range designation unit 340 , the face overlap inspection unit 350 , the pixel position extraction unit 360 , the image buffer 362 , and The image color setting unit 370 may be configured as a single control unit.

메모리(310)는 3D 모델링 데이터 및 이미지 파일을 저장한다. 또한, 메모리(310)는 슬라이스 범위 지정부(340)에 의해 지정된 슬라이스 범위 등을 저장할 수 있다.The memory 310 stores 3D modeling data and image files. Also, the memory 310 may store a slice range designated by the slice range designation unit 340 .

메모리(310)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 3D 프린터의 슬라이스 데이터 생성 장치(300)는, 인터넷(internet)상에서 메모리(310)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영할 수도 있다.The memory 310 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg, SD or XD memory), and a RAM. (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) magnetic memory, magnetic disk, It may include at least one type of storage medium among optical disks. In addition, the slice data generating apparatus 300 of the 3D printer may operate a web storage that performs a storage function of the memory 310 on the Internet.

로딩부(320)는 메모리(310)로부터 3D 모델링 데이터를 불러온다.The loading unit 320 loads 3D modeling data from the memory 310 .

변환부(330)는 로딩부(320)를 통해 메모리(310)로부터 불러온 3D 모델링 데이터를 페이스 버퍼 데이터로 변환하여 페이스 버퍼(332)에 저장한다. 여기서, 페이스 버퍼 데이터는 3D 모델을 구성하는 면들에 관한 꼭지점의 좌표 값을 나타낸다.The conversion unit 330 converts the 3D modeling data retrieved from the memory 310 through the loading unit 320 into phase buffer data and stores the converted 3D modeling data in the phase buffer 332 . Here, the face buffer data represents the coordinate values of the vertices with respect to the faces constituting the 3D model.

슬라이스 범위 지정부(340)는 페이스 버퍼(332)를 스캔하여 슬라이스의 최저 높이(Z 최소값) 및 슬라이스의 최고 높이(Z 최대값)를 검색하고, 페이스 버퍼(332)의 스캔 결과에 따라 슬라이스 범위를 지정한다.The slice range designation unit 340 scans the face buffer 332 to search for the lowest height (Z minimum value) and the highest slice height (Z maximum value) of the slice by scanning the face buffer 332 , and the slice range according to the scan result of the face buffer 332 . specify

페이스 중첩 검사부(350)는 슬라이스 범위 지정부(340)에 의해 지정된 슬라이스 범위에 대해 페이스 중첩을 검사하여 중첩된 공간에 해당하는 페이스를 수정한다. 이때, 페이스 중첩 검사부(350)는 여러 모델이 있는 경우, 여러 모델을 하나로 합칠 수 있다.The face overlap test unit 350 checks the face overlap with respect to the slice range designated by the slice range designation unit 340 and corrects a face corresponding to the overlapped space. In this case, when there are several models, the face overlap inspection unit 350 may combine several models into one.

이처럼, 본 발명의 제1 실시예에 따른 3D 프린터의 슬라이스 데이터 생성 장치(300)는 사전에 페이스 중첩 검사를 진행하기 때문에, 중첩 위치에서의 치명적인 연산량을 줄여줄 수 있다.As such, since the slice data generating apparatus 300 of the 3D printer according to the first embodiment of the present invention performs the face overlap test in advance, it is possible to reduce the fatal computation amount at the overlapping position.

픽셀 위치 추출부(360)는 페이스 버퍼(332)로부터 이전 슬라이스의 높이(Za)와 현재 슬라이스의 높이(Zb) 사이에 포함되는 페이스 버퍼 데이터를 추출하고, 각 슬라이스의 이미지 데이터를 구성하는 삼각형 데이터의 위치 값과 이전 슬라이스의 높이 및 현재 슬라이스의 높이를 각각 비교하여 이미지 데이터를 구성하는 각각의 픽셀의 위치 값(x, y)이 저장된 이미지 버퍼(362)로부터 변경할 픽셀의 위치를 추출한다.The pixel position extractor 360 extracts the face buffer data included between the height Za of the previous slice and the height Zb of the current slice from the face buffer 332 , and triangle data constituting the image data of each slice. The position of the pixel to be changed is extracted from the image buffer 362 in which the position value (x, y) of each pixel constituting the image data is stored by comparing the position value of , the height of the previous slice and the height of the current slice, respectively.

그리고, 이미지 색 설정부(370)는 페이스의 방향이 위(z+)를 향하면 제외 영역으로 설정하고, 페이스의 방향이 그 외의 방향을 향하면 포함 영역으로 설정한 후, 삼각형 데이터의 포함 영역 및 제외 영역을 고려하여 해당 픽셀의 위치에 이미지 색을 설정하며, 이미지 버퍼(362)를 이미지 파일로 저장한다. 여기서, 이미지 색 설정부(370)는 변경이 허용된 픽셀의 위치만 이미지 색을 설정한다. 또한, 이미지 색 설정부(370)는 슬라이싱이 끝날 때까지 이미지 버퍼(362)의 할당을 유지한다.Then, the image color setting unit 370 sets an exclusion area when the face direction is up (z+), and sets it as an inclusion area when the face direction faces other directions, and then sets the inclusion area and exclusion area of the triangle data. In consideration of , an image color is set at the position of the corresponding pixel, and the image buffer 362 is stored as an image file. Here, the image color setting unit 370 sets the image color only at positions of pixels that are allowed to be changed. Also, the image color setting unit 370 maintains the allocation of the image buffer 362 until the slicing is finished.

이처럼, 본 발명의 제1 실시예에 따른 3D 프린터의 슬라이스 데이터 생성 장치(300)는 버퍼를 다른 버퍼로 가공하거나, 반복적인 스캔이 필요하지 않기 때문에, 3D 모델링 데이터의 크기에 따라 연산 시간이 민감하게 증가하지 않는다. 또한, 본 발명의 제1 실시예에 따른 3D 프린터의 슬라이스 데이터 생성 장치(300)는 연산 과정이 비교적 단순하기 때문에 GPU(Graphics Processing Unit)를 활용한 고속 컴퓨팅을 최적화할 수 있다.As such, since the slice data generating apparatus 300 of the 3D printer according to the first embodiment of the present invention does not process the buffer into another buffer or does not require repeated scanning, the calculation time is sensitive depending on the size of the 3D modeling data. does not increase significantly In addition, the slice data generating apparatus 300 of the 3D printer according to the first embodiment of the present invention can optimize high-speed computing using a graphics processing unit (GPU) because the calculation process is relatively simple.

도 4는 본 발명의 제1 실시예에 따른 모델의 중첩 부위를 고려한 슬라이싱 방법을 나타낸 흐름도이다.4 is a flowchart illustrating a slicing method in consideration of overlapping regions of a model according to the first embodiment of the present invention.

도 4를 참조하면, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 3D 모델링 데이터를 페이스 버퍼 데이터로 변환하여 페이스 버퍼(332)에 저장한다(S410).Referring to FIG. 4 , the slice data generating apparatus 300 of the 3D printer converts 3D modeling data into face buffer data and stores it in the face buffer 332 ( S410 ).

3D 프린터의 슬라이스 데이터 생성 장치(300)는 페이스 버퍼(332)를 스캔하여 슬라이스의 최저 높이(Z 최소값) 및 슬라이스의 최고 높이(Z 최대값)를 검색한다(S420).The slice data generating apparatus 300 of the 3D printer scans the face buffer 332 to search for a minimum height (Z minimum) and a maximum height (Z maximum) of a slice (S420).

3D 프린터의 슬라이스 데이터 생성 장치(300)는 페이스 버퍼(332)의 스캔 결과에 따라 슬라이스 범위를 지정한다(S430).The slice data generating apparatus 300 of the 3D printer designates a slice range according to the scan result of the face buffer 332 (S430).

3D 프린터의 슬라이스 데이터 생성 장치(300)는 지정된 슬라이스 범위에 대해 페이스 중첩을 검사하여 중첩된 공간에 해당하는 페이스를 수정한다(S440). 이때, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 여러 모델이 있는 경우, 여러 모델을 하나로 합칠 수 있다.The slice data generating apparatus 300 of the 3D printer checks the overlap of the faces for the specified slice range and corrects the faces corresponding to the overlapped space (S440). In this case, when there are several models, the slice data generating apparatus 300 of the 3D printer may combine several models into one.

여기서, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 페이스 버퍼 데이터에 저장된 점의 순서에 따라 공간상에서 페이스가 어느 방향을 향하는 면인지 계산할 수 있다. 이를 통해, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 페이스가 어떤 물체의 뒷면인지, 혹은 앞면인지 알 수 있다. 결과적으로, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 어떤 3D 물체 내부에 다른 물체를 표현하는 페이스가 존재하는지 여부를 알 수 있다. 또한, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 서로 다른 물체의 페이스들의 겹치는 부분도 감지할 수 있다. 따라서, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 서로 겹치는 경계 페이스들을 잘라 버리고, 서로 내부에 해당하는 페이스를 제거함으로써, 외곽을 올바르게 표현한 페이스 데이터를 산출할 수 있다.Here, the slice data generating apparatus 300 of the 3D printer may calculate which direction the face faces in space according to the order of points stored in the face buffer data. Through this, the slice data generating apparatus 300 of the 3D printer may know whether the face is the back side or the front side of the object. As a result, the slice data generating apparatus 300 of the 3D printer may know whether a face representing another object exists inside a certain 3D object. Also, the slice data generating apparatus 300 of the 3D printer may detect overlapping portions of faces of different objects. Accordingly, the slice data generating apparatus 300 of the 3D printer cuts off boundary faces overlapping each other and removes faces corresponding to the inside of each other, thereby calculating face data that correctly expresses the outline.

이어서, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 수정된 페이스를 토대로 슬라이싱 연산을 수행한다(S450).Next, the slice data generating apparatus 300 of the 3D printer performs a slicing operation based on the corrected pace (S450).

도 5는 본 발명의 제1 실시예에 따른 슬라이싱 연산 방법을 나타낸 흐름도이다.5 is a flowchart illustrating a slicing operation method according to the first embodiment of the present invention.

도 5를 참조하면, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 현재 슬라이스 값을 0으로 지정한다(S510).Referring to FIG. 5 , the slice data generating apparatus 300 of the 3D printer designates a current slice value as 0 ( S510 ).

3D 프린터의 슬라이스 데이터 생성 장치(300)는 현재 슬라이스 값이 총 슬라이스 수와 동일한지 여부를 판단하고(S520), 현재 슬라이스 값이 총 슬라이스 수와 동일하다고 판단한 경우, 슬라이싱 연산을 종료한다.The slice data generating apparatus 300 of the 3D printer determines whether the current slice value is equal to the total number of slices (S520), and when it is determined that the current slice value is equal to the total number of slices, the slicing operation is terminated.

3D 프린터의 슬라이스 데이터 생성 장치(300)는 현재 슬라이스 값이 총 슬라이스 수와 다르다고 판단한 경우, 페이스 버퍼(332)로부터 이전 슬라이스의 높이(Za) 및 현재 슬라이스의 높이(Zb) 사이에 포함되는 페이스를 추출한다(S530).When the slice data generating apparatus 300 of the 3D printer determines that the current slice value is different from the total number of slices, the 3D printer slice data generating apparatus 300 selects a face included between the height Za and the height of the current slice from the face buffer 332 (Za). Extract (S530).

3D 프린터의 슬라이스 데이터 생성 장치(300)는 추출한 페이스에 대한 부분적인 랜더링 연산을 실행한다(S540).The slice data generating apparatus 300 of the 3D printer performs a partial rendering operation on the extracted face (S540).

끝으로, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 현재 슬라이스 값을 1만큼 증가시키고(S550), 단계 S520으로 돌아간다.Finally, the slice data generating apparatus 300 of the 3D printer increases the current slice value by 1 ( S550 ), and returns to step S520 .

도 6은 본 발명의 제1 실시예에 따른 3D 모델의 부분적인 랜더링 연산 방법을 나타낸 흐름도이다.6 is a flowchart illustrating a partial rendering operation method of a 3D model according to the first embodiment of the present invention.

도 6을 참조하면, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 각 슬라이스의 이미지 데이터를 구성하는 삼각형 데이터의 위치 값과 이전 슬라이스의 높이 및 현재 슬라이스의 높이를 각각 비교하여 이미지 데이터를 구성하는 각각의 픽셀의 위치 값(x, y)이 저장된 이미지 버퍼(362)로부터 변경할 픽셀의 위치를 추출한다(S610).Referring to FIG. 6 , the slice data generating apparatus 300 of the 3D printer compares the position value of the triangle data constituting the image data of each slice with the height of the previous slice and the height of the current slice, each composing image data. The position of the pixel to be changed is extracted from the image buffer 362 in which the position values (x, y) of the pixel are stored ( S610 ).

3D 프린터의 슬라이스 데이터 생성 장치(300)는 페이스의 방향이 위(z+)를 향하면 제외 영역으로 설정하고, 페이스의 방향이 그 외의 방향을 향하면 포함 영역으로 설정한다(S620).The slice data generating apparatus 300 of the 3D printer sets an exclusion region when the face direction is up (z+), and sets it as an inclusion region when the face direction faces other directions (S620).

페이스는 삼차원 물체(예를 들면, 모델, 서포터)의 외곽 면을 표현하는 데이터이다. 그리고, 하나의 페이스는 세 개 이상의 점들로 구성된다.The face is data representing the outer surface of a three-dimensional object (eg, a model, a supporter). And, one face is composed of three or more points.

이처럼, 페이스는 세 개 이상의 점들로 구성되어 있기 때문에, 점들이 저장되는 순서를 이용하여 페이스의 방향을 설정할 수 있다.As such, since the face is composed of three or more points, the direction of the face can be set using the order in which the points are stored.

한편, 페이스의 방향을 설정하는 방법에는 다음의 두 가지 방법이 있다.On the other hand, there are two methods for setting the direction of the face.

첫째, 앞면 방향에서 바라봤을 때 시계 방향(CW), 반시계 방향(CCW)으로 저장할지 사전에 약속하고, 모든 페이스 버퍼 데이터를 규칙에 맞게 저장하면, 모든 페이스를 앞면에서 바라보는지, 또는 뒷면에서 바라보는지 쉽게 계산할 수 있다. First, if you promise in advance whether to save clockwise (CW) or counterclockwise (CCW) when viewed from the front, and save all face buffer data according to the rules, whether all faces are viewed from the front or from the back You can easily calculate what you are looking at.

둘째, 앞면, 또는 뒷면 방향에 관한 데이터(벡터로 표현)를 사전에 보유하고, 이를 통해 모든 페이스를 앞면에서 바라보는지, 또는 뒷면에서 바라보는지 쉽게 계산할 수 있다. Second, we have data (expressed as a vector) about the front or back direction in advance, so that we can easily calculate whether all faces are viewed from the front or from the back.

3D 프린터의 슬라이스 데이터 생성 장치(300)는 삼각형 데이터의 포함 영역 및 제외 영역을 고려하여 해당 픽셀의 위치에 이미지 색을 설정한다(S630). 이때, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 변경이 허용된 픽셀의 위치만 이미지 색을 설정한다. The slice data generating apparatus 300 of the 3D printer sets the image color at the position of the corresponding pixel in consideration of the inclusion and exclusion regions of the triangle data ( S630 ). In this case, the slice data generating apparatus 300 of the 3D printer sets the image color only at the position of the pixel for which the change is allowed.

끝으로, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 이미지 버퍼(362)를 이미지 파일로 저장한다(S640). 여기서, 3D 프린터의 슬라이스 데이터 생성 장치(300)는 슬라이싱이 끝날 때까지 이미지 버퍼(362)의 할당을 유지한다.Finally, the slice data generating apparatus 300 of the 3D printer stores the image buffer 362 as an image file (S640). Here, the slice data generating apparatus 300 of the 3D printer maintains the allocation of the image buffer 362 until the slicing is finished.

전술한 방법은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하드웨어, 펌웨어(Firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.The above-described method may be implemented through various means. For example, embodiments of the present invention may be implemented by hardware, firmware, software, or a combination thereof.

하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 컨트롤러, 마이크로컨트롤러 및 마이크로프로세서 등에 의해 구현될 수 있다.In the case of implementation by hardware, the method according to embodiments of the present invention may include one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), and Programmable Logic Devices (PLDs). , FPGAs (Field Programmable Gate Arrays), processors, controllers, microcontrollers and microprocessors, and the like.

펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.In the case of implementation by firmware or software, the method according to the embodiments of the present invention may be implemented in the form of a module, procedure, or function that performs the functions or operations described above. The software code may be stored in the memory unit and driven by the processor. The memory unit may be located inside or outside the processor, and may transmit and receive data to and from the processor by various known means.

도 7은 본 발명의 제2 실시예에 따른 3D 프린터의 슬라이스 데이터 생성 장치 내부의 개략적인 구성을 나타낸 블럭 구성도이다.7 is a block diagram showing a schematic configuration of the inside of the slice data generating apparatus of the 3D printer according to the second embodiment of the present invention.

도 7을 참조하면, 본 발명의 제2 실시예에 따른 3D 프린터의 슬라이스 데이터 생성 장치(700)는 메모리(710), 로딩부(720), 변환부(730), 페이스 버퍼(732), 슬라이스 범위 지정부(740), 이미지 버퍼 생성부(750), 이미지 버퍼(752), 및 병렬 슬라이싱 연산부(760)를 포함할 수 있다. 여기서, 로딩부(720), 변환부(730), 페이스 버퍼(732), 슬라이스 범위 지정부(740), 이미지 버퍼 생성부(750), 이미지 버퍼(752), 및 병렬 슬라이싱 연산부(760)는 하나의 제어부로 구성될 수 있다. 본 발명의 제2 실시예에 따른 3D 프린터의 슬라이스 데이터 생성 장치(700)는 도 3의 3D 프린터의 슬라이스 데이터 생성 장치(300)와 달리 오류 검사 작업, 즉, 페이스 중첩 검사 작업을 필요로 하지 않는다.Referring to FIG. 7 , an apparatus 700 for generating slice data of a 3D printer according to a second embodiment of the present invention includes a memory 710 , a loading unit 720 , a conversion unit 730 , a face buffer 732 , and a slice It may include a range designator 740 , an image buffer generator 750 , an image buffer 752 , and a parallel slicing operator 760 . Here, the loading unit 720 , the conversion unit 730 , the face buffer 732 , the slice range designation unit 740 , the image buffer generation unit 750 , the image buffer 752 , and the parallel slicing operation unit 760 are It may consist of one control unit. The slice data generating apparatus 700 of the 3D printer according to the second embodiment of the present invention does not require an error checking operation, that is, a face overlapping checking operation, unlike the slice data generating apparatus 300 of the 3D printer of FIG. 3 . .

메모리(710)는 3D 모델링 데이터 및 이미지 파일을 저장한다. 또한, 메모리(710)는 슬라이스 범위 지정부(740)에 의해 지정된 슬라이스 범위 등을 저장할 수 있다.The memory 710 stores 3D modeling data and image files. Also, the memory 710 may store a slice range designated by the slice range designation unit 740 .

메모리(710)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 3D 프린터의 슬라이스 데이터 생성 장치(700)는, 인터넷(internet)상에서 메모리(710)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영할 수도 있다.The memory 710 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg, SD or XD memory), and a RAM. (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) magnetic memory, magnetic disk, It may include at least one type of storage medium among optical disks. In addition, the slice data generating apparatus 700 of the 3D printer may operate a web storage that performs a storage function of the memory 710 on the Internet.

로딩부(720)는 메모리(710)로부터 3D 모델링 데이터를 불러온다.The loading unit 720 loads 3D modeling data from the memory 710 .

변환부(730)는 로딩부(720)를 통해 메모리(710)로부터 불러온 3D 모델링 데이터를 페이스 버퍼 데이터로 변환하여 페이스 버퍼(732)에 저장한다.The conversion unit 730 converts the 3D modeling data retrieved from the memory 710 through the loading unit 720 into phase buffer data and stores the converted 3D modeling data in the phase buffer 732 .

슬라이스 범위 지정부(740)는 페이스 버퍼(732)를 스캔하여 슬라이스의 최저 높이(Z 최소값) 및 슬라이스의 최고 높이(Z 최대값)를 검색하고, 페이스 버퍼(732)의 스캔 결과에 따라 슬라이스 범위를 지정한다.The slice range designation unit 740 scans the face buffer 732 to search for the lowest height (Z minimum value) and the highest slice height (Z maximum value) of the slice by scanning the face buffer 732 , and the slice range according to the scan result of the face buffer 732 . specify

이미지 버퍼 생성부(750)는 슬라이스 범위 지정부(740)에 의해 지정된 슬라이스 범위에 대해 각 슬라이스의 이미지 픽셀수(X, Y) * 총 슬라이스 수(Z)만큼 복수의 이미지 버퍼(752)를 생성한다.The image buffer generation unit 750 generates a plurality of image buffers 752 as many as the number of image pixels (X, Y) * the total number of slices (Z) of each slice for the slice range specified by the slice range designation unit 740 . do.

병렬 슬라이싱 연산부(760)는 페이스 버퍼(732)를 스캔하여 페이스 버퍼(732)에서 페이스 버퍼 데이터를 추출하고, 추출한 페이스 버퍼 데이터의 좌표(x, y)에서의 슬라이스의 최소 높이(Zmin) 및 슬라이스의 최대 높이(Zmax)를 계산하며, 슬라이스의 최소 높이에 대응되는 이미지 버퍼(이미지 버퍼[x][y][Zmin])와 슬라이스의 최대 높이에 대응되는 이미지 버퍼(이미지 버퍼[x][y][Zmax]) 사이에 해당하는 모든 값을 랜더링 대상으로 설정한 후, 해당 범위의 이미지 버퍼를 이미지 파일로 변환하여 저장한다.The parallel slicing operation unit 760 scans the face buffer 732 to extract the face buffer data from the face buffer 732 , and the minimum height (Zmin) of the slice at the coordinates (x, y) of the extracted face buffer data and the slice Calculates the maximum height (Zmax) of the slice, the image buffer corresponding to the minimum height of the slice (image buffer[x][y][Zmin]) and the image buffer corresponding to the maximum height of the slice (image buffer[x][y]) ][Zmax]) is set as the rendering target, and the image buffer in the range is converted into an image file and saved.

도 8은 본 발명의 제2 실시예에 따른 모델의 중첩 부위를 고려한 슬라이싱 방법을 나타낸 흐름도이다.8 is a flowchart illustrating a slicing method in consideration of overlapping regions of models according to a second embodiment of the present invention.

도 8을 참조하면, 3D 프린터의 슬라이스 데이터 생성 장치(700)는 3D 모델링 데이터를 페이스 버퍼 데이터로 변환하여 페이스 버퍼(732)에 저장한다(S810).Referring to FIG. 8 , the apparatus 700 for generating slice data of the 3D printer converts 3D modeling data into face buffer data and stores it in the face buffer 732 ( S810 ).

3D 프린터의 슬라이스 데이터 생성 장치(700)는 페이스 버퍼(732)를 스캔하여 슬라이스의 최저 높이(Z 최소값) 및 슬라이스의 최고 높이(Z 최대값)를 검색한다(S820).The slice data generating apparatus 700 of the 3D printer scans the face buffer 732 to search for a minimum height (Z minimum) and a maximum height (Z maximum) of a slice (S820).

3D 프린터의 슬라이스 데이터 생성 장치(700)는 페이스 버퍼(732)의 스캔 결과에 따라 슬라이스 범위를 지정한다(S830).The slice data generating apparatus 700 of the 3D printer designates a slice range according to the scan result of the face buffer 732 (S830).

3D 프린터의 슬라이스 데이터 생성 장치(700)는 지정된 슬라이스 범위에 대해 병렬 슬라이싱 연산을 수행한다(S840).The slice data generating apparatus 700 of the 3D printer performs a parallel slicing operation on a specified slice range ( S840 ).

도 9는 본 발명의 제2 실시예에 따른 병렬 슬라이싱 연산 방법을 나타낸 흐름도이다.9 is a flowchart illustrating a parallel slicing operation method according to a second embodiment of the present invention.

도 9를 참조하면, 3D 프린터의 슬라이스 데이터 생성 장치(700)는 지정된 슬라이스 범위에 대해 각 슬라이스의 이미지 픽셀수(X, Y) * 총 슬라이스 수(Z)만큼 복수의 이미지 버퍼(752)를 생성한다(S910).Referring to FIG. 9 , the slice data generating apparatus 700 of the 3D printer generates a plurality of image buffers 752 as many as the number of image pixels (X, Y) * total number of slices (Z) of each slice for a specified slice range. do (S910).

3D 프린터의 슬라이스 데이터 생성 장치(700)는 각 이미지 버퍼(752)에 대해 이미지 픽셀수(X, Y)만큼 병렬 슬라이싱 연산을 수행한다(S920).The slice data generating apparatus 700 of the 3D printer performs a parallel slicing operation for each image buffer 752 by the number of image pixels (X, Y) ( S920 ).

3D 프린터의 슬라이스 데이터 생성 장치(700)는 이미지 버퍼(752)를 이미지 파일로 변환하여 저장한다(S930)The slice data generating apparatus 700 of the 3D printer converts the image buffer 752 into an image file and stores it (S930)

도 10은 본 발명의 제2 실시예에 따른 이미지 픽셀수만큼 병렬 슬라이싱 연산을 수행하는 방법을 나타낸 흐름도이다.10 is a flowchart illustrating a method of performing a parallel slicing operation by the number of image pixels according to the second embodiment of the present invention.

도 10을 참조하면, 3D 프린터의 슬라이스 데이터 생성 장치(700)는 현재 스캔 값을 0으로 지정한다(S1010).Referring to FIG. 10 , the slice data generating apparatus 700 of the 3D printer designates a current scan value as 0 ( S1010 ).

3D 프린터의 슬라이스 데이터 생성 장치(700)는 현재 스캔 값이 총 페이스 수와 동일한지 여부를 판단하고(S1020), 현재 스캔 값이 총 페이스 수와 동일하다고 판단한 경우, 병렬 슬라이싱 연산을 종료한다.The slice data generating apparatus 700 of the 3D printer determines whether the current scan value is equal to the total number of faces ( S1020 ), and when it is determined that the current scan value is equal to the total number of faces, the parallel slicing operation is terminated.

3D 프린터의 슬라이스 데이터 생성 장치(700)는 현재 스캔 값이 총 페이스 수와 다르다고 판단한 경우, 현재 스캔할 페이스가 좌표(x, y)를 포함하는지 여부를 판단하고(S1030), 현재 스캔할 페이스가 좌표(x, y)를 포함한다고 판단한 경우, 추출한 페이스의 좌표(x, y)에서의 슬라이스의 최소 높이(Zmin) 및 슬라이스의 최대 높이(Zmax)를 계산한다(S1040).When it is determined that the current scan value is different from the total number of faces, the slice data generating apparatus 700 of the 3D printer determines whether the face to be scanned currently includes the coordinates (x, y) (S1030), and the current scan value is When it is determined that the coordinates (x, y) are included, the minimum height (Zmin) of the slice and the maximum height (Zmax) of the slice at the coordinates (x, y) of the extracted face are calculated ( S1040 ).

3D 프린터의 슬라이스 데이터 생성 장치(700)는 슬라이스의 최소 높이에 대응되는 이미지 버퍼(이미지 버퍼[x][y][Zmin])와 슬라이스의 최대 높이에 대응되는 이미지 버퍼(이미지 버퍼[x][y][Zmax]) 사이에 해당하는 모든 좌표 값을 랜더링 대상으로 설정한다(S1050).The slice data generating apparatus 700 of the 3D printer includes an image buffer (image buffer[x][y][Zmin]) corresponding to the minimum height of the slice and an image buffer (image buffer[x][ y] [Zmax]) and set all coordinate values corresponding to the rendering target (S1050).

그리고, 3D 프린터의 슬라이스 데이터 생성 장치(700)는 현재 스캔 값을 1만큼 증가시키고(S1060), 단계 S1020으로 돌아간다.Then, the slice data generating apparatus 700 of the 3D printer increases the current scan value by 1 (S1060), and returns to step S1020.

한편, 3D 프린터의 슬라이스 데이터 생성 장치(700)는 현재 스캔할 페이스가 좌표(x, y)를 포함하지 않는다고 판단한 경우, 현재 스캔 값을 1만큼 증가시키고(S1060), 단계 S1020으로 돌아간다.Meanwhile, when it is determined that the slice data generating apparatus 700 of the 3D printer does not include the coordinates (x, y), the slice data generating apparatus 700 increases the current scan value by 1 ( S1060 ) and returns to step S1020 .

전술한 방법은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하드웨어, 펌웨어(Firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.The above-described method may be implemented through various means. For example, embodiments of the present invention may be implemented by hardware, firmware, software, or a combination thereof.

하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 컨트롤러, 마이크로컨트롤러 및 마이크로프로세서 등에 의해 구현될 수 있다.In the case of implementation by hardware, the method according to embodiments of the present invention may include one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), and Programmable Logic Devices (PLDs). , FPGAs (Field Programmable Gate Arrays), processors, controllers, microcontrollers and microprocessors, and the like.

펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.In the case of implementation by firmware or software, the method according to the embodiments of the present invention may be implemented in the form of a module, procedure, or function that performs the functions or operations described above. The software code may be stored in the memory unit and driven by the processor. The memory unit may be located inside or outside the processor, and may transmit and receive data to and from the processor by various known means.

이상에서 본 명세서에 개시된 실시예들을 첨부된 도면들을 참조로 설명하였다. 이와 같이 각 도면에 도시된 실시예들은 한정적으로 해석되면 아니되며, 본 명세서의 내용을 숙지한 당업자에 의해 서로 조합될 수 있고, 조합될 경우 일부 구성 요소들은 생략될 수도 있는 것으로 해석될 수 있다.The embodiments disclosed herein have been described above with reference to the accompanying drawings. As such, the embodiments shown in each drawing should not be construed as being limited, and may be combined with each other by those skilled in the art having read the contents of the present specification, and when combined, it may be construed that some components may be omitted.

여기서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 본 명세서에 개시된 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.Here, the terms or words used in the present specification and claims should not be construed as being limited to conventional or dictionary meanings, but should be interpreted as meanings and concepts consistent with the technical ideas disclosed in the present specification.

따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 명세서에 개시된 실시예에 불과할 뿐이고, 본 명세서에 개시된 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.Therefore, the embodiments described in the present specification and the configurations shown in the drawings are only the embodiments disclosed in the present specification, and do not represent all the technical ideas disclosed in the present specification, so various equivalents that can replace them at the time of the present application It should be understood that there may be water and variations.

310: 메모리 320: 로딩부
330: 변환부 332: 페이스 버퍼
340: 슬라이스 범위 지정부 350: 페이스 중첩 검사부
360: 픽셀 위치 추출부 362: 이미지 버퍼
370: 이미지 색 설정부 710: 메모리
720: 로딩부 730: 변환부
732: 페이스 버퍼 740: 슬라이스 범위 지정부
750: 이미지 버퍼 생성부 752: 이미지 버퍼
760: 병렬 슬라이싱 연산부
310: memory 320: loading unit
330: conversion unit 332: face buffer
340: slice range designation unit 350: face overlap inspection unit
360: pixel position extractor 362: image buffer
370: image color setting unit 710: memory
720: loading unit 730: conversion unit
732: face buffer 740: slice range designator
750: image buffer generator 752: image buffer
760: parallel slicing operation unit

Claims (13)

3D 모델링 데이터를 저장하는 메모리; 및
상기 메모리에 연결되어, 상기 메모리에 저장된 3D 모델링 데이터를 페이스 버퍼 데이터로 변환하고, 상기 페이스 버퍼 데이터를 토대로 페이스를 스캔하여 슬라이스의 최저 높이 및 슬라이스의 최고 높이를 검색한 후, 페이스 스캔 결과에 따라 슬라이스 범위를 지정하며, 지정된 슬라이스 범위에 대해 페이스 중첩을 수정한 후, 수정된 페이스를 토대로 슬라이싱 연산을 실행하는 제어부;를 포함하되,
상기 제어부는 페이스 중첩을 검사한 결과, 여러 모델이 존재하는 경우, 여러 모델을 하나로 합치고,
상기 제어부는 페이스 버퍼로부터 이전 슬라이스의 높이와 현재 슬라이스의 높이 사이에 포함되는 페이스 버퍼 데이터를 추출하고, 각 슬라이스의 이미지 데이터를 구성하는 삼각형 데이터의 위치 값과 이전 슬라이스의 높이 및 현재 슬라이스의 높이를 각각 비교하여 이미지 데이터를 구성하는 각각의 픽셀의 위치 값이 저장된 이미지 버퍼로부터 변경할 픽셀의 위치를 추출하며, 추출된 픽셀의 위치에 이미지 색을 설정한 후, 상기 이미지 버퍼를 이미지 파일로 저장하고,
상기 제어부는 페이스의 방향이 위를 향하면 제외 영역으로 설정하고, 페이스의 방향이 그 외의 방향을 향하면 포함 영역으로 설정한 후, 삼각형 데이터의 포함 영역 및 제외 영역을 고려하여 상기 추출된 픽셀의 위치에 이미지 색을 설정하고,
상기 제어부는 슬라이싱이 끝날 때까지 상기 이미지 버퍼의 할당을 유지하는 것을 특징으로 하는 3D 프린터의 슬라이스 데이터 생성 장치.
a memory for storing 3D modeling data; and
It is connected to the memory and converts the 3D modeling data stored in the memory into face buffer data, scans the face based on the face buffer data to search for the lowest height of the slice and the highest height of the slice, and then according to the face scan result A control unit that specifies a slice range, corrects face overlap for the specified slice range, and executes a slicing operation based on the corrected face;
As a result of examining the face overlap, the control unit merges several models into one if there are several models,
The control unit extracts face buffer data included between the height of the previous slice and the height of the current slice from the face buffer, and calculates the position value of the triangle data constituting the image data of each slice, the height of the previous slice, and the height of the current slice. Extracting the position of the pixel to be changed from the image buffer in which the position value of each pixel constituting the image data is compared with each other, setting the image color at the position of the extracted pixel, and then storing the image buffer as an image file,
When the face direction is upward, the control unit sets the excluded area, and when the face direction faces any other direction, sets it as the inclusive area. set the image color,
The control unit maintains the allocation of the image buffer until the slicing is finished.
삭제delete 삭제delete 삭제delete 삭제delete 3D 프린터의 슬라이스 데이터 생성 장치가, 3D 모델링 데이터를 페이스 버퍼 데이터로 변환하는 단계;
상기 3D 프린터의 슬라이스 데이터 생성 장치가, 상기 페이스 버퍼 데이터를 토대로 페이스를 스캔하여 슬라이스의 최저 높이 및 슬라이스의 최고 높이를 검색하는 단계;
상기 3D 프린터의 슬라이스 데이터 생성 장치가, 페이스 스캔 결과에 따라 슬라이스 범위를 지정하는 단계;
상기 3D 프린터의 슬라이스 데이터 생성 장치가, 지정된 슬라이스 범위에 대해 페이스 중첩을 수정하는 단계; 및
상기 3D 프린터의 슬라이스 데이터 생성 장치가, 수정된 페이스를 토대로 슬라이싱 연산을 실행하는 단계;를 포함하되,
상기 페이스 중첩을 수정하는 단계에서,
상기 3D 프린터의 슬라이스 데이터 생성 장치는 여러 모델이 존재하는 경우, 여러 모델을 하나로 합치고,
상기 3D 프린터의 슬라이스 데이터 생성 장치는 상기 페이스 버퍼 데이터에 저장된 점의 순서에 따라 공간상에서 페이스가 어느 방향을 향하는 면인지 계산하고,
상기 3D 프린터의 슬라이스 데이터 생성 장치는 서로 겹치는 경계 페이스들을 잘라 버리고, 서로 내부에 해당하는 페이스를 제거함으로써, 외곽을 올바르게 표현한 페이스 데이터를 산출하고,
상기 슬라이싱 연산을 실행하는 단계는,
상기 3D 프린터의 슬라이스 데이터 생성 장치가, 현재 슬라이스 값이 총 슬라이스 수와 동일한지 여부를 판단하는 단계;
상기 3D 프린터의 슬라이스 데이터 생성 장치가, 현재 슬라이스 값이 총 슬라이스 수와 다르다고 판단한 경우, 페이스 버퍼로부터 이전 슬라이스의 높이 및 현재 슬라이스의 높이 사이에 포함되는 페이스를 추출하는 단계; 및
상기 3D 프린터의 슬라이스 데이터 생성 장치가, 추출한 페이스에 대한 부분적인 랜더링 연산을 실행하는 단계;를 포함하고,
상기 3D 프린터의 슬라이스 데이터 생성 장치는, 상기 현재 슬라이스 값이 총 슬라이스 수와 동일해질 때까지 상기 현재 슬라이스 값이 총 슬라이스 수와 동일한지 여부를 판단하는 단계 내지 상기 부분적인 랜더링 연산을 실행하는 단계를 반복적으로 수행하고,
상기 부분적인 랜더링 연산을 실행하는 단계는,
상기 3D 프린터의 슬라이스 데이터 생성 장치가, 각 슬라이스의 이미지 데이터를 구성하는 삼각형 데이터의 위치 값과 이전 슬라이스의 높이 및 현재 슬라이스의 높이를 각각 비교하여 이미지 데이터를 구성하는 각각의 픽셀의 위치 값이 저장된 이미지 버퍼로부터 변경할 픽셀의 위치를 추출하는 단계;
상기 3D 프린터의 슬라이스 데이터 생성 장치가, 상기 페이스의 방향이 위를 향하면 제외 영역으로 설정하고, 상기 페이스의 방향이 그 외의 방향을 향하면 포함 영역으로 설정하는 단계;
상기 3D 프린터의 슬라이스 데이터 생성 장치가, 상기 삼각형 데이터의 포함 영역 및 제외 영역을 고려하여 상기 추출된 픽셀의 위치에 이미지 색을 설정하는 단계; 및
상기 3D 프린터의 슬라이스 데이터 생성 장치가, 상기 이미지 버퍼를 이미지 파일로 저장하는 단계;를 포함하고,
상기 추출된 픽셀의 위치에 이미지 색을 설정하는 단계에서,
상기 3D 프린터의 슬라이스 데이터 생성 장치는 변경이 허용된 픽셀의 위치만 이미지 색을 설정하는 것을 특징으로 하는 3D 프린터의 슬라이스 데이터 생성 방법.
converting, by the apparatus for generating slice data of a 3D printer, 3D modeling data into face buffer data;
scanning, by the apparatus for generating slice data of the 3D printer, a face based on the face buffer data to search for a lowest height of a slice and a highest height of a slice;
specifying, by the apparatus for generating slice data of the 3D printer, a slice range according to a face scan result;
modifying, by the apparatus for generating slice data of the 3D printer, face overlap for a specified slice range; and
Including, by the device for generating slice data of the 3D printer, a slicing operation based on the corrected pace;
In the step of correcting the face overlap,
The slice data generating apparatus of the 3D printer combines several models into one when there are several models,
The slice data generating apparatus of the 3D printer calculates which direction the face faces in space according to the order of the points stored in the face buffer data,
The slice data generating apparatus of the 3D printer cuts off boundary faces overlapping each other and removes faces corresponding to the inside of each other, thereby calculating face data that correctly expresses the outline,
The step of executing the slicing operation includes:
determining, by the apparatus for generating slice data of the 3D printer, whether a current slice value is equal to the total number of slices;
extracting, by the apparatus for generating slice data of the 3D printer, a face included between a height of a previous slice and a height of a current slice from a face buffer when it is determined that the current slice value is different from the total number of slices; and
Including, by the apparatus for generating slice data of the 3D printer, performing a partial rendering operation on the extracted face;
determining, by the apparatus for generating slice data of the 3D printer, whether the current slice value is equal to the total number of slices until the current slice value is equal to the total number of slices; or executing the partial rendering operation do it repeatedly,
The step of executing the partial rendering operation comprises:
The slice data generating device of the 3D printer compares the position value of the triangle data constituting the image data of each slice, the height of the previous slice, and the height of the current slice, respectively, and the position value of each pixel constituting the image data is stored. extracting the position of the pixel to be changed from the image buffer;
setting, by the apparatus for generating slice data of the 3D printer, an exclusion region when the direction of the face faces upward, and as an inclusion region when the direction of the face faces other directions;
setting, by the apparatus for generating slice data of the 3D printer, an image color at the position of the extracted pixel in consideration of the inclusion and exclusion regions of the triangle data; and
Including, by the apparatus for generating slice data of the 3D printer, the image buffer as an image file;
In the step of setting the image color to the position of the extracted pixel,
The slice data generating method of the 3D printer, characterized in that the slice data generating apparatus of the 3D printer sets the image color only at the positions of the pixels that are allowed to be changed.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020200059059A 2020-05-18 2020-05-18 Method and apparatus for generating slice data of 3d printer KR102305843B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200059059A KR102305843B1 (en) 2020-05-18 2020-05-18 Method and apparatus for generating slice data of 3d printer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200059059A KR102305843B1 (en) 2020-05-18 2020-05-18 Method and apparatus for generating slice data of 3d printer

Publications (1)

Publication Number Publication Date
KR102305843B1 true KR102305843B1 (en) 2021-09-28

Family

ID=77923036

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200059059A KR102305843B1 (en) 2020-05-18 2020-05-18 Method and apparatus for generating slice data of 3d printer

Country Status (1)

Country Link
KR (1) KR102305843B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150127710A (en) * 2013-03-14 2015-11-17 스트라타시스 엘티디. Slicing and/or texturing for three-dimensional printing
KR20180067389A (en) 2016-12-12 2018-06-20 주식회사 쓰리디시스템즈코리아 Apparatus and method for estimating material usage and printing time for a 3d printer
KR20180101732A (en) 2017-03-06 2018-09-14 공석태 3d printer
KR20190039440A (en) * 2016-08-30 2019-04-11 리즈 인코포레이티드 Method of manufacturing a three-dimensional object having a removable support structure
JP2019524506A (en) * 2016-08-12 2019-09-05 ゼネラル・エレクトリック・カンパニイ How to refine shape details for additive manufacturing
KR20200002168A (en) * 2018-06-29 2020-01-08 헵시바주식회사 Slicing Calibration Method of Three-dimensional Model
KR20200025407A (en) * 2018-08-30 2020-03-10 전자부품연구원 2D Slicing Polyline based Support Structure Generation Method for 3D Printing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150127710A (en) * 2013-03-14 2015-11-17 스트라타시스 엘티디. Slicing and/or texturing for three-dimensional printing
JP2019524506A (en) * 2016-08-12 2019-09-05 ゼネラル・エレクトリック・カンパニイ How to refine shape details for additive manufacturing
KR20190039440A (en) * 2016-08-30 2019-04-11 리즈 인코포레이티드 Method of manufacturing a three-dimensional object having a removable support structure
KR20180067389A (en) 2016-12-12 2018-06-20 주식회사 쓰리디시스템즈코리아 Apparatus and method for estimating material usage and printing time for a 3d printer
KR20180101732A (en) 2017-03-06 2018-09-14 공석태 3d printer
KR20200002168A (en) * 2018-06-29 2020-01-08 헵시바주식회사 Slicing Calibration Method of Three-dimensional Model
KR20200025407A (en) * 2018-08-30 2020-03-10 전자부품연구원 2D Slicing Polyline based Support Structure Generation Method for 3D Printing

Similar Documents

Publication Publication Date Title
US8175734B2 (en) Methods and system for enabling printing three-dimensional object models
CN108237693B (en) B-REP of results of a biaxial 3D printing process
EP3371782B1 (en) Technique for extruding a 3d object into a plane
US10386797B2 (en) Fracturing a shell of a three-dimensional object
US20160214325A1 (en) Modeling data creation method and information processing device
US20160263836A1 (en) Three-dimensional object forming system
US20160055266A1 (en) Three-dimensional model generating method, three-dimensional model generating system, and a three-dimensional model generating program
US20210103269A1 (en) Methods, systems, apparatusses and devices for facilitating producing hollowed 3d shapes by layer
US10442178B2 (en) Information processing apparatus, information processing method, and three-dimensional solid object
JP2018036771A (en) Stereoscopic data processing device and stereoscopic data processing program
EP0681243B1 (en) Method for performing boolean operations on geometric objects in a computer-aided design system
US20210046545A1 (en) Three-dimensional shape data generation apparatus, three-dimensional modeling apparatus, and non-transitory computer readable medium storing three-dimensional shape data generation program
KR102305843B1 (en) Method and apparatus for generating slice data of 3d printer
KR20180078682A (en) color information insertion apparatus and method, 3D printing system and method using thereof
US10543673B2 (en) Detecting and compensating for an anomaly in three-dimensional object fabrication
KR102117592B1 (en) Apparatus and method for integrated processing of modeling files for 3D printers
KR101682296B1 (en) 3 dimensional printer device and method for positioning 3 dimensional object
Hattab et al. Interactive fabrication of csg models with assisted carving
Andújar et al. Solid modelling for manufacturing: From Voelcker’s boundary evaluation to discrete paradigms
JPH07200873A (en) Production of three-dimensional model
CN102598000A (en) Correction of topology interference for solid objects in a modeling environment
Braid Geometric modelling
US11262729B2 (en) Adapting a 3D printing file
KR20160058299A (en) Apparatus and method for slicing and contour building
KR102274892B1 (en) Method and system for generating slice data of 3d printer based on cloud computing

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant