Metal droplet spraying device

By adjusting the number and position of droplets in a three-dimensional printer, using quantization error distribution and noise generator technology, local abnormalities caused by droplet spacing errors are solved, and the structural stability and shape accuracy of the components are improved.

CN114789253BActive Publication Date: 2025-01-14PALO ALTO RESEARCH CENTER INC +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210004071.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-01-25
Filing Date
2022-01-05
Publication Date
2025-01-14
Estimated Expiration
2042-01-05

AI Technical Summary

Technical Problem

When existing three-dimensional printers form the periphery of a three-dimensional object, droplet spacing errors lead to local abnormalities and component deformation, especially when repeated in continuous layers, affecting the height and structural stability of the component.

Method used

By executing machine-ready instructions generated from object layer data model in the controller of a three-dimensional object printer, adjusting the number and position of droplets to form appropriate perimeters in each layer, using quantization error allocation and noise generator techniques, Ensure accuracy and consistency of droplet spacing.

Benefits of technology

The formation of a complete perimeter in each layer is achieved, local abnormalities and component deformation is reduced, structural stability and shape accuracy of the components are improved, and uniformity of material density is ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114789253B_ABST
    Figure CN114789253B_ABST
Patent Text Reader

Abstract

The present invention is entitled "System and method for operating a material droplet jetting three-dimensional (3D) object printer to prevent quantization errors in the perimeter of a 3D printed object". A slicer in a material droplet jetting three-dimensional (3D) object printer determines the number of material droplets to be jetted to form a perimeter in an object layer and distributes the quantization error over the layer forming the perimeter. The slicer also identifies the position of the first material droplet jetted to form the perimeter using a blue noise generator.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to three-dimensional (3D) object printers that eject droplets of material to form three-dimensional (3D) objects, and more particularly, to the formation of perimeters in 3D objects made using those printers. Background Art

[0002] 3D printing, also known as additive manufacturing, is a process for preparing three-dimensional solid objects from digital models of almost any shape. Many 3D printing technologies use additive methods, in which additive manufacturing equipment forms continuous layers of parts on top of previously deposited layers. Some of these technologies use ejectors that eject droplets of molten material (such as photopolymers or elastomers). The printer typically operates one or more ejectors to form continuous layers of thermoplastic material that form 3D printed objects of various shapes and structures. After each layer of the 3D printed object is formed, the plastic material is cured so that the plastic material hardens to bond the layer to the underlying layer of the 3D printed object. This additive manufacturing method is different from traditional object formation techniques, which mainly rely on removing material from a workpiece by subtractive methods (such as cutting or drilling).

[0003] Recently, some 3D object printers have been developed that eject molten metal droplets from one or more ejectors to form 3D objects. These printers have a solid metal source, such as a wire coil or a pellet coil, that is fed into a heating chamber, where the solid metal is melted and the molten metal flows into the chamber of the ejector. A non-insulated conductive wire is wrapped around the chamber. An electric current passes through the conductor to generate an electromagnetic field, which causes the meniscus of the molten metal at the nozzle of the chamber to separate from the molten metal in the chamber and propel it from the nozzle. The platform opposite to the nozzle of the ejector is moved in an XY plane parallel to the plane of the platform by a controller operating an actuator so that the ejected metal droplets form a metal layer of the object on the platform, and another actuator is operated by a controller to change the position of the ejector or platform in the vertical direction or Z direction to maintain a constant distance between the ejector and the uppermost layer of the formed metal object. This type of metal droplet jet printer is also called a magnetohydrodynamic printer.

[0004] In known 3D object printers that continuously extrude thermoplastic material to form the perimeter and fill of a printed object, the amount of material extruded per unit length that closes the perimeter is independent of the perimeter length. However, in 3D object printers that eject droplets of thermoplastic material or molten metal, the process is not continuous. Instead, a discrete number of droplets are used to print a closed perimeter. If the distance from the last drop printed to the first drop printed is not equal to the drop spacing used to form the rest of the perimeter, a local anomaly occurs that causes local part deformation, especially if the error is repeated in consecutive layers. Even if the spacing changes, the amount of material in the layer of the perimeter will result in incorrect part height.

