Information processing device, simulation method, and execution program
A voxel model with lattice points and associated labels facilitates efficient and accurate simulation of additive manufacturing by updating labels based on time steps, addressing the inefficiencies of conventional mesh-based methods.
Patent Information
- Application Number
- JP2025089020
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-05-28
- Publication Date
- 2025-10-29
- Estimated Expiration
- 2045-05-28
AI Technical Summary
The challenge of achieving highly accurate simulation in additive manufacturing processes, such as DED, is hindered by the increase in calculation cost with increased mesh divisions, making conventional techniques inefficient.
The use of a voxel model defined by a plurality of lattice points with associated labels, allowing for the simulation of additive processing by updating labels according to time steps, and incorporating temperature and distance data to improve computational efficiency.
This approach enables faster and more accurate simulation of additive manufacturing processes, reducing computational costs and simplifying the handling of complex three-dimensional shapes.
Smart Images

Figure 0007762329000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to an information processing device, a simulation method, and an execution 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 above-mentioned problems, and an object of one aspect is to provide a technique that enables machining simulation to be performed faster than conventional techniques. [Means for solving the problem]
[0008] In one example of the present disclosure, an information processing device capable of executing a simulation of additive processing is provided. The information processing device includes a control unit. The control unit executes a process of acquiring a voxel model used in the simulation. The voxel model is defined by a plurality of lattice points that constitute a collection of voxels. Each of the plurality of lattice points is associated with a label that indicates an attribute of an object at the position of the lattice point. The control unit executes a process of acquiring processing information that defines the irradiation coordinates and irradiation direction of a laser beam for each time step, and a process of sequentially updating the labels associated with lattice points within an area specified by the irradiation coordinates and the irradiation direction to a state where additive processing has been performed, according to the time step.
[0009] In one example of the present disclosure, the region has an axisymmetric shape with respect to the irradiation direction.
[0010] In one example of the present disclosure, the simulation is a simulation of a lamination process in which a laminate is laminated onto a base material. The labels include a base material label indicating the base material, an unlaminated label indicating that lamination onto the base material has not yet been completed, and a laminated label indicating that lamination onto the base material has been completed. In the updating process, the unlaminated labels associated with grid points within the region are sequentially updated to the laminated labels according to the time step.
[0011] In one example of the present disclosure, the control unit performs a process of displaying voxels corresponding to lattice points to which the base material label is associated, and a process of sequentially displaying voxels corresponding to lattice points that are the laminated labels according to the time steps.
[0012] In one example of the present disclosure, each of the plurality of grid points is associated with temperature data, and the control unit further 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.
[0013] 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.
[0014] Another example of the present disclosure provides an information processing device capable of executing a simulation of removal processing. The information processing device includes a control unit. The control unit executes a process of acquiring a voxel model used in the simulation. The voxel model is defined by a plurality of lattice points that constitute a collection of voxels. Each of the plurality of lattice points is associated with a label that indicates an attribute of an object at the position of the lattice point. The control unit executes a process of acquiring processing information that defines, for each time step, coordinates indicating a processing point by a tool and a direction of the tool, and a process of sequentially updating, to a removed state, the labels associated with lattice points within a region specified by the coordinates and the direction, according to the time step.
[0015] Another example of the present disclosure provides a simulation method for additive processing executed by an information processing device. The simulation method includes a step of acquiring a voxel model used in the simulation. The voxel model is defined by a plurality of lattice points that constitute a collection of voxels. Each of the plurality of lattice points is associated with a label that indicates an attribute of an object at the position of the lattice point. The simulation method further includes a step of acquiring processing information that defines, for each time step, the irradiation coordinates of a laser beam and the irradiation direction of the laser beam, and a step of sequentially updating, in accordance with the time step, the labels associated with the lattice points within an area specified by the irradiation coordinates and the irradiation direction, to an additively processed state.
[0016] In another example of the present disclosure, an execution program for a simulation of additive machining is provided. The execution program causes a computer to execute a process of acquiring a voxel model used in the simulation. The voxel model is defined by a plurality of lattice points that constitute a collection of voxels. Each of the plurality of lattice points is associated with a label that indicates an attribute of an object at the position of the lattice point. The execution program further causes the computer to execute a process of acquiring processing information that defines the irradiation coordinates of a laser beam and the irradiation direction of the laser beam for each time step, and a process of sequentially updating the labels associated with lattice points within an area specified by the irradiation coordinates and the irradiation direction to a state where additive machining has been performed, according to the time step.
[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. 1 illustrates the state of a voxel model when moving from one time step to the next during a simulation. [Figure 6] FIG. 2 is a diagram illustrating an example of a functional configuration of an information processing apparatus. [Figure 7] FIG. 2 is a diagram showing an example of a three-dimensional model of a base material. [Figure 8] FIG. 1 is a diagram showing an example of a three-dimensional model of a laminate. [Figure 9] FIG. 1 is a diagram illustrating an example of a three-dimensional model arranged in a virtual space. [Figure 10] FIG. 1 is a diagram illustrating a portion of a voxel model. [Figure 11] FIG. 2 is a diagram illustrating an example of a data structure of a voxel model. [Figure 12] FIG. 10 is a diagram showing an example of a confirmation screen for a voxel model. [Figure 13] FIG. 10 is a diagram illustrating an example of processing information generated by a processing information generating unit. [Figure 14] FIG. 10 is a diagram showing the state of a voxel model at a certain time step during simulation execution. [Figure 15] FIG. 10 is a diagram for explaining an example of heat transfer calculation at a lattice point. [Figure 16] FIG. 1 is a diagram showing a schematic of waste heat (heat flow) to air. [Figure 17] FIG. 1 is a diagram illustrating a schematic diagram of heat flow between objects. [Figure 18] FIG. 10 is a diagram showing the results of a simulation performed by an execution unit. [Figure 19] FIG. 1 is a schematic diagram illustrating an example of a hardware configuration of an information processing device. [Figure 20] 10 is a flowchart showing the flow of a voxel model generation process. [Figure 21] 10 is a flowchart showing the flow of a simulation of lamination processing. [Figure 22] FIG. 10 is a diagram showing another example of the device configuration of the additional processing device. [Figure 23] This is a diagram showing the timeline of the lamination process using the SLM (Selective Laser Melting) method. [Figure 24] FIG. 2 is a diagram illustrating a process for generating a voxel model. [Figure 25] FIG. 10 is a diagram showing the state of a voxel model at a certain time step during simulation execution. [Figure 26] FIG. 2 is a diagram illustrating a process for generating a voxel model. [Figure 27] FIG. 10 is a diagram illustrating an example of processing information generated by a processing information generating unit. [Figure 28]This is a diagram showing the state of the voxel model at a certain time step during simulation execution.
Embodiments for Carrying Out 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. In addition, 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. The designer can determine the optimal layer processing conditions in the additional processing device 200 by repeating the simulation of the layer processing with the information processing device 100.
[0022] 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 possessed by 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 that does not have 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 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 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 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 grid point GP in the i direction may be preset or may be arbitrarily set by the user. Similarly, the number of divisions of the grid point GP in the j direction may be preset or may be arbitrarily set by the user. Similarly, the number of divisions of the grid point GP in the k direction may be preset or may be arbitrarily set by the user.
[0049] The information processing apparatus 100 assigns a label indicating the base material to the grid point GP1 included in the three-dimensional model 126A of the base material among the grid points GP constituting the voxel model 128. On the other hand, the information processing apparatus 100 assigns a label indicating the laminate to the grid point GP2 included in the three-dimensional model 126B of the laminate among the grid points GP constituting the voxel model 128. By this labeling, the information processing apparatus 100 generates a voxel model 128 representing the approximate shapes of the base material and the laminate.
[0050] As described above, a label indicating the attribute of the object at the position of each grid point GP is associated with each grid point GP. The label represents at least one of the type of the object and the state of the object. Examples of the type of the object include a base material, a laminate, and a space. Examples of the state of the object include a state indicating processed and a state indicating before processing.
[0051] In the example of FIG. 4, the plurality of grid points GP constituting the voxel model 128 include a group of grid points associated with a label indicating the base material and a group of grid points associated with a label indicating the laminate laminated on the base material.
[0052] Preferably, the information processing apparatus 100 assigns a space label indicating a space to the grid point GP3 that is not included in both of the three-dimensional models 126A and 126B among the grid points GP constituting the voxel model 128.
[0053] <C. Outline of Lamination Processing Simulation> Next, a simulation of lamination processing using the voxel model 128 will be described with reference to Fig. 5. Fig. 5 is a diagram showing the state of the voxel model 128 when moving from one time step to the next time step during execution of the simulation.
[0054] The information processing device 100 acquires processing information 130 (see FIG. 13 ), which will be described later and which defines at least the irradiation coordinates LP of the laser beam and the irradiation direction LD of the laser beam for each time step. The information processing device 100 then sequentially updates the type of label associated with the lattice points GP within the irradiation area LR, which is specified by the irradiation coordinates LP and the irradiation direction LD, according to the time step. The irradiation area LR may be an area indicating the area where the laser beam is actually irradiated onto the base material, or an area indicating the area affected by the heat of the laser beam irradiation. An example of the area affected by the heat is the area indicating the molten pool MP (see FIG. 3 ).
[0055] The labels related to the lamination process simulation include a base material label indicating the base material, an unlaminated label indicating that lamination has not yet been performed on the base material, and a laminated label indicating that lamination has been performed on the base material. In the example of FIG. 5, the unlaminated label is assigned a "0," the laminated label is assigned a "1," and the base material label is assigned a "2." When simulating lamination processing on the base material, the information processing device 100 sequentially updates the label associated with the grid point GP in the irradiation region LR from an unlaminated label "0" to a laminated label "1" according to the time step. The information processing device 100 performs such a label change process for each time step defined in the processing information 130.
[0056] The simulation using the voxel model 128 has the following advantages over the mesh model used in the simulation by the finite element method. In the finite element method, the structure is divided into a plurality of finite elements (meshes), and the shape of the structure is approximated by an aggregate of meshes. Such mesh division requires an expensive program called a mesh generator. In modern times, when performing numerical calculations of complex shapes, the finite element method using a mesh generator has become the basic option. However, there are problems such as the need for an expensive mesh generator program and high computational costs.
[0057] On the other hand, the computational cost of the simulation by the difference method is lower than that of the simulation by the finite element method. However, in order to handle complex three-dimensional shapes by the difference method, complex case-by-case setting work is required. It is not realistic 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, by the voxel model 128, and enables simulation of additive manufacturing by the difference method.
[0058] <D. Functional Configuration of Information Processing Apparatus 100> Next, referring to FIGS. 6 to 18, the functional configuration of the information processing apparatus 100 will be described. FIG. 6 is a diagram showing an example of the functional configuration of the information processing apparatus 100.
[0059] As shown in FIG. 6, the information processing apparatus 100 includes, as functional configurations, a data acquisition unit 152, a data acquisition unit 154, a model generation unit 156, a processing information generation unit 158, and an execution unit 160. These configurations will be described in order below.
[0060] In the example of FIG. 6, an example is shown in which the data acquisition unit 152, the data acquisition unit 154, the model generation unit 156, the processing 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.
[0061] (D1. Data Acquisition Unit 152) First, the function of the data acquisition unit 152 shown in Fig. 6 will be described with reference to Fig. 7. Fig. 7 is a diagram showing an example of a three-dimensional model 126A generated by the data acquisition unit 152.
[0062] The data acquisition unit 152 generates a three-dimensional model 126A that indicates the three-dimensional shape of the base material. The three-dimensional model 126A of the base material is, for example, data in STL (Stereolithography) format. The STL format data is data that expresses the shape of the three-dimensional model as a set of triangular polygon meshes.
[0063] 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.
[0064] The generated STL file of the base material is output to the model generation unit 156 as the three-dimensional model 126A.
[0065] 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.
[0066] (D2. Data Acquisition Unit 154) Next, the function of the data acquisition unit 154 shown in Fig. 6 will be described with reference to Fig. 8. Fig. 8 is a diagram showing an example of a three-dimensional model 126B generated by the data acquisition unit 154.
[0067] 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.
[0068] 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.
[0069] 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.
[0070] The generated STL file of the laminate is output to the model generation unit 156 as the three-dimensional model 126B.
[0071] 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.
[0072] (D3. Model generation unit 156) Next, the function of the model generation unit 156 shown in FIG. 6 will be described with reference to FIGS.
[0073] 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. 9 is a diagram showing an example of the three-dimensional models 126A and 126B placed in the virtual space VR.
[0074] 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.
[0075] 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.
[0076] 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.
[0077] 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.
[0078] 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.
[0079] 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.
[0080] 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.
[0081] 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.
[0082] 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.
[0083] 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.
[0084] 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.
[0085] Fig. 11 is a diagram showing an example of the data structure of voxel model 128. As shown in Fig. 11, voxel model 128 associates, for each lattice point number 129A, coordinate values 129B, labels 129C, temperature data 129D, and adjacent lattice point information 129E.
[0086] 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.
[0087] 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.
[0088] 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.
[0089] 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.
[0090] The adjacent lattice point information 129E includes an adjacent lattice point number 129E1 and distance data 129E2.
[0091] 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.
[0092] 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.
[0093] As an example, the voxel width Δi (see FIG. 10) 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. 10) 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. 10) 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.
[0094] Note that the voxel model 128 may include various information other than the information shown in Fig. 11. For example, specific heat, density, etc. may be associated with each of the lattice point numbers 129A.
[0095] 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).
[0096] The user can display the generated voxel model 128. Figure 12 is a diagram showing an example of a confirmation screen 140 for the generated voxel model 128.
[0097] The confirmation screen 140 is displayed, for example, on the display 106 (see FIG. 19) of the information processing device 100. The confirmation screen 140 includes display areas 142A and 142B.
[0098] 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.
[0099] 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.
[0100] 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.
[0101] (D4. Processing information generation section 158) Next, the function of the processing information generating unit 158 shown in Fig. 6 will be described with reference to Fig. 13. Fig. 13 is a diagram showing an example of processing information 130 generated by the processing information generating unit 158.
[0102] The processing information generation unit 158 generates processing information 130 required for simulating the lamination processing. The processing information 130 defines the irradiation coordinates of the laser light from the laser head 231, the irradiation direction of the laser light, and output information of the laser light for each time step.
[0103] The projection coordinates defined in the processing information 130 indicate a position in the virtual space VR (see FIG. 9). The projection coordinates are defined by, for example, a coordinate in the i direction, a coordinate in the j direction, and a coordinate in the k direction.
[0104] The illumination direction defined in the processing information 130 indicates a direction within the virtual space VR. The illumination direction is defined, for example, by a rotation angle around the i direction, a rotation angle around the j direction, and a rotation angle around the k direction.
[0105] The output information defined in the processing information 130 is information that can at least specify ON / OFF of the output of the laser light from the laser head 231. The output information may be defined by two values, ON and OFF, or may be defined by the irradiation intensity of the laser light LS.
[0106] It should be noted that the irradiation position and irradiation direction when the output of the laser light is OFF do not necessarily need to be defined by the processing information generation unit 158. In this case, the output information does not necessarily need to be defined by the processing information generation unit 158.
[0107] The processing information 130 is generated, for example, from the above-mentioned CAM file (see FIG. 6) used to generate the three-dimensional model 126B of the laminate. As described above, the CAM file specifies, in G-code, the drive path of the laser head 231, the attitude (angle) of the laser head 231 in each drive path, the ON / OFF 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 laminate formed by the laser head 231, and the like. The processing information generation unit 158 generates the processing information 130 based on the CAM file including this information.
[0108] It should be noted that the processing information 130 does not necessarily have to be generated directly from a CAM file. As another example, the processing information 130 may be generated using a CLS file that a CAM tool generates as intermediate data when generating a CAM file. The CLS file specifies the drive path of the laser head 231, the attitude (angle) of the laser head 231 in each drive path, ON / OFF of the laser light LS in each drive path, the drive speed of the laser head 231 in each drive path, the layer thickness by the laser head 231, and the like. The processing information generation unit 158 generates the processing information 130 based on the CLS file that includes this information.
[0109] The drive path indicates a spatial locus followed by a drive system such as the laser head 231. The drive path is composed of a combination of multiple paths. Each path is defined by a drive start point of the laser head 231, a drive end point of the laser head 231, a feed speed of the laser head 231, and a motion method between the drive start point and the drive end point. Examples of the motion method include linear motion and circular motion.
[0110] Since the laser head 231 is interlocked with the main shaft 224, the drive path of the laser head 231 is synonymous with the drive path of the main shaft 224 (see FIG. 2).
[0111] The processing information generation unit 158 interpolates the position of the laser head 231 between the drive start point and the drive end point based on the feed speed and the motion method, thereby specifying the position of the laser head 231 at each time step.
[0112] The processing information generating unit 158 also identifies the posture of the laser head 131 immediately before the drive start point from the CAM file or the CLS file. Then, the processing information generating unit 158 identifies the posture of the laser head 231 between the drive start point and the drive end point for each time step based on the feed rate and the motion method.
[0113] Thereafter, the processing information generating unit 158 specifies the irradiation position and the irradiation direction of the laser light at each time step based on the position of the laser head 231 at each time step and the attitude (angle) of the laser head 231 at each time step. The irradiation position and the irradiation direction are written to the processing information 130 in association with the time step.
[0114] (D5. Executive Unit 160) Next, the function of the execution unit 160 shown in FIG. 6 will be described with reference to FIG.
[0115] 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.
[0116] The execution unit 160 changes the content of the stacked product labels defined in the voxel model 128 depending on the progress of the lamination simulation. 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 refers to the processing information 130 and identifies the irradiation area LR at each time step based on the irradiation coordinates LP of the laser light LS at each time step and the irradiation direction LD of the laser light LS at each time step. Then, during the execution of the lamination simulation, the execution unit 160 sequentially changes the stacked product labels associated with the lattice points GP included in the irradiation area LR from unstacked labels to stacked labels depending on the time step.
[0117] Fig. 14 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. 14, 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."
[0118] The execution unit 160 identifies the irradiation coordinate LP corresponding to the current time step and the irradiation direction LD corresponding to the current time step by referring to the above-mentioned processing information 130 (see FIG. 13). Next, the execution unit 160 identifies the irradiation area LR based on the irradiation coordinate LP and the irradiation direction LD.
[0119] The shape of the irradiation region LR is arbitrary. As an example, the irradiation region LR has a shape that is axially symmetric with respect to the irradiation direction LD. Examples of such shapes include a cylindrical shape, a spherical shape, and a conical shape. As another example, the irradiation region LR has a shape that is plane-symmetric with respect to a plane that passes through the irradiation coordinate LP in the irradiation direction LD. Examples of such shapes include polyhedral shapes such as a rectangular parallelepiped shape and a cube shape.
[0120] The irradiation region LR does not necessarily have to be axially symmetric with respect to the irradiation direction LD. As described above, the irradiation region LR may be a region that indicates the area where the laser beam is actually irradiated onto the base material, or a region that indicates the area that is affected by the heat of the laser beam irradiation. As an example, the irradiation region LR may be a region that represents the shape of the molten pool MP (see FIG. 3) described above.
[0121] The execution unit 160 changes the label type of the lattice points GP included in the projection area LR and associated with an unlaminated label to a laminated label. At this time, the execution unit 160 does not change the label type of the lattice points GP included in the projection area LR and associated with an air label. The execution unit 160 executes such a label change process for each time step defined in the processing information 130.
[0122] Preferably, the volume of the irradiation region LR may be constant or may be arbitrarily changed by setting parameters 124 (see FIG. 6). Examples of the setting parameters 124 include a radial width with the irradiation direction LD as the central axis and a width in the irradiation direction LD. The radial width may be specified by a radius or a diameter. The width in the irradiation direction LD is specified by, for example, at least one of the distance from the irradiation coordinate LP in the irradiation direction LD and the distance from the irradiation coordinate LP in the opposite direction to the irradiation direction LD.
[0123] 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.
[0124] Furthermore, the execution unit 160 updates the temperature data 129D (see FIG. 11) 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.
[0125] 15 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.
[0126] 15, 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.
[0127] 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.
[0128] 16 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).
[0129] [Formula (1)] TIFF0007762329000002.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).
[0130] [Formula (2)] TIFF0007762329000003.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.
[0131] 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. 17 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):
[0132] [Formula (3)] TIFF0007762329000004.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.
[0133] 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).
[0134] [Formula (4)] TIFF0007762329000005.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).
[0135] [Formula (5)] TIFF0007762329000006.tif20170 Here, the heat conduction equation is expressed by the following formula (6).
[0136] [Formula (6)] TIFF0007762329000007.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.
[0137] The above formula (6) can be transformed into the following formula (7).
[0138] [Formula (7)] TIFF0007762329000008.tif55170 "V" shown in the above formula (7) i " is expressed by the following formula (8).
[0139] [Formula (8)] TIFF0007762329000009.tif20170 Based on the above equations (1), (7), and (8), the following equation (9) can be derived.
[0140] [Formula (9)] TIFF0007762329000010.tif40170 The execution unit 160 sequentially calculates the temperature "T" of the lattice point "i" at the time step "n+1" based on the above formula (9).
[0141] Fig. 18 is a diagram showing the execution result 134 of the simulation by the execution unit 160. As shown in Fig. 18, 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, for each grid point number. The execution result 134 is output for each time step of the simulation.
[0142] Incidentally, the execution result 134 can be confirmed by display. More specifically, as the time step progresses, the execution unit 160 displays each voxel in a color corresponding to the temperature data. Thereby, the user can confirm the temperature change of the base material and the laminate. As a result, the user can confirm whether the temperature load is not excessive on the base material or the laminate.
[0143] <E. Hardware Configuration> Next, referring to FIG. 19, the hardware configuration of the information processing apparatus 100 will be described. FIG. 19 is a schematic diagram showing an example of the hardware configuration of the information processing apparatus 100.
[0144] The information processing apparatus 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.
[0145] The control device 101 (control unit) is constituted by, for example, at least one integrated circuit. The integrated circuit can be constituted by, for example, at least one CPU (Central Processing Unit), at least one GPU (Graphics Processing Unit), at least one ASIC (Application Specific Integrated Circuit), at least one FPGA (Field Programmable Gate Array), or a combination thereof.
[0146] 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.
[0147] 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.
[0148] 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.
[0149] 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.
[0150] 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.
[0151] 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 processing information 130. These may be stored in a storage area (for example, a cache memory) of the control device 101, the ROM 102, the RAM 103, an external device, or the like, without being limited to the auxiliary storage device 120.
[0152] The generation program 122A may be provided not as a standalone program but as part of an arbitrary program. In this case, various processes defined in the generation program 122A are realized in cooperation with the arbitrary program. Even a program that does not include some of these modules does not deviate from the spirit of the generation program 122A according to this embodiment. Furthermore, some or all of the functions provided by the generation program 122A may be realized by dedicated hardware. Furthermore, the information processing device 100 may be configured in the form of a so-called cloud service in which at least one server executes part of the processing of the generation program 122A.
[0153] Similarly, the execution program 122B may be provided by being incorporated into a part of an arbitrary program instead of being 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, 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.
[0154] <Flowchart related to generation process of F. Voxel model 128> Next, referring to FIG. 20, the control flow related to the generation process of the voxel model 128 will be described. FIG. 20 is a flowchart showing the flow of the generation process of the voxel model 128.
[0155] The process shown in FIG. 20 is performed by the control device 101 of the information processing apparatus 100 executing the above-described generation program 122A. Note that part or all of the process shown in FIG. 20 may be executed by a circuit element or other hardware.
[0156] 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 function of the data acquisition unit 152 is as described above, the description thereof will not be repeated.
[0157] 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 function of the data acquisition unit 154 is as described above, the description thereof will not be repeated.
[0158] 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.
[0159] In step S118, the control device 101 functions as the above-described model generation unit 156, and assigns a base material label to the grid points GP included in the three-dimensional model 126A of the base material among the grid points GP that constitute the voxel model 128. Further, the control device 101 assigns a laminate label to the grid points GP included in the three-dimensional model 126B of the laminate among the grid points GP that constitute the voxel model 128. Furthermore, the control device 101 assigns an air label to the grid points GP that are not included in the three-dimensional models 126A and 126B among the grid points GP that constitute the voxel model 128.
[0160] <G. Flowchart related to simulation of additive manufacturing> Next, referring to FIG. 21, a control flow related to the simulation of additive manufacturing will be described. FIG. 21 is a flowchart showing the flow of the simulation of additive manufacturing.
[0161] The process shown in FIG. 21 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. 21 may be executed by circuit elements or other hardware.
[0162] Also, the generation process of the voxel model 128 shown in FIG. 20 and the simulation process shown in FIG. 21 may be executed by the same information processing device 100 or may be executed by different information processing devices 100.
[0163] In step S208, the control device 101 acquires the above-described voxel model 128.
[0164] In step S210, the control device 101 acquires the above-mentioned processing information 130 (see FIG. 13).
[0165] 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.
[0166] In step S214, the control device 101 functions as the above-mentioned execution unit 160, and identifies the irradiation coordinate LP according to the current time step and the irradiation direction LD corresponding to the current time step by referring to the processing information 130 (see FIG. 13) acquired in step S210. Thereafter, the control device 101 identifies the irradiation area LR based on the irradiation coordinate LP and the irradiation direction LD.
[0167] In step S216, the control device 101 functions as the execution unit 160 described above, and identifies lattice points GP included in the irradiation region LR from among the lattice points GP that make up the voxel model 128. Next, the control device 101 changes the label type from unstacked label to stacked label for those lattice points GP that are associated with unstacked labels among the identified lattice points GP. This change process is as described above, and therefore will not be described again.
[0168] In step S218, the control device 101 functions as the execution unit 160 described above, and increases the temperature data 129D (see FIG. 11) 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.
[0169] 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.
[0170] In step S222, the control device 101 functions as the above-described execution unit 160 and outputs the calculation result in step S220 as the above-described execution result 134 (see FIG. 18).
[0171] 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 manufacturing 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. 21. Otherwise (NO in step S230), the control device 101 switches the control to step S232.
[0172] 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.
[0173] <H. 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 in the DED method can include not only additive manufacturing assuming a powder material PM but also additive manufacturing assuming a wire material.
[0174] 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 in the wire DED method.
[0175] <I. 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.
[0176] (I1. SLM type additive processing device 200) The SLM type additional processing apparatus 200 will be described below with reference to Fig. 22. Fig. 22 is a diagram showing another example of the device configuration of the additional processing apparatus 200.
[0177] 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.
[0178] 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.
[0179] 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 22, the Y-axis direction indicates the front-to-back direction on the paper. Furthermore, the back side of the additional processing device 200 when viewed 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.
[0180] 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.
[0181] The additional processing device 200 includes a lifting mechanism 330 , a lifting mechanism 340 , a recoater 350 , and a laser head 360 .
[0182] 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.
[0183] 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.
[0184] 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.
[0185] 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.
[0186] 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.
[0187] 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.
[0188] 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.
[0189] 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.
[0190] 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.
[0191] 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.
[0192] 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.
[0193] (I2. SLM method lamination process) Next, the lamination process of the SLM method will be described with reference to Fig. 23. Fig. 23 is a diagram showing the lamination process of the SLM method in chronological order.
[0194] 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.
[0195] 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.
[0196] 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.
[0197] 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.
[0198] 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.
[0199] (I3. 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.
[0200] 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. 24. Fig. 24 is a diagram schematically showing the process of generating a voxel model 128.
[0201] First, the information processing device 100 acquires a three-dimensional model 126A that indicates the three-dimensional shape of the base plate 344. In the example of FIG. 24, the three-dimensional model 126A is shown in two dimensions for 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.
[0202] Furthermore, the information processing device 100 acquires a three-dimensional model 126B 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. 24, 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.
[0203] 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.
[0204] 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.
[0205] The voxel model 128 is defined by a plurality of lattice points GP that form a collection of voxels. In the example of FIG. 24, 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.
[0206] 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.
[0207] The information processing device 100 assigns a 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 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.
[0208] (I4.Simulation using SLM method) Next, with reference to FIG. 25, a simulation function for lamination processing using the voxel model 128 shown in FIG. 24 will be described.
[0209] The simulation function is executed by the above-mentioned execution unit 160 (see FIG. 6). The execution unit 160 executes a simulation of the lamination process in the SLM method using the voxel model 128 shown in FIG.
[0210] 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. 14 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.
[0211] FIG. 25 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. 25, 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."
[0212] 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.
[0213] 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.
[0214] Thereafter, the execution unit 160 identifies the irradiation coordinates of the laser light LS at each time step by referring to the processing information 130. Then, during the execution of the simulation of the lamination processing, 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.
[0215] The execution unit 160 refers to the above-described processing information 130 (see FIG. 13) to identify the irradiation coordinates LP corresponding to the current time step and the irradiation direction LD corresponding to the current time step. Thereafter, the control device 101 identifies the irradiation region LR based on the irradiation coordinates LP and the irradiation direction LD. Then, the execution unit 160 changes the label type to a laminated label for the grid points GP included in the irradiation region LR and for which unlaminated labels are associated. The execution unit 160 performs such label change processing for each time step defined in the processing information 130.
[0216] Note that the size of the irradiation region LR may be set in advance or may be arbitrarily set by the user.
[0217] During the execution of the simulation, the execution unit 160 performs display processing according to the label type. More specifically, at the start or before the start of the simulation of the additive manufacturing, the execution unit 160 displays the voxels corresponding to the grid points GP of the base material label. Then, based on the start of the simulation of the additive manufacturing, the execution unit 160 sequentially displays the voxels corresponding to the grid points GP changed from the unlaminated label to the laminated label according to the time step. Such display may be represented in the coordinate system based on the base plate 344 or may be represented in the coordinate system based on the real world.
[0218] <J. Others 3> In the above, the simulation of the additive manufacturing using the voxel model 128 has been described. However, the voxel model 128 can be applied to various processing simulations using the laser light LS. As an example, the voxel model 128 can be applied to the simulation of laser welding.
[0219] <K. Others 4> In the above, the simulation of the additive manufacturing using the voxel model 128 has been described. However, the voxel model 128 can also be applied to the simulation of the subtractive manufacturing.
[0220] (K1. Voxel Model) A method for generating a voxel model 128 used in a removal processing simulation will be described below with reference to Fig. 26. Fig. 26 is a diagram schematically showing the process of generating a voxel model 128.
[0221] First, the information processing device 100 acquires a three-dimensional model 126A that indicates the three-dimensional shape of the base material. In the example of FIG. 26, the three-dimensional model 126A is shown in two dimensions for 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.
[0222] Next, the information processing device 100 acquires a voxel model 128 that encompasses the three-dimensional model 126A 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 one another. 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.
[0223] The voxel model 128 is defined by a plurality of lattice points GP that form a collection of voxels. In the example of FIG. 26, 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.
[0224] 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.
[0225] The information processing device 100 assigns a label indicating 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. Furthermore, the information processing device 100 assigns a space label indicating space to the lattice point GP3 not included in the three-dimensional model 126A, 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 shape of the base material.
[0226] (K2. Processing Information 130A) Next, the processing information 130A that is referred to during the simulation of the removal processing will be described with reference to Fig. 27. Fig. 27 is a diagram showing an example of the processing information 130A generated by the processing information generating unit 158 described above.
[0227] The machining information 130A defines, for each time step, machining coordinates indicating the machining point by the above-mentioned tool 218A (see FIG. 2) and a tool direction indicating the orientation of the tool.
[0228] The processing coordinates defined in the processing information 130A indicate a position in the virtual space VR (see FIG. 26). The processing coordinates are defined by, for example, a coordinate in the i direction, a coordinate in the j direction, and a coordinate in the k direction.
[0229] The tool direction defined in the machining information 130A indicates a direction in the virtual space VR. The tool direction is defined, for example, by a rotation angle around the i direction, a rotation angle around the j direction, and a rotation angle around the k direction.
[0230] The machining information 130A is generated, for example, from a machining program for performing removal machining on a base material (workpiece). An example of the machining program is a CAM file. The CAM file specifies, in G-code, the drive path of the tool 218A, the attitude (angle) of the tool 218A in each drive path, the drive speed of the tool 218A in each drive path, and the like. The machining information generation unit 158 generates the machining information 130A based on the CAM file including this information.
[0231] It should be noted that the machining information 130A does not necessarily have to be generated directly from a CAM file. As another example, the machining information 130A may be generated using a CLS file that a CAM tool generates as intermediate data when generating a CAM file. The CLS file specifies, in G-code, the drive path of the tool 218A, the attitude (angle) of the tool 218A in each drive path, the drive speed of the tool 218A in each drive path, and the like. The machining information generation unit 158 generates the machining information 130A based on the CLS file that includes this information.
[0232] The drive path indicates a spatial trajectory followed by a drive system such as the tool 218A. The drive path is composed of a combination of multiple paths. Each path is defined by the drive start point of the tool 218A, the drive end point of the tool 218A, the feed rate of the tool 218A, and the motion method between the drive start point and the drive end point. Examples of the motion method include linear motion and circular motion.
[0233] Since the spindle 224 is interlocked with the tool 218A, the drive path of the tool 218A is synonymous with the drive path of the spindle 224.
[0234] The machining information generating unit 158 interpolates the position of the tool 218A between the drive start point and the drive end point based on the feed rate and the motion method, thereby specifying the position of the tool 218A at each time step.
[0235] The machining information generating unit 158 also identifies the posture of the tool 218A immediately before the drive start point from the CAM file or the CLS file. Then, the machining information generating unit 158 identifies the posture of the tool 218A between the drive start point and the drive end point for each time step based on the feed rate and the motion method.
[0236] Thereafter, the machining information generating unit 158 identifies a machining position indicating a machining point at each time step and a tool direction at each time step based on the position of the tool 218A at each time step and the attitude (angle) of the tool 218A at each time step. The machining position and the tool direction are associated with the time step and written into the machining information 130A.
[0237] (K3. Simulation of removal processing) Next, with reference to FIG. 28, a removal processing simulation function using the voxel model 128 shown in FIG. 26 will be described.
[0238] The simulation function is executed by the above-mentioned execution unit 160 (see FIG. 6). The execution unit 160 executes a simulation of the removal process using the voxel model 128 shown in FIG.
[0239] The execution unit 160 changes the contents of the labels defined in the voxel model 128 depending on the progress of the removal processing simulation. The labels related to the removal processing simulation include a removed label indicating that the removal processing has been completed, a base material label, and an air label.
[0240] Fig. 28 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. 28, the lattice point GP to which the removed label has been assigned is indicated by "1." The lattice point GP to which the base material label has been assigned is indicated by "2." The lattice point GP to which the air label has been assigned is indicated by "3."
[0241] The execution unit 160 refers to the above-mentioned machining information 130A (see FIG. 27) to identify the machining position TP corresponding to the current time step and the tool direction TD corresponding to the current time step. Next, the execution unit 160 identifies the machining region TR based on the machining position TP and the tool direction TD.
[0242] The shape of the machining region TR is arbitrary. As an example, the machining region TR has a shape that is axially symmetric with respect to the tool direction TD. Examples of such shapes include a cylindrical shape, a spherical shape, and a conical shape. As another example, the machining region TR may have a polyhedral shape with a central axis that passes through the machining position TP in the tool direction TD. Examples of such polyhedral shapes include a rectangular parallelepiped shape and a cubic shape.
[0243] The execution unit 160 changes the label type of the lattice points GP that are included in the processing area TR and that are associated with a base material label to a removed label. At this time, the execution unit 160 does not change the label type of the lattice points GP that are included in the processing area TR and that are associated with an air label. The execution unit 160 executes such a label change process for each time step defined in the processing information 130A.
[0244] Preferably, the volume of the machining region TR may be constant or may be arbitrarily changed by setting parameters 124 (see FIG. 6). Examples of the setting parameters 124 include a width in a radial direction with the tool direction TD as the center axis, and a width in the tool direction TD. The width in the radial direction may be specified by a radius or a diameter. The width in the tool direction TD is specified by, for example, at least one of the distance from the machining position TP in the tool direction TD and the distance from the machining position TP in the direction opposite to the tool direction TD. Note that the setting parameters 124 may be automatically set depending on the type of tool.
[0245] 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 removal simulation. Then, based on the start of the removal simulation, the execution unit 160 sequentially erases the display of voxels corresponding to the lattice points GP of the removed label in accordance with the time step. This allows the user to check the removal process.
[0246] Furthermore, the execution unit 160 performs a simulation of temperature changes during removal processing based on the thermal conductivity according to the type of label associated with each of the lattice points GP. The simulation is as described above, and therefore the description thereof will not be repeated.
[0247] The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims, not by the above description, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]
[0248] 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 processing information, 130A processing information, 131 laser head, 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 machining information generation unit, 160 execution unit, 200 additive processing device, 211 machine bed, 212 swivel 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, DED wire, GP adjacent grid point, GP grid point, GP1 grid point, GP2 Grid point, GP3 grid point, GS gas, LD irradiation direction, LP irradiation coordinate, LR irradiation area, LS laser light, MP molten pool, PM powder material, SL layer, TD tool direction, TP machining position, TR machining area, 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 executing a simulation of additive processing, A control unit is provided, the control unit executes a process of acquiring a voxel model used in the simulation; the voxel model is defined by a plurality of lattice points that form a collection of voxels; each of the plurality of grid points is associated with a label indicating an attribute of an object at the position of the grid point; The control unit A process of acquiring processing information that defines the irradiation coordinates of the laser light and the irradiation direction of the laser light for each time step; and sequentially updating the labels associated with lattice points in the area specified by the irradiation coordinates and the irradiation direction to a state in which additional processing has been performed in accordance with the time step.
2. The information processing device according to claim 1 , wherein the region has a shape symmetrical with respect to the irradiation direction.
3. the simulation is a simulation of a lamination process in which a laminate is laminated on a base material, The label comprises: a base material label indicating the base material; an unlaminated label indicating that lamination to the base material has not been completed; a laminated label indicating that lamination to the base material has been completed; The information processing apparatus according to claim 1 , wherein in the updating process, the non-stacked labels associated with grid points in the region are sequentially updated to the stacked labels in accordance with the time step.
4. The control unit displaying voxels corresponding to grid points with which the matrix labels are associated; The information processing apparatus according to claim 3 , further comprising: a process of sequentially displaying voxels corresponding to the lattice points that are the stacked labels in accordance with the time steps.
5. temperature data is associated with each of the plurality of grid points; 3. The information processing device according to claim 1, wherein the control unit further 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 the execution of the simulation.
6. each of the plurality of grid points is associated with distance data to other adjacent grid points; The information processing device according to claim 5 , 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.
7. An information processing device capable of executing a removal processing simulation, A control unit is provided, the control unit executes a process of acquiring a voxel model used in the simulation; the voxel model is defined by a plurality of lattice points that form a collection of voxels; each of the plurality of grid points is associated with a label indicating an attribute of an object at the position of the grid point; The control unit A process of acquiring machining information that defines the coordinates indicating the machining point by the tool and the direction of the tool for each time step; and sequentially updating the labels associated with grid points in the area specified by the coordinates and the direction to a removed state in accordance with the time step.
8. A simulation method for additive machining executed by an information processing device, comprising: obtaining a voxel model for use in the simulation; the voxel model is defined by a plurality of lattice points that form a collection of voxels; each of the plurality of grid points is associated with a label indicating an attribute of an object at the position of the grid point; The simulation method further comprises: acquiring processing information that defines the irradiation coordinates of the laser light and the irradiation direction of the laser light for each time step; and sequentially updating the labels associated with grid points within the region specified by the irradiation coordinates and the irradiation direction to a state where additional processing has been performed in accordance with the time step.
9. An execution program for additive machining simulation, the execution program causes a computer to execute a process for acquiring a voxel model used in the simulation; the voxel model is defined by a plurality of lattice points that form a collection of voxels; each of the plurality of grid points is associated with a label indicating an attribute of an object at the position of the grid point; The execution program further includes: A process of acquiring processing information that defines the irradiation coordinates of the laser light and the irradiation direction of the laser light for each time step; and sequentially updating the labels associated with lattice points within an area specified by the irradiation coordinates and the irradiation direction to a state in which additional processing has been performed in accordance with the time step.
Citation Information
Patent Citations
System and method for increment manufacture of circuit board
JP1995307547A
Sheet body positioning / carrying mechanism
JP2004083232A
Mobile object position detecting device
JP2011191239A
Improved 3D printing
JP2019507236A
Generation of adapted control instructions for 3D printing processes
JP2021511986A
Cited By
Five-axis real-time cutting simulation method based on voxels
CN121997492A