WO2022220661A1 - 3d cad data-conversion method and program for 3d printer outputting, and device therefor - Google Patents

3d cad data-conversion method and program for 3d printer outputting, and device therefor Download PDF

Info

Publication number
WO2022220661A1
WO2022220661A1 PCT/KR2022/005555 KR2022005555W WO2022220661A1 WO 2022220661 A1 WO2022220661 A1 WO 2022220661A1 KR 2022005555 W KR2022005555 W KR 2022005555W WO 2022220661 A1 WO2022220661 A1 WO 2022220661A1
Authority
WO
WIPO (PCT)
Prior art keywords
vertex
cad data
printer
data conversion
vertices
Prior art date
Application number
PCT/KR2022/005555
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 WO2022220661A1 publication Critical patent/WO2022220661A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y30/00Apparatus for additive manufacturing; Details thereof or accessories therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/10Additive manufacturing, e.g. 3D printing

Definitions

  • the present specification proposes a method and apparatus for converting 3D (Dimension) CAD (Computer Aided Design) data into data in a form suitable for output by a 3D printer.
  • 3D Computer Aided Design
  • a 3D printer is a device that implements/outputs a three-dimensional three-dimensional shape based on a 3D drawing. 3D printers may be classified into various types according to a material and an output method of an output.
  • the most commonly encountered printing method is the FDM (Fused deposition modeling) method in which the material is heated and sprayed with a nozzle, and the general output resolution is about 0.1 to 0.4 mm.
  • the printable size is determined by the size of the bed provided.
  • DfAM Design for Additive Manufacturing
  • An example of the existing process may be a 3D CAD model, and in order to output the 3D CAD model to a 3D printer, a step of converting the 3D CAD model into a data format suitable for the 3D printer is required. For example, a process of scaling (eg, reducing/enlarging) a 3D CAD model to a size that can be printed with a 3D printer is required.
  • scaling the original 3D CAD model to the size of the 3D printer's output is no big deal in the case of magnification.
  • some components may be lost. For example, when the thickness of some components is reduced to less than the diameter of the 3D printer nozzle according to the reduction (ie, out of the resolution range of the 3D printer), the corresponding components are lost due to inability to print during the conversion process.
  • the minimum thickness condition for each component to ensure a structure with a certain strength or higher satisfaction is required.
  • a method of converting 3D CAD (Computer Aided Design) data for output to a 3D (Dimension) printer comprising: receiving the 3D CAD data; reducing the 3D modeling object included in the 3D CAD data to a preset ratio, and converting the 3D CAD data into data for output to a 3D printer; and transmitting the data for output to the 3D printer to the 3D printer.
  • 3D CAD Computer Aided Design
  • the converting of the 3D CAD data to the data for output to the 3D printer comprises: distinguishing a surface and a border in the 3D modeling object; moving the divided surface in parallel by a displacement derived in consideration of the predetermined ratio and predetermined thickness in the direction of a first normal vector of a vertex of the divided surface; and moving the divided edge in a direction perpendicular to a second normal vector direction of the edge surface and parallel to the surface direction of the edge surface with reference to the vertex position of the parallel-moved surface; may include.
  • a 3D CAD (Computer Aided Design) data conversion program for 3D (Dimension) printer output comprising: an operation for receiving the 3D CAD data; an operation of reducing the 3D modeling object included in the 3D CAD data to a preset ratio and converting the 3D CAD data into data for output to a 3D printer; and transmitting the data for output to the 3D printer to the 3D printer.
  • 3D CAD Computer Aided Design
  • the operation of converting the 3D CAD data into the data for output to the 3D printer may include an operation of dividing a surface and a border in the 3D modeling object; an operation of moving the divided surface in parallel by a displacement derived in consideration of the predetermined ratio and predetermined thickness in the direction of a normal vector of a vertex of the divided surface; and moving the divided edge in a direction perpendicular to the normal vector direction of the edge surface and parallel to the surface direction of the edge surface with reference to the vertex position of the parallel-moved surface.
  • 3D CAD data is automatically converted into data for output by a 3D printer, there is no need for a user to manually work, thereby greatly reducing a user burden in terms of time and cost.
  • FIG. 1 is a diagram illustrating a silver surface removal technique according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an embodiment of detecting a bent surface in a 3D CAD model according to an embodiment of the present invention.
  • FIG. 3 illustrates a rendered image of a container node in a CAD drawing according to an embodiment of the present invention.
  • FIG. 4 is a view illustrating an embodiment of distinguishing faces and edges of a flat plate-shaped 3D modeling object according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating a vertex normal vector of a 3D modeling object according to an embodiment of the present invention.
  • 6 and 7 are flowcharts of a method of converting 3D CAD data for output to a 3D printer according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating movement transformation of a face group and an edge group according to vertex duplication removal according to an embodiment of the present invention.
  • FIG. 9 is a diagram illustrating an embodiment of dividing/selecting a surface and an edge according to an embodiment of the present invention.
  • FIG. 10 illustrates a method of obtaining a normal vector of a vertex according to an embodiment of the present invention.
  • FIG. 11 illustrates a rendered image of a 3D modeling object converted according to a 3D CAD data conversion method according to an embodiment of the present invention.
  • first, second, A, and B may be used to describe various components, but the components are not limited by the above terms, and only for the purpose of distinguishing one component from other components.
  • a first component may be named as a second component, and similarly, the second component may also be referred to as a first component without departing from the scope of the technology to be described below. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
  • 'A and/or B' may be interpreted as meaning 'at least one of A or B'.
  • '/' may be interpreted as 'and' or 'or'.
  • each constituent unit is responsible for. That is, two or more components to be described below may be combined into one component, or one component may be divided into two or more for each more subdivided function.
  • each of the constituent units to be described below may additionally perform some or all of the functions of other constituent units in addition to the main function it is responsible for. Of course, it can also be performed by being dedicated to it.
  • each process constituting the method may occur differently from the specified order unless a specific order is clearly described in context. That is, each process may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
  • the 3D CAD data conversion apparatus proposed in the present specification is an electronic server in which an application/program implemented to perform/execute the 3D CAD data conversion method/embodiment for 3D printer output proposed in the present specification is installed and executed in advance. This may correspond to /device/device. Therefore, even if not separately described below, the method/embodiment proposed in the present specification may be interpreted as being performed/executed through the server/device/device in which the application/program is running, and the An operation may be interpreted as an operation/function/operation of the application/program.
  • '3D CAD data conversion apparatus' will be abbreviated as 'data conversion apparatus'.
  • REV format In REV format, it means a node of a hierarchical structure.
  • Polygon/face A polygon composed of 3 or more vertices on the same plane
  • Vertex A set of three coordinates representing a position in 3D space (eg (x, y, z))
  • - Normal vector A vector of length 1 representing the direction of the plane (ie perpendicular to the plane).
  • 3D modeling object 3D object whose appearance and shape are defined by the 3D model
  • This specification basically proposes a method of converting 3D CAD data into data that can be output by a 3D printer. In other words, a method for converting 3D CAD data to DfAM is proposed.
  • the size of the 3D modeling object is very large and it is impossible to output it directly with a 3D printer.
  • the 3D printer cannot output the corresponding partial components and is lost.
  • the scaled/reduced thickness satisfies the resolution range of the 3D printer, if the scaled/reduced thickness is reduced to a too thin thickness, the strength/durability of the 3D modeling object may be very weakly output.
  • REV file is a 3D model format created by AVEVA, and REV file is divided into REV and RVM extensions, and each corresponds to ASCII/binary format.
  • a REV file consists of a container set with metadata and actual model information to describe the file, and the container set forms a tree structure.
  • a container node may include other container nodes (ie, nested container nodes).
  • a container node particularly a terminal node, may be composed of a set of primitive data.
  • Primitive data is a data structure expressed by the mathematical definition of a model for each type, and there are meshes, blocks, pipes, cones, etc., and these determine the shape of the 3D modeling object.
  • a mesh is a 3D model made up of a set of polygons.
  • mesh primitives have a hierarchical structure that follows face group-face-loop-vertex (FACET_GROUP - FACET - LOOP - VERTICES).
  • a vertex consists of 3D vertex coordinates and a vertex normal vector.
  • the vertex normal vector is an attribute given to the vertex, indicating a viewing direction with respect to the vertex, and may be obtained as a normal vector perpendicular to the polygonal plane to which the vertex belongs.
  • Information on vertices ie, vertex information
  • the mesh primitive data structure is suitable for expressing parts cut out of a plate, and one face group is a combination of a face cut off the edge of a wide plate (hereinafter referred to as 'border') and a loop that is a hole cut inside. Because it can be expressed as Since the container tree structure of REV is a hierarchical structure, it is easy for the user to activate only the necessary parts or to use it as an infrastructure for merging and managing sub-steps around the necessary nodes.
  • FIG. 1 is a diagram illustrating a silver surface removal technique according to an embodiment of the present invention.
  • face selection is a technique of filtering out the invisible face by comparing the polygon's normal vector and the gaze vector. This is also called a back face culling technique.
  • the polygon to be drawn based on the gaze direction 150 has an angle of 90 degrees or less, but in reality, it is possible to select only with the order of rotation of the vertices (110, 130), and in this case, it is possible to remove the hidden surface without calculating the angle between the vectors. .
  • FIG. 2 is a diagram illustrating an embodiment of detecting a bent surface in a 3D CAD model according to an embodiment of the present invention.
  • Mesh simplification or mesh decimation is a technique for reducing the number of vertices in a 3D model according to a predetermined rule. Since the size and quality of the lightweight model have a trade-off relationship, an adaptive technique for preserving the shape by varying the degree of weight reduction according to the shape and feature points of the model can be performed.
  • artifacts usually have corners. It can be seen that a sharp change in the plane normal vector occurs at a cut surface, a bent surface, or a boundary between a surface and a surface.
  • Most 3D modeling objects, which are objects expressed in 3D CAD data, are artifacts, and therefore, the same characteristics are also found in 3D CAD data.
  • edge features can be detected or preserved by using the amount of change in the normal vector as error metrics. This is being used in research such as feature preserving mesh smoothing.
  • FIG. 3 illustrates a rendered image of a container node in a CAD drawing according to an embodiment of the present invention.
  • a characteristic of 3D modeling objects in 3D CAD data is that many parts are composed of plate processing.
  • the part plate of the ship is composed of a wide surface and a cut surface (hereinafter referred to as an edge).
  • the terminal node represents a small unit part machined from the plate.
  • a terminal node is managed as a single component, but as a set of polygons consisting of a series of vertices, there is no additional information.
  • the actual ship's assembly block unit occupies a volume of about 25 ⁇ 25 ⁇ 25m3.
  • the thickness of the steel plate used in ships is about 20 mm.
  • the bed area of the 3D printer is about 300 ⁇ 300mm2, and each side can be printed with a length of about 250mm.
  • the output resolution (ie, nozzle thickness/diameter) of the FDM 3D printer is about 0.4 mm, but a value of 2 mm may be set as the minimum thickness for the structural strength of the 3D modeling object during 3D printing.
  • the present invention is not limited thereto, and the minimum thickness may be directly set/adjusted by the user as a constant value.
  • the 3D modeling object included in the 3D CAD data may be reduced and scaled for output by a 3D printer, and in this case, the thickness of the surface may be selectively enlarged so as not to be reduced below a preset minimum thickness. That is, the data conversion apparatus scales/reduces the overall 3D modeling object at a predetermined ratio in data conversion for 3D printer output, but selectively for the reduced thickness to a minimum thickness (eg, 2 mm) or less can be enlarged to
  • FIG. 4 is a view illustrating an embodiment of distinguishing faces and edges of a flat plate-shaped 3D modeling object according to an embodiment of the present invention.
  • Vertex information included in 3D CAD data includes normal vector information for each vertex, but does not include information on normal vectors representing polygons formed by each vertex. Also, even if polygon tables are adjacent to each other in the data structure of 3D CAD data, it is not guaranteed that polygons corresponding to the table are physically adjacent to each other.
  • the data conversion apparatus searches all polygons constituting the container node and based on the polygon properties (eg, normal vector-1 (410-1 to 460) of each polygon). After grouping into at least one face group 410, 420 or at least one edge group 430 to 460, the data structure may be generated by arranging each group based on the actual physical structure.
  • the polygon properties eg, normal vector-1 (410-1 to 460) of each polygon.
  • the data conversion apparatus may search all polygons constituting the 3D modeling object, and may group the searched polygons into face groups 410 and 420 or border groups 430 to 460 by properties. .
  • an attribute used as a grouping criterion for example, normal vectors 410-1 to 460 of polygons may be used. That is, the data conversion apparatus may extract the normal vectors 410-1 to 460 representing each of the found polygons, and the face groups 410 and 420 based on the direction of the extracted normal vectors 410-1 to 460. Alternatively, it may be grouped into border groups 430 to 460.
  • the data conversion apparatus is a plane for polygons in which the angle between the normal vectors 410-1 to 460-1 extracted from two adjacent polygons is within a preset angle range (eg, 45 degrees). Groups may be grouped into groups 410 and 420 . Similarly, the data conversion apparatus performs border group for polygons in which the angle between the normal vectors 410-1 to 460-1 extracted from two adjacent polygons exceeds a preset angle range (eg, 45 degrees). (430-460) can be grouped.
  • a preset angle range eg, 45 degrees
  • FIG. 5 is a diagram illustrating a vertex normal vector of a 3D modeling object according to an embodiment of the present invention.
  • data for 3D printer output can be generated by applying different scaling methods to the divided surface and the edge as follows.
  • the data transformation device scales the face (i.e., after translating the vertices of the face), it scales the border based on the position of the scaled face to maintain a single closed surface (i.e., the vertex of the border is converted to that of the face). can be translated to the vertex position).
  • the present specification proposes a method of converting the data structure of 3D CAD data so that all polygons can refer to the geometric information of the vertices.
  • the data conversion apparatus may generate a vertex list for all vertices constituting a container node (ie, a 3D modeling object), and convert the 3D CAD data so that all polygons of the corresponding vertex list are accessible.
  • the data conversion device can update the position of the vertices included in the face in real time according to the scaling (or translation) of the face, and the border is scaled (or translated) by referring to the updated position of the vertex of the face. As a result, it is possible to maintain a single closed curved surface with the surface.
  • 6 and 7 are flowcharts of a method of converting 3D CAD data for output to a 3D printer according to an embodiment of the present invention.
  • Step S601 of FIG. 6 is step S701 of FIG. 7
  • step S602 of FIG. 6 is steps S702 to S709 of FIG.
  • Step S603 corresponds to step S710 of FIG. 7 , respectively.
  • the data conversion apparatus may receive 3D CAD data (S601).
  • the input 3D CAD data may correspond to, for example, REV file/data (S701).
  • the data conversion apparatus may reduce (or scale) the 3D modeling object included in the 3D CAD data at a preset ratio to convert the 3D CAD data into data for output to a 3D printer.
  • This step may be subdivided into steps S702 to S709 of FIG. 7 as follows.
  • the data conversion apparatus may search for all vertices included in the 3D modeling object and obtain a normal vector for the searched vertices (S702). To this end, the data conversion apparatus may read/read/recognize container nodes included in 3D CAD data, and search all vertices constituting each polygon of the 3D modeling object and their normal vectors.
  • the data conversion apparatus may exclude vertices (ie, overlapping vertices) that overlap with other vertices or are adjacent to each other by a predetermined interval or less among the found vertices.
  • FIG. 8 is a diagram illustrating movement transformation of a face group and an edge group according to vertex duplication removal according to an embodiment of the present invention.
  • the number of adjacent polygons is overlapped with vertices.
  • a method of sharing vertices between polygons is proposed. In this case, as shown in FIG. 8 , when the polygon group determined as a face is moved, the edge group sharing the vertex with the polygon group is also naturally stretched according to the movement of the face group. This will be described in more detail below.
  • the data conversion apparatus may generate a vertex list including deduplicated vertex information ( S703 ). More specifically, the data conversion apparatus may generate a vertex list by assigning different indices to all vertices (excluding duplicates) found in step S702 (that is, indexing all vertices to generate the vertex list) . The data conversion apparatus may match and store an index assigned to each vertex to a polygon corresponding to each vertex based on vertex information stored in the 3D CAD data.
  • the data conversion device converts the first index to the first polygon You can match and store (or generate data).
  • the data conversion device can know the exact movement position of the surface when moving the border (that is, solving the problem described above in FIG. 5), and there is no need to separately update/convert the reference vertex information for moving the border. occurs
  • the divided faces and edges may be moved in parallel according to the movement of the vertices included therein, and information about the moved vertices may be reflected and updated in the vertex list.
  • a method of scaling a face and an edge based on the vertex movement will be described later in detail in step S708.
  • the data conversion apparatus may obtain a plane vector (S704).
  • the face vector refers to a normal vector indicating the direction a single face (face/polygon) points.
  • Such a surface vector may be calculated by cross-producting two vectors formed by three consecutive vertices constituting the surface, or may be calculated by adding up all vertex normal vectors of the vertices and then normalizing them. The surface vector calculated in this way is used as a variable of the normal vector change amount when determining the surface group later.
  • the data conversion apparatus may generate a mesh (ie, a 3D modeling object mesh) composed of all the found polygons (S705).
  • the data conversion apparatus may select a face group from the generated mesh (S706) to classify/select a face and an edge in the 3D modeling object (S707).
  • a method of distinguishing a surface and an edge is largely divided into two types depending on whether the 3D modeling object forms a curved surface, and when the 3D modeling object is not a curved surface, the technique described above in FIG. 4 may be applied. When the 3D modeling object forms a curved surface, the technique described later in FIG. 9 may be applied.
  • FIG. 9 is a diagram illustrating an embodiment of dividing/selecting a surface and an edge according to an embodiment of the present invention.
  • the data conversion apparatus may determine whether the 3D modeling object forms a curved surface by determining the bent portion based on the amount of change of the polygon normal vector, and if it is determined that the 3D modeling object forms a curved surface, the area of each surface You can distinguish/select faces and borders based on More specifically, the data conversion device can determine the surface that changes smoothly when the angle between the two adjacent surfaces is within the threshold value by using the angle between the normal vectors of the two adjacent surfaces as the amount of change, can judge The threshold value used at this time may be derived heuristically as a value capable of discriminating a face group with an accuracy greater than or equal to a preset ratio through repeated experiments.
  • the data conversion device calculates the area of each face in the 3D modeling object constituting the curved surface, divides/selects the widest face into upper/lower (i.e., face group), and separates/selects other faces into side (i.e., border group) can be selected.
  • the data conversion apparatus may convert 3D CAD data into data for 3D printer output by applying different scaling methods to the divided faces and edges ( S708 ).
  • the data conversion apparatus first calculates the divided surface in the direction of the normal vector that the vertex of the divided surface has, considering the scaling/reduction ratio and the preset minimum thickness (eg, 2 mm). It can be translated as much as the displacement.
  • the data conversion device moves the divided border in a direction perpendicular to the normal vector direction of the border face and parallel to the face direction of the border face with reference to the vertex position of the moved face. can
  • FIG. 10 illustrates a method of obtaining a normal vector of a vertex according to an embodiment of the present invention.
  • the vertex normal vector used in step S708 may mean an average normal vector (refer to this figure) obtained by adding all normal vectors of each overlapping/shared vertex before vertex deduplication. Such a vertex normal vector may be obtained during a vertex deduplication operation and stored together with information about each vertex. When obtaining the vertex normal vector, the normal vector of the vertex belonging to the border is not included.
  • the data conversion device first scales and moves the face, and then moves the border in the direction of movement of the face in parallel with reference to the vertex position of the moved face so that the moved face and the edge are interconnected to form a single closed curved surface.
  • scaling can be performed.
  • the data conversion apparatus can utilize vertices and vertex lists for scaling (or translation) of faces and edges as follows.
  • the data conversion apparatus may first move all vertices of the indexed plane in parallel by a predetermined displacement in the direction of a normal vector of each vertex. If this is expressed as an equation, it is the same as in Equation 1, and a preset displacement may be derived by Equation 2.
  • Equation 1 P is the vertex coordinates after translation, Po is the vertex coordinates before translation, d is a preset displacement, are the normal vectors of the vertices before translation, respectively.
  • Equation 2 S is a preset ratio (scaling ratio), Lr is an actual size of the 3D modeling object, Lp is a 3D printer output size of the 3D modeling object, and tp is a preset thickness.
  • the preset thickness is a 3D printer output thickness intended by the user, and may be directly set/input as a constant value by the user within a range equal to or greater than the above-mentioned minimum thickness.
  • the thickness of the 3D modeling object is set to a value equal to or greater than the preset thickness, the resolution range of the 3D printer is satisfied, and the output of a 3D modeling object having durability above a certain level is possible.
  • the data conversion apparatus may update the vertex list by reflecting the positions of the vertices moved according to Equations 1 and 2, and may move the border with reference to the vertex positions of the updated vertex list.
  • the data conversion apparatus may obtain the updated position of the vertex by searching the updated vertex list for an index matched for each polygon included in the divided border.
  • the data conversion apparatus may move the edge in a direction perpendicular to the normal vector direction and parallel to the plane direction of the edge with reference to the obtained position of the vertex.
  • the polygon forming the face and the polygon forming the border share a specific vertex
  • the position of the shared vertex is updated in the vertex list as the polygon forming the face is moved and transformed in the face vector direction.
  • the changed position of the vertex is automatically reflected.
  • the polygon of the edge may be automatically deformed according to the deformation of the surface at the intended scaling ratio while forming a closed curved surface.
  • the data conversion apparatus may convert 3D CAD data into data for 3D printer output by sequentially performing steps S702 to S709 described above.
  • the data conversion apparatus may transmit data for 3D printer output to the 3D printer (S603) so that the 3D printer 3D prints the scaled 3D modeling object (S709).
  • Each step proposed in the flowcharts of FIGS. 6 and 7 may be interpreted as a function/operation of an application/program designed to perform the 3D CAD data conversion method. Similarly, each of the steps proposed in the flowcharts of FIGS. 6 and 7 may be interpreted as being performed by each component of the data conversion apparatus classified according to a function.
  • FIG. 11 illustrates a rendered image of a 3D modeling object converted according to a 3D CAD data conversion method according to an embodiment of the present invention.
  • Fig. 11 (a) is an original 3D modeling object of 3D CAD data
  • Fig. 11 (b) is a 3D modeling object scaled version (or reduced version) of data for 3D printer output converted according to an embodiment of the present invention
  • Fig. 11(c) is a partially enlarged view of Fig. 11(a)
  • Fig. 11(d) is a partially enlarged view of Fig. 11(b).
  • This figure is a rendering image derived from a situation where Lr is 25,000 mm, Lp is 250 mm, and d is 200 mm, respectively.
  • the original ratio and shape/form of the 3D modeling object are reduced while being maintained, but only the thickness (or the width of the border) of each component is enlarged. That is, according to the embodiment proposed in this specification, even if the 3D modeling object included in the 3D CAD data is scaled/reduced for output to the 3D printer, the 3D printer will be outputted with a certain level of durability without a lost configuration. It has the effect that it can.
  • the 3D modeling object is reduced and converted/scaled to a size that can be printed with a 3D printer, but the thickness is maintained above the minimum thickness, so the effect of partially expanding/converting/scaling for a specific component/element is Occurs.
  • the interval between the components is shortened, the thickness of the components itself is enlarged or maintained, so that the separated components may contact each other or overlap each other.
  • the 3D printer is output, there may be a problem in that the appearance/shape of the 3D modeling object is output differently from the original. Accordingly, in the present specification, as a result of data conversion, when configurations that are shorter than a predetermined interval or overlap each other are found as described above, a method for integrating the configurations into one configuration is proposed.
  • the data conversion apparatus may convert the data by integrating the components into one component or by intentionally deleting/losing any one of the components.
  • the data conversion device finds first and second pillar configurations in contact with or overlapping each other, the first and second pillar configurations are integrated into the third configuration, or the first or second pillar configurations are intentionally combined. Can be deleted/deleted.
  • the position of the third configuration may be disposed at the center of the first and second pillar configurations.
  • the components to be replaced or lost are all components having the same/similar shape/outer appearance.
  • the first and second pillars to be replaced or lost have the same geometric properties (eg, height, shape, appearance, thickness, size, etc.).
  • Embodiments according to the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof.
  • an embodiment of the present invention provides one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), FPGAs ( field programmable gate arrays), a processor, a controller, a microcontroller, a microprocessor, and the like.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored in a recording medium readable through various computer means.
  • the recording medium may include a program command, a data file, a data structure, etc. alone or in combination.
  • the program instructions recorded on the recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software.
  • the recording medium includes a magnetic medium such as a hard disk, a floppy disk, and a magnetic tape, an optical recording medium such as a compact disk read only memory (CD-ROM), a digital video disk (DVD), and a floppy disk.
  • magneto-optical media such as a disk
  • hardware devices specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes such as those generated by a compiler.
  • Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
  • the device or terminal according to the present invention may be driven by a command that causes one or more processors to perform the functions and processes described above.
  • such instructions may include interpreted instructions, such as script instructions, such as JavaScript or ECMAScript instructions, or executable code or other instructions stored on a computer-readable medium.
  • the device according to the present invention may be implemented in a distributed manner over a network, such as a server farm, or may be implemented in a single computer device.
  • a computer program (also known as a program, software, software application, script or code) mounted on the device according to the invention and executing the method according to the invention includes compiled or interpreted language or a priori or procedural language. It can be written in any form of programming language, and can be deployed in any form, including stand-alone programs, modules, components, subroutines, or other units suitable for use in a computer environment.
  • a computer program does not necessarily correspond to a file in a file system.
  • a program may be placed in a single file provided to the requested program, or in multiple interacting files (eg, files that store one or more modules, subprograms, or portions of code), or portions of files that hold other programs or data. (eg, one or more scripts stored within a markup language document).
  • a computer program may be deployed to be executed on a single computer or multiple computers located at one site or distributed over a plurality of sites and interconnected by a communication network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Materials Engineering (AREA)
  • Geometry (AREA)
  • Chemical & Material Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)

