Patent Description:
In three-dimensional (3D) inkjet printing of a 3D object, material is selectively jetted from one or more print heads and deposited onto a fabrication tray in consecutive layers according to a predetermined configuration as defined by a software file. Some deposition processes include depositing different materials in order to form a single object or model. For example, a 3D object may be manufactured by depositing a first material to form the body structure and a second material to form a support structure under various sections of the body structure, for example, negative angle surfaces and overhangs. The support structure is later removed by mechanical, chemical or other means to reveal the final object.

The printing of 3D object(s) may be time consuming and may require significant amounts of material. Therefore, there is a need for a rapid and accurate method of determining a time duration and/or an amount of material required for printing a 3D object(s) before the actual printing is carried out and/or during printing.

The present invention provides a method according to independent claim <NUM>.

In some embodiments, the slicing resolution of the 3D digital dataset is between <NUM> x <NUM> x <NUM> and <NUM> x <NUM> x <NUM>.

In some embodiments, the printing resolution is higher than <NUM> x <NUM> x <NUM>.

In some embodiments, the method further comprising predetermining the slicing resolution of the 3D digital dataset based on at least one of: a minimum calculation accuracy for the printing time duration; a minimum calculation accuracy for the amount of material consumption; a time required to perform the calculation of the printing time duration and/or of the amount of material consumption; a number of 3D objects comprised in the tray arrangement; and a complexity of the one or more 3D objects.

In some embodiments, calculating the amount of material consumption of one or more printing materials comprises: (a) associating at least some data elements of the 3D digital dataset with a printing material; (b) calculating, for each of the one or more printing materials, a total number of data elements in the 3D digital dataset associated with the respective printing material; (c) calculating, for each of the one or more printing materials, a total number of data elements associated with the respective printing material at the printing resolution, based on step (b) and on a predetermined resolution factor; and (d) calculating the amount of printing material consumption for each of the one or more materials, based on step (c) and a specified parameter of the respective printing material; wherein the predetermined resolution factor is a ratio of the slicing resolution of the 3D digital dataset over the printing resolution.

In some embodiments, the ratio of the slicing resolution of the 3D digital dataset over the printing resolution is between <NUM> and <NUM>,<NUM>, <NUM> and <NUM>,<NUM>, <NUM> and <NUM>,<NUM> or <NUM> and <NUM>,<NUM>.

In some embodiments, the specified parameter of the respective printing material is a material density.

In some embodiments, calculating the printing time comprises: (a) calculating, for each slice of the 3D digital dataset, a printing time required for printing the respective slice based on the data elements of the respective slice and a first set of printing parameters; and (b) calculating the printing time required to print the entire tray arrangement based on the calculated times required for printing all of the slices of the 3D digital dataset; wherein the first set of printing parameters comprises at least one of: a number of print heads of the 3D printing system; a localization of each print head in the printing 3D printing system; a geometry of the print heads; a width of the print heads, a number of nozzles in the print heads; a number of channels in the print heads; a relative offset between the print heads; a speed/acceleration of the printing unit; a relative movement of each printhead; a number of printing passes of width of the printing unit/print head; a number of travels of the printing unit/print head per pass; a starting/ending position of the printing unit on the printing tray before and/or after each travel; and curing times of each of the one or more materials to be deposited.

In some embodiments, calculating the amount of material consumption of one or more printing materials and/or calculating the printing time is further based on a second set of printing parameters comprising at least one of: a scattering policy; an interlacing policy; a purging/cleaning policy; a spitting policy; a printing mode/quality; and a printing of a reference model.

In some embodiments, the method further comprising displaying or reporting at least one of: the calculated amount of material consumption of one or more materials and the calculated printing time required for printing the tray arrangement.

The present invention provides a system according to independent claim <NUM>.

In some embodiments, the slicing module is further configured to determine the resolution of the 3D digital dataset based on at least one of: a minimum calculation accuracy for the printing time duration; a minimum calculation accuracy for the amount of material consumption; a time required to perform the calculation of the printing time duration and/or of the amount of material consumption; a number of 3D objects comprised in the tray arrangement; and a complexity of the one or more 3D objects.

In some embodiments, the material consumption calculation module is further configured to: (a) associate at least some data elements of the 3D digital dataset with a printing material; (b) calculate, for each of the one or more printing materials, a total number of data elements in the 3D digital dataset associated with the respective printing material; (c) calculate, for each of the one or more printing materials, a total number of data elements associated with the respective printing material at the printing resolution, based on step (b) and on a predetermined resolution factor; and (d) calculate the amount of printing material consumption for each of the one or more materials, based on step (c) and a specified parameter of the respective printing material; wherein the predetermined resolution factor is a ratio of the slicing resolution of the 3D digital dataset over the printing resolution.

