WO2017043712A1 - Method for slicing three-dimensional shape data object for reducing number of calculations - Google Patents

Method for slicing three-dimensional shape data object for reducing number of calculations Download PDF

Info

Publication number
WO2017043712A1
WO2017043712A1 PCT/KR2016/000715 KR2016000715W WO2017043712A1 WO 2017043712 A1 WO2017043712 A1 WO 2017043712A1 KR 2016000715 W KR2016000715 W KR 2016000715W WO 2017043712 A1 WO2017043712 A1 WO 2017043712A1
Authority
WO
WIPO (PCT)
Prior art keywords
iii
pixel
slicing
inspection
target mesh
Prior art date
Application number
PCT/KR2016/000715
Other languages
French (fr)
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 한국생산기술연구원
Publication of WO2017043712A1 publication Critical patent/WO2017043712A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Definitions

  • the present invention relates to an STL slicing method.
  • the point cloud data for the cross section is obtained by analyzing the object on the CAD data generated by the STL file in the form of a point in the pixel of the 3D space, and calculating it by limiting only the space occupied by each triangle mesh constituting the STL.
  • STL slicing method to reduce the amount of computation by.
  • 3D printer refers to a machine that prints a solid three-dimensional image based on a three-dimensional drawing created by a computer design program.
  • WEF World Economic Forum
  • the key reason for 3D printers is that they are light in weight, can be customized without waste and only need a small amount, and the product is released quickly.
  • Modeling is a step of producing a 3D drawing, using a 3D computer aided design (CAD), a 3D modeling program or a 3D scanner.
  • Printing is a step of creating an object using 3D drawings produced during the modeling process, and works in a stacked or cut form. The time required depends on the size and complexity of the product. Finishing is the process of making a complementary work on the resulting work, such as painting, polishing the surface, or assembling a part work.
  • the present invention is characterized by dramatically reducing the amount of computation in the process of obtaining the point cloud data for the cross-section by analyzing the object on the CAD data generated by the STL file in the form of a point in the pixel of the three-dimensional space, It has been determined whether the mesh operation and slicing point as follows.
  • an object has a surface composed of triangular patches (mesh) as shown in FIG. 1, and in order to output to a 3D printer, slicing data about a cross section is obtained while raising a plane. For example, some of the slicing data for the sphere results in a result as shown in FIG.
  • the amount of computation is determined by varying the operation of determining whether an arbitrary point (x, y, z) is a contact point for all meshes from xmin to xmax, ymin to ymax, and zmin to zmax. It increases a lot and the computation time increases rapidly. For example, in an STL file with 1000 meshes, even if the number of xyz pixels (slices) is 100 * 100 * 100, a calculation of 1.0 * 10 ⁇ 9 is required, which is very common in the field of 3D printers.
  • the binary space for a 3D printer has only values of 0 and 1, and has the same space as the number of 3D image pixels (slices) and is initially set to zero.
  • Binary memory has integer coordinates (i, j, k), and the object's coordinates t (x, y, z) and resolution As proportional.
  • the point t in the slice z * changes xy as xy changes in the intersection (xa, ya, z *) (xb, yb, z *) of the straight line ac and the straight line cb.
  • the calculated t (x *, y *, z *) is obtained in proportion to the binary memory integer coordinates (i *, j *, k *), and the corresponding binary memory is set to 1, and the process is performed on all meshes.
  • the cross-sectional slice is obtained by calculating with varying zmin to zmax.
  • the present invention has been made to solve the above problems, and aims to obtain point cloud data of a cross section by analyzing an object on CAD data generated as an STL file and arranging it in the form of a point in a pixel in a three-dimensional space. It aims to reduce the amount of computation by calculating the space occupied by each triangular mesh constituting the STL.
  • the present invention devised to achieve the above object is located in the molding space consisting of the X-axis, Y-axis, Z-axis, three-dimensional modeling is recorded the three-dimensional information that the surface is represented by a plurality of triangle mesh (mesh) (I) selecting one of the plurality of triangular meshes as a target mesh from an Estiel (STL) file for the device, (ii) with respect to the target mesh, three vertices of the target mesh as part of a vertex, Setting an inspection cuboid space in which each of the six planes is parallel to any one of the XY plane, the YZ plane, and the ZX plane formed of the X axis, the Y axis, and the Z axis; Computes whether or not each inspection cuboid space pixel determined by dividing with each other in the predetermined order is intersected with the target mesh, and among the inspection cube cubic space pixels.
  • Determining a slicing pixel to intersect the mesh and (iv) repeating steps (i) to (iii) until it is determined whether or not the slicing pixel is determined for all of the plurality of triangle meshes. It provides a method for deriving the slicing pixels through a method comprising.
  • the STL slicing method analyzes an object on CAD data generated as an STL file and arranges it in the form of a point in a pixel of three-dimensional space to obtain point cloud data of a cross section, but the space occupied by each triangle mesh constituting the STL There is an effect that the amount of calculation can be reduced by only computing.
  • the present invention there is a first effect of obtaining point cloud data of a cross section by analyzing an object on CAD data generated as an STL file and arranging it in the form of a point in a pixel in a three-dimensional space.
  • the second effect can reduce the total calculation amount, the resolution applied when selecting a slicing pixel that intersects the triangle mesh, and the point corresponding to the three sides of the triangle mesh.
  • the resolution in the case of obtaining a slicing pixel can be applied differently, and has a third effect of not missing a slicing pixel.
  • 1 to 3 are diagrams for explaining the prior art with respect to the mesh operation.
  • FIG. 4 is a view for explaining the prior art with respect to a method for determining whether a slicing point.
  • FIG. 5 is an explanatory diagram for explaining a concept of setting an inspection rectangular parallelepiped space for a target mesh
  • FIG. 6 is an explanatory diagram showing determining a slicing pixel on a predetermined inspection plane in performing an operation on an inspection cuboid space pixel.
  • FIG. 7 is explanatory drawing which shows whether the said inspection pixel exists in the angle which AC and AB make in the plane which consists of AC and AB with respect to the inspection pixel t.
  • FIG. 8 is an explanatory diagram illustrating whether or not the check pixel exists within an angle between AC and AB in a plane formed of AC and AB when the check pixel t is on the line segment BC in the edge of the target mesh.
  • the present invention relates to an STL file for a three-dimensional molding apparatus, which is located in a molding space consisting of X-, Y-, and Z-axes, and has three-dimensional shape information whose surfaces are represented by a plurality of triangular meshes.
  • the molding space is composed of a binary space partitioned in the X-axis, the Y-axis, the Z-axis direction having a first resolution, the binary And giving a predetermined binary initial value to all pixels forming a space, and after the step (iii) repeatedly performed until the condition of step (iv) is satisfied, It may further comprise the step of giving a predetermined binary setting value for.
  • step (iii-2) obtaining the sign of the calculation result of the vector operation (YZ ⁇ YT) ⁇ (YX ⁇ YT) for the inspection pixel (point T), (iii -3) If the sign obtained in the step (iii-1) and the step (iii-2) is both negative, the check pixel is determined to intersect the target mesh, the step (iii-1) and the If one or more of the signs obtained in step (iii-2) is positive, determining that the check pixel does not intersect the target mesh, and (iii-4) the step in step (iii-3). Setting an inspection pixel determined to intersect an upper mesh as the slicing pixel, and (iii-5) to (iii-1) to (iii) until the calculation is completed for all the inspection cube space pixels. And repeating step -4).
  • step (iii-2) between the step (iii-2) and the step (iii-3),
  • step (iii-3) includes the above (iii).
  • the check pixel is connected to the target mesh.
  • test pixel when both absolute values of each of the calculation result values of step (iii-1) and step (iii-2) are smaller than a predetermined test reference value, the test pixel is the target mesh. It may be characterized in that it is determined to exist on the edge of.
  • the partition of the inspection rectangular parallelepiped space in step (iii) may be characterized by the first resolution.
  • the three points A, B, and C of the target mesh are located on the line segment AB, line segment BC, and line segment CA. Determining coordinates of points (target mesh border points), and additionally setting a pixel corresponding to each of the target mesh border points as a slicing pixel among all pixels constituting the binary space to give a predetermined binary setting value; Further comprising, in determining the coordinates of the target mesh border point, it may be characterized in that for applying a second resolution.
  • the second resolution may be higher than the first resolution.
  • Line segment AB, segment BC, the coordinates of the points on the line segment CA is respectively Equation 1, Equation 2, Equation 3 (t AB, t BC, t CA are all real number less than 0 to 1, the point O is the molding space It can be characterized in that it is determined by the (origin).
  • the coordinates of the points (target mesh border points) on the line segment AB, line segment BC, line segment CA with respect to the three vertices A, B, C of the target mesh and determine the binary space
  • the method may further include setting a pixel corresponding to the coordinates of A, B, and C as a slicing pixel, respectively.
  • the file containing the three-dimensional information is not limited to the STL file, but can also include other types of files.
  • the triangular mesh represents a triangular mesh
  • the plurality of triangular meshes are mutually positioned to face each side to contain one-dimensional surface information when viewed as a whole.
  • the present invention relates to an STL file for a three-dimensional molding apparatus, which is located in a molding space consisting of X-, Y-, and Z-axes, and has three-dimensional shape information whose surfaces are represented by a plurality of triangular meshes.
  • a method of deriving slicing pixels is provided, which will be described in detail for each step below.
  • one of the triangle meshes is selected as a target mesh.
  • each of the plurality of triangular meshes forming the three-dimensional surface is selected as the target mesh in a predetermined order, and then a calculation step is performed.
  • the order of selection of the target mesh is not limited.
  • each of six surfaces is the X axis, the Y axis, and the Z axis.
  • An inspection rectangular parallelepiped space parallel to any one of an XY plane, a YZ plane, and a ZX plane is set.
  • the reference axis (three axes) forming the binary space to be described later and the three axes capable of expressing the inspection cuboid space are set identically, it is convenient in the process of setting a binary value after selecting a slicing pixel.
  • the reference axis forming the binary space and the three axes representing the inspection cuboid space need not be set identically, but in this case, a separate operation is required.
  • each of the inspection cube space pixels determined by partitioning the inspection cube space by a predetermined method is calculated whether or not the intersection with the target mesh is performed in a predetermined order, and intersects with the target mesh among all inspection cube space pixels.
  • the slicing pixel means a space in which the molding material is actually introduced in the future, and the molding is performed. Since the slicing pixel is one of the inspection cube space pixels, the shape may be set to a rectangular parallelepiped (possibly a cube).
  • the compartments of the inspection cuboid space are related to the compartments of the binary space, and for example, each of these compartments can be performed at the same resolution. A method of determining whether or not each inspection cube space pixel intersects the object mesh will be described later. For all the inspection cuboid space pixels, the order of crossover calculation will also be described later.
  • steps (i) to (iii) are repeated until all of the plurality of triangular meshes are determined as slicing pixels. That is, a slicing pixel corresponding to each of the plurality of triangular meshes is derived.
  • the modeling space is composed of binary spaces partitioned in the X-axis, Y-axis, and Z-axis directions having a first resolution, and a predetermined binary initialization is performed for all pixels constituting the binary space.
  • a step of assigning a value and after the step (iii) which is repeatedly performed until the condition of the fourth step is satisfied, the method further comprises: assigning a predetermined binary setting value to the slicing pixel.
  • An ordered pair of the binary initial value and the binary setting value may be (0, 1) or (1, 0), respectively, but is not limited thereto.
  • Each pixel constituting the binary space is a space, and the memory corresponding to these spaces is represented by an ordered pair (eg, (i, j, k)) representing the actual coordinates of the X / Y / Z coordinate system of the center of the space.
  • This may be, but is not limited thereto.
  • the 1st resolution can be set all the same with respect to the X axis
  • the operation in the third step may be configured by subdividing into steps (iii-1) to (iii-5) as described below.
  • step (iii-1) one of all the inspection cuboid space pixels (inspection pixel, point) is determined for a point X, a point Y, and a point Z determined in one-to-one correspondence with each of the three vertices A, B, and C of the target mesh.
  • T) is selected to obtain the sign of the calculation result value of the vector operations (XY ⁇ XT) ⁇ (XZ ⁇ XT) (where x is an external product and ⁇ is an internal operation).
  • T is a point representing the inspection pixel, it would be reasonable to express it in the coordinates of the center of the inspection pixel (in the shape of a cube or a cube), but it does not exclude the use of coordinates of other points inside (or on the surface) of other inspection pixels. . Since (X, Y, Z) can consider six corresponding methods such as (A, B, C), (A, C, B), all points corresponding to X are A, B, and C. When X is A, the sign of the calculated value of the vector operation equation (AB x AT)-(AC x AT) is the line segment AB in the planar region where the point T included in the inspection pixel includes the line segment AB and the line segment AC. And it is used to determine whether the line segment AC exists inside the angle to make.
  • Step (iii-2) is a step of acquiring the sign of the calculation result value of the vector operations (YZ ⁇ YT) ⁇ (YX ⁇ YT) with respect to the check pixel (point T). For Y, select one of the two points except A, B, and C except the point selected as X in the previous step.
  • step (iii-3) when the sign obtained in step (iii-1) and step (iii-2) is negative, the check pixel is determined to intersect the target mesh, and the step (iii- When at least one of the symbols obtained in steps 1) and (iii-2) is positive, the check pixel is determined not to intersect with the target mesh.
  • the point T included in the check pixel is a line segment AB and a line segment.
  • the line segment AB and the line segment AC are present inside the angle formed by the line segment AB and the inspection pixel includes the line segment BC and the line segment BA. Since it exists inside the angle, it can be concluded that the point T included in the check pixel exists on the triangle of the target mesh.
  • step (iii-4) the check pixel determined to intersect the target mesh in step (iii-3) is set as the slicing pixel, and the slicing pixel is changed from the initial value to a predetermined value. Do it. Step (iii-5) is repeated by performing steps (iii-1) to (iii-4) until the calculation is completed for all the inspection cube space pixels.
  • the sign of the calculation result value of the vector operation (ZX ⁇ ZT) ⁇ (ZY ⁇ ZT) is applied to the inspection pixel (point T).
  • the inspection pixel may be determined not to intersect with the target mesh. As described above, it is possible to determine whether or not to cross only the two reference points (points A and B in the above embodiment) with respect to the target mesh, but in order to further ensure the accuracy of the calculation, three vertices of the target mesh are formed. All three uses three vector operations.
  • the vector operation value is 0.001, -0.01, and the like absolute value. Since the present invention may have a value less than or equal to a value, in the present invention, an absolute value of each of the calculated result values of steps (iii-1) and (iii-2) is determined by assuming a test reference value. When the reference value is smaller than the reference value, the inspection pixel may be determined to exist on the edge of the target mesh.
  • the inspection standard value should be determined empirically, and there is no special standard, but if the value becomes too large, there is a risk that the inspection pixel that is obviously not present on the target mesh will be selected as the slicing pixel. To set it.
  • the above-mentioned operation in the third step may be performed in the following steps (iii-a) to (iii-d).
  • step (iii-a) one of the X-axis, the Y-axis, and the Z-axis is selected to determine the separation axis.
  • an inspection plane is set that passes a predetermined point (inspection plane position) on the separation axis, is perpendicular to the separation axis, and is limited to the interior of the inspection cuboid space.
  • the separation axis is selected as the Z axis in step (iii-a), and the inspection plane is parallel to the XY plane, and is formed by being cut by the inspection cuboid space (rectangular shape).
  • step (iii-c) it is calculated whether each of the inspection plane pixels located on the inspection plane determined in the step (iii-b) with the target mesh in a predetermined order, and the calculation result, Among all the inspection plane pixels, a slicing pixel intersecting the target mesh may be determined.
  • the Y value is first fixed, and the resolution determined in the X-axis direction After performing the operation by selecting the inspection pixel while moving along, separating the Y value according to the fixed resolution, and then moving the pixel according to the predetermined resolution in the X-axis direction, selecting the inspection pixel and performing the operation. It may be carried out as, but is not limited to this embodiment.
  • the inspection plane position is determined by being spaced apart from the current position by a predetermined distance in a predetermined direction with respect to the separation axis. In the above embodiment, it may be spaced apart by a predetermined distance in the Z-axis direction according to the resolution.
  • steps (iii-c) to (iii-d) should be repeated until the calculation is completed for all inspection cuboid space pixels.
  • the division of the inspection cuboid space in the third step may be made by the first resolution (resolution set for the binary space).
  • the second resolution may be set to be the same for the X, Y, and Z axes, which are the reference axes, similarly to the above-described first resolution, different resolutions may be applied to each reference axis. .
  • the coordinates of the points (target mesh border points) on the line segment AB, line segment BC, line segment CA with respect to the three vertices A, B, and C of the target mesh are determined. And further setting a pixel corresponding to each of the target mesh border points as a slicing pixel among all the pixels constituting the binary space to give a predetermined binary setting value.
  • the points located on line segment AB, line segment BC, and line segment CA will be automatically zeroed as described above. Therefore, for those points, two or three sets of vector operation values are calculated. May be omitted.
  • a second resolution having a higher resolution than the first resolution may be applied.
  • the line segment AB, the line segment BC, and the line segment CA are all real numbers less than 0 and less than 1, and point O is the origin of the modeling space). You can do This uses the position vectors of points A, B, and C.
  • the coordinates of the points (target mesh border points) on the line segment AB, line segment BC, line segment CA for the three vertices A, B, and C of the target mesh are determined, and the target among all pixels constituting the binary space.
  • the method may further include setting a pixel corresponding to each as a slicing pixel.
  • the coordinates of the object mesh border point or three vertices A, B, and C of the object mesh may not have the center of the pixel in the corresponding pixel.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)
  • Architecture (AREA)
  • Image Generation (AREA)

