Information processing device, generation method, and generation program
The use of a voxel model with labeled lattice points for additive manufacturing simulations addresses the high computational cost issue of mesh division methods, providing efficient and accurate simulation of complex shapes.
Patent Information
- Application Number
- JP2025089029
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2024-10-22
- Filing Date
- 2025-05-28
- Publication Date
- 2025-09-29
- Estimated Expiration
- 2045-05-28
AI Technical Summary
The challenge of achieving highly accurate simulation in additive manufacturing processes is hindered by the increase in calculation cost as the number of mesh divisions increases, making conventional methods impractical for complex shapes.
A voxel model is used to approximate the shape of an object, defined by a collection of lattice points, allowing for efficient simulation of additive manufacturing processes by assigning labels to indicate base material, laminate, and space, and updating temperature data based on thermal conductivity and distance data.
This approach reduces computational costs while maintaining accuracy, enabling practical simulation of complex three-dimensional shapes in additive manufacturing.
Smart Images

Figure 0007745803000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to an information processing device, a generation method, and a generation program. [Background technology]
[0002] In recent years, additive processing equipment capable of forming workpieces by melting and layering supplied powder material has become widespread. This type of forming method is called the DED (Directed Energy Deposition) method. DED additive processing equipment has a laser head. The laser head moves relative to the workpiece, ejecting powder material onto the workpiece and irradiating the workpiece with laser light. This melts the portion of the workpiece irradiated with the laser light. When powder material is supplied to this melted portion, it melts and solidifies, and is then layered on the workpiece.
[0003] The accuracy of lamination processing depends on various setting conditions. To achieve the required accuracy of lamination processing, it is necessary to perform lamination processing under optimal setting conditions. In this regard, Japanese Patent Application Laid-Open No. 2020-44541 (Patent Document 1) discloses a thermo-fluid analysis method that can be used for molding in which a heat source is moved to form a molten bead on a substrate. This thermo-fluid analysis method uses the finite element method.
[0004] In the finite element method, a structure is divided into a finite number of elements (meshes), and the shape of the structure is approximated by a collection of meshes. By dividing the structure into meshes, it becomes possible to treat the structure to be analyzed as a problem consisting of a finite number of degrees of freedom. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Publication No. 2020-44541 Summary of the Invention [Problem to be solved by the invention]
[0006] To achieve a highly accurate simulation, it is necessary to increase the number of mesh divisions, but the calculation cost increases as the number of mesh divisions increases.
[0007] The present disclosure has been made to solve the problems described above, and in one aspect, its purpose is to provide a technique for approximating the shape of an object in a non-conventional way in order to reduce the amount of calculation required during simulation of additive manufacturing. [Means for solving the problem]
[0008] An example of the present disclosure provides an information processing device capable of generating a voxel model used in a simulation of an additive manufacturing process for a base material. The information processing device includes a control unit. The control unit executes the following processes: acquiring a first three-dimensional model representing the three-dimensional shape of the base material; acquiring a second three-dimensional model representing the three-dimensional shape of a laminate to be laminated on the base material during additive manufacturing; and acquiring a voxel model that encompasses the first three-dimensional model and the second three-dimensional model in a predetermined coordinate system. The voxel model is defined by a plurality of lattice points constituting a collection of voxels. The control unit further executes the following processes: assigning a first label indicating the base material to lattice points included in the first three-dimensional model among the plurality of lattice points; and assigning a second label indicating the laminate to lattice points included in the second three-dimensional model among the plurality of lattice points.
[0009] In one example of the present disclosure, the control unit further performs a process of assigning a third label indicating space to grid points among the plurality of grid points that are not included in the first three-dimensional model and are not included in the second three-dimensional model.
[0010] In one example of the present disclosure, the control unit receives settings related to the number of divisions of voxels in the voxel model, the settings including the number of divisions in a first direction of the predetermined coordinate system, the number of divisions in a second direction of the predetermined coordinate system, and the number of divisions in a third direction of the predetermined coordinate system. The first to third directions are perpendicular to each other and parallel to any of the sides constituting the voxel model.
[0011] In one example of the present disclosure, the control unit further executes a simulation of lamination processing using the voxel model. The second labels include unlaminated labels indicating that lamination has not been completed and laminated labels indicating that lamination has been completed. The control unit further executes a process of acquiring irradiation position information that defines the irradiation coordinates of the laser light in the predetermined coordinate system for each time step, and a process of sequentially changing the second labels associated with grid points in an area including the irradiation coordinates from the unlaminated labels to the laminated labels in accordance with the time step during execution of the simulation.
[0012] In one example of the present disclosure, the control unit executes a process of displaying voxels corresponding to lattice points to which the first label is associated, and a process of sequentially displaying voxels corresponding to lattice points to which the second label is the stacked label according to the time step.
[0013] In one example of the present disclosure, each of the plurality of grid points is associated with temperature data, and the control unit updates the temperature data associated with each of the plurality of grid points during the execution of the simulation based on a thermal conductivity according to a type of label associated with each of the plurality of grid points.
[0014] In one example of the present disclosure, each of the plurality of grid points is associated with distance data to other adjacent grid points, and in the simulation, the control unit further uses the distance data associated with each of the plurality of grid points to update the temperature data associated with each of the plurality of grid points.
[0015] Another example of the present disclosure provides a generation method capable of generating a voxel model used in simulating an additive manufacturing process for a base material. The generation method includes the steps of acquiring a first three-dimensional model representing the three-dimensional shape of the base material, acquiring a second three-dimensional model representing the three-dimensional shape of a laminate to be laminated on the base material during additive manufacturing, and acquiring a voxel model that encompasses the first three-dimensional model and the second three-dimensional model in a predetermined coordinate system. The voxel model is composed of a plurality of lattice points representing a collection of voxels. The generation method further includes the steps of assigning a first label indicating the base material to lattice points included in the first three-dimensional model among the plurality of lattice points, and assigning a second label indicating the laminate to lattice points included in the second three-dimensional model among the plurality of lattice points.
[0016] Another example of the present disclosure provides a generation program capable of generating a voxel model used in a simulation of an additive manufacturing process for a base material. The generation program causes a computer to execute the steps of acquiring a first three-dimensional model representing the three-dimensional shape of the base material, acquiring a second three-dimensional model representing the three-dimensional shape of a laminate to be laminated on the base material during additive manufacturing, and acquiring a voxel model that encompasses the first three-dimensional model and the second three-dimensional model in a predetermined coordinate system. The voxel model is composed of a plurality of lattice points representing a collection of voxels. The generation program further causes the computer to execute the steps of assigning a first label indicating the base material to lattice points included in the first three-dimensional model among the plurality of lattice points, and assigning a second label indicating the laminate to lattice points included in the second three-dimensional model among the plurality of lattice points.
[0017] The above and other objects, features, aspects and advantages of the present invention will become apparent from the following detailed description of the invention taken in conjunction with the accompanying drawings. [Brief explanation of the drawings]
[0018] [Figure 1] FIG. 1 is a diagram illustrating an information processing device and an additional processing device. [Figure 2] FIG. 2 is a diagram illustrating an example of a device configuration of an additional processing device. [Figure 3] 1 shows a cross-sectional view of a laser head during additive processing. [Figure 4] FIG. 2 is a diagram illustrating a process for generating a voxel model. [Figure 5] FIG. 2 is a diagram illustrating an example of a functional configuration of an information processing apparatus. [Figure 6] FIG. 2 is a diagram showing an example of a three-dimensional model of a base material. [Figure 7] FIG. 1 is a diagram showing an example of a three-dimensional model of a laminate. [Figure 8] FIG. 1 is a diagram illustrating an example of a three-dimensional model arranged in a virtual space. [Figure 9]FIG. 1 is a diagram illustrating a portion of a voxel model. [Figure 10] FIG. 2 is a diagram illustrating an example of a data structure of a voxel model. [Figure 11] FIG. 10 is a diagram showing an example of a confirmation screen for a voxel model. [Figure 12] 10 is a diagram showing an example of irradiation position information generated by an irradiation information generating unit. FIG. [Figure 13] FIG. 10 is a diagram showing the state of a voxel model at a certain time step during simulation execution. [Figure 14] FIG. 10 is a diagram for explaining an example of heat transfer calculation at each lattice point. [Figure 15] FIG. 1 is a diagram showing a schematic of waste heat (heat flow) to air. [Figure 16] FIG. 1 is a diagram illustrating a schematic diagram of heat flow between objects. [Figure 17] FIG. 10 is a diagram showing the results of a simulation performed by an execution unit. [Figure 18] FIG. 1 is a schematic diagram illustrating an example of a hardware configuration of an information processing device. [Figure 19] 10 is a flowchart showing the flow of a voxel model generation process. [Figure 20] 10 is a flowchart showing the flow of a simulation of lamination processing. [Figure 21] FIG. 10 is a diagram showing another example of the device configuration of the additional processing device. [Figure 22] This is a diagram showing the timeline of the lamination process using the SLM (Selective Laser Melting) method. [Figure 23] FIG. 2 is a diagram illustrating a process for generating a voxel model. [Figure 24] FIG. 10 is a diagram showing the state of a voxel model at a certain time step during simulation execution. DETAILED DESCRIPTION OF THE INVENTION
[0019] Hereinafter, each embodiment according to the present invention will be described while referring to the drawings. In the following description, the same parts and components are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated. Note that each embodiment and each modification described below may be selectively combined as appropriate.
[0020] <A. Additional processing device 200> FIG. 1 is a diagram showing an information processing device 100 and an additional processing device 200.
[0021] The information processing device 100 according to the embodiment has a function of simulating the layer processing in the additional processing device 200. By repeating the simulation of the layer processing on the information processing device 100, the designer can determine the optimal layer processing conditions in the additional processing device 200.
[0022] Hereinafter, first, before explaining the simulation function by the information processing device 100, an example of the additional processing device 200 will be described.
[0023] (A1. Device configuration of additional processing device 200) FIG. 2 is a diagram showing an example of the device configuration of the additional processing device 200.
[0024] The additional processing device 200 is, for example, a processing machine capable of both additional processing (AM (Additive manufacturing) processing) of a workpiece and removal processing (SM (Subtractive manufacturing) processing) of the workpiece. The removal processing function of the additional processing device 200 includes, for example, at least one of a milling function and a turning function using a fixed tool. Note that the additional processing device 200 may be a device without a removal processing function.
[0025] The additional processing device 200 includes a machine bed 211. A swivel table 212 is provided on the machine bed 211. The swivel table 212 includes a rotary table 213. The rotary table 213 is rotatably attached to the swivel table 212.
[0026] A holding mechanism 213A is clamped on the rotary table 213. The holding mechanism 213A is a fixing mechanism for holding the workpiece W to be machined. As an example, the holding mechanism 213A is a chuck.
[0027] The additional processing device 200 has, for example, two axes (a swivel axis and a rotation axis) that can be controlled regarding the rotation of the holding mechanism 213A clamped on the rotary table 213. The swivel axis is an axis parallel to the upper surface of the machine bed 211. The rotation axis is an axis perpendicular to the upper surface of the rotary table 212. The rotary table 213 is configured to be rotatable around the swivel axis and the rotation axis.
[0028] The additional processing device 200 also has a first slide mechanism 214. The first slide mechanism 214 is disposed on a machine column on the rear side of the machine bed 211. The first slide mechanism 214 is configured to be movable along a slide guide attached to the machine column.
[0029] The additional processing device 200 also has a second slide mechanism 215. The second slide mechanism 215 is configured to be movable along a slide guide attached to the first slide mechanism 214. The slide guide for the second slide mechanism 215 is provided on the first slide mechanism 214 so as to be perpendicular to the slide guide for the first slide mechanism 214. As a result, the second slide mechanism 215 is configured to be movable in a direction perpendicular to the movement direction of the first slide mechanism 214.
[0030] The additional processing device 200 also has a removal processing head 216. The removal processing head 216 is configured to be movable along a slide guide attached to the second slide mechanism 215. The slide guide for the removal processing head 216 is provided on the second slide mechanism 215 so as to be perpendicular to both the slide guide for the first slide mechanism 214 and the slide guide for the second slide mechanism 215. As a result, the removal processing head 216 is configured to be movable in a direction perpendicular to both the movement direction of the first slide mechanism 214 and the movement direction of the second slide mechanism 215.
[0031] The additional processing device 200 drives the removal processing head 216 to any position by controlling the driving of the first slide mechanism 214, the driving of the second slide mechanism 215, and the driving of the removal processing head 216. The first slide mechanism 214 and the second slide mechanism 215 are driven by, for example, a servo motor or the like.
[0032] The additional machining device 200 also has a magazine 218 that stores various units such as a tool 218A, and an automatic tool changer (ATC) 219. When the tool 218A is not in use, it is stored in the magazine 218. Upon receiving a tool change instruction, the automatic tool changer 219 pulls out the unit to be attached from the magazine 218 and attaches the unit to the spindle 224.
[0033] The additive processing device 200 further includes a laser head 231 for performing additive processing by the DED method. The laser head 231 supplies powder material to the workpiece W during additive processing, and irradiates the workpiece surface with laser light. The powder material may be metal powder, resin powder, or any other type of powder that can be melted by laser light.
[0034] The laser head 231 has a head main body 232 and a laser nozzle 236. Powder material is supplied to the head main body 232 via a cable CB. The laser nozzle 236 irradiates the workpiece with laser light and determines the irradiation area of the workpiece with the laser light. The powder material supplied to the laser head 231 is ejected toward the workpiece W through the laser nozzle 236.
[0035] The laser head 231 is provided on a third slide mechanism 234. The third slide mechanism 234 is provided on a slide guide 233. This allows the third slide mechanism 234 to move along the slide guide 233. The laser head 231 is driven to be positioned below the main shaft 224 during additional processing, and is attached to the main shaft 224. The laser head 231 attached to the main shaft 224 is driven to any position in conjunction with the removal processing head 216.
[0036] (A2. Additional processing methods) Next, the mode of additional processing by the additional processing device 200 will be described with reference to Fig. 3. Fig. 3 shows a cross-sectional view of the laser head 231 during additional processing.
[0037] The laser head 231 irradiates the surface of the workpiece W with laser light LS while moving over the workpiece W. As a result, the workpiece W melts in the area irradiated with the laser light LS, and a molten pool MP is formed on the surface of the workpiece W.
[0038] In parallel, the laser head 231 supplies powder material PM to the molten pool MP. The powder material PM is guided to the molten pool MP by gas GS discharged from the laser head 231. As a result, the powder material PM melts and liquefies in the molten pool MP. The molten pool MP then solidifies, forming a layer SL on the workpiece W. The gas GS also functions as a shielding gas, preventing oxidation of the workpiece W, which is a laminated structure.
[0039] The additive processing device 200 can realize various additive processes by controlling the laser head 231. Types of additive processes include lamination processing and coating processing. Lamination processing is processing in which layers SL are stacked on the workpiece W. Coating processing is processing in which the surface of the workpiece W is covered with layers SL.
[0040] <B.ボクセルモデル> As described above, the information processing device 100 according to the embodiment has a function for simulating the additive processing in the additive processing device 200. The information processing device 100 simulates the additive processing on the base material by using a voxel model that represents the approximate shapes of the base material and the laminate.
[0041] The information processing device 100 provides a function for generating a voxel model used in a simulation. That is, a designer first creates a voxel model using the information processing device 100, and then executes a simulation of a lamination process using the voxel model.
[0042] A method for generating a voxel model used in a simulation of lamination processing will be described below with reference to Fig. 4. Fig. 4 is a diagram schematically showing the process of generating a voxel model 128.
[0043] First, the information processing device 100 acquires a three-dimensional model 126A (first three-dimensional model) that indicates the three-dimensional shape of the base material. In the example of FIG. 4, the three-dimensional model 126A is shown in two dimensions for the sake of convenience of explanation, but the three-dimensional model 126A actually has a three-dimensional shape. The three-dimensional model 126A is data that defines at least the outer shape of the base material. In other words, the three-dimensional model 126A is data that can at least distinguish between the inside and outside of the base material. Examples of the three-dimensional model 126A include a solid model and a surface model.
[0044] Furthermore, the information processing device 100 acquires a three-dimensional model 126B (second three-dimensional model) that indicates the three-dimensional shape of the laminate to be laminated on the base material during lamination processing. In the example of FIG. 4, the three-dimensional model 126B is shown in two dimensions for ease of explanation, but the three-dimensional model 126B actually has a three-dimensional shape. The three-dimensional model 126B is data that defines at least the outer shape of the laminate. In other words, the three-dimensional model 126B is data that can at least distinguish between the inside and outside of the laminate. Examples of the three-dimensional model 126B include a solid model and a surface model.
[0045] The three-dimensional model 126A of the base material and the three-dimensional model 126B of the laminated material may be configured in one file or in separate files.
[0046] Next, the information processing device 100 acquires a voxel model 128 that includes the three-dimensional model 126A and the three-dimensional model 126B in a predetermined coordinate system. The coordinate system is defined by, for example, an i-axis, a j-axis, and a k-axis, and constitutes a virtual space VR. The i-axis, the j-axis, and the k-axis are orthogonal to each other. Furthermore, the i-axis, the j-axis, and the k-axis are each parallel to one of the sides that constitute the voxel model 128.
[0047] The voxel model 128 is defined by a plurality of lattice points GP that form a collection of voxels. In the example of FIG. 4, the voxel model 128 is shown two-dimensionally for ease of explanation, but the voxel model 128 actually has a three-dimensional shape. As an example, the voxel model 128 has a cubic or rectangular parallelepiped shape. Furthermore, each voxel that forms the voxel model 128 has a cubic or rectangular parallelepiped shape. The lattice point GP forms one of the vertices of the voxel.
[0048] The number of divisions of the lattice point GP in the i direction may be set in advance or may be set arbitrarily by the user. Similarly, the number of divisions of the lattice point GP in the j direction may be set in advance or may be set arbitrarily by the user. Similarly, the number of divisions of the lattice point GP in the k direction may be set in advance or may be set arbitrarily by the user.
[0049] The information processing device 100 assigns a label (first label) indicating the base material to the lattice point GP1 included in the three-dimensional model 126A of the base material, among the lattice points GP constituting the voxel model 128. On the other hand, the information processing device 100 assigns a label (second label) indicating the laminate to the lattice point GP2 included in the three-dimensional model 126B of the laminate, among the lattice points GP constituting the voxel model 128. By this labeling, the information processing device 100 generates the voxel model 128 representing the approximate shapes of the base material and the laminate.
[0050] Preferably, the information processing device 100 assigns a label indicating space (third label) to the grid points GP3 that are not included in either of the three-dimensional models 126A and 126B, among the grid points GP that make up the voxel model 128.
[0051] Voxel models 128 have the following advantages over mesh models used in finite element method (FEM) simulations. In the FEM, a structure is divided into a finite number of elements (meshes), and the shape of the structure is approximated by a collection of meshes. This mesh division requires an expensive program called a mesher. Today, the FEM using a mesher is the basic option for performing numerical calculations on complex shapes. However, there are issues such as the need for an expensive mesher program and the high computational costs.
[0052] On the one hand, the computational cost of simulation by the difference method is lower than that of simulation by the finite element method. However, in order to handle complex three-dimensional shapes by the difference method, case-by-case complex setting work is required. It is not practical to perform this setting work manually. The information processing apparatus 100 according to the embodiment greatly simplifies the creation of a lattice point group representing a complex three-dimensional shape, which is a weakness of the difference method, and enables simulation of additive manufacturing by the difference method.
[0053] <C. Functional Configuration of Information Processing Apparatus 100> Next, referring to FIGS. 5 to 17, the functional configuration of the information processing apparatus 100 will be described. FIG. 5 is a diagram showing an example of the functional configuration of the information processing apparatus 100.
[0054] As shown in FIG. 5, the information processing apparatus 100 includes, as functional components, a data acquisition unit 152, a data acquisition unit 154, a model generation unit 156, an irradiation information generation unit 158, and an execution unit 160. These components will be described in order below.
[0055] In the example of FIG. 5, an example is shown in which the data acquisition unit 152, the data acquisition unit 154, the model generation unit 156, the irradiation information generation unit 158, and the execution unit 160 are implemented in the same information processing apparatus 100. However, at least a part of these may be implemented in other apparatuses.
[0056] (C1.Data Acquisition Unit 152) First, referring to FIG. 6, the function of the data acquisition unit 152 shown in FIG. 5 will be described. FIG. 6 is a diagram showing an example of a three-dimensional model 126A generated by the data acquisition unit 152.
[0057] The data acquisition unit 152 generates a three-dimensional model 126A showing the three-dimensional shape of the base material. The three-dimensional model 126A of the base material is, for example, data in the STL (Stereolithography) format. The data in the STL format is data that represents the shape of a three-dimensional model as a set of triangular polygon meshes.
[0058] The data acquisition unit 152 is, for example, a part of a function of a CAD (Computer-Aided Design) tool. A designer can create or edit a three-dimensional model of a base material using the CAD tool. The CAD tool usually has a function to convert a CAD file into an STL format. Using this file conversion function, the CAD tool meshes the surface shape of the base material and generates an STL file that represents the outline of the base material using a mesh.
[0059] The generated STL file of the base material is output to the model generation unit 156 as the three-dimensional model 126A.
[0060] The data format of the three-dimensional model 126A is not limited to an STL file, but may be any data format that defines at least the outer shape of the base material.
[0061] (C2. Data Acquisition Unit 154) Next, the function of the data acquisition unit 154 shown in Fig. 5 will be described with reference to Fig. 7. Fig. 7 is a diagram showing an example of a three-dimensional model 126B generated by the data acquisition unit 154.
[0062] The data acquisition unit 154 generates a three-dimensional model 126B that indicates the three-dimensional shape of the laminate. At this time, the file format of the three-dimensional model 126B generated by the data acquisition unit 154 is the same as the file format of the three-dimensional model 126A generated by the above-mentioned data acquisition unit 152. As an example, the three-dimensional model 126B of the laminate is data in STL format.
[0063] The data acquisition unit 154 is, for example, a part of the function of a CAM (Computer-Aided Manufacturing) tool. A designer can use the CAM tool to design the shape and structure of the part to be laminated on the base material. This design determines the drive path of the laser head 231, the attitude of the laser head 231 in each drive path, the irradiation intensity of the laser light LS in each drive path, the drive speed of the laser head 231 in each drive path, the thickness of the layer laminated by the laser head 231, and the like.
[0064] The CAM tool has a function to convert the CAM file into STL format, and by using this file conversion function, the CAM tool meshes the surface shape of the laminate and generates an STL file that represents the outer shape of the laminate as a mesh.
[0065] The generated STL file of the laminate is output to the model generation unit 156 as the three-dimensional model 126B.
[0066] The data format of the three-dimensional model 126B is not limited to an STL file, but may be any data format that defines at least the outer shape of the laminate.
[0067] (C3. Model generation unit 156) Next, the function of the model generation unit 156 shown in FIG. 5 will be described with reference to FIGS.
[0068] The model generation unit 156 generates the above-mentioned voxel model 128 (see FIG. 4). More specifically, first, the model generation unit 156 places a three-dimensional model 126A of the base material and a three-dimensional model 126B of the laminate in the same virtual space VR. FIG. 8 is a diagram showing an example of the three-dimensional models 126A and 126B placed in the virtual space VR.
[0069] Next, the model generation unit 156 places an empty voxel model 128 in the virtual space VR so as to include both the three-dimensional models 126A and 126B. FIG.
[0070] As described above, the voxel model 128 is composed of a plurality of lattice points GP that form a voxel aggregate. The number of divisions of the voxels in the virtual space VR is determined based on, for example, the setting parameters 124. The setting parameters 124 may be defined in advance or may be arbitrarily set by the user.
[0071] The setting parameters 124 include, for example, the number of divisions of voxels in the i direction (first direction) in the virtual space VR. The model generation unit 156 divides the width of the voxel model 128 in the i direction by the number of divisions and calculates the division result as the voxel width Δi per voxel. Note that the width of the voxel model 128 in the i direction may be set in advance or may be arbitrarily set by the user. The width of the voxel model 128 in the i direction is at least larger than the maximum width of the three-dimensional models 126A, 126B in the i direction.
[0072] The setting parameters 124 also include, for example, the number of divisions of the voxels in the j direction (second direction) in the virtual space VR. The model generation unit 156 divides the width of the voxel model 128 in the j direction by the number of divisions and calculates the division result as the voxel width Δj per voxel. The width of the voxel model 128 in the j direction may be set in advance or may be arbitrarily set by the user. The width of the voxel model 128 in the j direction is at least larger than the maximum width of the three-dimensional models 126A, 126B in the j direction.
[0073] Furthermore, the setting parameters 124 include, for example, the number of divisions of the voxels in the k direction (third direction) in the virtual space VR. The model generation unit 156 divides the width of the voxel model 128 in the k direction by the number of divisions and calculates the division result as the voxel width Δk per voxel. The width of the voxel model 128 in the k direction may be set in advance or may be arbitrarily set by the user. The width of the voxel model 128 in the k direction is at least larger than the maximum width of the three-dimensional models 126A, 126B in the k direction.
[0074] By changing the setting parameters 124, the user can arbitrarily set the degree of approximation of the shapes of the base material and the laminate.
[0075] Thereafter, the model generation unit 156 assigns a base material label to lattice points GP included in the three-dimensional model 126A of the base material among the lattice points GP that make up the voxel model 128. The model generation unit 156 also assigns a laminate label to lattice points GP included in the three-dimensional model 126B of the laminate among the lattice points GP that make up the voxel model 128. Furthermore, the model generation unit 156 assigns an air label, indicating space, to lattice points GP that are not included in either the three-dimensional models 126A and 126B among the lattice points GP that make up the voxel model 128.
[0076] The types of labels assigned to the grid points GP are not limited to the base material label, laminate label, and air label. As another example, boundary labels indicating the boundaries between different objects may be assigned. Examples of such boundary labels include a boundary label between the base material and the laminate, a boundary label between the base material and the space, and a boundary label between the laminate and the space.
[0077] Furthermore, the voxel width Δi of each voxel in the i direction does not necessarily have to be the same. For example, the voxel width Δi of the lattice points GP to which the base material label and the laminate label are assigned may be shorter than the voxel width Δi of the lattice points GP to which other labels, such as the air label, are assigned.
[0078] Similarly, the voxel width Δj of each voxel in the j direction does not necessarily have to be the same. For example, the voxel width Δj of a lattice point GP to which a base material label and a laminate label are assigned may be shorter than the voxel width Δj of a lattice point GP to which another label, such as an air label, is assigned.
[0079] Similarly, the voxel width Δk of each voxel in the k direction does not necessarily have to be the same. For example, the voxel width Δk of the lattice points GP to which the base material label and the laminate label are assigned may be shorter than the voxel width Δk of the lattice points GP to which other labels, such as the air label, are assigned.
[0080] Fig. 10 is a diagram showing an example of the data structure of voxel model 128. As shown in Fig. 10, voxel model 128 associates, for each lattice point number 129A, coordinate values 129B, labels 129C, temperature data 129D, and adjacent lattice point information 129E.
[0081] The lattice point number 129A is information for uniquely identifying the lattice point GP that constitutes the voxel model 128. The lattice point number 129A does not necessarily have to be used as the identifier of the lattice point GP. The lattice point name may also be used as the identifier of the lattice point GP.
[0082] The coordinate value 129B is information indicating the position of the grid point GP within the virtual space VR. The coordinate value 129B is defined by an i coordinate indicating the position in the i direction within the virtual space VR, a j coordinate indicating the position in the j direction within the virtual space VR, and a k coordinate indicating the position in the k direction within the virtual space VR.
[0083] The label 129C defines the type of label attached to each grid point GP. Examples of the types of labels that can be attached include a base material label, a laminate label, and an air label.
[0084] The temperature data 129D is information indicating the temperature of each lattice point GP. The temperature data 129D is used during a heat conduction simulation, which will be described later. Before the simulation starts, a predetermined initial value is set in the temperature data 129D.
[0085] The adjacent lattice point information 129E includes an adjacent lattice point number 129E1 and distance data 129E2.
[0086] The adjacent lattice point number 129E1 is information for identifying a lattice point GP adjacent to the lattice point GP indicated by the lattice point number 129A. That is, the corresponding relationship between the lattice point number 129A and the adjacent lattice point number 129E1 can identify connected lattice points GP. The adjacent lattice point number 129E1 can exist on the positive side of the i direction, the negative side of the i direction, the positive side of the j direction, the negative side of the j direction, the positive side of the k direction, and the negative side of the k direction. In addition, in places where there is no adjacent lattice point GP, the adjacent lattice point number 129E1 is filled with a NULL value or the like.
[0087] The distance data 129E2 indicates the distance from the grid point GP indicated by the grid point number 129A to an adjacent grid point GP. The distance indicates the distance in the virtual space VR. The distance data 129E2 is defined for the positive side of the i direction, the negative side of the i direction, the positive side of the j direction, the negative side of the j direction, the positive side of the k direction, and the negative side of the k direction.
[0088] As an example, the voxel width Δi (see FIG. 9) is defined in the distance data 129E2 relating to the positive side of the i direction. The voxel width Δi is defined in the distance data 129E2 relating to the negative side of the i direction. The voxel width Δj (see FIG. 9) is defined in the distance data 129E2 relating to the positive side of the j direction. The voxel width Δj is defined in the distance data 129E2 relating to the negative side of the j direction. The voxel width Δk (see FIG. 9) is defined in the distance data 129E2 relating to the positive side of the k direction. The voxel width Δk is defined in the distance data 129E2 relating to the negative side of the k direction.
[0089] Note that the voxel model 128 may include various information other than the information shown in Fig. 10. As an example, specific heat, density, etc. may be associated with each of the lattice point numbers 129A.
[0090] The voxel model 128 generated by the model generating unit 156 is stored in a storage device of the information processing device 100 (for example, an auxiliary storage device 120 described below).
[0091] The user can display the generated voxel model 128. Fig. 11 is a diagram showing an example of a confirmation screen 140 for the generated voxel model 128.
[0092] The confirmation screen 140 is displayed, for example, on the display 106 (see FIG. 18) of the information processing device 100. The confirmation screen 140 includes display areas 142A and 142B.
[0093] Display area 142A is an area that displays three-dimensional models 126A and 126B that are the source of generation of voxel model 128. As described above, three-dimensional model 126A is data that indicates the three-dimensional shape of the base material, and three-dimensional model 126B is data that indicates the three-dimensional shape of the laminate.
[0094] The display area 142B is a display area for the generated voxel model 128. In the display area 142B, voxel groups VAS corresponding to lattice points associated with base material labels and voxel groups VBS corresponding to lattice points associated with laminate labels are displayed in a distinguishable manner. The voxel groups VAS and VBS may be distinguished by color, by type of hatching, or by other display methods. Note that voxel groups corresponding to lattice points associated with air labels are not displayed in the display area 142B.
[0095] By displaying the display areas 142A and 142B side by side, the user can check whether the approximate shape of the base material and the approximate shape of the laminate are expressed with the accuracy that the user desires.
[0096] (C4. Irradiation information generation unit 158) Next, the function of the irradiation information generating section 158 shown in Fig. 5 will be described with reference to Fig. 12. Fig. 12 is a diagram showing an example of irradiation position information 130 generated by the irradiation information generating section 158.
[0097] The irradiation information generation unit 158 generates irradiation position information 130 required for simulating the lamination process. The irradiation position information 130 defines the irradiation coordinates of the laser emitted by the laser head 231 for each time step. The coordinates indicate a position within the virtual space VR.
[0098] The irradiation position information 130 is generated, for example, from the above-mentioned CAM file (see FIG. 5) used to generate the three-dimensional model 126B of the laminate. As described above, the CAM file specifies the drive path of the laser head 231, the attitude of the laser head 231 in each drive path, the irradiation intensity of the laser light LS in each drive path, the drive speed of the laser head 231 in each drive path, the laminate thickness by the laser head 231, etc. The irradiation information generation unit 158 generates the irradiation position information 130 based on the CAM file including this information.
[0099] (C5. Executive Unit 160) Next, the function of the execution unit 160 shown in FIG. 5 will be described with reference to FIG.
[0100] The execution unit 160 uses the voxel model 128 generated by the model generation unit 156 to execute a simulation of the lamination process on the base material.
[0101] The execution unit 160 changes the content of the stacked product labels defined in the voxel model 128 depending on the progress of the simulation of the lamination process. More specifically, the stacked product labels include unstacked labels indicating that stacking has not been completed and stacked labels indicating that stacking has been completed. The execution unit 160 identifies the irradiation coordinates of the laser light LS at each time step by referring to the irradiation position information 130. Then, during the execution of the simulation of the lamination process, the execution unit 160 sequentially changes the stacked product labels associated with the lattice points GP located at each irradiation coordinate from unstacked labels to stacked labels depending on the time step.
[0102] Fig. 13 is a diagram showing the state of the voxel model 128 at a certain time step during the execution of a simulation. In the example of Fig. 13, lattice points GP that have been assigned an unlaminated label are indicated by "0." Grid points GP that have been assigned a laminated label are indicated by "1." Grid points GP that have been assigned a base material label are indicated by "2." Grid points GP that have been assigned an air label are indicated by "3."
[0103] The execution unit 160 refers to the above-mentioned irradiation position information 130 (see FIG. 12 ) to identify the irradiation point LP corresponding to the current time step. Then, the execution unit 160 changes the label type to a stacked label for the lattice point GP that is included in the irradiation area LR centered on the irradiation point LP and that is associated with an unstacked label. The execution unit 160 executes such a label change process for each time step defined in the irradiation position information 130.
[0104] The size of the irradiation region LR may be set in advance or may be arbitrarily set by the user.
[0105] The execution unit 160 executes a display process according to the type of label during the execution of the simulation. More specifically, the execution unit 160 displays voxels corresponding to the lattice points GP of the base material label at or before the start of the lamination simulation. Then, based on the start of the lamination simulation, the execution unit 160 sequentially displays voxels corresponding to the lattice points GP that have been changed from unlaminated labels to laminated labels according to the time step. This allows the user to check the lamination process of the laminated material on the base material.
[0106] Furthermore, the execution unit 160 updates the temperature data 129D (see FIG. 10) associated with each of the lattice points GP based on the thermal conductivity according to the type of label 129C associated with each of the lattice points GP. This allows the user to simulate temperature changes during the stacking process.
[0107] 14 is a diagram for explaining an example of heat transfer calculation at a grid point GP. The heat transfer calculation is performed based on the finite difference method.
[0108] 14, the execution unit 160 performs heat transfer calculations for lattice points GP to which stacked labels are assigned and for lattice points GP to which base material labels are assigned. That is, the execution unit 160 does not perform heat transfer calculations for lattice points GP to which unstacked labels are assigned and for lattice points GP to which air labels are assigned.
[0109] Furthermore, when the execution unit 160 itself is a lattice point GP of a laminated label or a lattice point GP of a base material label and the adjacent lattice point GP is an unlaminated label, the execution unit 160 performs a heat transfer calculation assuming waste heat to air. Furthermore, when the execution unit 160 itself is a lattice point GP of a laminated label or a lattice point GP of a base material label and the adjacent lattice point GP is an air label, the execution unit 160 performs a heat transfer calculation assuming waste heat to air.
[0110] 15 is a diagram schematically showing waste heat (heat flow) to the air. In the i direction, the execution unit 160 calculates the heat flow to the air based on the following equation (1).
[0111] [Formula (1)] TIFF0007745803000002.tif16170 Here, the left side of equation (1) represents the heat flow rate to the air. i " indicates the temperature of the grid point of interest. "T c " is the temperature of the neighboring grid point with which the air label is associated. "T c " is fixed to room temperature, for example. "ε" indicates emissivity. The value of "ε" is, for example, 0.4. "σ" is the Stefan-Boltzmann constant. "h" is the convection heat transfer coefficient. "A" is the surface area between adjacent grid points. The surface area in the i direction is calculated based on the distance between grid points in the j direction and the distance between grid points in the k direction, as shown in the following equation (2).
[0112] [Formula (2)] TIFF0007745803000003.tif16170 The calculation of waste heat to the air in the j direction is performed in the same way as equation (1), except that the cross-sectional area "A" changes. The calculation of waste heat to the air in the k direction is performed in the same way as equation (1), except that the cross-sectional area "A" changes.
[0113] Furthermore, the execution unit 160 performs heat transfer calculations taking into account heat flows between objects for the heat flow from base material to base material, the heat flow from stack to stack, the heat flow from base material to stack, and the heat flow from stack to base material. FIG. 16 is a diagram schematically illustrating heat flows between objects. In the i direction, the execution unit 160 calculates the amount of heat input and output based on the temperature gradient with adjacent lattice points in the i direction, the cross-sectional area between adjacent lattice points in the i direction, and the thermal conductivity of adjacent lattice points in the i direction. More specifically, this calculation is performed based on the following equation (3):
[0114] [Formula (3)] TIFF0007745803000004.tif21170 The "TF" shown in equation (3) i " indicates the amount of heat input / output in the direction i during time Δt. j-1 " indicates the distance from the grid point of interest to the adjacent grid point on the negative side of the j direction. j+1 " indicates the distance from the grid point of interest to the adjacent grid point on the positive side of the j direction. k-1 " indicates the distance from the grid point of interest to the adjacent grid point on the negative side of the k direction. k+1 " indicates the distance from the grid point of interest to the adjacent grid point on the positive side of the k direction. i-1 " indicates the distance from the grid point of interest to the adjacent grid point on the negative side of the i direction. i+1 " indicates the distance from the grid point of interest to the adjacent grid point on the positive side of the i direction. i+1 " indicates the thermal conductivity associated with the adjacent lattice point on the positive side of the i direction. i-1 " indicates the thermal conductivity associated with the adjacent lattice point on the negative side of the i direction. "T i+1 " indicates the temperature associated with the adjacent grid point on the positive side of the i direction.i-1 " indicates the temperature associated with the adjacent grid point on the negative side of the i direction.
[0115] Similarly, the execution unit 160 calculates the amount of heat input and output in the j direction based on the temperature gradient between adjacent lattice points in the j direction, the cross-sectional area between adjacent lattice points in the j direction, and the thermal conductivity of adjacent lattice points in the j direction. More specifically, this calculation is performed based on the following equation (4).
[0116] [Formula (4)] TIFF0007745803000005.tif19170 Similarly, the execution unit 160 calculates the amount of heat input and output in the k direction based on the temperature gradient between adjacent lattice points in the k direction, the cross-sectional area between adjacent lattice points in the k direction, and the thermal conductivity of adjacent lattice points in the k direction. More specifically, this calculation is performed based on the following equation (5).
[0117] [Formula (5)] TIFF0007745803000006.tif20170 Here, the heat conduction equation is expressed by the following formula (6).
[0118] [Formula (6)] TIFF0007745803000007.tif16170 "c" shown in equation (6) i " indicates the specific heat of lattice point "i". i " indicates the density of lattice point "i". "V i " denotes the volume that represents the lattice point "i". "Q laser " is the amount of heat applied by irradiation with the laser light LS.
[0119] The above formula (6) can be transformed into the following formula (7).
[0120] [Formula (7)] TIFF0007745803000008.tif55170 "V" shown in the above formula (7) i"] is represented by the following formula (8).
[0121] [Formula (8)] TIFF0007745803000009.tif20170 Based on the above formulas (1), (7), and (8), the following formula (9) can be derived.
[0122] [Formula (9)] TIFF0007745803000010.tif40170 Based on the above formula (9), the execution unit 160 sequentially calculates the temperature "T" of the grid point "i" at the time step "n + 1".
[0123] FIG. 17 is a diagram showing the execution result 134 of the simulation by the execution unit 160. As shown in FIG. 17, the execution result 134 associates the coordinates of each grid point, the label of each grid point, and the temperature data of each grid point according to the grid point number. The execution result 134 is output for each time step of the simulation. [[ID=The information processing device 100 includes a control device 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, a communication interface 104, a display interface 105, an input interface 107, and an auxiliary storage device 120. These components are connected to a bus 110.
[0127] The control device 101 (control unit) is configured, for example, by at least one integrated circuit. The integrated circuit may be configured, for example, by at least one central processing unit (CPU), at least one graphics processing unit (GPU), at least one application specific integrated circuit (ASIC), at least one field programmable gate array (FPGA), or a combination thereof.
[0128] The control device 101 controls the operation of the information processing device 100 by executing various programs such as a generation program 122A and an execution program 122B. The generation program 122A is a program for generating the above-mentioned voxel model 128. The execution program 122B is a program for executing a simulation of additive manufacturing using the voxel model 128. The generation program 122A and the execution program 122B may be configured integrally or separately.
[0129] Upon receiving an execution command for each program, the control device 101 reads the program from the auxiliary storage device 120 or the ROM 102 into the RAM 103. The RAM 103 functions as a working memory and temporarily stores various data required for executing the various programs.
[0130] A LAN (Local Area Network), an antenna, etc. are connected to the communication interface 104 (communication unit). The information processing device 100 exchanges data with external devices via the communication interface 104. Examples of such external devices include the above-mentioned additional processing device 200 and a server.
[0131] A display 106 is connected to the display interface 105. The display interface 105 sends an image signal for displaying an image to the display 106 in accordance with a command from the control device 101 or the like. The display 106 is, for example, a liquid crystal display, an organic EL (Electro Luminescence) display, or other display device. The display 106 may be configured integrally with the information processing device 100 or may be configured separately from the information processing device 100.
[0132] An input device 108 is connected to the input interface 107. The input device 108 is, for example, a mouse, a keyboard, a touch panel, or any other device capable of receiving user operations. The input device 108 may be configured integrally with the information processing device 100, or may be configured separately from the information processing device 100.
[0133] The auxiliary storage device 120 is, for example, a hard disk, a flash memory, an SSD (Solid State Drive), or other storage medium. The auxiliary storage device 120 stores the generation program 122A, the execution program 122B, the setting parameters 124, the three-dimensional models 126A and 126B, the voxel model 128, and the irradiation position information 130. The storage location of these is not limited to the auxiliary storage device 120, and may be a storage area (for example, a cache memory, etc.) of the control device 101, the ROM 102, the RAM 103, an external device, etc.
[0134] Note that the generation program 122A may be provided by being incorporated into a part of an arbitrary program instead of being provided as a single program. In this case, various processes defined in the generation program 122A are realized in cooperation with an arbitrary program. Even a program that does not include such a part of the module does not deviate from the gist of the generation program 122A according to the present embodiment. Further, a part or all of the functions provided by the generation program 122A may be realized by dedicated hardware. Further, the information processing apparatus 100 may be configured in a form such as a so-called cloud service in which at least one server executes a part of the processing of the generation program 122A.
[0135] Similarly, the execution program 122B may be provided by being incorporated into a part of an arbitrary program instead of being provided as a single program. In this case, various processes defined in the execution program 122B are realized in cooperation with an arbitrary program. Even a program that does not include such a part of the module does not deviate from the gist of the execution program 122B according to the present embodiment. Further, a part or all of the functions provided by the execution program 122B may be realized by dedicated hardware. Further, the information processing apparatus 100 may be configured in a form such as a so-called cloud service in which at least one server executes a part of the processing of the execution program 122B.
[0136] <E. Flowchart related to generation process of voxel model 128> Next, referring to FIG. 19, the control flow related to the generation process of the voxel model 128 will be described. FIG. 19 is a flowchart showing the flow of the generation process of the voxel model 128.
[0137] The process shown in FIG. 19 is performed by the control device 101 of the information processing apparatus 100 executing the above-described generation program 122A. Note that a part or all of the process shown in FIG. 19 may be executed by a circuit element or other hardware.
[0138] In step S112, the control device 101 functions as the above-described data acquisition unit 152 and acquires the three-dimensional model 126A of the base material. Since the functions of the data acquisition unit 152 are as described above, the description thereof will not be repeated.
[0139] In step S114, the control device 101 functions as the above-described data acquisition unit 154 and acquires the three-dimensional model 126B of the laminate. Since the functions of the data acquisition unit 154 are as described above, the description thereof will not be repeated.
[0140] In step S116, the control device 101 functions as the above-described model generation unit 156 and acquires an empty voxel model 128 that includes the three-dimensional model 126A and the three-dimensional model 126B in a virtual space VR defined in a predetermined coordinate system.
[0141] In step S118, the control device 101 functions as the above-described model generation unit 156 and assigns a base material label to the lattice points GP included in the three-dimensional model 126A of the base material among the lattice points GP that make up the voxel model 128. Further, the control device 101 assigns a laminate label to the lattice points GP included in the three-dimensional model 126B of the laminate among the lattice points GP that make up the voxel model 128. Furthermore, the control device 101 assigns an air label to the lattice points GP that are not included in the three-dimensional models 126A and 126B among the lattice points GP that make up the voxel model 128.
[0142] <F. Flowchart related to simulation of laminating process> Next, referring to FIG. 20, the control flow related to the simulation of the laminating process will be described. FIG. 20 is a flowchart showing the flow of the simulation of the laminating process.
[0143] The process shown in FIG. 20 is performed by the control device 101 of the information processing device 100 executing the above-described execution program 122B. Note that part or all of the process shown in FIG. 20 may be executed by circuit elements or other hardware.
[0144] In step S212, the control device 101 functions as the above-mentioned execution unit 160 and initializes the time step to a predetermined initial value.
[0145] In step S214, the control device 101 functions as the above-mentioned execution unit 160, and acquires the irradiation position corresponding to the current time step by referring to the above-mentioned irradiation position information 130 (see FIG. 12).
[0146] In step S216, the control device 101 functions as the execution unit 160 described above, and identifies lattice points GP included in the vicinity of the irradiation position acquired in step S214 from among the lattice points GP constituting the voxel model 128. Next, the control device 101 changes the label type from unstacked label to stacked label for those lattice points GP associated with unstacked labels among the identified lattice points GP. This change process is as described above, and therefore will not be described again.
[0147] In step S218, the control device 101 functions as the execution unit 160 described above, and increases the temperature data 129D (see FIG. 10) for the lattice points GP included in the vicinity of the irradiation position acquired in step S214. The degree of temperature increase is determined according to the processing conditions that have been set. The processing conditions include, for example, the intensity of the laser light LS.
[0148] In step S220, the control device 101 functions as the above-mentioned execution unit 160, and executes heat transfer calculations for the lattice points GP that make up the voxel model 128. The heat transfer calculations are as described above, and therefore the description thereof will not be repeated.
[0149] In step S222, the control device 101 functions as the above-mentioned execution unit 160, and outputs the calculation result in step S220 as the above-mentioned execution result 134 (see FIG. 17).
[0150] In step S230, the control device 101 functions as the above-described execution unit 160 and determines whether to end the simulation of the additive manufacturing. As an example, the control device 101 determines to end the simulation of the additive manufacturing based on the fact that the current time step exceeds the last time step defined in the irradiation position information 130. If the control device 101 determines to end the simulation of the additive manufacturing (YES in step S230), it ends the process shown in FIG. 20. Otherwise (NO in step S230), the control device 101 switches the control to step S232.
[0151] In step S232, the control device 101 updates the current time step. Typically, the control device 101 increments the current time step. Then, the control device 101 returns the control to step S214.
[0152] <G. Others 1> In the examples of FIGS. 2 and 3 described above, the additive manufacturing apparatus 200 of the DED method that realizes additive manufacturing by melting the powder material PM has been described. However, the above-described voxel model 128 can also be applied to the simulation of additive manufacturing in the wire DED method. That is, the additive manufacturing by the DED method can include not only additive manufacturing assuming a powder material PM but also additive manufacturing assuming a wire material.
[0153] The additive manufacturing apparatus 200 of the wire DED method is configured to supply a metallic wire material and melt the wire material by a laser beam. The voxel model 128 described in this specification and the simulation of additive manufacturing described in this specification can also be applied to such additive manufacturing by the wire DED method.
[0154] <H. Others 2> Furthermore, in the examples of Figures 2 and 3 described above, an additive processing apparatus 200 employing the DED method has been described, but the voxel model 128 described in this specification and the simulation of additive processing described in this specification may also be applied to other additive processing methods, such as the SLM method.
[0155] (H1. SLM type additive processing device 200) The SLM type additional processing apparatus 200 will be described below with reference to Fig. 21. Fig. 21 is a diagram showing another example of the device configuration of the additional processing apparatus 200.
[0156] For ease of explanation, the direction parallel to the direction of gravity will also be referred to as the "Z-axis direction" below. The Z-axis direction corresponds to the up-down direction. The downward direction (the direction of gravity) will also be referred to as the Z-axis positive side, and the upward direction will also be referred to as the Z-axis negative side.
[0157] The direction on a horizontal plane perpendicular to the Z-axis direction is also referred to as the "X-axis direction." The X-axis direction corresponds to the left-right direction when the additional processing device 200 is viewed from the front. The right direction when the additional processing device 200 is viewed from the front is also referred to as the X-axis positive side, and the left direction when the additional processing device 200 is viewed from the front is also referred to as the X-axis negative side.
[0158] Furthermore, the direction on a horizontal plane perpendicular to both the X-axis and Z-axis directions is also referred to as the "Y-axis direction." In Figure 21, the Y-axis direction indicates the front-to-back direction on the paper. Furthermore, the back side when viewing the additional processing device 200 from the front side is also referred to as the Y-axis direction positive side, and the front side of the additional processing device 200 is also referred to as the Y-axis direction negative side.
[0159] The additive processing device 200 is a processing machine capable of layer-by-layer processing of a workpiece using the SLM method. The additive processing device 200 irradiates a spread powder material of metal with laser light, locally melting and solidifying the powder material, thereby layer-by-layer processing of the workpiece.
[0160] The additional processing device 200 includes a lifting mechanism 330 , a lifting mechanism 340 , a recoater 350 , and a laser head 360 .
[0161] A storage area AR1 for powder material PM is provided inside the additive processing device 200. The powder material PM is the material of the workpiece W. Any metal powder that can be melted by the laser light LS can be used as the powder material PM.
[0162] The storage area AR1 is defined by, for example, an elevator mechanism 330 and a wall surface 332. The wall surface 332 is configured to surround the upper surface of the elevator mechanism 330 in a top view.
[0163] The upper surface of the lifting mechanism 330 forms the floor surface of the storage area AR1. The upper surface of the lifting mechanism 330 is configured to be able to move up and down in the Z-axis direction. The lifting mechanism 330 is raised and lowered by a drive mechanism (not shown) such as a motor. The top of the storage area AR1 is open, and as the lifting mechanism 330 rises, the powder material PM is pushed out of the storage area AR1.
[0164] Furthermore, a processing area AR2 for the workpiece W is provided inside the additional processing device 200. The processing area AR2 is defined by, for example, an elevating mechanism 340 and a wall surface 342. The wall surface 342 is configured to surround the upper surface of the elevating mechanism 340 in a top view.
[0165] The upper surface of the lifting mechanism 340 forms the floor surface of the processing area AR2. The lifting mechanism 340 is configured to be able to move up and down in the Z-axis direction. The lifting mechanism 340 is moved up and down by a drive mechanism (not shown) such as a motor. The top of the processing area AR2 is open.
[0166] A base plate 344 may be attached to the upper surface of the lifting mechanism 340. The base plate 344 may be fixed to the lifting mechanism 340 by, for example, a chuck mechanism (not shown) or the like. The base plate 344 is fixed to the lifting mechanism 340 before the additive processing device 200 starts the layer processing.
[0167] The recoater 350 is configured to spread the powder material PM extruded from the storage area AR1 into the processing area AR2. The recoater 350 is configured with a blade, a roller, or the like.
[0168] More specifically, the recoater 350 extends in the Y-axis direction. The width of the recoater 350 in the Y-axis direction is longer than the width of the storage area AR1 in the Y-axis direction, and is also longer than the width of the processing area AR2 in the Y-axis direction.
[0169] The recoater 350 is also configured to be drivable in the X-axis direction. The recoater 350 is driven by a drive mechanism (not shown) such as a motor. The recoater 350 is configured to be able to pass through at least the storage area AR1 and the processing area AR2 when viewed from above. When the recoater 350 is driven in the negative X-axis direction, the powder material PM pushed out from the top surface of the storage area AR1 is carried to the processing area AR2. As a result, the powder material PM is supplied from the storage area AR1 to the processing area AR2.
[0170] The laser head 360 irradiates the powder material PM spread in the processing area AR2 with laser light LS, thereby selectively melting and solidifying the powder material PM. As an example, the laser head 360 is composed of a laser oscillator, an optical system, and a laser scanner.
[0171] The laser oscillator is a device that generates high-energy laser light. The optical system focuses the laser light generated by the laser oscillator to generate laser light LS. The laser scanner is, for example, a galvanometer scanner. The galvanometer scanner is composed of a galvanometer mirror for deflecting the laser light LS in the X-axis direction and a galvanometer mirror for deflecting the laser light LS in the Y-axis direction. The additive processing device 200 irradiates the laser light LS at any position on the XY plane by controlling the driving of the two galvanometer mirrors.
[0172] (H2. SLM method lamination process) Next, the lamination process of the SLM method will be described with reference to Fig. 22. Fig. 22 is a diagram showing the lamination process of the SLM method in chronological order.
[0173] In step S1, the additional processing apparatus 200 raises the lifting mechanism 330. The lifting amount of the lifting mechanism 330 is set in advance. As the lifting mechanism 330 rises, the powder material PM is pushed out of the storage area AR1.
[0174] Furthermore, the additional processing device 200 lowers the lifting mechanism 340. The lowering width of the lifting mechanism 340 is set in advance. The lowering width corresponds to the thickness of one layer of the workpiece W. As a result, a space where no powder material PM exists is formed in the processing area AR2.
[0175] In step S2, the additional processing device 200 drives the recoater 350, which is waiting at a predetermined position, to the negative side in the X-axis direction. At this time, the additional processing device 200 drives the recoater 350 so that, when viewed from above, the recoater 350 passes through the storage area AR1 and the processing area AR2 in that order. As a result, the recoater 350 uniformly spreads the powder material PM extruded from the storage area AR1 into the processing area AR2. Thereafter, the additional processing device 200 returns the recoater 350 to the predetermined waiting position.
[0176] In step S3, the additive processing device 200 controls the laser head 360 in accordance with the additive processing program to irradiate the powder material PM spread in the processing area AR2 with the laser light LS. At this time, the laser light LS is irradiated onto the powder material PM on the base plate 344. The powder material PM in the area irradiated with the laser light LS melts and solidifies. This forms the first layer SL of the workpiece W.
[0177] Thereafter, the additional processing device 200 repeats the processes of steps S1 to S3 to form a workpiece W of a predetermined shape on the base plate 344 attached to the floor surface of the processing area AR2.
[0178] (H3. Voxel Model) The above-described information processing device 100 simulates the lamination process on the base material by using the voxel model 128 that represents the approximate shapes of the base material and the laminate. In this example, the information processing device 100 generates the voxel model 128 using the base plate 344 as the base material, and simulates the lamination process using the SLM method.
[0179] A method for generating a voxel model 128 used in a simulation of SLM-based lamination processing will be described below with reference to Fig. 23. Fig. 23 is a diagram schematically showing the process of generating a voxel model 128.
[0180] First, the information processing device 100 acquires a three-dimensional model 126A (first three-dimensional model) that indicates the three-dimensional shape of the base plate 344. In the example of FIG. 23, the three-dimensional model 126A is shown in two dimensions for the sake of convenience of explanation, but the three-dimensional model 126A actually has a three-dimensional shape. The three-dimensional model 126A is data that defines at least the outer shape of the base plate 344. In other words, the three-dimensional model 126A is data that can at least distinguish between the inside and the outside of the base plate 344. Examples of the three-dimensional model 126A include a solid model and a surface model.
[0181] Furthermore, the information processing device 100 acquires a three-dimensional model 126B (second three-dimensional model) that indicates the three-dimensional shape of the laminate to be laminated on the base plate 344 during lamination processing. In the example of FIG. 23, the three-dimensional model 126B is shown in two dimensions for ease of explanation, but the three-dimensional model 126B actually has a three-dimensional shape. The three-dimensional model 126B is data that defines at least the outer shape of the laminate. In other words, the three-dimensional model 126B is data that can at least distinguish between the inside and outside of the laminate. Examples of the three-dimensional model 126B include a solid model and a surface model.
[0182] The three-dimensional model 126A of the base plate 344 and the three-dimensional model 126B of the laminated body may be configured in one file or in separate files.
[0183] Next, the information processing device 100 acquires a voxel model 128 that includes the three-dimensional model 126A and the three-dimensional model 126B in a predetermined coordinate system. The coordinate system is defined by, for example, an i-axis, a j-axis, and a k-axis, and constitutes a virtual space VR. The i-axis, the j-axis, and the k-axis are orthogonal to each other. Furthermore, the i-axis, the j-axis, and the k-axis are each parallel to one of the sides that constitute the voxel model 128.
[0184] The voxel model 128 is defined by a plurality of lattice points GP that form a collection of voxels. In the example of FIG. 23, the voxel model 128 is shown two-dimensionally for ease of explanation, but the voxel model 128 actually has a three-dimensional shape. As an example, the voxel model 128 has a cubic or rectangular parallelepiped shape. Furthermore, each voxel that forms the voxel model 128 has a cubic or rectangular parallelepiped shape. The lattice point GP forms one of the vertices of the voxel.
[0185] The number of divisions of the lattice point GP in the i direction may be set in advance or may be set arbitrarily by the user. Similarly, the number of divisions of the lattice point GP in the j direction may be set in advance or may be set arbitrarily by the user. Similarly, the number of divisions of the lattice point GP in the k direction may be set in advance or may be set arbitrarily by the user.
[0186] The information processing device 100 assigns a label (first label) indicating the base plate 344 (base material) to the lattice point GP1 included in the three-dimensional model 126A of the base plate 344, among the lattice points GP constituting the voxel model 128. On the other hand, the information processing device 100 assigns a label (second label) indicating the stacked structure to the lattice point GP2 included in the three-dimensional model 126B of the stacked structure, among the lattice points GP constituting the voxel model 128. By this labeling, the information processing device 100 generates the voxel model 128 representing the approximate shapes of the base plate 344 and the stacked structure.
[0187] (H4.SLM simulation) Next, with reference to FIG. 24, a simulation function for lamination processing using the voxel model 128 shown in FIG. 23 will be described.
[0188] The simulation function is executed by the above-mentioned execution unit 160 (see FIG. 5). The execution unit 160 executes a simulation of the lamination process in the SLM method using the voxel model 128 shown in FIG.
[0189] The execution unit 160 changes the contents of the labels defined in the voxel model 128 depending on the progress of the simulation of the lamination process. In the example of Fig. 13 described above, the labels included an unlaminated label indicating that lamination has not been completed, a laminated label indicating that lamination has been completed, an air label, and a base material label. In this example, the labels further include a powder material label indicating the powder material PM spread in the processing area AR2.
[0190] FIG. 24 is a diagram showing the state of the voxel model 128 at a certain time step during the execution of a simulation. In the example of FIG. 24, lattice points GP that have been assigned an unlaminated label are indicated by "0." Grid points GP that have been assigned a laminated label are indicated by "1." Grid points GP that have been assigned a base material label are indicated by "2." Grid point GP "2" indicates the region of the base plate 344. Grid points GP that have been assigned an air label are indicated by "3." Grid points GP that have been assigned a powder material label are indicated by "4."
[0191] As described above, the SLM-type additive processing apparatus 200 lowers the lifting mechanism 340 each time processing of one layer is completed, and spreads the powder material PM in the space created by the lowering. Then, the additive processing apparatus 200 irradiates the spread powder material PM with laser light LS.
[0192] When simulating SLM-type lamination processing, the execution unit 160 updates the labels included in the voxel model 128 in a coordinate system based on the base plate 344. More specifically, the execution unit 160 expands the space into which the powder material PM is supplied each time the processing simulation for one layer is completed. The space expands in the upward direction based on the base material label (base plate 344). Then, the execution unit 160 updates the air label included in the space to a powder material label.
[0193] Thereafter, the execution unit 160 identifies the irradiation coordinates of the laser light LS at each time step by referring to the irradiation position information 130. Then, during the execution of the simulation of the lamination process, the execution unit 160 sequentially changes the stacked label associated with the lattice point GP located at each irradiation coordinate from an unstacked label to a stacked label according to the time step.
[0194] The execution unit 160 refers to the above-described irradiation position information 130 (see FIG. 12) and identifies the irradiation point LP corresponding to the current time step. Then, for the grid point GP that is included in the irradiation region LR centered on the irradiation point LP and to which an unstacked label is associated, the execution unit 160 changes the label type to a stacked label. The execution unit 160 executes such label change processing for each time step defined in the irradiation position information 130.
[0195] Note that the size of the irradiation region LR may be set in advance or may be arbitrarily set by the user.
[0196] During the execution of the simulation, the execution unit 160 executes display processing according to the label type. More specifically, at the start or before the start of the simulation of the lamination process, the execution unit 160 displays the voxel corresponding to the grid point GP of the base material label. Then, based on the start of the simulation of the lamination process, the execution unit 160 sequentially displays the voxels corresponding to the grid points GP that have been changed from unstacked labels to stacked labels according to the time step. Such display may be represented in a coordinate system based on the base plate 344 or may be represented in a coordinate system based on the real world.
[0197] <I. Others 3> In the above, an example in which the voxel model 128 is used for the simulation of heat conduction during the lamination process has been described. However, the voxel model 128 may be used for other simulations. As an example, the voxel model 128 may be used for the simulation of stress analysis.
[0198] The embodiments disclosed this time should be considered as illustrative in all respects and not restrictive. The scope of the present invention is shown not by the above description but by the claims, and it is intended that all modifications within the meaning and scope equivalent to the claims are included.
Description of Reference Numerals
[0199] 100 information processing device, 101 control device, 102 ROM, 103 RAM, 104 communication interface, 105 display interface, 106 display, 107 input interface, 108 input device, 110 bus, 120 auxiliary storage device, 122A generation program, 122B execution program, 124 setting parameters, 126A three-dimensional model, 126B three-dimensional model, 128 voxel model, 129A grid point number, 129B coordinate value, 129C label, 129D temperature data, 129E adjacent grid point information, 129E1 adjacent grid point number, 129E2 distance data, 130 irradiation position information, 134 execution result, 140 confirmation screen, 142A display area, 142B display area, 152 data acquisition unit, 154 data acquisition unit, 156 model generation unit, 158 Irradiation information generation unit, 160 execution unit, 200 additive processing device, 211 machine bed, 212 turning table, 213 rotary table, 213A holding mechanism, 214 first slide mechanism, 215 second slide mechanism, 216 removal processing head, 218 magazine, 218A tool, 219 automatic tool changer, 224 spindle, 231 laser head, 232 head body, 233 slide guide, 234 third slide mechanism, 236 laser nozzle, 330 lifting mechanism, 332 wall surface, 340 lifting mechanism, 342 wall surface, 344 base plate, 350 recoater, 360 laser head, AR1 storage area, AR2 processing area, CB cable, GP grid point, GP1 grid point, GP2 grid point, GP3 grid point, GS gas, LP irradiation point, LR irradiation area, LS Laser light, MP molten pool, PM powder material, SL layer, VAS voxel group, VBS voxel group, VR virtual space, W workpiece, Δi voxel width, Δj voxel width, Δk voxel width.
Claims
1. An information processing device capable of generating a voxel model used in a simulation of lamination processing of a base material, A control unit is provided, The control unit obtaining a first three-dimensional model representing a three-dimensional shape of the base material; A process of acquiring a second three-dimensional model representing a three-dimensional shape of a laminate to be laminated on the base material during lamination processing; obtaining a voxel model that includes the first three-dimensional model and the second three-dimensional model in a predetermined coordinate system; the voxel model is defined by a plurality of lattice points that form a collection of voxels; The control unit further a process of assigning a first label indicating the base material to grid points included in the first three-dimensional model among the plurality of grid points; and assigning a second label indicating the stack to a grid point included in the second three-dimensional model among the plurality of grid points.
2. 2. The information processing device according to claim 1, wherein the control unit further performs a process of assigning a third label indicating space to, among the plurality of lattice points, lattice points that are not included in the first three-dimensional model and that are not included in the second three-dimensional model.
3. the control unit accepts a setting related to the number of divisions of voxels in the voxel model; The setting is: the number of divisions in a first direction of the predetermined coordinate system; the number of divisions in a second direction of the predetermined coordinate system; the number of divisions in a third direction of the predetermined coordinate system, 3. The information processing apparatus according to claim 1, wherein the first to third directions are perpendicular to one another and parallel to any of the sides that form the voxel model.
4. The control unit further executes a simulation of a lamination process using the voxel model, The second label comprises: An unlaminated label indicating that lamination has not been completed; a laminated label indicating that lamination has been completed; The control unit further A process of acquiring irradiation position information that defines irradiation coordinates of the laser light in the predetermined coordinate system for each time step; 3. The information processing device according to claim 1, wherein during the execution of the simulation, a process is executed in which the second label associated with a lattice point in a region including the irradiation coordinate is sequentially changed from the unstacked label to the stacked label in accordance with the time step.
5. The control unit displaying voxels corresponding to grid points associated with the first labels; The information processing apparatus according to claim 4 , further comprising: a process of sequentially displaying voxels corresponding to grid points whose second labels are the stacked labels in accordance with the time steps.
6. temperature data is associated with each of the plurality of grid points; 5. The information processing device according to claim 4, wherein the control unit updates the temperature data associated with each of the plurality of lattice points based on a thermal conductivity according to a type of label associated with each of the plurality of lattice points during execution of the simulation.
7. each of the plurality of grid points is associated with distance data to other adjacent grid points; The information processing device according to claim 6 , wherein, in the simulation, the control unit further uses the distance data associated with each of the plurality of grid points to update the temperature data associated with each of the plurality of grid points.
8. A generation method capable of generating a voxel model used in a simulation of additive manufacturing of a base material, comprising: obtaining a first three-dimensional model representing a three-dimensional shape of the base material; acquiring a second three-dimensional model representing a three-dimensional shape of a laminate to be laminated on the base material during lamination processing; obtaining a voxel model that encompasses the first three-dimensional model and the second three-dimensional model in a predetermined coordinate system; the voxel model is composed of a plurality of lattice points representing a collection of voxels; The production method further comprises: assigning a first label indicating the base material to grid points included in the first three-dimensional model among the plurality of grid points; and assigning a second label indicating the laminate to grid points included in the second three-dimensional model among the plurality of grid points.
9. A generation program capable of generating a voxel model used in a simulation of lamination processing of a base material, The generation program is configured to obtaining a first three-dimensional model representing a three-dimensional shape of the base material; acquiring a second three-dimensional model representing a three-dimensional shape of a laminate to be laminated on the base material during lamination processing; acquiring a voxel model that encompasses the first three-dimensional model and the second three-dimensional model in a predetermined coordinate system; the voxel model is composed of a plurality of lattice points representing a collection of voxels; The generation program further causes the computer to assigning a first label indicating the base material to grid points included in the first three-dimensional model among the plurality of grid points; and assigning a second label indicating the laminate to grid points included in the second three-dimensional model among the plurality of grid points.
Citation Information
Patent Citations
System and method for increment manufacture of circuit board
JP1995307547A
Manufacturing apparatus and manufacturing method for three-dimensional molding
WO2015136982A1
Three-dimensional fabricated object manufacturing apparatus and manufacturing method
WO2015159598A1
Thermal fluid analysis method and molding manufacturing method
JP2020044541A