Three-dimensional printing method, apparatus, device, and storage medium
By changing the starting position and orientation of the slice layer image and combining it with image processing technology, the surface texture problem caused by improper processing of slice layer images in 3D printing was solved, thus improving the surface accuracy of 3D objects.
Patent Information
- Application Number
- CN202310893604.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-19
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2043-07-19
AI Technical Summary
In existing 3D printing technologies, unreasonable image processing methods for slice layers can lead to printing lines on the surface of 3D objects, reducing surface accuracy.
By changing the starting position and orientation of at least one of the first slice images in multiple slice layer images during image processing, and performing rotation processing using slice rotation parameters, combined with image edge processing, color conversion, and halftone processing, the interference and superposition results between slice layer images are reduced, and the original starting position and orientation are restored to generate accurate printing data.
It improves the printing texture problem on the surface of 3D objects and enhances the surface accuracy of 3D objects.
Smart Images

Figure CN116766597B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of three-dimensional printing, and in particular to a three-dimensional printing method, device, equipment and storage medium. BACKGROUND
[0002] The main process of the three-dimensional printing method is to obtain a digital model of a three-dimensional object, slice the digital model, and perform data processing and conversion on each slice layer to obtain printing data of each slice layer. A printing device prints layer by layer according to the printing data of the slice layer to manufacture the three-dimensional object.
[0003] However, when the data processing and conversion of the slice layer is unreasonable, the printed three-dimensional object may have printing lines on the surface, and the surface precision of the three-dimensional object is poor. SUMMARY
[0004] The present application provides a three-dimensional printing method, device, equipment and storage medium to improve the printing line problem of the surface of the three-dimensional object, thereby improving the surface precision of the three-dimensional object.
[0005] In a first aspect, the present application provides a three-dimensional printing method, comprising:
[0006] obtaining a three-dimensional model of an object to be printed;
[0007] slicing the three-dimensional model to obtain a plurality of slice layer images;
[0008] changing a starting position and a direction of at least one first slice layer image in the plurality of slice layer images during image processing to obtain a first transition image corresponding to the first slice layer image;
[0009] performing image processing on the first transition image to obtain a second transition image corresponding to the first slice layer image;
[0010] restoring the second transition image to the starting position and the direction before the change to obtain printing data corresponding to the first slice layer image;
[0011] printing based on the printing data to obtain a three-dimensional object.
[0012] In a possible implementation, the above changing a starting position and a direction of at least one first slice layer image in the plurality of slice layer images during image processing to obtain a first transition image corresponding to the first slice layer image comprises:
[0013] performing rotation processing on the first slice layer image based on a slice rotation parameter to obtain a first transition image corresponding to the first slice layer image, the rotation processing being used to change the starting position and the direction of the first slice layer image during image processing.
[0014] In a possible implementation, the slice rotation parameters of two adjacent slice layer images in the plurality of slice layer images are different.
[0015] In a possible implementation, the slice rotation parameter is an integer between 0 and 360 degrees.
[0016] In a possible implementation, the slice rotation parameter is determined by the following method:
[0017] obtaining a first random parameter;
[0018] if the absolute value of the first random parameter is less than 360, determining the slice rotation parameter as the first random parameter multiplied by 1 degree;
[0019] if the absolute value of the first random parameter is greater than 360, determining the slice rotation parameter as the remainder of the first random parameter divided by 360 multiplied by 1 degree.
[0020] In a possible implementation, the image processing of the first transition image to obtain the second transition image corresponding to the first slice layer image comprises:
[0021] in the case where the slice rotation parameter is not a multiple of 90 degrees, performing blank padding processing on the first transition image to obtain a padding image, and performing image processing on the padding image based on an image processing technology to obtain the second transition image corresponding to the first slice layer image;
[0022] in the case where the slice rotation parameter is a multiple of 90 degrees, performing image processing on the first transition image based on an image processing technology to obtain the second transition image corresponding to the first slice layer image;
[0023] The image processing technology comprises at least one of image edge processing, color conversion, and halftone processing.
[0024] In a possible implementation, in the case where the number of the first slice layer images is less than the number of the slice layer images, the three-dimensional printing method further comprises:
[0025] performing image processing on a second slice layer image in the plurality of slice layer images based on an image processing technology to obtain printing data corresponding to the second slice layer image, the second slice layer image being a slice layer image other than the first slice layer image;
[0026] correspondingly, performing printing based on the printing data to obtain the three-dimensional object, comprising: performing printing based on the printing data corresponding to the first slice layer image and the printing data corresponding to the second slice layer image to obtain the three-dimensional object.
[0027] In a possible implementation, the image processing technology used in the image processing includes image edge processing, and the two adjacent slice layer images use different blurring parameters in the image edge processing.
[0028] In a possible implementation, the image processing technology used in the image processing includes halftone processing, and the halftone processing includes:
[0029] The at least one base color image obtained through color separation is subjected to rotation processing based on a base color rotation parameter, and the base color rotation parameters of the at least two base color images are different.
[0030] In a possible implementation, the base color rotation parameter is determined in the following manner:
[0031] A second random parameter is obtained.
[0032] If the absolute value of the second random parameter is less than 360, the base color rotation parameter is determined as the second random parameter multiplied by 1°.
[0033] If the absolute value of the second random parameter is greater than 360, the base color rotation parameter is determined as the remainder of the second random parameter divided by 360 multiplied by 1°.
[0034] In a possible implementation, the halftone processing uses a stereoscopic error diffusion method.
[0035] In a second aspect, the present application provides a three-dimensional printing device, comprising:
[0036] An obtaining module is configured to obtain a three-dimensional model of an object to be printed.
[0037] A slicing module is configured to perform slicing processing on the three-dimensional model to obtain a plurality of slice layer images.
[0038] A processing module is configured to change a starting position and a direction of at least one first slice layer image in the plurality of slice layer images when the image processing is performed, to obtain a first transition image corresponding to the first slice layer image; perform image processing on the first transition image to obtain a second transition image corresponding to the first slice layer image; and restore the second transition image to the starting position and the direction before the change, to obtain printing data corresponding to the first slice layer image.
[0039] A printing module is configured to perform printing based on the printing data to obtain a three-dimensional object.
[0040] In a possible implementation, the processing module can be specifically configured to perform rotation processing on the first slice layer image based on a slice rotation parameter, to obtain the first transition image corresponding to the first slice layer image, and the rotation processing is used to change the starting position and the direction of the first slice layer image when the image processing is performed.
[0041] In a possible implementation, the slice rotation parameters of two adjacent slice layer images in the plurality of slice layer images are different.
[0042] In a possible implementation, the slice rotation parameter is an integer between 0 and 360.
[0043] In a possible implementation, the slice rotation parameter is determined by the following method: obtaining a first random parameter; if the absolute value of the first random parameter is less than 360, determining the slice rotation parameter as the first random parameter multiplied by 1°; if the absolute value of the first random parameter is greater than 360, determining the slice rotation parameter as the remainder of the first random parameter divided by 360 multiplied by 1°.
[0044] In a possible implementation, the processing module is further configured to: in a case where the slice rotation parameter is not a multiple of 90°, performing blank padding processing on the first transition image to obtain a padded image; performing image processing on the padded image based on an image processing technique to obtain a second transition image corresponding to the first slice layer image; and in a case where the slice rotation parameter is a multiple of 90°, performing image processing on the first transition image based on the image processing technique to obtain the second transition image corresponding to the first slice layer image; wherein the image processing technique includes at least one of image edge processing, color conversion, and halftone processing.
[0045] In a possible implementation, in a case where the number of the first slice layer images is less than the number of the slice layer images, the processing module is further configured to: perform image processing on a second slice layer image in the plurality of slice layer images based on the image processing technique to obtain printing data corresponding to the second slice layer image, the second slice layer image being a slice layer image other than the first slice layer image. Correspondingly, the printing module is further configured to: perform printing based on the printing data corresponding to the first slice layer image and the printing data corresponding to the second slice layer image to obtain the three-dimensional object.
[0046] In a possible implementation, the image processing technique used in the image processing includes image edge processing, and different blurring parameters are used for image edge processing of two adjacent slice layer images.
[0047] In a possible implementation, the image processing technique used in the image processing includes halftone processing, and the processing module is further configured to: perform rotation processing on at least one base color image obtained through color separation based on a base color rotation parameter, wherein the base color rotation parameters of the at least two base color images are different.
[0048] In a possible implementation, the base color rotation parameter is determined by: obtaining a second random parameter; if an absolute value of the second random parameter is less than 360, determining the base color rotation parameter as the second random parameter multiplied by 1°; if the absolute value of the second random parameter is greater than 360, determining the base color rotation parameter as a remainder of the second random parameter divided by 360 multiplied by 1°.
[0049] In a possible implementation, the halftone processing adopts a stereo error diffusion method.
[0050] In a third aspect, the present application provides an electronic device, comprising: a processor, and a memory connected with the processor in communication;
[0051] The memory stores computer execution instructions;
[0052] The processor executes the computer execution instructions stored in the memory, so that the processor executes the three-dimensional printing method of any one of the first aspect.
[0053] In a fourth aspect, the present application provides a computer readable storage medium, the computer readable storage medium stores computer execution instructions, and the computer execution instructions are executed by the processor to implement the three-dimensional printing method of any one of the first aspect.
[0054] In a fifth aspect, the present application provides a computer program product, comprising a computer program, and the computer program is executed to implement the three-dimensional printing method of any one of the first aspect.
[0055] The three-dimensional printing method, device, equipment and storage medium provided by the present application slice the obtained three-dimensional model of the object to be printed to obtain a plurality of slice layer images; by changing the starting position and direction of at least one first slice layer image in the plurality of slice layer images during image processing, a first transition image corresponding to the first slice layer image is obtained, and the superposition result of the interference between the plurality of slice layer images occurring at a constant angle is weakened; the first transition image is processed to obtain a second transition image corresponding to the first slice layer image, and in addition, the second transition image is restored to the starting position and direction before the change to obtain printing data corresponding to the first slice layer image, so that the slice layer image accurately corresponds to the three-dimensional model of the object to be printed; printing based on the printing data obtains a three-dimensional object, improves the printing line problem of the surface of the three-dimensional object, and improves the surface precision of the three-dimensional object. BRIEF DESCRIPTION OF DRAWINGS
[0056] The accompanying drawings, which are incorporated into and form part of the specification, illustrate embodiments consistent with the present application and, together with the specification, serve to explain the principles of the application.
[0057] Figure 1A structural schematic diagram of a three-dimensional object formed by the related art is provided;
[0058] Figure 2 An application scenario diagram of a three-dimensional printing method provided by an embodiment of the present application is provided;
[0059] Figure 3 A flowchart of a three-dimensional printing method provided by an embodiment of the present application is provided;
[0060] Figures 4a-4c An example diagram of a three-dimensional printing method provided by an embodiment of the present application is provided;
[0061] Figure 5 A structural schematic diagram of a three-dimensional printing device provided by an embodiment of the present application is provided;
[0062] Figure 6 A structural schematic diagram of an electronic device provided by an embodiment of the present application is provided.
[0063] The specific embodiments of the present application have been shown through the above-described drawings, and will be described in more detail hereinafter. The drawings and the written description are not intended to limit the scope of the present application in any way, but to explain the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0064] The exemplary embodiments will be described in detail herein with reference to the attached drawings. The following description is made with reference to the accompanying drawings in which like reference numerals represent like elements, unless the context of use indicates otherwise. The following exemplary embodiments described in the following detailed description are not meant to be limiting of the present application in any way, but rather are meant to provide an example of how the present application can be implemented in accordance with some aspects of the present application as detailed in the appended claims.
[0065] The terms "first", "second", and the like, if any, used in the specification and claims herein, and throughout the drawings, are used for distinguishing between similar objects and are not necessarily used to describe a particular sequential or chronological order. It is to be understood that the use of the terms so termed herein is not related to a specific order or sequence, except where it can be expressly indicated by context.
[0066] It should be noted that the terms "upper", "lower", "left", "right", and the like, used herein to describe the embodiments of the present application are used with respect to the angle shown in the drawings, and should not be construed as limiting the embodiments of the present application.
[0067] Currently, in the data processing process from the digital model of a three-dimensional object to the printing data, it can involve slicing processing, color conversion processing, halftone processing, etc. Due to various processing methods, when the processing method is unreasonable, it can cause irregular printing lines on the surface of the printed three-dimensional object, such as shown in Figure 1 , thereby causing poor surface precision of the finally formed three-dimensional object. The printing lines can be caused by an error in the screening angle during image processing, and the superimposed results of the interference between multiple slice layer images screened at a constant angle and frequency; it can also be caused by improper slicing processing.
[0068] To solve the above problems, the present application provides a three-dimensional printing method, device, equipment and storage medium, by changing the starting position and direction of at least one first slice layer image in the plurality of slice layer images during image processing, obtaining a first transition image corresponding to the first slice layer image, weakening the superimposed results of the interference between multiple slice layer images screened at a constant angle and frequency, and to some extent, improving the generation of printing lines. In addition, the second transition image is restored to the starting position and direction before the change, obtaining the printing data corresponding to the first slice layer image, ensuring that the slice layer image accurately corresponds to the three-dimensional model of the object to be printed. Achieve the effect of improving the printing line problem on the surface of the three-dimensional object and improving the surface precision of the three-dimensional object.
[0069] The technical solutions of the present application and how the technical solutions of the present application solve the above technical problems will be described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes can not be described in some embodiments. The embodiments of the present application will be described below with reference to the accompanying drawings.
[0070] Figure 2 The application scenario diagram of the three-dimensional printing method provided by the embodiments of the present application. Please see Figure 2, the relevant personnel act on the terminal device 11, trigger the three-dimensional printing through the terminal device 11, and the terminal device 11 sends a request for three-dimensional printing to the server 12 in response to the interaction of the relevant personnel. The server 12 acquires the three-dimensional model of the object to be printed from the terminal device 13 in response to receiving the request, performs slicing processing on the three-dimensional model through the slicing processing software deployed on the server 12, obtains a plurality of slice layer images, changes the starting position and direction of at least one first slice layer image in the plurality of slice layer images during image processing, obtains a first transition image corresponding to the first slice layer image, performs image processing on the first transition image, obtains a second transition image corresponding to the first slice layer image, and then restores the second transition image to the starting position and direction before the change to obtain printing data corresponding to the first slice layer image. The server 12 sends the printing data to the terminal device 11 for storage. The terminal device 11 sends the printing data to the printing device 14 through wired or wireless communication, thereby triggering the three-dimensional printing operation, and the printing device 14 performs printing based on the printing data to obtain a three-dimensional object.
[0071] It should be noted that Figure 2 The application scenarios shown are only for example. Among them, any two or three of the terminal device 11, the server 12, and the terminal device 13 can be the same device, and the number of various devices is not limited. The terminal device 11 and the terminal device 13 can be wearable devices, mobile phones, computers, notebooks, or personal digital assistants (PDA), etc.; the server 12 can also be replaced by a server cluster; and the printing device 14 can be any kind of printing device with three-dimensional printing function.
[0072] Figure 3 A flowchart of a three-dimensional printing method provided by an embodiment of the present application is shown. Please refer to Figure 3 The three-dimensional printing method comprises the following steps:
[0073] S301, acquiring a three-dimensional model of an object to be printed.
[0074] The object to be printed can be a three-dimensional object of any shape, and the three-dimensional model can include one or more of shape data, position data, size data, color data, density data, elasticity data, and hardness data of the three-dimensional object.
[0075] Specifically, the three-dimensional model can be acquired by scanning, for example, using a laser scanner or a structured light scanner, which can acquire the shape information of the object surface by emitting laser or light to the object surface and receiving the reflected signals. The point cloud data acquired by the scanner is converted into a three-dimensional mesh model by combining the three-dimensional reconstruction software of a third party. Finally, the three-dimensional mesh model is converted into a data format that can be recognized by slicing software, such as a stereo lithography format (STereoLithography, referred to as STL), a polygon file format (Polygon File Format, referred to as PLY), a virtual reality text format (Virtual Reality Language, referred to as WRL), etc.
[0076] Alternatively, the object to be printed can also be directly drawn by drawing software. For example, commonly used drawing software includes CAD, Proe, Solidwork, UG, 3D Max, etc. The basic structure model of the object to be printed is drawn by the drawing software, and the basic structure drawn needs to be color matched on this basis. There are various commonly used color matching methods, for example, the basic structure model drawn is directly color matched and then converted into a PLY format; or the basic structure model drawn by the drawing software is converted into an STL format and then color matched. It should be noted that those skilled in the art can make different changes on the basis of related technologies, and the present application does not make any limitation.
[0077] S302, slice processing is performed on the three-dimensional model to obtain a plurality of slice layer images.
[0078] In this step, the three-dimensional model can be sliced by using slicing software to obtain a plurality of slice layer images. When performing the slicing, a plurality of parameters need to be set in the slicing software, including the layer height of each slice, the image resolution, the shell thickness, the filling density, the printing speed, the support, the first layer adhesion and the initial layer thickness, etc.
[0079] Among them, the layer height is a parameter for describing the Z-direction resolution of three-dimensional printing, which is used to specify the height of each layer of consumables, the larger the layer height value, the more blurred the model details will be; the image resolution is a parameter for describing the resolution in the XY direction of three-dimensional printing; the shell refers to the number of outer walls that the three-dimensional printer needs to print before starting to print the hollow part, and the shell thickness represents the thickness of the outer wall, the thicker the shell thickness, the thicker and more solid the outer wall of the model; the filling density is the density of the filler inside the printed part, a higher filling density can obtain higher structural strength, but also increases the printing time; the printing speed is the speed of the print head moving when printing, a higher printing speed can reduce the printing time, but also affects the printing quality; the support refers to the support structure that needs to be printed at the lower part of the cantilever structure when the three-dimensional object includes a cantilever structure, the type of support can be block support, tree support, grid support, etc., more support can ensure the printing quality, but also increases the printing time and difficulty; setting the first layer adhesion parameter can increase the adhesion of the consumables to the platform; the initial layer thickness is the first layer thickness printed by the three-dimensional printer on the platform.
[0080] According to the set parameters, the three-dimensional model is subjected to slicing processing. During slicing processing, it can be understood that the three-dimensional model is subjected to horizontal slicing by using a slicing plane (represented as a rectangular dashed box in the figure), so as to obtain a plurality of slice layer images, as shown in Figure 4a For example, the three-dimensional model is subjected to slicing processing to obtain M slice layer images, Figure 4a which can be represented as wherein the Nth slice layer image (N is less than or equal to M).
[0081] S303, change the starting position and direction of at least one first slice layer image in the plurality of slice layer images during image processing, to obtain a first transition image corresponding to the first slice layer image.
[0082] The starting position refers to the starting position during image processing of the slice layer image, which is usually from the upper left corner of the slicing plane and is processed in turn in the clockwise direction.
[0083] The direction refers to the position direction of the voxel on the slice layer image. The voxel is a short name of a volume element, which is the smallest unit of three-dimensional space division, and is conceptually similar to the smallest unit of two-dimensional space, pixel. The slice layer image is composed of a plurality of voxels.
[0084] S304, image processing is performed on the first transition image to obtain a second transition image corresponding to the first slice layer image.
[0085] Image processing technology is a technology for processing image information by using a computer. Image processing generally refers to digital image processing. Common image processing techniques include image blurring, image enhancement, image coding, color conversion, halftoning, etc. In actual application, suitable image processing techniques can be selected according to different requirements.
[0086] In an implementable manner, the first transition image is subjected to image processing to obtain a second transition image corresponding to the first slice layer image.
[0087] S305, restoring the second transition image to the original starting position and direction before the change to obtain the printing data corresponding to the first slice layer image.
[0088] In this step, the second transition image is operated to restore it to the original starting position and direction before the change, and the second transition image is obtained after the first transition image is subjected to image processing.
[0089] For example, if the first transition image is obtained by rotating the first slice layer image in the horizontal direction by a certain angle S (0°<S<360°), such as 90°, the second transition image can be restored to the original starting position and direction by rotating it in the horizontal direction by the opposite of S or the difference between 360° and S, i.e. -90° or 270°.
[0090] S306, printing based on the printing data to obtain a three-dimensional object.
[0091] Specifically, the three-dimensional printing device can be controlled to print according to the printing data to obtain a plurality of printing layers, and the plurality of printing layers are stacked to form a three-dimensional object. In the embodiments of the present application, the three-dimensional printing device can adopt inkjet printing technology, more specifically, the three-dimensional printing device can adopt inkjet ultraviolet curing type three-dimensional printing technology, or inkjet thermal curing type three-dimensional printing technology.
[0092] In the embodiments of the present application, the obtained three-dimensional model of the object to be printed is subjected to slicing processing to obtain a plurality of slice layer images, and the starting position and direction of at least one first slice layer image in the plurality of slice layer images during image processing are changed to obtain a first transition image corresponding to the first slice layer image, thereby weakening the superposition result of the interference between the plurality of slice layer images at a constant angle and frequency. In addition, the second transition image is restored to the original starting position and direction before the change to obtain the printing data corresponding to the first slice layer image, so that the slice layer image accurately corresponds to the three-dimensional model of the object to be printed. The printing line problem on the surface of the three-dimensional object is improved, and the surface precision of the three-dimensional object is improved.
[0093] On the basis of the above-mentioned embodiments, in some embodiments, changing the starting position and direction of at least one first slice layer image in the plurality of slice layer images during image processing to obtain a first transition image corresponding to the first slice layer image can include: based on a slice rotation parameter, rotating the first slice layer image to obtain a first transition image corresponding to the first slice layer image, and the rotation processing is used to change the starting position and direction of the first slice layer image during image processing.
[0094] Optionally, the slice rotation parameter is an integer between 0 and 360°. It can be understood that a rotation of one revolution, i.e. 360°, the effect of rotating the first slice layer image by a slice rotation parameter greater than 360° is essentially the same as taking the remainder of the slice rotation parameter greater than 360° after 360° and rotating the first slice layer image by the remainder. Therefore, in some embodiments, the slice rotation parameter can be limited to an integer between 0 and 360°. It should be noted that the value of the slice rotation parameter is limited here, and the rotation direction is not limited. The rotation direction can be clockwise rotation or counterclockwise rotation. If clockwise rotation is considered as positive rotation, the value of the slice rotation parameter is positive, i.e. an integer between 0 and 360°, then counterclockwise rotation is negative rotation, and the value of the slice rotation parameter is negative, i.e. an integer between -360° and 0.
[0095] Further, in the above plurality of slice layer images, the slice rotation parameters of adjacent two slice layer images are different.
[0096] In this embodiment, by rotating the first slice layer image by a certain angle, the starting position and direction of the current slice layer image in subsequent image processing can be changed, thereby reducing the interference and superposition results of the multiple slice layer images when screening at a constant angle and frequency. In addition, when the slice rotation parameters of adjacent two slice layer images are different, the interference and superposition results during screening are further reduced, and the problem of printing lines on the surface of the three-dimensional object is further improved.
[0097] Further, the slice rotation parameter can be determined by the following method:
[0098] Step 1, obtaining a first random parameter.
[0099] The slice rotation parameter is determined according to the first random parameter, wherein the first random parameter is an integer, and when the first random parameter is a positive integer, the rotation direction is clockwise; and when the first random parameter is a negative integer, the rotation direction is counterclockwise.
[0100] The first random parameter can be generated by a computer program or a random number generation tool.
[0101] Step 2, if the absolute value of the first random parameter is less than 360, the slice rotation parameter is determined as the first random parameter multiplied by 1°.
[0102] Step 3, if the absolute value of the first random parameter is greater than 360, the slice rotation parameter is determined as the remainder of the first random parameter divided by 360 multiplied by 1°.
[0103] On the basis of the above-mentioned embodiments, in a possible implementation, the image processing on the first transition image to obtain the second transition image corresponding to the first slice layer image can include at least one of the following implementation manners:
[0104] In the first implementation manner, in the case that the slice rotation parameter is not a multiple of 90°, the first transition image is subjected to blank filling processing to obtain a filled image; and the filled image is subjected to image processing based on an image processing technology to obtain the second transition image corresponding to the first slice layer image.
[0105] For example, when the first random parameter is 49, the slice rotation parameter is 49°, and the slice rotation parameter is not a multiple of 90°. The first slice layer image is rotated clockwise by 49° with the center point of the slice layer image as the center to obtain the first transition image. As shown in FIG. 5, the slice layer image (here, the first transition image) needs to fill the blank around after rotation, and the shaded part in the figure is the effect after filling to obtain the filled image. Figure 4b
[0106] It should be noted that the slice plane is represented as a standard rectangular frame, and when the first slice layer image is rotated by a non-90° multiple angle, blank filling processing needs to be performed to form a standard rectangular frame.
[0107] In the second implementation manner, in the case that the slice rotation parameter is a multiple of 90°, the first transition image is subjected to image processing based on an image processing technology to obtain the second transition image corresponding to the first slice layer image.
[0108] For example, when the first random parameter is 90, the slice rotation parameter is 90°, and the slice rotation parameter is a multiple of 90°. The first slice layer image is rotated clockwise by 90° with the center point of the slice layer image as the center to obtain the first transition image. As shown in FIG. 6, the first transition image does not need to be subjected to blank filling, and the slice plane remains a standard rectangle. Figure 4b
[0109] On the basis of the above-mentioned embodiments, in a possible implementation, in the case that the number of the first slice layer images is less than the number of the slice layer images, the three-dimensional printing method can further include the following steps:
[0110] The second slice layer image in the plurality of slice layer images is subjected to image processing based on an image processing technology to obtain printing data corresponding to the second slice layer image, the second slice layer image being a slice layer image other than the first slice layer image.
[0111] Correspondingly, printing based on the printing data to obtain the three-dimensional object, including: printing based on the printing data corresponding to the first slice layer image and the printing data corresponding to the second slice layer image to obtain the three-dimensional object.
[0112] In the embodiments of the present application, the image processing technology includes at least one of image edge processing, color conversion and halftone processing. Among them, the image edge processing refers to the edge voxel points of the second slice layer image and / or the first transition image and / or the filling image are blurred; color conversion is to convert RGB data to CMYK data, RGB means red (Red), green (Green) and blue (Blue) three colors, RGB mode is a color combination mode that simulates the colors of nature by superimposing the three colors as base colors, CMYK is a printing color mode, also known as subtractive color mode, which is a color mode used for printing, that is, cyan (Cyan), magenta (Magenta), yellow (Yellow) and black (blacK); halftone is to convert a continuous tone image into a binary tone image.
[0113] In some embodiments, the image edge processing of the second slice layer image and / or the first transition image and / or the filling image is achieved by blurring the edges of the second slice layer image and / or the first transition image and / or the filling image based on a blurring parameter, wherein the blurring processing is to make the edge voxel points of the second slice layer image and / or the first transition image and / or the filling image randomly distributed, and the blurring parameters used by adjacent two slice layer images are different when the image edge processing is performed, and the slice layer images include the second slice layer image and / or the first transition image and / or the filling image.
[0114] Specifically, the outer contour of the effective area in the second slice layer image and / or the first transition image and / or the filling image is obtained first, the outer contour is internally expanded by setting a certain thickness, and the blurring processing is performed on the expanded area according to the blurring parameter, so that the voxel points in the expanded area are randomly distributed, and the random distribution mode includes appropriately reducing the voxel points or appropriately increasing the voxel points.
[0115] In this embodiment, the blurring processing makes the edge voxel points of the slice layer image randomly distributed, which reduces the problem of regular sawtooth lines appearing at the edge of the slice layer image caused by improper slicing, such as low image resolution and large slice layer height. Moreover, different blurring parameters are used by adjacent two slice layer images, and different blurring parameters can produce different scatter point effects on the edges of the slice layer images, so that the edges between adjacent slice layer images are maximally randomized and inconsistent, further reducing the problem of regular sawtooth lines appearing at the edge of the slice layer image, and avoiding the appearance of printing lines on the surface of the printed three-dimensional object.
[0116] Optionally, after the image edge processing of the second slice layer image and / or the first transition image and / or the filling image, color conversion processing is further needed, including converting the RGB data of the second slice layer image and / or the first transition image and / or the filling image into CMYK data.
[0117] Optionally, after the color conversion processing of the second slice layer image and / or the first transition image and / or the filling image, halftone processing is further needed, including separating colors of the second slice layer image and / or the first transition image and / or the filling image to obtain base color images, the base color images including at least one of C, M, Y, K and W base color images, W indicating white color.
[0118] Further, the halftone processing can further include rotating at least one base color image obtained by color separation based on a base color rotation parameter, wherein the base color rotation parameters of the at least two base color images are different.
[0119] In a possible implementation, the above base color rotation parameter can be determined by the following way:
[0120] Step 2-1, obtaining a second random parameter;
[0121] Step 2-2, if the absolute value of the second random parameter is less than 360, determining the base color rotation parameter as the second random parameter multiplied by 1°;
[0122] Step 2-3, if the absolute value of the second random parameter is greater than 360, determining the base color rotation parameter as the remainder of the second random parameter divided by 360 multiplied by 1°.
[0123] It should be noted that the determination of the base color rotation parameter is the same as the determination of the slice rotation parameter, which will not be described here.
[0124] In this embodiment, by rotating the base color image by a certain angle, the starting position and direction of the current base color image in subsequent halftone processing can be changed, and the base color rotation parameters of the at least two base color images are different, which further improves the printing line problem of the three-dimensional object surface caused by the wrong screening angle, thereby improving the surface precision of the finally formed object. Similarly, after the halftone processing is completed, the base color image is restored to the starting position and direction before the change.
[0125] Specifically, the data after the color conversion processing is subjected to a halftone processing based on a halftone processing mode to obtain bitmap data, so as to obtain the printing data. The halftone processing mode can be any one or more of a dithering method, an error diffusion method and an iteration method. Preferably, the halftone processing adopts a stereoscopic error diffusion method. In this embodiment, the halftone processing adopts the stereoscopic error diffusion method, which can effectively improve the color presentation accuracy of the voxels and effectively avoid the generation of lines in the printing process by diffusing the error of the voxels to the voxels in the stereoscopic space.
[0126] In this embodiment, the bitmap data can be binary data, i.e. 1-bit data (1-bit bitmap data), that is, the data of any position can be 0 or 1, that is, the deposition of a certain material at a specific position can be selected in two forms of deposition or non-deposition. Alternatively, the bitmap data can also be other types of data, such as 2-bit data (2-bit bitmap data), that is, the data of any position can be 0, 1, 2 or 3, that is, the deposition of a certain material at a specific position can be selected in four forms of large, medium, small or none, for the convenience of description, this embodiment takes the bitmap data as binary data for example. Alternatively, after obtaining the binary data, the binary data is subjected to data padding, and the printing data of the three-dimensional object is produced based on the bitmap data after the data padding. The padding is to fill the voxels with insufficient color materials, and the filled materials can be filled with colorless transparent materials, white materials or colorless transparent materials and white materials.
[0127] Further, in order to ensure that the slice layer image after the image processing accurately corresponds to the three-dimensional model of the object to be printed, it is necessary to restore the second transition image to the starting position and direction before the change to obtain the printing data corresponding to the first slice layer image. As described in the above embodiment, the second transition image includes: in the case that the slice rotation parameter is not a multiple of 90°, performing a blank padding processing on the first transition image to obtain a padding image; based on an image processing technology, performing an image processing on the padding image to obtain the second transition image corresponding to the first slice layer image; and in the case that the slice rotation parameter is a multiple of 90°, based on an image processing technology, performing an image processing on the first transition image to obtain the second transition image corresponding to the first slice layer image.
[0128] For example, with reference to Figure 4bWhen the first slice layer image is rotated 90° clockwise with the center point of the slice layer image as the center, a first transition image is obtained. Correspondingly, the second transition image is rotated -90° or 270° clockwise with the center point of the slice layer image as the center, so as to restore the starting position and direction of the first slice layer image; when the first slice layer image is rotated 49° clockwise with the center point of the slice layer image as the center, a first transition image is obtained. Correspondingly, the second transition image is rotated -49° or 311° clockwise with the center point of the slice layer image as the center, so as to restore the starting position and direction of the first slice layer image, as shown in FIG. 8. Figure 4c
[0129] The following is an embodiment of the device of the present application, which can be used to execute the method embodiments of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments of the present application.
[0130] Figure 5 The structure diagram of a three-dimensional printing device provided by an embodiment of the present application is shown in FIG. 5. As shown in FIG. 5, the three-dimensional printing device 500 includes an acquisition module 501, a slicing module 502, a processing module 503, and a printing module 504. Wherein: Figure 5
[0131] The acquisition module 501 is configured to acquire a three-dimensional model of an object to be printed.
[0132] The slicing module 502 is configured to perform slicing processing on the three-dimensional model to obtain a plurality of slice layer images.
[0133] The processing module 503 is configured to change the starting position and direction of at least one first slice layer image in the plurality of slice layer images when image processing is performed, to obtain a first transition image corresponding to the first slice layer image; perform image processing on the first transition image to obtain a second transition image corresponding to the first slice layer image; and restore the second transition image to the starting position and direction before the change to obtain printing data corresponding to the first slice layer image.
[0134] The printing module 504 is configured to perform printing based on the printing data to obtain a three-dimensional object.
[0135] In a possible implementation, the processing module 503 can be specifically configured to perform rotation processing on the first slice layer image based on a slice rotation parameter to obtain the first transition image corresponding to the first slice layer image, and the rotation processing is used to change the starting position and direction of the first slice layer image when image processing is performed.
[0136] In a possible implementation, the slice rotation parameters of adjacent two slice layer images in the plurality of slice layer images are different.
[0137] In a possible implementation, the slice rotation parameter is an integer between 0 and 360 degrees.
[0138] In a possible implementation, the slice rotation parameter can be obtained by: obtaining a first random parameter; determining the slice rotation parameter as the first random parameter multiplied by 1 degree if an absolute value of the first random parameter is less than 360; or determining the slice rotation parameter as a remainder of the first random parameter divided by 360 multiplied by 1 degree if the absolute value of the first random parameter is greater than 360.
[0139] In a possible implementation, the processing module 503 can be further configured to: perform blank padding on the first transition image to obtain a padded image, if the slice rotation parameter is not a multiple of 90 degrees; perform image processing on the padded image to obtain a second transition image corresponding to the first slice layer image, based on an image processing technique; or perform image processing on the first transition image to obtain the second transition image corresponding to the first slice layer image, based on the image processing technique, if the slice rotation parameter is a multiple of 90 degrees; wherein the image processing technique includes at least one of image edge processing, color conversion, and halftone processing.
[0140] In a possible implementation, in a case where the number of the first slice layer images is less than the number of the slice layer images, the processing module 503 can be further configured to: perform image processing on a second slice layer image in the plurality of slice layer images to obtain printing data corresponding to the second slice layer image, based on the image processing technique, the second slice layer image being a slice layer image other than the first slice layer image. Correspondingly, the printing module 504 can be configured to: perform printing based on the printing data corresponding to the first slice layer image and the printing data corresponding to the second slice layer image, to obtain the three-dimensional object.
[0141] In a possible implementation, the image processing technique used in the image processing includes image edge processing, and adjacent two slice layer images use different blurring parameters in the image edge processing.
[0142] In a possible implementation, the image processing technique includes halftone processing. The processing module 503 can be further configured to: perform rotation processing on at least one base color image obtained through color separation, based on a base color rotation parameter, wherein the base color rotation parameters of the at least two base color images are different.
[0143] In a possible implementation, the base color rotation parameter can be obtained by: obtaining a second random parameter; determining the base color rotation parameter as the second random parameter multiplied by 1 degree if an absolute value of the second random parameter is less than 360; or determining the base color rotation parameter as a remainder of the second random parameter divided by 360 multiplied by 1 degree if the absolute value of the second random parameter is greater than 360.
[0144] In a possible implementation, the halftone processing adopts an error diffusion method.
[0145] The three-dimensional printing device provided by the embodiments of the present application can implement the technical solutions shown in the method embodiments, and the implementation principles and beneficial effects are similar, which will not be repeated here.
[0146] It should be noted that the division of each module of the above device is only a logical functional division, and all or part of the modules can be integrated into one physical entity, or can be physically separated. And these modules can all be implemented in the form of software called by a processing element; all can be implemented in the form of hardware; some modules can be implemented in the form of software called by a processing element, and some modules can be implemented in the form of hardware. For example, the processing module can be a separately established processing element, or can be integrated in a chip of the above device, in addition, it can also be stored in the memory of the above device in the form of program code, and the functions of the above processing module are called and executed by a processing element of the above device. The implementation of other modules is similar. In addition, all or part of these modules can be integrated together, or can be independently implemented. The processing element here can be an integrated circuit with signal processing capability. In the implementation process, each step of the above method or each module can be completed by the integrated logic circuit of the hardware in the processor element or the instructions in the form of software.
[0147] For example, the above modules can be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field programmable gate arrays (FPGAs), etc. For another example, when a certain module above is implemented in the form of scheduling program code by a processing element, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call program code. For another example, these modules can be integrated together to implement in the form of system on a chip (SOC).
[0148] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the processes or functions according to the embodiments of the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (Digital Subscriber Line, DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. containing one or more available media sets. The available media can be magnetic media (such as floppy disk, hard disk, magnetic tape), optical media (such as digital versatile disc (Digital Video Disc, DVD)) or semiconductor media (such as solid state disk (solid state disk, SSD)) and the like.
[0149] Figure 6 The structural schematic diagram of the electronic device provided by an embodiment of the present application is shown in the figure. As shown in the figure, the electronic device 600 includes at least one processor 601, a memory 602 and a communication interface 603. Among them, the memory 602 and the communication interface 603 are connected with the processor 601 through the system bus and complete the communication between each other, the memory 602 is used to store instructions, the communication interface 603 is used to communicate with other devices, and the processor 601 is used to call the instructions in the memory to execute the method steps provided by the three-dimensional printing method embodiments as described above. The specific implementation manner and technical effects are similar, and will not be repeated here. Figure 6
[0150] The system bus can be a peripheral component interconnect (Peripheral Component Interconnect, PCI) bus or an extended industry standard architecture (Extended Industry Standard Architecture, EISA) bus, etc. The system bus can be divided into address bus, data bus, control bus, etc. For convenience of representation, only one thick line is shown in the figure, but it does not mean that there is only one bus or one type of bus.
[0151] The communication interface 603 is configured to realize communication between the database access apparatus and other devices (e.g., a client, a read-write library, and a read-only library).
[0152] The memory 602 can be an internal storage unit of the electronic device 600, for example, a hard disk or a memory of the electronic device 600. The memory 602 can also be an external storage device of the electronic device 600, for example, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, and the like equipped on the electronic device 600. Further, the memory 602 can include both the internal storage unit and the external storage device of the electronic device 600. The memory 602 is configured to store a computer program and other programs and data required by the electronic device. The memory 602 can also be configured to temporarily store data that has been output or will be output.
[0153] The processor 601 can be a general-purpose processor, including a central processing unit, a network processor (NP), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component.
[0154] The embodiment of the present application further provides a computer readable storage medium, and the computer readable storage medium stores computer execution instructions. When the computer execution instructions are executed by a processor, the computer execution instructions are configured to realize the method steps in the above-mentioned three-dimensional printing method embodiment. The specific implementation manners and technical effects are similar, and thus will not be described here.
[0155] The embodiment of the present application further provides a program product, and the program product contains computer execution instructions. When the computer execution instructions are executed, the computer execution instructions are configured to realize the method steps in the above-mentioned three-dimensional printing method embodiment. The specific implementation manners and technical effects are similar, and thus will not be described here.
[0156] Other embodiments of the application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit of the application being indicated by the following claims.
[0157] It is to be understood that the application is not limited to the precise construction herein disclosed and shown in the drawings, and that various changes in shape, size and arrangements of parts can be made without departing from the scope of the application. The scope of the application is only limited by the appended claims.
Claims
1. A three-dimensional printing method, characterized in that, include: Obtain the 3D model of the object to be printed; The three-dimensional model is sliced to obtain multiple slice layer images; Based on the slice rotation parameters, at least one first slice image among the plurality of slice layer images is rotated to obtain a first transition image corresponding to the first slice layer image. The rotation process is used to change the starting position and orientation of the first slice layer image during image processing. The first transition image is processed to obtain the second transition image corresponding to the first slice layer image; The second transition image is restored to its original starting position and orientation before the change, and the printing data corresponding to the first slice layer image is obtained. Based on the printing data, a three-dimensional object is obtained by printing. The step of processing the first transition image to obtain the second transition image corresponding to the first slice layer image includes: When the slice rotation parameter is not a multiple of 90°, the first transition image is filled with blanks to obtain a filled image; based on image processing technology, the filled image is processed to obtain a second transition image corresponding to the first slice layer image. When the slice rotation parameter is a multiple of 90°, the first transition image is processed using image processing technology to obtain the second transition image corresponding to the first slice layer image. The image processing techniques include at least one of image edge processing, color conversion, and halftone processing.
2. The three-dimensional printing method according to claim 1, characterized in that, In the plurality of sliced layer images, the slice rotation parameters of two adjacent sliced layer images are different.
3. The three-dimensional printing method according to claim 1, characterized in that, The slice rotation parameter is an integer between 0 and 360°.
4. The three-dimensional printing method according to any one of claims 1 to 3, characterized in that, The slice rotation parameters are determined in the following way: Obtain the first random parameter; If the absolute value of the first random parameter is less than 360, then the slice rotation parameter is determined to be the first random parameter multiplied by 1°; If the absolute value of the first random parameter is greater than 360, then the slice rotation parameter is determined to be the remainder of the first random parameter divided by 360 multiplied by 1°.
5. The three-dimensional printing method according to claim 1, characterized in that, When the number of images in the first slice layer is less than the number of images in the slice layer, the 3D printing method further includes: Based on image processing technology, the second slice image among the multiple slice images is processed to obtain the printing data corresponding to the second slice image. The second slice image is a slice image other than the first slice image. Correspondingly, the step of printing based on the printing data to obtain a three-dimensional object includes: printing based on the printing data corresponding to the first slice layer image and the printing data corresponding to the second slice layer image to obtain the three-dimensional object.
6. The three-dimensional printing method according to claim 1, characterized in that, The image processing techniques employed include image edge processing, with different blurring parameters used for adjacent slice layers during edge processing.
7. The three-dimensional printing method according to claim 1, characterized in that, The image processing employed includes halftone processing, which comprises: At least one color-separated primary color image is rotated based on the primary color rotation parameters, wherein the primary color rotation parameters of at least two primary color images are different.
8. The three-dimensional printing method according to claim 7, characterized in that, The primary color rotation parameters are determined in the following way: Obtain the second random parameter; If the absolute value of the second random parameter is less than 360, then the primary color rotation parameter is determined to be the second random parameter multiplied by 1°; If the absolute value of the second random parameter is greater than 360, then the primary color rotation parameter is determined to be the remainder of the second random parameter divided by 360 multiplied by 1°.
9. The three-dimensional printing method according to claim 7, characterized in that, The halftone processing employs a stereo error diffusion method.
10. A three-dimensional printing apparatus, characterized in that, include: The acquisition module is used to acquire the 3D model of the object to be printed; The slicing module is used to slice the three-dimensional model to obtain multiple slice layer images; The processing module is configured to perform rotation processing on at least one first slice layer image among the plurality of slice layer images based on slice rotation parameters to obtain a first transition image corresponding to the first slice layer image, wherein the rotation processing is used to change the starting position and orientation of the first slice layer image during image processing; perform image processing on the first transition image to obtain a second transition image corresponding to the first slice layer image; and restore the second transition image to its original starting position and orientation to obtain the print data corresponding to the first slice layer image. A printing module is used to print based on the printing data to obtain a three-dimensional object; The processing module is further configured to: When the slice rotation parameter is not a multiple of 90°, the first transition image is filled with blanks to obtain a filled image; based on image processing technology, the filled image is processed to obtain a second transition image corresponding to the first slice layer image. When the slice rotation parameter is a multiple of 90°, the first transition image is processed using image processing technology to obtain the second transition image corresponding to the first slice layer image. The image processing techniques include at least one of image edge processing, color conversion, and halftone processing.
11. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1 to 9.
12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1 to 9.
13. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of any one of claims 1 to 9.
Citation Information
Patent Citations
Generating halftone data for a three-dimensional object
CN107077760A
Continuous printing method and device of 3D printer, computer equipment and storage medium
CN114274501A
Three-dimensional printing method and system for fading correction lines
CN116118195A