In some embodiments, the printing time calculation module is further configured to: (a) calculate, for each slice of the 3D digital dataset, a printing time required for printing the respective slice based on the data elements of the respective slice and a first set of printing parameters; and (b) calculate the printing time required to print the entire tray arrangement based on the calculated times required for printing all of the slices of the 3D digital dataset; wherein the first set of printing parameters comprises at least one of: a number of print heads of the 3D printing system; a localization of each print head in the printing 3D printing system; a geometry of the print heads; a width of the print heads, a number of nozzles in the print heads; a number of channels in the print heads; a relative offset between the print heads; a speed/acceleration of the printing unit; a relative movement of each printhead; a number of printing passes of width of the printing unit/print head; a number of travels of the printing unit/print head per pass; a starting/ending position of the printing unit on the printing tray before and/or after each travel; and curing times of each of the one or more materials to be deposited.

In some embodiments, the material consumption calculation module and/or the printing time calculation module are further configured to effect their calculation based on a second set of printing parameters comprising at least one of: a scattering policy; an interlacing policy; a purging/cleaning policy; a spitting policy; a printing mode/quality; and a printing of a reference model.

In some embodiments, the system further comprising a displaying/reporting module configured to display/report at least one of: the calculated amount of material consumption of one or more materials; and the calculated printing time required for printing the tray arrangement.

For a better understanding of embodiments of the invention and to show how the same can be carried into effect, reference will now be made, purely by way of example, to the accompanying drawings in which like numerals designate corresponding elements or sections throughout.

It will be appreciated that, for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale.

In the following description, various aspects of the present invention are described. For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding of the present invention. Furthermore, well known features can have been omitted or simplified in order not to obscure the present invention. With specific reference to the drawings, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the present invention only and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. In this regard, no attempt is made to show structural details of the invention in more detail than is necessary for a fundamental understanding of the invention, the description taken with the drawings making apparent to those skilled in the art how the several forms of the invention can be embodied in practice.

Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing", "computing", "calculating", "determining", "enhancing" or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulates and/or transforms data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices. Any of the disclosed modules or units can be at least partially implemented by a computer processor.

Reference is now made to <FIG>, which is a schematic illustration of a 3D printing system <NUM> for printing 3D objects, according to some embodiments of the invention.

According to some examples, 3D printing system <NUM> may include a printing unit <NUM>, a supply unit <NUM>, a controller <NUM>, a user interface <NUM> and a fabrication tray <NUM>. Controller <NUM> may be configured to control all elements of 3D printing system <NUM>.

According to some examples, printing unit <NUM> may include one or more print heads <NUM>, one or more hardening subunits <NUM>, and one or more leveling subunits <NUM>. Print heads <NUM> may be adapted to deposit material using any ink-jet method. Printing unit <NUM> may move horizontally in both X and Y directions and optionally also vertically in the Z direction above a square or rectangular fabrication tray <NUM>. In some other embodiments, printing unit <NUM> is moving radially above a circular fabrication tray <NUM>. In some further embodiments, some or all of the elements constituting printing unit <NUM> (i.e. leveling subunit <NUM>, hardening unit <NUM>, print heads <NUM>) are mounted at distinct locations of printing system <NUM> and can be either static or mobile. In some embodiments, the fabrication tray is static and in some other embodiments the fabrication tray is mobile, e.g. a rotary fabrication tray, or moving in the X, Y and/or Z directions.

Each print head <NUM> may deposit one or more materials, such that at least two materials may be deposited in a single deposition scan. Print head(s) <NUM> may be fed with the material(s) supplied by supply unit <NUM>. As known in the art, the term "print head" or "3D printing head" refer to a hardware component that is suitable to dispense 3D printing material at a predefined position. Implementations of commercially available 3D printing heads may include a single channel (e.g., hold a single type or color of printing material) or a multiple channel (e.g., hold one or more types or colors of printing materials).

Hardening subunit(s) <NUM> may include any device that is adapted to emit light, heat and the like that may cause the printed material to harden. For example, hardening subunit(s) <NUM> may include one or more ultraviolet (UV) lamps (e.g., mercury lamp, UV LED assembly) for curing the deposited material.