Abstract

The present invention relates to an STL slicing method and, more particularly, provides a method for deriving slicing pixels from an STL file, in which an object on CAD data generated as an STL file is analyzed and arranged in the form of dots in pixels of a three-dimensional space, so as to obtain point cloud data for a cross-section, wherein the amount of calculations can be reduced by calculating a space occupied by each triangle mesh constituting an STL. The method comprises a step for: selecting one of a plurality of triangle meshes as a target mesh; for the target mesh, configuring an inspection rectangular parallelepiped space, which has three angular points of the target mesh as a part of angular points thereof, each of six surfaces of the inspection rectangular parallelepiped space being parallel to one of the XY plane, the YZ plane, and the ZX plane, which are configured by the X axis, the Y axis, and the Z axis of the space; calculating whether each of all inspection rectangular parallelepiped space pixels determined by dividing the inspection rectangular parallelepiped space by a predetermined method intersects the target mash, according to a predetermined order; determining a slicing pixel intersecting the target mesh among the all inspection rectangular parallelepiped space pixels; and repeatedly performing step (i) to step (iii) until it is determined, for all the plurality of triangle meshes, whether each of them is a slicing pixel.

Description

연산수 감축을 위한 입체형상데이터 대상의 슬라이싱 방법Slicing Method for 3D Shape Data Targets
본 발명은 STL 슬라이싱 방법에 관한 것이다. 보다 상세하게는 STL 파일로 생성된 캐드 데이터 상의 물체를 분석하여 3차원 공간의 픽셀에 점 형태로 배치하여 단면에 대한 포인트 클라우드 데이터를 얻되, STL을 구성하는 각 삼각형메쉬가 차지하는 공간만으로 한정하여 연산함으로써 연산량을 줄이는 STL 슬라이싱 방법에 관한 것이다.The present invention relates to an STL slicing method. In more detail, the point cloud data for the cross section is obtained by analyzing the object on the CAD data generated by the STL file in the form of a point in the pixel of the 3D space, and calculating it by limiting only the space occupied by each triangle mesh constituting the STL. STL slicing method to reduce the amount of computation by.
3D 프린터라 함은, 컴퓨터 디자인 프로그램으로 만든 3차원 도면을 바탕으로 실물의 입체 모양 그대로 찍어내는 기계를 의미하며, 2012년 세계경제포럼(WEF)는 미래 10대 기술을 발표하면서 3D프린터를 두 번째로 꼽았다. 3D프린터가 주목받는 핵심이유는 재료가 가볍고 필요한 소량만 낭비 없이 맞춤 생산할 수 있으며, 제품 출시가 획기적으로 빠르기 때문이다.3D printer refers to a machine that prints a solid three-dimensional image based on a three-dimensional drawing created by a computer design program.In 2012, the World Economic Forum (WEF) announced the 10th technology of the future and became the second 3D printer. Picked. The key reason for 3D printers is that they are light in weight, can be customized without waste and only need a small amount, and the product is released quickly.
제작단계는 모델링(modeling), 프린팅(printing), 피니싱(finishing)으로 이루어진다. 모델링은 3D 도면을 제작하는 단계로, 3D CAD(computer aided design)나 3D 모델링 프로그램 또는 3D 스캐너 등을 이용하여 제작하는 것이다. 프린팅은 모델링 과정에서 제작된 3D 도면을 이용하여 물체를 만드는 단계로, 적층형 또는 절삭형 등으로 작업을 진행하는 것이다. 이때 소요시간은 제작물의 크기와 복잡도에 따라 다르다. 피니싱은 산출된 제작물에 대해 보완 작업을 하는 단계로, 색을 칠하거나 표면을 연마하거나 부분 제작물을 조립하는 등의 작업을 진행하는 것이다.The production phase consists of modeling, printing, and finishing. Modeling is a step of producing a 3D drawing, using a 3D computer aided design (CAD), a 3D modeling program or a 3D scanner. Printing is a step of creating an object using 3D drawings produced during the modeling process, and works in a stacked or cut form. The time required depends on the size and complexity of the product. Finishing is the process of making a complementary work on the resulting work, such as painting, polishing the surface, or assembling a part work.
본 발명은 STL 파일로 생성된 캐드 데이터 상의 물체를 분석하여 3차원 공간의 픽셀에 점 형태로 배치하여 단면에 대한 포인트 클라우드 데이터를 얻는 과정에서 연산량을 획기적으로 줄여주는 것을 특징으로 하며, 종래기술은 아래와 같이 메쉬 연산 및 슬라이싱 포인트 여부를 판단하여 왔다.The present invention is characterized by dramatically reducing the amount of computation in the process of obtaining the point cloud data for the cross-section by analyzing the object on the CAD data generated by the STL file in the form of a point in the pixel of the three-dimensional space, It has been determined whether the mesh operation and slicing point as follows.
1. 메쉬 연산 부분1. Mesh operation part
일반적으로 STL 파일에서는 물체는 도 1에 도시된 바와 같이 삼각형 형태의 patch(mesh)로 구성되는 표면을 가지고 있으며, 3D 프린터로 출력하기 위하여는 평면을 상승시키면서 단면에 대한 슬라이싱 데이터를 구해야 한다. 예를 들면, 구에 대한 슬라이싱 데이터의 일부는 도 2에 도시된 바와 같은 결과를 얻게 된다.In general, in an STL file, an object has a surface composed of triangular patches (mesh) as shown in FIG. 1, and in order to output to a 3D printer, slicing data about a cross section is obtained while raising a plane. For example, some of the slicing data for the sphere results in a result as shown in FIG.
일반적으로 슬라이싱 데이터를 얻기 위해서는 임의의 포인트 (x,y,z)가 모든 mesh에 대하여 contact 포인트 인지 판단하는 작업을 xmin~xmax, ymin~ymax, zmin~zmax 까지 변화시켜가며 연산을 하기 때문에 연산량은 매우 많아지고 연산 시간은 급격하게 증가한다. 예를 들면, 1000메쉬를 가진 STL파일에서 xyz 픽셀(슬라이스) 수가 100*100*100 만 되어도 1.0*10^9의 연산을 해야하는데, 이는 3D 프린터 분야에서 매우 일반적으로 발생하고 있다.In general, in order to obtain slicing data, the amount of computation is determined by varying the operation of determining whether an arbitrary point (x, y, z) is a contact point for all meshes from xmin to xmax, ymin to ymax, and zmin to zmax. It increases a lot and the computation time increases rapidly. For example, in an STL file with 1000 meshes, even if the number of xyz pixels (slices) is 100 * 100 * 100, a calculation of 1.0 * 10 ^ 9 is required, which is very common in the field of 3D printers.
또한, 논문 "An Enhanced Slicing Algorithm Using Nearest Distance Analysis for Layer Manufacturing"에서는 도 3에 도시된 바와 같이, 현재 연산중인 z 평면에 근접한 메쉬만 연산하여 연산량을 줄이는 기법을 개시하고 있다. 그러나, 특정 z 평면상에 xmin~xmax ymin~ymax를 변화시켜야 하므로 여전히 연산량이 많은 문제점이 있다. In addition, the paper "An Enhanced Slicing Algorithm Using Nearest Distance Analysis for Layer Manufacturing" discloses a technique for reducing the amount of computation by computing only meshes that are close to the z plane being computed, as shown in FIG. 3. However, there is still a problem in that a large amount of calculation is required because xmin to xmax ymin to ymax must be changed on a specific z plane.
2. 슬라이싱 포인트 여부2. Slicing Point
3D 프린터를 위한 바이너리 공간은 0과 1의 값만 가지며 3차원 이미지 픽셀수(슬라이스수)와 같은 공간을 가지며 초기에는 0으로 세팅되어 있다. (x픽셀(슬라이스)수 * y픽셀(슬라이스)수 * z픽셀(슬라이스)수) 바이너리 메모리는 정수 좌표(i,j,k)를 가지며, 물체의 좌표 t(x,y,z)와 분해능만큼 비례 관계를 가진다.The binary space for a 3D printer has only values of 0 and 1, and has the same space as the number of 3D image pixels (slices) and is initially set to zero. (x pixels (slices) * y pixels (slices) * z pixels (slices)) Binary memory has integer coordinates (i, j, k), and the object's coordinates t (x, y, z) and resolution As proportional.
일반적으로 평면의 방정식은 ax+by+cz+d=0이므로 삼각형 메쉬에서 특정값 z*가 주어지면 z슬라이스에 대한 직선의 방정식(ax+by+cz*+d=0)이 구해지고, 삼각형 내부의 슬라이싱 포인트 t(x,y,z*)를 계산할 수 있다.In general, the equation of a plane is ax + by + cz + d = 0, so given a specific value z * in a triangular mesh, the equation of a straight line (ax + by + cz * + d = 0) for z slices is obtained, and the triangle The internal slicing point t (x, y, z *) can be calculated.
예컨대, 도 4에 도시된 바와 같이, 슬라이스 z*에서 점t는 직선 ac, 직선 cb의 교점 (xa,ya,z*) (xb,yb,z*)내에서 xy가 변하므로 x를 resolution 만큼 증가시키면 y가 ax+by+cz*+d=0에 의하여 계산된다. 계산된 t(x*,y*,z*)는 바이너리 메모리 정수 좌표(i*,j*,k*)와 비례관계로 구해지며, 해당 바이너리 메모리를 1로 셋업되며, 상기 과정은 모든 메쉬에 대하여 zmin~zmax를 변화시켜가면서 연산 하면 단면 슬라이스가 구해진다.For example, as shown in FIG. 4, the point t in the slice z * changes xy as xy changes in the intersection (xa, ya, z *) (xb, yb, z *) of the straight line ac and the straight line cb. Increasing y is calculated by ax + by + cz * + d = 0. The calculated t (x *, y *, z *) is obtained in proportion to the binary memory integer coordinates (i *, j *, k *), and the corresponding binary memory is set to 1, and the process is performed on all meshes. The cross-sectional slice is obtained by calculating with varying zmin to zmax.
상기 살펴본 바와 같이, 종래기술들은 메쉬 수 * x픽셀(슬라이스)수 * y픽셀(슬라이스)수 * z픽셀(슬라이스)수를 고려할 때, 연산량이 지나치게 많은 문제점이 있을 뿐만 아니라, 교점 좌표를 구하기 위한 연산을 추가적으로 수행하여야 하는 문제점이 있다.As described above, the prior arts have not only a large amount of computational problems when considering the number of meshes * number of x pixels (slices) * number of y pixels (slices) * number of z pixels (slices), but also to obtain intersection coordinates. There is a problem that an operation must be additionally performed.
본 발명은 상기한 문제점을 해결하기 위하여 안출된 것으로, STL 파일로 생성된 캐드 데이터 상의 물체를 분석하여 3차원 공간의 픽셀에 점 형태로 배치하여 단면에 대한 포인트 클라우드 데이터를 얻는 것을 목적으로 하며, STL을 구성하는 각 삼각형 메쉬가 차지하는 공간을 연산하여 연산량을 줄이는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and aims to obtain point cloud data of a cross section by analyzing an object on CAD data generated as an STL file and arranging it in the form of a point in a pixel in a three-dimensional space. It aims to reduce the amount of computation by calculating the space occupied by each triangular mesh constituting the STL.
본 발명이 이루고자 하는 기술적 과제(목적)들은 이상에서 언급한 기술적 과제(목적)들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제(목적)들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Technical objects (objectives) to be achieved by the present invention are not limited to the above-mentioned technical objects (objectives), and other technical objects (objectives) which are not mentioned above are common in the technical field to which the present invention belongs. It will be clearly understood by those who have knowledge.
상기와 같은 목적을 달성하기 위하여 안출된 본 발명은, X축,Y축,Z축으로 이루어지는 조형공간 내에 위치하고, 표면이 복수개의 삼각형메쉬(mesh)로써 표현되는 입체형상의 정보가 기록되어 있는 입체조형장치를 위한 에스티엘(STL)파일로부터 (i)상기 복수개의 삼각형메쉬 중 하나를 대상메쉬로서 선택하는 단계와, (ii)상기 대상메쉬에 대하여, 상기 대상메쉬의 세 꼭지점을 꼭지점 일부로 구비하고, 6개의 면 각각이 상기 X축, 상기 Y축, 상기 Z축으로 이루어지는 XY평면, YZ평면, ZX평면 중 어느 하나와 평행인 검사직육면체공간을 설정하는 단계와, (iii)상기 검사직육면체공간을 소정의 방법으로 구획하여 결정되는 모든 검사직육면체공간픽셀 각각을 소정의 순서에 따라 상기 대상메쉬와의 교차여부를 연산하고, 상기 모든 검사직육면체공간픽셀 중 상기 대상메쉬와 교차되는 슬라이싱픽셀을 결정하는 단계와, (iv)상기 복수개의 삼각형메쉬 모두에 대하여 슬라이싱픽셀인지 여부가 결정될 때까지, 상기 (i)단계 내지 상기 (iii)단계를 반복하여 수행하는 단계를 포함하여 이루어지는 방법을 통해 슬라이싱픽셀들을 도출하는 방법을 제공한다. The present invention devised to achieve the above object is located in the molding space consisting of the X-axis, Y-axis, Z-axis, three-dimensional modeling is recorded the three-dimensional information that the surface is represented by a plurality of triangle mesh (mesh) (I) selecting one of the plurality of triangular meshes as a target mesh from an Estiel (STL) file for the device, (ii) with respect to the target mesh, three vertices of the target mesh as part of a vertex, Setting an inspection cuboid space in which each of the six planes is parallel to any one of the XY plane, the YZ plane, and the ZX plane formed of the X axis, the Y axis, and the Z axis; Computes whether or not each inspection cuboid space pixel determined by dividing with each other in the predetermined order is intersected with the target mesh, and among the inspection cube cubic space pixels. Determining a slicing pixel to intersect the mesh; and (iv) repeating steps (i) to (iii) until it is determined whether or not the slicing pixel is determined for all of the plurality of triangle meshes. It provides a method for deriving the slicing pixels through a method comprising.
이와 같은 구성의 STL 슬라이싱 방법은 STL 파일로 생성된 캐드 데이터 상의 물체를 분석하여 3차원 공간의 픽셀에 점 형태로 배치하여 단면에 대한 포인트 클라우드 데이터를 얻되, STL을 구성하는 각 삼각형메쉬가 차지하는 공간만으로 한정하여 연산함으로써 연산량을 줄일 수 있다는 효과가 있다.In this configuration, the STL slicing method analyzes an object on CAD data generated as an STL file and arranges it in the form of a point in a pixel of three-dimensional space to obtain point cloud data of a cross section, but the space occupied by each triangle mesh constituting the STL There is an effect that the amount of calculation can be reduced by only computing.
본 발명에 의하면, STL 파일로 생성된 캐드 데이터 상의 물체를 분석하여 3차원 공간의 픽셀에 점 형태로 배치하여 단면에 대한 포인트 클라우드 데이터를 얻는 제1효과가 있으며, STL을 구성하는 각 삼각형메쉬가 차지하는 직육면체공간으로 연산대상을 한정하여 연산을 수행함으로써, 전체 연산량을 줄일 수 있는 제2효과, 삼각형메쉬와 교차되는 슬라이싱픽셀을 선택하는 경우에 적용되는 해상도와, 삼각형메쉬의 세변 상의 점에 대응하는 슬라이싱픽셀을 구하는 경우의 해상도를 달리 적용할 수 있어, 슬라이싱픽셀을 누락하지 않을 수 있다는 제3효과를 갖는다.According to the present invention, there is a first effect of obtaining point cloud data of a cross section by analyzing an object on CAD data generated as an STL file and arranging it in the form of a point in a pixel in a three-dimensional space. By performing the calculation by limiting the calculation object to occupying the rectangular parallelepiped space, the second effect can reduce the total calculation amount, the resolution applied when selecting a slicing pixel that intersects the triangle mesh, and the point corresponding to the three sides of the triangle mesh. The resolution in the case of obtaining a slicing pixel can be applied differently, and has a third effect of not missing a slicing pixel.
도 1 내지 도 3은 메쉬 연산과 관련하여 종래기술을 설명하기 위한 도면이다.1 to 3 are diagrams for explaining the prior art with respect to the mesh operation.
도 4는 슬라이싱 포인트인지 판단하는 방법과 관련하여 종래기술을 설명하기 위한 도면이다.4 is a view for explaining the prior art with respect to a method for determining whether a slicing point.
도 5은 대상메쉬에 대하여, 검사직육면체공간을 설정하는 개념을 설명하기 위한 설명도이다.FIG. 5 is an explanatory diagram for explaining a concept of setting an inspection rectangular parallelepiped space for a target mesh; FIG.
도 6 은 검사직육면체공간픽셀에 대하여, 연산을 수행함에 있어, 소정의 검사평면 상 슬라이싱픽셀을 결정하는 것을 나타내는 설명도이다.FIG. 6 is an explanatory diagram showing determining a slicing pixel on a predetermined inspection plane in performing an operation on an inspection cuboid space pixel.
도 7은, 검사픽셀(t)에 대하여, 상기 검사픽셀이 AC 및 AB로 이루어지는 평면 중, AC 및 AB 가 이루는 각도 내에 존재하는지를 연산하는 것을 나타내는 설명도이다.FIG. 7: is explanatory drawing which shows whether the said inspection pixel exists in the angle which AC and AB make in the plane which consists of AC and AB with respect to the inspection pixel t.
도 8은, 검사픽셀(t)이 대상메쉬의 테두리 중 선분 BC 위에 있는 경우, 상기 검사픽셀이 AC 및 AB로 이루어지는 평면 중, AC 및 AB 가 이루는 각도 내에 존재하는지를 연산하는 것을 나타내는 설명도이다.FIG. 8 is an explanatory diagram illustrating whether or not the check pixel exists within an angle between AC and AB in a plane formed of AC and AB when the check pixel t is on the line segment BC in the edge of the target mesh.
본 발명은, X축,Y축,Z축으로 이루어지는 조형공간 내에 위치하고, 표면이 복수개의 삼각형메쉬(mesh)로써 표현되는 입체형상의 정보가 기록되어 있는 입체조형장치를 위한 에스티엘(STL)파일로부터 (i)상기 복수개의 삼각형메쉬 중 하나를 대상메쉬로서 선택하는 단계와, (ii)상기 대상메쉬에 대하여, 상기 대상메쉬의 세 꼭지점을 꼭지점 일부로 구비하고, 6개의 면 각각이 상기 X축, 상기 Y축, 상기 Z축으로 이루어지는 XY평면, YZ평면, ZX평면 중 어느 하나와 평행인 검사직육면체공간을 설정하는 단계와, (iii)상기 검사직육면체공간을 소정의 방법으로 구획하여 결정되는 모든 검사직육면체공간픽셀 각각을 소정의 순서에 따라 상기 대상메쉬와의 교차여부를 연산하고, 상기 모든 검사직육면체공간픽셀 중 상기 대상메쉬와 교차되는 슬라이싱픽셀을 결정하는 단계와, (iv)상기 복수개의 삼각형메쉬 모두에 대하여 슬라이싱픽셀인지 여부가 결정될 때까지, 상기 (i)단계 내지 상기 (iii)단계를 반복하여 수행하는 단계를 포함하여 이루어지는 방법을 통해 슬라이싱픽셀들을 도출하는 방법을 제공한다.The present invention relates to an STL file for a three-dimensional molding apparatus, which is located in a molding space consisting of X-, Y-, and Z-axes, and has three-dimensional shape information whose surfaces are represented by a plurality of triangular meshes. (i) selecting one of the plurality of triangular meshes as a target mesh, and (ii) having three vertices of the target mesh as part of a vertex of the target mesh, wherein each of the six faces is the X axis, the Setting an inspection cuboid space parallel to any one of an XY plane, a YZ plane, and a ZX plane consisting of a Y axis and the Z axis; and (iii) all inspection cubes determined by partitioning the inspection cube space by a predetermined method. Compute whether or not to intersect each of the spatial pixels with the target mesh in a predetermined order, and determine a slicing pixel that intersects the target mesh of all the inspection cube space pixels And (iv) repeating steps (i) to (iii) until it is determined whether or not it is a slicing pixel for all of the plurality of triangular meshes. Provide a method of derivation.
또한, 본 발명의 일실시예에서는, 상기 (i)단계 이전에, 상기 조형공간을 제1해상도를 갖는 상기 X축, 상기 Y축, 상기 Z축 방향으로 구획되는 바이너리공간으로 구성하고, 상기 바이너리공간을 이루는 모든 픽셀에 대해 소정의 바이너리초기값을 부여하는 단계;를 더 구비하고, 상기 (iv)단계의 조건이 성립할 때까지 반복하여 수행되는 상기 (iii)단계 이후에, 상기 슬라이싱픽셀에 대해 소정의 바이너리설정값을 부여하는 단계;를 더 포함할 수 있다.Further, in an embodiment of the present invention, before the step (i), the molding space is composed of a binary space partitioned in the X-axis, the Y-axis, the Z-axis direction having a first resolution, the binary And giving a predetermined binary initial value to all pixels forming a space, and after the step (iii) repeatedly performed until the condition of step (iv) is satisfied, It may further comprise the step of giving a predetermined binary setting value for.
또한, 본 발명의 일실시예에서, 상기 (iii)단계에서의 연산은, (iii-1) 상기 대상메쉬의 세 꼭지점 A,B,C 각각에 일대일대응시켜 결정되는 점X, 점Y, 점Z에 대하여, 상기 모든 검사직육면체공간픽셀 중 하나(검사픽셀, 점 T)를 선택하여, 벡터연산 (XY × XT)·(XZ × XT)의 계산결과값의 부호를 획득하는 단계(X는 외적, ·은 내적임)와, (iii-2) 상기 검사픽셀(점 T)에 대하여, 벡터연산 (YZ × YT)·(YX × YT)의 계산결과값의 부호를 획득하는 단계와, (iii-3) 상기 (iii-1)단계 및 상기 (iii-2)단계에서 획득된 부호가 모두 음인 경우, 상기 검사픽셀은 상기 대상메쉬와 교차되는 것으로 판단하고, 상기 (iii-1)단계 및 상기 (iii-2)단계에서 획득된 부호 중 하나 이상이 양인 경우, 상기 검사픽셀은 상기 대상메쉬와 교차되지 않는 것으로 판단하는 단계와, (iii-4) 상기 (iii-3)단계에서 상기 대상메쉬와 교차되는 것으로 판단된 검사픽셀을 상기 슬라이싱픽셀로 설정하는 단계와, (iii-5) 상기 모든 검사직육면체공간픽셀에 대해 연산이 완료될 때까지, 상기 (iii-1) 내지 상기 (iii-4)단계를 반복하여 수행하는 단계를 포함할 수 있다. Further, in one embodiment of the present invention, the operation in the step (iii), (iii-1) point X, point Y, point determined by one-to-one correspondence to each of the three vertices A, B, C of the target mesh For Z, selecting one of the all inspection cuboid spatial pixels (inspection pixel, point T) to obtain the sign of the calculation result value of the vector operations (XY × XT) · (XZ × XT) (X is the cross product ,... Are internal products), and (iii-2) obtaining the sign of the calculation result of the vector operation (YZ × YT) · (YX × YT) for the inspection pixel (point T), (iii -3) If the sign obtained in the step (iii-1) and the step (iii-2) is both negative, the check pixel is determined to intersect the target mesh, the step (iii-1) and the If one or more of the signs obtained in step (iii-2) is positive, determining that the check pixel does not intersect the target mesh, and (iii-4) the step in step (iii-3). Setting an inspection pixel determined to intersect an upper mesh as the slicing pixel, and (iii-5) to (iii-1) to (iii) until the calculation is completed for all the inspection cube space pixels. And repeating step -4).
또한, 본 발명의 일실시예에서는, 상기 (iii-2)단계와 상기 (iii-3)단계의 사이에,Further, in one embodiment of the present invention, between the step (iii-2) and the step (iii-3),
상기 검사픽셀(점 T)에 대하여, 벡터연산 (ZX × ZT)·(ZY × ZT)의 계산결과값의 부호를 획득하는 단계를 더 구비하고, 상기 (iii-3)단계는, 상기 (iii-1)단계 및 상기 (iii-2)단계에서 획득된 부호 및 상기 벡터연산 (ZX × ZT)·(ZY × ZT)의 계산결과값의 부호 모두가 음인 경우, 상기 검사픽셀은 상기 대상메쉬와 교차되는 것으로 판단하고, 상기 (iii-1)단계 및 상기 (iii-2)단계에서 획득된 부호 및 상기 벡터연산 (ZX × ZT)·(ZY × ZT)의 계산결과값의 부호 중 하나 이상이 양인 경우, 상기 검사픽셀은 상기 대상메쉬와 교차되지 않는 것으로 판단하는 것을 특징으로 할 수 있다.Obtaining a sign of a calculation result value of a vector operation (ZX × ZT) · (ZY × ZT) for the inspection pixel (point T), wherein the step (iii-3) includes the above (iii). When both the sign obtained in the step (1) and the step (iii-2) and the sign of the calculation result value of the vector operations (ZX × ZT) and (ZY × ZT) are negative, the check pixel is connected to the target mesh. At least one of the sign obtained in the step (iii-1) and the step (iii-2) and the sign of the calculation result value of the vector operations (ZX × ZT) and (ZY × ZT) If it is positive, the inspection pixel may be determined not to intersect with the target mesh.
또한, 본 발명의 일실시예에서는, 상기 (iii-1)단계 및 상기 (iii-2)단계의 계산결과값 각각의 절대값 모두가 소정의 검사기준값보다 작은 경우, 상기 검사픽셀은 상기 대상메쉬의 테두리 상에 존재하는 것으로 판단하는 것을 특징으로 할 수 있다.In addition, in one embodiment of the present invention, when both absolute values of each of the calculation result values of step (iii-1) and step (iii-2) are smaller than a predetermined test reference value, the test pixel is the target mesh. It may be characterized in that it is determined to exist on the edge of.
또한, 본 발명의 일실시예에 따르면, 상기 (iii)단계에서의 연산은, (iii-a) 상기 X축, 상기 Y축, 상기 Z축 중 어느 하나를 선택하여 이격축으로 결정하는 단계와, (iii-b) 상기 이격축 상의 소정의 점(검사평면위치)을 지나고, 상기 이격축에 수직하며, 상기 검사직육면체공간의 내부로 한정되는 검사평면을 설정하는 단계와, (iii-c) 상기 (iii-b)단계에서 결정되는 검사평면 상의 모든 검사평면픽셀 각각을 소정의 순서에 따라 상기 대상메쉬와의 교차여부를 연산하고, 상기 연산 결과, 상기 모든 검사평면픽셀 중 상기 대상메쉬와 교차되는 슬라이싱픽셀을 결정하는 단계와, (iii-d) 상기 검사평면위치를 현재위치로부터 상기 이격축에 대하여 소정의 방향으로 소정의 거리만큼 이격하여 결정하는 단계를 포함하여 이루어지고, 상기 모든 검사직육면체공간픽셀에 대해 연산이 완료될 때까지, 상기 (iii-c)단계 내지 상기 (iii-d)단계를 반복하여 수행하는 것을 특징으로 할 수 있다.Further, according to one embodiment of the present invention, the operation in the step (iii), (iii-a) selecting any one of the X-axis, the Y-axis, and the Z-axis to determine the separation axis and (iii-b) setting an inspection plane passing a predetermined point (inspection plane position) on the separation axis, perpendicular to the separation axis, and defined by the interior of the inspection cuboid space; and (iii-c) Compute whether or not each inspection plane pixel on the inspection plane determined in the step (iii-b) intersects with the target mesh in a predetermined order, and as a result of the calculation, intersects the target mesh among all the inspection plane pixels. Determining a slicing pixel to be formed; and (iii-d) determining the inspection plane position from the current position by a predetermined distance with respect to the separation axis in a predetermined direction. Space in pixels Until the solution operation is completed, the steps (iii-c) to (iii-d) may be repeated.
또한, 본 발명의 일실시예에서는, 상기 (iii)단계에서의 검사직육면체공간의 구획은, 상기 제1해상도에 의해 이루어지는 것을 특징으로 할 수 있다.In addition, in one embodiment of the present invention, the partition of the inspection rectangular parallelepiped space in step (iii) may be characterized by the first resolution.
또한, 본 발명의 일실시예에 따르면, 상기 (iii)단계와 상기 (iv)단계의 사이에, 상기 대상메쉬의 세 꼭지점 A,B,C에 대해 선분 AB, 선분 BC, 선분 CA 상에 있는 점들(대상메쉬테두리점들)의 좌표를 결정하고, 상기 바이너리공간을 이루는 모든 픽셀 중 상기 대상메쉬테두리점들 각각에 대응하는 픽셀을 슬라이싱픽셀로서 추가 설정하여, 소정의 바이너리설정값을 부여하는 단계를 더 포함하고, 상기 대상메쉬테두리점들의 좌표를 결정함에 있어, 제2해상도를 적용하는 것을 특징으로 할 수 있다.According to an embodiment of the present invention, between step (iii) and step (iv), the three points A, B, and C of the target mesh are located on the line segment AB, line segment BC, and line segment CA. Determining coordinates of points (target mesh border points), and additionally setting a pixel corresponding to each of the target mesh border points as a slicing pixel among all pixels constituting the binary space to give a predetermined binary setting value; Further comprising, in determining the coordinates of the target mesh border point, it may be characterized in that for applying a second resolution.
또한, 본 발명의 일실시예에 따르면, 상기 제2해상도는 상기 제1해상도보다 높은 것을 특징으로 할 수 있다.In addition, according to an embodiment of the present invention, the second resolution may be higher than the first resolution.
또한, 본 발명의 일실시예에 따르면, 상기 대상메쉬의 세 꼭지점 A,B,C에 대해 선분 AB, 선분 BC, 선분 CA 상에 있는 점들(대상메쉬테두리점들)의 좌표의 결정에 있어, In addition, according to an embodiment of the present invention, in the determination of the coordinates of the points (target mesh border points) on the line segment AB, line segment BC, line segment CA with respect to the three vertices A, B, C of the target mesh,
선분 AB, 선분 BC, 선분 CA 상의 점의 좌표는 각각 하기 수학식 1, 수학식 2, 수학식 3(tAB, tBC, tCA는 모두 0 초과 1 미만의 실수, 점 O는 상기 조형공간의 원점)에 의해 결정되는 것을 특징으로 할 수 있다. Line segment AB, segment BC, the coordinates of the points on the line segment CA is respectively Equation 1, Equation 2, Equation 3 (t AB, t BC, t CA are all real number less than 0 to 1, the point O is the molding space It can be characterized in that it is determined by the (origin).
[수학식 1][Equation 1]
Figure PCTKR2016000715-appb-I000001
Figure PCTKR2016000715-appb-I000001
[수학식 2][Equation 2]
Figure PCTKR2016000715-appb-I000002
Figure PCTKR2016000715-appb-I000002
[수학식 3][Equation 3]
Figure PCTKR2016000715-appb-I000003
Figure PCTKR2016000715-appb-I000003
본 발명의 일실시예에 의하면, 상기 대상메쉬의 세 꼭지점 A,B,C에 대해 선분 AB, 선분 BC, 선분 CA 상에 있는 점들(대상메쉬테두리점들)의 좌표를 결정하고, 상기 바이너리공간을 이루는 모든 픽셀 중 상기 대상메쉬테두리점들 각각에 대응하는 픽셀을 슬라이싱픽셀로서 추가 설정하여, 소정의 바이너리설정값을 부여하는 단계 이후에, 상기 바이너리공간을 이루는 모든 픽셀 중 상기 대상메쉬의 세 꼭지점 A,B,C의 좌표에 각각 대응하는 픽셀을 슬라이싱픽셀로서 추가 설정하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, the coordinates of the points (target mesh border points) on the line segment AB, line segment BC, line segment CA with respect to the three vertices A, B, C of the target mesh, and determine the binary space After setting the pixel corresponding to each of the target mesh edge points among all the pixels forming a slicing pixel and giving a predetermined binary setting value, three vertices of the target mesh among all pixels constituting the binary space are provided. The method may further include setting a pixel corresponding to the coordinates of A, B, and C as a slicing pixel, respectively.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.As the present invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise.
본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. Hereinafter, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.
본 발명에 있어, 입체형상의 정보를 담고 있는 파일은 STL파일에 한정하지 않고, 다른 형식의 파일도 포함할 수 있음은 물론이다. In the present invention, the file containing the three-dimensional information is not limited to the STL file, but can also include other types of files.
본 발명에 있어, 삼각형메쉬는 삼각형 형상의 메쉬를 나타내며, 복수개의 삼각형메쉬는 각각의 변을 맞대어 상호 위치하여, 전체적으로 보았을 때, 하나의 입체형상의 표면 정보를 담게 된다.In the present invention, the triangular mesh represents a triangular mesh, and the plurality of triangular meshes are mutually positioned to face each side to contain one-dimensional surface information when viewed as a whole.
본 발명은, X축,Y축,Z축으로 이루어지는 조형공간 내에 위치하고, 표면이 복수개의 삼각형메쉬(mesh)로써 표현되는 입체형상의 정보가 기록되어 있는 입체조형장치를 위한 에스티엘(STL)파일로부터 슬라이싱픽셀들을 도출하는 방법을 제공하며, 이하 각 단계별로 상술하기로 한다.The present invention relates to an STL file for a three-dimensional molding apparatus, which is located in a molding space consisting of X-, Y-, and Z-axes, and has three-dimensional shape information whose surfaces are represented by a plurality of triangular meshes. A method of deriving slicing pixels is provided, which will be described in detail for each step below.
첫째, 상기 복수개의 삼각형메쉬 중 하나를 대상메쉬로서 선택한다. 후술하는 바와 같이 입체형상의 표면을 형성하는 복수개의 삼각형메쉬 모두에 대해 각각을 소정의 순서에 의해 대상메쉬로 선택하여, 이후 연산 단계를 수행하는데, 대상메쉬의 선택의 순서는 특정한 것에 한하지 않는다.First, one of the triangle meshes is selected as a target mesh. As described later, each of the plurality of triangular meshes forming the three-dimensional surface is selected as the target mesh in a predetermined order, and then a calculation step is performed. However, the order of selection of the target mesh is not limited.
도 5에 도시된 본 발명의 일실시예를 참조할 때, 상기 대상메쉬에 대하여, 상기 대상메쉬의 세 꼭지점을 꼭지점 일부로 구비하고, 6개의 면 각각이 상기 X축, 상기 Y축, 상기 Z축으로 이루어지는 XY평면, YZ평면, ZX평면 중 어느 하나와 평행인 검사직육면체공간을 설정한다. 후술하는 바이너리공간을 형성하는 기준축(3개 축)과 검사직육면체공간을 표현할 수 있는 3개의 축을 동일하게 설정하는 경우, 슬라이싱픽셀을 선정한 후, 바이너리값을 세팅하는 과정에서 편리하다. 다만, 바이너리공간을 형성하는 기준축과 검사직육면체공간을 표현할 수 있는 3개의 축은 반드시 동일하게 설정할 필요는 없으나, 이 경우에는, 별도의 연산이 필요함을 감안하여야 한다.Referring to an embodiment of the present invention illustrated in FIG. 5, with respect to the target mesh, three vertices of the target mesh are provided as part of a vertex, and each of six surfaces is the X axis, the Y axis, and the Z axis. An inspection rectangular parallelepiped space parallel to any one of an XY plane, a YZ plane, and a ZX plane is set. When the reference axis (three axes) forming the binary space to be described later and the three axes capable of expressing the inspection cuboid space are set identically, it is convenient in the process of setting a binary value after selecting a slicing pixel. However, the reference axis forming the binary space and the three axes representing the inspection cuboid space need not be set identically, but in this case, a separate operation is required.
셋째, 상기 검사직육면체공간을 소정의 방법으로 구획하여 결정되는 모든 검사직육면체공간픽셀 각각을 소정의 순서에 따라 상기 대상메쉬와의 교차여부를 연산하고, 상기 모든 검사직육면체공간픽셀 중 상기 대상메쉬와 교차되는 슬라이싱픽셀을 결정한다. 슬라이싱픽셀은, 추후 실제로 조형재료가 유입되어 조형이 이루어지게 되는 공간을 의미하며, 상기 검사직육면체공간픽셀 중 하나이므로, 그 형상은 직육면체(정육면체도 가능)로 설정할 수 있다. 검사직육면체공간의 구획은, 바이너리공간의 구획과 관련이 있으며, 일례로, 이들 각각의 구획을 같은 해상도로 수행할 수 있다. 검사직육면체공간픽셀 각각과 대상메쉬와의 교차여부 결정의 방법은 후술하기로 한다. 상기 모든 검사직육면체공간픽셀에 대하여, 교차여부 연산의 순서에 대하여도 후술하기로 한다. Third, each of the inspection cube space pixels determined by partitioning the inspection cube space by a predetermined method is calculated whether or not the intersection with the target mesh is performed in a predetermined order, and intersects with the target mesh among all inspection cube space pixels. Determine the slicing pixel to be. The slicing pixel means a space in which the molding material is actually introduced in the future, and the molding is performed. Since the slicing pixel is one of the inspection cube space pixels, the shape may be set to a rectangular parallelepiped (possibly a cube). The compartments of the inspection cuboid space are related to the compartments of the binary space, and for example, each of these compartments can be performed at the same resolution. A method of determining whether or not each inspection cube space pixel intersects the object mesh will be described later. For all the inspection cuboid space pixels, the order of crossover calculation will also be described later.
넷째, 상기 복수개의 삼각형메쉬 모두에 대하여 슬라이싱픽셀인지 여부가 결정될 때까지, 상기 (i)단계 내지 상기 (iii)단계를 반복하여 수행한다. 즉, 복수개의 삼각형메쉬 각각에 대하여 이에 대응하는 슬라이싱픽셀을 도출하게 된다. Fourth, steps (i) to (iii) are repeated until all of the plurality of triangular meshes are determined as slicing pixels. That is, a slicing pixel corresponding to each of the plurality of triangular meshes is derived.
또한, 첫째 단계 이전에, 상기 조형공간을 제1해상도를 갖는 상기 X축, 상기 Y축, 상기 Z축 방향으로 구획되는 바이너리공간으로 구성하고, 상기 바이너리공간을 이루는 모든 픽셀에 대해 소정의 바이너리초기값을 부여하는 단계를 더 구비하고, 상기 넷째 단계의 조건이 성립할 때까지 반복하여 수행되는 상기 (iii)단계 이후에, 상기 슬라이싱픽셀에 대해 소정의 바이너리설정값을 부여하는 단계를 더 포함할 수 있다. 상기 바이너리초기값 및 바이너리설정값의 순서쌍은 각각 (0, 1)일 수도 있고, (1, 0)일 수도 있으나 이에 한정할 것은 아니다. 바이너리공간을 이루는 각 픽셀은 공간이며, 이들 공간에 대응되는 메모리는 해당 공간의 중심의 X/Y/Z좌표계에 대한 실제의 좌표를 순서쌍으로(예 : (i, j, k)) 표현하여 지시할 수 있으나, 이에 한정할 것은 아니다. 또한, 제1해상도는, 기준축인 X축, Y축, Z축에 대하여, 모두 동일하게 설정할 수도 있지만, 각 기준축 별로 다른 해상도를 적용할 수 있음은 물론이다. In addition, before the first step, the modeling space is composed of binary spaces partitioned in the X-axis, Y-axis, and Z-axis directions having a first resolution, and a predetermined binary initialization is performed for all pixels constituting the binary space. And a step of assigning a value, and after the step (iii) which is repeatedly performed until the condition of the fourth step is satisfied, the method further comprises: assigning a predetermined binary setting value to the slicing pixel. Can be. An ordered pair of the binary initial value and the binary setting value may be (0, 1) or (1, 0), respectively, but is not limited thereto. Each pixel constituting the binary space is a space, and the memory corresponding to these spaces is represented by an ordered pair (eg, (i, j, k)) representing the actual coordinates of the X / Y / Z coordinate system of the center of the space. This may be, but is not limited thereto. In addition, although the 1st resolution can be set all the same with respect to the X axis | shaft, a Y axis | shaft, and a Z axis | shaft which are reference axes, it is a matter of course that a different resolution can be applied to each reference axis.
또한, 셋째 단계에서의 연산에 대해 더 구체적 설명하기로 한다. 셋째 단계의 연산은 후술하는 바와 같은 (iii-1) 단계 내지 (iii-5)단계로 세분화하여 구성할 수 있다.In addition, the operation in the third step will be described in more detail. The operation of the third step may be configured by subdividing into steps (iii-1) to (iii-5) as described below.
(iii-1)단계는, 상기 대상메쉬의 세 꼭지점 A,B,C 각각에 일대일대응시켜 결정되는 점X, 점Y, 점Z에 대하여, 상기 모든 검사직육면체공간픽셀 중 하나(검사픽셀, 점 T)를 선택하여, 벡터연산 (XY × XT)·(XZ × XT)의 계산결과값의 부호를 획득하는 단계(×는 외적, ·은 내적 연산임)이다. T는 검사픽셀을 대표하는 점이므로, (직육면체 또는 정육면체 형상의)검사픽셀의 중심의 좌표로 표시하는 것이 타당할 것이나, 기타 검사픽셀 내부(또는 표면)의 다른 점의 좌표를 이용하는 것을 배제하지는 않는다. (X, Y, Z)는 (A, B, C), (A, C, B) 등 총 6개의 대응방법을 고려할 수 있으므로, X에 대응가능한 점은 A, B, C 모두이다. X가 A일때, 상기 벡터연산식(AB × AT)·(AC × AT)의 계산값의 부호는, 검사픽셀이 포함하고 있는 점 T가 선분 AB 및 선분 AC를 포함하여 이루어지는 평면 영역 중 선분 AB 및 선분 AC가 이루는 각도 내부에 존재하는 지를 결정하는데 사용된다. In step (iii-1), one of all the inspection cuboid space pixels (inspection pixel, point) is determined for a point X, a point Y, and a point Z determined in one-to-one correspondence with each of the three vertices A, B, and C of the target mesh. T) is selected to obtain the sign of the calculation result value of the vector operations (XY × XT) · (XZ × XT) (where x is an external product and · is an internal operation). Since T is a point representing the inspection pixel, it would be reasonable to express it in the coordinates of the center of the inspection pixel (in the shape of a cube or a cube), but it does not exclude the use of coordinates of other points inside (or on the surface) of other inspection pixels. . Since (X, Y, Z) can consider six corresponding methods such as (A, B, C), (A, C, B), all points corresponding to X are A, B, and C. When X is A, the sign of the calculated value of the vector operation equation (AB x AT)-(AC x AT) is the line segment AB in the planar region where the point T included in the inspection pixel includes the line segment AB and the line segment AC. And it is used to determine whether the line segment AC exists inside the angle to make.
따라서, 점 T가 대상메쉬 평면 위에 존재한다는 것을 확정하기 위해서는 X가 B이거나 C일때의 상기 벡터연산값을 추가로 고려해야 하는데, 하기 (iii-2)단계를 통해 이를 결정하게 된다. (iii-2)단계는, 상기 검사픽셀(점 T)에 대하여, 벡터연산 (YZ × YT)·(YX × YT)의 계산결과값의 부호를 획득하는 단계이다. Y로는 A,B,C 중 앞선 단계에서 X로서 선택된 점을 제외한 나머지 2개의 점 중 하나를 선택한다. Therefore, in order to confirm that the point T exists on the target mesh plane, the vector calculation value when X is B or C should be further considered, which is determined through the following step (iii-2). Step (iii-2) is a step of acquiring the sign of the calculation result value of the vector operations (YZ × YT) · (YX × YT) with respect to the check pixel (point T). For Y, select one of the two points except A, B, and C except the point selected as X in the previous step.
(iii-3)단계는, 상기 (iii-1)단계 및 상기 (iii-2)단계에서 획득된 부호가 모두 음인 경우, 상기 검사픽셀은 상기 대상메쉬와 교차되는 것으로 판단하고, 상기 (iii-1)단계 및 상기 (iii-2)단계에서 획득된 부호 중 하나 이상이 양인 경우, 상기 검사픽셀은 상기 대상메쉬와 교차되지 않는 것으로 판단하는 단계이다. 예컨대, X가 A이고, Y가 B인 경우를 고려컨대, (iii-1) 단계 및 (iii-2)에서 각각 획득된 부호가 음인 경우, 검사픽셀이 포함하고 있는 점 T가 선분 AB 및 선분 AC를 포함하여 이루어지는 평면 영역 중 선분 AB 및 선분 AC가 이루는 각도 내부에 존재함과 동시에 검사픽셀이 포함하고 있는 점 T가 선분 BC 및 선분 BA를 포함하여 이루어지는 평면 영역 중 선분 BC 및 선분 BA가 이루는 각도 내부에 존재한다는 것이므로, 결론적으로 검사픽셀이 포함하고 있는 점 T는 대상메쉬의 삼각형 위에 존재한다는 결론을 얻을 수 있다. In step (iii-3), when the sign obtained in step (iii-1) and step (iii-2) is negative, the check pixel is determined to intersect the target mesh, and the step (iii- When at least one of the symbols obtained in steps 1) and (iii-2) is positive, the check pixel is determined not to intersect with the target mesh. For example, in the case where X is A and Y is B, if the sign obtained in each of (iii-1) and (iii-2) is negative, the point T included in the check pixel is a line segment AB and a line segment. In the plane region including AC, the line segment AB and the line segment AC are present inside the angle formed by the line segment AB and the inspection pixel includes the line segment BC and the line segment BA. Since it exists inside the angle, it can be concluded that the point T included in the check pixel exists on the triangle of the target mesh.
(iii-4)단계는, 상기 (iii-3)단계에서 상기 대상메쉬와 교차되는 것으로 판단된 검사픽셀을 상기 슬라이싱픽셀로 설정하는데, 슬라이싱픽셀에 대하여는 바이너리값을 초기값으로부터 소정의 값으로 변경하도록 한다. (iii-5)단계는, 상기 모든 검사직육면체공간픽셀에 대해 연산이 완료될 때까지, 상기 (iii-1) 내지 상기 (iii-4)단계를 반복하여 수행한다.In step (iii-4), the check pixel determined to intersect the target mesh in step (iii-3) is set as the slicing pixel, and the slicing pixel is changed from the initial value to a predetermined value. Do it. Step (iii-5) is repeated by performing steps (iii-1) to (iii-4) until the calculation is completed for all the inspection cube space pixels.
또한, 상기 (iii-2)단계와 상기 (iii-3)단계의 사이에, 상기 검사픽셀(점 T)에 대하여, 벡터연산 (ZX × ZT)·(ZY × ZT)의 계산결과값의 부호를 획득하는 단계를 더 구비하고, 상기 (iii-3)단계는, 상기 (iii-1)단계 및 상기 (iii-2)단계에서 획득된 부호 및 상기 벡터연산 (ZX × ZT)·(ZY × ZT)의 계산결과값의 부호 모두가 음인 경우, 상기 검사픽셀은 상기 대상메쉬와 교차되는 것으로 판단하고, 상기 (iii-1)단계 및 상기 (iii-2)단계에서 획득된 부호 및 상기 벡터연산 (ZX × ZT)·(ZY × ZT)의 계산결과값의 부호 중 하나 이상이 양인 경우, 상기 검사픽셀은 상기 대상메쉬와 교차되지 않는 것으로 판단하는 것을 특징으로 할 수 있다. 전술한 바와 같이, 대상메쉬에 대해, 두 개의 기준점(상기 실시예에서는 점 A, 점 B)에 대해서만, 교차여부를 판단할 수 있지만, 계산의 엄밀성을 더욱 확보하기 위해, 대상메쉬를 이루는 세 꼭지점 모두를 삼아 세 개의 벡터연산값을 이용한다는 것이다. Further, between the step (iii-2) and the step (iii-3), the sign of the calculation result value of the vector operation (ZX × ZT) · (ZY × ZT) is applied to the inspection pixel (point T). (Iii-3), wherein the sign obtained in the steps (iii-1) and (iii-2) and the vector operation (ZX × ZT) · (ZY × If both signs of the calculation result value of ZT) are negative, the check pixel is determined to intersect with the target mesh, and the sign and the vector operation obtained in steps (iii-1) and (iii-2) are determined. When at least one of the sign of the calculation result value of (ZX × ZT) · (ZY × ZT) is positive, the inspection pixel may be determined not to intersect with the target mesh. As described above, it is possible to determine whether or not to cross only the two reference points (points A and B in the above embodiment) with respect to the target mesh, but in order to further ensure the accuracy of the calculation, three vertices of the target mesh are formed. All three uses three vector operations.
전술한 바와 같이, 상기 세 가지 중 두 가지 이상의 벡터연산값이 0인 경우, 이는, 검사픽셀이 대상메쉬의 테두리 위에 있다는 것을 의미하나, 실무적으로는 벡터연산값이 0.001, -0.01 등 소정의 절대값 이하의 값을 가질 수 있으므로, 본 발명에서는 검사기준값을 상정함을 통해, 예컨대, 상기 (iii-1)단계 및 상기 (iii-2)단계의 계산결과값 각각의 절대값 모두가 소정의 검사기준값보다 작은 경우, 상기 검사픽셀은 상기 대상메쉬의 테두리 상에 존재하는 것으로 판단하는 것을 특징으로 할 수 있다. 이때의 검사기준값은, 경험적으로 결정하면 되고, 특별한 기준이 있는 것은 아니나, 그 값이 너무 커지면, 대상메쉬 위에 존재하지 않은 것이 자명한 검사픽셀도 슬라이싱픽셀로 선정될 위험이 있으므로, 이러한 사항을 감안하여 설정하도록 한다. As described above, when two or more vector operation values of the above three are 0, this means that the check pixel is on the edge of the target mesh, but in practice, the vector operation value is 0.001, -0.01, and the like absolute value. Since the present invention may have a value less than or equal to a value, in the present invention, an absolute value of each of the calculated result values of steps (iii-1) and (iii-2) is determined by assuming a test reference value. When the reference value is smaller than the reference value, the inspection pixel may be determined to exist on the edge of the target mesh. At this time, the inspection standard value should be determined empirically, and there is no special standard, but if the value becomes too large, there is a risk that the inspection pixel that is obviously not present on the target mesh will be selected as the slicing pixel. To set it.
이하, 모든 검사직육면체공간픽셀에 대하여, 교차여부 연산의 순서를 결정하는 방법에 대해 설명한다. Hereinafter, a method of determining the order of the intersection or not operation for all inspection cuboid space pixels will be described.
본 발명의 일실시예에 따르면, 상기 전술한 셋째 단계에서의 연산은, 다음의 (iii-a)단계 내지 (iii-d)단계로 수행할 수 있다. According to an embodiment of the present invention, the above-mentioned operation in the third step may be performed in the following steps (iii-a) to (iii-d).
(iii-a)단계에서는, 상기 X축, 상기 Y축, 상기 Z축 중 어느 하나를 선택하여 이격축으로 결정한다. In step (iii-a), one of the X-axis, the Y-axis, and the Z-axis is selected to determine the separation axis.
(iii-b)단계에서는, 상기 이격축 상의 소정의 점(검사평면위치)을 지나고, 상기 이격축에 수직하며, 상기 검사직육면체공간의 내부로 한정되는 검사평면을 설정한다. 일례로, 도 6에 도시된 실시예에서는 (iii-a)단계에서 이격축을 Z축으로 선정하였고, 검사평면은 XY평면에 평행하면서, 상기 검사직육면체공간에 의해 절단되어 형성되는 내부평면(직사각형 형상)이 된다. In step (iii-b), an inspection plane is set that passes a predetermined point (inspection plane position) on the separation axis, is perpendicular to the separation axis, and is limited to the interior of the inspection cuboid space. For example, in the embodiment illustrated in FIG. 6, the separation axis is selected as the Z axis in step (iii-a), and the inspection plane is parallel to the XY plane, and is formed by being cut by the inspection cuboid space (rectangular shape). )
(iii-c)단계에서는, 상기 (iii-b)단계에서 결정되는 검사평면 상에 위치하는 모든 검사평면픽셀 각각을 소정의 순서에 따라 상기 대상메쉬와의 교차여부를 연산하고, 상기 연산 결과, 상기 모든 검사평면픽셀 중 상기 대상메쉬와 교차되는 슬라이싱픽셀을 결정할 수 있다. 이때, 모든 검사평면픽셀 각각에 대해 상기 대상메쉬와의 교차여부를 연산하는 순서는, XY평면에 평행하게 형성되는 검사평면의 실시예의 경우, 먼저 Y값을 고정하고, X축 방향으로 정해진 해상도에 따라 이동하면서, 검사픽셀을 선정하여 연산을 수행한 후, 정해진 해상도에 따라 Y값을 이격한 후, 다시 X축 방향으로 정해진 해상도에 따라 이동하면서, 검사픽셀을 선정하여 연산을 수행하는 등의 방법으로 수행할 수 있으나, 이러한 실시예에 한정할 것은 아니다.In the step (iii-c), it is calculated whether each of the inspection plane pixels located on the inspection plane determined in the step (iii-b) with the target mesh in a predetermined order, and the calculation result, Among all the inspection plane pixels, a slicing pixel intersecting the target mesh may be determined. At this time, the order of calculating the intersection with the target mesh for each of the inspection plane pixels, in the case of the embodiment of the inspection plane formed parallel to the XY plane, the Y value is first fixed, and the resolution determined in the X-axis direction After performing the operation by selecting the inspection pixel while moving along, separating the Y value according to the fixed resolution, and then moving the pixel according to the predetermined resolution in the X-axis direction, selecting the inspection pixel and performing the operation. It may be carried out as, but is not limited to this embodiment.
(iii-d)단계에서는, 상기 검사평면위치를 현재위치로부터 상기 이격축에 대하여 소정의 방향으로 소정의 거리만큼 이격하여 결정한다. 상기 실시예에서는 Z축 방향으로 해상도에 따라 소정의 거리만큼 이격하면 될 것이다. In step (iii-d), the inspection plane position is determined by being spaced apart from the current position by a predetermined distance in a predetermined direction with respect to the separation axis. In the above embodiment, it may be spaced apart by a predetermined distance in the Z-axis direction according to the resolution.
이후, 모든 검사직육면체공간픽셀에 대해 연산이 완료될 때까지, 상기 (iii-c)단계 내지 상기 (iii-d)단계를 반복하여 수행하여야 하는 것은 자명하다.Thereafter, it is obvious that steps (iii-c) to (iii-d) should be repeated until the calculation is completed for all inspection cuboid space pixels.
또한, 상기 셋째 단계에서의 검사직육면체공간의 구획은, 제1해상도(바이너리공간에 대해 설정된 해상도)에 의해 이루어질 수 있다. 또한, 제2해상도는, 전술한 제1해상도와 마찬가지로, 기준축인 X축, Y축, Z축에 대하여, 모두 동일하게 설정할 수도 있지만, 각 기준축 별로 다른 해상도를 적용할 수 있음은 물론이다. In addition, the division of the inspection cuboid space in the third step may be made by the first resolution (resolution set for the binary space). In addition, although the second resolution may be set to be the same for the X, Y, and Z axes, which are the reference axes, similarly to the above-described first resolution, different resolutions may be applied to each reference axis. .
매우 폭이 좁은 대상메쉬나 매우 작은 대상메쉬에 대해 연산을 수행하는 경우, 제1해상도값에 따라서, 슬라이싱픽셀로서 선택되는 경우를 놓치는 경우(연산결과에서 제외됨)가 발생한다. 이러한 경우에 대비하여, 모든 검사직육면체공간픽셀에 대한 검사 후에 대상메쉬의 테두리와 꼭지점을 제1해상도 이하로 검사한다.When arithmetic operations are performed on very narrow object meshes or very small object meshes, a case in which the selection as a slicing pixel is missed (excluded from the calculation result) occurs according to the first resolution value. In this case, the edges and vertices of the subject mesh are examined below the first resolution after the inspection of all inspection cuboid spatial pixels.
즉, 상기 셋째 단계와 상기 넷째 단계의 사이에, 상기 대상메쉬의 세 꼭지점 A,B,C에 대해 선분 AB, 선분 BC, 선분 CA 상에 있는 점들(대상메쉬테두리점들)의 좌표를 결정하고, 상기 바이너리공간을 이루는 모든 픽셀 중 상기 대상메쉬테두리점들 각각에 대응하는 픽셀을 슬라이싱픽셀로서 추가 설정하여, 소정의 바이너리설정값을 부여하는 단계를 더 포함한다는 것이다. 구체적으로는, 선분 AB, 선분 BC, 선분 CA 상에 위치하는 점들은, 전술한 바와 같은 벡터연산값이 자동적으로 0이 될 것이므로, 해당 점들에 대해, 두 세트 또는 세 세트의 벡터연산값 계산을 생략할 수 있을 것이다. 또한, 자명하게도, 대상메쉬테두리점들의 좌표를 결정함에 있어, 제1해상도보다 높은 해상도값을 갖는 제2해상도를 적용하는 것을 특징으로 할 수 있다.That is, between the third step and the fourth step, the coordinates of the points (target mesh border points) on the line segment AB, line segment BC, line segment CA with respect to the three vertices A, B, and C of the target mesh are determined. And further setting a pixel corresponding to each of the target mesh border points as a slicing pixel among all the pixels constituting the binary space to give a predetermined binary setting value. Specifically, the points located on line segment AB, line segment BC, and line segment CA will be automatically zeroed as described above. Therefore, for those points, two or three sets of vector operation values are calculated. May be omitted. Obviously, in determining the coordinates of the target mesh border points, a second resolution having a higher resolution than the first resolution may be applied.
또한, 상기 대상메쉬의 세 꼭지점 A,B,C에 대해 선분 AB, 선분 BC, 선분 CA 상에 있는 점들(대상메쉬테두리점들)의 좌표의 결정에 있어서는, 선분 AB, 선분 BC, 선분 CA 상의 점의 좌표는 각각 하기 수학식 1, 수학식 2, 수학식 3(tAB, tBC, tCA는 모두 0초과 1미만의 실수, 점 O는 상기 조형공간의 원점)에 의해 결정되는 것을 특징으로 할 수 있다. 이는 점 A, B, C의 위치벡터를 이용한 것이다.Further, in the determination of the coordinates of the points (target mesh border points) on the line segment AB, the line segment BC, and the line segment CA with respect to the three vertices A, B, and C of the target mesh, the line segment AB, the line segment BC, and the line segment CA The coordinates of the point are determined by Equation 1, Equation 2, and Equation 3 (t AB , t BC , t CA are all real numbers less than 0 and less than 1, and point O is the origin of the modeling space). You can do This uses the position vectors of points A, B, and C.
[수학식 1][Equation 1]
Figure PCTKR2016000715-appb-I000004
Figure PCTKR2016000715-appb-I000004
[수학식 2][Equation 2]
Figure PCTKR2016000715-appb-I000005
Figure PCTKR2016000715-appb-I000005
[수학식 3][Equation 3]
Figure PCTKR2016000715-appb-I000006
Figure PCTKR2016000715-appb-I000006
이렇게, 상기 대상메쉬의 세 꼭지점 A,B,C에 대해 선분 AB, 선분 BC, 선분 CA 상에 있는 점들(대상메쉬테두리점들)의 좌표를 결정하고, 상기 바이너리공간을 이루는 모든 픽셀 중 상기 대상메쉬테두리점들 각각에 대응하는 픽셀을 슬라이싱픽셀로서 추가 설정하여, 소정의 바이너리설정값을 부여하는 단계 이후에, 상기 바이너리공간을 이루는 모든 픽셀 중 상기 대상메쉬의 세 꼭지점 A,B,C의 좌표에 각각 대응하는 픽셀을 슬라이싱픽셀로서 추가 설정하는 단계를 더 포함하는 것을 특징으로 할 수 있다. 다만, 앞서 언급한 검사직육면체공간에 대한 연산에서와 달리, 대상메쉬테두리점이나 대상메쉬의 세 꼭지점 A,B,C의 좌표는 이에 대응하는 픽셀에 있어, 해당 픽셀의 중심이 있지 않을 수도 있다. Thus, the coordinates of the points (target mesh border points) on the line segment AB, line segment BC, line segment CA for the three vertices A, B, and C of the target mesh are determined, and the target among all pixels constituting the binary space. After setting a pixel corresponding to each of the mesh border points as a slicing pixel and giving a predetermined binary setting value, coordinates of three vertices A, B, and C of the target mesh among all pixels constituting the binary space The method may further include setting a pixel corresponding to each as a slicing pixel. However, unlike the aforementioned calculation for the inspection cuboid space, the coordinates of the object mesh border point or three vertices A, B, and C of the object mesh may not have the center of the pixel in the corresponding pixel.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. The foregoing description presents the best mode of the invention, and provides examples to illustrate the invention and to enable those skilled in the art to make and use the invention. The specification thus produced is not intended to limit the invention to the specific terms presented.
따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 요컨대 본 발명이 의도하는 효과를 달성하기 위해 도면에 도시된 모든 기능을 별도로 포함하거나 도면에 도시된 모든 순서를 도시된 순서 그대로 따라야만 하는 것은 아니며, 그렇지 않더라도 얼마든지 청구항에 기재된 본 발명의 기술적 범위에 속할 수 있음에 주의한다.Thus, while the present invention has been described in detail with reference to the above examples, those skilled in the art can make modifications, changes, and variations to the examples without departing from the scope of the invention. In short, in order to achieve the intended effect of the present invention, it is not necessary to separately include all the functions shown in the drawings or to follow all the orders shown in the drawings in the order shown, and if not, the technical scope of the present invention as set forth in the claims Note that it can belong to.