[0005] 3D object printers based on on-demand inkjet usually print droplets at a predetermined rate per unit distance to produce a fixed density. These printers are usually raster-based printers. Combining on-demand inkjet printing with tool path movement during printing requires new printing constraints. In an extrusion printer, the amount of extruded material is an analog value. However, in on-demand inkjet printing, the ejection of individual droplets affects the formation of perimeters and boundaries and the filling of parts. As an example, if a cylinder is formed, each layer of the cylinder is printed as a circle with the same radius. For example, if the distance between droplets along the perimeter is nominally 1mm, a 2mm radius circle requires 4 droplets per layer, i.e., about 12.57 droplets. For each layer, the droplets can be spaced at a standard spacing, and then the last (i.e., the 13th) droplet can be included or excluded. Therefore, there is a choice of printing the perimeter of the cylinder layer with 12 or 13 droplets. If the 13th droplet is excluded, the distance between the first droplet printed in the perimeter and the last or twelfth droplet is 1.57 times the distance between the consecutively ejected droplets, which is 1.57 mm in this example. Therefore, a local void is generated. In contrast, if the thirteenth droplet is ejected as the last droplet in the perimeter, the distance between the first droplet and the last droplet is only 0.57 mm in this example, which may generate a local protrusion.

[0006] Some known methods can reduce but not eliminate this problem for all possible perimeters. One method is to move the starting droplets of each layer to randomly form a closed perimeter everywhere. Although this method does not completely solve the problem, it ensures that local deviations are located at different locations of each layer, so the errors are not accumulated at a single location. In the scenario where the drop spacing error is close to half of the drop spacing distance, the defect may be very obvious, although it is randomized in terms of position. Another possible correction is to change the spacing of the ejected droplets to an integer value. In the circular layer of the cylinder as described in the above example, the number of droplets in each layer is rounded to thirteen to attenuate the gap from the last droplet to the first droplet. However, especially in the case of a small number of droplets per perimeter, the height of the error can be quickly built up. The problem with these two possible solutions is that the amount of material in the perimeter of the layer is incorrect locally or globally. Both methods can produce errors in the height and shape of the perimeter in different situations, and may cause problems with structural stability in the finished part, especially for thin cross-sectional parts. It would be beneficial to be able to form the perimeter in a part made using a printer that ejects discrete material droplets at appropriate drop spacing to maintain part integrity in each layer of the perimeter. Summary of the invention

[0007] In one aspect, a metal droplet ejection device comprises:

[0008] a melter configured to receive and melt bulk metal;

[0009] an injection head having a nozzle fluidly connected to the melter to receive molten bulk metal from the melter;

[0010] a platform, the platform being positioned opposite to the injection head;

[0011] at least one actuator operably connected to at least one of the platform and the at least one injection head, the at least one actuator being configured to move the at least one of the platform and the at least one injection head relative to each other; and

[0012] a controller operably connected to the melter, the at least one injection head, and the at least one actuator, the controller being configured to:

[0013] identifying a perimeter to be formed in a first object layer by executing machine-ready instructions generated from an object layer data model;

[0014] identifying a number of material droplets to be ejected to form the perimeter in the first object layer and a first quantization error for the first object layer, the identified number of material droplets to be ejected to form the perimeter in the first object layer being a first integer;

[0015] identifying locations of first material droplets to be ejected to form the perimeter in the first object layer;

[0016] modifying the machine-ready instructions generated from the object layer data model to be executed to form the perimeter in the first object layer using the identified number of material droplets and the identified position of the first material droplet;

[0017] executing the modified machine-ready instructions to operate a material droplet jetting 3D object printer to form the perimeter in the first object layer to be formed by the material droplet jetting 3D object printer;

[0018] identifying a perimeter to be formed in a second object layer of the object layer data model, the perimeter corresponding to the perimeter to be formed in the first object layer;

[0019] allocating the quantization error of the first object layer to a second object layer in the object layer data model;

[0020] identifying a number of material droplets to be ejected to form the perimeter in the second object layer and a second quantization error for the second object layer, the identified number of material droplets to be ejected to form the perimeter in the second object layer being a second integer number different from the first integer number;

[0021] identifying locations of droplets of first material to be ejected to form the perimeter in the second object layer;

[0022] Modifying the machine-ready instructions generated from the object data model to be executed to form the perimeter in the second object layer using the identified number and identified positions of material droplets to form the perimeter in the second object layer; and executing the modified machine-ready instructions to be executed to form the perimeter in the second object layer to operate the material droplet jetting 3D object printer to form the perimeter in the second object layer.

[0023] On the other hand, in the device, the controller is further configured to:

[0024] The assigning of the first quantization error, identifying the number of material droplets to be ejected to form the perimeter in the second object layer and identifying the second quantization error are identified using a non-integer number of an amount of material or a number of droplets used to form the perimeter in the second object layer.

[0025] On the other hand, in the device, the controller is further configured to:

[0026] The assigning of the first quantization error, identifying the number of material droplets to be ejected to form the perimeter in the second object layer, and identifying the second quantization error are identified using a process represented by:

[0027] Droplet_Accumulation=Droplet_Float+Droplet_Error;

[0028] drop_layer = floor(drop_accumulated + 0.5);

[0029] Droplet_error=droplet_accumulation−droplet_layer, wherein droplet_float is the non-integer number of the number of material droplets to be ejected to form the periphery or the amount of droplet mass, droplet_accumulation is the droplet_float adjusted by the first quantization error, droplet_layer is the number of material droplets to be ejected to form the second object layer, droplet_error is the second quantization error, and the floor function identifies the lower integer number that is closest to the value of the parameter of the function.

[0030] On the other hand, in the device, the controller is further configured to:

[0031] The locations of the first material droplets to be ejected to form the perimeter in the second object layer are identified by:

[0032] The position of the first material droplet to be ejected to form the periphery in the second object layer is shifted from the position of the first material droplet to be ejected to form the periphery in the first object layer by half of the droplet spacing, wherein the droplet spacing is between the position of the first material droplet to be ejected to form the periphery in the first object layer and the position of the next material droplet to be ejected to form the periphery in the first object layer.

[0033] On the other hand, in the device, the controller is further configured to:

[0034] The locations of the first material droplets to be ejected to form the perimeter in the second object layer are identified by:

[0035] A blue noise generator is used to identify the locations of droplets of the first material to be ejected to form the perimeter in the second object layer.

[0036] In another aspect, in the apparatus, the controller is further configured to use the blue noise generator by:

[0037] moving the position of the first material droplet to be ejected to form the perimeter in the second object layer by half a droplet spacing distance between the position of the first material droplet to be ejected to form the perimeter in the first object layer and the position of the next material droplet to be ejected to form the perimeter in the first object layer; and

[0038] The moved position is altered by an additional distance between negative half of the droplet spacing distance and positive half of the droplet spacing distance using a white noise generator with a triangular probability distribution.

[0039] In another aspect, in the apparatus, the controller is further configured to modify the machine ready instruction by:

[0040] The floating point number of accumulated droplet values ​​used to form the perimeter droplets are scaled to an identified first integer number of accumulated droplet values ​​used to form the perimeter droplets in the first layer.

[0041] In another aspect, in the apparatus, the controller is further configured to modify the machine ready instruction by:

[0042] A plurality of accumulated droplet values ​​of the amount of floating point numbers or droplet masses to be ejected to form the perimeter droplets are scaled to an identified second integer number of accumulated droplet values ​​for forming the perimeter droplets in the first layer, the identified second integer number of accumulated droplet values ​​being different from the identified first integer number of accumulated droplet values.

[0043] A new method for operating a material droplet jetting 3D object printer can form a perimeter in a part using discrete material droplets with appropriate droplet spacing to achieve part integrity in each layer of the perimeter. The method includes: identifying a perimeter to be formed in a first object layer by executing machine-ready instructions generated from an object layer data model; identifying a number of material droplets to be jetted to form the perimeter in the first object layer and a first quantization error of the first object layer, the identified number of material droplets to be jetted to form the perimeter in the first object layer being a first integer; identifying a position of a first material droplet to be jetted to form the perimeter in the first object layer; modifying the machine-ready instructions generated from the object layer data model using the identified number of material droplets and the identified position of the first material droplet; and executing the modified machine-ready instructions to operate the material droplet jetting 3D object printer to form a perimeter in the first object layer to be formed by the material droplet jetting 3D object printer.

[0044] A novel material droplet jetting 3D object printer can form a perimeter in a part using discrete material droplets with appropriate droplet spacing to achieve part integrity in each layer of the perimeter. The material droplet jetting 3D object printer includes: a melting machine configured to receive and melt bulk metal; an injection head having a nozzle fluidly connected to the melting machine to receive the molten bulk metal from the melting machine; a platform positioned opposite to the injection head; at least one actuator operably connected to at least one of the platform and at least one injection head, the at least one actuator being configured to move the platform and at least one of the at least one injection head relative to each other; and a controller operably connected to the melting machine, at least one injection head, and at least one actuator. The controller is configured to: identify a perimeter to be formed in a first object layer by executing machine-ready instructions generated from an object layer data model; identify a number of material droplets to be ejected to form the perimeter in the first object layer and a first quantization error for the first object layer, the identified number of material droplets to be ejected to form the perimeter in the first object layer being a first integer; identify a position of a first material droplet to be ejected to form the perimeter in the first object layer; modify the machine-ready instructions generated from the object layer data model using the identified number of material droplets and the identified position of the first material droplet; and execute the modified machine-ready instructions to operate a material droplet jetting 3D object printer to form a perimeter in the first object layer to be formed by the material droplet jetting 3D object printer. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] The foregoing aspects and other features of methods of operating a material droplet jetting 3D object printer and a novel material droplet jetting 3D object printer are explained in the following description in conjunction with the accompanying drawings, which printer forms a perimeter in a part using discrete material droplets with appropriate droplet spacing to achieve part integrity in each layer of the perimeter. The method and printer described below distribute the material density layer errors that occur in each layer to form the perimeter across the layers in a manner that makes the errors less noticeable to the human eye. This distribution takes the errors generated by each quantization step and distributes them to subsequent spatial or temporal quantization steps.