Leveling subunit <NUM> may include any device that may be configured to level and/or control the thickness and/or flatness of the newly formed layer by sweeping over the layer and removing excess material. For example, leveling subunit <NUM> may be a roller. Leveling subunit <NUM> may include a waste collection device (not shown) for collecting the excess material generated during the leveling process.

Supply unit <NUM> may include one or more material containers or cartridges for supplying the material(s) to print head(s) <NUM>.

Controller <NUM> may include a processor <NUM>, a memory <NUM> and a storage <NUM>. Processor <NUM> may, for example, control the movement of printing unit <NUM> in a desired direction. Memory <NUM> may, for example, include an executable code. The executable code may include codes or instructions for controlling 3D printing system <NUM> to print 3D objects according to embodiments of the present invention. Storage <NUM> may store files that include design parameters of the 3D objects and the corresponding support structures to be printed by 3D printing system <NUM>.

User interface <NUM> may be or may include input devices such as a mouse, a keyboard, a touch screen or pad or any suitable input devices and output devices. User interface <NUM> may allow a user to upload or update codes and instructions for controlling printing of 3D objects according to some embodiments of the invention and/or to upload and update files including the design of the 3D objects (e.g., computer aided design (CAD) files) into storage <NUM>.

Fabrication tray <NUM> may be any tray, building or printing surface that is suitable to bear 3D objects and their corresponding support constructions as they are being printed, e.g., fabricated. Fabrication tray <NUM> may be attached, connected to or comprise an X-Y table and may be controlled, e.g., by controller <NUM>, to move in the Z direction and/or optionally in the X-Y plane according to the requirements of the printing process. In some other embodiments, fabrication tray <NUM> is a circular tray configured to rotate around a central axis and to optionally move in the Z direction.

Typically, 3D printing systems (such as 3D printing system <NUM> described above with respect to <FIG>), and especially commercial 3D printing systems, may be capable of printing a tray arrangement including several 3D objects during a single print cycle. In some cases, the printing of the tray arrangement with several 3D objects may be time consuming. For example, several hours or a few days may be necessary to print the tray arrangement. The printing of the tray arrangement with several 3D objects may also require a significant amount of material. Accordingly, there is a need for a method of calculating a time duration and/or an amount of material consumption required for printing the tray arrangement with one or more 3D objects in a rapid and accurate manner.

Reference is now made to <FIG>, which is a schematic block diagram of a system <NUM> for calculating a printing time duration and/or an amount of material consumption for one or more materials required for printing a tray arrangement including one or more 3D objects using a 3D printing system, according to some embodiments of the invention.

According to some examples, system <NUM> may include a slicing module <NUM>, a material consumption calculation module <NUM>, a printing time calculation module <NUM> and a storage module <NUM>. Slicing module <NUM>, material consumption calculation module <NUM>, printing time calculation module <NUM> and storage module <NUM> may be in communication with each other (e.g., as shown in <FIG>).

According to some examples, slicing module <NUM> may be configured to receive a 3D model <NUM> of a tray arrangement including one or more 3D objects or an assembly of 3D object(s) parts to be printed using a 3D printing system. The 3D model may be provided as one or more files in, for example, a STL, VRML, OBJ or 3MF format. The 3D printing system may be similar to, for example, 3D printing system <NUM> described above with respect to <FIG>.

Slicing module <NUM> may be configured to generate, based on the 3D model, a 3D digital dataset including a plurality of data elements. The 3D digital dataset may include a set of slices (e.g., horizontal slices) each including a portion of the plurality of data elements, e.g., pixels or voxels. The data elements of the 3D digital dataset may describe material positioning in the three-dimensional space as well as a geometry of the tray arrangement to be printed, including the geometry of the 3D object(s), 3D object(s) parts and/or one or more support structures.

In some examples, at least some of the data elements of the 3D digital dataset may be associated with at least one digital intensity value. For example, each of the at least some data elements may be associated with a single digital intensity value for monochrome 3D object(s). In another example, each of the at least some data elements may be associated with three or more digital intensity values for color and/or patterned 3D object(s).

The 3D digital dataset may be used to calculate a printing time duration and/or an amount (e.g., weight, volume, etc.) of consumption for one or more materials required for printing the tray arrangement of 3D object(s) using the 3D printing system.

