This application claims the priority benefit of Taiwan application serial no. 106100345, filed on Jan. 5, 2017. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.
The invention relates to a file management mechanism, and in particular, an image file transform method and a three-dimensional (3D) printing system.
Generally speaking, to complete a printing task of a 3D object by a 3D printing apparatus (e.g., a 3D printer), a model of the 3D object is sliced into a plurality of printing layers, and each of the printing layers, corresponds to at least one image file (also referred to as a slicing image file). Each image file is used to describe a movement region of a print head of the 3D printing apparatus corresponding to a printing layer and/or color configuration of the printing layer. For example, in a CMYK color model, one printing layer corresponds to a cyan (C) image file, a magenta (M) image file, a yellow (Y) image file, and a key (or block; K) image file. Accordingly, the 3D printing apparatus can complete the 3D printing task of each printing layer one after another according to the image files.
However, in the current mechanism, the size of the image file corresponding to each printing layer is fixed. Therefore, in order to complete more printing tasks, the number of the image files required by the 3D printing apparatus will constantly increase, which is likely to use up the storage capacity for storing the image files.
In light of the above, the invention provides an image file transform method and a 3D printing system for enhancing storage efficiency of image files for 3D printing.
An embodiment of the invention provides an image file transform method adapted for a 3D printing system including a 3D printing apparatus and a storage device. The storage device stores a plurality of slicing image files. The plurality of slicing image files are obtained by performing a slicing operation on a 3D model of a 3D object. The image file transform method includes: analyzing a first slicing image file among the plurality of slicing image files to obtain a valid region in the first slicing image file, wherein the first slicing image file has a first size; performing an image file transform operation on the first slicing image file according to the valid region to generate a second slicing image file having a second size, wherein the second slicing image file includes the valid region, and the second size is smaller than the first size; and setting an index for the second slicing image file according to the image file transform operation, wherein the second slicing image file is used for the 3D printing apparatus to perform a 3D printing operation corresponding to a first printing layer of the 3D object, and the index is used for the 3D printing apparatus to set a printing start point corresponding to the second slicing image file.
In an embodiment of the invention, the image file transform method further includes: moving a print head to the printing start point by the 3D printing apparatus according to the index; and performing the 3D printing operation corresponding to the first printing layer by the 3D printing apparatus from the printing start point according to the second slicing image file.
Another embodiment of the invention provides a 3D printing system including a storage device, a 3D printing apparatus, and a processor. The storage device is configured to store a plurality of slicing image files and a plurality of modules. The plurality of slicing image files are obtained by performing a slicing operation on a 3D model of a 3D object. The 3D printing apparatus is coupled to the storage device. The processor is coupled to the storage device and is configured to execute the plurality of modules to: analyze a first slicing image file among the plurality of slicing image files to obtain a valid region in the first slicing image file, wherein the first slicing image file has a first size; perform an image file transform operation on the first slicing image file according to the valid region to generate a second slicing image file having a second size, wherein the second slicing image file includes the valid region, and the second size is smaller than the first size; and set an index for the second slicing image file according to the image file transform operation, wherein the second slicing image file is used for the 3D printing apparatus to perform a 3D printing operation corresponding to the first printing layer of the 3D object, and the index is used for the 3D printing apparatus to set a printing start point corresponding to the second slicing image file.
In an embodiment of the invention, the image file transform operation includes: determining a cutting boundary of the first slicing image file according to at least one end point of the valid region; and generating the second slicing image file according to the cutting boundary, wherein the second slicing image file does not include at least a partial region of an invalid region in the first slicing image file.
In an embodiment of the invention, the cutting boundary divides the first slicing image file into a retained region and a cut region, wherein the valid region is located in the retained region, and the step of generating the second slicing image file according to the cutting boundary includes: retaining file content corresponding to the retained region in the first slicing image file and removing file content corresponding to the cut region from the first slicing image file.
In an embodiment of the invention, the retained region is a rectangular region.
In an embodiment of the invention, the second size is positively correlated with a ratio of an area of the valid region occupied in the first slicing image file.
In an embodiment of the invention, the first slicing image file and the second slicing image file both correspond to the first printing layer of the 3D object, and a contour of the valid region corresponds to a contour of the 3D object at the first printing layer.
In an embodiment of the invention, the 3D printing apparatus includes a controller and a print head, and the controller is coupled to the print head. The controller is configured to control the print head to move to the printing start point according to the index and perform the 3D printing operation corresponding to the first printing layer from the printing start point according to the second slicing image file.
In an embodiment of the invention, the 3D printing operation corresponding to the first printing layer includes controlling the print head to move according to the valid region.
In an embodiment of the invention, the step of moving the print head to the printing start point according to the index includes: determining an alternative reference point corresponding to the second slicing image file according to the index; and calculating a moving path for moving the print head to the printing start point according to the alternative reference point.
In an embodiment of the invention, a file size of the second slicing image file is smaller than a file size of the first slicing image file.
In light of the above, the invention analyzes the first slicing image file to detect the valid region in the first slicing image file, and performs the image file transform operation on the first slicing image file according to the valid region to generate the second slicing image file having a smaller size, wherein the second slicing image file also includes the valid region. Moreover, the invention further sets the index for the second slicing image file according to the image file transform operation, wherein the index is used for the 3D printing apparatus to set the printing start point corresponding to the second slicing image file. Accordingly, without affecting the 3D printing operations performed by the 3D printing apparatus, the invention enhances storage efficiency of the image files for 3D printing.
To provide a further understanding of the aforementioned and other features and advantages of the invention, exemplary embodiments, together with the reference drawings, are described in detail below.
The image file transform apparatus 11 includes a storage device 111 and a processor 112. The storage device 111 is configured to store data and may be a buffer memory, internal storage media, external storage media, a storage device of another type, or a combination of the foregoing devices. For example, the buffer memory may include a random access memory, a read-only memory, or another similar device. For example, the internal storage media may include a hard disk drive (HDD), a solid state disk (SSD), a flash storage device, or another similar device. For example, the external storage media may include an external hard drive, a USB drive, a cloud drive, or another similar device.
The processor 112 is coupled to the storage device 111 and is configured to access the storage device 111. The processor 112 controls operation of components in the image file transform apparatus 11. The processor 112 is a central processing unit (CPU) or a programmable microprocessor for general or specific purposes, a digital signal processor (DSP), a programmable controller, an application specific integrated circuit (ASIC), a programmable logic device (PLD), another similar processing device, or a combination of the foregoing devices. In an embodiment, the processor 112 sends specific commands to instruct the 3D printing apparatus 12 (or the entire 3D printing system 10) to perform the 3D printing operations.
The 3D printing apparatus 12 includes a platform 121, a printing module 122, and a controller 123. The platform 121 and the printing module 122 are both coupled to the controller 123. The printing module 122 includes a print head 122a and is disposed above the platform 121 to perform the 3D printing operations. It shall be noted that people ordinarily skilled in the art shall understand that the printing module 122 may further include other components (e.g., a supply pipeline, a print head linking mechanism, etc.) that work with the print head 122a to complete the 3D printing operations, which is not described in detail here. Specifically, when the 3D printing operations are performed, the print head 122a starts printing layer by layer from a bottom-most layer of a 3D object 21 and gradually forms the 3D object 21 on a bearing surface of the platform 121. Moreover, in the 3D printing operations, the print head 122a moves in changeable directions above the platform 121 and feeds a forming material in a molten state. Afterwards, the forming material is solidified layer by layer on the platform 121 and then forms the 3D object 21. In an embodiment, the print head 122a also feeds a dye (or ink).
The controller 123 is configured to control the print head 122a to move and feed the forming material. For example, the controller 130 is a CPU or a programmable microprocessor for general or specific purposes, a digital signal processor, a programmable controller, an application specific integrated circuit, a programmable logic device, another similar processing device, or a combination of the foregoing devices.
In the present embodiment, the storage device 111 stores a plurality of image files (also referred to as slicing image files). The plurality of image files are obtained by performing a slicing operation on a 3D model of the 3D object 21. The controller 123 performs the 3D printing operations corresponding to the 3D model according to the image files stored in the storage device 111. In the present embodiment, the image files conform to a CMYK color model. For example, one image file stored in the storage device 111 may be a cyan (C) image file, a magenta (M) image file, a yellow (Y) image file, and a key (or block; K) image file. Moreover, in another embodiment, the image files stored in the storage device 111 may conform to other color models such as an RGB color model. Taking printing a printing layer 201 and a printing layer 202 of the 3D object 21 as an example, the controller 130 controls the print head 122a to perform the 3D printing operation corresponding to the printing layer 201 according to at least one image file corresponding to the printing layer 201 in the storage device 111. After the 3D printing operation corresponding to the printing layer 201 is completed, the controller 130 controls the print head 122a to perform the 3D printing operations corresponding to the printing layer 202 and other printing layers according to other image files in the storage device 111. In addition, in another embodiment, the image files may also be slicing image files that conform to other 3D printing standards.
In the present embodiment, the processor 112 selects one image file (also referred to as a first slicing image file) from the storage device 111, and the first slicing image file has a size (also referred to as a first size). The processor 112 analyzes the first slicing image file to obtain a valid region in the first slicing image file. The processor 112 performs an image file transform operation on the first slicing image file according to the valid region to generate another image file (also referred to as a second slicing image file) having another size (also referred to as a second size). Specifically, the second slicing image file also includes the valid region, and the second size is smaller than the first size.
It shall be noted that the size mentioned above refers to the size of the image file itself. For example, the size may be represented by a length of the image file multiplied by a width (e.g., 1024×2048). Moreover, the size of the image file is positively correlated with a file size of the image file and/or a number of pixels contained in the image file. In other words, in an embodiment, a file size of the second slicing image file is smaller than a file size of the first slicing image file, and/or a number of pixels contained in the second slicing image file is smaller than a number of pixels contained in the first slicing image file. In an embodiment, the processor 112 stores the second slicing image file back to the storage device 111 to replace the first slicing image file in the storage device 111. In other words, after the second slicing image file is generated, the first slicing image file may be deleted. In addition, in an embodiment, the processor 112 stores the second slicing image file to another storage location in the storage device 111.
In the present embodiment, the image file 31 includes a valid region 301 (marked in slant lines) and an invalid region 302 (marked as dotted). A contour of the valid region 301 corresponds to a contour of the 3D object 21 at the printing layer 201. More specifically, the valid region 301 is used to indicate a region where the print head 122a needs to feed the forming material and/or a region where a dye needs to be feed to color the forming material when the 3D printing operation corresponding to the printing layer 201 is performed. For example, in the present embodiment, the valid region 301 is in a shape of a hollow circle, which means that in the 3D printing operation corresponding to the printing layer 201, a region where the print head 122a feeds the forming material and/or the dye is also in a shape of a hollow circle.
Referring to
Taking
It shall be noted that in the embodiment of
Referring to
It shall be noted that in the embodiment of
Referring to
Referring to
In an embodiment, the size (i.e., the second size) of the second slicing image file is positively correlated with a ratio of an area of the valid region in the first slicing image file occupied in the first slicing image file. The higher the ratio of the area of the valid region in the first slicing image file occupied in the first slicing image file is, the greater the size of the generated second slicing image file is. For example, in the foregoing embodiment, since a ratio of an area of the valid region 301 occupied in the image file 31 is higher than a ratio of an area of the valid region 401 occupied in the image file 41, the size of the image file 32 is greater than the size of the image file 42. From another perspective, the size of the second slicing image file is also positively correlated with an area of the retained region in the first slicing image file. For example, in the foregoing embodiment, since an area of the retained region 331 is greater than an area of the retained region 431, the size of the image file 32 is greater than the size of the image file 42. It shall be noted that the size of the image file 32 being greater than the size of the image file 42 may mean that a long edge length H2 of the image file 32 is greater than a long edge length H3 of the image file 42, a short edge length W2 of the image file 32 is greater than a short edge length W3 of the image file 42, and/or a diagonal length of the image file 32 is greater than a diagonal length of the image file 42, etc. 100451 In the present embodiment, the processor 112 further sets an index for the second slicing image file according to the performed image file transform operation, wherein the index is used for the 3D printing apparatus 12 to set a printing start point corresponding to the second slicing image file. For example, the index is recorded in an index table in the storage device 111. When the 3D printing apparatus 12 performs the 3D printing operation corresponding to a printing layer (also referred to as a first printing layer) according to the second slicing image file, the controller 123 reads the index corresponding to the second slicing image file from the index table and moves the print head 122a to the corresponding printing start point according to the index. Next, the 3D printing apparatus 12 performs the 3D printing operation corresponding to the first printing layer from the printing start point according to the second slicing image file. Accordingly, even if the size of an image file is different from the predetermined size, the 3D printing apparatus 12 can still successfully perform the corresponding 3D printing operation.
It shall be noted that in another embodiment of
5C, the predetermined reference point A of the 3D printing apparatus 12, and the printing start points A′, B′, and C′ may all be set at other positions above the platform 151, as long as they can serve as reference for the 3D printing apparatus 12 to perform the 3D printing operation.
However, the steps in
In summary of the above, after selecting an image file, the image file transform apparatus of the invention detects the valid region in the image file and performs the image file transform operation on the first slicing image file according to the valid region to generate a new image file having a smaller size, thereby reducing the file size of the image file. Moreover, the image file transform apparatus further sets an index for the new image file according to the image file transform operation, wherein the index is used for the 3D printing apparatus to set the printing start point corresponding to the new image file. Accordingly, without affecting the printing operations performed by the 3D printing apparatus, the invention enhances storage efficiency of the image files for 3D printing through reducing the size of at least part of the image files. For example, after the size of at least part of the image files is reduced, more image files can be stored in the limited storage capacity in the invention. Moreover, since the size of at least part of the image files is reduced, reading and transmission of the image files may become faster when the 3D printing apparatus performs the 3D printing operation.
Although the invention is disclosed as the embodiments above, the embodiments are not meant to limit the invention. Any person skilled in the art may make slight modifications and variations without departing from the spirit and scope of the invention. Therefore, the protection scope of the invention shall be defined by the claims attached below.
Number | Date | Country | Kind |
---|---|---|---|
106100345 | Jan 2017 | TW | national |