[0046] Figure 1 Depicted is a metal droplet jetting 3D metal object printer that distributes quantization errors over layers forming a perimeter and determines the position of a first jetted metal droplet forming a perimeter in each layer.

[0047] Figure 2 is a plot of the positions of droplets forming the perimeter in a subsequent layer relative to the positions of droplets forming the perimeter in a previously formed layer.

[0048] Figure 3Three probability density functions are plotted for adjacent layers, layers separated by an intermediate layer, and layers separated by two intermediate layers, respectively.

[0049] Figure 4 Is executed by Figure 1 Flow chart of a process implemented by a controller of a slicer program in a printer to distribute quantization errors over layers forming a perimeter and determine a starting position of a first drop forming a perimeter in each layer. DETAILED DESCRIPTION

[0050] For a general understanding of the operation of a 3D object printer and its distribution of quantized errors across different layers of the perimeter in an additively manufactured part, and for details of the printer and its operation, reference is made to the accompanying drawings. In the drawings, like reference numerals indicate like elements.

[0051] Figure 1 An embodiment of a molten metal 3D object printer 100 is shown that can be equipped with a modified slicer program implemented using a controller to distribute quantized errors across different layers of the periphery in an additively manufactured part. Figure 1 The Slicer program is designed for metal droplet jetting 3D object printers, but the Slicer program can be used with either single nozzle or multi-nozzle material droplet jetting 3D object printers.

[0052] exist Figure 1 In a printer, droplets of molten bulk metal are ejected from an injector head 104 having a single nozzle, and the droplets from the nozzle form lines against a layer of the periphery of an object 108 on a platform 112. As used in this document, the term "bulk metal" means a conductive metal available in aggregate form, such as wire of commonly available specifications or pellets of macroscopic size proportions. A bulk metal source 160 (such as a metal wire 130) is fed into the injector head and melted, thereby providing molten metal to a chamber within the injector head. An inert gas supply 164 provides a pressure-regulated source of an inert gas 168 (such as argon) to the chamber of the molten metal in the injector head 104 through a gas supply tube 144 to prevent the formation of metal oxides in the injector head.

[0053] The jet head 104 is movably mounted within z-axis rails 116A and 106B in a pair of vertically oriented members 120A and 120B, respectively. The members 120A and 120B are connected to one side of the frame 124 at one end and are connected to each other at the other end by a horizontal member 12B. An actuator 132 is mounted to the horizontal member 12B and is operably connected to the jet head 104 to move the jet head along the z-axis rails 116A and 106B. The actuator 132 is operated by a controller 136 to maintain a distance between a single nozzle of the jet head 104 and the uppermost surface of the object 108 on the platform 112.

[0054] Mounted to the frame 124 is a planar member 140, which may be formed of granite or other solid material to provide reliable solid support for the movement of the platform 112. The platform 112 is attached to X-axis rails 144A and 144B so that the platform 112 can move bi-directionally along the X-axis, as shown. The X-axis rails 144A and 144B are attached to a stage 148, and the stage 148 is attached to Y-axis rails 152A and 152B so that the stage 148 can move bi-directionally along the Y-axis, as shown. Actuator 122A is operably connected to the platform 112, and actuator 122B is operably connected to the stage 148. The controller 136 operates the actuators 122A and 122B to move the platform along the X-axis and to move the stage 148 along the Y-axis to move the platform in an XY plane relative to the injection head 104. As droplets of molten metal 156 are ejected toward platform 112, the XY plane movement of platform 112 is performed to form lines of molten metal droplets on object 108. Controller 136 also operates actuator 132 to adjust the vertical distance between ejector head 104 and the most recently formed layer on the substrate to facilitate the formation of other structures on the object. Figure 1 Although depicted as operating in a vertical orientation, other alternative orientations may be employed. Figure 1 The embodiment shown has a stage that moves in the XY plane and the jet head moves along the Z axis, but other arrangements are possible. For example, the jet head 104 may be configured for movement in the XY plane and along the Z axis.