Typically, 3D printing systems are capable of printing 3D object(s) at one or more printing resolutions. For example, printing resolutions may be <NUM> x <NUM> x <NUM> or <NUM> x <NUM> x <NUM>. Using one of the printing resolutions to generate a 3D digital dataset representing the tray arrangement of 3D object(s) to be printed may, for example, result in a dataset having a size of between <NUM>-<NUM> TB. Performing calculations (e.g., calculating printing time duration and/or an amount of material(s) consumption required for printing the tray arrangement) on such 3D digital dataset generated using one of the printing resolutions may require significant computational resources and may be time consuming.

It has been found by the inventors that generating a 3D digital dataset with slicing module <NUM> using a slicing resolution of the 3D digital dataset (e.g., defined by a size and number of the data elements in the 3D digital dataset) which is lower than the printing resolution of the 3D printing system may be advantageous as it enables obtaining a faster calculation of the printing time duration and/or the amount of material(s) consumption with an accuracy of at least about <NUM>%. For example, for a printing resolution of <NUM> x <NUM> x <NUM>, the slicing resolution of the 3D digital dataset may be selected between <NUM> x <NUM> x <NUM> and <NUM> x <NUM> x <NUM>, for example <NUM> x <NUM> x <NUM>. Accordingly, the file data size of a 3D digital dataset generated at the above slicing resolution may be about <NUM> to about <NUM>,<NUM> folds smaller, for example about <NUM>,<NUM> folds smaller, as compared to a 3D digital dataset generated at the printing resolution. For example, the file data size of the 3D digital dataset generated at the above slicing resolution may range between <NUM>-<NUM> GB while the same file would range between <NUM>-<NUM> TB if generated at the printing resolution.

In various examples, the slicing resolution used for generating the 3D digital dataset with slicing module <NUM> may be selected based on a number and/or a complexity of the 3D object(s) to be printed (e.g., geometric shape, size, number of materials used), a minimum calculation accuracy (e.g., at least <NUM>%, <NUM>%, or <NUM>%) and/or a time required to perform said calculations (e.g., less than <NUM>, <NUM> or <NUM> mins). For instance, a tray arrangement comprising a large number of 3D objects to be printed would require a longer calculation time for determining the printing time duration and/or material consumption, and in such a case, it may be advantageous to reduce the minimum calculation accuracy so as to reduce the calculation time. On the other hand, if a tray arrangement comprises 3D objects having relatively simple geometric shapes (e.g. based on cubes, spheres) or are composed of a low number of materials (e.g. one modeling material and one support material), the minimum calculation accuracy may be increased as the calculation time would not be substantially affected.

For example, it was found that calculating a printing time duration and/or an amount of material(s) consumption of a tray arrangement including a 3D object having a dimension of about <NUM> x <NUM> x <NUM> (including support structures) would take about <NUM> with close to <NUM>% accuracy if generating a 3D digital dataset via slicing module <NUM> with a resolution similar to the printing resolution (e.g., <NUM> x <NUM> x <NUM>), while said calculation takes less than <NUM> mins with at least <NUM>% accuracy if generating a 3D digital dataset with a slicing resolution of <NUM> x <NUM> x <NUM>.

In some examples, slicing module <NUM> may be configured to receive a user input <NUM> and to predetermine the slicing resolution for generating the 3D digital dataset (e.g., prior to actual generation thereof) based on user input <NUM>. For example, user input <NUM> may include a user-defined minimal calculation accuracy for the printing time and/or for the amount of material(s) consumption and a user-defined maximal time for performing the calculations thereof as defined by a user/costumer. Yet in this example, slicing module <NUM> may be configured to determine the slicing resolution for generating the 3D digital dataset based on the user-defined minimal calculation accuracy and the user-defined maximal time for performing the calculations thereof.

In some other embodiments, slicing module <NUM> may be configured to preset the slicing resolution for generating the 3D digital dataset (e.g., prior to actual generation thereof) to a predetermined/default slicing resolution value. The predetermined slicing resolution value may be, for example, <NUM> x <NUM> x <NUM>.

In some examples, slicing module <NUM> may be configured to deliver the slices of the 3D digital dataset to storage module <NUM> that may be configured to store the slices thereof.

In some embodiments, slicing module <NUM> may be configured to receive a 3D digital dataset including a set of slices (e.g., BMP, PNG files) and having one of the printing resolutions of the 3D printing system. In these embodiments, slicing of the 3D digital dataset is not required and slicing module <NUM> may be configured to merely decrease the resolution of the received 3D digital dataset to generate a 3D digital dataset at a default (or user based) slicing resolution which is lower than the printing resolution (e.g., as described above with respect to <FIG>).

