Systems and methods for operating a material drop ejection three-dimensional (3D) object printer to prevent quantization errors at the perimeter of a three-dimensional printed object
The method and system for a 3D object printer distribute quantization errors across layers using a slicer program and blue noise generator to adjust droplet spacing, ensuring consistent material density and preventing error accumulation, thus maintaining structural integrity.
Patent Information
- Application Number
- JP2021215404
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-01-25
- Filing Date
- 2021-12-29
- Publication Date
- 2026-02-27
- Estimated Expiration
- 2041-12-29
AI Technical Summary
Existing 3D object printers that eject droplets of molten material face issues with quantization errors at the perimeter, leading to localized deformation and inaccurate part height due to inconsistent droplet spacing, especially in drop-on-demand printing, which affects the structural integrity of the printed objects.
A method and system for a material drop ejection 3D object printer that distributes quantization errors across layers by adjusting the number and location of droplets using a slicer program and blue noise generator to ensure appropriate drop spacing, utilizing a controller to modify machine-enabled instructions for precise perimeter formation.
The method effectively distributes quantization errors across layers, ensuring the structural integrity of the printed object by maintaining consistent material density and preventing error accumulation, making imperceptible errors to the human eye.
Smart Images

Figure 0007821609000004 
Figure 0007821609000005 
Figure 0007821609000006
Abstract
Description
[Technical Field]
[0001] The present disclosure is directed to three-dimensional (3D) object printers that eject droplets of material to form three-dimensional (3D) objects, and more particularly to forming the perimeter of 3D objects produced by these printers. [Background technology]
[0002] Three-dimensional printing, also known as additive manufacturing, is a process for creating three-dimensional solid objects from digital models of virtually any shape. Many three-dimensional printing techniques use additive processes in which an additive manufacturing device forms successive layers of a part on top of previously deposited layers. Some of these techniques use ejectors that eject droplets of molten material, such as photopolymers or elastomers. Printers typically operate one or more ejectors to form successive layers of thermoplastic material that form three-dimensional printed objects with various shapes and structures. After each layer of the three-dimensional printed object is formed, the plastic material is cured, thereby solidifying and bonding the layer to underlying layers of the three-dimensional printed object. This additive manufacturing method is distinguishable from traditional object-forming techniques, which mostly rely on removing material from a workpiece through subtractive processes such as cutting or drilling.
[0003] Recently, several 3D object printers have been developed that eject droplets of molten metal from one or more ejectors to form 3D objects. These printers use a solid metal source, such as a roll or pellets of wire, which is fed into a heated chamber where it is melted. The molten metal then flows into the ejector chamber. An uninsulated conductive wire is wrapped around the chamber. Passing an electric current through the conductor generates an electromagnetic field, which causes a crescent of molten metal at the chamber's nozzle to separate from the molten metal in the chamber and propel it out of the nozzle. A platform opposite the ejector nozzle is moved in an XY plane parallel to the plane of the platform by an actuator operated by a controller, causing the ejected metal droplets to form the object's metal layer on the platform. Another actuator, operated by a controller, changes the position of the ejector or platform in the vertical or Z direction, maintaining a constant distance between the ejector and the top layer of the metal object being formed. This type of metal droplet ejection printer is also known as a magnetohydrodynamic printer.
[0004] In known 3D object printers that continuously extrude thermoplastic material to form the perimeter and infill of a printed object, the amount of material extruded per unit length of the closed perimeter is independent of the perimeter length. In contrast, in 3D object printers that eject droplets of thermoplastic material or molten metal, the process is not continuous. Instead, the closed perimeter is printed using multiple, separate droplets. If the distance from the last printed droplet to the first printed droplet is not equal to the droplet spacing used to form the remainder of the perimeter, local anomalies result, resulting in localized part deformation, especially if this error is repeated in successive layers. Even if this spacing is changed, the amount of perimeter material in those layers will result in an inaccurate part height.
[0005] Drop-on-demand 3D object printers typically print droplets at a rate per unit of distance, resulting in a consistent density. These printers are typically raster printers. Combining drop-on-demand printing with toolpath movement during printing requires new constraints for the print. In extrusion printers, the amount of material extruded is an analog value. In contrast, in drop-on-demand printing, the ejection of individual droplets affects the formation of the part's perimeter and boundary, as well as the part's infill. As an example, if a cylinder is being 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 1 mm, a 2 mm radius circle requires 4π droplets per layer, which is approximately 12.57 droplets. For each layer, the droplets can be spaced at a standard interval, and then the last (i.e., 13th) droplet can be either included or excluded. As a result, there is a choice of using either 12 or 13 droplets to print the cylindrical layer perimeter. If the first droplet is excluded, the distance between the first and last or twelfth droplet printed on the periphery is 1.57 times the distance between successively ejected droplets, which is 1.57 mm in this example. Therefore, a localized gap results. Conversely, if the thirteenth droplet is ejected as the last droplet on the periphery, the distance between the first and last droplet in this example is only 0.57 mm, which may result in a localized protrusion.
[0006] Some known methods can reduce this problem for all possible circumferences, but cannot eliminate it. One approach randomly shifts the starting droplets of the various layers that form the closed circumference around the perimeter. While this approach does not completely eliminate the problem, it ensures that local anomalies are located in different places on each layer, so that errors do not accumulate in a single location. In scenarios where the droplet spacing error is close to half the droplet spacing distance, defects, although randomized in location, can be very noticeable. Another possible correction is to change the spacing between ejected droplets to an integer value. For circular layers on a cylinder, as described in the example above, round the number of droplets in each layer to 13 and thin the last droplet to the first droplet gap. However, the height of the error can rapidly increase, especially when the number of droplets per circumference is small. The problem with these two possible solutions is that the amount of material at the layer perimeter is inaccurate, either locally or globally. Both approaches can, in various circumstances, introduce errors in the height and shape of the perimeter, which can cause problems with the structural stability of the finished part, especially in thin cross-sections. It would be beneficial to be able to form the perimeter of a manufactured part with a printer that ejects separate drops of material with appropriate drop spacing to maintain part integrity at each layer of the perimeter. Summary of the Invention
[0007] A new method for operating a material drop ejection 3D object printer can form a perimeter of a part with separate drops of material with appropriate drop spacing for 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-enabled instructions generated from an object layer data model; identifying a number of drops of material to eject to form the perimeter in the first object layer and a first quantization error for the first object layer, where the identified number of drops of material to eject to form the perimeter in the first object layer is a first integer; identifying locations for the first drops of material to be ejected to form the perimeter in the first object layer; modifying the machine-enabled instructions generated from the object layer data model using the identified number of drops of material and the identified locations for the first drops of material; and executing the modified machine-enabled instructions to operate the material drop ejection 3D object printer to form the perimeter in the first object layer formed by the material drop ejection 3D object printer.
[0008] A novel material drop ejection 3D object printer can form the perimeter of a part with separate material drops with appropriate drop spacing for part integrity in each layer of the perimeter. The material drop ejection 3D object printer includes a melting device configured to receive and melt bulk metal, a discharge head having a nozzle fluidly connected to the melting device to receive the molten bulk metal from the melting device, a platform positioned opposite the discharge head, at least one actuator operably connected to at least one of the platform and the at least one discharge head, the at least one actuator configured to move the platform and the at least one discharge head relative to one another, and a controller operably connected to the melting device, the at least one discharge head, and the at least one actuator. The controller is configured to: identify a perimeter to be formed in the first object layer by execution of machine-enabled instructions generated from the object layer data model; identify a number of material drops to eject to form the perimeter in the first object layer and a first quantization error for the first object layer, wherein the identified number of material drops to form the perimeter in the first object layer is a first integer; identify a location for the first material drops to be ejected to form the perimeter in the first object layer; modify the machine-enabled instructions generated from the object layer data model using the identified number of material drops and the identified location for the first material drops; and execute the modified machine-enabled instructions to operate the material drop ejecting 3D object printer to form the perimeter in the first object layer formed by the material drop ejecting 3D object printer. [Brief explanation of the drawings]
[0009] The foregoing aspects and other features of a material drop ejection 3D object printer and a method of operating a novel material drop ejection 3D object printer that forms the perimeter of a part with separate material drops with appropriate drop spacing for part integrity in each layer of the perimeter are described in the following description, taken in conjunction with the accompanying drawings. The method and printer described below distributes material density layer errors that occur in each layer that forms the perimeter across those layers in a manner that makes them imperceptible to the human eye. This distribution takes the error generated by each quantization step and distributes it to subsequent spatial or temporal quantization steps.
[0010] [Figure 1] 1 illustrates a metal drop ejection 3D metal object printer that distributes a quantization error across layers that form a perimeter to determine the location of the first ejected metal drop that forms the perimeter in each layer.
[0011] [Figure 2] 1 is a diagram of the position of droplets forming a perimeter in a subsequent layer relative to the position of droplets forming a perimeter in a previously formed layer.
[0012] [Figure 3] Three probability density functions are shown, one for adjacent layers, one for layers separated by an intervening layer, and one for layers separated by two intervening layers.
[0013] [Figure 4] FIG. 2 is a flow diagram of a process implemented by a controller running a slicer program in the printer of FIG. 1 to distribute quantization error across the layers that form the perimeter and to determine the starting location of the first droplet that forms the perimeter in each layer. DETAILED DESCRIPTION OF THE INVENTION
[0014] For a general understanding of a 3D object printer that distributes quantization error across different layers of a periphery in an additively manufactured part and its operation, as well as for details of this printer and its operation, reference is made to the drawings, in which like reference numbers represent like elements.
[0015] 1 illustrates an embodiment of a molten metal 3D object printer 100 that can include a modified slicer program implemented in a controller to distribute quantization error across different layers of a periphery in an additively manufactured part. While the following description is made with reference to the metal drop ejection 3D object printer of FIG. 1, the slicer program can be used with single-nozzle or multi-nozzle material drop ejection 3D object printers.
[0016] In the printer of FIG. 1 , droplets of molten bulk metal are ejected from a discharge head 104 having a single nozzle, and the droplets from the nozzle form lines for layers around the periphery of an object 108 on a platform 112. As used herein, the term “bulk metal” refers to conductive metal available in a mass form, such as commonly available standard wire or pellets of macro-sized proportions. A source of bulk metal 160, such as metal wire 130, is fed into the discharge head and melted to provide molten metal in a chamber within the discharge head. An inert gas supply 164 provides a pressure-regulated source of inert gas 168, such as argon, to the molten metal chamber within the discharge head 104 through a gas supply line 144 to prevent the formation of metal oxides within the discharge head.
[0017] The discharge head 104 is mounted on a pair of vertically oriented members 120A and 120B for movement within z-axis tracks 116A and 116B, respectively. Members 120A and 120B are connected at one end to one side of a frame 124 and connected to each other at the other end by a horizontal member 128. An actuator 132 is mounted on the horizontal member 128 and operatively connected to the discharge head 104 to move the discharge head along the z-axis tracks 116A and 116B. The actuator 132 is operated by a controller 136 to maintain the distance between the single nozzle of the discharge head 104 and the top surface of the object 108 on the platform 112.
[0018] A planar member 140 is attached to a frame 124, which may be made of granite or other sturdy material to ensure rigid support for movement of the platform 112. The platform 112 is secured to X-axis tracks 144A and 144B, allowing the platform 112 to move bidirectionally along the X-axis as shown. The X-axis tracks 144A and 144B are secured to a stage 148, which in turn is secured to Y-axis tracks 152A and 152B, allowing the stage 148 to move bidirectionally along the Y-axis as shown. An actuator 122A is operably connected to the platform 112, and an actuator 122B is operably connected to the stage 148. A controller 136 operates the actuators 122A and 122B to move the platform along the X-axis and the stage 148 along the Y-axis, respectively, to move the platform in the X-Y plane opposite the ejection head 104. This XY plane movement of the platform 112 forms a line of molten metal droplets on the object 108 as droplets of molten metal 156 are ejected toward the platform 112. The controller 136 also operates the actuator 132 to adjust the vertical distance between the ejection head 104 and the most recently formed layer on the substrate to facilitate the formation of other structures on the object. While the molten metal 3D object printer 100 is illustrated in FIG. 1 as being operated vertically, other alternative orientations may be used. Also, while the embodiment shown in FIG. 1 has a platform that moves in the XY plane and the ejection head moves along the Z axis, other arrangements are possible. For example, the ejection head 104 may be configured for movement in the XY plane and along the Z axis.
[0019] The controller 136 may be implemented using one or more general-purpose or dedicated programmable processors that execute programmed instructions. Instructions and data needed to perform programmed functions may be stored in memory associated with the processor or controller. The processors, their memory, and interface circuits configure the controller to perform the operations described above and below. These components may be provided on a printed circuit card or as circuitry within an application specific integrated circuit (ASIC). Each of the circuits may be implemented with a separate processor, or multiple circuits may be implemented on the same processor. Alternatively, the circuits may be implemented with individual components or circuitry provided within a very large scale integrated (VLSI) circuit. The circuits described herein may also be implemented with a combination of processors, ASICs, individual components, or VLSI circuits. During metal object formation, image data of the structure being fabricated is transmitted to the discharge head 104 from either a scanning system or an online or workstation connection for processing and generation of discharge head control signal outputs to a processor or processors for the controller 136.
[0020] The controller 136 of the molten metal 3D object printer 100 requests data from an external source to control the printer for metal object production. Typically, a three-dimensional model or other digital data model of the object to be formed is stored in a memory operatively connected to the controller 136; the controller may access a remote database, such as via a server, on which the digital data model is stored; or a computer-readable medium on which the digital data model is stored may be selectively coupled to the controller 136 for access. This three-dimensional model or other digital data model is processed by a slicer implemented in the controller to generate data identifying each layer of the object, which then generates machine-compatible instructions that the controller 136 executes in a known manner to operate components of the printer 100 to form the metal object corresponding to the model. The generation of machine-compatible instructions includes the generation of intermediate models, such as when a CAD digital data model of the object is converted into an STL object layer data model or other polygonal mesh or other intermediate representation; these intermediate models can in turn be processed to generate machine instructions, such as g-code, for manufacturing the device by the printer. As used in this document, the term "machine-enabled 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 platform 112. Controller 136 executes the machine-enabled instructions to control the ejection of molten metal droplets from discharge head 104, the positioning of stage 148 and platform 112, and the distance between discharge head 102 and the top layer of object 108 on platform 112.
[0021] The slicer, implemented by the controller 136, distributes quantization errors occurring in different layers of the perimeter formed in a part produced by the system 100 and determines the location of the first droplet of ejected material that forms the perimeter in the layer; however, the slicer may be implemented in a separate processor within the system 100. The slicer generates 3D object layer data that is used to generate machine-readable instructions that operate printer components to form an object corresponding to the digital data model. A commonly used format for digital data models is the STL format, although other formats such as 3MF, AMF, and PLY can also be used. In the STL format, the object surface is defined by the edges and corners of triangular faces. The slicer converts these STL data into two-dimensional (2D) horizontal slices of the object and then generates machine-readable instructions that operate actuators to move the ejection head along a toolpath and that operate the ejection head to eject metal droplets to form the object. This conversion, in one embodiment, results in g-code that initializes the printing system and defines the path the discharge head will be moved along, operating the discharge head to discharge molten metal droplets to form the layers of the part.
[0022] The distribution of quantization error across the outer layers, performed by the slicer implemented by controller 136 of FIG. 1, ensures that the long-term accumulated error does not exceed one quantization unit. This property cannot be achieved by random rounding. Furthermore, the quantization error distribution ensures that transitions between quantization states occur with the highest possible frequency, so that error does not accumulate over long periods of time or distance. In slicers that address quantization error in the outer layers, the error distribution is only in the Z, or vertical, direction, so that all of the error resulting from quantizing the material in each outer layer is distributed to the next layer.
[0023] Algorithmically, the quantization error is distributed as follows: The drop error for the process is initialized to zero (drop_error=0), and for each layer:
[0024] drops_accum=drops_float+drop_error,
[0025] drops_layer=floor(drops_accum+0.5),
[0026] The drop_error = drops_accum - drops_layer is calculated, where drops_float is the desired number of drops or amount of drop mass to print the perimeter expressed as a floating point or non-integer number, which is 12.57 in the example above, and the drop_error specified for a layer is used to specify drops_accum in the next layer.
[0027] After determining the number of droplets relative to the perimeter of the layer, a value relative to the imaginary axis of the moving droplet is determined. In machine-readable instructions, such as g-code, each droplet is identified by three coordinates (x, y, e). The x and y coordinates identify a point defining a path for the ejector's movement within the platform's XY plane, and the e coordinate specifies the cumulative number of ejected droplets. Droplets are ejected at intervals within a droplet spacing parameter. As used in this document, the term "droplet spacing" refers to a predetermined distance between the centers of adjacent droplets ejected as the ejector moves along a path in the layer. A threshold is defined for the ejector's movement along the path. This threshold is a specific fraction of the droplet spacing. For example, 0.5 can be selected as the threshold for use with the droplet spacing defined for the path, meaning that droplets are ejected at a midpoint along the droplet spacing. By varying the threshold, the position of the ejected droplets can be changed within the droplet spacing.
[0028] As an example, the three coordinates (x, y, e) for points defining a closed ejector path in a layer are shown in the table below. [Table 1]
[0029] These values represent 10 points that define a closed perimeter of a circle in the layer, since points 1 and 11 are at the same x,y location. The e coordinate represents the cumulative drop count from the start of the path until the return to the origin. This table shows that for a threshold drop spacing of 0.5, the ejector will eject 12.57 drops as it traverses the circular path. As noted above, the controller cannot operate the ejector to eject 12.57 drops, but instead can operate the ejector to eject 12 drops in some layers and 13 drops in other layers. Therefore, the floating point numbers for the e coordinate shown in the table need to be scaled to either the 12-drop or 13-drop scheme. The results of this scaling are shown in the following two tables. The first is for 12 drops. [Table 2] The difference between the first and last e coordinates is 13, so as the ejector moves along the (x,y) path, 13 droplets are ejected to form a circular perimeter.
[0030] Below is a table for the case of 12 droplet paths. [Table 3] The difference between the first and last e coordinates is 12, so as the ejector moves along the (x,y) path, 12 drops are ejected to form a circular perimeter. Using these coordinates, g-code for the 12 drop and 13 drop perimeters is generated in separate layers.
[0031] This error distribution calculation determines the number of droplets used in each perimeter layer, but does not determine the relationship of droplet position between layers. For the same number of droplets in each layer, the error distribution described above results in greater structural integrity when the droplets in one layer are offset by half a cycle from the droplets in the previous layer. This position shifting is analogous to shifting successive brick layers by half a brick length. Similarly, this droplet position shifting can be achieved in the simple cylindrical object example described above by using a shift of half the droplet spacing distance in the location of the first droplet used to form the perimeter.
[0032] However, simply shifting the droplet spacing by half creates a problem when the number of droplets at the perimeter changes. For example, increasing the number of droplets by just one creates a beat frequency between adjacent layers, causing the droplet spacing to change from 0.5 mm to -5 mm as the ejection head traces the perimeter. Because the phase relationship is always 180 degrees out of phase at the start of the perimeter, there is a location along the perimeter where droplets between successive layers always line up and nearby droplets are closely aligned. This synchronization allows for error accumulation as the perimeter is built. If the desired fraction of the number of droplets per layer is 0.5, the number of droplets per layer toggles between two values. This toggling results in droplet alignment—that is, subsequent droplets landing on top of previously ejected droplets at the same location along the perimeter in all layers, with other droplets nearby landing close to the previously ejected droplets. This situation is illustrated in FIG. 2, where X represents the droplets that form the periphery in the layer formed immediately before the current layer, and O represents the droplets that form the periphery in the current layer.
[0033] To eliminate problems arising from the interaction between the phase shift of the starting location and the quantization error distribution of droplets across the surrounding layers, a blue noise generator is used to select the starting location instead of a fixed shift of half the droplet spacing between layers. The blue noise generator shifts the first droplet of the next layer by half the droplet spacing from the first droplet of the previously formed layer. The blue noise generator then further perturbs the starting location by an additional distance from negative half the droplet spacing to positive half the droplet spacing using a white noise generator with a triangular probability distribution, meaning the probability generator is not uniform. A triangular probability density function (PDF) is easily generated by averaging the two white noise PDFs. The final shift amount is remapped to negative half the droplet spacing to positive half the droplet spacing (-π to +π).
[0034] When the density of perimeters in a layer is not uniform compared to perimeters formed in previously formed layers, such as in regions with overhangs, the 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 is not full-scale, but rather a blue noise distribution around the nominal density, i.e., smaller than + / - half the droplet spacing for perimeters with densities lower than the nominal density, resulting in a phase difference between layers that approaches a white noise distribution for perimeters with densities much greater than the nominal density.
[0035] The blue noise generator implemented in the slicer to position the droplets to form the perimeter in the layer ensures that quantization error fluctuations are uncorrelated with droplet start location phase fluctuations. The probability density functions of the phase difference between adjacent layers and between layers two and three layers apart are shown in Figure 3. As shown, the phase relationship between non-adjacent planes quickly becomes uncorrelated with the use of the blue noise generator to shift the start position of the first droplet relative to the perimeter in the layer. The use of the blue noise generator helps determine the number of droplets ejected relative to the perimeter in the layer, ensuring that cumulative beat frequencies do not occur with the use of the quantization error distribution process.
[0036] A process for operating a material drop ejection 3D object printer to attenuate quantization error and determine starting drop locations to form a perimeter in a layer is shown in FIG. 4. In the description of a process, a statement that the process performs certain tasks or functions refers to a controller or general-purpose processor executing program instructions stored on a non-transitory computer-readable storage medium operably connected to the controller or processor to operate on data or to manipulate one or more components in the printer to perform the task or function. The controller 136 described above can be such a controller or processor. Alternatively, a controller can be implemented with two or more processors and associated circuits and components, each configured to perform one or more tasks or functions described herein. Additionally, the steps of the method can be performed in any feasible chronological order, regardless of the order shown in the figures or the order in which the processes are described.
[0037] FIG. 4 is a flow diagram of a process for operating a material drop ejection 3D object printer, such as printer 10, to attenuate quantization error and determine starting drop locations for a perimeter to be formed in a layer of the 3D object. Process 400 begins with a slicer receiving a digital data model for the object to be created (block 204). The slicer then generates object layer data and machine-readable instructions for forming each layer of the object (block 208). For the first layer, the slicer determines whether one or more perimeters will be formed in the layer (block 212). Using an error distribution process, such as the algorithm described above, the number of drops to eject to form the perimeter is determined (block 216). The slicer also determines the location of the first drop that will form the perimeter using one or more drop position shifting techniques, as described above (block 220). Previously generated machine-readable instructions for operating the printer to form the perimeter in the layer and any infill lines in the layer are modified and stored (block 224). This modification is accomplished by changing the e value for the g-code instruction, leaving only the X and Y coordinates unchanged, as described above. This modification effectively changes the distance-based feed rate, e.g., drops / mm. Alternatively, if the g-code instruction is described by a set of X and Y coordinates and a feed rate, rather than an e value, the feed rate as a function of time, e.g., drops / ms, is modified. If another layer is to be processed (block 228), machine-enabled instructions are generated in a similar manner (blocks 212-224). Once all layers have been processed and the corresponding machine-enabled instructions have been generated, the printer's controller executes the machine-enabled instructions to form the object (block 232).
[0038] It will be appreciated that variations of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems, applications, or methods. Various presently unforeseen or unanticipated substitutions, modifications, variations, or improvements may thereafter be made by those skilled in the art, which are also intended to be encompassed by the following claims.
Claims
1. A metal droplet ejection device comprising: a melting apparatus configured to receive and melt the bulk metal; a discharge head having a nozzle fluidly connected to the melter for receiving molten bulk metal from the melter; a platform positioned opposite the ejection head; at least one actuator operably connected to at least one of the platform and the at least one ejection head, the at least one actuator configured to move the platform and the at least one ejection head relative to one another; and a controller operably connected to the melting device, the at least one discharge head, and the at least one actuator, the controller comprising: identifying a perimeter to be formed in the first object layer by execution of machine-enabled instructions generated from the object layer data model; determining a number of drops of material to eject to form the perimeter in the first layer of object and a first quantization error for the first layer of object, wherein the determined number of drops of material to form the perimeter in the first layer of object is a first integer that is closest to a non-integer number required to space the path length of the perimeter in the first layer of object at a predetermined drop spacing, and the first quantization error is the difference between the non-integer number for the number of drops or amount of drop mass used to form the perimeter in the first layer of object and the determined number of drops of material to form the perimeter in the first layer of object; modifying the machine-enabled instructions generated from the object layer data model and to be executed to form the perimeter in the first object layer using the identified number of drops of material and locations of first drops of material dispensed to form the perimeter in the first object layer; executing the modified machine-enabled instructions to operate the 3D object printer to form the perimeter in the first object layer formed by the 3D object printer; and identifying a perimeter formed in a second object layer of an object layer data model that corresponds to the perimeter formed in the first object layer; determining a number of droplets of material to be ejected to form the perimeter in the second layer of object and a second quantization error for the second layer of object, wherein the determined number of droplets of material to form the perimeter in the second layer of object is a second integer number different from the first integer number, which is the first integer plus one, and the second quantization error is a difference between the sum of the first quantization error and a non-integer number for the number of droplets or amount of droplet mass used to form the perimeter in the second layer of object, and the determined number of droplets of material to form the perimeter in the second layer of object; modifying the machine-enabled instructions generated from the object data model and to be executed to form the perimeter in the second object layer using the identified number of drops of material to form the perimeter in the second object layer and locations of second drops of material to be ejected to form the perimeter in the second object layer; executing the modified machine-enabled instructions to be executed to operate the material drop ejecting 3D object printer to form the perimeter in the second object layer; and a controller configured to:
1. A metal droplet ejection device comprising:
2. The controller:
2. The apparatus of claim 1, further configured to: determine the first quantization error; determine the number of droplets of material ejected to form the perimeter in the second layer of object; and determine the second quantization error using a non-integer number for the amount or number of droplets of material used to form the perimeter in the second layer of object.
3. The controller: determining the first quantization error; determining the number of material drops ejected to form the perimeter in the second object layer; and determining the second quantization error. drops_accum=drops_float+drop_error, drops_layer=floor(drops_accum+0.5), 3. The apparatus of claim 2, further configured to: determine using a process represented by drop_error = drops_accum - drops_layer, where drops_float is a non-integer number representing the number of drops of material or amount of drop mass dispensed to form the perimeter, drops_accum is drops_float adjusted by the first quantization error ("drop_error" in the above formula, first line), drops_layer is the number of drops of material dispensed to form the second object layer, and drop_error ("drop_error" in the above formula, third line) is the second quantization error; and the floor function determines the number of drops of material dispensed to form the second object layer using a process represented by drop_error = drops_accum - drops_layer, where drops_float is a non-integer number representing the number of drops of material or amount of drop mass dispensed to form the perimeter, drops_accum is drops_float adjusted by the first quantization error ("drop_error" in the above formula, first line), drops_layer is the number of drops of material dispensed to form the second object layer, and drop_error ("drop_error" in the above formula, third line) is the second quantization error; and
4. The controller: The location of the first material droplet ejected to form the perimeter in the second object layer is determined by:
2. The apparatus of claim 1, further configured to identify the location of the first drop of material ejected to form the outer periphery in the second object layer by shifting the location of the first drop of material ejected to form the outer periphery in the first object layer from the location of the first drop of material ejected to form the outer periphery in the first object layer by half a droplet spacing between the location of the first drop of material ejected to form the outer periphery in the first object layer and a location of a next drop of material ejected to form the outer periphery in the first object layer.
5. The controller: The location of the first material droplet ejected to form the perimeter in the second object layer is determined by:
10. The apparatus of claim 1, further configured to identify the location of the first material droplets ejected to form the perimeter in the second object layer using a blue noise generator.
6. The controller controls the blue noise generator to: moving the location of the first drop of material ejected to form the perimeter in the second object layer by half a droplet spacing distance between the first drop of material ejected to form the perimeter in the first object layer and a location of a next drop of material ejected to form the perimeter in the first object layer; 6. The apparatus of claim 5, further configured to use by: modifying the displaced location by an additional distance from negative half the drop spacing distance to positive half the drop spacing distance using a white noise generator with a triangular probability distribution.
7. The controller executes the machine-compatible instructions as follows:
2. The apparatus of claim 1, further configured to modify a cumulative drop value for a floating-point number of drops to form the perimeter by scaling the cumulative drop value for the identified first integer number of drops to form the perimeter in the first layer.
8. The controller executes the machine-compatible instructions as follows:
8. The apparatus of claim 7, further configured to modify a cumulative drop value for a floating-point number of droplets or droplet mass amounts ejected to form the perimeter by scaling it to a cumulative drop value for the specified second integer number of droplets to form the perimeter in the first layer, wherein the cumulative drop value for the second specified integer number is different from the cumulative drop value for the first specified integer number.
Citation Information
Patent Citations
Hidden markov model generation of multi-plane random screens
JP2016146177A
Three-dimensional molding apparatus, three-dimensional molding method, and program
JP2019123081A
Z-axis measurement and control in 3D printing of metal
WO2020198038A1