Abstract

A 3D computer aided design (CAD) data-conversion method for 3-dimensional (3D) printer outputting, according to one embodiment of the present invention, comprises steps of: receiving 3D CAD data; reducing, to a preset ratio, a 3D modeling object included in the 3D CAD data to convert the 3D CAD data into data for 3D printer outputting; and transmitting the data for 3D printer outputting to a 3D printer, wherein the step of converting the 3D CAD data into the data for 3D printer outputting can comprise steps of: dividing a plane and an edge in the 3D modeling object; parallelly moving, by a certain displacement derived by considering the preset ratio and preset thickness, the divided plane in the direction of a first normal vector included in the vertex of the divided plane; and moving the divided edge in the direction that is vertical to a second normal vector direction of an edge surface and is parallel to the planar direction of the edge surface, by referring to the vertex position of the parallelly moved plane.

Description

3D 프린터 출력을 위한 3D CAD 데이터 변환 방법, 프로그램 및 이를 위한 장치3D CAD data conversion method for 3D printer output, program and device therefor
본 명세서는 3D(Dimension) CAD(Computer Aided Design) 데이터를 3D 프린터 출력하기에 적합한 형태의 데이터로 변환하는 방법 및 이를 위한 장치를 제안한다.The present specification proposes a method and apparatus for converting 3D (Dimension) CAD (Computer Aided Design) data into data in a form suitable for output by a 3D printer.
3D 프린터란 3D 도면을 바탕으로 3차원 입체 형상을 구현/출력하는 장치이다. 3D 프린터는, 출력물의 재질과 출력 방식에 따라 다양한 종류로 구분될 수 있다. A 3D printer is a device that implements/outputs a three-dimensional three-dimensional shape based on a 3D drawing. 3D printers may be classified into various types according to a material and an output method of an output.
가장 흔히 접할 수 있는 출력 방식은 소재를 가열하여 노즐로 분사하는 FDM(Fused deposition modeling) 방식으로, 일반적인 출력 해상도는 0.1~0.4mm 정도이다. 출력 가능 크기는 제공되는 베드의 규모에 따라 결정된다. The most commonly encountered printing method is the FDM (Fused deposition modeling) method in which the material is heated and sprayed with a nozzle, and the general output resolution is about 0.1 to 0.4 mm. The printable size is determined by the size of the bed provided.
DfAM(Design for Additive Manufacturing)이란 3D 프린팅의 장점을 극대화 하기 위해 기존의 공정 설계에 적층 요소를 추가한 개념이라고 할 수 있다. 다시 말해, 기존의 공정을 3D 프린터에 맞추는 모델링 방식이다. 기존의 공정의 예로는 3D CAD 모델 등이 있을 수 있으며, 3D CAD 모델을 3D 프린터로 출력하기 위해서는 3D 프린터에 적합한 데이터 형식으로 변환하는 단계를 거쳐야 한다. 예를 들어, 3D CAD 모델이 3D 프린터로 출력 가능한 크기로 스케일링(예를 들어, 축소/확대)되는 과정이 필요하다.DfAM (Design for Additive Manufacturing) is a concept in which additive elements are added to the existing process design to maximize the advantages of 3D printing. In other words, it is a modeling method that adapts an existing process to a 3D printer. An example of the existing process may be a 3D CAD model, and in order to output the 3D CAD model to a 3D printer, a step of converting the 3D CAD model into a data format suitable for the 3D printer is required. For example, a process of scaling (eg, reducing/enlarging) a 3D CAD model to a size that can be printed with a 3D printer is required.
기본적으로 원본 3D CAD 모델을 3D 프린터 출력 크기에 맞게 스케일링하는 데 있어서 확대의 경우에는 큰 문제가 없다. 다만, 축소의 경우 스케일링 후의 구조가 3D 프린터가 출력 가능한 한계를 벗어나는 경우에는 일부 구성의 소실로 이어질 수 있다. 예를 들어, 축소에 따라 일부 구성의 두께가 3D 프린터 노즐의 직경 이하로 줄어드는 경우(즉, 3D 프린터의 해상도 범위를 벗어나는 경우), 변환 과정에서 해당 구성은 출력 불가로 소실되게 된다. 또는, 이와 유사하게 축소된 후의 구성 두께가 3D 프린터의 해상도 범위를 만족한다 하더라도, 3D 프린터 출력물의 품질을 특정 수준 이상으로 유지하기 위해서는, 일정 강도 이상의 구조를 보장하기 위한 각 구성별 최소 두께 조건을 만족할 것이 요구된다.Essentially, scaling the original 3D CAD model to the size of the 3D printer's output is no big deal in the case of magnification. However, in the case of reduction, if the structure after scaling exceeds the output limit of the 3D printer, some components may be lost. For example, when the thickness of some components is reduced to less than the diameter of the 3D printer nozzle according to the reduction (ie, out of the resolution range of the 3D printer), the corresponding components are lost due to inability to print during the conversion process. Alternatively, similarly, even if the thickness of the structure after reduction satisfies the resolution range of the 3D printer, in order to maintain the quality of the 3D printer output above a certain level, the minimum thickness condition for each component to ensure a structure with a certain strength or higher satisfaction is required.
기존에는, 이러한 문제점을 해결하기 위하여, 사용자가 최종 결과물을 예측하여 직접 3D 모델을 선별하고, 3D 디자인 툴을 이용하여 이를 수작업하여 3D 프린터로 출력 가능한 형태로 수정해야 했다. 그러나 이는, 시간 및 비용 측면에서 사용자에게 매우 큰 부담으로 작용할 수밖에 없다.In the past, in order to solve this problem, the user had to select a 3D model by predicting the final result, manually using a 3D design tool, and then modify it in a form that can be printed with a 3D printer. However, this inevitably imposes a very heavy burden on the user in terms of time and cost.
상술한 문제점을 해결하기 위해 제안된 본 발명의 일 실시예예 따르면, 3D(Dimension) 프린터 출력을 위한 3D CAD(Computer Aided Design) 데이터의 변환 방법에 있어서, 상기 3D CAD 데이터를 입력받는 단계; 상기 3D CAD 데이터에 포함된 3D 모델링 객체를 기설정된 비율로 축소하여, 상기 3D CAD 데이터를 3D 프린터 출력용 데이터로 변환하는 단계; 및 상기 3D 프린터 출력용 데이터를 상기 3D 프린터로 전송하는 단계; 를 포함하되, 상기 3D CAD 데이터를 상기 3D 프린터 출력용 데이터로 변환하는 단계는, 상기 3D 모델링 객체에서 면 및 테두리를 구분하는 단계; 상기 구분된 면을, 상기 구분된 면의 정점(vertex)이 갖는 제1 노멀(normal) 벡터의 방향으로, 상기 기설정된 비율 및 기설정된 두께를 고려하여 도출된 변위만큼 평행 이동시키는 단계; 및 상기 구분된 테두리를, 상기 평행 이동된 면의 정점 위치를 참조하여, 테두리 면의 제2 노멀 벡터 방향에 대하여 수직이고 상기 테두리 면의 면 방향과 평행한 방향으로 이동시키는 단계; 를 포함할 수 있다.According to an embodiment of the present invention proposed to solve the above problems, there is provided a method of converting 3D CAD (Computer Aided Design) data for output to a 3D (Dimension) printer, the method comprising: receiving the 3D CAD data; reducing the 3D modeling object included in the 3D CAD data to a preset ratio, and converting the 3D CAD data into data for output to a 3D printer; and transmitting the data for output to the 3D printer to the 3D printer. Including, wherein the converting of the 3D CAD data to the data for output to the 3D printer comprises: distinguishing a surface and a border in the 3D modeling object; moving the divided surface in parallel by a displacement derived in consideration of the predetermined ratio and predetermined thickness in the direction of a first normal vector of a vertex of the divided surface; and moving the divided edge in a direction perpendicular to a second normal vector direction of the edge surface and parallel to the surface direction of the edge surface with reference to the vertex position of the parallel-moved surface; may include.
또한, 본 발명의 다른 실시예에 따르면, 3D(Dimension) 프린터 출력을 위한 3D CAD(Computer Aided Design) 데이터의 변환 프로그램에 있어서, 상기 3D CAD 데이터를 입력받는 오퍼레이션; 상기 3D CAD 데이터에 포함된 3D 모델링 객체를 기설정된 비율로 축소하여, 상기 3D CAD 데이터를 3D 프린터 출력용 데이터로 변환하는 오퍼레이션; 및 상기 3D 프린터 출력용 데이터를 상기 3D 프린터로 전송하는 오퍼레이션; 을 수행하되, 상기 3D CAD 데이터를 상기 3D 프린터 출력용 데이터로 변환하는 오퍼레이션은, 상기 3D 모델링 객체에서 면 및 테두리를 구분하는 오퍼레이션; 상기 구분된 면을, 상기 구분된 면의 정점(vertex)이 갖는 노멀(normal) 벡터의 방향으로, 상기 기설정된 비율 및 기설정된 두께를 고려하여 도출된 변위만큼 평행 이동시키는 오퍼레이션; 및 상기 구분된 테두리를, 상기 평행 이동된 면의 정점 위치를 참조하여, 테두리 면의 노멀 벡터 방향에 대하여 수직이고 상기 테두리 면의 면 방향과 평행한 방향으로 이동시키는 오퍼레이션; 을 수행하기 위하여 매체에 저장될 수 있다.In addition, according to another embodiment of the present invention, there is provided a 3D CAD (Computer Aided Design) data conversion program for 3D (Dimension) printer output, comprising: an operation for receiving the 3D CAD data; an operation of reducing the 3D modeling object included in the 3D CAD data to a preset ratio and converting the 3D CAD data into data for output to a 3D printer; and transmitting the data for output to the 3D printer to the 3D printer. However, the operation of converting the 3D CAD data into the data for output to the 3D printer may include an operation of dividing a surface and a border in the 3D modeling object; an operation of moving the divided surface in parallel by a displacement derived in consideration of the predetermined ratio and predetermined thickness in the direction of a normal vector of a vertex of the divided surface; and moving the divided edge in a direction perpendicular to the normal vector direction of the edge surface and parallel to the surface direction of the edge surface with reference to the vertex position of the parallel-moved surface. may be stored in a medium to perform
본 발명의 일 실시예에 따르면, 3D CAD 데이터가 3D 프린터 출력용 데이터로 자동 변환되므로, 사용자가 직접 수작업할 필요가 없어, 시간 및 비용 측면의 사용자 부담이 크게 줄어든다는 효과가 있다. According to an embodiment of the present invention, since 3D CAD data is automatically converted into data for output by a 3D printer, there is no need for a user to manually work, thereby greatly reducing a user burden in terms of time and cost.
특히, 3D CAD 데이터의 3D 모델링 객체를 축소 변환하여 3D 프린터 출력용 데이터로 변환 시, 단순 축소 변환만으로는 일부 구성이 소실되거나 전체적인 형상/비율의 변경이 발생하므로, 이를 방지하기 위한 사용자의 후처리 작업이 필수적으로 수행되어야 했다. 그러나, 본 발명명의 일 실시예에 따르면 사용자의 후처리 작업 없이도 상술한 문제점이 발생하지 않으므로, 후처리 작업에 들어가는 시간/비용이 줄어들 뿐 아니라, 높은 품질로 3D 모델링 객체의 3D 프린터 출력이 가능하다는 효과가 있다. In particular, when reducing the 3D modeling object of 3D CAD data and converting it to data for 3D printer output, some components are lost or the overall shape/ratio is changed only by simple reduction conversion. had to be done. However, according to an embodiment of the present invention, since the above-described problem does not occur without the user's post-processing work, the time/cost for post-processing work is reduced, and 3D printing of 3D modeling objects with high quality is possible. It works.
본 발명의 효과는 이에 한정되지 않으며, 다양한 효과에 대해서는 이하에서 각 실시예를 참조하여 상세히 후술하기로 한다.Effects of the present invention are not limited thereto, and various effects will be described below in detail with reference to each embodiment.
도 1은 본 발명의 일 실시예에 따른 은면 제거 기법을 예시한 도면이다.1 is a diagram illustrating a silver surface removal technique according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 3D CAD 모델에서 꺾인 면을 검출하는 실시예를 예시한 도면이다.2 is a diagram illustrating an embodiment of detecting a bent surface in a 3D CAD model according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 CAD 도면에서 컨테이너 노드의 렌더링 이미지를 예시한다. 3 illustrates a rendered image of a container node in a CAD drawing according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 납작한 판 형상의 3D 모델링 객체에 대한 면 및 테두리 구별 실시예를 예시한 도면이다.4 is a view illustrating an embodiment of distinguishing faces and edges of a flat plate-shaped 3D modeling object according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 3D 모델링 객체의 정점 노멀 벡터를 예시한 도면이다.5 is a diagram illustrating a vertex normal vector of a 3D modeling object according to an embodiment of the present invention.
도 6 및 7은 본 발명의 일 실시예에 따른 3D 프린터 출력을 위한 3D CAD 데이터의 변환 방법에 관한 순서도이다. 6 and 7 are flowcharts of a method of converting 3D CAD data for output to a 3D printer according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 정점 중복 제거에 따른 면 그룹 및 테두리 그룹의 이동 변환을 예시한 도면이다.8 is a diagram illustrating movement transformation of a face group and an edge group according to vertex duplication removal according to an embodiment of the present invention.
도 9는 본 발명의 일 실시예에 따른 면과 테두리를 구분/선별하는 실시예를 예시하는 도면이다.9 is a diagram illustrating an embodiment of dividing/selecting a surface and an edge according to an embodiment of the present invention.
도 10은 본 발명의 일 실시예에 따른 정점의 노멀 벡터의 획득 방법을 예시한다.10 illustrates a method of obtaining a normal vector of a vertex according to an embodiment of the present invention.
도 11은 본 발명의 일 실시예에 따른 3D CAD 데이터 변환 방법에 따라 변환된 3D 모델링 객체의 렌더링 이미지를 예시한다.11 illustrates a rendered image of a 3D modeling object converted according to a 3D CAD data conversion method according to an embodiment of the present invention.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the technology to be described below can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail. However, this is not intended to limit the technology described below to specific embodiments, and it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the technology described below.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. 예를 들어, 'A 및/또는 B'는 'A 또는 B 중 적어도 하나'의 의미로 해석될 수 있다. 또한, '/'는 '및' 또는 '또는'으로 해석될 수 있다.Terms such as first, second, A, and B may be used to describe various components, but the components are not limited by the above terms, and only for the purpose of distinguishing one component from other components. used only as For example, a first component may be named as a second component, and similarly, the second component may also be referred to as a first component without departing from the scope of the technology to be described below. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items. For example, 'A and/or B' may be interpreted as meaning 'at least one of A or B'. Also, '/' may be interpreted as 'and' or 'or'.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.In terms of terms used herein, the singular expression should be understood to include a plural expression unless the context clearly dictates otherwise, and terms such as "comprises" include the described feature, number, step, operation, and element. , parts or combinations thereof are to be understood, but not to exclude the possibility of the presence or addition of one or more other features or numbers, step operation components, parts or combinations thereof.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.Prior to a detailed description of the drawings, it is intended to clarify that the classification of the constituent parts in the present specification is merely a division according to the main function that each constituent unit is responsible for. That is, two or more components to be described below may be combined into one component, or one component may be divided into two or more for each more subdivided function. In addition, each of the constituent units to be described below may additionally perform some or all of the functions of other constituent units in addition to the main function it is responsible for. Of course, it can also be performed by being dedicated to it.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In addition, in performing the method or operation method, each process constituting the method may occur differently from the specified order unless a specific order is clearly described in context. That is, each process may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
본 명세서에서 제안하는 3D CAD 데이터 변환 장치는, 본 명세서에서 제안되는 3D 프린터 출력을 위한 3D CAD 데이터 변환 방법/실시예를 수행/실행 가능하도록 구현된 어플리케이션/프로그램이 사전에 설치되어 실행 중인 전자 서버/기기/장치에 해당할 수 있다. 따라서, 이하에서 별도로 설명하지 않더라도, 본 명세서에서 제안되는 방법/실시예는 상기 어플리케이션/프로그램이 실행 중인 서버/기기/장치를 통해 수행/실행되는 것으로 해석될 수 있으며, 각 서버/기기/장치의 동작은 상기 어플리케이션/프로그램의 동작/기능/오퍼레이션으로 해석될 수 있다. 이하에서는 설명의 편의를 위해, '3D CAD 데이터 변환 장치'를 '데이터 변환 장치'로 약칭하기로 한다.The 3D CAD data conversion apparatus proposed in the present specification is an electronic server in which an application/program implemented to perform/execute the 3D CAD data conversion method/embodiment for 3D printer output proposed in the present specification is installed and executed in advance. This may correspond to /device/device. Therefore, even if not separately described below, the method/embodiment proposed in the present specification may be interpreted as being performed/executed through the server/device/device in which the application/program is running, and the An operation may be interpreted as an operation/function/operation of the application/program. Hereinafter, for convenience of description, '3D CAD data conversion apparatus' will be abbreviated as 'data conversion apparatus'.
우선, 본 발명 설명에 사용되는 기술 용어에 대해 정의한 후 본 발명에 대해 구체적으로 설명하기로 한다. First, technical terms used in the description of the present invention will be defined, and then the present invention will be described in detail.
- REV(AVEVA Review Model Format): Aveva Marine 사에서 만든 3D CAD 데이터 포맷 및 확장자- REV (AVEVA Review Model Format): 3D CAD data format and extension created by Aveva Marine
- 컨테이너: REV 포맷에서 계층 구조의 노드를 의미- Container: In REV format, it means a node of a hierarchical structure.
- 프리미티브(primitive): 3D 모델에서 기본 기하 요소를 의미, 각 프리미티브는 고유한 기하학적 정의로 표현됨.- Primitive: A basic geometric element in a 3D model, where each primitive is represented by a unique geometric definition.
- 메시(mesh): 폴리곤과 정점으로 구조화된 3D 모델- Mesh: 3D model structured with polygons and vertices
- 폴리곤(Polygon)/페이스(face): 동일 평면상의 3개 이상의 정점으로 구성된 다각형- Polygon/face: A polygon composed of 3 or more vertices on the same plane
- 정점(vertex): 3D 공간상의 위치를 나타내는 세 좌표의 집합(예를 들어, (x, y, z))- Vertex: A set of three coordinates representing a position in 3D space (eg (x, y, z))
- 노멀 벡터(normal vector): 평면의 방향을 나타내며(즉, 평면에 수직이며), 길이가 1인 벡터- Normal vector: A vector of length 1 representing the direction of the plane (ie perpendicular to the plane).
- 3D 모델: 3D 공간에 나타낼 수 있는 형상 정보를 가진 데이터 집합 혹은 파일- 3D model: A data set or file with shape information that can be represented in 3D space.
- 3D 모델링 객체: 3D 모델에 의해 외형, 형상이 정의되는 3D 객체- 3D modeling object: 3D object whose appearance and shape are defined by the 3D model
본 기술 용어들은 상술한 바에 따라 정의될 수 있으나 반드시 이에 한정되는 것은 아니며, 사전적 정의 또는 당업자에 의해 관용적으로 인식되는 정의로도 사용될 수 있음은 물론이다.These technical terms may be defined as described above, but are not necessarily limited thereto, and may be used as dictionary definitions or definitions commonly recognized by those skilled in the art.
본 명세서는 기본적으로 3D CAD 데이터를 3D 프린터로 출력 가능한 데이터로 변환하는 방법을 제안한다. 즉, 3D CAD 데이터를 DfAM에 적합하게 변환하는 방법을 제안한다. This specification basically proposes a method of converting 3D CAD data into data that can be output by a 3D printer. In other words, a method for converting 3D CAD data to DfAM is proposed.
조선업에 사용되는 3D CAD 데이터의 경우 3D 모델링 객체의 크기가 매우 커 3D 프린터로 바로 출력하는 것은 불가능하므로, 3D 모델링 객체를 일정 비율로 스케일링/축소함으로써 3D 출력 가능한 형태로 데이터 변환이 필수적으로 요구된다. 그러나, 이러한 스케일링/축소 과정에서 일부 구성 요소의 두께가 3D 프린터의 노즐 최소 지름/두께(즉, 해상도) 미만으로까지 축소된 경우, 3D 프린터가 해당 일부 구성 요소를 출력할 수 없어 소실되게 된다. 나아가, 스케일링/축소된 두께가 3D 프린터의 해상도 범위를 만족한다 하더라도 너무 얇은 두께로 축소된 경우, 3D 모델링 객체의 강도/내구성이 매우 약하게 출력될 수 있다. In the case of 3D CAD data used in the shipbuilding industry, the size of the 3D modeling object is very large and it is impossible to output it directly with a 3D printer. . However, when the thickness of some components is reduced to less than the minimum nozzle diameter/thickness (ie, resolution) of the 3D printer during the scaling/reducing process, the 3D printer cannot output the corresponding partial components and is lost. Furthermore, even if the scaled/reduced thickness satisfies the resolution range of the 3D printer, if the scaled/reduced thickness is reduced to a too thin thickness, the strength/durability of the 3D modeling object may be very weakly output.
따라서, 3D 프린터 출력을 위한 데이터 변환 작업에 있어, 3D 출력된 3D 모델링 객체의 전체적인 형상 및 비율은 유지되면서도 일부 구성이 소실되지 않고 일정 수준 이상의 강도/내구성으로 출력되도록 하기 위한 별도의 데이터 처리 과정이 요구된다. Therefore, in the data conversion work for 3D printer output, while maintaining the overall shape and proportion of the 3D printed 3D modeling object, a separate data processing process is performed so that some components are not lost and output with a certain level of strength/durability. is required
본 명세서에서는 3D CAD 데이터 변환 방법에 있어 이러한 처리 방법에 대해 중점적으로 제안하며, 우선 본 발명을 제안하기 전 기반이 되는 기술 및 개념에 대해 설명한다.In this specification, such a processing method is mainly proposed in the 3D CAD data conversion method, and the technology and concept underlying the present invention will be described first.
REV 파일은 AVEVA 사에서 만든 3D 모델 포맷으로, REV 파일은 크게 REV와 RVM 확장자로 나뉘며, 각각 아스키/바이너리 형식에 대응한다.REV file is a 3D model format created by AVEVA, and REV file is divided into REV and RVM extensions, and each corresponds to ASCII/binary format.
REV 파일은 파일을 설명하는 메타 데이터와 실제 모델 정보를 가진 컨테이너 집합으로 이루어지는데, 컨테이너 집합은 트리 구조를 이룬다. 컨테이너 노드는 컨테이너 노드는 다른 컨테이너 노드를 포함할 수 있다(즉, nested container nodes). A REV file consists of a container set with metadata and actual model information to describe the file, and the container set forms a tree structure. A container node may include other container nodes (ie, nested container nodes).
컨테이너 노드, 특히 단말 노드는 프리미티브 데이터의 집합으로 구성될 수 있다. 프리미티브 데이터는 각 종류별로 모델의 수학적 정의로 표현된 자료구조로, 메쉬, 블록, 파이프, 원뿔 등이 있고 이들이 3D 모델링 객체의 형태를 결정한다. A container node, particularly a terminal node, may be composed of a set of primitive data. Primitive data is a data structure expressed by the mathematical definition of a model for each type, and there are meshes, blocks, pipes, cones, etc., and these determine the shape of the 3D modeling object.
메쉬는 폴리곤의 집합으로 이루어진 3D 모델이다. REV에서 메쉬 프리미티브는 면 그룹-면-루프-정점(FACET_GROUP - FACET - LOOP - VERTICES)으로 이어지는 계층 구조를 가진다. 정점은 3D 정점 좌표와 정점 노멀 벡터로 구성된다. 여기서, 정점 노멀 벡터는, 정점에 부여된 속성으로서 정점을 기준으로 바라보는 방향을 나타내며, 일반적으로 정점이 속한 폴리곤 면에 수직인 노멀 벡터로 구해질 수 있다. 정점에 대한 정보(즉, 정점 정보)는 각 정점이 속한 폴리곤과 매칭되어 저장되어 있을 수 있다. A mesh is a 3D model made up of a set of polygons. In REV, mesh primitives have a hierarchical structure that follows face group-face-loop-vertex (FACET_GROUP - FACET - LOOP - VERTICES). A vertex consists of 3D vertex coordinates and a vertex normal vector. Here, the vertex normal vector is an attribute given to the vertex, indicating a viewing direction with respect to the vertex, and may be obtained as a normal vector perpendicular to the polygonal plane to which the vertex belongs. Information on vertices (ie, vertex information) may be stored by matching with polygons to which each vertex belongs.
메쉬 프리미티브 자료 구조는, 판을 절단 가공한 부품을 표현하는데 적합한데, 하나의 면 그룹은 넓은 판의 테두리를 절단한 면(이하, '테두리'라 지칭함)과 내부를 절단한 구멍인 루프의 조합으로 표현할 수 있기 때문이다. REV의 컨테이너 트리 구조는 계층 구조이기 때문에 사용자가 필요한 부분만 활성화 하거나, 필요한 노드를 중심으로 하위 단계를 병합하고 관리하기 위한 기반 구조로 활용하기에 용이하다.The mesh primitive data structure is suitable for expressing parts cut out of a plate, and one face group is a combination of a face cut off the edge of a wide plate (hereinafter referred to as 'border') and a loop that is a hole cut inside. Because it can be expressed as Since the container tree structure of REV is a hierarchical structure, it is easy for the user to activate only the necessary parts or to use it as an infrastructure for merging and managing sub-steps around the necessary nodes.
도 1은 본 발명의 일 실시예에 따른 은면 제거 기법을 예시한 도면이다.1 is a diagram illustrating a silver surface removal technique according to an embodiment of the present invention.
컴퓨터 그래픽스에서 면 선별이란, 폴리곤의 노멀 벡터와 시선 벡터를 비교하여 보이지 않는 면을 걸러내는 기법이다. 이는, 은면 제거(Back Face Culling)기법이라고도 불린다.In computer graphics, face selection is a technique of filtering out the invisible face by comparing the polygon's normal vector and the gaze vector. This is also called a back face culling technique.
시선 방향(150)을 기준으로 그려야 할 폴리곤은 사잇각이 90도 이하인 것이지만, 실제로는 정점의 회전 순서(110, 130)만 가지고도 선별이 가능하며, 이 경우 복잡한 벡터 사잇각 계산 없이도 은면 제거가 가능하다.The polygon to be drawn based on the gaze direction 150 has an angle of 90 degrees or less, but in reality, it is possible to select only with the order of rotation of the vertices (110, 130), and in this case, it is possible to remove the hidden surface without calculating the angle between the vectors. .
도 2는 본 발명의 일 실시예에 따른 3D CAD 모델에서 꺾인 면을 검출하는 실시예를 예시한 도면이다.2 is a diagram illustrating an embodiment of detecting a bent surface in a 3D CAD model according to an embodiment of the present invention.
메쉬 단순화(Mesh Simplification) 혹은 메쉬 경량화(Mesh Decimation)는, 미리 정해진 규칙에 따라 3D 모델의 정점 수를 줄이는 기법이다. 경량화된 모델의 크기와 품질은 상호 trade-off 관계를 가지기 때문에, 모델의 형태 및 특징점에 따라 경량화 정도를 달리하여 형태를 보존하는 적응적 기법이 수행될 수 있다.Mesh simplification or mesh decimation is a technique for reducing the number of vertices in a 3D model according to a predetermined rule. Since the size and quality of the lightweight model have a trade-off relationship, an adaptive technique for preserving the shape by varying the degree of weight reduction according to the shape and feature points of the model can be performed.
도 2와 같이, 현실 세계에서 인공물의 경우 대개 모서리를 갖는다는 특징이 나타나는데, 절단면이나 꺾인면, 면과 면 사이의 경계에서 평면 노멀 벡터의 급격한 변화가 발생하는 것을 알 수 있다. 3D CAD 데이터에서 표현되는 대상인 3D 모델링 객체는 대부분 인공물이며, 따라서 3D CAD 데이터에서도 역시 이와 같은 동일한 특징이 발견된다.As shown in FIG. 2 , in the real world, artifacts usually have corners. It can be seen that a sharp change in the plane normal vector occurs at a cut surface, a bent surface, or a boundary between a surface and a surface. Most 3D modeling objects, which are objects expressed in 3D CAD data, are artifacts, and therefore, the same characteristics are also found in 3D CAD data.
이러한 점에 착안하여, 노멀 벡터의 변화량을 error metrics로 사용하여 모서리 특징을 검출하거나 보존할 수 있다. 이는 feature preserving mesh smoothing 등의 연구에 사용되고 있다.With this in mind, edge features can be detected or preserved by using the amount of change in the normal vector as error metrics. This is being used in research such as feature preserving mesh smoothing.
도 3은 본 발명의 일 실시예에 따른 CAD 도면에서 컨테이너 노드의 렌더링 이미지를 예시한다. 3 illustrates a rendered image of a container node in a CAD drawing according to an embodiment of the present invention.
3D CAD 데이터(특히, 선박 3D CAD 데이터)에서 3D 모델링 객체의 특징은, 많은 부분이 판 가공의 형태로 구성되어 있다는 점이다. 선박의 부품 판은 넓은 면과 절단면(이하, 테두리라 지칭)으로 구성되어 있다. 3D 모델링 객체에서 단말 노드는 판에서 가공된 소단위 부품을 나타낸다. 단말 노드는 단일 부품으로 관리되지만, 정점의 연속으로 이루어진 폴리곤의 집합으로 추가적인 정보는 없다. A characteristic of 3D modeling objects in 3D CAD data (especially ship 3D CAD data) is that many parts are composed of plate processing. The part plate of the ship is composed of a wide surface and a cut surface (hereinafter referred to as an edge). In the 3D modeling object, the terminal node represents a small unit part machined from the plate. A terminal node is managed as a single component, but as a set of polygons consisting of a series of vertices, there is no additional information.
실제 선박의 조립 블럭 단위는 약 25Х25Х25㎥ 정도의 체적을 차지한다. 선박에 사용되는 강판의 두께는 대략 20㎜ 전후이다. 3D 프린터의 베드 면적은 약 300Х300㎟로, 대략 250㎜정도의 길이로 각 변이 출력될 수 있다. FDM 방식 3D 프린터의 출력 해상도(즉, 노즐 두께/지름)는 0.4㎜ 정도이나, 3D 출력 시 3D 모델링 객체의 구조 강도를 위해 최소 두께로서 2㎜ 값이 설정될 수 있다. 다만, 이에 한정되는 것은 아니며, 최소 두께는 상수 값으로서 사용자에 의해 직접 설정/조정될 수 있다. The actual ship's assembly block unit occupies a volume of about 25Х25Х25㎥. The thickness of the steel plate used in ships is about 20 mm. The bed area of the 3D printer is about 300Х300㎟, and each side can be printed with a length of about 250mm. The output resolution (ie, nozzle thickness/diameter) of the FDM 3D printer is about 0.4 mm, but a value of 2 mm may be set as the minimum thickness for the structural strength of the 3D modeling object during 3D printing. However, the present invention is not limited thereto, and the minimum thickness may be directly set/adjusted by the user as a constant value.
즉, 3D CAD 데이터에 포함된 3D 모델링 객체는 3D 프린터 출력을 위해 축소 스케일링될 수 있으며, 이때 면의 두께는 미리 설정된 최소 두께 이하로 줄어들지 않도록 선별적으로 확대될 수 있다. 즉, 데이터 변환 장치는, 3D 프린터 출력을 위한 데이터 변환에 있어, 3D 모델링 객체를 전체적으로 기설정된 비율로 스케일링/축소하되, 최소 두께(예를 들어, 2㎜) 이하로 축소된 두께에 대해서는 선별적으로 확대할 수 있다. That is, the 3D modeling object included in the 3D CAD data may be reduced and scaled for output by a 3D printer, and in this case, the thickness of the surface may be selectively enlarged so as not to be reduced below a preset minimum thickness. That is, the data conversion apparatus scales/reduces the overall 3D modeling object at a predetermined ratio in data conversion for 3D printer output, but selectively for the reduced thickness to a minimum thickness (eg, 2 mm) or less can be enlarged to
다만, 이러한 데이터 변환에 있어 다음과 같이 해결해야 할 몇 가지 문제점이 존재한다. However, there are several problems to be solved as follows in this data conversion.
3D CAD 데이터에는, 메쉬를 구성하는 정점 및 폴리곤은 단지 렌더링 알고리즘으로 입력되는 정보만 있으며, 이들 사이에는 아무런 기하학적 관계 정보가 없다. 따라서, 3D CAD 데이터만으로는 어디가 면이고 테두리인지 알 수 없다는 문제점이 있다. 기존에는 이러한 문제점을 해결하기 위해서, 사용자가 직접 렌더링된 결과를 바탕으로 어느 부분이 면이고 테두리인지를 판단할 수 밖에 없었다. 따라서, 본 명세서에서는 데이터 변환 장치가 3D CAD 데이터를 기초로 3D 모델링 객체에서 어디가 면이고 어디가 테두리인지를 판단하는 방법에 대해 도 4와 같이 제안한다.In 3D CAD data, vertices and polygons constituting the mesh have only information input to the rendering algorithm, and there is no geometric relationship information between them. Accordingly, there is a problem in that it is not possible to know which is a surface and which is an edge only with 3D CAD data. In the past, in order to solve this problem, the user had no choice but to determine which part is the face and which is the border based on the directly rendered result. Therefore, in the present specification, a method for the data conversion apparatus to determine where is a face and where is an edge in a 3D modeling object based on 3D CAD data is proposed as shown in FIG. 4 .
도 4는 본 발명의 일 실시예에 따른 납작한 판 형상의 3D 모델링 객체에 대한 면 및 테두리 구별 실시예를 예시한 도면이다.4 is a view illustrating an embodiment of distinguishing faces and edges of a flat plate-shaped 3D modeling object according to an embodiment of the present invention.
3D CAD 데이터에 포함된 정점 정보에는 각 정점별 노멀 벡터 정보가 포함되어 있으나, 각 정점이 이루는 폴리곤을 대표하는 노멀 벡터에 대한 정보는 포함되어 있지 않다. 또한, 3D CAD 데이터의 자료 구조 상 폴리곤 테이블끼리 인접해 있다 하더라도, 해당 테이블에 대응하는 폴리곤이 실제 물리적으로 인접해 있음은 보장되지 않는다. Vertex information included in 3D CAD data includes normal vector information for each vertex, but does not include information on normal vectors representing polygons formed by each vertex. Also, even if polygon tables are adjacent to each other in the data structure of 3D CAD data, it is not guaranteed that polygons corresponding to the table are physically adjacent to each other.
따라서, 본 명세서의 일 실시예에 따른 데이터 변환 장치는, 컨테이너 노드를 구성하는 모든 폴리곤을 탐색하여 폴리곤의 속성(예를 들어, 각 폴리곤의 노멀 벡터-1(410-1~460))을 기초로 적어도 하나의 면 그룹(410, 420) 또는 적어도 하나의 테두리 그룹(430~460)으로 그룹핑한 후, 실제 물리적 구조를 기초로 각 그룹을 정렬하여 자료 구조를 생성할 수 있다. Accordingly, the data conversion apparatus according to an embodiment of the present specification searches all polygons constituting the container node and based on the polygon properties (eg, normal vector-1 (410-1 to 460) of each polygon). After grouping into at least one face group 410, 420 or at least one edge group 430 to 460, the data structure may be generated by arranging each group based on the actual physical structure.
보다 상세하게는, 데이터 변환 장치는, 3D 모델링 객체를 구성하는 모든 폴리곤을 탐색할 수 있으며, 탐색된 폴리곤을 속성별로 면 그룹(410, 420) 또는 테두리 그룹(430~460)으로 그룹핑할 수 있다. 여기서, 그룹핑 기준으로 사용되는 속성으로는, 예를 들어 폴리곤의 노멀 벡터(410-1~460)가 사용될 수 있다. 즉, 데이터 변환 장치는 탐색된 폴리곤 각각을 대표하는 노멀 벡터(410-1~460)를 추출할 수 있으며, 추출한 노멀 벡터(410-1~460)의 방향을 기준으로 면 그룹(410, 420) 또는 테두리 그룹(430~460)으로 그룹핑할 수 있다. 예를 들어, 데이터 변환 장치는, 인접한 두 폴리곤으로부터 추출된 노멀 벡터(410-1~460-1)가 이루는 사잇각이, 기설정된 각도 범위(예를 들어, 45도) 이내인 폴리곤들에 대해서는 면 그룹(410, 420)으로 그룹핑할 수 있다. 이와 유사하게, 데이터 변환 장치는 인접한 두 폴리곤으로부터 추출된 노멀 벡터(410-1~460-1)가 이루는 사잇각이 기설정된 각도 범위(예를 들어, 45도)를 초과하는 폴리곤들에 대해서는 테두리 그룹(430~460)으로 그룹핑할 수 있다.More specifically, the data conversion apparatus may search all polygons constituting the 3D modeling object, and may group the searched polygons into face groups 410 and 420 or border groups 430 to 460 by properties. . Here, as an attribute used as a grouping criterion, for example, normal vectors 410-1 to 460 of polygons may be used. That is, the data conversion apparatus may extract the normal vectors 410-1 to 460 representing each of the found polygons, and the face groups 410 and 420 based on the direction of the extracted normal vectors 410-1 to 460. Alternatively, it may be grouped into border groups 430 to 460. For example, the data conversion apparatus is a plane for polygons in which the angle between the normal vectors 410-1 to 460-1 extracted from two adjacent polygons is within a preset angle range (eg, 45 degrees). Groups may be grouped into groups 410 and 420 . Similarly, the data conversion apparatus performs border group for polygons in which the angle between the normal vectors 410-1 to 460-1 extracted from two adjacent polygons exceeds a preset angle range (eg, 45 degrees). (430-460) can be grouped.
도 5는 본 발명의 일 실시예에 따른 3D 모델링 객체의 정점 노멀 벡터를 예시한 도면이다.5 is a diagram illustrating a vertex normal vector of a 3D modeling object according to an embodiment of the present invention.
도 4에서 상술한 바와 같이 면과 테두리에 대한 구분이 완료되면, 구분된 면과 테두리에 대하여 다음과 같이 서로 다른 스케일링 방식을 적용함으로써 3D 프린터 출력용 데이터를 생성할 수 있다.As described above in FIG. 4 , when the division of the surface and the edge is completed, data for 3D printer output can be generated by applying different scaling methods to the divided surface and the edge as follows.
- 면에 대하여: 각 정점이 갖는 노멀 벡터 방향으로, 기설정된 비율 및 기설정된 두께를 고려하여 도출된 변위만큼 평행 이동- With respect to the plane: In the direction of the normal vector of each vertex, it moves in parallel by the displacement derived in consideration of the preset ratio and the preset thickness.
- 테두리에 대하여: 평행 이동된 면의 위치(특히, 정점 위치)를 참조하여 테두리 면의 노멀 벡터 방향에 대하여 수직이면서 테두리 면의 면 방향과 평행한 방향으로 이동- With respect to the border: referring to the position of the parallel-moved surface (especially the vertex position), it moves in a direction perpendicular to the normal vector direction of the border face and parallel to the face direction of the border face
즉, 데이터 변환 장치는 면을 스케일링한 후(즉, 면의 정점을 평행 이동시킨 후), 단일 폐곡면을 유지하도록 스케일링된 면의 위치를 기초로 테두리를 스케일링(즉, 테두리의 정점을 면의 정점 위치로 평행 이동)할 수 있다. That is, after the data transformation device scales the face (i.e., after translating the vertices of the face), it scales the border based on the position of the scaled face to maintain a single closed surface (i.e., the vertex of the border is converted to that of the face). can be translated to the vertex position).
다만, 여기서 발생할 수 있는 한 가지 문제점은, 도 5에 도시한 바와 같이 면과 테두리의 변환 형태/방식이 다르며, 임의의 폴리곤은 이웃한 폴리곤과 정점 정보를 공유하지 않는다는 점이다. 따라서, 테두리가 면과의 경계선에서 인접한 면의 폴리곤이 갖는 노멀 벡터의 방향을 참조할 수가 없다는 문제가 발생한다. 테두리는 평행 이동된 면의 위치를 정확히 알고 이를 기준으로/참조하여 스케일링(또는 평행 이동)되어야 단일 폐곡면의 유지가 가능하기 때문이다. 즉, 각자의 위치를 참조하지 않고 스케일링되는 경우, 면과 테두리 사이의 간격이 벌어지게되어 단일 폐곡면이 유지되지 않아, 3D 프린터 출력 시 3D 모델링 객체의 전체 형상이 유지되지 않거나 아예 출력이 불가능한 경우가 발생할 수 있다. However, one problem that may occur here is that, as shown in FIG. 5 , the conversion form/method of a face and a border is different, and any polygon does not share vertex information with a neighboring polygon. Accordingly, there arises a problem that the border cannot refer to the direction of the normal vector of the polygon of the adjacent face at the boundary line with the face. This is because a single closed curved surface can be maintained only when the edge accurately knows the position of the parallelized surface and scaled (or translated) based on/referring to it. In other words, when scaling without referring to their respective positions, a single closed curved surface is not maintained because the gap between the surface and the border is widened. may occur.
이러한 문제점을 해결하기 위하여, 본 명세서에서는 3D CAD 데이터의 자료 구조를 모든 폴리곤이 정점의 기하 정보를 참조할 수 있도록 변환하는 방법을 제안한다. 개략적으로 설명하면, 데이터 변환 장치는 컨테이너 노드(즉, 3D 모델링 객체)를 구성하는 모든 정점에 대한 정점 리스트를 생성하고, 모든 폴리곤이 해당 정점 리스트의 접근 가능하도록 3D CAD 데이터를 변환할 수 있다. 나아가, 데이터 변환 장치는 면의 스케일링(또는 평행 이동)에 따라 면에 포함된 정점의 위치를 실시간으로 업데이트할 수 있으며, 테두리는 이렇게 업데이트된 면의 정점의 위치를 참조하여 스케일링(또는 평행 이동)됨으로써 면과의 단일 폐곡면을 유지할 수 있다. In order to solve this problem, the present specification proposes a method of converting the data structure of 3D CAD data so that all polygons can refer to the geometric information of the vertices. Briefly, the data conversion apparatus may generate a vertex list for all vertices constituting a container node (ie, a 3D modeling object), and convert the 3D CAD data so that all polygons of the corresponding vertex list are accessible. Furthermore, the data conversion device can update the position of the vertices included in the face in real time according to the scaling (or translation) of the face, and the border is scaled (or translated) by referring to the updated position of the vertex of the face. As a result, it is possible to maintain a single closed curved surface with the surface.
이렇듯 정점 리스트를 기초로 데이터 변환하는 방법은 이하의 도 6 및 7(특히, 도 7의 S702, S703 및 S709 단계)을 참조하여 이하에서 상세히 후술하기로 한다.As such, a method of data transformation based on the vertex list will be described in detail below with reference to FIGS. 6 and 7 (in particular, steps S702, S703, and S709 of FIG. 7).
도 6 및 7은 본 발명의 일 실시예에 따른 3D 프린터 출력을 위한 3D CAD 데이터의 변환 방법에 관한 순서도이다. 6 and 7 are flowcharts of a method of converting 3D CAD data for output to a 3D printer according to an embodiment of the present invention.
특히, 도 7의 순서도는 도 6의 각 단계를 보다 세분화하여 도시한 순서도로서, 도 6의 S601 단계는 도 7의 S701 단계, 도 6의 S602 단계는 도 7의 S702 내지 S709 단계, 도 6의 S603 단계는 도 7의 S710 단계에 각각 대응한다.In particular, the flowchart of FIG. 7 is a flowchart illustrating each step of FIG. 6 in more subdivision. Step S601 of FIG. 6 is step S701 of FIG. 7, and step S602 of FIG. 6 is steps S702 to S709 of FIG. Step S603 corresponds to step S710 of FIG. 7 , respectively.
도 6 및 7을 참조하면, 우선 데이터 변환 장치는 3D CAD 데이터를 입력받을 수 있다(S601). 이때 입력되는 3D CAD 데이터는, 예를 들어, REV 파일/데이터에 해당할 수 있다(S701). 6 and 7, first, the data conversion apparatus may receive 3D CAD data (S601). At this time, the input 3D CAD data may correspond to, for example, REV file/data (S701).
다음으로, 데이터 변환 장치는 3D CAD 데이터에 포함된 3D 모델링 객체를 기설정된 비율로 축소(또는 스케일링)하여 3D CAD 데이터를 3D 프린터 출력용 데이터로 변환할 수 있다. 본 단계는 다음과 같이 도 7의 S702 내지 S709 단계로 세분화될 수 있다.Next, the data conversion apparatus may reduce (or scale) the 3D modeling object included in the 3D CAD data at a preset ratio to convert the 3D CAD data into data for output to a 3D printer. This step may be subdivided into steps S702 to S709 of FIG. 7 as follows.
우선, 데이터 변환 장치는 3D 모델링 객체에 포함되어 있는 모든 정점을 탐색하고 탐색한 정점에 대한 노멀 벡터를 획득할 수 있다(S702). 이를 위해, 데이터 변환 장치는 3D CAD 데이터에 포함된 컨테이너 노드를 리드(read)/읽어/인식하여, 3D 모델링 객체의 각 폴리곤을 구성하는 모든 정점 및 이들의 노멀 벡터를 탐색할 수 있다. First, the data conversion apparatus may search for all vertices included in the 3D modeling object and obtain a normal vector for the searched vertices (S702). To this end, the data conversion apparatus may read/read/recognize container nodes included in 3D CAD data, and search all vertices constituting each polygon of the 3D modeling object and their normal vectors.
이때, 데이터 변환 장치는 탐색된 정점 중 다른 정점과 중복되거나 기설정된 간격 이하로 인접한 정점(즉, 중복 정점)은 제외할 수 있다. In this case, the data conversion apparatus may exclude vertices (ie, overlapping vertices) that overlap with other vertices or are adjacent to each other by a predetermined interval or less among the found vertices.
도 8은 본 발명의 일 실시예에 따른 정점 중복 제거에 따른 면 그룹 및 테두리 그룹의 이동 변환을 예시한 도면이다.8 is a diagram illustrating movement transformation of a face group and an edge group according to vertex duplication removal according to an embodiment of the present invention.
특정 좌표를 중심으로 인접한 폴리곤들은 폴리곤별로 좌표를 각각 저장하고 있으므로, 인접한 폴리곤의 개수만큼 정점이 중복 저장되어 있다. 본 명세서에서는 이러한 폴리곤간의 중복 정점을 제거하는 대신, 폴리곤간 정점을 공유하는 방식을 제안하고자 한다. 이 경우, 도 8에 도시한 바와 같이, 면으로 판별된 폴리곤 그룹의 이동 시, 해당 폴리곤 그룹과 정점을 공유하고 있는 테두리 그룹 역시 면 그룹의 이동에 따라 자연스럽게 늘어나게 되는 효과가 발생하기 때문이다. 이에 대해서는 이하에서 보다 상세히 후술한다.Since the polygons adjacent to the specific coordinates each store coordinates for each polygon, the number of adjacent polygons is overlapped with vertices. In this specification, instead of removing such overlapping vertices between polygons, a method of sharing vertices between polygons is proposed. In this case, as shown in FIG. 8 , when the polygon group determined as a face is moved, the edge group sharing the vertex with the polygon group is also naturally stretched according to the movement of the face group. This will be described in more detail below.
다시 도 7을 참조하면, 다음으로, 데이터 변환 장치는 중복 제거된 정점 정보가 포함된 정점 리스트를 생성할 수 있다(S703). 보다 상세하게는, 데이터 변환 장치는 S702 단계에서 탐색된 모든 정점(중복 제외)별로 서로 다른 인덱스를 부여하여 정점 리스트를 생성할 수 있다(즉, 모든 정점에 대하여 인덱싱 작업을 수행하여 정점 리스트 생성). 데이터 변환 장치는, 각 정점별로 부여된 인덱스를, 3D CAD 데이터에 저장되어 있는 정점 정보에 기초하여 각 정점과 대응하는 폴리곤에 매칭하여 저장할 수 있다. 예를 들어, 정점 정보에 제1 정점과 제1 폴리곤이 상호 매칭되어 저장되어 있고 정점 리스트 생성에 따라 제1 정점에 제1 인덱스가 부여된 경우, 데이터 변환 장치는 제1 인덱스를 제1 폴리곤과 매칭하여 저장(또는 데이터를 생성)할 수 있다. Referring back to FIG. 7 , next, the data conversion apparatus may generate a vertex list including deduplicated vertex information ( S703 ). More specifically, the data conversion apparatus may generate a vertex list by assigning different indices to all vertices (excluding duplicates) found in step S702 (that is, indexing all vertices to generate the vertex list) . The data conversion apparatus may match and store an index assigned to each vertex to a polygon corresponding to each vertex based on vertex information stored in the 3D CAD data. For example, when the first vertex and the first polygon are stored in vertex information to match each other and the first index is assigned to the first vertex according to the generation of the vertex list, the data conversion device converts the first index to the first polygon You can match and store (or generate data).
이렇듯 컨테이너 노드를 구성하는 모든 정점(중복 제외)이 리스트-업/배열된 정점 리스트를 생성하고, 모든 폴리곤(특히, 테두리에 포함된 폴리곤)이 인덱스를 통해 정점 리스트에 접근 가능하도록 3D CAD 데이터를 변환할 수 있다. 그 결과, 정점 리스트에서 하나의 정점 인덱스와 매칭되어 저장되어 있는 폴리곤들은 기하학적으로 인접한 관계를 갖는 폴리곤들이라는 해석이 가능하며, 이는 앞서 중복 정점을 제외하여 정점 리스트를 생성함에 따른 부가적인 효과로 볼 수 있다. 나아가, 각 폴리곤별로 저장되어 있던 정점 정보를 통해 물리적으로도 해석 가능하게 되어, 데이터 변환 장치는 테두리의 기하학적 인접성을 탐색하기 위해 필요한 정점의 노멀 벡터를 참조할 수 있게 된다. 보다 상세하게는, 데이터 변환 장치는 면 그룹의 폴리곤을 평행 이동한 후 이동된 정점 위치로 정점 리스트를 업데이트할 수 있으며, 이 경우 테두리는 인덱스를 통해 정점 정보에 접근 가능하므로 테두리 이동에 참조되는 정점은 이미 업데이트가 완료된 정점이 된다. 그 결과, 데이터 변환 장치는 테두리 이동 시 면의 정확한 이동 위치를 알 수 있을 뿐 아니라(즉, 도 5에서 상술한 문제점 해결), 테두리 이동을 위한 참조 정점 정보를 별도로 업데이트/변환할 필요가 없다는 효과가 발생한다. In this way, all vertices (except duplicates) composing the container node create a list-up/arranged vertex list, and 3D CAD data is stored so that all polygons (especially polygons included in the border) can access the vertex list through an index. can be converted As a result, it is possible to interpret that polygons stored by matching one vertex index in the vertex list are polygons having a geometrically adjacent relationship. can Furthermore, it can be physically interpreted through the vertex information stored for each polygon, so that the data conversion apparatus can refer to the normal vector of the vertex required to search for geometrical adjacency of the border. More specifically, the data conversion device can update the vertex list with the moved vertex positions after translating the polygons of the face group. becomes a vertex that has already been updated. As a result, the data conversion device can know the exact movement position of the surface when moving the border (that is, solving the problem described above in FIG. 5), and there is no need to separately update/convert the reference vertex information for moving the border. occurs
구분된 면 및 테두리는 각각에 포함된 정점의 이동에 따라 평행 이동될 수 있으며, 이동된 정점에 관한 정보는 정점 리스트에 반영되어 업데이트될 수 있다. 정점 이동을 기초로 면 및 테두리를 스케일링하는 방식은 S708 단계에서 상세히 후술한다.The divided faces and edges may be moved in parallel according to the movement of the vertices included therein, and information about the moved vertices may be reflected and updated in the vertex list. A method of scaling a face and an edge based on the vertex movement will be described later in detail in step S708.
다음으로, 데이터 변환 장치는 면 벡터를 획득할 수 있다(S704). 여기서 면 벡터는 단일 면(face/polygon)이 가리키는 방향을 나타내는 노멀 벡터를 의미한다. 이러한 면 벡터는, 면을 이루는 연속된 세 정점이 이루는 두 벡터를 벡터곱(cross product)하여 계산하거나, 정점이 가진 정점 노멀 벡터를 모두 더한 후 정규화하여 산출될 수 있다. 이렇게 계산된 면 벡터는 이후에 면 그룹 판별 시 노멀 벡터 변화량의 변수로 사용되게 된다. Next, the data conversion apparatus may obtain a plane vector (S704). Here, the face vector refers to a normal vector indicating the direction a single face (face/polygon) points. Such a surface vector may be calculated by cross-producting two vectors formed by three consecutive vertices constituting the surface, or may be calculated by adding up all vertex normal vectors of the vertices and then normalizing them. The surface vector calculated in this way is used as a variable of the normal vector change amount when determining the surface group later.
다음으로, 데이터 변환 장치는 탐색된 모든 폴리곤으로 구성된 메쉬(즉, 3D 모델링 객체 메쉬)를 생성할 수 있다(S705). 다음으로, 데이터 변환 장치는 생성된 메쉬에서 면 그룹을 선별(S706)하여, 3D 모델링 객체에서 면과 테두리를 구분/선별할 수 있다(S707). 면과 테두리의 구분 방법은 3D 모델링 객체가 곡면을 이루는지 여부에 따라 크게 2가지로 구분되며, 곡면이 아닐 경우에는 도 4에서 상술한 기술이 적용될 수 있다. 3D 모델링 객체가 곡면을 이루는 경우에는, 도 9에서 후술하는 기술이 적용될 수 있다.Next, the data conversion apparatus may generate a mesh (ie, a 3D modeling object mesh) composed of all the found polygons (S705). Next, the data conversion apparatus may select a face group from the generated mesh (S706) to classify/select a face and an edge in the 3D modeling object (S707). A method of distinguishing a surface and an edge is largely divided into two types depending on whether the 3D modeling object forms a curved surface, and when the 3D modeling object is not a curved surface, the technique described above in FIG. 4 may be applied. When the 3D modeling object forms a curved surface, the technique described later in FIG. 9 may be applied.
도 9는 본 발명의 일 실시예에 따른 면과 테두리를 구분/선별하는 실시예를 예시하는 도면이다.9 is a diagram illustrating an embodiment of dividing/selecting a surface and an edge according to an embodiment of the present invention.
도 9에 도시한 바와 같이, 데이터 변환 장치는 폴리곤 노멀 벡터의 변화량에 기초하여 꺾이는 부분을 판별하여 3D 모델링 객체가 곡면을 이루는지 판단할 수 있으며, 만일 곡면을 이룬다고 판단된 경우 각 면의 넓이를 기초로 면과 테두리를 구별/선별할 수 있다. 보다 상세하게는, 데이터 변환 장치는 이웃한 두 면의 노멀 벡터가 이루는 사잇각을 변화량으로 하여, 두 사잇각이 임계값 이내이면 완만하게 변하는 면으로 판단할 수 있으며, 임계값을 벗어나면 급격히 꺾이는 부분으로 판단할 수 있다. 이때 사용되는 임계값은, 반복 실험을 통해 면 그룹을 기설정된 비율 이상의 정확도로 판별할 수 있는 값으로 heuristic하게 도출될 수 있다. 데이터 변환 장치는 곡면을 이루는 3D 모델링 객체에서 각 면의 넓이를 계산하고, 가장 넓은 면을 상하면(즉, 면 그룹)으로 구분/선별하고, 이외의 면을 측면(즉, 테두리 그룹)으로 구분/선별할 수 있다. As shown in FIG. 9 , the data conversion apparatus may determine whether the 3D modeling object forms a curved surface by determining the bent portion based on the amount of change of the polygon normal vector, and if it is determined that the 3D modeling object forms a curved surface, the area of each surface You can distinguish/select faces and borders based on More specifically, the data conversion device can determine the surface that changes smoothly when the angle between the two adjacent surfaces is within the threshold value by using the angle between the normal vectors of the two adjacent surfaces as the amount of change, can judge The threshold value used at this time may be derived heuristically as a value capable of discriminating a face group with an accuracy greater than or equal to a preset ratio through repeated experiments. The data conversion device calculates the area of each face in the 3D modeling object constituting the curved surface, divides/selects the widest face into upper/lower (i.e., face group), and separates/selects other faces into side (i.e., border group) can be selected.
다시 도 7을 참조하면, 다음으로, 데이터 변환 장치는 구분된 면과 테두리에 서로 다른 스케일링 방식을 적용함으로써 3D CAD 데이터를 3D 프린터 출력용 데이터로 변환할 수 있다(S708). 보다 상세하게는, 데이터 변환 장치는 우선 구분된 면을, 구분된 면의 정점이 갖는 노멀 벡터의 방향으로, 스케일링/축소 비율 및 기설정된 최소 두께(예를 들어, 2㎜)를 고려하여 도출된 변위만큼 평행 이동시킬 수 있다. 면의 평행 이동을 완료한 후, 데이터 변환 장치는 구분된 테두리를, 이동된 면의 정점 위치를 참조하여, 테두리 면의 노멀 벡터 방향에 대하여 수직이고 테두리 면의 면 방향과 평행한 방향으로 이동시킬 수 있다.Referring back to FIG. 7 , next, the data conversion apparatus may convert 3D CAD data into data for 3D printer output by applying different scaling methods to the divided faces and edges ( S708 ). In more detail, the data conversion apparatus first calculates the divided surface in the direction of the normal vector that the vertex of the divided surface has, considering the scaling/reduction ratio and the preset minimum thickness (eg, 2 mm). It can be translated as much as the displacement. After completing the parallel movement of the face, the data conversion device moves the divided border in a direction perpendicular to the normal vector direction of the border face and parallel to the face direction of the border face with reference to the vertex position of the moved face. can
도 10은 본 발명의 일 실시예에 따른 정점의 노멀 벡터의 획득 방법을 예시한다.10 illustrates a method of obtaining a normal vector of a vertex according to an embodiment of the present invention.
S708 단계에서 사용되는 정점 노멀 벡터는, 정점 중복 제거 전 중복된/공유된 각 정점이 갖는 노멀 벡터를 모두 더하여 구해진 평균 노멀 벡터(본 도면 참조)를 의미할 수 있다. 이러한 정점 노멀 벡터는 정점 중복 제거 동작 시 획득되어 각 정점에 대한 정보와 함께 저장될 수 있다. 정점 노멀 벡터 획득 시, 테두리에 속한 정점의 노멀 벡터는 포함되지 않는다.The vertex normal vector used in step S708 may mean an average normal vector (refer to this figure) obtained by adding all normal vectors of each overlapping/shared vertex before vertex deduplication. Such a vertex normal vector may be obtained during a vertex deduplication operation and stored together with information about each vertex. When obtaining the vertex normal vector, the normal vector of the vertex belonging to the border is not included.
즉, 데이터 변환 장치는 먼저 면을 스케일링하여 이동시킨 후, 이동된 면과 테두리가 상호 연결되어 단일 폐곡면을 형성하도록 이동된 면의 정점 위치를 참조하여 면의 이동 방향으로 테두리를 평행 이동시키는 방식으로 스케일링을 수행할 수 있다. 특히, 데이터 변환 장치는 면 및 테두리의 스케일링(또는 평행 이동)에 정점 및 정점 리스트를 다음과 같이 활용할 수 있다.That is, the data conversion device first scales and moves the face, and then moves the border in the direction of movement of the face in parallel with reference to the vertex position of the moved face so that the moved face and the edge are interconnected to form a single closed curved surface. scaling can be performed. In particular, the data conversion apparatus can utilize vertices and vertex lists for scaling (or translation) of faces and edges as follows.
일 실시예로서, 데이터 변환 장치는 면을 평행 이동시키는 데 있어서, 우선 인덱스가 부여된 면의 모든 정점을, 각 정점이 갖는 노멀 벡터의 방향으로 기설정된 변위만큼 평행 이동시킬 수 있다. 이를 수학식으로 표현하면 수학식 1과 같으며, 기설정된 변위는 수학식 2에 의해 도출될 수 있다.As an embodiment, in translating the plane, the data conversion apparatus may first move all vertices of the indexed plane in parallel by a predetermined displacement in the direction of a normal vector of each vertex. If this is expressed as an equation, it is the same as in Equation 1, and a preset displacement may be derived by Equation 2.
Figure PCTKR2022005555-appb-M000001
Figure PCTKR2022005555-appb-M000001
수학식 1에서, P는 평행 이동 후 정점 좌표, Po는 평행 이동 전 정점 좌표, d는 기설정된 변위,
Figure PCTKR2022005555-appb-I000001
는 평행 이동 전 정점의 노멀 벡터를 각각 의미한다.
In Equation 1, P is the vertex coordinates after translation, Po is the vertex coordinates before translation, d is a preset displacement,
Figure PCTKR2022005555-appb-I000001
are the normal vectors of the vertices before translation, respectively.
Figure PCTKR2022005555-appb-M000002
Figure PCTKR2022005555-appb-M000002
수학식 2에서, S는 기설정된 비율(스케일링 비율), Lr은 3D 모델링 객체의 실제 크기, Lp는 3D 모델링 객체의 3D 프린터 출력 크기, tp는 기설정된 두께이다. 특히, 기설정된 두께는 사용자가 의도하는 3D 프린터 출력 두께로서, 앞서 상술한 최소 두께 이상인 범위 내에서 사용자에 의해 상수 값으로 직접 설정/입력될 수 있다. 이렇듯 수학식 2를 통해, 3D 모델링 객체의 두께가 기설정된 두께 이상인 값으로 설정되므로, 3D 프린터기의 해상도 범위가 만족될 뿐 아니라 특정 수준 이상의 내구성을 갖춘 3D 모델링 객체의 출력이 가능하게 된다. In Equation 2, S is a preset ratio (scaling ratio), Lr is an actual size of the 3D modeling object, Lp is a 3D printer output size of the 3D modeling object, and tp is a preset thickness. In particular, the preset thickness is a 3D printer output thickness intended by the user, and may be directly set/input as a constant value by the user within a range equal to or greater than the above-mentioned minimum thickness. As such, through Equation 2, since the thickness of the 3D modeling object is set to a value equal to or greater than the preset thickness, the resolution range of the 3D printer is satisfied, and the output of a 3D modeling object having durability above a certain level is possible.
데이터 변환 장치는 수학식 1 및 2에 따라 이동된 정점의 위치를 반영하여 정점 리스트를 업데이트할 수 있으며, 이렇게 업데이트된 정점 리스트의 정점 위치를 참조하여 테두리를 이동시킬 수 있다. The data conversion apparatus may update the vertex list by reflecting the positions of the vertices moved according to Equations 1 and 2, and may move the border with reference to the vertex positions of the updated vertex list.
보다 상세하게는, 데이터 변환 장치는 구분된 테두리에 포함된 폴리곤별로 매칭되어 있는 인덱스를 업데이트된 정점 리스트에서 검색하여 업데이트된 정점의 위치를 획득할 수 있다. 데이터 변환 장치는 이렇게 획득한 정점의 위치를 참조하여, 테두리를 노멀 벡터 방향에 대하여 수직이면서 테두리의 면 방향과 평행한 방향으로 이동시킬 수 있다. In more detail, the data conversion apparatus may obtain the updated position of the vertex by searching the updated vertex list for an index matched for each polygon included in the divided border. The data conversion apparatus may move the edge in a direction perpendicular to the normal vector direction and parallel to the plane direction of the edge with reference to the obtained position of the vertex.
다시 말하면, 면과 테두리간 공유하고 있던 정점이 면의 이동에 따라 이동됨으로써, 결과적으로 이동한 정점을 공유하는 테두리 역시 면의 이동에 따라 자연스럽게 함께 이동하게 되는 효과가 발생하게 된다. 즉, 데이터 변환 장치는 면 그룹만 이동시키더라도 테두리와의 정점 공유로 인해 테두리 역시 자동으로 면 그룹과 폐곡면을 유지하면서 이동하는 효과가 발생하게 되는 것이다. 메시의 모든 폴리곤들은 자신의 정점을 정점 리스트에서 참조한다. 그에 따라 물리적으로 인접한, 이웃한 폴리곤들은 특정 정점을 공유하게 된다. 이때 만일 면을 이루는 폴리곤과 테두리를 이루는 폴리곤이 특정 정점을 공유한다면, 면을 이루는 폴리곤이 면 벡터 방향으로 이동 변환됨에 따라 공유 중인 정점의 위치가 정점 리스트에서 업데이트되면, 테두리를 이루는 폴리곤은 업데이트된 정점을 참조함으로써 변경된 정점의 위치가 자동으로 반영되게 되는 것이다. 그 결과, 폐곡면을 이루면서도 의도된 스케일링 비율로, 면의 변형에 따라 테두리의 폴리곤이 자동으로 변형될 수 있다.In other words, since the vertices shared between the face and the edge are moved according to the movement of the face, as a result, the edge sharing the moved vertex is also naturally moved along with the movement of the face. That is, even if the data conversion apparatus moves only the face group, due to the sharing of vertices with the border, the border automatically moves while maintaining the face group and the closed surface. All polygons in the mesh refer to their vertices in the vertex list. As a result, physically adjacent, neighboring polygons share a specific vertex. At this time, if the polygon forming the face and the polygon forming the border share a specific vertex, the position of the shared vertex is updated in the vertex list as the polygon forming the face is moved and transformed in the face vector direction. By referencing the vertex, the changed position of the vertex is automatically reflected. As a result, the polygon of the edge may be automatically deformed according to the deformation of the surface at the intended scaling ratio while forming a closed curved surface.
다시 도 7을 참조하면, 데이터 변환 장치는 상술한 S702 내지 S709 단계를 순차적으로 수행함에 따라 3D CAD 데이터를 3D 프린터 출력용 데이터로 변환할 수 있다. 데이터 변환 장치는 3D 프린터 출력용 데이터를 3D 프린터로 전송하여(S603) 3D 프린터가 스케일링된 3D 모델링 객체를 3D 프린트하도록 할 수 있다(S709). Referring back to FIG. 7 , the data conversion apparatus may convert 3D CAD data into data for 3D printer output by sequentially performing steps S702 to S709 described above. The data conversion apparatus may transmit data for 3D printer output to the 3D printer (S603) so that the 3D printer 3D prints the scaled 3D modeling object (S709).
도 6 및 7 순서도에서 제안된 각 단계는, 3D CAD 데이터 변환 방법을 수행하도록 설계된 어플리케이션/프로그램의 기능/오퍼레이션으로 해석될 수 있다. 이와 유사하게, 도 6 및 7 순서도에서 제안된 각 단계는, 기능에 따라 구분된 데이터 변환 장치의 각 구성 요소에 의해 수행되는 것으로 해석될 수 있다. Each step proposed in the flowcharts of FIGS. 6 and 7 may be interpreted as a function/operation of an application/program designed to perform the 3D CAD data conversion method. Similarly, each of the steps proposed in the flowcharts of FIGS. 6 and 7 may be interpreted as being performed by each component of the data conversion apparatus classified according to a function.
도 11은 본 발명의 일 실시예에 따른 3D CAD 데이터 변환 방법에 따라 변환된 3D 모델링 객체의 렌더링 이미지를 예시한다. 11 illustrates a rendered image of a 3D modeling object converted according to a 3D CAD data conversion method according to an embodiment of the present invention.
특히, 도 11(a)는 3D CAD 데이터의 3D 모델링 객체 원본이며, 도 11(b)는 본 발명의 실시예에 따라 변환된 3D 프린터 출력용 데이터의 3D 모델링 객체 스케일링본(또는 축소본)이며, 도 11(c)는 도 11(a)의 부분 확대도이며, 도 11(d)는 도 11(b)의 부분 확대도이다. In particular, Fig. 11 (a) is an original 3D modeling object of 3D CAD data, and Fig. 11 (b) is a 3D modeling object scaled version (or reduced version) of data for 3D printer output converted according to an embodiment of the present invention, Fig. 11(c) is a partially enlarged view of Fig. 11(a), and Fig. 11(d) is a partially enlarged view of Fig. 11(b).
본 도면은 Lr은 25,000㎜, Lp는 250㎜, d는 200㎜로 각각 설정된 상황에서 도출된 렌더링 이미지이다. This figure is a rendering image derived from a situation where Lr is 25,000 mm, Lp is 250 mm, and d is 200 mm, respectively.
도 11을 참조하면, 3D 모델링 객체의 원본의 비율과 형상/형태는 그대로 유지된 상태로 축소되되, 각 구성 요소별 두께(혹은 테두리의 폭)만 확대된 것을 확인할 수 있다. 즉, 본 명세서에서 제안된 실시예에 따르면, 3D CAD 데이터에 포함된 3D 모델링 객체는, 3D 프린터 출력을 위하여 스케일링/축소 변환되더라도, 소실되는 구성 없이 일정 수준의 내구성을 갖춘 상태로 3D 프린터 출력될 수 있다는 효과가 있다. Referring to FIG. 11 , it can be seen that the original ratio and shape/form of the 3D modeling object are reduced while being maintained, but only the thickness (or the width of the border) of each component is enlarged. That is, according to the embodiment proposed in this specification, even if the 3D modeling object included in the 3D CAD data is scaled/reduced for output to the 3D printer, the 3D printer will be outputted with a certain level of durability without a lost configuration. It has the effect that it can.
한편, 본 도면에는 도시하지 않았으나, 3D 모델링 객체의 일부 구성을 의도적으로 소실함으로써 3D 프린터 출력용 데이터를 생성하는 실시예도 제안될 수 있다.Meanwhile, although not shown in this drawing, an embodiment in which data for output to a 3D printer is generated by intentionally losing some configuration of a 3D modeling object may also be proposed.
본 명세서에서 제안된 실시예에 따르면, 3D 모델링 객체를 3D 프린터로 출력 가능한 크기로 축소 변환/스케일링하되, 두께는 최소 두께 이상으로 유지시키므로 특정 구성/요소에 대해서는 부분적으로 확대 변환/스케일링되는 효과가 발생한다. 그 결과, 구성간의 간격은 짧아지지만, 구성 자체의 두께는 확대 혹은 유지되어 분리되어 있던 구성들이 상호 접촉되거나 오버랩되는 경우가 발생할 수 있다. 이 경우, 3D 프린터 출력 시 3D 모델링 객체의 외형/형상이 원본과 다르게 출력되는 문제가 발생할 수 있다. 따라서, 본 명세서에서는, 데이터 변환 결과 상술한 바와 같이 기설정된 간격 미만으로 짧아지거나 상호 오버랩되는 구성들이 탐색되는 경우, 해당 구성들을 하나의 구성으로 통합하는 방법에 대해 제안한다. According to the embodiment proposed in this specification, the 3D modeling object is reduced and converted/scaled to a size that can be printed with a 3D printer, but the thickness is maintained above the minimum thickness, so the effect of partially expanding/converting/scaling for a specific component/element is Occurs. As a result, although the interval between the components is shortened, the thickness of the components itself is enlarged or maintained, so that the separated components may contact each other or overlap each other. In this case, when the 3D printer is output, there may be a problem in that the appearance/shape of the 3D modeling object is output differently from the original. Accordingly, in the present specification, as a result of data conversion, when configurations that are shorter than a predetermined interval or overlap each other are found as described above, a method for integrating the configurations into one configuration is proposed.
즉, 데이터 변환 장치는 상기 조건을 만족하는 구성들이 발견된 경우, 해당 구성들을 하나의 구성으로 통합하거나 이들 중 어느 하나의 구성을 의도적으로 삭제/소실시켜 데이터를 변환할 수 있다. 예를 들어, 데이터 변환 장치는 서로 접촉되거나 중첩된 제1 및 제2 기둥 구성을 발견한 경우, 상기 제1 및 제2 기둥 구성을 제3 구성으로 통합하거나 제1 또는 제2 기둥 구성을 의도적으로 삭제/소실시킬 수 있다. 전자의 경우, 제3 구성의 위치는 제1 및 제2 기둥 구성의 중심에 배치될 수 있다. That is, when the components satisfying the above condition are found, the data conversion apparatus may convert the data by integrating the components into one component or by intentionally deleting/losing any one of the components. For example, when the data conversion device finds first and second pillar configurations in contact with or overlapping each other, the first and second pillar configurations are integrated into the third configuration, or the first or second pillar configurations are intentionally combined. Can be deleted/deleted. In the former case, the position of the third configuration may be disposed at the center of the first and second pillar configurations.
다만, 본 실시예의 수행되기 위한 전제 조건으로는, 대체되거나 소실되는 대상이 되는 구성들은 모두 동일/유사한 형상/외형을 갖는 구성임을 전제로 한다. 상기 예시를 기초로 설명하면, 대체 또는 소실 대상이 되는 제1 및 제2 기둥은 동일한 기하학적 속성(예를 들어, 높이, 형상, 외형, 두께, 크기 등)을 가짐을 전제로 한다.However, as a precondition for carrying out the present embodiment, it is premised that the components to be replaced or lost are all components having the same/similar shape/outer appearance. When described based on the above example, it is assumed that the first and second pillars to be replaced or lost have the same geometric properties (eg, height, shape, appearance, thickness, size, etc.).
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Embodiments according to the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof. In the case of implementation by hardware, an embodiment of the present invention provides one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), FPGAs ( field programmable gate arrays), a processor, a controller, a microcontroller, a microprocessor, and the like.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of implementation by firmware or software, an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored in a recording medium readable through various computer means. can be recorded. Here, the recording medium may include a program command, a data file, a data structure, etc. alone or in combination. The program instructions recorded on the recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. For example, the recording medium includes a magnetic medium such as a hard disk, a floppy disk, and a magnetic tape, an optical recording medium such as a compact disk read only memory (CD-ROM), a digital video disk (DVD), and a floppy disk. magneto-optical media, such as a disk, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes such as those generated by a compiler. Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
아울러, 본 발명에 따른 장치나 단말은 하나 이상의 프로세서로 하여금 앞서 설명한 기능들과 프로세스를 수행하도록 하는 명령에 의하여 구동될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다. 나아가 본 발명에 따른 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치에서 구현될 수도 있다.In addition, the device or terminal according to the present invention may be driven by a command that causes one or more processors to perform the functions and processes described above. For example, such instructions may include interpreted instructions, such as script instructions, such as JavaScript or ECMAScript instructions, or executable code or other instructions stored on a computer-readable medium. Furthermore, the device according to the present invention may be implemented in a distributed manner over a network, such as a server farm, or may be implemented in a single computer device.
또한, 본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.Further, a computer program (also known as a program, software, software application, script or code) mounted on the device according to the invention and executing the method according to the invention includes compiled or interpreted language or a priori or procedural language. It can be written in any form of programming language, and can be deployed in any form, including stand-alone programs, modules, components, subroutines, or other units suitable for use in a computer environment. A computer program does not necessarily correspond to a file in a file system. A program may be placed in a single file provided to the requested program, or in multiple interacting files (eg, files that store one or more modules, subprograms, or portions of code), or portions of files that hold other programs or data. (eg, one or more scripts stored within a markup language document). A computer program may be deployed to be executed on a single computer or multiple computers located at one site or distributed over a plurality of sites and interconnected by a communication network.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시예들을 병합하여 새로운 실시예를 구현하도록 설계하는 것도 가능하다. 또한, 본 발명은 상술한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.Although each drawing has been described separately for convenience of description, it is also possible to design to implement a new embodiment by merging the embodiments described in each drawing. In addition, the present invention is not limited to the configuration and method of the embodiments described as described above, but the above-described embodiments are configured by selectively combining all or part of each embodiment so that various modifications can be made. it might be
또한, 이상에서는 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 명세서는 상술한 특정의 실시예에 한정되지 아니하며, 청구 범위에서 청구하는 요지를 벗어남이 없이 당해 명세서가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 명세서의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.In addition, although preferred embodiments have been illustrated and described above, the present specification is not limited to the specific embodiments described above, and those of ordinary skill in the art to which the specification belongs without departing from the gist of the claims Various modifications are possible by the person, of course, these modifications should not be individually understood from the technical spirit or perspective of the present specification.