According to some examples, system <NUM> includes a material consumption calculation module <NUM>. Material consumption calculation module <NUM> may be configured to calculate an amount of material consumption of one or more materials required for printing the tray arrangement of 3D object(s), based on the 3D digital dataset.

In some examples, material consumption calculation module <NUM> may be configured to associate each of at least some data elements of each of the slices of the 3D digital dataset with one or more materials to be deposited to form the respective data element. The one or more materials may be, for example, one or more building materials and/or a supporting material. The association may be at least partly based on the digital intensity value(s) associated with each of the at least some data elements of the 3D digital dataset.

In some examples, material consumption calculation module <NUM> may be configured to count, for each of the slices of the 3D digital dataset and for each of the material(s), the number of data elements associated with the respective material in the respective slice. The values of the counted number of data elements associated with each of the material(s) in each of the slices may be stored in storage module <NUM>.

In some embodiments, material consumption calculation module <NUM> may be configured to calculate, for each of the material(s), a total number of data elements associated with the respective material in the entire 3D digital dataset, based on the counted numbers of data elements associated with the respective material in all of the slices of the 3D digital dataset.

In some examples, material consumption calculation module <NUM> may be configured to calculate, for each of the material(s), a total number of data elements to be associated/deposited with the respective material when printing the tray arrangement of 3D object(s) on a 3D printing system at a predetermined printing resolution, based on the respective total number of data elements associated with the respective material (e.g., calculated based on the 3D digital dataset with a slicing resolution that is lower than the printing resolution) and based on a predetermined resolution factor.

The predetermined resolution factor may be, for example, a ratio of the slicing resolution of the 3D digital dataset over the printing resolution of the 3D printing system. In this example, the calculated total number of data elements to be associated/deposited with each of the material(s) when printing the tray arrangement of 3D object(s) at the printing resolution may be calculated by multiplying the total number of data elements associated with the respective material (e.g., calculated based on the 3D digital dataset at a slicing resolution that is lower than the printing resolution) by the resolution factor. For instance, if considering a printing resolution of <NUM> x <NUM> x <NUM> (µm) and a slicing resolution of the 3D digital dataset of <NUM> x <NUM> x <NUM> (µm), the predetermined resolution factor is about <NUM>. In other words, each data element of the 3D digital dataset generated at the above slicing resolution represents about <NUM> data elements of a 3D digital dataset that would have been generated at a printing resolution. Typically, a resolution factor may be comprised between <NUM> and <NUM>,<NUM>, <NUM> and <NUM>,<NUM>, <NUM> and <NUM>,<NUM> or <NUM> and <NUM>,<NUM>. The resolution factor would typically depend on the calculation accuracy and/or calculation time chosen by the user or set as a default parameter (e.g. in slicing module <NUM>).

In some examples, material consumption module <NUM> may be configured to calculate the consumption amount of each of the material(s) required for printing the entire tray arrangement of 3D object(s) based on the calculated total number of data elements to be associated/deposited with the respective material and based on specified parameters of the material thereof (e.g. density, drop size, drop weight, viscosity, surface tension).

According to some examples, system <NUM> includes a printing time calculation module <NUM>. Printing time calculation module <NUM> may be configured to calculate a printing time required for printing the tray arrangement of 3D object(s) based on the 3D digital dataset and based on at least one set of printing parameters of the 3D printing system.

In some examples, printing time calculation module <NUM> may be configured to calculate a printing time, for each slice of the 3D digital dataset, based on the data elements of the respective slice and a first set <NUM> of printing parameters. The values of calculated printing time required for printing each of the slices of the 3D digital dataset may be stored in storage module <NUM>.

First set <NUM> of printing parameters may, for example, include (i) the number of print heads available in the 3D printing system, (ii) the localization of each print head in the printing unit/printing system, (iii) the geometry of each print head (e.g., width, number of nozzles, number of channels and relative offset), (iv) the speed/acceleration of the printing unit, (v) the relative movement of single print heads, (vi) the number of printing passes (e.g. considering the width of the printing unit), (vii) the number of travels to be effected by the printing unit in each printing pass, (viii) the starting/ending position of the printing unit before and/or after each travel, (ix) curing time(s) of the material(s), (x) any other parameter that has a direct or indirect impact on the printing time, (xi) and any combination thereof. In various embodiments, first set <NUM> may include at least one of the printing parameters thereof or all the printing parameters thereof. It is noted that the more printing parameters of first set <NUM> that are taken into account when calculating the printing time, the more accurate the calculation will be.

