Determining powder degradation
Patent Information
- Application Number
- CN202180095523.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-09
- Publication Date
- 2026-10-13
- Estimated Expiration
- 2041-03-09
Smart Images

Figure CN117083162B_ABST
Abstract
Description
Background Technology
[0001] Additive manufacturing is a technique used to create three-dimensional (3D) objects by adding material until an object is formed. Material can be added by forming several layers, with each layer stacked on top of the previous one. Additive manufacturing is also known as 3D printing. Examples of 3D printing include melting filaments to form each layer of a 3D object (e.g., fused filament fabrication), curing resins to form each layer of a 3D object (e.g., stereolithography), sintering, melting, or binding powders to form each layer of a 3D object (e.g., selective laser sintering or melting, multi-jet melting, metal jet melting, etc.), and bonding sheets of material to form 3D objects (e.g., laminated object fabrication, etc.). Attached Figure Description
[0002] Figure 1 This is a block diagram of an example system used to determine how much powder degradation will occur for a particular 3D print.
[0003] Figure 2 This is a block diagram of another example system used to determine how much powder degradation will occur for a particular 3D print.
[0004] Figure 3 This is a flowchart of an example method for determining how much powder degradation will occur for a particular 3D print.
[0005] Figure 4 This is a flowchart of another example method for determining how much powder degradation will occur for a particular 3D print.
[0006] Figure 5 This is a block diagram of an example computer-readable medium that includes instructions that enable the processor to determine how much powder degradation will occur for a particular 3D print.
[0007] Figure 6 This is another example of a block diagram of a computer-readable medium that includes instructions that enable the processor to determine how much powder degradation will occur for a particular 3D print. Detailed Implementation
[0008] In many types of 3D printing, powder layers are delivered to a print bed. After each layer is delivered, heat is applied to portions of that layer to cause the powder to coalesce (e.g., sinter) in those portions or to remove solvent from the binder. For example, a melt or binder may be applied to portions where coalescing or bonding is required, and a refiner may be applied to portions where coalescing is not required. An energy source may deliver energy that is absorbed by the melt to cause the powder to coalesce. Additional layers are delivered and selectively heated to build the 3D object from the coalesced powder. After all layers have been delivered and heated, the print volume is allowed to cool for a period of time. The 3D object is then removed from the print volume. Residual powder may be recycled or discarded. Recycling powder reduces waste and lowers the cost per part printed. As used herein, the term “print volume” refers to the space occupied (or to be occupied) by the powder and the printed part as a result of the printing process.
[0009] Unfortunately, powders can degrade and oxidize when exposed to elevated temperatures. For example, polymer powders such as polyamide 12 (PA 12) may degrade during 3D printing due to exposure to elevated temperatures. In some examples, powders may spend 30 to 40 hours above 160°C during the printing and cooling process, which is sufficient to cause powder degradation. Repeated printing can cause powders to degrade to a degree that affects the 3D printing process. For example, degraded powder can cause surface deformation (such as the orange peel effect), poor mechanical properties, off-gassing that creates porosity in the part, and so on.
[0010] Various remedial techniques can be used to limit degradation. For example, antioxidant packets can be contained within the powder, but degradation can still occur. Using a nitrogen atmosphere during 3D printing can reduce oxidation. However, oxygen can dissolve in the powder or penetrate it. Therefore, remedial techniques may have limited effectiveness. Furthermore, remedial techniques may increase printing costs.
[0011] Degradation can also be remedied by mixing fresh powder with recycled powder. As used herein, the term "fresh powder" refers to powder that has not yet been used for 3D printing, and the term "recycled powder" refers to powder that has already been used in the 3D printing process. Quality metrics can be used to determine the amount of powder degradation. For example, quality metrics can be relative solution viscosity, molecular weight, etc., which can be correlated with the amount of degradation. For PA 12, a quality metric could be a measurement of color. The amount of degradation in PA 12 is highly correlated with the color of the powder. For example, the amount of degradation is highly correlated with the b* component of the CIELAB color space.
[0012] Fresh powder can be added to recycled powder to keep quality metrics above a threshold. For example, a user might aim to use powder with a b* of less than 4. Unfortunately, it can be difficult to know how much powder will degrade during a particular print. The powder undergoes a 30-40 hour temperature profile. Degradation is influenced by the ability of gases to diffuse into the surrounding environment—which in turn depends on the part's arrangement—and by the amount of agents (e.g., refiners, colorants, etc.) delivered to the powder. There is no closed-form solution for numerically calculating how powder degrades due to these various factors. Therefore, 3D printing can be improved by being able to determine how powder will degrade during a particular 3D print.
[0013] Figure 1 This is a block diagram of an example system 100 used to determine how much powder degradation will occur for a particular 3D print. System 100 may include a simulation engine 110. As used herein, the term "engine" refers to a combination of hardware (e.g., analog or digital circuitry, processors (such as integrated circuits) or other circuitry) or software (e.g., programming such as machine or processor executable instructions, commands, or code such as firmware, device drivers, programming, object code, etc.) and hardware. Hardware includes hardware elements that do not have software elements, such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), etc. The combination of hardware and software includes software hosted at hardware (e.g., software modules stored at a processor-readable memory such as random access memory (RAM), hard disk or solid-state drive, resistive memory, or optical media such as a digital multifunction disc (DVD), and / or software modules executed or interpreted by a processor), or includes both software and hardware hosted at hardware. Simulation engine 110 can determine multiple thermal states that powder at voxels in a 3D printed volume will experience as a result of printing a particular build. Each thermal state can correspond to a time during printing or during the cooling process from printing. For example, simulation engine 110 can determine the thermal state of a voxel for each time point during printing based on printer operation up to that point, previous thermal states, or environmental / boundary conditions. In some examples, simulation engine 110 can simulate the thermal state of all voxels in the printed volume (e.g., all voxels containing powder at that point in time), and the thermal state of each voxel can be determined at least in part based on the thermal states of other voxels (e.g., nearby voxels) at previous points in time. Simulation engine 110 can simulate the thermal state of a voxel during cooling based on the previous thermal states of that voxel or other voxels, or based on environmental / boundary conditions.
[0014] System 100 may include a stress engine 120. The stress engine 120 can calculate the stress on the powder at the voxel based on the multiple thermal states. The term "stress" refers to a number indicating how much degradation the powder will undergo due to environmental factors. The amount of degradation can depend on the interaction between multiple environmental factors, so various amounts of degradation may result from a specific stress caused by one environmental factor, which depends on the state of other environmental factors. Environmental factors may include temperature, the amount of oxygen present at or near the voxel (or how well oxygen can diffuse from the voxel), the amount of water or other substances present at or near the voxel (e.g., due to humidity, reagents delivered to the print volume, etc.), and so on. Stress may or may not be in defined units. For example, stress may be specified in a set of custom arbitrary units. Furthermore, stress from different environmental factors may be in different units. In some examples, the stress engine 120 may calculate stress based on the multiple thermal states by appropriately combining values representing thermal states into scalar values representing stress. When combining values to represent thermal states, the time at each state or the time of transition between states can also be used to combine these values.
[0015] System 100 may include a degradation engine 130. The degradation engine 130 can determine the amount of powder degradation at the voxel based on stress. For example, the degradation engine 130 can determine how much degradation is caused by the interaction of other environmental factors with stress from a thermal state. The degradation engine 130 can quantify degradation based on quality metrics. For example, the degradation engine 130 can determine the amount of degradation by determining the final quality metric of the powder at the voxel after printing or cooling, by specifying the change in quality metric caused by printing or cooling, etc.
[0016] Figure 2This is a block diagram of another example system 200 used to determine how much powder degradation will occur for a particular 3D print. System 200 may include a slicing engine 210. Slicing engine 210 can slice a build file to determine multiple voxels. The build file may include data describing multiple parts to be printed within a print volume, including the orientation of the parts within the print volume. Slicing engine 210 can slice the build file by dividing the print volume into multiple voxels. In some examples, the print volume may be a rectangular prism, and the voxels may be rectangular prisms. For example, slicing engine 210 can slice the print volume with planes parallel to the XY plane, YZ plane, and XZ plane to form voxels. The 3D printer may have a print resolution, such as resolution in the XY plane and resolution along the Z-axis. Slicing engine 210 can slice the build file into voxels whose size is equal to the 3D printer resolution, larger voxels, or smaller voxels. There is a trade-off between larger voxel sizes that allow for more efficient computation and smaller voxel sizes that provide finer resolution for powder degradation.
[0017] System 200 may include a reagent delivery engine 220. The reagent delivery engine 220 can determine the amount of powder to be delivered to each voxel. The reagent delivery engine 220 can determine the amount of flux, refiner, binder, property modifier, colorant, etc., to be delivered. For example, the reagent delivery engine 220 can determine the amount of reagent to be delivered based on a build file. The reagent delivery engine 220 can calculate a continuous tone image indicating how much reagent will be delivered to each voxel. The reagent delivery engine 220 can use deterministic methods to determine the amount of reagent to be delivered to achieve or prevent aggregation (or another property) at various locations, can use machine learning models to determine the amount of reagent to be delivered, and so on. The machine learning model can be trained based on deterministic methods to achieve similar results more quickly. For example, a machine learning model can quickly determine the amount of reagent that a voxel with a resolution lower than the printer resolution will receive without calculating a continuous tone image at the print resolution. The reagent delivery engine 220 may include separate models or sub-engines to determine the amount of each reagent used during the printing process. The amount of reagent delivered can depend on the 3D printer model, the version of the software or firmware running on the 3D printer, the 3D printer configuration, etc. Therefore, the reagent delivery engine 220 can determine the amount of reagent to be delivered based on the 3D printer model, software or firmware version, configuration, etc.
[0018] System 200 may include a reagent response engine 230. The reagent response engine 230 can determine the temperature response that the powder at each voxel will experience based on the amount of reagent to be delivered. For example, a 3D printer may apply energy to a print volume, and the amount of reagent delivered to a voxel affects how much energy the powder at that voxel absorbs. Therefore, the reagent response engine 230 can determine the temperature response based on the amount of energy to be delivered to the voxel and the amount of reagent. The reagent response engine 230 can determine the amount of energy to be delivered or the relationship between the selected reagent and temperature based on the 3D printer model, the version of the software or firmware running on the 3D printer, the configuration, etc. In some examples, the 3D printer may deliver energy to select voxels without using reagents. In such an example, system 200 may include an engine for determining the amount of energy delivered to each voxel without determining the amount of reagent delivered.
[0019] System 200 may include a material state engine 240 for determining the agglomeration state that the powder will result in for each voxel. For example, material state engine 240 may determine which voxels include parts and which do not based on slices of the build file. Material state engine 240 may select an agglomeration state for voxels that include parts and an unagglomeration state for voxels that do not have parts. In some examples, for voxels that include both parts and loose powder, material state engine 240 may include various states between agglomeration and unagglomeration.
[0020] System 200 may include a simulation engine 250 for determining multiple thermal states that powder will experience at each voxel as a result of printing a construct specified by a construct file. For example, simulation engine 250 may determine the initial thermal state of each voxel based on results from reagent delivery engine 220 and reagent response engine 230. Simulation engine 250 may determine the thermal state after the initial thermal state based on heat conduction between voxels and heat loss to the environment. Simulation engine 250 may determine conductivity based on the coalescence state of each voxel determined by material state engine 240.
[0021] Simulation engine 250 can progress through a series of time increments and determine the thermal state of each voxel at each time step. In some examples, voxels that have not yet been printed can be ignored until they are formed. In examples, simulation engine 250 can generate a four-dimensional (4D) representation of the print volume, which includes the temperature for each time step and the voxel position (e.g., a 3D Cartesian position). At each time increment, simulation engine 250 can calculate the thermal state of each voxel based on the thermal state from the immediately preceding increment, the reagent response to any new voxel, and the heat loss at the print volume boundary. The time increment can be selected based on the desired resolution. Larger increments allow for faster calculations, while smaller increments provide more accurate results for the thermal experience of each voxel. Different time increments can be selected to compare the time when the printer is printing with the time when the print volume is cooling. In some examples, the time increments used for printing can be selected to have multiple time increments during the formation of each voxel (e.g., at the resolution generated by slicing engine 210). The time increments during cooling can be larger (e.g., one or two orders of magnitude larger). Simulation Engine 250 can generate the thermal state of each voxel from its formation until the end of the cooling period.
[0022] System 200 may include stress engine 260. Stress engine 260 can calculate the stress on the powder at each voxel. Stress engine 260 can determine the stress based on these multiple thermal states. Stress engine 260 can determine the effect of environmental factors on the amount of powder degradation at each voxel. As used herein, the term "environment" refers to anything at or around a voxel that affects the powder degradation at that voxel. The term "environmental factor" refers to the property or a limited set of properties of the environment that affects the powder degradation at a voxel. Environmental factors may include heat, oxygen, reagents, etc. The term "effect" refers to a value (e.g., an alphanumeric value) representing the effect of an environmental factor on powder degradation. This effect may represent how the environmental factor will interact with stress to produce powder degradation (e.g., how the environmental factor will amplify or inhibit the effect of stress).
[0023] In the illustrated example, stress engine 260 includes initial state engine 262, thermal engine 264, oxidation engine 266, and reagent engine 268. Initial state engine 262 can determine initial values indicating the initial amount of powder degradation prior to printing. For example, initial state engine 262 can determine the initial values based on a quality metric of the powder prior to printing (e.g., b*), which can be determined by measuring the powder or based on the results of previous simulations. Measurements can be input by a user, received from a measuring device, or retrieved from a non-transitory computer-readable medium. For some materials, changes in the quality metric can be non-linearly related to stress. For example, a change in the quality metric for a specific stress can depend on the initial state of the quality metric. Initial state engine 262 can determine the initial values by transforming the initial quality metric into values in a domain that has a linear relationship with stress.
[0024] Thermal engine 264 can determine the thermal interaction between the powder and the voxel, which will result in stress on the powder. For example, thermal engine 264 can determine the stress on each voxel from the thermal state throughout the printing process. Thermal engine 264 can determine the thermal stress based on a version of the Arrhenius equation. In one example, thermal engine 264 can calculate the thermal stress according to the following equation: Where σ Thermal It is the thermal stress at the voxel, and the summation is performed over all time increments i, t i It is the duration of time increment i, a0 is a material-specific constant, and E a It is the activation energy and is specific to the material and environment, R is the gas constant, and T i It is the temperature of the voxel at time increment i.
[0025] Oxidation engine 266 can determine the oxidative interaction between the powder and the voxel, which will result in stress on the powder. For example, the amount of degradation can depend on the amount of oxygen present at each voxel, which in turn can depend on whether oxygen can diffuse away from that voxel. Oxidation engine 266 can determine the presence of agglomerated powder that prevents oxygen diffusion based on the orientation of the part in the printed volume. For example, oxidation engine 266 can use results from material state engine 240 to determine which voxels will be in a diffusion-preventing agglomerated state. Based on the voxel state, oxidation engine 266 can determine how much oxygen can diffuse away from that voxel. Oxidation engine 266 can determine a value for each voxel that indicates how much interaction will exist between oxygen and the powder at that voxel; this value can be referred to as an oxidation metric.
[0026] The reagent engine 268 can determine the interaction of printing reagents with the powder at the voxel, which will result in stress on the powder. For example, refiners, fluxes, binders, property modifiers, colorants, etc., can be applied to the powder. The amount of powder degradation can depend on the amount of reagent present at each voxel or adjacent voxels. The reagent engine 268 can receive an indication from the reagent delivery engine 220 of how much reagent will be delivered to each voxel. The reagent engine 268 can determine a value for each voxel indicating how much the reagent can interact with that voxel; this value can be referred to as a reagent metric. The reagent engine 268 can use the indication received from the reagent delivery engine 220 as the reagent metric, or it can calculate the reagent metric based on the indication.
[0027] System 200 may include a degradation engine 270. The degradation engine 270 may determine the amount of powder degradation at the voxel based on stress. For example, the degradation engine 270 may calculate the amount of degradation based on initial values from an initial state engine 262, thermal stress from a thermal engine 264, an oxidation metric from an oxidation engine 266, and a reagent metric from a reagent engine 268. In some examples, the degradation engine 270 may receive multiple values from the initial state engine 262, the thermal engine 264, the oxidation engine 266, and the reagent engine 268. For example, the reagent engine 268 may include values for each type of reagent that can interact with the voxel, or individual values may be generated based on separate equations or models that capture heat, oxygen, or different ways in which the reagent interacts with the powder at the voxel.
[0028] The degradation engine 270 can calculate, for each voxel, the quality metric or the change in quality metric that will result from a specific print job. In the example using PA12, the degradation engine 270 can calculate the b* value that will result from the print job, or the change in the b* value that will result from the print job. In some examples, the degradation engine 270 can calculate a value indicating the amount of degradation in the same domain as the initial value from the initial state engine and transform the calculated value into a quality metric domain (e.g., the b* domain). In the example, the degradation engine 270 can directly calculate the quality metric without first calculating the value in an intermediate domain.
[0029] Degradation engine 270 may include a machine learning model for calculating quality metrics based on values from stress engine 260. The machine learning model may include support vector regression, neural networks, etc. For each voxel, the machine learning model may receive initial values from initial state engine 262, thermal stress, oxidation metrics, reagent metrics, or multiple such values, and output the quality metric or quality metric change of that voxel caused by the print job. The machine learning model may be trained based on data from actual print jobs. For example, the inputs to the machine learning model during training may be calculated based on the build file of an actual print job, as discussed above. The ground truth for the output of the machine learning model can be determined by measuring the quality metric (e.g., b* value) of the powder at a specific voxel (e.g., a powder sample from a specific voxel). A container or cage may be used to hold the powder for measurement, allowing environmental factors to interact with the held powder. The machine learning model may be trained using values in the quality metric domain as ground truth, or the ground truth quality metric values may be converted into intermediate ground truth values for training the machine learning model.
[0030] System 200 may include a configuration engine 280. Configuration engine 280 can select a configuration for 3D printing based on degradation. For example, configuration engine 280 can select the ratio of fresh powder to recycled powder to be used during 3D printing. Configuration engine 280 may include previously specified rules or receive user-specified rules regarding quality metrics. Rules may specify that quality metrics such as worst-case voxels, average voxels, and median voxels remain below a specific threshold. Configuration engine 280 can determine how much fresh powder to add to meet the rule specifications based on the quality metrics of the recycled powder. Degradation engine 270 may have already measured or calculated the quality metrics of the recycled powder for previous print jobs. In the PA12 example, configuration engine 280 can calculate the b* value resulting from combining recycled and fresh powder by calculating the root mean square of the b* value for each added powder, weighted by the amount of powder added. Configuration engine 280 can calculate the initial quality metric that will cause the print job to meet the rules, and determine the amount of fresh powder to be added to achieve that initial quality metric. In some examples, configuration engine 280 can select the configuration for 3D printing by modifying the settings of the 3D printer, modifying the print job, etc.
[0031] System 200 may include a printing engine 290. The printing engine 290 can instruct a 3D printer to print the job in a selected configuration. For example, the printing engine 290 can transmit a build file, printer settings instructions, and instructions on the amount of fresh or recycled powder to be used to the 3D printer, and can instruct the 3D printer to print using the transmitted information. The 3D printer can operate according to the transmitted information to form a print volume corresponding to the build file using powder from a specified source, according to the specified settings.
[0032] Figure 3 This is a flowchart of an example method 300 for determining how much powder degradation will occur for a particular 3D print. A processor can execute elements of method 300. For illustrative purposes, combined with... Figure 2 The device described in this paper is method 300. However, in other examples, other devices may perform the method. At box 302, method 300 may include simulating the 3D printing of the construct to determine multiple thermal states that the powder at the voxels of the 3D printed volume will experience due to the 3D printing. Each thermal state may correspond to a time during printing or cooling from the print. For example, simulation engine 250 may simulate 3D printing in any of the ways previously discussed.
[0033] Box 304 may include calculating stress based on the multiple thermal states. For example, stress engine 260 may calculate stress in any of the previously discussed methods. At box 306, method 300 may include determining the amount of powder degradation at the voxel caused by stress. For example, degradation engine 270 may determine the amount of degradation in any of the previously discussed methods. Box 308 may include selecting a 3D printing configuration based on the amount of degradation. For example, configuration engine 308 may select a configuration in any of the previously discussed methods.
[0034] Figure 4 This is a flowchart of another example method for determining how much powder degradation will occur for a particular 3D print. The processor can execute elements of method 400. For illustrative purposes, combined with... Figure 2The device described in this paper is method 400. However, in other examples, other devices may perform the method. Box 402 may include slicing the build file to determine multiple voxels. For example, slicing engine 210 may slice the build file in any of the previously discussed methods. At box 404, method 400 may include simulating the 3D printing of the build to determine multiple thermal states that powder at voxels in the 3D printed volume will experience due to 3D printing. Simulating the 3D printing may include simulating heat conduction between multiple voxels over time and heat loss to the environment. Each thermal state may correspond to a time during printing or cooling from printing. Simulation engine 250 may simulate the 3D printing in any of the previously discussed methods, such as based on data from reagent delivery engine 220, reagent response engine 230, or material state engine 240.
[0035] Box 406 may include calculating stress based on the multiple thermal states. For example, stress engine 260 may calculate stress in any of the previously discussed methods. At box 408, method 400 may include determining the amount of powder degradation at the voxel due to stress. For example, degradation engine 270 may determine the amount of powder degradation at the voxel in any of the previously discussed methods. Box 410 may include selecting a 3D printing configuration based on the amount of degradation. More specifically, box 410 may include selecting the ratio of fresh powder to recycled powder to be used during 3D printing. For example, configuration engine 280 may select the ratio of fresh powder to recycled powder in any of the previously discussed methods. At box 412, method 400 may include 3D printing using the selected configuration (e.g., the selected ratio). For example, printing engine 290 may enable the 3D printer to print in any of the previously discussed methods. In some examples, the 3D printer may form an object by selectively melting powder layer-by-layer within the print volume.
[0036] Figure 5This is a block diagram of an example computer-readable medium 500 including instructions that, when executed by processor 502, cause processor 502 to determine how much powder degradation will occur for a particular 3D print. Computer-readable medium 500 can be a non-transitory computer-readable medium, such as volatile computer-readable media (e.g., volatile RAM, processor cache, processor registers, etc.), non-volatile computer-readable media (e.g., magnetic storage devices, optical storage devices, paper storage devices, flash memory, read-only memory, non-volatile RAM, etc.), and / or the like. Processor 502 can be a general-purpose processor or special-purpose logic, such as a microprocessor (e.g., a central processing unit, graphics processing unit, etc.), a digital signal processor, a microcontroller, an ASIC, an FPGA, a programmable array logic (PAL), a programmable logic array (PLA), a programmable logic device (PLD), etc.
[0037] Computer-readable medium 500 may include a first factor module 510, a second factor module 520, and a degradation module 530. As used herein, a “module” (referred to in some examples as a “software module”) is a set of instructions that, when executed or interpreted by a processor or stored at a processor-readable medium, implements a component or performs a method. First factor module 510 may include instructions that, when executed, cause processor 502 to determine a first effect of a first environmental factor that will cause powder degradation at voxels in a 3D printed volume due to printing a particular construct. In some examples, first factor module 510 may, when executed, implement stress engine 120 and may determine the first effect of the first environmental factor in any of the previously discussed manner.
[0038] The second factor module 520 enables the processor 502 to determine a second effect of a second environmental factor on the powder degradation at a voxel in the 3D printed volume due to printing a particular construct. In some examples, the second factor module 520 may implement the stress engine 120 upon execution and may determine the second effect of the second environmental factor in any of the previously discussed manner. The degradation module 530 enables the processor 502 to determine the amount of powder degradation at the voxel based on the first and second environmental factors. In some examples, the degradation module 530 may implement the degradation engine 130 upon execution and may determine the amount of degradation in any of the previously discussed manner.
[0039] Figure 6This is a block diagram of another example computer-readable medium 600 including instructions that, when executed by processor 602, cause processor 602 to determine how much powder degradation will occur for a particular 3D print. Computer-readable medium 600 may include: a first factor module 610, which may include a first model 612 and a second model 614; a second factor module 620, which may include a first model 622 and a second model 624; a degradation module 630, which may include a degradation model; and an initial degradation module 640. The first factor module 610 may cause processor 602 to determine a first effect of a first environmental factor that will cause powder degradation at a voxel in a 3D print volume due to printing a particular construct. The first factor module 610 may cause processor 602 to use the first model 612 to represent the interaction between the first environmental factor and the powder at the voxel to determine the first effect, and to use the second model 614 to represent the interaction between the first environmental factor and the powder at the voxel to determine a third effect. The second factor module 620 may cause processor 602 to determine a second effect of a second environmental factor that will cause powder degradation at a voxel in a 3D print volume due to printing a particular construct. The second factor module 620 enables the processor 602 to use a first model 622 to represent the interaction between the second environmental factor and the powder at the voxel to determine a second effect, and to use a second model 624 to represent the interaction between the second environmental factor and the powder at the voxel to determine a fourth effect. In some examples, the first factor module 610 or the second factor module 620 may, when executed, implement a thermal engine 264, an oxidation engine 266, or a reagent engine 268, and may determine the first, second, third, or fourth effect in any of the previously discussed manner.
[0040] The initial degradation module 640 enables the processor 602 to determine the initial amount of powder degradation before printing based on the initial color of the powder. In some examples, the initial degradation module 640 may implement the initial state engine 262 upon execution and may determine the initial amount of powder degradation in any of the previously discussed methods. The degradation module 630 enables the processor 602 to determine the amount of powder degradation at the voxel based on the initial amount of powder degradation, a first effect, a second effect, a third effect, or a fourth effect. The degradation model 632 may include neural networks, support vector regression, etc. The degradation module 630 enables the processor 602 to use neural networks or support vector regression to determine the amount of powder degradation. The degradation module 630 enables the processor 602 to determine the amount of powder degradation by determining the final color of the powder after printing, for example, by having the neural network or support vector regression output the final color. In some examples, the degradation module 630 may implement the degradation engine 270 upon execution and may determine the amount of powder degradation in any of the previously discussed methods.
[0041] The foregoing description illustrates various principles and implementations of this disclosure. Many variations and modifications to the examples described herein are conceivable. Therefore, the scope of this application should be determined solely by the following claims.
Claims
1. A system for 3D printing, comprising: The simulation engine is used to simulate the 3D printing of a construct to determine the multiple thermal states that the powder at the voxel of the 3D printed volume will experience as a result of printing a particular construct, where each thermal state corresponds to a time during printing or cooling from printing. A stress engine is used to calculate the stress on the powder at the voxel based on the plurality of thermal states; A degradation engine for determining the amount of powder degradation at the voxel based on the stress; as well as A configuration engine is used to select the configuration for the 3D printing based on the amount of degradation.
2. The system of claim 1, wherein the stress engine is used to determine the effect of environmental factors on the amount of powder degradation at the voxel, and wherein the degradation engine includes a machine learning model for determining the amount of powder degradation at the voxel based on the effects of the stress and the environmental factors.
3. The system of claim 2, wherein the stress engine comprises: A thermal engine is used to determine the thermal interaction with the powder at the voxel, which will result in stress on the powder; An oxidation engine is used to determine the oxidative interaction with the powder at the voxel, which will result in stress on the powder; as well as A reagent engine is used to determine the printing reagent interaction with the powder at the voxel, the printing reagent interaction resulting in stress on the powder.
4. The system of claim 2, wherein the stress engine includes an initial state engine for determining an initial value indicating the initial amount of powder degradation prior to printing.
5. The system of claim 1, further comprising a reagent delivery engine for determining the amount of powder to be delivered to the voxel and a material state engine for determining the coalescence state of the powder at the voxel, wherein the simulation engine is used to determine the plurality of thermal states based on the amount of reagent to be delivered and the coalescence state.
6. The system of claim 5, further comprising a reagent response engine for determining the temperature response that the powder at the voxel will experience based on the amount of reagent to be delivered, wherein the simulation engine is used to determine the plurality of thermal states based on the temperature response to be experienced.
7. A method for 3D printing, comprising: Simulations were performed on the 3D printing of the construct to determine the multiple thermal states that the powder at the voxels of the 3D printing volume would experience due to the 3D printing, where each thermal state corresponds to a time during or after printing. Stress is calculated based on the aforementioned multiple thermal states; Determine the amount of powder degradation at the voxel caused by the stress; as well as The configuration for the 3D printing is selected based on the amount of degradation.
8. The method of claim 7, further comprising slicing the construct file to determine a plurality of voxels including the voxels, wherein simulating the 3D printing includes simulating heat conduction between the plurality of voxels over time and heat loss to the environment.
9. The method of claim 7, wherein selecting the configuration includes selecting the ratio of fresh powder to recycled powder to be used during the 3D printing.
10. The method of claim 7, further comprising performing 3D printing using the selected configuration.
11. A non-transitory computer-readable medium for 3D printing, comprising instructions that, when executed by a processor, cause the processor to: The first environmental factor that will cause powder degradation at voxels of the 3D printed volume due to printing a specific construct was determined; A second environmental factor was identified that would cause powder degradation at voxels in the 3D printed volume due to the printing of a specific construct; The amount of powder degradation at the voxel is determined based on the first and second effects; as well as The configuration of the specific construct is selected based on the amount of degradation.
12. The computer-readable medium of claim 11, wherein the instructions cause the processor to use a first model to represent the interaction between a first environmental factor and powder at the voxel to determine a first effect, and to use a second model to represent the interaction between the first environmental factor and powder at the voxel to determine a third effect.
13. The computer-readable medium of claim 11, further comprising instructions that cause the processor to determine an initial amount of powder degradation prior to printing based on the initial color of the powder, wherein the instructions cause the processor to determine the amount of powder degradation based on the initial amount of powder degradation, a first effect, and a second effect.
14. The computer-readable medium of claim 13, wherein the instructions cause the processor to determine the amount of powder degradation by determining the final color of the powder after printing based on the initial amount of powder degradation, a first effect, and a second effect.
15. The computer-readable medium of claim 11, wherein the instructions cause the processor to use a neural network or support vector regression to determine the amount of powder degradation at the voxel based on a first influence and a second influence.
Citation Information
Patent Citations
Temperature values in additive manufacturing
WO2020226605A1