[0055] The controller 136 can be implemented with a general or special programmable processor that executes programming instructions. The instructions and data required to perform the programming functions can be stored in a memory associated with the processor or controller. The processor, the memory of the processor, and the interface circuit configuration controller perform the operations described above and described below. These components can be arranged on a printed circuit card, or arranged as a circuit in an application-specific integrated circuit (ASIC). Each circuit can be implemented by a separate processor, or multiple circuits can be implemented on the same processor. Alternatively, these circuits can be implemented by discrete components or circuits arranged in a very large scale integrated circuit (VLSI) circuit. In addition, the circuits described herein can be implemented with a combination of processors, ASICs, discrete components, or VLSI circuits. During the formation of the metal object, the image data of the structure to be produced is sent from the scanning system or an online connection or a workstation connection to one or more processors of the controller 136 for processing and generating a jet control signal output to the jet head 104.

[0056] The controller 136 of the molten metal 3D object printer 100 requires data from an external source to control the printer for metal object manufacturing. Typically, a three-dimensional model or other digital data model of the object to be formed is stored in a memory operably connected to the controller 136, or the controller can access a remote database storing the digital data model through a server, etc., or a computer-readable medium storing the digital data model can be selectively coupled to the controller 136 for access. The three-dimensional model or other digital data model is processed by a slicer implemented using the controller to generate data identifying each layer of the object, and then generate machine-ready instructions to be executed by the controller 136 in a known manner to operate the components of the printer 100 and form a metal object corresponding to the model. The generation of machine-ready instructions may include the generation of an intermediate model, such as when a CAD digital data model of an object is converted into an STL object layer data model, or other polygonal mesh or other intermediate representation, which can then be processed to generate machine instructions, such as g-code for manufacturing a device by the printer. As used in this document, the term “machine-ready instructions” means computer language commands executed by a computer, microprocessor, or controller to operate components of a 3D metal object additive manufacturing system to form a metal object on a platform 112. The controller 136 executes the machine-ready instructions to control the ejection of molten metal droplets from the injection head 104, the positioning of the stage 148 and the platform 112, and the distance between the injection head 102 and the uppermost layer of the object 108 on the platform 112.

[0057] The slicer implemented by the controller 136 distributes the quantization errors occurring in different layers of the periphery formed in the part made by the system 100, and determines the position of the first droplet of the ejected material forming the periphery in the layer, although the slicer can be implemented using another processor in the system 100. The slicer generates 3D object layer data for generating machine-ready instructions, which operate the components of the printer to form an object corresponding to the digital data model. The commonly used format of the digital data model is the STL format, but other formats such as 3MF, AMF and PLY can also be used. In the STL format, the surface of the object is defined by the edges and angles of the triangular faces. The slicer converts these STL data into two-dimensional (2D) horizontal slices of the object, and then generates machine-ready instructions, which operate the actuator to move the ejector along the tool path, and operate the ejector to eject metal droplets to form the object. In one embodiment, this conversion generates a g-code, which initializes the printing system, and defines the path along which the ejector moves and operates the ejector to eject molten metal droplets to form the layer of the part.

[0058] Depend on Figure 1The distribution of quantization errors across the layers of the perimeter performed by the slicer implemented by the controller 136 ensures that the long-term accumulated error never exceeds one quantization unit. This property cannot be achieved using random rounding. In addition, the quantization error distribution ensures that the transitions between quantization states occur at the highest possible frequency so that errors do not accumulate over long periods of time or distances. In the slicer that resolves quantization errors in the perimeter layers, the error distribution is in the Z direction or vertical direction, only in this way that all errors generated by the quantization of the material in each perimeter layer are distributed to the next layer.

[0059] Algorithmically, the quantization error is allocated as follows: the droplet error of the process is initialized to zero (droplet_error=0) and for each layer:

[0060] Droplet_Accumulation=Droplet_Float+Droplet_Error;

[0061] drop_layer = floor(drop_accumulated + 0.5);

[0062] Drop_Error = Drop_Accumulation - Drop_Layer, where Drop_Float is a quantity expressed as a floating point or non-integer number for the desired number of drops or drop mass for the print perimeter, which Drop_Float is 12.57 in the example previously noted, and the Drop_Error identified for the layer is used to identify the Drop_Accumulation in the next layer.