In some examples, printing time calculation module <NUM> is configured to calculate the printing time required to print the entire tray arrangement including one or more 3D object(s) based on the calculated times required for printing all of the slices of the 3D digital dataset.

In some examples, material consumption calculation module <NUM> is configured to calculate the amount of material(s) consumption required to print a tray arrangement of 3D object(s), based on the 3D digital dataset and on a second set <NUM> of printing parameters. Second set <NUM> of printing parameters may include, for instance, (i) a scattering policy (e.g., adding material to compensate for missing nozzles), (ii) an interlacing policy (e.g., movement of the printing unit to increase the printing resolution), (iii) purging/cleaning policy (e.g., number of purging events and amount of purged material aiming at increasing print heads lifetime), (iv) a spitting policy (e.g., occasional spitting of material out of the print head during printing to prevent nozzle obstruction), (v) a printing mode/quality of the 3D printing system (e.g., related to material drop weight, layer thickness, jetting speed, printing resolution), (vi) printing of a reference model (e.g., reference wall or tower), (vii) any other parameter that has a direct or indirect impact material consumption, (viii) or any combination thereof. Each policy abovementioned defines the existence or absence of one or more events associated with the specific parameter to which they are associated, as well as the time and/or material used during such an event. For instance, the purging/cleaning policy defines a number of slices to be printed after which the printing unit/printing heads follows a purging/cleaning procedure. For instance, the purging/cleaning policy may define that after each set of <NUM> printed slices, the printing unit should be cleaned in a service station of the 3D printing system (not shown), thereby using <NUM> of material per print head channel and spending about <NUM> seconds before the printing process is resumed. Similar reasoning may be applied to the other policies mentioned above. In various embodiments, second set <NUM> may include at least one of the printing parameters thereof or all the printing parameters thereof. It is noted that the more printing parameters of second set <NUM> that are taken into account when calculating the amount of material(s) consumption, the more accurate the calculation will be.

It should be noted that in some examples, some or all of parameters belonging to first set <NUM> of printing parameters which is principally used by printing time calculation module <NUM> may be taken into account by material consumption calculation module <NUM> to refine the calculation of the amount of material(s) consumption. Similarly, some or all of parameters belonging to second set <NUM> of printing parameters which is principally used by material consumption calculation module <NUM> may be taken into account by printing time calculation module <NUM> to refine the calculation of the printing time.

For example, 3D printing systems typically require multiple purging/cleaning cycles of the print heads during the 3D printing. Purging/cleaning cycles may include jetting the material(s) out of the print heads at a dedicated service station and typically may take some time to complete.

In this example, material consumption calculation module <NUM> may be configured to calculate, based on the digital dataset, a number of purging/cleaning cycles required during the printing of the tray arrangement of 3D object(s) in order to assess an amount of material(s) to be ejected from the print heads during the purging/cleaning cycles. This amount of material(s) may be used to calculate or refine the amount of material(s) required for printing the tray arrangement.

Yet, in this example, printing time calculation module <NUM> may be configured to determine, based on the entire digital dataset, a number of purging/cleaning cycles required during the printing of the tray arrangement of 3D object(s), calculate the time required to complete the determine number of purging/cleaning cycles thereof, and refine the calculation of the printing time required for printing the tray arrangement.

According to some examples, the calculation of the consumption amount of each of the material(s) based on a 3D digital dataset generated at a slicing resolution that is lower than the printing resolution may have an accuracy of at least <NUM>%, at least <NUM>%, at least <NUM>% or at least <NUM>% of the accuracy that would have been obtained with a 3D digital dataset generated at a printing resolution.

According to some examples, the calculation of the printing time based on a 3D digital dataset generated at a slicing resolution that is lower than the printing resolution may have an accuracy of at least <NUM>%, at least <NUM>%, at least <NUM>% or at least <NUM>% of the accuracy that would have been obtained with a 3D digital dataset generated at a printing resolution.

According to some examples, system <NUM> may include a displaying/reporting module <NUM> (e.g., as shown in <FIG>). Displaying/reporting module <NUM> may be in communication with material consumption calculation module <NUM> and/or printing time calculation module <NUM>. Displaying/reporting module <NUM> may be configured to display/report the calculated amount of material(s) consumption and/or to display/report the calculated printing time required to print the entire tray arrangement of 3D object(s), respectively, to a user. In some embodiments, displaying/reporting module <NUM> is configured to display (i) a calculated amount of material(s) consumption on a material basis (e.g., each of the used materials), (ii) a calculated amount of material(s) consumption on a material category basis (e.g., modeling material, support material), (iii) a calculated amount of material(s) consumption for all materials (e.g., total consumption), (iv) or any combination thereof. In some embodiments, displaying/reporting module <NUM> is configured to display a calculated amount of material consumption and/or a printing time before printing and/or during the printing operation. In the latter case, the calculations of the remaining material consumption and/or printing time may be readjusted by taking into consideration the actual material consumption and/or time already spent.

