Method for joint color and translucency 3D printing and a joint color and translucency 3D printing device
10717235 · 2020-07-21
Assignee
Inventors
- Alan Brunton (Grenoble, FR)
- Can Ates Arikan (Darmstadt, DE)
- Philipp Urban (Seeheim, DE)
- Tejas Madan Tanksale (Darmstadt, DE)
Cpc classification
B33Y10/00
PERFORMING OPERATIONS; TRANSPORTING
B29C64/112
PERFORMING OPERATIONS; TRANSPORTING
B29C64/386
PERFORMING OPERATIONS; TRANSPORTING
B33Y30/00
PERFORMING OPERATIONS; TRANSPORTING
B33Y50/02
PERFORMING OPERATIONS; TRANSPORTING
H04N1/54
ELECTRICITY
International classification
B29C64/393
PERFORMING OPERATIONS; TRANSPORTING
B33Y70/00
PERFORMING OPERATIONS; TRANSPORTING
B33Y30/00
PERFORMING OPERATIONS; TRANSPORTING
B29C64/386
PERFORMING OPERATIONS; TRANSPORTING
B33Y50/02
PERFORMING OPERATIONS; TRANSPORTING
H04N1/54
ELECTRICITY
B33Y10/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A method and a device for three-dimensional joint color and translucency printing, wherein at least a first non-transparent printing material with a first printing material color and at least one transparent printing material (6) is used to construct a printing object (7), wherein an arrangement of the printing materials is determined based on a desired color reproduction of the printing object (7), wherein the arrangement of the printing materials is determined based on a desired translucency reproduction of the printing object (7).
Claims
1. A method for three-dimensional joint color and translucency printing, wherein at least a first non-transparent printing material with a first printing material color and at least one transparent printing material is used to construct a printing object, wherein an arrangement of the first non-transparent printing material and the at least one transparent printing material is determined based on a desired color reproduction of the printing object, wherein the arrangement of the first non-transparent printing material and the at least one transparent printing material is determined based on a desired translucency reproduction of the printing object, the method including a. determining a voxel-based representation of the printing object prior to printing the printing object, b. assigning a desired color value and a desired translucency information which represents a device-independent vector to each voxel of at least a subset of all voxels of the printing object, including adjusting the desired translucency information that is assigned to each said voxel by setting a translucency parameter representing a degree of translucency such that a desired lateral light transport and vertical light transport within the printing object is achieved, wherein varying values of the translucency parameter define varying lateral and vertical light transport, c. transforming the desired color value and the desired translucency information assigned to one voxel being the device-independent vector and including the translucency parameter defining the desired lateral and vertical light transport into a printer-specific printing material color and translucency vector, d. assigning a printing material to a voxel based on the printer-specific printing material color and translucency vector, e. controlling the printing process as a function of the resulting assignment of the printing materials to voxels.
2. The method according to claim 1, characterized in that the determination of the voxel-based representation includes the steps of testing if the voxel is intersected by a surface of the printing object or at least one sub-object of the printing object, assigning the desired color value and the desired translucency information to the voxel if the voxel is intersected by the surface.
3. The method according to claim 2, characterized in that a surface section of the printing object or of the at least one sub-object is determined, wherein a voxel bounding box of the surface section is determined, wherein for each or selected voxel(s) of the voxel bounding box, a surface intersection criterion is evaluated, wherein the voxel is intersected by the printing object or the at least one sub-object if the surface intersection criterion is fulfilled.
4. The method according to claim 1, characterized in that a surface section of the printing object or of the at least one sub-object is determined, wherein for said voxels of said surface section a voxel bounding box of the surface section is determined, wherein for each said or said selected voxel(s) of the voxel bounding box, a surface intersection criterion is evaluated, wherein the voxel is intersected by the printing object or the at least one sub-object if the surface intersection criterion is fulfilled.
5. The method according to claim 1, characterized in that an object prioritization is performed if multiple printing objects are provided, wherein the voxel-based representation is determined for each printing object according to a priority-sorted sequence of the printing objects.
6. The method according to claim 1, characterized in that a surface layer voxel set and an interior voxel set are determined, wherein the desired color value and the desired translucency information is assigned to each said voxel of the surface layer voxel set, and wherein the desired color value and the desired translucency information is assigned to each voxel of the interior voxel set.
7. The method according to claim 6, including a near-surface interior voxel set being a voxel set comprising only voxels of a near-surface interior region and not all interior voxels of the printing object, characterized in that at least for each said voxel of the near-surface interior voxel set, the color value and the translucency information of its nearest surface voxel or of a nearest point of a point set is assigned to said voxel of said near-surface interior voxel set, wherein for each voxel of a set of at least one remaining interior voxel, the color value information of a preset color and the translucency information of the nearest surface voxel or the nearest point of the point set is assigned to said voxel of said set of at least one remaining interior voxel.
8. The method according to claim 7, characterized in that the nearest surface voxel or nearest point of the point set of an interior voxel is determined by applying a two-step process, wherein, in a first step, for each voxel of/within a selected x, y-slice, a z-distance to the nearest surface voxel or nearest point of the point set with the same x, y coordinates is determined, wherein, in a further step, the nearest surface voxel or nearest point of the point set for each said voxel of the selected x,y-slice is determined using a 2D distance transformation.
9. The method according to claim 1, wherein the printer-specific printing material color has a translucency component, and wherein the method is characterized in that the translucency component of the printer-specific printing material color and translucency vector is adapted as a function of light transport effects.
10. The method according to claim 1, characterized in that the printer-specific printing material color and translucency vector is determined based on a predetermined assignment of the color value and the translucency information to printer-specific printing material color and translucency vectors.
11. The method according to claim 10, characterized in that the assignment of the color value and the translucency information to the printer-specific printing material color and translucency vector is performed using a printer predicting function and a gamut correction function.
12. The method according to claim 1, characterized in that the voxel-based representation of the printing object is determined, wherein one of the said printing materials is assigned to each said voxel, wherein the assignment of one or more of the said printing materials to a voxel is based on the desired color and the desired translucency reproduction of the printing object.
13. The method according to claim 12, characterized in that an assignment of one of the non-transparent printing materials to one of said voxels is replaced by an assignment of the transparent printing material to said one of said voxels as a function of the translucency information assigned to said one of said voxels.
14. The method according to claim 13, characterized in that the replacement by an assignment of the transparent printing material to said one of said voxels as a function of the translucency information assigned to said one of said voxels is only performed for voxels to which a preset color printing material is assigned.
15. A printing object obtained by a method for three-dimensional joint color and translucency printing according to claim 1.
16. The method according to claim 1, wherein increasing the value of the translucency information denotes an increasing translucency or a decreasing translucency, wherein input data encodes the desired color and translucency reproduction of the printing object, and wherein the input data encoding the desired color and translucency reproduction of the printing object is generated as color and translucency information.
17. A computer program product with a computer program fixed in a non-transitory medium, wherein the computer program comprises software means for the execution of a method for three-dimensional joint color and translucency printing according to claim 1 if the computer program is executed by or in an automation system.
18. A program fixed in a non-transitory medium which, when running on a computer, causes the computer to perform one or more or all steps of a method for three-dimensional joint color and translucency printing according to claim 1.
19. A program storage medium on which the program according to claim 18 is stored, in particular in a non-transitory form.
20. A computer comprising the program storage medium according to claim 19.
21. A 3 D joint color and translucency printing device, wherein the printing device comprises a means for printing at least a first non-transparent printing material with a first printing material color and a means for printing at least one transparent printing material, wherein the joint color and translucency printing device comprises at least one control unit, wherein the means for printing the first non-transparent printing material is controlled such the first non-transparent printing material is used to construct the printing object, wherein the means for printing the at least one transparent printing material is controlled such that the at least one transparent printing material is used to construct the printing object, wherein the means for printing the first non-transparent printing material and the at least one transparent printing material are controlled such that an arrangement of the printing materials is provided such that a desired color reproduction is provided, characterized in that the means for printing the first non-transparent printing material and the at least one transparent printing material are controlled such that an arrangement of the printing materials is provided such that a desired translucency reproduction of the printing object is provided, wherein a voxel-based representation of the printing object is determined prior to printing the printing object, wherein a desired color value and a desired translucency information which represents a device-independent vector is assigned to each voxel of at least a subset of all voxels of the printing object, wherein the desired translucency information assigned to each said voxel is done by setting a translucency parameter representing a degree of translucency such that a desired lateral light transport and vertical light transport within the printing object is achieved, wherein varying values of the translucency parameter define varying lateral and vertical light transport, wherein the color value and the translucency information assigned to one voxel being the device-independent vector and including the translucency parameter defining the desired lateral and vertical light transport within the printing object is transformed into a printer-specific printing material color and translucency vector, wherein an assignment of a printing material to a voxel is based on the printer-specific printing material color and the translucency vector, and wherein the printing process is controlled as a function of the resulting assignment of printing materials to voxels.
Description
BRIEF DESCRIPTION OF THE DRAWING FIGURES
(1) The invention will be described with reference to the attached figures. The figures show:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(10) In the following, corresponding reference numerals denote elements with the same or similar technical features.
(11)
(12) Indicated is a 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.
(13) The printing object 7 comprises portions in which transparent printing material 6 is arranged. These portions can be external or internal portions (interior object portions).
(14) 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.
(15) In particular, the print heads 2, 3, 4, 5 which provide means for printing the printing materials can be controlled such that the printing materials are arranged within a surface region and a near surface interior region of the printing object 7 such that a desired color and translucency reproduction of the printing object 7 is provided. In other words, the arrangement of printing materials is provided such that a desired coloration of the printing object 7 is provided while also a desired translucency reproduction of the printing object 7 is ensured.
(16)
(17) With reference to the vertical direction, the voxels of the first row (highest row or top row) of voxels are surface voxels of a surface layer voxel set of the printing object 7. The remaining voxels, in particular the voxels within the remaining lower rows, are interior voxels of an interior voxel set of the printing object 7. In particular, the voxels of the second row can be voxels of a near surface interior layer voxel set, wherein the distances of all voxels of the near surface interior layer voxel set to the respective closest surface voxel are within a predetermined distance interval, in particular a distance interval ranging from a value corresponding to size of one voxel in the vertical direction to a maximal value corresponding to twice the height of one voxel in the vertical direction. Correspondingly, the voxels of the remaining rows can be voxels of other interior layer voxel sets or remaining interior voxels.
(18) Voxels V6 provided by transparent printing material are indicated by shaded voxels. The remaining unshaded voxels indicate printing material voxels which are either provided by the first, the second or the third printing material. A first transparent printing material voxel V9 is an interior voxel. In particular, the interior object voxel V9 is fully enclosed by voxels.
(19) Further indicated are surface voxels V10 which are also provided by transparent printing material 6.
(20) Further indicated is an exemplary optical path 11 to an interior voxel V9, wherein three object voxels, e.g. non-transparent printing material voxels, are arranged between the (external) environment of the printing object 7 and the interior voxel V9. The printing material voxels along said optical path 11 can be provided such that desired transparency or translucence is provided, in particular for visible light. For instance, the transparency can be provided such that an attenuation of visible light along said optical path is smaller than 0.1.
(21)
(22) In a first step S1, input data is generated. The input data can encode a shape- and texture-based representation of the printing object 7. In particular, the input data can encode RGBA vectors which are assigned to vertices of a graph-based shape representation of the printing object 7. The values of a color component RGB of the RGBA vector are defined in the RGB color space. The value of the translucency component A of the RGBA vector can denote a translucency parameter. A value range of the translucency parameter can include the values of 0 (inclusive) to 1 (inclusive), wherein a value of 1 corresponds to an opaque characteristic and 0 corresponds to a fully translucent characteristic. The first step S1 can be a pre-processing step for the proposed method.
(23) The RGBA vector can denote a color value and a translucency information in a perceptually non-uniform space.
(24) In second step S2, a voxelization is performed. By the voxelization, a voxel-based representation of the printing object 7 is determined. Further, a color value and translucency information, in particular a RGBA vector, is assigned to surface voxels of the printing object 7 in the voxel-based representation.
(25) In a first sub step S2a, a bounding box of a surface section of the printing object 7 is determined. Further, for each voxel of the bounding box, it is tested if the respective voxel is intersected by a surface of the printing object 7 or by the surface of at least one sub-object of the printing object 7.
(26) In particular, it is determined whether the voxel is intersected by the surface section of the graph-based representation of the printing object 7, e.g. a triangle which is spanned by three different vertices of the graph-based representation. This can e.g. be the case if the voxel centre which is projected into the plane of the surface section lies within the area enclosed by the surface section. Further, it is the determined whether the voxel is already assigned to a printing object 7 or a sub-object of said printing object 7.
(27) If the voxel is already assigned to another (sub-) object, the next voxel of the bounding box is tested. If the respective voxel is not yet assigned to a (sub-) object, an object identifier of the current (sub-) object is assigned to the respective voxel in a second sub step S2b. Further, a RGBA vector can be assigned to the voxel. The RGBA vector can be determined depending on the shape- and texture-based representation, e.g. by interpolation.
(28) In an optional third sub step S2c, for each (sub-) object, object voxels and object exterior voxels can be classified, wherein a corresponding (sub-) object identifier is assigned to all object voxel. This allows to easily identify voxels which belong to a certain (sub-) object, in particular for assigning RGBA vectors to object voxels of said (sub-) objects.
(29) The assignment of an object identifier and a color value and translucency information, e.g. a RGBA vector, can be performed according to a priority-sorted sequence of (sub-) objects, wherein a prioritization is performed before voxelization is started in the second step S2. The prioritization can e.g. be based on a volume of the (sub-)object, wherein a priority value can be proportional to reciprocal of the (sub-)object volume.
(30) In a third step S3, color values and translucency information, in particular RGBA vectors, are assigned to interior voxels of the object (s). Interior voxels can e.g. be determined based on the aforementioned classification.
(31) It is e.g. possible to determine a set of all or a set of selected interior voxels of each sub-object or of the printing object 7. Selected interior voxels can e.g. be voxels of a near-surface interior voxel set. This set can comprise all interior voxels for which a distance to the respective nearest surface voxels is smaller than a predetermined distance threshold.
(32) In particular, for each interior voxel of the interior voxel set, in particular the near-surface interior voxel set, the color value and translucency information, e.g. the RGBA vector, of its nearest surface voxel is assigned.
(33) In a first sub step S3a, the nearest surface voxel to the respective interior voxel can be determined. In particular, the nearest surface voxel can be determined using a two-step approach, wherein in a first step, for each voxel within a x, y-slice, the z distance to the nearest surface voxel with the same x, y-coordinates is determined. Further, in a second step, a 2D distance transformation operation can be applied, wherein the distance transformation operation provides the minimal distance to a surface voxel based on the z-distances which have been determined in the first step for all voxels of x, y-slice. Such a 2D distance transformation operation can e.g. be provided by the aforementioned algorithm described in the document Felzenszwalb, P. and Huttenlocher, D., Distance Transforms of Sampled Functions, Theory of Computing, vol. 8, pp. 415-428, 2012.
(34) If the determined distance is smaller than or equal to the aforementioned predetermined distance threshold, the color value and translucency information, e.g. the RGBA vector, can be assigned to the respective interior voxel in a second sub step S3b. If the distance is higher than the predetermined distance threshold, a color value of a preset color component, e.g. a color component corresponding to the white color, can be assigned to the respective interior voxel. Further, the translucency component, in particular the A parameter of the RGBA vector, of the nearest surface voxel can be assigned to the respective interior voxel.
(35) In a fourth step S4, the color values and translucency information, e.g. RGBA vectors, of all voxels can be transformed to a color value information within a quasi perceptually uniform color space and translucency information within a quasi perceptually uniform translucency space. In the following, such a quasi perceptually uniform color and translucency space can be denoted as CIELAB space, wherein the CIELAB component of such a vector denotes a component within a CIELAB color space and the translucency component denotes a translucency parameter within a quasi perceptually uniform translucency space. In particular, the color component of the color value and translucency information, e.g. the RGBA vector can be transformed into a CIELAB component of a CIELAB vector. Further the translucency component of the RGBA vector can be transformed into the translucency component of a CIELAB vector. Such a transformation can advantageously be dependent on a lateral and vertical light transport within the printing material.
(36) This transformation can be performed in a first sub step S4a of the fourth step. In a second sub step S4b, the resulting color value and translucency information, e.g. the CIELAB vector, in the quasi perceptually uniform color and translucency space assigned to one voxel can be transformed into a printer-specific printing material color and translucency vector. In the following, a printer-specific printing material color and translucency vector is exemplarily denoted as CMYK vector, wherein CMYK denotes a color component with tonal values for cyan, magenta, yellow and black and denotes a translucency component. The transformation in the second sub step S4b of the fourth step S4 can be performed based on a predetermined assignment, e.g. provided by a look up table, of CIELAB vectors to CMYK vectors. The predetermined assignment can be determined in a preprocessing PP, wherein the determination of the predetermined assignment has been explained before.
(37) A value of 1 of the translucency-related entry of a CIELAB vector or CMYK vector can correspond to full translucency, i.e. transparency, and a value of 0 to no translucency, i.e. to opacity.
(38) In a third sub step S4c of the fourth step S4, the printer-specific translucency component of the printer-specific printing material color and translucency vector is adapted as a function of light transport effects. In particular, the value is adapted as a function of depth and a predetermined threshold value t. Preferably, an adapted translucency component of the printer-specific printing material color and translucency vector is determined as
=min(t,)/tformula 1
(39) if the distance of respective interior voxel to its nearest surface voxel is smaller than the predetermined distance threshold. Otherwise, is calculated as
=max(0,t)/(1t)formula 2
(40) A result of the adaptation is a CMYK vector which comprises an adapted translucency component.
(41) A result of the fourth step S4 is a voxel-based representation in which a printer-specific printing material color and translucency vector (with an unadapted or adapted translucency component) is assigned to each voxel.
(42) In a fifth step S5, a layer construction and half-toning can be performed in order to assign a non-transparent printing material to each voxel. Such a half-toning can e.g. be performed according to the layered error diffusion approach which is described in in the aforementioned document Brunton, Alan, Can Ates Arikan, and Philipp Urban, Pushing the limits of 3d color printing: Error diffusion with translucent materials. ACM Transactions on Graphics (TOG) 35.1 (2015): 4. or in the aforementioned EP 3023229 A1.
(43) A result of the fifth step S5 is a voxel-based representation in which a non-transparent printing material is assigned to each voxel.
(44) In a sixth step S6, an assignment of a non-transparent printing material to one voxel is replaced by an assignment of the transparent printing material 6 (see
(45) Preferably, the replacement is only performed for voxels to which a preset printing material, in particular a white printing material, is assigned.
(46) A result of the sixth step S6 is a voxel-based representation of the printing object 7 in which also translucent voxels, i.e. voxels to which the transparent printing material 6 is assigned, are provided.
(47) In a seventh step S7, a printing process of the printing object 7 is controlled as a function of the resulting assignment of printing materials to the voxels of the printing object 7.
(48)
(49) To the remaining interior voxels IV, a white color printing material and the translucency component of the nearest surface voxel is assigned. In other words, the color and translucency information which is assigned to each of the remaining interior voxels IV comprises a color component corresponding to a white color and the translucency component of the nearest surface voxel of the respective voxel.
(50)
(51)
(52)
(53) In the representation shown in
(54)
(55) In a first step S1, input data is generated, e.g. as RGBA vectors. The first step S1 of the embodiment shown in
(56) In a fourth step S4, the color value and the translucency information assigned to one voxel is transformed into a printer-specific printing material color and translucency vector, e.g. a CMYK vector. This transformation can be a transformation from a device-independent space, e.g. RGBA space, into a device control space, here the CMYK space. Such transformations are generally known to the skilled person. Exemplary transformation schemes are outline in this disclosure. The fourth step S4 of the embodiment shown in
(57) In a fifth step S5, one or more printing material(s) is/are assigned to one voxel depending on the assignment of printer-specific printing material color and translucency vectors to the voxels. The fifth step S5 of the embodiment shown in
(58) In a sixth step S6, a printing process is controlled as a function of the resulting assignment of printing materials to voxels.