[0063] After identifying the number of droplets for the perimeter in the layer, the value of the virtual axis of the droplet during movement is determined. In machine-ready instructions (such as g-code), each droplet is identified by three coordinates (x, y, e). The X-coordinate and the Y-coordinate identify the points that define the path that the ejector moves in the XY plane of the platform, and the e-coordinate identifies the cumulative number of droplets ejected. Droplets are ejected at intervals within the droplet spacing parameter. As used in this document, the term "droplet spacing" means the predefined distance between the centers of adjacent droplets ejected when the ejector moves along the path in the layer. The threshold defines the ejector movement along the path. The threshold is a specific portion of the droplet spacing. For example, 0.5 can be selected as a threshold for use with the defined droplet spacing of the path, which means that the droplet is ejected at an intermediate position along the droplet spacing. By changing the threshold, the position of the ejected droplet can be changed within the droplet spacing.

[0064] As an example, the three coordinates (x, y, e) of a point defining a closed injector path in a layer are shown in the following table:

[0065]

[0066]

[0067] These values ​​represent ten points, since the first and eleventh points are at the same x,y position, which define a closed perimeter as a circle in the layer. The e-coordinate represents the drop count accumulated at the beginning of the path back to the origin. The table indicates that the ejector ejected 12.57 droplets for a 0.5 threshold value of droplet spacing as the ejector traverses the circular path. As described above, the controller cannot operate the ejector to eject 12.57 droplets, but rather operates the ejector to eject twelve droplets in some layers and operates the ejector to eject thirteen droplets in other layers. Therefore, the floating point numbers of the e-coordinates shown in the table need to be scaled to either the twelve droplet or thirteen droplet scheme. The results of this scaling are shown in the following two tables. First, a table for twelve droplets is shown:

[0068] Number of droplets x-coordinate y coordinate e-coordinate 1 2.000 0 94.2200 2 1.6180 1.1756 95.5200 3 0.6180 1.9021 96.8200 4 -0.6180 1.9021 98.1200 5 -1.6180 1.1756 99.4200 6 -2.000 0.0000 100.7200 7 -1.6180 -1.1756 102.0200 8 -0.6180 -1.9021 103.3200 9 0.6180 -1.9021 104.6200 10 1.6180 -1.1756 105.9200 11 2.0000 -0.0000 107.2200

[0069] Because the difference between the first e-coordinate and the last e-coordinate is thirteen, thirteen droplets are ejected to form a circular perimeter as the ejector moves along the (x, y) path.

[0070] Next, a table of twelve droplet paths is shown:

[0071]

[0072]

[0073] Because the difference between the first e-coordinate and the last e-coordinate is twelve, twelve droplets are ejected to form a circular perimeter as the ejector moves along the (x,y) path. Using the coordinates, g-code is generated for the twelve droplet perimeter and the thirteen droplet perimeter in different layers.

[0074] This error allocation calculation determines the number of drops to be used in each perimeter layer, but it does not determine the relationship of the droplet positions from one layer to another. With the same number of droplets in each layer, the error allocation identified above produces greater structural integrity if the droplets in one layer are offset by half a circle from the droplets in the previous layer. This position shift is analogous to shifting successive brick layers by half a brick length. Similarly, this droplet position shift can be achieved in the simple cylindrical object example described previously by using half the droplet spacing distance shift in the position of the first drop used to form the perimeter.

[0075] However, a problem arises with simply shifting the droplet spacing distance by half as the number of droplets in the perimeter changes. For example, if the number of droplets increases by 1, a difference frequency is created between adjacent layers and the droplet spacing distance shifts from .5mm to –5mm as the jet head follows the perimeter. Since the starting phase relationship for the perimeter is always 180 degrees out of phase, there is a position along the perimeter where droplets between consecutive layers are always aligned and nearby droplets are nearly aligned. This synchronization allows error accumulation as the perimeter is constructed. With a desired fraction of droplets per layer of 0.5, the number of droplets per layer is switched between two values. This switching results in an alignment of the droplets such that in each layer, one subsequent droplet lands on a previously jetted droplet at the same position along the perimeter, and other droplets immediately adjacent to that position land adjacent to the previously jetted droplet. Figure 2 This situation is depicted in , where X represents a droplet that forms a periphery in a layer formed immediately before the current layer, and O represents a droplet that forms a periphery in the current layer.

