The various embodiments relate generally to laser engraving and computer science, and, more specifically, to determining a laser-engraving process for a targeted surface geometry.
Laser engraving is a technique used to obtain a specific geometric pattern on a surface of a material via a focused laser beam. By injecting energy onto the surface using a focused laser beam, discrete locations on the surface are heated, and portions of the material are displaced and/or vaporized. Patterned surface geometries formed in this way can render a desired aesthetic texture on the surface and/or create geometric microstructures that alter the material properties of the material. Laser engraving can be implemented on a wide variety of materials and, therefore, has many useful applications. However, current approaches for developing new laser-engraving processes are very limited.
To obtain a desired surface geometry via laser engraving on a given material surface, many factors need to be accurately determined. Those factors include, without limitation, the number of passes made by a laser over the surface, the specific values of various laser process parameters used to configure the laser for each pass, and the material makeup and initial geometry of the surface. In addition, to balance the trade-off between the quality of a resulting surface geometry and the speed of the laser-engraving process, these factors usually need to be optimized. The process of determining and optimizing these various factors is time-consuming, labor intensive, and prone to error.
Currently, the process of selecting an appropriate laser engraving strategy that accounts for the above factors is manual and based on trial and error. For example, for a targeted surface geometry, a series of laser-engraving experiments is first performed using a laser engraving machine on multiple different surfaces to produce a variety of engraved surfaces. Manual analysis of the resulting engraved surfaces, for example, via an optical or laser surface scanner, can then be used to assess whether any of the laser-engraving experiments produces an engraved surface having surface geometry that adequately approximates the targeted surface geometry. Drawbacks of this type of conventional approach include the time and labor required to perform the laser-engraving experiments and follow-up analysis and the risk that none of the laser-engraving experiments actually produces an engraved surface having surface geometry that adequately approximates the target surface geometry.
In many applications, when modifying a physical process, computer simulations of the physical process are often employed to minimize or even eliminate the need for a trial-and-error experimental approach. With laser-engraving, however, conventional computer simulations have limited utility. In particular, accurately characterizing how a series of laser pulses directed onto a given surface alters the geometry of that surface is a highly complex thermo-mechanical problem. To properly model this type of problem, several factors must be considered, including, and without limitation, the time-transient nature of the energy distribution of a laser pulse, the phase-state change (i.e., melting and/or vaporizing) of the portions of the surface that are treated, the thermal and mechanical effects within the surface associated with heating and cooling, and the secondary effects of the melt pool. To generate accurate results for such a problem using a finite-element method, high-resolution discretization in both space and time is required. Consequently, an accurate simulation of the thermo-mechanical effects of a single laser pulse on a particular surface can take minutes to hours to execute. Extending that approach to the millions or billions of laser pulses employed in generating a single simulated surface associated with a single set of process parameters is entirely impracticable. Performing such a procedure for different combinations of process parameters to determine an optimal laser-engraving solution is even more impracticable.
As the foregoing illustrates, what is needed in the art are more effective ways to determine a laser-engraving process to generate a targeted surface geometry.
A computer-implemented method for determining one or more parameter values for a laser-engraving process, the method comprising: executing a laser pulse model on a computer-simulated surface to generate a first surface geometry on the computer-simulated surface, wherein the laser pulse model is based on a first set of values for a set of parameters; determining a quality score for the first surface geometry; based on the quality score, performing a global optimization process to generate a second set of values for the set of parameters; and modifying the laser pulse model based on the second set of values to generate a modified laser pulse model.
At least one technical advantage of the disclosed techniques relative to the prior art is that the disclosed techniques enable laser-engraving process parameters to be accurately determined for a target surface geometry. Accordingly, with the disclosed techniques, the time and effort required to perform a large number of real-world laser-engraving experiments and analyses to identify a laser-engraving solution that generates the target surface geometry can be substantially avoided. These technical advantages provide one or more technological advancements over prior art approaches.
So that the manner in which the above recited features of the various embodiments can be understood in detail, a more particular description of the inventive concepts, briefly summarized above, may be had by reference to various embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of the inventive concepts and are therefore not to be considered limiting of scope in any way, and that there are other equally effective embodiments.
For clarity, identical reference numbers have been used, where applicable, to designate identical elements that are common between figures. It is contemplated that features of one embodiment may be incorporated in other embodiments without further recitation.
In the following description, numerous specific details are set forth to provide a more thorough understanding of the various embodiments. However, it will be apparent to one of skill in the art that the inventive concepts may be practiced without one or more of these specific details.
Target surface geometry 101 includes geometrical information describing a specific surface geometry to be generated via a laser-engraving process. Thus, a goal of parameter-generation system 100 is to determine parameters for a laser-engraving process that generates a surface that is similar or identical to target surface geometry 101. Generally, target surface geometry 101 includes three-dimensional (3D) information for such a surface geometry. In some embodiments, target surface geometry 101 includes such 3D information as a height map, which is a single-channel image of a given resolution. In such embodiments, each pixel of the height map corresponds to a digital elevation or depth of target surface geometry 101 at a specific location on the surface. In other embodiments, target surface geometry 101 can be in any other suitable format that conveys 3D information regarding the configuration of a target surface geometry. For example, in some embodiments, target surface geometry 101 includes a digital elevation map or a geometric construct formed via polygons.
In the context of laser-engraving, target surface geometry 101 references a 3D surface having small-scale features that, taken together, form a specific texture on a workpiece surface. For example, in some embodiments, the specific texture can be configured to produce a desired aesthetic texture on a workpiece surface, provide a surface that has certain mechanical properties, and/or include geometric microstructures that alter the material properties of the material of the workpiece surface. One embodiment of a target surface geometry 101 is described below in conjunction with
In the embodiment illustrated in
Returning to
In some embodiments, parameters for the laser source include laser power, pulse frequency, and engraving speed (e.g., the linear speed at which a laser spot moves across the surface being processed), among others. Additionally or alternatively, in some embodiments, parameters for the laser source include one or more other parameters for the movement of the laser beam with respect to the surface, such as one or more of laser incidence angle with respect to the surface being processed, and/or laser trajectory. In some embodiments, laser incidence angle and laser trajectory are functions of the geometry of a particular laser-engraving system and mirror configuration that are employed to move a laser beam over the surface. Additionally or alternatively, in some embodiments, parameters for the laser source include one or more parameters associated with a laser spot size, a frequency of the laser source, and/or the like.
Geometry definition engine 110 is configured to determine a location on the surface for each laser pulse included in the plurality of laser pulses that make up a laser-engraving process. Geometry definition engine 110 is configured to determine such locations based at least in part on target surface geometry 101. In some embodiments, geometry definition engine 110 determines such locations by determining a location for one or more laser-raster lines, where each of the one or more laser-raster lines comprises a sequence of laser pulses of the laser-engraving process. Furthermore, in embodiments in which a laser-engraving process includes multiple phases, geometry definition engine 110 determines locations for each laser pulse in each phase of the laser-engraving process. In such embodiments, geometry definition engine 110 also determines the configuration of each phase, where each phase effectuates material removal from a different layer or depth of the workpiece. For example, in such embodiments, geometry definition engine 110 determines a location of one or more laser-raster lines for each of the multiple phases. One such embodiment is described below in conjunction with
In the embodiment illustrated in
Returning to
Engraving process simulator 120 may include any technically feasible simulation algorithm or algorithms that can determine the effect of each laser pulse of a laser-engraving process on a surface. In some embodiments, engraving process simulator 120 includes a finite-element analysis software application that determines such effects. Generally, finite-element analysis that accurately models the complex thermomechanical effects of material displacement and phase changes associated with laser heating and subsequent cooling is too cumbersome to be employed for each laser pulse in a typical laser-engraving process. Thus, in some embodiments, engraving process simulator 120 includes a reduced-order laser-engraving model that includes a geometric model of the effect that a particular laser pulse has on the surface. One such model is described in greater detail in United States Non-Provisional patent application titled, “Determining a Laser-Engraved Surface Using a Reduced-Order Model,” filed on May 11, 2021 and having Ser. No. 17/317,149, the subject matter of which is hereby incorporated herein by reference in its entirety.
Evaluation engine 130 is configured to evaluate surface geometry 105 generated by engraving process simulator 120, for example via a quality score. In some embodiments, evaluation engine 130 generates the quality score for surface geometry 105 based on multiple values, where each value is associated with a different attribute of surface geometry 105. In such embodiments, each attribute enables the quality of surface geometry 105 to be quantified with respect to a different objective factor. For example, in some embodiments, the quality score generated by evaluation engine 130 includes a value associated with a surface quality of surface geometry 105, a value associated with a surface roughness of surface geometry 105, and/or a value associated with an engraving time of surface geometry 105. In such embodiments, each value may be weighted differently for each instance of laser-engraving process 103.
In some embodiments, the value associated with the surface quality of surface geometry 105 can indicate how closely surface geometry 105 matches target surface geometry 101. For example, in such embodiments, a surface profile associated with and/or extracted from surface geometry 105 can be compared to a surface profile associated with or extracted from target surface geometry 101. Thus, in such embodiments, a quantitative comparison is performed that determines a surface quality score of surface geometry 105 relative to target surface geometry 101.
In some embodiments, the value associated with the surface roughness of surface geometry 105 can indicate how closely a surface roughness of surface geometry 105 matches a surface roughness of target surface geometry 101. Thus, in such embodiments, a quantitative comparison is performed that determines a surface roughness score of surface geometry 105 relative to target surface geometry 101. In such embodiments, any suitable surface roughness calculation may be employed to determine a surface roughness of surface geometry 105 and/or target surface geometry 101, such as a root-mean-square (RMS) roughness method, an Ra (arithmetic average roughness) method, and the like. Alternatively or additionally, in such embodiments, multiple surface roughness calculations may be employed to determine the surface roughness of surface geometry 105 and/or target surface geometry 101.
In some embodiments, the value associated with the engraving time of surface geometry 105 can indicate a time required for a particular laser-engraving system to generate surface geometry 105 on a surface. In such embodiments, the time required may be based on how many phases the laser-engraving process includes, the physical capabilities of the particular laser-engraving system to perform the laser-engraving process (such as engraving speed, mirror-repositioning time between laser-raster lines, and the like), and the number of laser-raster lines included in each phase.
It is noted that one or more of the values included in the quality score generated by evaluation engine 130 can be in conflict with each other. For example, more phases (laser passes) in a laser-engraving process are generally required to reduce aliasing and thereby improve the how closely surface geometry 105 matches target surface geometry 101. However, more layers require more engraving time, which increases the value associated with the engraving time of surface geometry 105. According to various embodiments, a multi-objective optimization process (performed by optimization engine 140) is performed in parameter-generation system 100 to determine an instance of laser-engraving process 103 based on the above-described quality score. As a result of the multi-objective optimization process, the laser-engraving process 103 so determined has an improved performance with respect to each of the multiple attributes of surface geometry 105 that is associated with a value included in the quality score for surface geometry 105.
Optimization engine 140 is configured to select values for the parameters of the laser-engraving process that improve the quality score determined by evaluation engine 130. Because multiple objectives can be associated with how well a particular surface geometry 105 (such as surface quality, surface roughness, and/or engraving time), optimization engine 140 typically performs a multi-objective optimization process to determine new values for the parameters of the laser-engraving process. Any suitable optimization algorithm capable of a multi-objective search in a solution space can be employed by optimization engine 140.
In many embodiments, a laser-engraving process includes multiple parameters that can have interacting effects. For example, higher laser power can remove material faster from a surface, but have more explosive vaporization of such material, which can significantly increase surface roughness of the surface. In another example, lower engraving speed can create more overlap of adjacent laser pulses and more melting, which can reduce rugosities on the surface and thereby reduce surface roughness of the surface. In light of the above, in some embodiments optimization engine 140 includes a global optimization algorithm, to facilitate determination of a global optimum solution with respect to the multiple objectives that are associated with a particular surface geometry 105 and how well that particular surface geometry 105 matches target surface geometry 101.
In the embodiments described above, geometry definition engine 110, engraving process simulator 120, evaluation engine 130, and optimization engine 140 are depicted as separate software applications or algorithms. In other embodiments, two or more of geometry definition engine 110, engraving process simulator 120, evaluation engine 130, and/or optimization engine 140 can be implemented as a single software application or algorithm via a single computing device or via multiple computing devices. An embodiment of one such computing device is described below in conjunction with
As shown, a computer-implemented method 400 begins at step 401, where parameter-generation system 100 determines initial values for process parameters for a particular laser-engraving process to be determined. The particular laser-engraving process to be determined is laser-engraving process 103, which is a laser-engraving process that can generate a surface geometry 105 that satisfactorily matches one or more attributes of target surface geometry 101. In some embodiments, the initial values for some or all process parameters of the laser-engraving process are received in conjunction with or are based on target surface geometry 101. For example, based on one or more attributes of target surface geometry, such as feature depth, orientation of angles surface, etc., parameter-generation system 100 may have a default set of initial values for some or all parameters of the laser-engraving process.
In step 402, parameter-generation system 100 determines rasterization for the laser-engraving process being determined, for example via geometry definition engine 110. In some embodiments, as part of rasterization, geometry definition engine 110 determines the locations of the laser-raster lines included in each layer of the laser-engraving process. In some embodiments, the location of each laser pulse of the laser-engraving process is also determined in step 402. Alternatively, in some embodiments, the location of each laser pulse is determined via engraving process simulator 120.
In step 403, parameter-generation system 100 executes a laser pulse model to generate surface geometry 105 on a computer-simulated surface. In some embodiments, the laser pulse model is included in engraving process simulator 120.
In step 404, parameter-generation system 100 determines a quality score for the instance of surface geometry 105 generated in step 403. In some embodiments, the quality score includes multiple values, where each value is associated with a different attribute of surface geometry 105.
In step 405, parameter-generation system 100 determines whether a termination criterion has been met by the current instance of surface geometry 105. If no, computer-implemented method 400 proceeds to step 406; if yes, computer-implemented method 400 proceeds to step 407 and terminates. In some embodiments, the termination criterion can be a threshold value of the quality score for surface geometry 105 or a threshold value for a change in quality score compared to a previous value of the quality score. In some embodiments, the termination criterion can be a number of iterations that steps 402-405 have been performed for a particular target surface geometry 101. In some embodiments, the termination criterion can be a threshold time interval during which iterations of steps 402-405 have been performed for a particular target surface geometry 101.
In step 406, parameter-generation system 100 determines new values for the process parameters for the laser-engraving process being determined, for example via optimization engine 140. In some embodiments, optimization engine 140 generates the new values for the process parameters based at least in part on the quality score determined in step 404.
In step 407, parameter-generation system 100 terminates computer-implemented method 400. In some embodiments, the instance of laser-engraving process 103 that has the best quality score is determined to be the final version.
As shown, computing device 500 includes, without limitation, an interconnect (bus) 540 that connects a processing unit 550, an input/output (I/O) device interface 560 coupled to input/output (I/O) devices 580, memory 510, a storage 530, and a network interface 570. Processing unit 550 may be any suitable processor implemented as a central processing unit (CPU), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), any other type of processing unit, or a combination of different processing units, such as a CPU configured to operate in conjunction with a GPU. In general, processing unit 550 may be any technically feasible hardware unit capable of processing data and/or executing software applications, including geometry definition engine 110, engraving process simulator 120, evaluation engine 130, optimization engine 140, and/or computer-implemented method 400. Further, in the context of this disclosure, the computing elements shown in computing device 500 may correspond to a physical computing system (e.g., a system in a data center) or may be a virtual computing instance executing within a computing cloud.
I/O devices 580 may include devices capable of providing input, such as a keyboard, a mouse, a touch-sensitive screen, and so forth, as well as devices capable of providing output, such as a display device 581. Additionally, I/O devices 580 may include devices capable of both receiving input and providing output, such as a touchscreen, a universal serial bus (USB) port, and so forth. I/O devices 580 may be configured to receive various types of input from an end-user of computing device 500, and to also provide various types of output to the end-user of computing device 500, such as one or more graphical user interfaces (GUI), displayed digital images, and/or digital videos. In some embodiments, one or more of I/O devices 580 are configured to couple computing device 500 to a network 505.
Memory 510 may include a random access memory (RAM) module, a flash memory unit, or any other type of memory unit or combination thereof. Processing unit 550, I/O device interface 560, and network interface 570 are configured to read data from and write data to memory 510. Memory 510 includes various software programs that can be executed by processor 550 and application data associated with said software programs, including geometry definition engine 110, engraving process simulator 120, evaluation engine 130, optimization engine 140, and/or computer-implemented method 400.
In sum, the various embodiments described herein provide techniques for the determination of values for the process parameters of a specific laser-engraving process to generate a target laser-engraved surface. In the embodiments, a laser pulse model is iteratively employed to generate a candidate surface geometry, the candidate surface geometry is evaluated with respect to the target laser-engraved surface, and new values for the process parameters are generated via a multi-objective optimization process.
At least one technical advantage of the disclosed techniques relative to the prior art is that the disclosed techniques enable laser-engraving process parameters to be accurately determined for a target surface geometry. Accordingly, with the disclosed techniques, the time and effort required to perform a large number of real-world laser-engraving experiments and analyses to identify a laser-engraving solution that generates the target surface geometry can be substantially avoided. These technical advantages provide one or more technological advancements over prior art approaches.
1. In some embodiments, a computer-implemented method for determining one or more parameter values for a laser-engraving process, the method comprising: executing a laser pulse model on a computer-simulated surface to generate a first surface geometry on the computer-simulated surface, wherein the laser pulse model is based on a first set of values for a set of parameters; determining a quality score for the first surface geometry; based on the quality score, performing a global optimization process to generate a second set of values for the set of parameters; and modifying the laser pulse model based on the second set of values to generate a modified laser pulse model.
2. The computer-implemented method of clause 1, wherein an objective function of the global optimization process is based on a plurality of objective factors associated with the first surface geometry, and each objective factor included in the plurality of objective factors is associated with a different attribute of the first surface geometry.
3. The computer-implemented method of clauses 1 or 2, further comprising, executing the modified laser pulse model on the computer-simulated surface to generate a second surface geometry on the computer-simulated surface.
4. The computer-implemented method of any of clauses 1-3, further comprising: determining a quality score for the second surface geometry; based on the quality score for the second surface geometry, performing the global optimization process to generate a third set of values for the set of parameters; and modifying the laser pulse model based on the third set of values to generate another modified laser pulse model.
5. The computer-implemented method of any of clauses 1-4, wherein the quality score includes a plurality of values, and each value included in the plurality of values is associated with a different attribute of the first surface geometry.
6. The computer-implemented method of any of clauses 1-5, wherein the different attributes of the first surface geometry include at least one of a surface profile of the first surface, a surface roughness of the first surface, or an engraving time for generating the first surface.
7. The computer-implemented method of any of clauses 1-6, wherein determining the quality score for the first surface geometry comprises performing a quantitative comparison of the first surface geometry and the target surface geometry.
8. The computer-implemented method of any of clauses 1-7, wherein the quantitative comparison includes at least one of determining a surface quality score of the first surface geometry relative to the target surface geometry, determining an average deviation between the first surface geometry and the target surface geometry, determining a maximum deviation between the first surface geometry and the target surface geometry, determining a surface roughness score of the first surface geometry relative to the target surface geometry, or determining an engraving time score of the first surface geometry.
9. The computer-implemented method of any of clauses 1-8, further comprising generating a plurality of isocontours based on the target surface geometry.
10. The computer-implemented method of any of clauses 1-9, wherein executing the laser pulse model on the computer-simulated surface comprises: directing a plurality of laser pulses towards the computer-simulated surface; and for each laser pulse included in the plurality of laser pulses, determining a modification of the computer-simulated surface caused by the laser pulse.
11. In some embodiments, non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to perform the steps of: executing a laser pulse model on a computer-simulated surface to generate a first surface geometry on the computer-simulated surface, wherein the laser pulse model is based on a first set of values for a set of parameters; determining a quality score for the first surface geometry; based on the quality score, performing a global optimization process to generate a second set of values for the set of parameters; and modifying the laser pulse model based on the second set of values to generate a modified laser pulse model.
12. The non-transitory computer readable medium of clause 11 storing instructions that, when executed by the processor, cause the processor to perform the further step of generating a plurality of isocontours based on the target surface geometry.
13. The non-transitory computer readable medium of clauses 11 or 12, wherein executing the laser pulse model on the computer-simulated surface comprises executing the laser pulse model on each isocontour included in the plurality of isocontours.
14. The non-transitory computer readable medium of any of clauses 11-13, wherein executing the laser pulse model on the computer-simulated surface comprises determining a location for one or more laser-raster lines on each isocontour included in the plurality of isocontours.
15. The non-transitory computer readable medium of any of clauses 11-14, wherein executing the laser pulse model on the computer-simulated surface comprises: directing a plurality of laser pulses towards the computer-simulated surface; and for each laser pulse included in the plurality of laser pulses, determining a modification of the computer-simulated surface caused by the laser pulse.
16. The non-transitory computer readable medium of any of clauses 11-15 storing instructions that, when executed by the processor, cause the processor to perform the further step of, for each laser pulse included in the plurality of laser pulses, determining a respective target location on the computer-simulated surface based on target surface geometry.
17. The non-transitory computer readable medium of any of clauses 11-16 storing instructions that, when executed by the processor, cause the processor to perform the further step of determining a location on the computer-simulated surface for one or more laser-raster lines, wherein each laser-raster lines comprises a sequence of laser pulses included in the plurality of laser pulses.
18. The non-transitory computer readable medium of any of clauses 11-17, wherein an objective function of the global optimization process is based on a plurality of objective factors associated with the first surface geometry, and each objective factor included in the plurality of objective factors is associated with a different attribute of the first surface geometry.
19. The non-transitory computer readable medium of any of clauses 11-18 storing instructions that, when executed by the processor, cause the processor to perform the further step of executing the modified laser pulse model on the computer-simulated surface to generate a second surface geometry on the computer-simulated surface.
20. A system, comprising: a memory that stores instructions; and a processor that is communicatively coupled to the memory and is configured to, when executing the instructions, perform the steps of: executing a laser pulse model on a computer-simulated surface to generate a first surface geometry on the computer-simulated surface, wherein the laser pulse model is based on a first set of values for a set of parameters; determining a quality score for the first surface geometry; based on the quality score, performing a global optimization process to generate a second set of values for the set of parameters; and modifying the laser pulse model based on the second set of values to generate a modified laser pulse model.
Any and all combinations of any of the claim elements recited in any of the claims and/or any elements described in this application, in any fashion, fall within the contemplated scope of the present invention and protection.
The descriptions of the various embodiments have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.
Aspects of the present embodiments may be embodied as a system, method or computer program product. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “module,” a “system,” or a “computer.” In addition, any hardware and/or software technique, process, function, component, engine, module, or system described in the present disclosure may be implemented as a circuit or set of circuits. Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
Aspects of the present disclosure are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine. The instructions, when executed via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions/acts specified in the flowchart and/or block diagram block or blocks. Such processors may be, without limitation, general purpose processors, special-purpose processors, application-specific processors, or field-programmable gate arrays.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
While the preceding is directed to embodiments of the present disclosure, other and further embodiments of the disclosure may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
This application claims priority benefit of the United States Provisional patent application titled, “LASER ENGRAVING SIMULATION WITH ACCOMPANYING STRATEGY GENERATION AND OPTIMIZATION,” filed on May 12, 2020 and having Ser. No. 63/023,778. The subject matter of this related application is hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63023778 | May 2020 | US |