Three-Dimensional Printing with Surface Dithering
20220373993 · 2022-11-24
Inventors
Cpc classification
G05B19/4099
PHYSICS
B29C64/386
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/49023
PHYSICS
B33Y50/00
PERFORMING OPERATIONS; TRANSPORTING
G06F2113/10
PHYSICS
International classification
G05B19/4099
PHYSICS
B29C64/386
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A method for three-dimensional printing includes dithering a set surface of the printing object and printing the printing object with the dithered surface. The dithering includes determining the set surface of the printing object, providing a spatially high-frequent dithering signal, and modifying the set surface as a function of the dithering signal. A non-transitory computer-readable medium includes instructions that implement the method. A 3D printing device includes a printing device and a control unit configured to control the printing device using the method.
Claims
1. A method for three-dimensional printing comprising: dithering a set surface of a printing object; and printing the printing object with the dithered surface, wherein the dithering includes: determining the set surface of the printing object, providing a spatially high-frequent dithering signal, and modifying the set surface as a function of the dithering signal.
2. The method of claim 1 wherein the dithering further includes: determining a voxel grid of a bounding box of the printing object or a portion thereof; determining a voxel-specific surface distance information for each voxel of the bounding box or for selected voxels of the bounding box, wherein the voxel-specific surface distance information represents a distance between the voxel and the set surface; modifying the surface distance information as a function of the dithering signal; and determining the modified surface depending on the modified surface distance information or classifying object voxels and non-object voxels based on the modified surface distance information.
3. The method of claim 2 wherein the dithering includes: providing a three-dimensional dithering mask; and for each voxel of the bounding box or for selected voxels of the bounding box: determining, a voxel-specific distance modifying value as a function of at least one entry of the dithering mask, and modifying the voxel-specific distance information as a function of the distance modifying value.
4. The method of claim 3 wherein: one mask element is assigned to each voxel of the bounding box or to the selected voxels of the bounding box; and the voxel-specific distance modifying value for a selected voxel is determined as the value of the mask element that is assigned to the selected voxel or as the value of the mask element that is assigned to the nearest surface voxel of the selected voxel.
5. The method of claim 3 wherein: one mask element is assigned to each voxel of the bounding box or to the selected voxels of the bounding box; and the voxel-specific distance modifying value for a selected voxel is determined as a projection value resulting from at least one projection of the values of the mask elements to the selected voxel.
6. The method of claim 3 further comprising scaling the voxel-specific distance modifying value by a scaling factor that is determined based on at least one of: a voxel size; and a selected printer.
7. The method of claim 1 wherein the dithering includes: determining a voxel grid of a bounding box of the printing object or a portion thereof; classifying voxels which are intersected by the set surface as surface voxels; and modifying the surface voxel classification as a function of the dithering signal.
8. The method of claim 1 further comprising eroding the surface of the printing object.
9. The method of claim 8 wherein the eroding includes: determining a set surface of the printing object in a selected z-slice; determining a reference axis as a medial axis of the surface or a subset thereof; determining, for each or selected points of the surface, a distance to the reference axis and an erosion value as a function of the distance; and modifying the surface depending on the erosion value.
10. The method of claim 9 wherein the eroding includes: determining, at least for each surface voxel of the selected z-slice, a voxel-specific distance to the reference axis and an erosion value as a function of the distance; modifying the voxel-specific surface distance information as a function of the erosion value; and determining the modified surface depending on the modified surface distance information or classifying object voxels and non-object voxels based on the modified surface distance information.
11. The method of claim 10 wherein the voxel-specific distance to the reference axis is determined as a function of the distance between a center of the voxel and the reference axis and the distance between the voxel center and the surface along the surface normal.
12. The method of claim 9 wherein the erosion value and the distance to the reference axis are positively correlated for at least one interval of distance values.
13. The method of claim 9 wherein the erosion value is set to a minimal value in response to the distance to the reference axis being smaller than a predetermined threshold value.
14. The method of claim 13 wherein the erosion value is set to a maximal value in response to the distance to the reference axis being greater than the predetermined threshold value.
15. The method of claim 13 wherein the erosion value is set to a maximal value in response to the distance to the reference axis being greater than a further predetermined threshold value.
16. The method of claim 9 wherein the erosion value is set to a maximal value in response to the distance to the reference axis being greater than a predetermined threshold value.
17. A non-transitory computer-readable medium comprising instructions that implement the method of claim 1.
18. A 3D printing device comprising: a printing device; and a control unit configured to control the printing device using the method of claim 1.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0143] The present disclosure will become more fully understood from the detailed description and the accompanying drawings.
[0144]
[0145]
[0146]
[0147]
[0148]
[0149]
[0150]
[0151]
[0152]
[0153] In the drawings, reference numbers may be reused to identify similar and/or identical elements.
DETAILED DESCRIPTION
[0154]
[0155] Indicated is a printing space or build space reference coordinate system with a longitudinal axis which is also referred to as x-axis. An arrowhead indicates an x-direction. Further indicated is a vertical axis which is also referred to as z-axis, wherein an arrowhead indicates a vertical direction or z-direction. The vertical axis is pointing upwards. A lateral axis which is also referred to as y-axis can be oriented perpendicular the x-axis and the z-axis, wherein the axes can provide a right-hand Cartesian coordinate system.
[0156] Further shown is that the printing device 1 comprises a control unit 8 for controlling a movement and/or an operation of the print heads 2, 3, 4, 5. The control unit 8 can comprise or be provided by at least one microcontroller or by at least one integrated circuit.
[0157] In particular, the print heads 2, 3, 4, 5 can be controlled such that the printing materials are arranged in voxels V, wherein for the sake of illustration, only one voxel V is denoted by a reference sign.
[0158]
[0159] The method comprises a dithering step S1. The dithering step S1 is performed to determine a model with a dithered, modified surface in comparison to the model provided by the input data. In a first substep S1a of the dithering step S1, a set surface 9 of the printing object 7 is determined, in particular a set surface of the model provided by the input data. In a second substep S1b, a spatially high-frequent dithering signal is provided. In a third substep S1c, the set surface 9 is modified as a function of the dithering signal and a modified, dithered surface is determined.
[0160] Modification of the set surface can e.g. be performed by determining a voxel grid of a bounding box of the printing object 7 which comprises voxels V and to determine a voxel-specific surface distance information (see e.g.
[0161] Then, the dithered surface can be determined depending on the modified surface distance information, e.g. as a section of zero crossings defined by the modified surface distance information. The section can e.g. be determined by interpolating or extrapolating the modified surface distance information.
[0162] Alternatively, a classification of voxels V of the bounding box into object voxels VO and non-object voxels VNO can be changed or updated based on the modified distance information. It is e.g. possible to perform a threshold-based approach, wherein voxels V with a distance d smaller than or equal to a distance threshold value are classified as object voxels VO and voxels V with a distance larger than the threshold value are classified as non-object voxels VNO.
[0163] The dithering signal is preferably provided by a three-dimensional dithering matrix wherein the entry values of the matrix provide a spatially high-frequent signal along each direction through the matrix. In this case, the dithering matrix can have the same voxel size as the bounding box and each element of the dithering matrix V is assigned to one voxel V of the bounding box. In particular, a matrix element with an ordinal number vector i, j, k can be assigned to the voxel V with the same ordinal number vector, wherein i can denote an ordinal number along the x-axis, j can denote an ordinal number along the y-axis, and k can denote an ordinal number along the z-axis. In this case, the value of the matrix element can provide the dithering signal value for the distance d of a selected voxel V. Preferably, however, the value of the matrix element which is assigned to the closest surface voxel of a selected voxel V can provide the dithering signal value for the distance d of the selected voxel V.
[0164] In a printing step S2, the printing object 7 is printed with the dithered surface. In other words, the model data which is modified by the dithering step S1 provides the input data for the printing step S2.
[0165]
[0166] The erosion step SE is performed to determine a model with an eroded, modified surface in comparison to the model provided by the input data. The erosion step SE is performed before the dithering step S1. This means that the eroded surface provides the set surface for the dithering step S1, i.e. the surface which is modified as a function of the dithering signal.
[0167] In a first substep SEa of the erosion step SE, a set surface 9 of the printing object 7 is determined, in particular a set surface of the model provided by the input data. In a second substep SEb, an erosion value is provided. In a third substep SEc, the set surface 9 is modified as a function of the erosion value and a modified, eroded surface is determined.
[0168] Modification of the set surface 9 can e.g. be performed by determining a voxel grid of a bounding box of the printing object 7 which comprises voxels V and to determine a voxel-specific surface distance information (see e.g.
[0169] Then, the surface distance information (which can e.g. be the distance d itself) is modified as a function of the erosion value. In particular, the distance d can be determined as a signed distance and an erosion value which can take negative values is added to the distance d. In other words, a distance d to the surface is changed for each selected voxel V.
[0170] Then, as outlined before with respect to the dithering step S1, the eroded surface can be determined depending on the modified surface distance information, e.g. as a section of zero crossings defined by the modified surface distance information, or a classification of voxels V of the bounding box into object voxels VO and non-object voxels VNO can be changed or updated based on the modified distance information.
[0171] Preferably, the erosion value is determined for a selected voxel V, in particular for each surface voxel of a selected z-slice 11, as a function of a voxel-specific distance d_RA to a reference axis RA, wherein the reference axis RA is a medial axis which denotes a set of object points which have more than one closest point on the surface 9. In particular, the medial axis denotes a set of object points in the two-dimensional z-slice 11 which have more than one closest point on the two-dimensional surface 8 in the z-slice 11.
[0172] The voxel-specific distance d_RA to the reference axis RA for a surface voxel is in particular determined as a function of the distance between the voxel center and the reference axis RA and the distance between the voxel center and the surface 8 along the surface normal.
[0173] The erosion value and the distance d_RA to the reference axis RA can be functionally related such that they are positively correlated for at least one interval of distance values.
[0174]
[0175] Further shown is a set surface 9 of the printing object 7 and a set course of the surface 9 in the reference coordinate system. Voxels V which are intersected by the surface course are classified as surface voxels.
[0176] For all surface voxels, a distance d between the respective voxel V and the set surface 9 is shown. The distance d is a signed distance, wherein a solid line represents a negative distance value and a dotted line a positive value (or vice versa).
[0177] It can be seen that due to the voxel resolution and the course of the set surface 9, the course of the voxels V classified as surface voxels features a step, i.e. has a step-like course. This step provides a quantization error and generates a staircasing artifact in the printing object 7.
[0178]
[0179] In comparison to the voxels shown in
[0180] Indicated is a printed surface 10 of the printing object 7, i.e. a surface of the printing object 7 which is provided by the printing process. It can be seen the surface course of the printed surface 10 also features a step, i.e. has a step-like course. Due to this step like course, in particular due to a spatial course along the step in a direction parallel to the z-axis, i.e. perpendicular to the drawing plane, the printed surface 10 will feature low spatial frequencies. Also, the step like course parallel to the y-axis shown in
[0181]
[0182]
[0183]
[0184] Further shown is a reference axis RA of the two-dimensional cross section of the printing object 7 in the plane defined by the selected z-slice 11, a distance threshold value th, an erosion value ev and a distance d_RA between the reference axis 12 and the set surface 9.
[0185] The reference axis RA is a medial axis of the two-dimensional representation of the printing object 7 in the selected z-slice 11. The distance d_RA denotes a minimal distance for a selected point on the set surface 9 to the reference axis RA. The erosion value ev is determined as an output value of an erosion function which maps an input value to the output value. To determine the erosion value ev for a selected point on the set surface 9, the distance d_RA is determined and mapped to the erosion value ev. The functional relationship can provide a positive correlation between the erosion value and the distance d_RA for at least one interval of distance values. In particular, the functional relationship can feature a ramped-shaped course or a step-like course for at least one interval of distance values.
[0186] In a voxel based representation of the z-slice 11, the input value for each surface voxel can be determined as the sum of a distance of a voxel center to the reference axis RA and the distance of the voxel center to the set surface 9 along a surface normal which intersects the voxel center. Surface voxels in the selected z-slice 11 of a voxel-based representation of the printing object 7 are voxels which are intersected by the set surface 9.
[0187] As outlined before, the erosion value ev is then used to modify the set surface 9 in order to provide an eroded surface.
[0188]
[0189] The term non-transitory computer-readable medium does not encompass transitory electrical or electromagnetic signals propagating through a medium (such as on a carrier wave). Non-limiting examples of a non-transitory computer-readable medium are nonvolatile memory circuits (such as a flash memory circuit, an erasable programmable read-only memory circuit, or a mask read-only memory circuit), volatile memory circuits (such as a static random access memory circuit or a dynamic random access memory circuit), magnetic storage media (such as an analog or digital magnetic tape or a hard disk drive), and optical storage media (such as a CD, a DVD, or a Blu-ray Disc). The phrase at least one of A, B, and C should be construed to mean a logical (A OR B OR C), using a non-exclusive logical OR, and should not be construed to mean “at least one of A, at least one of B, and at least one of C.”