[0076] In order to eliminate the problems caused by the interaction of the phase shift of the starting position of the droplets on the surrounding layers and the distribution of quantization errors, a blue noise generator is used to select the starting position instead of a fixed shift of half the drop spacing distance between layers. The blue noise generator moves the first droplet of the next layer from the first droplet of the previously formed layer by half the drop spacing distance, and then the droplet is perturbed with another distance between half the negative drop spacing distance and half the positive drop spacing distance using a white noise generator, which has a triangular probability distribution, which means that the probability generator is not uniform. By averaging two white noise probability density functions (PDFs), a triangular PDF is easily generated. The final offset is remapped to between half the negative drop spacing distance and half the positive drop spacing distance (-π to +π).

[0077] In the case where the density of perimeters in a layer is not uniform compared to perimeters formed in previously formed layers (such as areas with overhangs), a phase shift can be defined using the nominal perimeter density, which is the average number of droplets per unit length in a layer. This phase shift produces a phase difference between layers that is blue noise assigned at a nominal density close to but not full size (i.e., less than + / - half the droplet spacing) for perimeters with density below the nominal density, and nearly white noise assigned for perimeters with density much greater than the nominal density.

[0078] A blue noise generator implemented using a slicer to position the droplets to form a perimeter in the layer ensures that quantization error variations are decorrelated with droplet start position phase variations. Figure 3The probability density functions of the phase difference between adjacent layers and the phase difference between two and three layers apart are shown in FIG. As shown, the phase relationship between non-adjacent planes is quickly decorrelated by using a blue noise generator to shift the starting position of the first droplet at the periphery of the layer. The use of a blue noise generator helps to ensure that no accumulated difference frequencies are generated by using a quantization error allocation process to determine the number of drops to be ejected for the periphery of the layer.

[0079] exist Figure 4 A process for operating a material droplet jetting 3D object printer to attenuate quantization errors and determine a starting droplet position for forming a perimeter in a layer is shown. In the description of the process, the statement that the process is performing a task or function refers to a controller or general processor executing programming instructions to operate one or more components in the printer to perform the task or function, and the programming instructions are stored in a non-transitory computer-readable storage medium operably connected to the controller or processor. The controller 136 described above can be such a controller or processor. Alternatively, the controller can be implemented by more than one processor and associated circuits and components, each of which is configured to form one or more tasks or functions described herein. In addition, the steps of the method can be performed in any feasible time sequence, regardless of the order shown in the figure or the order in which the processing is described.

[0080] Figure 44 is a flow chart of a process for operating a material droplet jetting 3D object printer (such as printer 10) to attenuate quantization errors and determine the starting droplet position for a perimeter formed in a layer of a 3D object. Process 400 begins with a slicer receiving a digital data model of an object to be produced (block 204). The slicer then generates object layer data and machine-ready instructions to form each layer of the object (block 208). For the first layer, the slicer determines whether to form one or more perimeters in the layer (block 212). Using an error allocation process (such as the algorithm previously described), the number of droplets to be jetted to form the perimeter is determined (block 216). The slicer also determines the position of the first droplet to form the perimeter using one or more droplet position shifting techniques, as described above (block 220). The previously generated machine-ready instructions for operating the printer to form the perimeter in the layer and to form any fill lines in the layer are modified and stored (block 224). The modification is performed by retaining the X, Y coordinates alone but changing the e value of the g-code instruction, as previously described. The change actually changes the distance-based feed rate (e.g., drops / mm). Alternatively, if the g-code instructions are described by a set of X, Y coordinates and a feed rate rather than an e value, the feed rate is varied as a function of time (e.g., drops / millisecond). If another layer is to be processed (block 228), machine ready instructions are generated in the same manner (blocks 212 to 224). Once all layers have been processed and corresponding machine ready instructions have been generated, the controller of the printer executes the machine ready instructions to form the object (block 232).

[0081] It should be understood that variations or alternatives of the above disclosed and other features and functions may be desirably combined into many other different systems, applications or methods. Those skilled in the art may subsequently make various currently unforeseen or unanticipated substitutions, modifications, changes or improvements, which are also intended to be covered by the following claims.

Claims