Claims (11)

  1. X축,Y축,Z축으로 이루어지는 조형공간 내에 위치하고, 표면이 복수개의 삼각형메쉬(mesh)로써 표현되는 입체형상의 정보가 기록되어 있는 입체조형장치를 위한 에스티엘(STL)파일로부터 슬라이싱픽셀들을 도출하는 방법에 있어서,Slicing pixels are derived from an STL file for a three-dimensional molding apparatus, which is located in a molding space consisting of X-, Y-, and Z-axes, and records information of three-dimensional shapes represented by a plurality of triangular meshes. In the way,
    (i)상기 복수개의 삼각형메쉬 중 하나를 대상메쉬로서 선택하는 단계;(i) selecting one of the plurality of triangular meshes as a target mesh;
    (ii)상기 대상메쉬에 대하여, 상기 대상메쉬의 세 꼭지점을 꼭지점 일부로 구비하고, 6개의 면 각각이 상기 X축, 상기 Y축, 상기 Z축으로 이루어지는 XY평면, YZ평면, ZX평면 중 어느 하나와 평행인 검사직육면체공간을 설정하는 단계;(ii) with respect to the target mesh, three vertices of the target mesh are provided as part of a vertex, and each of six surfaces is any one of an XY plane, a YZ plane, and a ZX plane consisting of the X axis, the Y axis, and the Z axis. Setting an inspection cuboid space parallel to the;
    (iii)상기 검사직육면체공간을 소정의 방법으로 구획하여 결정되는 모든 검사직육면체공간픽셀 각각을 소정의 순서에 따라 상기 대상메쉬와의 교차여부를 연산하고, 상기 모든 검사직육면체공간픽셀 중 상기 대상메쉬와 교차되는 슬라이싱픽셀을 결정하는 단계;(iii) calculating whether or not each inspection cube space pixel determined by partitioning the inspection cube space by a predetermined method with the target mesh in a predetermined order, and among the inspection cube space pixels, Determining a slicing pixel to intersect;
    (iv)상기 복수개의 삼각형메쉬 모두에 대하여 슬라이싱픽셀인지 여부가 결정될 때까지, 상기 (i)단계 내지 상기 (iii)단계를 반복하여 수행하는 단계;(iv) repeating steps (i) to (iii) until it is determined whether or not it is a slicing pixel for all of the plurality of triangular meshes;
    를 포함하여 이루어지는 STL파일로부터의 슬라이싱픽셀들의 도출방법.Deriving slicing pixels from the STL file comprising a.
  2. 청구항 1에 있어서, The method according to claim 1,
    상기 (i)단계 이전에, 상기 조형공간을 제1해상도를 갖는 상기 X축, 상기 Y축, 상기 Z축 방향으로 구획되는 바이너리공간으로 구성하고, 상기 바이너리공간을 이루는 모든 픽셀에 대해 소정의 바이너리초기값을 부여하는 단계;를 더 구비하고,Before the step (i), the modeling space is composed of binary spaces partitioned in the X-axis, Y-axis, and Z-axis directions having a first resolution, and a predetermined binary for all pixels constituting the binary space. Providing an initial value;
    상기 (iv)단계의 조건이 성립할 때까지 반복하여 수행되는 상기 (iii)단계 이후에, 상기 슬라이싱픽셀에 대해 소정의 바이너리설정값을 부여하는 단계;를 더 포함하는 것을 특징으로 하는 STL파일로부터의 슬라이싱픽셀들의 도출방법.And, after the step (iii) repeatedly performed until the condition of step (iv) is established, assigning a predetermined binary setting value to the slicing pixel. Of slicing pixels
  3. 청구항 1에 있어서,The method according to claim 1,
    상기 (iii)단계에서의 연산은,The operation in step (iii),
    (iii-1) 상기 대상메쉬의 세 꼭지점 A,B,C 각각에 일대일대응시켜 결정되는 점X, 점Y, 점Z에 대하여, 상기 모든 검사직육면체공간픽셀 중 하나(검사픽셀, 점 T)를 선택하여, 벡터연산 (XY × XT)·(XZ × XT)의 계산결과값의 부호를 획득하는 단계(×는 외적이고, ·은 내적임);(iii-1) For points X, Y, and Z determined in one-to-one correspondence with each of the three vertices A, B, and C of the target mesh, one of the inspection cube space pixels (inspection pixel, point T) is determined. Selecting to obtain the sign of the calculation result value of the vector operation (XY × XT) · (XZ × XT) (where x is external and · is internal);
    (iii-2) 상기 검사픽셀(점 T)에 대하여, 벡터연산 (YZ × YT)·(YX × YT)의 계산결과값의 부호를 획득하는 단계;(iii-2) obtaining a sign of a calculation result value of a vector operation (YZ × YT) · (YX × YT) for the check pixel (point T);
    (iii-3) 상기 (iii-1)단계 및 상기 (iii-2)단계에서 획득된 부호가 모두 음인 경우, 상기 검사픽셀은 상기 대상메쉬와 교차되는 것으로 판단하고, 상기 (iii-1)단계 및 상기 (iii-2)단계에서 획득된 부호 중 하나 이상이 양인 경우, 상기 검사픽셀은 상기 대상메쉬와 교차되지 않는 것으로 판단하는 단계;(iii-3) If the sign obtained in the step (iii-1) and the step (iii-2) is both negative, the check pixel is determined to intersect the target mesh, and the step (iii-1) And determining that the check pixel does not intersect the target mesh when at least one of the signs obtained in step (iii-2) is positive.
    (iii-4) 상기 (iii-3)단계에서 상기 대상메쉬와 교차되는 것으로 판단된 검사픽셀을 상기 슬라이싱픽셀로 설정하는 단계;(iii-4) setting the inspection pixel determined to intersect with the target mesh in step (iii-3) as the slicing pixel;
    (iii-5) 상기 모든 검사직육면체공간픽셀에 대해 연산이 완료될 때까지, 상기 (iii-1) 내지 상기 (iii-4)단계를 반복하여 수행하는 단계; (iii-5) repeating steps (iii-1) to (iii-4) until the calculation is completed for all the inspection cube space pixels;
    를 포함하여 이루어지는 STL파일로부터의 슬라이싱픽셀들의 도출방법.Deriving slicing pixels from the STL file comprising a.
  4. 청구항 3에 있어서,The method according to claim 3,
    상기 (iii-2)단계와 상기 (iii-3)단계의 사이에,Between step (iii-2) and step (iii-3),
    상기 검사픽셀(점 T)에 대하여, 벡터연산 (ZX × ZT)·(ZY × ZT)의 계산결과값의 부호를 획득하는 단계;를 더 구비하고,Obtaining a sign of a calculation result value of a vector operation (ZX × ZT) · (ZY × ZT) with respect to the check pixel (point T);
    상기 (iii-3)단계는, 상기 (iii-1)단계 및 상기 (iii-2)단계에서 획득된 부호 및 상기 벡터연산 (ZX × ZT)·(ZY × ZT)의 계산결과값의 부호 모두가 음인 경우, 상기 검사픽셀은 상기 대상메쉬와 교차되는 것으로 판단하고, 상기 (iii-1)단계 및 상기 (iii-2)단계에서 획득된 부호 및 상기 벡터연산 (ZX × ZT)·(ZY × ZT)의 계산결과값의 부호 중 하나 이상이 양인 경우, 상기 검사픽셀은 상기 대상메쉬와 교차되지 않는 것으로 판단하는 것을 특징으로 하는 STL파일로부터의 슬라이싱픽셀들의 도출방법.In step (iii-3), both the sign obtained in the step (iii-1) and the step (iii-2) and the sign of the calculation result value of the vector operation (ZX × ZT) · (ZY × ZT) If is negative, the check pixel is determined to intersect with the target mesh, and the sign and the vector operation (ZX × ZT) · (ZY ×) obtained in steps (iii-1) and (iii-2) are determined. And if at least one of the signs of the calculation result value of ZT) is positive, determining that the check pixel does not intersect with the target mesh.
  5. 청구항 3에 있어서,The method according to claim 3,
    상기 (iii-1)단계 및 상기 (iii-2)단계의 계산결과값 각각의 절대값 모두가 소정의 검사기준값보다 작은 경우, 상기 검사픽셀은 상기 대상메쉬의 테두리 상에 존재하는 것으로 판단하는 것을 특징으로 하는 STL파일로부터의 슬라이싱픽셀들의 도출방법.If both the absolute values of each of the calculation result values of steps (iii-1) and (iii-2) are smaller than a predetermined inspection reference value, it is determined that the inspection pixel exists on the edge of the target mesh. A method of deriving slicing pixels from an STL file, characterized by the above.
  6. 청구항 3에 있어서,The method according to claim 3,
    상기 (iii)단계에서의 연산은,The operation in step (iii),
    (iii-a) 상기 X축, 상기 Y축, 상기 Z축 중 어느 하나를 선택하여 이격축으로 결정하는 단계;(iii-a) selecting one of the X axis, the Y axis, and the Z axis to determine the separation axis;
    (iii-b) 상기 이격축 상의 소정의 점(검사평면위치)을 지나고, 상기 이격축에 수직하며, 상기 검사직육면체공간의 내부로 한정되는 검사평면을 설정하는 단계;(iii-b) setting an inspection plane that passes a predetermined point (inspection plane position) on the separation axis, is perpendicular to the separation axis, and is defined inside the inspection cuboid space;
    (iii-c) 상기 (iii-b)단계에서 결정되는 검사평면 상의 모든 검사평면픽셀 각각을 소정의 순서에 따라 상기 대상메쉬와의 교차여부를 연산하고, 상기 연산 결과, 상기 모든 검사평면픽셀 중 상기 대상메쉬와 교차되는 슬라이싱픽셀을 결정하는 단계;(iii-c) calculating whether or not each inspection plane pixel on the inspection plane determined in the step (iii-b) intersects with the target mesh in a predetermined order; and as a result of the calculation, among all the inspection plane pixels Determining a slicing pixel intersecting the target mesh;
    (iii-d) 상기 검사평면위치를 현재위치로부터 상기 이격축에 대하여 소정의 방향으로 소정의 거리만큼 이격하여 결정하는 단계; (iii-d) determining the inspection plane position spaced apart from the current position by a predetermined distance in a predetermined direction with respect to the separation axis;
    를 포함하여 이루어지고, It is made, including
    상기 모든 검사직육면체공간픽셀에 대해 연산이 완료될 때까지, 상기 (iii-c)단계 내지 상기 (iii-d)단계를 반복하여 수행하는 것을 특징으로 하는 STL파일로부터의 슬라이싱픽셀들의 도출방법.And repeating steps (iii-c) to (iii-d) until the calculation is completed for all the inspection cuboid space pixels.
  7. 청구항 2에 있어서,The method according to claim 2,
    상기 (iii)단계에서의 검사직육면체공간의 구획은,The partition of the inspection cuboid space in the step (iii),
    상기 제1해상도에 의해 이루어지는 것을 특징으로 하는 STL파일로부터 슬라이싱픽셀의 도출방법.And a slicing pixel from the STL file, wherein the slicing pixel is formed by the first resolution.
  8. 청구항 2에 있어서,The method according to claim 2,
    상기 (iii)단계와 상기 (iv)단계의 사이에,Between step (iii) and step (iv),
    상기 대상메쉬의 세 꼭지점 A,B,C에 대해 선분 AB, 선분 BC, 선분 CA 상에 있는 점들(대상메쉬테두리점들)의 좌표를 결정하고, 상기 바이너리공간을 이루는 모든 픽셀 중 상기 대상메쉬테두리점들 각각에 대응하는 픽셀을 슬라이싱픽셀로서 추가 설정하여, 소정의 바이너리설정값을 부여하는 단계;The coordinates of the points (target mesh border points) on the line segment AB, the line segment BC, and the line segment CA with respect to the three vertices A, B, and C of the target mesh are determined, and the target mesh border of all pixels forming the binary space is determined. Additionally setting a pixel corresponding to each of the points as a slicing pixel to give a predetermined binary setting value;
    를 더 포함하고, More,
    상기 대상메쉬테두리점들의 좌표를 결정함에 있어, 제2해상도를 적용하는 것을 특징으로 하는 STL파일로부터 슬라이싱픽셀의 도출방법.A method of deriving a slicing pixel from an STL file, wherein the second resolution is applied to the coordinates of the target mesh border points.
  9. 청구항 8에 있어서,The method according to claim 8,
    상기 제2해상도는 상기 제1해상도보다 높은 것을 특징으로 하는 STL파일로부터 슬라이싱픽셀의 도출방법.And said second resolution is higher than said first resolution.
  10. 청구항 8에 있어서,The method according to claim 8,
    상기 대상메쉬의 세 꼭지점 A,B,C에 대해 선분 AB, 선분 BC, 선분 CA 상에 있는 점들(대상메쉬테두리점들)의 좌표의 결정에 있어, In determining the coordinates of the points (target mesh border points) on the line segment AB, line segment BC, and line segment CA with respect to the three vertices A, B, and C of the target mesh,
    선분 AB, 선분 BC, 선분 CA 상의 점의 좌표는 각각 하기 수학식 1, 수학식 2, 수학식 3에 의해 (tAB, tBC, tCA는 모두 0초과 1미만의 실수, 점 O는 상기 조형공간의 원점) 결정되는 것을 특징으로 하는 STL파일로부터 슬라이싱픽셀의 도출방법.The coordinates of the points on the line segment AB, line segment BC, and line segment CA are represented by the following Equations 1, 2, and 3 respectively (t AB , t BC , t CA are all real numbers less than 0 and less than 1, and point O is A method of deriving a slicing pixel from an STL file, characterized in that it is determined.
    [수학식 1][Equation 1]
    Figure PCTKR2016000715-appb-I000007
    Figure PCTKR2016000715-appb-I000007
    [수학식 2][Equation 2]
    Figure PCTKR2016000715-appb-I000008
    Figure PCTKR2016000715-appb-I000008
    [수학식 3][Equation 3]
    Figure PCTKR2016000715-appb-I000009
    Figure PCTKR2016000715-appb-I000009
  11. 청구항 8에 있어서,The method according to claim 8,
    상기 대상메쉬의 세 꼭지점 A,B,C에 대해 선분 AB, 선분 BC, 선분 CA 상에 있는 점들(대상메쉬테두리점들)의 좌표를 결정하고, 상기 바이너리공간을 이루는 모든 픽셀 중 상기 대상메쉬테두리점들 각각에 대응하는 픽셀을 슬라이싱픽셀로서 추가 설정하여, 소정의 바이너리설정값을 부여하는 단계 이후에,The coordinates of the points (target mesh border points) on the line segment AB, the line segment BC, and the line segment CA with respect to the three vertices A, B, and C of the target mesh are determined, and the target mesh border of all pixels forming the binary space is determined. After the step of additionally setting a pixel corresponding to each of the points as a slicing pixel to give a predetermined binary setting value,
    상기 바이너리공간을 이루는 모든 픽셀 중 상기 대상메쉬의 세 꼭지점 A,B,C의 좌표에 각각 대응하는 픽셀을 슬라이싱픽셀로서 추가 설정하는 단계를 더 포함하는 것을 특징으로 하는 STL파일로부터 슬라이싱픽셀의 도출방법.And further setting, as a slicing pixel, a pixel corresponding to the coordinates of three vertices A, B, and C of the target mesh among all pixels constituting the binary space, as a slicing pixel. .
PCT/KR2016/000715 2015-09-08 2016-01-22 Method for slicing three-dimensional shape data object for reducing number of calculations WO2017043712A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150127140A KR101635431B1 (en) 2015-09-08 2015-09-08 A STL slicing method for diminishing the number of calculations
KR10-2015-0127140 2015-09-08

Publications (1)

Publication Number Publication Date
WO2017043712A1 true WO2017043712A1 (en) 2017-03-16

Family

ID=56501623

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/000715 WO2017043712A1 (en) 2015-09-08 2016-01-22 Method for slicing three-dimensional shape data object for reducing number of calculations

Country Status (2)

Country Link
KR (1) KR101635431B1 (en)
WO (1) WO2017043712A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325316A (en) * 2018-11-15 2019-02-12 南京理工大学 STL model efficient parallel based on concurrent welding sequence cuts layer method
CN112634455A (en) * 2020-12-25 2021-04-09 东北大学 Method for repairing three-dimensional model ridge line by using cutting triangular surface patch
CN113917887A (en) * 2021-10-21 2022-01-11 北京同研思诚科技有限公司 Machine tool machining track generation method based on triangular mesh model
CN115222913A (en) * 2022-03-29 2022-10-21 广州汽车集团股份有限公司 Grid generation method, grid generation device, structure simulation analysis method, structure simulation analysis device, equipment and storage medium
CN116091526A (en) * 2023-04-10 2023-05-09 北京飞渡科技股份有限公司 Smart city three-dimensional scene tiling acceleration method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101711042B1 (en) 2016-11-15 2017-02-28 주식회사 대건테크 A STL File Coupling Method
KR102117592B1 (en) * 2019-08-13 2020-06-02 원광이엔텍 주식회사 Apparatus and method for integrated processing of modeling files for 3D printers
CN110633517B (en) * 2019-09-03 2023-07-25 江西博微新技术有限公司 Efficient slicing method for three-dimensional scene
CN112433003A (en) * 2020-11-30 2021-03-02 中广核检测技术有限公司 Three-dimensional simulation method for ultrasonic detection of T-shaped structural part

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130101332A (en) * 2012-03-05 2013-09-13 한국과학기술원 Conversion system and method for 3d object represented by triangle mesh to 3d object represented by dosurface

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596504A (en) 1995-04-10 1997-01-21 Clemson University Apparatus and method for layered modeling of intended objects represented in STL format and adaptive slicing thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130101332A (en) * 2012-03-05 2013-09-13 한국과학기술원 Conversion system and method for 3d object represented by triangle mesh to 3d object represented by dosurface

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GIBSON, IAN ET AL.: "Software Issues for Additive Manufacturing", ADDITIVE MANUFACTURING TECHNOLOGIES, 2014, pages 351 - 374, Retrieved from the Internet <URL:http://link.springer.com/chapter/10.1007/978-1-4939-2113-3_15> *
GREGORI, RODRIGO M. M. H. ET AL.: "Slicing Triangle Meshes: An Asymptotically Optimal Algorithm", PROCEEDINGS OF THE 14TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ITS APPLICATIONS (ICCSA, 2014, pages 252 - 255, XP032699157 *
LEE, JAE HO ET AL.: "Polyhedron Decomposition for the Embedded Part Fabrication", 2006 INTERNATIONAL JOURNAL OF CAD/CAM, February 2006 (2006-02-01), pages 1045 - 1052 *
VATANI, M. ET AL.: "An Enhanced Slicing Algorithm Using Nearest Distance Analysis for Layer Manufacturing", PROCEEDINGS OF WORLD ACADEMY OF SCIENCE , ENGINEERING AND TECHNOLOGY, vol. 37, no. 1, January 2009 (2009-01-01), pages 721 - 726, XP055377708, Retrieved from the Internet <URL:hitps://www.researchgate.net/publication/224983269_An_enhanced_slicing_algotithm_using_nearest_distance_analysis_for_layer_manufacturing> *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325316A (en) * 2018-11-15 2019-02-12 南京理工大学 STL model efficient parallel based on concurrent welding sequence cuts layer method
CN112634455A (en) * 2020-12-25 2021-04-09 东北大学 Method for repairing three-dimensional model ridge line by using cutting triangular surface patch
CN112634455B (en) * 2020-12-25 2023-09-29 东北大学 Method for repairing three-dimensional model ridge line by using cut triangular surface patches
CN113917887A (en) * 2021-10-21 2022-01-11 北京同研思诚科技有限公司 Machine tool machining track generation method based on triangular mesh model
CN115222913A (en) * 2022-03-29 2022-10-21 广州汽车集团股份有限公司 Grid generation method, grid generation device, structure simulation analysis method, structure simulation analysis device, equipment and storage medium
CN115222913B (en) * 2022-03-29 2024-03-15 广州汽车集团股份有限公司 Grid generation and structure simulation analysis method, device, equipment and storage medium
CN116091526A (en) * 2023-04-10 2023-05-09 北京飞渡科技股份有限公司 Smart city three-dimensional scene tiling acceleration method

Also Published As

Publication number Publication date
KR101635431B1 (en) 2016-07-04

Similar Documents

Publication Publication Date Title
WO2017043712A1 (en) Method for slicing three-dimensional shape data object for reducing number of calculations
WO2016053067A1 (en) 3-dimensional model generation using edges
EP1522051B1 (en) Discrete linear space sampling method and apparatus for generating digital 3d models
WO2009107982A1 (en) Watermarking method for three-dimensional mesh model and apparatus thereof
Li Camera calibration of a head-eye system for active vision
EP4195145A1 (en) Three-dimensional inspection twin for remote visual inspection of a vehicle
WO2022086200A1 (en) Server, method, and computer program for generating spatial model from panoramic image
WO2022220661A1 (en) 3d cad data-conversion method and program for 3d printer outputting, and device therefor
WO2016006786A1 (en) Rendering system and rendering method thereof
EP0832471A1 (en) Apparatus and method for recreating and manipulating a 3d object based on a 2d projection thereof
CN107274449B (en) Space positioning system and method for object by optical photo
WO2013142819A1 (en) Systems and methods for geometrically mapping two-dimensional images to three-dimensional surfaces
JP3658038B2 (en) 3D shape data integration method and apparatus, and 3D image processing method
CN114357568A (en) Transformer substation engineering steel structure installation intelligent acceptance method based on oblique photography
EP0583088A2 (en) Graphics display method and device
WO2024143731A1 (en) Method and system for building multi-view real-time metaverse content data based on selective super-resolution
WO2023068632A1 (en) Diffraction pattern image conversion system and method for interconverting virtual tem sadp image and real tem sadp image by using deep learning
WO2023068817A1 (en) Method and device for testing rendering results
JP7112469B2 (en) Image processing device, image processing method, image processing program
Liu et al. 3D-scanning and computer reverse engineering technology to preserve inscriptions at Beihai park
Stern Laser based 3D surface mapping for manufacturing diagnostics and reverse engineering
WO2023128100A1 (en) Three-dimensional virtual model provision method and three-dimensional virtual model provision system therefor
WO2023101167A1 (en) Rear image information generation device and method
JP2000322599A (en) Manufacture of three-dimensional model
Ning et al. Automatic analysis of moiré fringe patterns by using an image-processing system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16844532

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16844532

Country of ref document: EP

Kind code of ref document: A1