Claims (22)

  1. 3D(Dimension) 프린터 출력을 위한 3D CAD(Computer Aided Design) 데이터의 변환 방법에 있어서,A method of converting 3D CAD (Computer Aided Design) data for 3D (Dimension) printer output, the method comprising:
    상기 3D CAD 데이터를 입력받는 단계;receiving the 3D CAD data;
    상기 3D CAD 데이터에 포함된 3D 모델링 객체를 기설정된 비율로 축소하여, 상기 3D CAD 데이터를 3D 프린터 출력용 데이터로 변환하는 단계; 및reducing the 3D modeling object included in the 3D CAD data to a preset ratio, and converting the 3D CAD data into data for output to a 3D printer; and
    상기 3D 프린터 출력용 데이터를 상기 3D 프린터로 전송하는 단계; 를 포함하되,transmitting the data for output to the 3D printer to the 3D printer; including,
    상기 3D CAD 데이터를 상기 3D 프린터 출력용 데이터로 변환하는 단계는,The step of converting the 3D CAD data into the data for output to the 3D printer comprises:
    상기 3D 모델링 객체에서 면 및 테두리를 구분하는 단계;distinguishing a face and a border from the 3D modeling object;
    상기 구분된 면을, 상기 구분된 면의 정점(vertex)이 갖는 제1 노멀(normal) 벡터의 방향으로, 상기 기설정된 비율 및 기설정된 두께를 고려하여 도출된 변위만큼 평행 이동시키는 단계; 및moving the divided surface in parallel by a displacement derived in consideration of the predetermined ratio and predetermined thickness in the direction of a first normal vector of a vertex of the divided surface; and
    상기 구분된 테두리를, 상기 평행 이동된 면의 정점 위치를 참조하여, 테두리 면의 제2 노멀 벡터 방향에 대하여 수직이고 상기 테두리 면의 면 방향과 평행한 방향으로 이동시키는 단계; 를 포함하는, 3D 프린터 출력을 위한 3D CAD 데이터 변환 방법.moving the divided edge in a direction perpendicular to a second normal vector direction of the edge surface and parallel to the surface direction of the edge surface with reference to the vertex position of the parallel-moved surface; Containing, 3D CAD data conversion method for 3D printer output.
  2. 제 1 항에 있어서,The method of claim 1,
    상기 면 및 테두리를 구분하는 단계는, The step of separating the face and the border is,
    상기 3D 모델링 객체를 구성하는 모든 폴리곤(Polygon)을 탐색하는 단계;searching for all polygons constituting the 3D modeling object;
    상기 탐색된 폴리곤을 속성별로 면 그룹 또는 테두리 그룹으로 그룹핑하는 단계; grouping the found polygons into face groups or border groups by properties;
    상기 모든 폴리곤으로 구성된 메쉬를 생성하는 단계; generating a mesh composed of all the polygons;
    상기 생성된 메쉬에서 상기 면 그룹을 선별하고, 상기 선별된 면 그룹간 간격을 계산하는 단계; 및selecting the face group from the generated mesh and calculating an interval between the selected face groups; and
    상기 계산된 간격에 따라 상기 면 그룹 또는 상기 테두리 그룹이 정렬된 데이터 구조를 생성하는 단계; 를 포함하는, 3D 프린터 출력을 위한 3D CAD 데이터 변환 방법.generating a data structure in which the face group or the edge group is arranged according to the calculated interval; Containing, 3D CAD data conversion method for 3D printer output.
  3. 제 2 항에 있어서,3. The method of claim 2,
    상기 탐색된 폴리곤을 상기 속성별로 그룹핑하는 단계는,The step of grouping the searched polygons by the properties comprises:
    상기 탐색된 폴리곤 각각을 대표하는 노멀 벡터를 추출하는 단계;extracting a normal vector representing each of the searched polygons;
    상기 탐색된 폴리곤 중 인접한 폴리곤들로부터 추출된 노멀 벡터간의 사잇각이 기설정된 각도 범위 이하인 경우 상기 인접한 폴리곤들을 상기 면 그룹으로 그룹핑하고, 상기 추출된 노멀 벡터간의 사잇각이 상기 기설정된 각도 범위를 초과하는 경우 상기 인접한 폴리곤을 상기 테두리 그룹으로 그룹핑하는 단계; 를 포함하는, 3D 프린터 출력을 위한 3D CAD 데이터 변환 방법.When the angle between normal vectors extracted from adjacent polygons among the searched polygons is less than or equal to a preset angle range, the adjacent polygons are grouped into the face group, and the angle between the extracted normal vectors exceeds the preset angle range grouping the adjacent polygons into the border group; Containing, 3D CAD data conversion method for 3D printer output.
  4. 제 1 항에 있어서,The method of claim 1,
    상기 3D CAD 데이터에, 상기 3D 모델링 객체를 구성하는 폴리곤별 정점 정보가 포함되어 있는 경우, 상기 3D CAD 데이터를 상기 3D 프린터 출력용 데이터로 변환하는 단계는,When the 3D CAD data includes vertex information for each polygon constituting the 3D modeling object, converting the 3D CAD data into the data for output to the 3D printer includes:
    상기 3D 모델링 객체에 포함된 모든 정점을 탐색하는 단계;searching for all vertices included in the 3D modeling object;
    상기 탐색된 정점별로 서로 다른 인덱스를 부여하여 정점 리스트를 생성하는 단계; 및generating a vertex list by assigning different indices to each of the found vertices; and
    각 정점별로 부여된 인덱스를, 상기 정점 정보에 기초하여 상기 각 정점과 대응되는 폴리곤에 매칭하여 저장하는 단계; 를 포함하는, 3D 프린터 출력을 위한 3D CAD 데이터 변환 방법.storing an index assigned to each vertex by matching with a polygon corresponding to each vertex based on the vertex information; Containing, 3D CAD data conversion method for 3D printer output.
  5. 제 4 항에 있어서,5. The method of claim 4,
    상기 정점 리스트를 생성하는 단계는, The step of generating the vertex list comprises:
    상기 탐색된 정점 중 다른 정점과 중복되거나 기설정된 간격 이하로 인접한 정점을 제외하여 상기 정점 리스트를 생성하는 단계인, 3D 프린터 출력을 위한 3D CAD 데이터 변환 방법.and generating the vertex list by excluding vertices that overlap with other vertices or are adjacent to each other by a predetermined interval or less among the searched vertices.
  6. 제 4 항에 있어서,5. The method of claim 4,
    상기 구분된 면을 평행 이동시키는 단계는, The step of moving the divided surface in parallel is,
    상기 인덱스가 부여된 상기 면의 모든 정점을, 상기 제1 노멀 벡터의 방향으로 상기 도출된 변위만큼 평행 이동시키는 단계; 및moving all the vertices of the surface to which the index is assigned in parallel by the derived displacement in the direction of the first normal vector; and
    상기 이동된 정점의 위치를 반영하여 상기 정점 리스트를 업데이트하는 단계; 을 포함하는, 3D 프린터 출력을 위한 3D CAD 데이터 변환 방법.updating the vertex list by reflecting the position of the moved vertex; A 3D CAD data conversion method for 3D printer output, including.
  7. 제 6 항에 있어서,7. The method of claim 6,
    상기 면의 모든 정점을 평행 이동시키는 단계는, 수학식 1을 기초로 수행되는, 3D 프린터 출력을 위한 3D CAD 데이터 변환 방법.The step of translating all the vertices of the surface is performed based on Equation 1, 3D CAD data conversion method for 3D printer output.
    [수학식 1][Equation 1]
    Figure PCTKR2022005555-appb-I000002
    Figure PCTKR2022005555-appb-I000002
    상기 P는 평행 이동 후 정점 좌표, 상기 Po는 평행 이동 전 정점 좌표, 상기 d는 상기 도출된 변위, 상기
    Figure PCTKR2022005555-appb-I000003
    는 상기 평행 이동 전 정점의 제1 노멀 벡터임.
    wherein P is the vertex coordinates after translation, Po is the vertex coordinates before translation, and d is the derived displacement, the
    Figure PCTKR2022005555-appb-I000003
    is the first normal vector of the vertex before the translation.
  8. 제 7 항에 있어서,8. The method of claim 7,
    상기 다른 정점과 중복된 정점의 제1 노멀 벡터는, 중복된 각 정점이 갖는 노멀 벡터를 모두 더하여 구해진 평균 노멀 벡터로 정의되는, 3D 프린터 출력을 위한 3D CAD 데이터 변환 방법.The 3D CAD data conversion method for 3D printer output, wherein the first normal vector of the vertex overlapping with the other vertices is defined as an average normal vector obtained by adding all of the normal vectors of each overlapping vertex.
  9. 제 7 항에 있어서,8. The method of claim 7,
    상기 변위는 수학식 2를 기초로 도출되는, 3D 프린터 출력을 위한 3D CAD 데이터 변환 방법.The displacement is derived based on Equation 2, 3D CAD data conversion method for 3D printer output.
    [수학식 2][Equation 2]
    Figure PCTKR2022005555-appb-I000004
    Figure PCTKR2022005555-appb-I000004
    상기 S는 상기 기설정된 비율, 상기 Lr은 상기 3D 모델링 객체의 실제 크기, 상기 Lp는 상기 3D 모델링 객체의 3D 프린터 출력 크기, 상기 tp는 상기 기설정된 두께임.wherein S is the preset ratio, Lr is the actual size of the 3D modeling object, Lp is the 3D printer output size of the 3D modeling object, and tp is the preset thickness.
  10. 제 9 항에 있어서,10. The method of claim 9,
    상기 기설정된 두께는, The predetermined thickness is,
    상기 3D 프린터의 해상도 이상인 두께 범위에서 사용자에 의해 입력되는 상수 값인, 3D 프린터 출력을 위한 3D CAD 데이터 변환 방법.3D CAD data conversion method for 3D printer output, which is a constant value input by a user in a thickness range equal to or greater than the resolution of the 3D printer.
  11. 제 6 항에 있어서,7. The method of claim 6,
    상기 구분된 테두리를 이동시키는 단계는, The step of moving the divided border is,
    상기 구분된 테두리에 포함된 폴리곤별로 매칭되어 있는 인덱스를 상기 업데이트된 정점 리스트에서 검색하는 단계; searching the updated vertex list for an index matched for each polygon included in the divided border;
    검색한 인덱스와 대응되어 저장되어 있는 업데이트된 정점의 위치를 획득하는 단계; 및obtaining a position of an updated vertex stored in correspondence with the searched index; and
    상기 업데이트된 정점의 위치를 참조하여 상기 구분된 테두리를 상기 제2 노멀 벡터 방향에 대하여 수직이고 상기 테두리 면의 면 방향과 평행한 방향으로 이동시키는 단계; 를 포함하는, 3D 프린터 출력을 위한 3D CAD 데이터 변환 방법.moving the divided edge in a direction perpendicular to the second normal vector direction and parallel to the surface direction of the edge face with reference to the updated vertex position; Containing, 3D CAD data conversion method for 3D printer output.
  12. 3D(Dimension) 프린터 출력을 위한 3D CAD(Computer Aided Design) 데이터의 변환 프로그램에 있어서,In the conversion program of 3D CAD (Computer Aided Design) data for 3D (Dimension) printer output,
    상기 3D CAD 데이터를 입력받는 오퍼레이션;an operation for receiving the 3D CAD data;
    상기 3D CAD 데이터에 포함된 3D 모델링 객체를 기설정된 비율로 축소하여, 상기 3D CAD 데이터를 3D 프린터 출력용 데이터로 변환하는 오퍼레이션; 및an operation of reducing the 3D modeling object included in the 3D CAD data to a preset ratio and converting the 3D CAD data into data for output to a 3D printer; and
    상기 3D 프린터 출력용 데이터를 상기 3D 프린터로 전송하는 오퍼레이션; 을 수행하되,an operation of transmitting the data for output to the 3D printer to the 3D printer; do, but
    상기 3D CAD 데이터를 상기 3D 프린터 출력용 데이터로 변환하는 오퍼레이션은,The operation of converting the 3D CAD data into data for output to the 3D printer comprises:
    상기 3D 모델링 객체에서 면 및 테두리를 구분하는 오퍼레이션;an operation of distinguishing a face and a border in the 3D modeling object;
    상기 구분된 면을, 상기 구분된 면의 정점(vertex)이 갖는 제1 노멀(normal) 벡터의 방향으로, 상기 기설정된 비율 및 기설정된 두께를 고려하여 도출된 변위만큼 평행 이동시키는 오퍼레이션; 및an operation of moving the divided surface in parallel by a displacement derived in consideration of the predetermined ratio and predetermined thickness in the direction of a first normal vector of a vertex of the divided surface; and
    상기 구분된 테두리를, 상기 평행 이동된 면의 정점 위치를 참조하여, 테두리 면의 제2 노멀 벡터 방향에 대하여 수직이고 상기 테두리 면의 면 방향과 평행한 방향으로 이동시키는 오퍼레이션; 을 수행하기 위하여,an operation of moving the divided edge in a direction perpendicular to a second normal vector direction of the edge surface and parallel to the surface direction of the edge surface with reference to the vertex position of the parallel-moved surface; to perform
    기록매체에 저장된 3D 프린터 출력을 위한 3D CAD 데이터 변환 프로그램.3D CAD data conversion program for 3D printer output stored in recording media.
  13. 제 12 항에 있어서,13. The method of claim 12,
    상기 면 및 테두리를 구분하는 오퍼레이션은, The operation to distinguish the face and the border is,
    상기 3D 모델링 객체를 구성하는 모든 폴리곤(Polygon)을 탐색하는 오퍼레이션;an operation of searching all polygons constituting the 3D modeling object;
    상기 탐색된 폴리곤을 속성별로 면 그룹 또는 테두리 그룹으로 그룹핑하는 오퍼레이션; 및an operation of grouping the searched polygons into face groups or border groups for each attribute; and
    각 그룹별로 분류된 데이터 구조를 생성하는 오퍼레이션; 을 포함하는, an operation of generating a classified data structure for each group; containing,
    기록매체에 저장된 3D 프린터 출력을 위한 3D CAD 데이터 변환 프로그램.3D CAD data conversion program for 3D printer output stored in recording media.
  14. 제 13 항에 있어서,14. The method of claim 13,
    상기 탐색된 폴리곤을 상기 속성별로 그룹핑하는 오퍼레이션은,The operation of grouping the searched polygons by the attribute is,
    상기 탐색된 폴리곤 각각을 대표하는 노멀 벡터를 추출하는 오퍼레이션;an operation of extracting a normal vector representing each of the searched polygons;
    상기 탐색된 폴리곤 중 인접한 폴리곤들로부터 추출된 노멀 벡터간의 사잇각이 기설정된 각도 범위 이하인 경우 상기 인접한 폴리곤들을 상기 면 그룹으로 그룹핑하고, 상기 추출된 노멀 벡터간의 사잇각이 상기 기설정된 각도 범위를 초과하는 경우 상기 인접한 폴리곤을 상기 테두리 그룹으로 그룹핑하는 오퍼레이션; 을 포함하는, When the angle between normal vectors extracted from adjacent polygons among the searched polygons is less than or equal to a preset angle range, the adjacent polygons are grouped into the face group, and the angle between the extracted normal vectors exceeds the preset angle range grouping the adjacent polygons into the border group; comprising,
    기록매체에 저장된 3D 프린터 출력을 위한 3D CAD 데이터 변환 프로그램.3D CAD data conversion program for 3D printer output stored in recording media.
  15. 제 12 항에 있어서,13. The method of claim 12,
    상기 3D CAD 데이터에, 상기 3D 모델링 객체를 구성하는 폴리곤별 정점 정보가 포함되어 있는 경우, 상기 3D CAD 데이터를 상기 3D 프린터 출력용 데이터로 변환하는 오퍼레이션은,When the 3D CAD data includes vertex information for each polygon constituting the 3D modeling object, the operation of converting the 3D CAD data into data for output to the 3D printer includes:
    상기 3D 모델링 객체에 포함된 모든 정점을 탐색하는 오퍼레이션;an operation of searching for all vertices included in the 3D modeling object;
    상기 탐색된 정점별로 서로 다른 인덱스를 부여하여 정점 리스트를 생성하는 오퍼레이션; 및generating a vertex list by assigning different indices to each of the found vertices; and
    각 정점별로 부여된 인덱스를, 상기 정점 정보에 기초하여 상기 각 정점과 대응되는 폴리곤에 매칭하여 저장하는 오퍼레이션; 을 포함하는, an operation of matching and storing an index assigned to each vertex to a polygon corresponding to each vertex based on the vertex information; comprising,
    기록매체에 저장된 3D 프린터 출력을 위한 3D CAD 데이터 변환 프로그램.3D CAD data conversion program for 3D printer output stored in recording media.
  16. 제 15 항에 있어서,16. The method of claim 15,
    상기 정점 리스트를 생성하는 오퍼레이션은, The operation to create the vertex list is:
    상기 탐색된 정점 중 다른 정점과 중복되거나 기설정된 간격 이하로 인접한 정점을 제외하여 상기 정점 리스트를 생성하는 오퍼레이션인, An operation of generating the vertex list by excluding vertices that overlap with other vertices from among the searched vertices or are adjacent to each other within a predetermined interval or less,
    기록매체에 저장된 3D 프린터 출력을 위한 3D CAD 데이터 변환 프로그램.3D CAD data conversion program for 3D printer output stored in recording media.
  17. 제 15 항에 있어서,16. The method of claim 15,
    상기 구분된 면을 평행 이동시키는 오퍼레이션은, The operation of moving the divided surface in parallel is,
    상기 인덱스가 부여된 상기 면의 모든 정점을, 상기 제1 노멀 벡터의 방향으로 상기 도출된 변위만큼 평행 이동시키는 오퍼레이션; 및an operation of moving all vertices of the surface to which the index is assigned in parallel by the derived displacement in the direction of the first normal vector; and
    상기 이동된 정점의 위치를 반영하여 상기 정점 리스트를 업데이트하는 오퍼레이션; 을 포함하는, updating the vertex list by reflecting the position of the moved vertex; comprising,
    기록매체에 저장된 3D 프린터 출력을 위한 3D CAD 데이터 변환 프로그램.3D CAD data conversion program for 3D printer output stored in recording media.
  18. 제 17 항에 있어서,18. The method of claim 17,
    상기 면의 모든 정점을 평행 이동시키는 오퍼레이션은, 수학식 1을 기초로 수행되는, The operation of moving all vertices of the plane in parallel is performed based on Equation 1,
    기록매체에 저장된 3D 프린터 출력을 위한 3D CAD 데이터 변환 프로그램.3D CAD data conversion program for 3D printer output stored in recording media.
    [수학식 1][Equation 1]
    Figure PCTKR2022005555-appb-I000005
    Figure PCTKR2022005555-appb-I000005
    상기 P는 평행 이동 후 정점 좌표, 상기 Po는 평행 이동 전 정점 좌표, 상기 d는 상기 도출된 변위, 상기
    Figure PCTKR2022005555-appb-I000006
    는 상기 평행 이동 전 정점의 제1 노멀 벡터임.
    wherein P is the vertex coordinates after translation, Po is the vertex coordinates before translation, and d is the derived displacement, the
    Figure PCTKR2022005555-appb-I000006
    is the first normal vector of the vertex before the translation.
  19. 제 18 항에 있어서,19. The method of claim 18,
    상기 다른 정점과 중복된 정점의 제1 노멀 벡터는, 중복된 각 정점이 갖는 노멀 벡터를 모두 더하여 구해진 평균 노멀 벡터로 정의되는, The first normal vector of the vertex overlapping with the other vertices is defined as an average normal vector obtained by adding up all normal vectors of each overlapping vertex,
    기록매체에 저장된 3D 프린터 출력을 위한 3D CAD 데이터 변환 프로그램.3D CAD data conversion program for 3D printer output stored in recording media.
  20. 제 18 항에 있어서,19. The method of claim 18,
    상기 변위는 수학식 2를 기초로 도출되는, The displacement is derived based on Equation 2,
    기록매체에 저장된 3D 프린터 출력을 위한 3D CAD 데이터 변환 프로그램.3D CAD data conversion program for 3D printer output stored in recording media.
    [수학식 2][Equation 2]
    Figure PCTKR2022005555-appb-I000007
    Figure PCTKR2022005555-appb-I000007
    상기 S는 상기 기설정된 비율, 상기 Lr은 상기 3D 모델링 객체의 실제 크기, 상기 Lp는 상기 3D 모델링 객체의 3D 프린터 출력 크기, 상기 tp는 상기 기설정된 두께임.wherein S is the preset ratio, Lr is the actual size of the 3D modeling object, Lp is the 3D printer output size of the 3D modeling object, and tp is the preset thickness.
  21. 제 20 항에 있어서,21. The method of claim 20,
    상기 기설정된 두께는, The predetermined thickness is,
    상기 3D 프린터의 해상도 이상인 두께 범위에서 사용자에 의해 입력되는 상수 값인, A constant value input by a user in a thickness range equal to or greater than the resolution of the 3D printer,
    기록매체에 저장된 3D 프린터 출력을 위한 3D CAD 데이터 변환 프로그램.3D CAD data conversion program for 3D printer output stored in recording media.
  22. 제 17 항에 있어서,18. The method of claim 17,
    상기 구분된 테두리를 이동시키는 오퍼레이션은, The operation of moving the divided border is,
    상기 구분된 테두리에 포함된 폴리곤별로 매칭되어 있는 인덱스를 상기 업데이트된 정점 리스트에서 검색하는 오퍼레이션; an operation of searching the updated vertex list for an index that is matched for each polygon included in the divided border;
    검색한 인덱스와 대응되어 저장되어 있는 업데이트된 정점의 위치를 획득하는 오퍼레이션; 및an operation of obtaining the position of the stored updated vertex corresponding to the searched index; and
    상기 업데이트된 정점의 위치를 기준으로 상기 구분된 테두리를 상기 제2 노멀 벡터 방향에 대하여 수직이고 상기 테두리 면의 면 방향과 평행한 방향으로 이동시키는 오퍼레이션; 을 포함하는, an operation of moving the divided edge in a direction perpendicular to the second normal vector direction and parallel to a plane direction of the edge surface based on the updated vertex position; containing,
    기록매체에 저장된 3D 프린터 출력을 위한 3D CAD 데이터 변환 프로그램.3D CAD data conversion program for 3D printer output stored in recording media.