According to various examples, system <NUM> may be configured to calculate the amount of material(s) consumption only (e.g., using material consumption calculation module <NUM>), to calculate the printing time only (e.g., using printing time calculation module <NUM>) and/or to calculate both the amount of material(s) consumption and the printing time required to print the entire tray arrangement of 3D object(s).

According to various examples, each of slicing module <NUM>, material consumption calculation module <NUM>, printing time calculation module <NUM>, storage module <NUM> and/or displaying/reporting module <NUM> may be implemented on its own computing device, a single (e.g., shared) computing device, or a combination of computing devices. In various embodiments, the communication between slicing module <NUM>, material consumption calculation module <NUM>, printing time calculation module <NUM>, storage module <NUM> and/or displaying/reporting module <NUM> may be wired or wireless.

Reference is now made to <FIG>, which is a flowchart of a method <NUM> of calculating a printing time duration and/or an amount of material consumption for one or more materials required for printing a tray arrangement including one or more 3D objects using a 3D printing system, according to some embodiments of the invention.

Method <NUM> may be implemented by system <NUM>, which may be configured to implement method <NUM>. It is noted that method <NUM> is not limited to the flowcharts illustrated in <FIG> and to the corresponding description. For example, in various embodiments, method <NUM> need not move through each illustrated box or stage, or in exactly the same order as illustrated and described.

According to some examples, method <NUM> includes receiving a 3D model of a tray arrangement including one or more 3D objects to be printed using a 3D printing system (stage <NUM>).

In some embodiments, method <NUM> may include generating, based on the 3D model, a 3D digital dataset including a plurality of data elements arranged in a set of horizontal slices, wherein a slicing resolution of the 3D digital dataset is lower as compared to a printing resolution of the 3D printing system (stage <NUM>).

For example, the generation of the 3D digital dataset may be performed by slicing module <NUM> of system <NUM> and the 3D digital dataset may be similar to the 3D digital dataset as described above with respect to <FIG>.

In some embodiments, method <NUM> may include predetermining the slicing resolution of the 3D digital dataset (e.g., prior to the generation thereof) based on at least one of: a minimum calculation accuracy for the printing time duration and/or the amount of material consumption, a time required to perform the calculations of the printing time duration and/or the amount of material consumption, a number of 3D objects to be printed and/or a complexity of the 3D objects to be printed (stage <NUM>) (e.g., as described above with respect to <FIG>).

In some embodiments, method <NUM> may include presetting the slicing resolution of the 3D digital dataset (e.g., prior to the generation thereof) to a predetermined slicing resolution value (stage <NUM>) (e.g., as described above with respect to <FIG>). The predetermined slicing resolution value may be, for example, <NUM> x <NUM> x <NUM>.

According to some examples, method <NUM> includes calculating an amount of material consumption of one or more materials required for printing the tray arrangement of 3D object(s), based on the 3D digital dataset (stage <NUM><NUM><NUM>).

For example, the calculation of the amount of material(s) consumption is performed by material consumption calculation module <NUM> of system <NUM> as described above with respect to <FIG>.

In some embodiments, method <NUM> may include associating each of at least some data elements of each of the slices of the 3D digital dataset with one or more materials to be deposited to form the respective data element (stage <NUM>) (e.g., as described above with respect to <FIG>).

In some embodiments, method <NUM> may include counting, for each of the slices of the 3D digital dataset and for each of the material(s), a number of data elements associated with a respective material in the respective slice (stage <NUM>) (e.g., as described above with respect to <FIG>).

In some embodiments, method <NUM> may include calculating, for each of the material(s), a total number of data elements associated with the respective material in the entire 3D digital dataset based on the respective numbers of data elements associated with the respective material in all of the slices of the 3D digital dataset (stage <NUM>) (e.g., as described above with respect to <FIG>).