1. A metal droplet jetting device, comprising: a melter configured to receive and melt bulk metal; an injection head having a nozzle fluidly connected to the melter to receive molten bulk metal from the melter; a platform, the platform being positioned opposite to the injection head; at least one actuator operably connected to at least one of the platform and the at least one injection head, the at least one actuator configured to move the at least one of the platform and the at least one injection head relative to each other; and a controller operably connected to the melter, the at least one injection head, and the at least one actuator, the controller being configured to: identifying a perimeter to be formed in a first object layer by executing machine-ready instructions generated from an object layer data model; identifying a number of material droplets to be ejected to form the perimeter in the first object layer and a first quantization error for the first object layer, the identified number of material droplets to be ejected to form the perimeter in the first object layer being a first integer; identifying locations of first material droplets to be ejected to form the perimeter in the first object layer; modifying the machine-ready instructions generated from the object layer data model to be executed to form the perimeter in the first object layer using the identified number of material droplets and the identified position of the first material droplet; executing the modified machine-ready instructions to operate a material droplet jetting 3D object printer to form the perimeter in the first object layer to be formed by the material droplet jetting 3D object printer; identifying a perimeter to be formed in a second object layer of the object layer data model, the perimeter corresponding to the perimeter to be formed in the first object layer; allocating the quantization error of the first object layer to a second object layer in the object layer data model; identifying a number of material droplets to be ejected to form the perimeter in the second object layer and a second quantization error for the second object layer, the identified number of material droplets to be ejected to form the perimeter in the second object layer being a second integer number different from the first integer number; identifying locations of droplets of first material to be ejected to form the perimeter in the second object layer; modifying the machine-ready instructions generated from the object data model to be executed to form the perimeter in the second object layer using the identified number and the identified positions of the material droplets to form the perimeter in the second object layer; and executing the modified machine-ready instructions to be executed to form the perimeter in the second object layer to operate the material droplet jetting 3D object printer to form the perimeter in the second object layer.

2. The device according to claim 1, wherein the controller is further configured to: The assigning of the first quantization error, identifying the number of material droplets to be ejected to form the perimeter in the second object layer and identifying the second quantization error are performed using a non-integer number of an amount of material or a number of droplets used to form the perimeter in the second object layer.

3. The device according to claim 2, wherein the controller is further configured to: The assigning of the first quantization error, identifying the number of material droplets to be ejected to form the perimeter in the second object layer, and identifying the second quantization error are identified using a process represented by: Droplet_Accumulation=Droplet_Float+Droplet_Error; drop_layer = floor(drop_accumulated + 0.5); Droplet_error=droplet_accumulation−droplet_layer, wherein droplet_float is the non-integer number of the number of material droplets to be ejected to form the periphery or the amount of droplet mass, droplet_accumulation is the droplet_float adjusted by the first quantization error, droplet_layer is the number of material droplets to be ejected to form the second object layer, droplet_error is the second quantization error, and the floor function identifies the lower integer number that is closest to the value of the parameter of the function.

4. The device according to claim 1, wherein the controller is further configured to: The locations of the first material droplets to be ejected to form the perimeter in the second object layer are identified by: The position of the first material droplet to be ejected to form the periphery in the second object layer is shifted from the position of the first material droplet to be ejected to form the periphery in the first object layer by half of the droplet spacing, wherein the droplet spacing is between the position of the first material droplet to be ejected to form the periphery in the first object layer and the position of the next material droplet to be ejected to form the periphery in the first object layer.

5. The device according to claim 1, wherein the controller is further configured to: The locations of the first material droplets to be ejected to form the perimeter in the second object layer are identified by: A blue noise generator is used to identify the locations of droplets of the first material to be ejected to form the perimeter in the second object layer.

6. The apparatus of claim 5, wherein the controller is further configured to use the blue noise generator by: moving the position of the first material droplet to be ejected to form the perimeter in the second object layer by half a droplet spacing distance between the position of the first material droplet to be ejected to form the perimeter in the first object layer and the position of the next material droplet to be ejected to form the perimeter in the first object layer; and The moved position is altered by an additional distance between negative half of the droplet spacing distance and positive half of the droplet spacing distance using a white noise generator with a triangular probability distribution.

7. The apparatus of claim 1 , wherein the controller is further configured to modify the machine-ready instruction by: The floating point number of accumulated droplet values ​​used to form the perimeter droplets are scaled to an identified first integer number of accumulated droplet values ​​used to form the perimeter droplets in the first layer.

8. The apparatus of claim 7, wherein the controller is further configured to modify the machine-ready instruction by: A plurality of accumulated droplet values ​​of the amount of floating point numbers or droplet masses to be ejected to form the perimeter droplets are scaled to an identified second integer number of accumulated droplet values ​​for forming the perimeter droplets in the first layer, the identified second integer number of accumulated droplet values ​​being different from the identified first integer number of accumulated droplet values.

Citation Information

Patent Citations

  • System and method for test pattern formation during three-dimensional object printing

    CN105500701A

  • 3D printing method by field and direction selection deposition of uniform metal microdroplets

    CN106735222A