PCT/KR2022/005555 2021-04-16 2022-04-18 3d cad data-conversion method and program for 3d printer outputting, and device therefor WO2022220661A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210049942A KR102417745B1 (en) 2021-04-16 2021-04-16 3D CAD data conversion method, program and apparatus for 3D printing
KR10-2021-0049942 2021-04-16

Publications (1)

Publication Number Publication Date
WO2022220661A1 true WO2022220661A1 (en) 2022-10-20

Family

ID=82400668

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/005555 WO2022220661A1 (en) 2021-04-16 2022-04-18 3d cad data-conversion method and program for 3d printer outputting, and device therefor

Country Status (2)

Country Link
KR (2) KR102417745B1 (en)
WO (1) WO2022220661A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102540518B1 (en) * 2022-11-10 2023-06-13 주식회사 스탠스 Method and device for generating three-dimensional model
KR102583104B1 (en) * 2022-11-23 2023-09-27 주식회사 에이디 Method and apparatus for generating 3D OBJECTs using 2D drawings

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004001531A (en) * 2003-06-06 2004-01-08 Hitachi Ltd Method for processing stereo lithographic shape data, method and apparatus for stereo lithography
JP2016221790A (en) * 2015-05-28 2016-12-28 キヤノン株式会社 Molding support apparatus and three-dimensional molding system
KR20170054645A (en) * 2015-11-10 2017-05-18 한국전자통신연구원 Apparatus and method for limited 3d printing
US20180350156A1 (en) * 2016-02-18 2018-12-06 Canon Kabushiki Kaisha Three-dimensional data processing apparatus and three-dimensional data processing method
KR20190065241A (en) * 2016-10-19 2019-06-11 후지제롯쿠스 가부시끼가이샤 A three-dimensional shape data editing apparatus, a three-dimensional shape data editing program, and a three-dimensional shape data structure

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8175734B2 (en) 2009-10-08 2012-05-08 3D M. T. P. Ltd. Methods and system for enabling printing three-dimensional object models
US10878136B2 (en) 2016-09-14 2020-12-29 Mixed Dimensions Inc. 3D model validation and optimization system and method thereof
JP7215095B2 (en) 2018-11-09 2023-01-31 富士フイルムビジネスイノベーション株式会社 3D shape data generation device, 3D modeling device, and 3D shape data generation program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004001531A (en) * 2003-06-06 2004-01-08 Hitachi Ltd Method for processing stereo lithographic shape data, method and apparatus for stereo lithography
JP2016221790A (en) * 2015-05-28 2016-12-28 キヤノン株式会社 Molding support apparatus and three-dimensional molding system
KR20170054645A (en) * 2015-11-10 2017-05-18 한국전자통신연구원 Apparatus and method for limited 3d printing
US20180350156A1 (en) * 2016-02-18 2018-12-06 Canon Kabushiki Kaisha Three-dimensional data processing apparatus and three-dimensional data processing method
KR20190065241A (en) * 2016-10-19 2019-06-11 후지제롯쿠스 가부시끼가이샤 A three-dimensional shape data editing apparatus, a three-dimensional shape data editing program, and a three-dimensional shape data structure