In some embodiments, method <NUM> may include calculating, for each of the material(s), a total calculated number of data elements to be associated/deposited with the respective material when printing the tray arrangement of 3D object(s) using the 3D printing system at the printing resolution, based on the respective total number of data elements associated with the respective material (e.g., calculated based on the 3D digital dataset having a slicing resolution that is lower than the printing resolution) and based on a predetermined resolution factor (stage <NUM>) (e.g., as described above with respect to <FIG>). The predetermined resolution factor may be, for example, a ratio of the slicing resolution of the 3D digital dataset over the printing resolution of the 3D printing system.

In some examples, method <NUM> includes include calculating the consumption amount of each of the material(s) required for printing the entire tray arrangement of 3D object(s) based on the calculated total number of data elements to be associated/deposited with the respective material when printing the tray arrangement of 3D object(s) at the printing resolution and based on specified parameters of the material thereof (stage <NUM>) (e.g., as described above with respect to <FIG>).

According to some examples, method <NUM> includes calculating a printing time required for printing the tray arrangement of 3D object(s) based on the 3D digital dataset having the slicing resolution and based on at least one set of printing parameters (stage <NUM>).

For example, the calculation of printing time required for printing the tray arrangement of 3D object(s) may be performed by printing time calculation module <NUM> of system <NUM> as described above with respect to <FIG>.

In some examples, method <NUM> includes calculating, for each slice of the 3D digital dataset, a printing time required for printing the respective slice based on the data elements of the respective slice and a first set of printing parameters (stage <NUM>) (e.g., as described above with respect to <FIG>).

The first set of printing parameters may be similar to first set <NUM> of printing parameters described above with respect to <FIG>. For example, first set of printing parameters may include a number of print heads in the 3D printing system, a position of print heads in the printing unit, a geometry of the print heads (e.g., width, number of nozzles, number of channels and relative offset), a speed or acceleration of the printing unit, a number of passes per width of the printing unit, a number of travels of the printing unit per pass, curing time(s) of the material(s) to be deposited, etc..

In some examples, method <NUM> includes calculating the printing time required to print the entire tray arrangement including one or 3D object(s) based on the calculated times required for printing all of the slices of the 3D digital dataset (stage <NUM>) (e.g., as described above with respect to <FIG>).

According to various examples, method <NUM> includes at least one of calculating and updating at least one of the amount of material(s) consumption and the printing time required to print the entire tray arrangement of 3D object(s) based on the entire 3D digital dataset and based on a second set of printing parameters (stage <NUM>) (e.g., as described above with respect to <FIG>).

The second set of printing parameters may be similar to second set <NUM> of printing parameters described above with respect to <FIG>. For example, the second set of printing parameters may include scattering policy, purging/cleaning policy, predetermined printing mode/quality of the 3D printing system, etc..

According to various examples, method <NUM> includes displaying or reporting the calculated amount of material(s) consumption and/or displaying or reporting the calculated printing time required to print the entire tray arrangement of 3D object to a user (stage <NUM>) (e.g., by displaying/reporting module <NUM> of system <NUM> as described above with respect to <FIG>).

In some examples, method <NUM> includes displaying or reporting before printing of the tray arrangement (stage <NUM>).

In some examples, method <NUM> includes displaying or reporting during the printing of the tray arrangement and wherein calculating the amount of material consumption of one or more printing materials and/or calculating the printing time is further based on an amount of one or more materials consumed and/or a printing time spent from the start of the printing up to the displaying or reporting time (stage <NUM>).

These computer program instructions can also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or portion diagram portion or portions thereof. The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or portion diagram portion or portions thereof.

Claim 1:
A computer-implemented method of calculating a printing time duration and/or an amount of material consumption for one or more materials required for printing a tray arrangement comprising one or more 3D objects using a 3D printing system, the method comprising:
receiving a 3D model of a tray arrangement including one or more 3D objects to be printed using a 3D printing system;
generating, based on the 3D model, a 3D digital dataset comprising a plurality of data elements arranged in a set of horizontal slices, wherein a slicing resolution of the 3D digital dataset is lower than a printing resolution of the 3D printing system; and at least one of:
(i) calculating an amount of material consumption of one or more printing materials required for printing the tray arrangement, based on the 3D digital dataset;
(ii) calculating a printing time required for printing the tray arrangement based on the 3D digital dataset and at least one set of printing parameters; and
displaying or reporting at least one of: the calculated amount of material consumption of one or more materials and the calculated printing time required for printing the tray arrangement, wherein the displaying or reporting is performed during the printing of the tray arrangement at the printing resolution and wherein calculating the amount of material consumption of one or more printing materials and/or calculating the printing time is further based on an amount of one or more materials consumed and/or a printing time spent from the start of the printing up to the displaying or reporting time.