Method for generating an output file for outputting a three-dimensional model, and computer program recorded on a recording medium for executing the same
Patent Information
- Application Number
- KR1020250139207
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-09-25
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2045-09-25
Smart Images

Figure 112025109888432-PAT00004_ABST
Abstract
Description
Technology Field
[0001] The present invention relates to a technology for outputting a three-dimensional model. More specifically, it relates to a method for generating an output file for outputting a three-dimensional model that can automatically generate a file printable to a three-dimensional printer by optimizing the output conditions of the three-dimensional model, and a computer program for executing the same. Background Technology
[0002] A smart factory is an intelligent production plant that improves productivity, quality, and customer satisfaction by applying Information and Communications Technology (ICT) combined with digital automation solutions to production processes such as design, development, manufacturing, and distribution. It is a factory of the future that installs the Internet of Things (IoT) on equipment and machinery to collect process data in real time, analyze it, and enable autonomous control.
[0003] In particular, automated production facilities for implementing a smart factory refer to the automation of production processes using machinery, equipment, robots, and the like. Such automated production facilities aim to reduce human intervention and improve productivity and efficiency through automated systems. These facilities are suitable for performing highly repetitive and precise tasks and can help reduce errors and ensure consistency in the production process. Recently, while most companies are adopting automated production facilities, they are facing difficulties in implementation due to a lack of in-house expertise regarding such equipment.
[0004] In particular, since the design of automated production facilities is complex and requires advanced technical knowledge, the reality is that there are high barriers to entry for small-scale enterprises, such as SMEs and startups. Furthermore, the lack of clear direction and concept setting during the initial design phase has resulted in cost burdens and wasted resources, and inefficient design has caused problems such as time loss due to frequent design changes and delays in market response.
[0005] Generally, in the conventional 3D model printing process, the user manually set the printing conditions through slicer software. However, this method had the problem that it was difficult to automatically detect or correct errors such as non-manifolds, holes, and flipped faces, and it could not optimize printing risk areas such as thin walls or overhang structures in advance.
[0006] As a result, conventional systems suffered from structural deformation, printing failures, and excessive use of unnecessary support materials during the printing process, which not only wasted costs and time but also failed to adequately reflect printer types or material characteristics, leading to a decline in print quality due to environmental changes. Prior art literature
[0007] Korean Registered Patent Publication No. 10-2054500, 'Method for Providing Design Drawings', (Published Dec. 04, 2019) The problem to be solved
[0008] One objective of the present invention is to provide a method for generating an output file for outputting a 3D model that can automatically correct mesh errors and optimize the structure during the output process of the 3D model, thereby improving output quality by reflecting printer conditions.
[0009] Another objective of the present invention is to provide a computer program for executing a method for generating an output file for outputting a three-dimensional model that can improve output quality.
[0010] The technical problems of the present invention are not limited to those mentioned above, and other unmentioned technical problems will be clearly understood by those skilled in the art from the description below. means of solving the problem
[0011] To achieve the technical objectives described above, the present invention proposes a method for generating an output file for a 3D model that can automatically correct mesh errors and optimize the structure during the output process of the 3D model, thereby improving output quality by reflecting printer conditions. The method is characterized by comprising the steps of: a modeling server receiving a 3D model relating to a device to be generated; the modeling server analyzing the input 3D model to design a reinforcement structure to ensure output stability; and the modeling server generating an output file that can be printed through a 3D printer based on the 3D model reflecting the reinforcement structure.
[0012] Specifically, the step of designing the reinforcement structure is characterized by defining the vertices of the mesh of the 3D model as nodes and the connection relationships between the vertices as edges, assigning an attribute vector to each node to generate a graph, and applying a Graph Neural Network (GNN) based on the generated graph to detect mesh errors including at least one of non-manifold, hole, and inverted normal.
[0013] The step of designing the above reinforcement structure is characterized by automatically correcting the detected mesh error, performing mesh retopology by reconstructing the mesh surface using the Poisson Surface Reconstruction technique, ensuring surface continuity by interpolating small steps and gaps by applying Laplacian Smoothing, and correcting areas exceeding tolerance standards by analyzing the stress distribution based on Finite Element Analysis (FEA).
[0014] The step of designing the reinforcement structure is characterized by calculating the overhang angle by calculating the dot product of the normal vector and the gravity direction vector of each face of the 3D model, identifying the area where the calculated overhang angle is less than a threshold value as an area where deformation is expected during the output process, and automatically designing a support structure that can maintain stability while using a minimum amount of material by using reinforcement learning (RL) on the identified area.
[0015] The step of generating the output file is characterized by slicing a three-dimensional model reflecting the reinforcement structure in the stacking direction to generate a plurality of layer paths, and generating output conditions including at least one of an output order, movement speed, extrusion amount, temperature, stacking thickness, infill density, and infill pattern based on the generated layer paths through a sequence-to-sequence (Seq2Seq) model.
[0016] The step of generating the output file is characterized by performing an output simulation based on the generated output conditions to predict output quality including at least one of surface roughness, dimensional accuracy, and whether stacking defects occur, and if the predicted output quality is below a preset threshold, performing the simulation repeatedly while variably controlling the output conditions to derive optimal output conditions.
[0017] The step of generating the output file is characterized by identifying a thin wall region having a thickness smaller than the nozzle diameter within the three-dimensional model, adjusting the output path or controlling the extrusion amount to reinforce the identified thin wall region, and adjusting the infill density and infill pattern by considering the stress distribution based on the strength and elasticity data of the material.
[0018] The step of generating the output file is characterized by receiving at least one printer condition information among the model of the 3D printer, nozzle diameter, material strength, elastic data, temperature, and humidity, and adjusting the output conditions based on the received printer condition information.
[0019] The step of generating the above output file is characterized by generating output condition information corresponding to a plurality of output types, and presenting the generated plurality of output condition information to the user to recommend a selection.
[0020] The above computer program may be combined with a computing device comprising a transceiver, a memory, and a processor that processes instructions residing in the memory. Furthermore, the above computer program may be a computer program recorded on a recording medium to execute the steps of receiving a three-dimensional model of a device to be created, the processor analyzing the input three-dimensional model to design a reinforcement structure to ensure output stability, and the processor generating an output file that can be printed through a three-dimensional printer based on the three-dimensional model reflecting the reinforcement structure.
[0021] Specific details of other embodiments are included in the detailed description and drawings. Effects of the invention
[0022] According to embodiments of the present invention, mesh errors of a 3D model can be automatically corrected and output conditions optimized to generate a file that can be reliably printed with a 3D printer, thereby reducing the output failure rate and improving production efficiency.
[0023] The effects of the present invention are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art to which the present invention pertains from the description in the claims. Brief explanation of the drawing
[0024] FIG. 1 is a configuration diagram of a three-dimensional model generation system according to one embodiment of the present invention. FIG. 2 is a logical configuration diagram of a modeling server according to one embodiment of the present invention. FIG. 3 is an exemplary diagram illustrating a cross-attention fusion process based on multimodal input according to one embodiment of the present invention. FIG. 4 is an exemplary diagram illustrating a process for outputting a three-dimensional model according to an embodiment of the present invention. FIG. 5 is an exemplary diagram showing a simulation process according to one embodiment of the present invention. FIG. 6 is an illustrative diagram for explaining a sequence prediction model according to one embodiment of the present invention. FIG. 7 is a hardware configuration diagram of a modeling server according to one embodiment of the present invention. FIG. 8 is a flowchart illustrating a method for generating a three-dimensional model according to an embodiment of the present invention. FIG. 9 is a flowchart illustrating a file creation method according to an embodiment of the present invention. FIG. 10 is a flowchart for explaining a simulation method according to one embodiment of the present invention. Specific details for implementing the invention
[0025] It should be noted that technical terms used in this specification are used merely to describe specific embodiments and are not intended to limit the invention. Furthermore, unless specifically defined otherwise in this specification, technical terms used in this specification should be interpreted in the sense generally understood by those skilled in the art to which the invention pertains, and should not be interpreted in an overly broad or overly narrow sense. Additionally, if a technical term used in this specification is an incorrect technical term that fails to accurately express the spirit of the invention, it should be understood as being replaced by a technical term that can be correctly understood by those skilled in the art. Moreover, general terms used in this invention should be interpreted according to their prior definitions or the context, and should not be interpreted in an overly narrow sense.
[0026] Additionally, singular expressions used in this specification include plural expressions unless the context clearly indicates otherwise. In this application, terms such as "composed of" or "have" should not be interpreted as necessarily including all of the various components or steps described in the specification, and should be interpreted as potentially including some of the components or steps, or including additional components or steps.
[0027] Additionally, terms including ordinal numbers, such as first, second, etc., used herein may be used to describe various components, but said components shall not be limited by said terms. Such terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be named the second component, and similarly, the second component may be named the first component.
[0028] When it is stated that one component is "connected" or "connected" to another component, it may be directly connected or connected to that other component, or there may be other components in between. On the other hand, when it is stated that one component is "directly connected" or "directly connected" to another component, it should be understood that there are no other components in between.
[0029] Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the attached drawings. Identical or similar components regardless of drawing symbols are given the same reference number, and redundant descriptions thereof will be omitted. Furthermore, in describing the present invention, if it is determined that a detailed description of related known technology may obscure the essence of the present invention, such detailed description will be omitted. Additionally, it should be noted that the attached drawings are intended only to facilitate an easy understanding of the concept of the present invention and should not be interpreted as limiting the concept of the present invention. The concept of the present invention should be interpreted as extending to all modifications, equivalents, and substitutions other than those shown in the attached drawings.
[0031] Meanwhile, conventional systems had problems where initial design results were incompatible with the actual manufacturing process or required repetitive correction processes, and there were limitations in that the user inspection process was limited to simple visual verification, preventing substantial quality correction and learning reflection.
[0032] Furthermore, conventional systems suffered from structural deformation, print failure, and excessive use of unnecessary support materials during the printing process, which not only wasted costs and time but also failed to adequately reflect printer types or material characteristics, resulting in a decline in print quality due to environmental changes.
[0033] In addition, conventional 3D model simulation technology has mainly remained at the level of static structural analysis or simple animation, and has not been able to sufficiently reflect the joint motion or dynamic constraints between actual machine parts.
[0034] To overcome these limitations, the present invention provides means to automatically generate a reliable 3D model reflecting industrial standard conditions based on multimodal input and to correct it by reflecting user feedback in real time, proposes a reinforcement structure design and output condition optimization method to ensure the output stability of the generated model, and further proposes various means to perform simulations reflecting actual joint operations and dynamic constraints by analyzing the structural information of the model.
[0036] FIG. 1 is a configuration diagram of a three-dimensional model generation system according to one embodiment of the present invention.
[0037] As illustrated in FIG. 1, a modeling system according to one embodiment of the present invention may be configured to include a user terminal (100a, 100b, 100n; 100) and a modeling server (200).
[0038] As such, since the components of the modeling system according to one embodiment of the present invention merely represent functionally distinct elements, two or more components may be implemented as an integrated unit in an actual physical environment, or a single component may be implemented as a separate unit in an actual physical environment.
[0039] To describe each component, the user terminal (100) can be a device owned by the user for requesting the creation, output, and operation simulation of a three-dimensional model.
[0040] Specifically, the user terminal (100) may have an application provided by the modeling server (200) installed, and the user may access the modeling server (200) through the application to request the creation of a 3D model and receive the 3D model created by the modeling server (200). However, it is not limited to this, and the user terminal (100) may access a web page provided by the modeling server (200) to receive services for the creation of a 3D model, the creation of an output file, and simulation.
[0041] Specifically, the user terminal (100) can connect to the modeling server (200) and interact with a virtual chatbot or conversational interface through a user interface (UI) provided by the modeling server (200). In this process, the user terminal (100) can input request information in text form related to a 3D model, images, CAD drawings, etc., and can receive guide information (e.g., required design conditions, output feasibility, expected simulation scenario) corresponding to the input request information from the modeling server (200) and output it to the user. Subsequently, the user can provide additional input (e.g., type of drawing, materials used, design requirements, implementation goals) based on the guide information and transmit this back to the modeling server (200) to request the creation of a precise model.
[0042] Additionally, the user terminal (100) receives a three-dimensional model generated from the modeling server (200), and can receive information on whether output is possible and an estimated estimate based on the model, and furthermore, can receive the results of the operation simulation of the three-dimensional model.
[0043] A user terminal (100) having the characteristics described above is not limited to a User Equipment (UE) defined by the 3GPP (3rd Generation Partnership Project), and any device capable of transmitting and receiving data with a modeling server (200) and performing calculations based on the transmitted and received data may be allowed. For example, the user terminal (100) may be any one of a fixed computing device such as a desktop, workstation, or server, or a mobile computing device such as a smartphone, laptop, tablet, phablet, or Personal Digital Assistants (PDA).
[0044] With the following configuration, the modeling server (200) can generate a reliable three-dimensional model that meets the user's requirements through an artificial intelligence (AI) model.
[0045] Specifically, the modeling server (200) can generate a 2D model based on multimodal input received from the user terminal (100), and correct it to finally generate a 3D model. In addition, the modeling server (200) can verify the output stability of the generated 3D model, design a reinforcement structure if necessary, and generate an optimal output file. Furthermore, the modeling server (200) can analyze the structure of the 3D model to generate an operation scenario, simulate actual operation, and provide the results to the user terminal (100).
[0046] In particular, the modeling server (200) can perform optimization at the modeling, output, and simulation stages through multiple artificial intelligence models trained based on different types of training data, and can also include a function to retrain the generated results according to user feedback.
[0047] The modeling server (200) can be any one of a fixed computing device such as a desktop, a workstation, or a server, but is not limited thereto.
[0048] The user terminal (100) and the modeling server (200) can transmit and receive data using a network that combines one or more of a secure line, a public wired communication network, or a mobile communication network that directly connects the devices. For example, the public wired communication network may include Ethernet, x Digital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH), but is not limited thereto. Additionally, the mobile communication network may include Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), High Speed Packet Access (HSPA), Long Term Evolution (LTE), and 5th generation mobile telecommunication, but is not limited thereto.
[0050] Hereinafter, the logical configuration of a modeling server (200) according to one embodiment of the present invention will be described in detail.
[0051] FIG. 2 is a logical configuration diagram of a modeling server according to one embodiment of the present invention.
[0052] As illustrated in FIG. 2, a modeling server (200) according to one embodiment of the present invention may be configured to include a communication unit (205), an input / output unit (210), a model generation unit (215), a file generation unit (220), a simulation unit (225), and a storage unit (330).
[0053] As such, since the components of the modeling server (200) merely represent functionally distinct elements, two or more components may be implemented as a single integrated unit in an actual physical environment, or a single component may be implemented as a separate unit in an actual physical environment.
[0054] To explain each component, the communication unit (205) can transmit and receive data with the user terminal (100).
[0055] The communication unit (205) can transmit and receive data with the user terminal (100). Specifically, the communication unit (205) can receive request information from the user terminal (100), such as multimodal input (text and image), a request to create a 3D model, a request to create an output file, or a request for motion simulation.
[0056] Additionally, the communication unit (205) can receive feedback data, such as model correction information or output condition information, from the user terminal (100). Furthermore, the communication unit (205) can provide results generated by the model generation unit (215), file generation unit (220), and simulation unit (225) to the user terminal (100). For example, the communication unit (205) can transmit a 2D model, a 3D model, output feasibility and optimized output file, and operation simulation video to the user terminal (100). Additionally, the communication unit (205) can transmit and receive various additional information for matching with the user terminal (100) or for providing services.
[0057] With the following configuration, the input / output unit (210) can receive various setting values related to the creation of a 3D model, the creation of an output file, and the simulation of operation. Specifically, the input / output unit (210) can receive multimodal input, output condition information, simulation scenarios, etc. through an interactive interface (UI) with the user, and can also receive data for training an artificial intelligence model (e.g., parameters, hyperparameters, activation functions, weights and biases, etc.).
[0058] In addition, the input / output unit (210) can provide the request information received from the user terminal (100), the generated 2D and 3D models, the optimized output file, and the simulation results to the model creation manager through various output devices such as a screen and a speaker.
[0059] The next component, the model generation unit (215), is explained in more detail with reference to FIG. 3.
[0060] FIG. 3 is an exemplary diagram illustrating a cross-attention fusion process based on multimodal input according to one embodiment of the present invention.
[0061] Referring to FIG. 3, the model generation unit (215) can receive multimodal data input from the user terminal (100).
[0062] Specifically, the model generation unit (215) can receive text data among user request information through a text encoder, identify text feature information including at least one of dimensions, material, and structural conditions, and convert it into a text embedding vector. For example, text input such as "Use corrosion-resistant metal for the material and design the dimensions at a height accessible to the worker" can be separated into a token sequence such as [MATERIAL=Corrosion-resistant metal] and [SIZE=Work height], and then converted into an embedding vector. Here, a CLIP-based text encoder can be used, and by fine-tuning with a dataset in the field of industrial and mechanical design, the expressiveness of design-related tokens such as dimension units, material properties, and structural conditions can be improved.
[0063] Additionally, the model generation unit (215) can receive image data, such as sketches, CAD drawings, or product photos, through an image encoder, identify image feature information including at least one of shape, viewpoint, and structural conditions, and convert it into an image embedding vector. Here, the image encoder can be implemented based on a Visual Transformer (ViT), and structural features within the image can be extracted as a vector by applying a self-attention mechanism to the input image by dividing it into patches. Furthermore, the model generation unit (215) can directly extract viewpoint information of the input image from metadata or estimate viewpoint vectors, such as rotation matrices, through CNN-based analysis.
[0064] In this way, the model generation unit (215) can generate Query, Key, and Value vectors, respectively, through a text encoder and an image encoder. Here, the generated vectors can be mapped to a common latent space. Subsequently, the model generation unit (215) can derive a fusion vector of a single semantic space by fusing the text and image embedding vectors through a cross-attention operation. At this time, the model generation unit (215) can reflect the attention weight calculation process by injecting an Industrial Standards Vector, which represents industrial standard conditions, into the Query Vector (Q) through a multiplication operation.
[0065] The specification vector can be configured by extracting industrial standards from metadata, such as ISO 2768 dimensional tolerances (±0.1 mm tolerance) and ANSI B4.1 material strength standards (e.g., aluminum tensile strength of 200 MPa or higher). Accordingly, the model generation unit (215) can not only generate a model that meets the user's request information but also generate a two-dimensional model that reflects whether it satisfies industrial standards.
[0066] As described above, the model generation unit (215) can derive a fusion vector that reflects industrial standard conditions based on text embedding vectors and image embedding vectors, thereby satisfying user requirements and simultaneously deriving a practically reliable 2D model. Subsequently, this fusion vector is materialized into a 2D model image through a latent diffusion model in a subsequent step, and can then be extended to a high-resolution correction and 3D model generation process.
[0067] In other words, as illustrated in FIG. 3, the model generation unit (215) can generate a fusion vector of a single semantic space by mapping the text embedding vector and the image embedding vector to a common latent space and then performing a cross-attention fusion operation.
[0068] Specifically, the query vector (Q) is defined based on the text embedding vector, and the key vector (K) and value vector (V) can be defined based on the image embedding vector. At this time, the cross-attention operation can be expressed by the following mathematical formula, and the model generation unit (215) can derive a single fusion vector by reflecting the mutual correlation between the text and the image through the following mathematical formula.
[0069] [Mathematical Formula]
[0070] Attention(Q,K,V) = softmax((QK^T) / √(dk))v
[0071] Here, the model generation unit (215) can inject an Industrial Standards Vector representing industrial standard conditions into the cross-attention operation. The standard vector is combined with a Query Vector (Q) and reflected in the attention weight calculation process, and the resulting fusion vector can be controlled to satisfy industrial standard conditions such as ISO 2768 dimensional tolerance (±0.1 mm tolerance) and ANSI B4.1 material strength standards (e.g., aluminum tensile strength of 200 MPa or higher). That is, the model generation unit (215) can improve the standard compliance rate by not only ensuring visual similarity but also additionally reflecting penalty losses in case of standard violation.
[0072] In the next step, the model generation unit (215) can generate a 2D model based on a latent diffusion model using the aforementioned cross-attention fusion vector as condition information. The latent diffusion model is a generation model that includes a forward diffusion process that gradually adds noise to an input vector and a reverse diffusion process that removes it to restore the original image, and can generate a 2D image through a noise prediction network at each time step (t).
[0073] In particular, the model generation unit (215) can repeatedly inject a specification vector into the noise prediction process at each time step of the potential diffusion model. Through this, industrial specification conditions are consistently reflected throughout the entire model generation process, so that the finally generated 2D model can secure not only visual requirements but also practical and mechanical reliability.
[0074] Accordingly, the model generation unit (215) can generate text embedding and image embedding vectors from multimodal inputs, reflect the specification vector in the cross-attention fusion operation, and inject the specification vector at each time step of the latent diffusion model to improve the compliance rate with the specification condition, thereby generating a high-quality 2D model that simultaneously satisfies user requirements and industrial specification conditions.
[0075] Additionally, the model generation unit (215) may apply a correction network to convert the generated 2D model into a high-resolution model.
[0076] Specifically, the model generation unit (215) can upscale a 2D model generated by a latent diffusion model from a low resolution (256×256) to a high resolution (1024×1024) using an ESRGAN (Enhanced Super-Resolution Generative Adversarial Network)-based correction network. Here, ESRGAN has a structure in which a generator network and a discriminator network are learned adversarially, and in particular, a relativistic discriminator is introduced to evaluate the relative realism between the generated image and the actual image. In this process, the loss function can be defined as a weighted sum of a VGG-based perceptual loss and a GAN loss, thereby allowing the upscaled image to be visually natural while maintaining structural features.
[0077] Furthermore, the model generation unit (215) can perform edge enhancement and anti-aliasing processing to reinforce the quality of the design line and curve on the upscaled 2D model.
[0078] Specifically, the model generation unit (215) can emphasize the edges of the generated 2D model to make them visually clear, and can sequentially apply Gaussian Blur and Sharpening filters to fine design elements such as curves and dimension lines to reduce aliasing. Through such post-processing, the final generated 2D model can achieve a quality level comparable to an actual CAD drawing, and the user can inspect the model with minimal visual distortion.
[0079] Accordingly, the model generation unit (215) can provide a high-quality 2D model to the user by converting the 2D model generated through the ESRGAN-based correction network into a high-resolution model and improving the quality of the design line and curve by applying edge enhancement and anti-aliasing filtering.
[0080] Next, the model generation unit (215) can provide a user interface (UI) to the user terminal (100) so that the user can directly inspect and correct the generated 2D model.
[0081] Specifically, the model generation unit (215) provides an interactive user interface to the user terminal (100) so that when the user performs actions such as pen input, mouse drag, or touch on the generated 2D model, this can be designated as a correction area. The designated correction area is converted into a binary mask in the form of a delta mask, so that the area requiring correction can be locally marked. Based on this delta mask, the model generation unit (215) can separate the area into image patch units (e.g., 32x32), regenerate a latent vector corresponding to the patch area, and merge it with the existing latent vector using a weighted average method. Since this process only partially regenerates the area to be corrected, the processing speed can be reduced while maintaining the quality of the model.
[0082] Additionally, the model generation unit (215) can expand and generate multiple view images based on the corrected 2D model.
[0083] Specifically, the model generation unit (215) can generate images of the corrected 2D model projected from various viewpoints (front, back, side, diagonal, etc.) and calculate a pose consistency loss based on a Structural Similarity Index (SSIM) to ensure shape consistency between these multiple viewpoint images. The model generation unit (215) can control the shape between the generated viewpoints so that they do not contradict each other by repeatedly correcting the multiple viewpoint images to minimize the calculated loss. Therefore, the user terminal (100) is finally provided with model images from various angles, and the user can examine the model more three-dimensionally through this.
[0084] Furthermore, the model generation unit (215) can reconstruct a 3D scene using NeRF (Neural Radiance Field) based on multiple viewpoint images.
[0085] Specifically, NeRF (Neural Radiance Field) models the density and color of radiation through a multilayer perceptron (MLP)-based neural network and can calculate the color of the final pixel by calculating the color information accumulated as a ray passes through a three-dimensional space. Through this, high-quality three-dimensional scenes can be reconstructed by fusing images observed from multiple viewpoints.
[0086] Subsequently, the restored result is converted into a TSDF (Truncated Signed Distance Function) and can be extracted as a mesh through the Marching Cubes algorithm. The model generation unit (215) can generate a lightweight 3D model by optimizing the extracted mesh to remove unnecessary polygons, and furthermore, can evaluate structural stability by calculating the stress distribution of the generated model. In this way, the 3D model generated by the model generation unit (215) not only reflects a visual shape but also ensures reliability during the actual manufacturing and usage stages.
[0087] The next component, the file creation unit (220), is described in more detail with reference to FIG. 4.
[0088] FIG. 4 is an exemplary diagram illustrating a process for outputting a three-dimensional model according to an embodiment of the present invention.
[0089] Referring to FIG. 4, the file generation unit (220) can receive a three-dimensional model of the device to be generated.
[0090] Specifically, the file generation unit (220) may receive a 3D model generated from the model generation unit (215) or receive a general-purpose 3D data format such as STL, OBJ, or 3MF uploaded from the user terminal (100). The file generation unit (220) processes the input model so that mechanical and structural characteristics are taken into account to ensure output stability, and can be linked in real time through the communication unit (205).
[0091] The file generation unit (220) can analyze the mesh data of the received 3D model, define vertices as nodes and the connection relationships between vertices as edges, and convert it into a graph form by assigning attributes such as coordinates, normal vectors, and material strength to each node.
[0092] The file generation unit (220) can subsequently apply a Graph Neural Network (GNN) to check the topological consistency of the mesh structure and detect errors such as non-manifold, holes, inverted normals, and duplicate faces. At this time, the file generation unit (220) can identify structural inconsistencies with higher accuracy than simple rule-based detection by aggregating information of adjacent nodes through a message passing-based learning process to repeatedly update node embeddings and calculating the error probability of the entire graph through an aggregation function (e.g., mean pooling).
[0093] Additionally, the file generation unit (220) can automatically correct detected errors. For example, the file generation unit (220) can perform mesh retopology by applying a Poisson Surface Reconstruction technique to calculate a Truncated Signed Distance Function (TSDF) field and reconstructing the mesh into contour lines using the Marching Cubes algorithm.
[0094] In addition, the pile generation unit (220) can ensure surface continuity by applying Laplacian smoothing to small steps and gaps for interpolation processing. Furthermore, the pile generation unit (220) can simulate stress distribution using Finite Element Analysis (FEA) and verify the shape based on the minimum manufacturable thickness (e.g., 0.2 mm) or gap (e.g., 0.1 mm) to automatically correct areas exceeding the tolerance. In this way, the pile generation unit (220) does not stop at simply correcting the shape but can also consider stress concentrations that may occur in an actual manufacturing environment.
[0095] Additionally, the file generation unit (220) can calculate the overhang angle by calculating the dot product of the normal vector and the gravity direction vector for each face of the 3D model. The file generation unit (220) can identify areas where the calculated angle is below a threshold as unstable areas where deformation or collapse is expected during output. To complement this, the file generation unit (220) can apply a CNN-based classifier to convert the mesh surface into a 2D grid and construct a heatmap that generates a probability map (range 0 to 1) of the risk level of each area through convolution operations. Through this, the file generation unit (220) can perform a more precise risk analysis than detection based on simple calculation formulas.
[0096] Additionally, the file generation unit (220) can automatically design a support structure by applying a reinforcement learning-based optimization algorithm to the identified risk area. Here, the file generation unit (220) can define a reward function that considers the balance between the output quality score and the amount of support material, and learn an optimal policy based on Q-learning by setting the state to support location and the action to add or remove support.
[0097] Additionally, the file generation unit (220) can perform a support design that secures structural stability with minimal material usage by repeatedly performing a number of learning episodes in a simulation environment (PyBullet, etc.). As a result, the file generation unit (220) can automatically select a pattern optimized for the printer method (FDM, etc.) and material characteristics (e.g., PLA tensile strength of about 50 MPa, shrinkage characteristics of ABS, etc.) among various support types such as Column, Tree, Lattice.
[0098] Accordingly, the file generation unit (220) can perform a core preprocessing process to generate an output file that can be stably printed on a 3D printer through mesh error detection and correction using GNN, tolerance verification based on FEA, risk analysis based on CNN, and support structure design based on reinforcement learning.
[0099] Next, the file generation unit (220) can perform slicing and output condition optimization processes to generate an output file based on the corrected three-dimensional model.
[0100] Specifically, the file generation unit (220) divides a three-dimensional model in a stacking direction to generate multiple layers and calculates a tool path and extrusion conditions for each layer. In this process, the file generation unit (220) can automatically predict output conditions by applying a sequence-to-sequence (Seq2Seq) based artificial intelligence model rather than simple geometric division. The encoder converts the shape data of the input model into a vector, and the decoder sequentially calculates parameters such as stacking thickness, infill density, infill pattern, tool path speed, extrusion amount, nozzle and bed temperatures based on this. By giving higher weights to areas that have a significant impact on output quality through an attention mechanism, the file generation unit (220) can derive an optimal output path even in complex structures.
[0101] The file generation unit (220) can pre-verify the generated output conditions instead of using them as they are. The file generation unit (220) can execute an output file (G-code) generated in a simulation environment to virtually reproduce the output process and evaluate the likelihood of surface roughness, dimensional accuracy, and stacking defects (e.g., layer shift, filament breakage, shrinkage deformation). Additionally, the file generation unit (220) can identify sections where interference occurs during nozzle movement through path collision verification (AABB collision check, etc.). If the predicted result does not meet the standard value, the file generation unit (220) can iteratively modify the output conditions to optimize them until the quality is corrected above a threshold value. Through this, the file generation unit (220) can minimize the failure rate during actual output and ensure stable quality.
[0102] The file generation unit (220) may include a function to reinforce a thin-wall structure. A thin wall is a structure having a thickness smaller than the nozzle diameter, which may be incompletely formed or easily damaged during printing. The file generation unit (220) automatically identifies such areas and overlaps the printing path or slightly increases the extrusion amount to ensure sufficient material is deposited. At the same time, the file generation unit (220) can reinforce structural strength by adjusting the infill pattern and fill density while considering the material's physical properties (tensile strength, elastic modulus, etc.). For example, in the case of PLA material, the file generation unit (220) can increase resistance to damage by selecting a honeycomb pattern rather than a grid pattern.
[0103] The file generation unit (220) can optimize the output file by reflecting printer condition information. Meanwhile, variables such as the printer model, nozzle diameter, material type (PLA, ABS, etc.), and the temperature and humidity of the printing environment directly affect the print quality. For example, PLA material printing can be done stably even at low nozzle temperatures and an open chamber, whereas ABS material printing requires high bed temperatures and a closed chamber environment. The file generation unit (220) receives these conditions and can calculate the optimal printing conditions according to the equipment and environment, even for the same model.
[0104] The file generation unit (220) can simultaneously generate condition information according to multiple output types and present it to the user so that they can select it. For example, the file generation unit (220) can generate multiple candidate options that reflect mutually different objectives, such as conditions for reducing output time, conditions for prioritizing output quality, and conditions for prioritizing material reduction. Accordingly, the user can select a condition suitable for the purpose as needed, and the selected condition can be reflected in the final output file.
[0105] In this way, the file generation unit (220) can generate an optimal output file that simultaneously guarantees output stability and efficiency by calculating an optimal output path through Seq2Seq-based slicing, verifying and correcting output quality through prior simulation, automatically reinforcing weak areas such as thin-wall structures, applying customized conditions that reflect printer model and material characteristics, and presenting multiple output candidate options to the user.
[0107] The next component, the simulation unit (225), will be explained in more detail with reference to FIGS. 5 and FIGS. 6.
[0108] FIG. 5 is an exemplary diagram showing a simulation process according to one embodiment of the present invention, and FIG. 6 is an exemplary diagram for explaining a sequence prediction model according to one embodiment of the present invention.
[0109] Referring to FIGS. 5 and 6, the simulation unit (225) can receive a 3D model generated from the model generation unit (215) or the file generation unit (220). Additionally, the simulation unit (225) can directly receive general-purpose 3D data formats such as STL, OBJ, and 3MF uploaded from the user terminal (100), and the input model may include not only geometric shapes but also metadata such as material properties, dimensions, and operating environment conditions. The simulation unit (225) can link the received data in real time through the communication unit (205) and utilize it as initial input data for structural analysis and operation scenario generation in a subsequent stage.
[0110] The simulation unit (225) can identify structural information of the received 3D model. Specifically, the simulation unit (225) can convert the input 3D model into point cloud data. A point cloud is a method of representing the surface of a model by sampling it into a set of multiple points, and each point may have attributes such as coordinates, normal vectors, and reflection intensity, and is more suitable for structural analysis and artificial intelligence learning than mesh-based data. The simulation unit (225) can convert the mesh into a triangular mesh, generate a point cloud, and correct the distribution of the data by performing normalization using the mean and standard deviation.
[0111] The simulation unit (225) can receive the transformed point cloud as input and perform segmentation by applying a Point Transformer-based network. The simulation unit (225) can control the simultaneous learning of local and global relationships between points through the self-attention mechanism of the Point Transformer. Through this, the simulation unit (225) can calculate the probability that each point belongs to a specific part class (e.g., gear, shaft) and output a probability vector through softmax. Through this process, the simulation unit (225) can distinguish and label multiple parts constituting the model, and for example, the simulation unit (225) can independently identify different parts such as conveyors, robot arms, and processing devices.
[0112] The simulation unit (225) can separate the model into connected component units by applying a mesh graph partitioning technique. Specifically, the simulation unit (225) can search for separated subgraphs by performing depth-first search (DFS) based on vertex-edge connectivity and secure the independence of each component. In addition, the simulation unit (225) can improve the partitioning accuracy to over 95% by adding physical characteristics such as material (e.g., strength 200 MPa), thickness (e.g., 5 mm), and position coordinates ([x, y, z]) to the embedding vector and converting it into a 64-dimensional vector using a multilayer perceptron (MLP).
[0113] The simulation unit (225) can extract candidate vertex pairs from the boundary region between parts based on the segmentation results. The simulation unit (225) can set point pairs existing within a distance threshold (e.g., 0.1 mm) from the boundary as candidates. The simulation unit (225) can input the extracted candidate vertex pairs into a Graph Matching Network (GMN) to detect joints that have an actual connection relationship between two parts. For example, the simulation unit (225) can define the pairing score of the GMN as S = Σ w_ij * f(v_i, v_j), where w_ij is a weight and f is a feature function. Through this, the simulation unit (225) can classify the detected joints into at least one of rotational, sliding, hinge, and fixed, and can achieve a classification accuracy of about 90% or more.
[0114] The simulation unit (225) can improve joint detection performance through pre-learning using a CAD dataset. For example, the simulation unit (225) learns shape and position patterns by joint type (hinge, slide, etc.) from more than 10,000 machine CAD files and identifies the type by applying CNN-based feature extraction and an SVM classifier. In this process, the simulation unit (225) can also consider features such as the spacing between parts (e.g., 0.5 mm) and whether there is overlap (e.g., an overlap area of 10 cm²), thereby enabling automatic classification of joints with high performance at the F1-score level of 0.92.
[0115] Accordingly, the simulation unit (225) converts and normalizes the 3D model into a point cloud, distinguishes and labels multiple parts through point transformer-based segmentation and mesh graph partitioning, detects joints between parts through graph matching network and CAD dataset learning, and classifies the detected joints into rotation, slide, hinge, and fixed types, thereby providing precise and reliable structural information for defining operation scenarios in subsequent steps.
[0116] The simulation unit (225) can generate operation scenarios of the three-dimensional model based on the identified structural information.
[0117] Specifically, the simulation unit (225) maps the motion types (rotation, slide, hinge, fixed) of each part based on the results of segmentation and joint extraction, and converts this into input data for Multibody Dynamics (MBD) analysis. The simulation unit (225) defines a state vector including boundary conditions, mass, moment of inertia, and constraint conditions of each part, and together constructs a contact model representing the interaction between parts. Through this, the simulation unit (225) can automatically derive motion scenarios that can predict the motion trajectory, velocity, and acceleration when the actual mechanical device is in operation.
[0118] Additionally, the simulation unit (225) converts the extracted joint information into sequence data and inputs it into a Long Short-Term Memory (LSTM)-based sequence prediction model shown in FIG. 6 to predict a motion path including changes in the position and attitude of the part along the time axis. Since the LSTM has a structure advantageous for learning long-term dependencies, the simulation unit (225) sets the initial motion input (e.g., starting position, initial velocity) as a condition and sequentially predicts changes in the state of the part at each time step. In this process, the simulation unit (225) maintains a hidden state and a cell state to reflect the cumulative effect of the part's motion and can generate a stable and realistic motion scenario through iterative calculations.
[0119] In particular, the Long Short-Term Memory (LSTM) structure illustrated in FIG. 6 can be utilized by the simulation unit (225) to learn and predict operation scenarios that have temporal continuity. Specifically, the simulation unit (225) can control the flow of information through a gate structure by inputting an input sequence (x_t) along with a hidden state (h_{t-1}) and a cell state (C_{t-1}) into an LSTM unit. The LSTM includes a forget gate (f_t), an input gate (i_t), an output gate (o_t), and a cell state update process, thereby removing unnecessary information and appropriately reflecting new information. By repeatedly performing this process, the simulation unit (225) can effectively learn the long-term dependencies of the operation sequence.
[0120] For example, when a scenario is input in which a robot arm periodically rotates and stops while a conveyor moves at a constant speed, the simulation unit (225) can remember past motion patterns through the hidden state and cell state of the LSTM and predict the next step of motion with high accuracy. In this way, the simulation unit (225) can not only perform static model analysis but also dynamically predict and verify continuous motion that may occur in a real environment.
[0121] Furthermore, the simulation unit (225) verifies whether there is a collision between parts regarding the predicted operation path, and may adopt the operation path as a valid operation scenario only if the collision energy calculated during this process is below a preset threshold. If the collision energy exceeds the threshold, the simulation unit (225) invalidates the scenario or searches for an alternative path to derive a modified scenario. Through this, the simulation unit (225) can provide results that are safe to perform in a real environment.
[0122] Accordingly, the simulation unit (225) defines a state vector based on the results of segmentation and joint extraction, converts the extracted joint information into sequence data and inputs it into an LSTM-based prediction model, predicts a motion path including changes in part position and attitude along the time axis, and verifies the collision energy of the predicted motion path and adopts it as a valid scenario only when it is below a threshold value, thereby enabling design verification and error prevention in the pre-production stage.
[0123] The simulation unit (225) can simulate the operation of the three-dimensional model based on the generated operation scenario.
[0124] Specifically, the simulation unit (225) can set a path where the camera viewpoint changes and render the scene using a Neural Radiance Field (NeRF) along the said path. The NeRF models radiation density and color using a multilayer perceptron (MLP) based on data observed from multiple viewpoints, and synthesizes an image of a new viewpoint by calculating color information accumulated as a ray passes through a three-dimensional space. Through this process, the simulation unit (225) can generate realistic and continuous images at each viewpoint along a camera path specified by the user, thereby reproducing the model's movements in three dimensions.
[0125] The simulation unit (225) can automatically generate the names and operation descriptions of each part based on the generated operation scenarios and overlay the information in the form of subtitles on the rendered video. To this end, the simulation unit (225) automatically maps the part names by referring to the labeling results for each part in the structural information identification step, and constructs explanatory sentences by extracting operation types (e.g., linear movement, rotation, slide) from the LSTM-based sequence prediction results. The simulation unit (225) converts this information into user-friendly sentences through a natural language processing module and then overlays them on the bottom of the rendered video through a subtitle generation engine. For example, descriptions such as "Conveyor: Linear transfer operation" are automatically added to the conveyor, and "Robot arm: Rotation operation" are added to the robot arm. This allows the user to check the visual video and text descriptions simultaneously, thereby enabling a more intuitive understanding of the simulation results.
[0126] The simulation unit (225) can provide the generated rendering result image in the form of Augmented Reality (AR) by synthesizing it with the environment image where the actual device will be installed. To this end, the simulation unit (225) estimates the camera pose from the actual environment image. Camera pose estimation can be performed using Simultaneous Localization and Mapping (SLAM)-based feature point matching or a deep learning-based Perspective-n-Point (PnP) algorithm, and the viewpoint of the rendering result image is corrected based on the estimated position and pose information. Subsequently, the corrected rendering result is overlaid so as to be accurately aligned with the actual environment image. For example, when a smartphone camera is used to view the workspace, a virtual conveyor is naturally superimposed on the screen at the same position as the actual floor. Through this, the simulation unit (225) enables the user to intuitively experience the operation of the device in the actual space through AR glasses or a mobile device.
[0127] The simulation unit (225) can calculate an efficiency index of the workspace by analyzing the spatial arrangement between parts during the motion simulation process. The efficiency index can be defined as the working radius, collision frequency, interference avoidance rate, space utilization rate, etc., and the simulation unit (225) calculates this by synthesizing the results of point cloud-based spatial analysis and multi-body dynamics simulation. For example, the work efficiency can be quantified by calculating the rotation radius of the robot arm and whether there is interference with surrounding parts, or the total cycle time can be estimated by analyzing the mutual arrangement of the conveyor and the robot arm. Based on the calculated efficiency index, the simulation unit (225) automatically optimizes the part arrangement or motion path and provides an improved design plan to the user by reflecting the optimized results back into rendering and AR synthesis. Through this, the user can make design decisions that consider actual production efficiency beyond mere motion verification.
[0128] Accordingly, the simulation unit (225) can provide an advanced simulation environment that supports design verification, error prevention, user understanding improvement, and work efficiency improvement in the pre-production stage by performing realistic rendering based on NeRF, subtitle overlay of part names and operation descriptions, AR synthesis through camera pose estimation, and calculation and optimization of spatial efficiency indicators.
[0130] Below, the hardware of the modeling server (200) for realizing the logical configuration described above will be explained in more detail.
[0131] FIG. 7 is a hardware configuration diagram of a modeling server according to one embodiment of the present invention.
[0132] As illustrated in FIG. 7, the modeling server (200) may be configured to include a processor (250), memory (255), transceiver (260), input / output device (265), data bus (270) and storage (275).
[0133] Specifically, the processor (250) can implement the operation and function of the modeling server (200) based on instructions according to software (280a) which implements a three-dimensional model generation method, an output file generation method and / or an operation simulation method residing in memory (255).
[0134] Software (280b) that implements a three-dimensional model generation method, an output file generation method, and / or a motion simulation method stored in storage (275) may be loaded into memory (255).
[0135] The input / output device (265) can receive signals necessary for the operation of the modeling server (200) or output calculation results to the outside according to the command of the processor (250).
[0136] The data bus (270) is connected to the processor (250), memory (255), transceiver (260), input / output device (265), and storage (275), respectively, and can serve as a passage for transmitting signals between each component.
[0137] Storage (275) may store an Application Programming Interface (API), library files, resource files, etc., necessary for the execution of software (280a) which implements a three-dimensional model generation method, an output file generation method, and / or a motion simulation method according to embodiments of the present invention. Storage (275) may store software (280b) which implements a three-dimensional model generation method, an output file generation method, and / or a motion simulation method according to embodiments of the present invention. Additionally, a pre-trained artificial intelligence model may be stored in storage (275).
[0138] According to one embodiment of the present invention, software (280a, 280b) for implementing a method for generating a three-dimensional model that resides in memory (255) or is stored in storage (275) may be a computer program recorded on a recording medium to execute the steps of: a processor (250) receiving multimodal input of text and image related to a device to be generated from a user terminal; the processor (250) inputting the received text and image into a pre-trained artificial intelligence (AI) model to generate a two-dimensional model corresponding to the device; the processor (250) receiving inspection information for correcting the generated two-dimensional model and correcting the two-dimensional model based on the received inspection information; and the processor (250) generating a three-dimensional model corresponding to the corrected two-dimensional model.
[0139] According to another embodiment of the present invention, software (280a, 280b) for implementing a method for generating an output file that resides in memory (255) or is stored in storage (275) may be a computer program recorded on a recording medium to execute the steps of: receiving a three-dimensional model of a device to be generated by a processor (250); the processor (250) analyzing the input three-dimensional model to design a reinforcement structure to ensure output stability; and the processor (250) generating an output file that can be printed through a three-dimensional printer based on the three-dimensional model reflecting the reinforcement structure.
[0140] According to another embodiment of the present invention, software (280a, 280b) for implementing an operation simulation method residing in memory (255) or stored in storage (275) may be a computer program recorded on a recording medium to execute the steps of: the processor (250) receiving a three-dimensional model of a device from a user terminal; the processor (250) analyzing the received three-dimensional model to identify structural information of the three-dimensional model; the processor (250) generating an operation scenario of the three-dimensional model based on the identified structural information; and the processor (250) simulating the operation of the three-dimensional model based on the operation scenario.
[0141] More specifically, the processor (250) may be configured to include one or more of a Central Processing Unit (CPU), an Application-Specific Integrated Circuit (ASIC), a chipset, and a logic circuit, but is not limited thereto.
[0142] The memory (255) may be configured to include one or more of ROM (Read-Only Memory), RAM (Random Access Memory), flash memory, and memory card, but is not limited thereto.
[0143] The input / output device (260) may be configured to include one or more input devices such as a button, switch, keyboard, mouse, and joystick, and output devices such as an LCD (Liquid Crystal Display), LED (Light Emitting Diode), Organic LED (OLED), Active Matrix OLED (AMOLED), printer, and plotter, but is not limited thereto.
[0144] When the embodiments included in this specification are implemented in software, the above-described method may be implemented as modules (processes, functions, etc.) that each perform the above-described function. Each module may reside in memory (255) and be executed by a processor (250). Memory (255) may exist inside or outside the processor (250) and may be connected to the processor (250) by various well-known means.
[0145] Each component illustrated in FIG. 7 may be implemented by various means (e.g., hardware, firmware, software, or a combination thereof). When implemented by hardware, one embodiment of the present invention may be implemented by one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), processors, controllers, microcontrollers, microprocessors, etc.
[0146] In addition, when implemented by firmware or software, an embodiment of the present invention may be implemented in the form of a module, procedure, function, etc., that performs the functions or operations described above, and may be recorded on a recording medium readable through various computer means. Here, the recording medium may include program instructions, data files, data structures, etc., either alone or in combination.
[0147] The program instructions recorded on the recording medium may be those specifically designed and configured for the present invention, or they may be those known and available to those skilled in the art of computer software. For example, the recording medium includes magnetic media such as hard disks, floppy disks, and magnetic tapes; optical media such as CD-ROMs (Compact Disk Read Only Memory) and DVDs (Digital Video Disks); magneto-optical media such as floptical disks; and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory.
[0148] Examples of program instructions may include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. Such hardware devices may be configured to operate as one or more software to perform the operation of the present invention, and vice versa.
[0150] Hereinafter, the operation of the modeling server (200) as described above will be explained in more detail.
[0151] FIG. 8 is a flowchart illustrating a method for generating a three-dimensional model according to an embodiment of the present invention.
[0152] Referring to FIG. 8, first, in step S110, the modeling server (200) may receive multimodal input including text and an image related to the device from a user terminal. At this time, text feature information including at least one of the dimensions, material, and structural conditions of the device may be identified from the text, and said text feature information may be converted into a text embedding vector. Additionally, image feature information including at least one of the shape, viewpoint, and structural conditions of the device may be identified from the image, and said image feature information may be converted into an image embedding vector.
[0153] Next, in step S120, the modeling server (200) maps the text embedding vector and image embedding vector to a latent space and performs a cross-attention fusion operation to generate a fusion vector of a single semantic space. In this process, a specification vector representing industrial specification conditions for the device is reflected in the cross-attention fusion operation, and a 2D model satisfying industrial specification conditions can be generated. Additionally, the compliance rate with industrial specification conditions can be improved by injecting the specification vector into the noise prediction process at each time step of the latent diffusion model. The generated 2D model can be converted to high resolution through a correction network based on ESRGAN (Enhanced Super-Resolution Generative Adversarial Network), and the relative realism between the generated image and the actual image can be evaluated using a relativistic discriminator. In addition, the modeling server (200) can improve the quality of the design lines and curves by reinforcing the edges of the generated 2D model and performing anti-aliasing filtering on the curves and dimension lines.
[0154] Subsequently, at step S130, the modeling server (200) may provide an interactive user interface to the user terminal so that the user can inspect and correct the generated 2D model. Specifically, actions such as the user's pen input, mouse drag, and touch are converted into a delta mask representing the correction area, and the delta mask can be used to separate the correction area into image patch units. The modeling server (200) may regenerate a latent vector corresponding to the separated patch area and obtain a corrected 2D model by merging the regenerated latent vector with the original latent vector using a weighted average method.
[0155] Finally, in step S140, the modeling server (200) can generate a 3D model based on the corrected 2D model. To do this, the 2D model can be expanded into multiple view images, and a pose consistency loss can be calculated based on the Structural Similarity Index (SSIM) to maintain shape consistency between views, and multiple view images can be generated to minimize the calculated loss. Subsequently, the modeling server (200) can restore a 3D scene using a Neural Radiance Field (NeRF) based on the generated multiple view images, and convert the restored result into a Truncated Signed Distance Function (TSDF) to extract a mesh. The extracted mesh can be optimized to remove unnecessary polygons, and structural stability can be evaluated based on the stress distribution of the generated 3D model.
[0157] FIG. 9 is a flowchart illustrating a file creation method according to an embodiment of the present invention.
[0158] Referring to FIG. 9, first, in step S210, the modeling server (200) can receive a three-dimensional model of the device to be created. At this time, the three-dimensional model may be a model created by the model creation unit (215) or a model in a general format such as STL, OBJ, or 3MF uploaded from the user terminal (100).
[0159] Next, in step S220, the modeling server (200) can analyze the input 3D model to design a reinforcement structure to ensure output stability. Specifically, the mesh data of the model can be converted into a graph in which vertices are defined as nodes and connections between vertices are defined as edges, and a Graph Neural Network (GNN) is applied by assigning an attribute vector to each node to detect mesh errors such as non-manifold, holes, and inverted normals. The detected errors can be corrected through Poisson Surface Reconstruction or Laplacian Smoothing, and the stress distribution can be calculated by Finite Element Analysis (FEA), and areas exceeding tolerance criteria can be corrected.
[0160] Additionally, the modeling server (200) can calculate the overhang angle by calculating the dot product of the normal vector and the gravity direction vector of each face, and identify the area where the calculated angle is less than a threshold as an unstable area. In this case, a support structure that secures structural stability with minimal material can be automatically designed by applying a reinforcement learning-based optimization algorithm.
[0161] Subsequently, in step S230, the modeling server (200) can generate an output file based on a three-dimensional model that reflects a reinforcement structure. To this end, the model is sliced in the stacking direction to generate multiple layer paths, and the output order, movement speed, extrusion amount, stacking thickness, infill density, and infill pattern can be calculated through a sequence-to-sequence (Seq2Seq) artificial intelligence model. The generated output conditions predict surface roughness, dimensional accuracy, and whether stacking defects occur through output simulation, and if the quality is below a standard value, the conditions can be repeatedly modified to derive optimal output conditions.
[0162] Additionally, the modeling server (200) can identify a thin wall structure having a thickness smaller than the nozzle diameter within a 3D model and reinforce it through output path overlap or extrusion volume control. Furthermore, structural strength can be enhanced by adjusting the infill density and pattern by considering the strength and elasticity data of the material. Moreover, the modeling server (200) can receive condition information such as the printer model, nozzle diameter, material strength, and temperature and humidity, and reflect the output conditions optimized therefor. Furthermore, it can simultaneously generate condition information for multiple output types that reflect different objectives, such as reducing output time, prioritizing quality, and reducing material costs, and present this to the user for selection.
[0164] FIG. 10 is a flowchart for explaining a simulation method according to one embodiment of the present invention.
[0165] Referring to FIG. 10, first, in step S310, the modeling server (200) can receive a three-dimensional model of a device from a user terminal. At this time, the received model may be a three-dimensional model generated by the model generation unit or external data uploaded in the format of STL, OBJ, 3MF, etc., and may include metadata such as material, dimensions, and operating environment conditions as well as geometric shapes.
[0166] Next, in step S320, the modeling server (200) can identify structural information of the received 3D model. Specifically, the input 3D model can be converted into point cloud data, and then segmentation can be performed based on a Point Transformer to distinguish and label multiple parts constituting the model. In addition, based on the segmentation results, candidate vertex pairs can be extracted from the boundary regions of the parts and input into a Graph Matching Network to detect joints between parts. The detected joints are classified into rotational, sliding, hinge, fixed, etc., and the classification accuracy can be improved through learning based on a CAD dataset.
[0167] Subsequently, in step S330, the modeling server (200) can generate a motion scenario for a 3D model based on the identified structural information. To do this, the extracted joint information is converted into sequence data and input into a Long Short-Term Memory (LSTM)-based sequence prediction model to predict a motion path including changes in the position and attitude of the parts along the time axis. The predicted motion path can be combined with Multibody Dynamics (MBD) analysis to reflect the motion trajectory, velocity, and acceleration in the actual environment. Additionally, during the motion scenario verification process, whether there is a collision between parts is checked, and the path is adopted as a valid scenario only if the calculated collision energy is below a threshold value.
[0168] Finally, in step S340, the modeling server (200) can simulate the operation of a 3D model based on the generated operation scenario. Specifically, a path in which the camera viewpoint changes can be set, and a scene can be rendered at each viewpoint using NeRF (Neural Radiance Field) to generate realistic and continuous simulation images. Additionally, part names and operation descriptions can be automatically generated and overlaid on the rendered images in the form of subtitles. Furthermore, the generated rendering results can be combined with actual environment images and provided in the form of Augmented Reality (AR), for which camera poses are estimated and viewpoint correction is performed. Moreover, during the operation simulation process, the spatial arrangement between parts can be analyzed to calculate efficiency indicators such as the working radius, collision avoidance rate, and space utilization rate, and the part arrangement or operation path can be optimized based on the calculated indicators.
[0170] As described above, preferred embodiments of the present invention have been disclosed in this specification and drawings; however, it is obvious to those skilled in the art that other variations based on the technical spirit of the present invention are possible in addition to the embodiments disclosed herein. Furthermore, although specific terms have been used in this specification and drawings, they are used merely in a general sense to facilitate the explanation of the technical content of the present invention and to aid in understanding the invention, and are not intended to limit the scope of the present invention. Accordingly, the detailed description above should not be interpreted restrictively in any respect and should be considered illustrative. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are included within the scope of the present invention. Explanation of the symbols
[0171] 100 : User terminal 200 : Modeling server 205 : Communication unit 210 : Input / Output unit 215 : Model creation section 220 : File creation section 225 : Simulation section 230 : Storage section
Claims
Claim 1 A method for generating an output file for outputting a 3D model, comprising: a step of receiving a 3D model of a device to be generated by a modeling server; a step of analyzing the received 3D model to design a reinforcement structure for securing output stability by the modeling server; and a step of generating an output file that can be output through a 3D printer based on a 3D model reflecting the reinforcement structure; wherein the step of generating the output file is characterized by slicing the 3D model reflecting the reinforcement structure in a stacking direction to generate a plurality of layer paths, and generating output conditions including at least one of a printing order, a moving speed, an extrusion amount, a temperature, a stacking thickness, an infill density, and an infill pattern based on the generated layer paths through a Sequence-to-Sequence (Seq2Seq) model. Claim 2 A method for generating an output file for the output of a 3D model according to claim 1, wherein the step of designing the reinforcement structure comprises defining the vertices of the mesh of the 3D model as nodes and the connection relationships between the vertices as edges, assigning an attribute vector to each node to generate a graph, and applying a Graph Neural Network (GNN) based on the generated graph to detect a mesh error including at least one of a non-manifold, a hole, and an inverted normal. Claim 3 A method for generating an output file for outputting a 3D model according to claim 2, wherein the step of designing the reinforcement structure automatically corrects the detected mesh error, thereby reconstructing the mesh surface using a Poisson Surface Reconstruction technique to perform mesh retopology, or applying Laplacian Smoothing to interpolate small steps and gaps to ensure surface continuity, and analyzing the stress distribution based on Finite Element Analysis (FEA) to correct areas exceeding tolerance criteria. Claim 4 A method for generating an output file for outputting a 3D model, wherein the step of designing the reinforcement structure comprises calculating the overhang angle by calculating the dot product of the normal vector and the gravity direction vector of each face of the 3D model, identifying the area where the calculated overhang angle is less than a threshold value as an area where deformation is expected during the output process, and automatically designing a support structure that can maintain stability while using a minimum amount of material for the identified area using Reinforcement Learning (RL). Claim 5 delete Claim 6 A method for generating an output file for outputting a three-dimensional model according to claim 1, wherein the step of generating the output file comprises performing an output simulation based on the generated output conditions to predict output quality including at least one of surface roughness, dimensional accuracy, and whether stacking defects occur, and if the predicted output quality is below a preset threshold, repeatedly performing the simulation while variably controlling the output conditions to derive optimal output conditions. Claim 7 A method for generating an output file for outputting a 3D model according to claim 1, wherein the step of generating the output file comprises identifying a thin wall region having a thickness smaller than the nozzle diameter within the 3D model, adjusting the output path or controlling the extrusion amount to reinforce the identified thin wall region, and adjusting the infill density and infill pattern by considering the stress distribution based on the strength and elasticity data of the material. Claim 8 A method for generating an output file for outputting a 3D model according to claim 1, wherein the step of generating the output file comprises receiving at least one printer condition information among the model of the 3D printer, nozzle diameter, material strength, elastic data, temperature, and humidity, and adjusting the output conditions based on the received printer condition information. Claim 9 A method for generating an output file for outputting a 3D model according to claim 8, wherein the step of generating the output file comprises generating output condition information corresponding to a plurality of output types and presenting the generated plurality of output condition information to a user for selection. Claim 10 A computer program recorded on a recording medium for executing a method for generating an output file for outputting a 3D model, comprising: a step of receiving a 3D model relating to a device to be generated by the processor, the step of analyzing the received 3D model to design a reinforcement structure for securing output stability by the processor, and the step of generating an output file that can be output through a 3D printer based on the 3D model reflecting the reinforcement structure; wherein the step of generating the output file is characterized by slicing the 3D model reflecting the reinforcement structure in a stacking direction to generate a plurality of layer paths, and generating output conditions including at least one of an output order, a moving speed, an extrusion amount, a temperature, a stacking thickness, an infill density, and an infill pattern based on the generated layer paths through a Sequence-to-Sequence (Seq2Seq) model.