Also Published As

Publication number Publication date
KR20220143612A (en) 2022-10-25
KR102476800B1 (en) 2022-12-12
KR102417745B1 (en) 2022-07-06

Similar Documents

Publication Publication Date Title
WO2022220661A1 (en) 3d cad data-conversion method and program for 3d printer outputting, and device therefor
Boyse et al. GMSolid: Interactive modeling for design and analysis of solids
US6246804B1 (en) Image retrieval method and apparatus using a compound image formed from a plurality of detected regions
JP4893148B2 (en) Shape simplification device and program used therefor
US8422763B2 (en) Method for comparing first computer-aided 3D model with a second computer-aided 3D model
JP2005531813A (en) Scalable stroke font system and method
KR101626384B1 (en) Apparatus and method for search of 3d model data
KR20230035385A (en) Animation migration method and device, apparatus, storage medium and computer program product
JP4235604B2 (en) Image processing apparatus, image processing method, and program
JP5539555B2 (en) Image processing apparatus, image processing method, and program
Manuel et al. A hybrid approach for the semantic annotation of spatially oriented images
Peuquet Raster processing: An alternative approach to automated cartographic data handling
US11520945B2 (en) Modeling support system, modeling support method, and modeling support program
JP5197328B2 (en) Image processing apparatus, image processing method, and program
US12045284B2 (en) Geometry-based design data search tool
Ablameyko et al. Computer-aided cartographical system for map digitizing
Vergeest et al. A methodology for reusing freeform shape content
JPH05280941A (en) Inputting apparatus of three-dimensional shape
JP2005071014A (en) Document image processor, document image processing method, program and storage medium
CN109509249A (en) A kind of virtual scene light source intelligent generation method based on component
JP2897541B2 (en) Closed figure extraction method
JP2018063557A (en) Image forming device, method, and program
Francis et al. Adaptative polyhedral approximation of digitized surfaces
Nagajothi et al. A Geometric Method for Extracting Images of PDF Files
WO2014077470A1 (en) User-based object approximation method and user-based object approximation 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: 22788516

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

Country of ref document: EP

Kind code of ref document: A1