Control method and device of printer and 3D printing equipment
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-18
- Publication Date
- 2026-08-11
AI Technical Summary
在打印过程中,往往容易产生各种缺陷,比如首层不沾,意大利面,空打等异常情况
[0070]The printer control method provided in this application can acquire model data of a 3D model, wherein the 3D model includes a target printing layer. The model data is used by the 3D printer to print the 3D model. Then, based on the model data, an image of the target printing layer from a target viewpoint is determined to obtain a first image. After the 3D printer completes printing the target printing layer, an image of the target printing layer from the target viewpoint, captured by a camera, is determined to obtain a second image. Subsequently, based on the first and second images, the 3D printer is controlled to print the 3D model. Therefore, by comparing the first and second images, the printing process can be controlled, thereby improving the accuracy of the 3D model obtained by the printer.
Smart Images

Figure CN119489558B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of printer technology, and in particular to a printer control method, apparatus, and 3D printing equipment. Background Technology
[0002] 3D (3D) printing technology is a cutting-edge model-making technology that has emerged in recent years. During the printing process, various defects are prone to occur, such as non-adhesive first layer, spaghetti-like patterns, and dry printing. Among these, issues with the printing layers account for the vast majority of all problems. Almost all model printing failures are caused by the printer's low accuracy, resulting in poorly formed printing layers.
[0003] It is evident that improving the accuracy of 3D models obtained by printers is a technical issue worthy of attention. Summary of the Invention
[0004] In view of this, in order to solve some or all of the above-mentioned technical problems, embodiments of this application provide a printer control method, apparatus and 3D printing equipment.
[0005] In a first aspect, embodiments of this application provide a printer control method, the method comprising:
[0006] Obtain model data of a 3D model, wherein the 3D model includes a target printing layer, and the model data is used by a 3D printer to print the 3D model;
[0007] Based on the model data, the image of the target printing layer from the target viewpoint is determined, and a first image is obtained;
[0008] After the 3D printer finishes printing the target printing layer, the image of the target printing layer captured by the camera from the target viewpoint is determined to obtain a second image;
[0009] Based on the first image and the second image, the 3D printer is controlled to print the 3D model.
[0010] In one possible implementation, controlling the 3D printer to print the 3D model based on the first image and the second image includes:
[0011] Determine the similarity between the first image and the second image to obtain a first similarity score;
[0012] Based on the first similarity, the 3D printer is controlled to print the 3D model.
[0013] In one possible implementation, controlling the 3D printer to print the 3D model based on the first image and the second image includes:
[0014] The first image is divided into a target number of image patches to obtain a first target set;
[0015] The second image is divided into the target number of patches to obtain a second target set, wherein the patches in the first target set correspond one-to-one with the patches in the second target set;
[0016] Determine the similarity between the corresponding tiles in the first target set and the corresponding tiles in the second target set to obtain the second similarity.
[0017] Based on the second similarity, the 3D printer is controlled to print the 3D model.
[0018] In one possible implementation, dividing the first image into a target number of patches includes:
[0019] The first image is divided into a target number of rectangular patches using a grid partitioning method; and
[0020] The step of dividing the second image into the target number of image patches includes:
[0021] The second image is divided into the target number of rectangular blocks using the grid division method.
[0022] In one possible implementation, the three-dimensional model includes a plurality of model parts, and the number of model parts included in the three-dimensional model is the target number; and
[0023] The step of dividing the first image into a target number of image patches includes:
[0024] From the first image, determine a patch including each of the target number of model parts; and
[0025] The step of dividing the second image into the target number of image patches includes:
[0026] For each of the target number of tiles, based on the position of that tile in the first image, the corresponding tile is determined from the second image.
[0027] In one possible implementation, controlling the 3D printer to print the 3D model includes:
[0028] The operation type to be performed by the 3D printer is determined; wherein, the operation type includes one of the following: pause printing, print other model parts, reprint, and continue printing; the other model parts are: model parts in the 3D model other than the model parts currently being printed;
[0029] Control the 3D printer to perform the operation of the operation type.
[0030] In one possible implementation, determining the image of the target printed layer captured by the camera from the target viewpoint to obtain a second image includes:
[0031] Acquire an image set, wherein the image set includes: images of the target printing layer captured by a camera at different exposure levels from the target viewpoint;
[0032] Determine the weights corresponding to the images in the image set, wherein the weights corresponding to the images are negatively correlated with the exposure of the images;
[0033] Based on the determined weights, the images in the image set are fused to obtain a second image, and the viewpoint of the second image is used as the target viewpoint.
[0034] In one possible implementation, the target printing layer includes a first printing layer.
[0035] Secondly, embodiments of this application provide a printer control device, the device comprising:
[0036] An acquisition unit is used to acquire model data of a three-dimensional model, wherein the three-dimensional model includes a target printing layer, and the model data is used by a three-dimensional printer to print the three-dimensional model;
[0037] The first determining unit is used to determine the image of the target printing layer from the target viewpoint based on the model data, and obtain the first image;
[0038] The second determining unit is used to determine the image of the target printed layer captured by the camera from the target viewpoint after the 3D printer has finished printing the target printed layer, and obtain the second image.
[0039] A control unit is configured to control the 3D printer to print the 3D model based on the first image and the second image.
[0040] In one possible implementation, controlling the 3D printer to print the 3D model based on the first image and the second image includes:
[0041] Determine the similarity between the first image and the second image to obtain a first similarity score;
[0042] Based on the first similarity, the 3D printer is controlled to print the 3D model.
[0043] In one possible implementation, controlling the 3D printer to print the 3D model based on the first image and the second image includes:
[0044] The first image is divided into a target number of image patches to obtain a first target set;
[0045] The second image is divided into the target number of patches to obtain a second target set, wherein the patches in the first target set correspond one-to-one with the patches in the second target set;
[0046] Determine the similarity between the corresponding tiles in the first target set and the corresponding tiles in the second target set to obtain the second similarity.
[0047] Based on the second similarity, the 3D printer is controlled to print the 3D model.
[0048] In one possible implementation, dividing the first image into a target number of patches includes:
[0049] The first image is divided into a target number of rectangular patches using a grid partitioning method; and
[0050] The step of dividing the second image into the target number of image patches includes:
[0051] The second image is divided into the target number of rectangular blocks using the grid division method.
[0052] In one possible implementation, the three-dimensional model includes a plurality of model parts, and the number of model parts included in the three-dimensional model is the target number; and
[0053] The step of dividing the first image into a target number of image patches includes:
[0054] From the first image, determine a patch including each of the target number of model parts; and
[0055] The step of dividing the second image into the target number of image patches includes:
[0056] For each of the target number of tiles, based on the position of that tile in the first image, the corresponding tile is determined from the second image.
[0057] In one possible implementation, controlling the 3D printer to print the 3D model includes:
[0058] The operation type to be performed by the 3D printer is determined; wherein, the operation type includes one of the following: pause printing, print other model parts, reprint, and continue printing; the other model parts are: model parts in the 3D model other than the model parts currently being printed;
[0059] Control the 3D printer to perform the operation of the operation type.
[0060] In one possible implementation, determining the image of the target printed layer captured by the camera from the target viewpoint to obtain a second image includes:
[0061] Acquire an image set, wherein the image set includes: images of the target printing layer captured by a camera at different exposure levels from the target viewpoint;
[0062] Determine the weights corresponding to the images in the image set, wherein the weights corresponding to the images are negatively correlated with the exposure of the images;
[0063] Based on the determined weights, the images in the image set are fused to obtain a second image, and the viewpoint of the second image is used as the target viewpoint.
[0064] In one possible implementation, the target printing layer includes a first printing layer.
[0065] Thirdly, embodiments of this application provide a 3D printing device, including:
[0066] Memory, used to store computer programs;
[0067] A processor is configured to execute a computer program stored in the memory, and when the computer program is executed, to implement the method of any embodiment of the printer control method of the first aspect of this application.
[0068] Fourthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method of any embodiment of the printer control method of the first aspect described above.
[0069] Fifthly, embodiments of this application provide a computer program comprising computer-readable code that, when executed on a device, causes a processor in the device to implement the method of any embodiment of the printer control method of the first aspect described above.
[0070] The printer control method provided in this application can acquire model data of a 3D model, wherein the 3D model includes a target printing layer. The model data is used by the 3D printer to print the 3D model. Then, based on the model data, an image of the target printing layer from a target viewpoint is determined to obtain a first image. After the 3D printer completes printing the target printing layer, an image of the target printing layer from the target viewpoint, captured by a camera, is determined to obtain a second image. Subsequently, based on the first and second images, the 3D printer is controlled to print the 3D model. Therefore, by comparing the first and second images, the printing process can be controlled, thereby improving the accuracy of the 3D model obtained by the printer. Attached Figure Description
[0071] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0072] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0073] One or more embodiments are illustrated by way of example with the corresponding images in the accompanying drawings. These illustrations do not constitute a limitation on the embodiments. Elements having the same reference numerals in the drawings are denoted as similar elements. Unless otherwise stated, the figures in the drawings are not to be limited by scale.
[0074] Figure 1 A flowchart illustrating a printer control method provided in an embodiment of this application;
[0075] Figure 2 A flowchart illustrating another printer control method provided in an embodiment of this application;
[0076] Figure 3 A flowchart illustrating another printer control method provided in this application embodiment;
[0077] Figures 4A-4C A schematic diagram illustrating the method for determining the edge contour in a printer control method provided in this application embodiment;
[0078] Figure 5 A schematic diagram illustrating the similarity calculation method involved in another printer control method provided in this application embodiment;
[0079] Figure 6A schematic diagram illustrating the image fusion process involved in a printer control method provided in an embodiment of this application;
[0080] Figure 7 This is a schematic diagram of the second image in an overall image comparison scenario in a printer control method provided in an embodiment of this application;
[0081] Figure 8A A schematic diagram of a first type of first target set provided in an embodiment of this application;
[0082] Figure 8B A schematic diagram of a first type of second target set provided in an embodiment of this application;
[0083] Figure 8C A schematic diagram of a second type of first target set provided in an embodiment of this application;
[0084] Figure 8D A schematic diagram of a second type of second target set provided in the embodiments of this application;
[0085] Figure 9 A flowchart illustrating another printer control method provided in an embodiment of this application;
[0086] Figure 10 This is a schematic diagram of the structure of a printer control device provided in an embodiment of this application;
[0087] Figure 11 This is a schematic diagram of the structure of a 3D printing device provided in an embodiment of this application. Detailed Implementation
[0088] Various exemplary embodiments of this application will now be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of this application.
[0089] Those skilled in the art will understand that the terms "first" and "second" in the embodiments of this application are only used to distinguish different steps, devices or modules, and do not represent any specific technical meaning, nor do they indicate the logical order between them.
[0090] It should also be understood that in this embodiment, "multiple" can refer to two or more, and "at least one" can refer to one, two or more.
[0091] It should also be understood that any component, data or structure mentioned in the embodiments of this application can generally be understood as one or more unless explicitly defined or given contrary guidance in the context.
[0092] Furthermore, the term "and / or" in this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this application generally indicates that the preceding and following related objects have an "or" relationship.
[0093] It should also be understood that the description of the various embodiments in this application emphasizes the differences between the various embodiments, and the similarities or similarities can be referred to each other. For the sake of brevity, they will not be described in detail.
[0094] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit the scope of this application and its application or use.
[0095] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.
[0096] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.
[0097] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. To facilitate understanding of the embodiments of this application, the application will be described in detail below with reference to the accompanying drawings and embodiments. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0098] To address the technical problem of improving the accuracy of 3D models obtained by printers in the prior art, this application provides a printer control method that can improve the accuracy of 3D models obtained by printers.
[0099] Figure 1This is a flowchart illustrating a printer control method provided in an embodiment of this application. This method can be applied to one or more 3D printing devices, such as printers, smartphones, laptops, desktop computers, portable computers, and servers. Furthermore, the execution entity of this method can be hardware or software. When the execution entity is hardware, it can be one or more of the aforementioned 3D printing devices. For example, a single 3D printing device can execute this method, or multiple 3D printing devices can cooperate with each other to execute this method. When the execution entity is software, this method can be implemented as multiple software programs or software modules, or as a single software program or software module. No specific limitations are made here.
[0100] like Figure 1 As shown, the method specifically includes:
[0101] Step 101: Obtain model data of a 3D model, wherein the 3D model includes a target printing layer, and the model data is used by a 3D printer to print the 3D model.
[0102] In this embodiment, the three-dimensional model can be any three-dimensional model to be generated by printing with a three-dimensional printer.
[0103] Model data is generated by slicing software. In practice, when analyzing a 3D model, slicing software can acquire the contours of multiple cross-sections of the model at fixed distances along a certain direction. The software then processes these cross-sectional contours, converting each layer into contour paths, fill paths, and support paths. It then integrates the data from these working paths, converting them into mechanical control commands that the 3D printer can recognize, and finally outputs a slice file. The model data mentioned above can be the data contained in the slice file.
[0104] The target printing layer can be any one or more printing layers of the 3D model determined by the slicing software. As an example, the target printing layer does not have to be the last printing layer; for example, the target printing layer can be the second printing layer.
[0105] In some optional implementations of this embodiment, the target printing layer includes a first printing layer.
[0106] The first printed layer can be the first printed layer that a 3D printer prints during the printing process of a 3D model.
[0107] It is understandable that among the many factors that cause printing problems in 3D models, printing problems caused by the first printing layer often account for a high proportion. Therefore, in the above-mentioned optional implementation methods, the printing process of the printer can be controlled by comparing the image of the first printing layer determined based on the model data from the same perspective with the image of the first printing layer obtained from actual printing, thereby improving the timeliness of printing problem detection.
[0108] Step 102: Based on the model data, determine the image of the target printing layer from the target viewpoint to obtain the first image.
[0109] In this embodiment, the first image may be an image of the target printing layer from the target viewpoint, determined based on the model data.
[0110] As an example, based on the model file generated by the slicing software, a cross-sectional rendering image can be obtained from any viewpoint (including the target viewpoint). Then, this cross-sectional rendering image can be determined as the first image. Alternatively, the cross-sectional rendering image can be binarized and edge contours can be found, thereby determining the edge contour image as the first image.
[0111] Step 103: After the 3D printer finishes printing the target printing layer, determine the image of the target printing layer captured by the camera from the target viewpoint to obtain the second image.
[0112] In this embodiment, the second image can be determined based on the image of the target printed layer captured by the camera from the target viewpoint.
[0113] As an example, edge detection algorithms can be used to perform edge detection on images captured by cameras. A sliding window of the size of the edge contour corresponding to a standard slice is taken and scanned across the entire image. The edge image of the extracted window and the dilated image are then subjected to an AND operation. In incorrect positions, the similarity of the AND operation result will be very low. However, if the slider is moved to the correct position, the overlap of the AND operation contour will be very high, thus locating the correct model position and obtaining the second image.
[0114] The edge detection process may include the following steps:
[0115] First, the image is passed through a filter, such as a Gaussian filter, noise suppressor, and output smooth image.
[0116] Next, the magnitude of the gradient and its direction at each pixel in the smoothed image are calculated. Any known gradient operator, such as Prewitt, Sobel, Scharr, etc., can be applied in this step.
[0117] Then, a set of pixels, called anchors, is calculated, which is an edge pixel with a very high probability. Anchors correspond to the pixels where the gradient operator produces a maximum value, i.e., the peak of the gradient map.
[0118] Finally, connect the calculated anchors and draw the edges between them. From one anchor (point), use the gradient magnitude and direction of neighboring pixels to move to the next anchor via gradient maximas.
[0119] The target viewpoint mentioned above can be any viewpoint. As an example, the target viewpoint can be a preset viewpoint. As yet another example, the target viewpoint can be the viewpoint of the second image. That is, after obtaining the second image, the camera viewpoint of the second image can be determined as the target viewpoint.
[0120] In some cases, the second image can be the same size as the first image.
[0121] Step 104: Based on the first image and the second image, control the 3D printer to print the 3D model.
[0122] In this embodiment, the 3D printer can be controlled to print the 3D model based on the first image and the second image in the following manner:
[0123] First, obtain the target similarity by following at least one of the following steps. The target similarity includes at least one of similarity A, similarity B, and similarity C.
[0124] Step 1: Determine the similarity between the first image and the second image to obtain the first similarity (i.e., similarity A).
[0125] Step 2: Using a grid partitioning method, the first image is divided into a target number of rectangular patches to obtain a first target set; using the same grid partitioning method, the second image is divided into the target number of rectangular patches to obtain a second target set, wherein the patches in the first target set correspond one-to-one with the patches in the second target set; the similarity between the patches in the first target set and the corresponding patches in the second target set is determined to obtain a second similarity (i.e., the aforementioned similarity B).
[0126] Step 3: From the first image, determine the tiles including each model part from the target number of model parts to obtain a first target set; for each tile from the target number of tiles, based on the position of the tile in the first image, determine the corresponding tile from the second image, wherein the tiles in the first target set correspond one-to-one with the tiles in the second target set; determine the similarity between the tiles in the first target set and the corresponding tiles in the second target set to obtain a second similarity (i.e., the aforementioned similarity C).
[0127] Then, based on the target similarity, the 3D printer is controlled to print the 3D model.
[0128] As a first example, if the target similarity includes similarity A, similarity B, and similarity C, and similarity A is greater than a first preset threshold, similarity B is greater than a second preset threshold, and similarity C is greater than a third preset threshold, then the 3D printer can be controlled to continue printing the 3D model.
[0129] As a second example, if the target similarity includes similarity A, and similarity A is less than or equal to a first preset threshold, then the 3D printer can be controlled to reprint the 3D model.
[0130] As a third example, if the 3D model is a connected whole (rather than composed of two or more disconnected model parts), the target similarity includes similarity B, and the similarity B is less than or equal to a second preset threshold, then the 3D printer can be controlled to pause printing the 3D model.
[0131] As a fourth example, if the 3D model is not a connected whole (but is composed of two or more disconnected model parts), the target similarity includes similarity C, and the similarity C is less than or equal to a third preset threshold, then the 3D printer can be controlled to pause printing the currently printed model part and start printing the remaining model parts in the 3D model.
[0132] As for how to perform steps one, two, and three above, please refer to the following description; it will not be elaborated here.
[0133] In some optional implementations of this embodiment, the 3D printer can be controlled to print the 3D model in the following way:
[0134] First, determine the operation type to be performed by the 3D printer.
[0135] The operation types include one of the following: pause printing, print other model parts, reprint, or continue printing.
[0136] The other model parts are: model parts in the three-dimensional model other than the model parts currently being printed.
[0137] Then, control the 3D printer to perform the operation of the operation type.
[0138] As an example, if the similarity between the whole first image and the whole second image is greater than a first preset threshold, then it can be determined that the probability of the target printing layer being correct is relatively high. Furthermore, the 3D printer can be controlled to continue printing the 3D model. If the similarity between the whole first image and the whole second image is less than or equal to the first preset threshold, then it can be determined that the probability of the target printing layer being incorrect is relatively high. Furthermore, the print head of the 3D printer can be controlled to pause material output to pause the printing of the 3D model.
[0139] As another example, if a grid partitioning method is used to divide the first image into a target number of tiles to obtain a first target set, and the same grid partitioning method is used to divide the second image into the same target number of tiles to obtain a second target set, and the tiles in the first target set correspond one-to-one with the tiles in the second target set, then the similarity between the tiles in the first tile and the corresponding tiles in the second tile can be calculated. If the similarity of each corresponding tile is greater than a second preset threshold, then it can be determined that the probability of the target printing layer being correct is relatively high, and further, the 3D printer can be controlled to continue printing the 3D model. If the similarity of a certain corresponding tile is less than or equal to the aforementioned second preset threshold, then it can be determined that the probability of the target printing layer within the corresponding tile being incorrect is relatively high, and further, the 3D printer can be controlled to pause printing the currently printed model part and start printing the model parts corresponding to other tiles, or the printing nozzle output can be paused to pause printing the 3D model.
[0140] It is understood that, among the above-mentioned optional implementation methods, the 3D printer can be controlled to pause printing, print other model parts, reprint, or continue printing based on the first and second images. This can improve the timeliness of 3D printer control and reduce the occurrence of glue overflow, head clogging, and printer damage.
[0141] In some optional implementations of this embodiment, the second image can be obtained in the following manner:
[0142] First, obtain the image set.
[0143] The image set includes: images of the target printing layer captured by the camera at different exposure levels from the target viewpoint.
[0144] Next, the weights corresponding to the images in the image set are determined.
[0145] Among them, the weight corresponding to the image is negatively correlated with the image's exposure.
[0146] Then, based on the determined weights, the images in the image set are fused to obtain a second image, and the viewpoint of the second image is used as the target viewpoint.
[0147] Specifically, firstly, multiple images of the target printing layer are captured using a camera. Each image has a different exposure time or a different distance between the camera and the target printing layer to ensure that areas of varying brightness in the scene are captured. Next, all captured images are read and converted to grayscale or RGB (Red, Green, Blue) format. Then, camera response function estimation is performed to correct for brightness differences under different exposures. This process involves acquiring the brightness value of each pixel under different exposures and converting it to its true brightness value. Typically, this process uses a curve fitting algorithm based on least squares. Next, exposure alignment is performed to reduce registration errors caused by small image shifts. This process uses image feature points or masks for image registration. Next, images can be merged. In this process, images under different exposures are weighted and averaged. High-exposure images are given lower weights, while low-exposure images are given higher weights. This process can be accomplished using exposure merging techniques based on the Debevec-Malik (camera response curve calculation) algorithm. Finally, color mapping is performed. This process converts the merged HDR (High Dynamic Range) image into a standard 8-bit image for display and printing, thus obtaining the second image. Typically, this process requires tone mapping to preserve the rich details and tonal variations in shadow areas of the HDR image.
[0148] It is understandable that in real-world scenarios, the quality of photos is greatly affected by environmental factors. Both overexposure and underexposure can significantly degrade image quality. To improve this, a multiple exposure strategy can be introduced, using a multi-frame fusion algorithm to obtain a high-quality second image.
[0149] The printer control method provided in this application can acquire model data of a 3D model, wherein the 3D model includes a target printing layer. The model data is used by the 3D printer to print the 3D model. Then, based on the model data, an image of the target printing layer from a target viewpoint is determined to obtain a first image. After the 3D printer completes printing the target printing layer, an image of the target printing layer from the target viewpoint, captured by a camera, is determined to obtain a second image. Subsequently, based on the first and second images, the 3D printer is controlled to print the 3D model. Therefore, by comparing the first and second images, the printing process can be controlled, thereby improving the accuracy of the 3D model obtained by the printer.
[0150] Figure 2 This is a flowchart illustrating another printer control method provided in an embodiment of this application. Figure 2 As shown, the method specifically includes:
[0151] Step 201: Obtain model data of the three-dimensional model, wherein the three-dimensional model includes a target printing layer, and the model data is used by a three-dimensional printer to print the three-dimensional model.
[0152] In this embodiment, step 201 and Figure 1 Step 101 in the corresponding embodiment is basically the same, and will not be repeated here.
[0153] Step 202: Based on the model data, determine the image of the target printing layer from the target viewpoint to obtain the first image.
[0154] In this embodiment, step 202 and Figure 1 Step 102 in the corresponding embodiment is basically the same, and will not be repeated here.
[0155] Step 203: After the 3D printer finishes printing the target printing layer, determine the image of the target printing layer captured by the camera from the target viewpoint to obtain the second image.
[0156] In this embodiment, step 203 and Figure 1 Step 103 in the corresponding embodiment is basically the same, and will not be repeated here.
[0157] Step 204: Determine the similarity between the first image and the second image to obtain the first similarity.
[0158] In this embodiment, the first similarity can represent the similarity between the first image as a whole and the second image as a whole.
[0159] Step 205: Based on the first similarity, control the 3D printer to print the 3D model.
[0160] In this embodiment, the printing of the 3D model by the 3D printer can be controlled based on the value of the first similarity.
[0161] As an example, if the first similarity is greater than the first preset threshold, the 3D printer can be controlled to continue printing the 3D model; if the first similarity is less than or equal to the first preset threshold, the 3D printer can be controlled to reprint the 3D model.
[0162] It should be noted that, in addition to the contents described above, this embodiment may also include... Figure 1 The corresponding technical features described in the corresponding embodiments, thereby achieving Figure 1 For details on the technical effects of the printer control method shown, please refer to [link / reference]. Figure 1 The relevant descriptions are presented concisely and will not be elaborated upon here.
[0163] The printer control method provided in this application controls the 3D printer to print the 3D model by using the similarity between the first overall image and the second overall image, and can determine whether the target printing layer is printed correctly as a whole.
[0164] Figure 3 This is a flowchart illustrating another printer control method provided in an embodiment of this application.
[0165] Specifically, such as Figure 3 As shown, the method specifically includes:
[0166] Step 301: Obtain model data of the three-dimensional model, wherein the three-dimensional model includes a target printing layer, and the model data is used by the three-dimensional printer to print the three-dimensional model.
[0167] In this embodiment, step 301 and Figure 1 Step 101 in the corresponding embodiment is basically the same, and will not be repeated here.
[0168] Step 302: Based on the model data, determine the image of the target printing layer from the target viewpoint to obtain the first image.
[0169] In this embodiment, step 302 and Figure 1 Step 102 in the corresponding embodiment is basically the same, and will not be repeated here.
[0170] Step 303: After the 3D printer finishes printing the target printing layer, determine the image of the target printing layer captured by the camera from the target viewpoint to obtain the second image.
[0171] In this embodiment, step 303 and Figure 1 Step 103 in the corresponding embodiment is basically the same, and will not be repeated here.
[0172] Step 304: Divide the first image into a target number of image patches to obtain a first target set.
[0173] In this embodiment, the target quantity can be a predetermined quantity (e.g., 4, 9) or a quantity determined based on the 3D model. For example, the target quantity can be the number of model parts included in the 3D model. Here, model parts can be non-connected portions of the 3D model.
[0174] The first target set may be a set of target number patches obtained by dividing the first image.
[0175] Here, by dividing the first image according to the region (i.e., the tile), a set of images of the printed parts can be obtained, that is, a first target set can be obtained.
[0176] Step 305: Divide the second image into the target number of patches to obtain a second target set, wherein the patches in the first target set correspond one-to-one with the patches in the second target set.
[0177] In this embodiment, the second target set may be: a set of target number patches obtained by dividing the second image.
[0178] The number of tiles in the second target set is equal to the number of tiles in the first target set, both being the aforementioned target number.
[0179] Here, by dividing the second image according to the region (i.e., the tile), a set of images of the printed parts can be obtained, that is, a second target set can be obtained.
[0180] In some cases, the first image is divided in the same way as the second image.
[0181] In some optional implementations of this embodiment, the first image can be divided into a target number of blocks in the following way: the first image is divided into a target number of rectangular blocks using a grid partitioning method.
[0182] For example, the first image can be divided into a 3x3 grid to obtain 9 tiles.
[0183] Based on this, the second image can be divided into the target number of blocks in the following way: the second image is divided into the target number of rectangular blocks using the grid division method.
[0184] For example, the second image can be divided into a 3x3 grid to obtain 9 tiles.
[0185] It is understandable that, among the above optional implementation methods, using a grid partitioning method to divide the first image and the second image can complete the image partitioning more quickly, thereby improving the timeliness of subsequent judgment on whether the target printing layer is accurate.
[0186] In some optional implementations of this embodiment, the three-dimensional model includes multiple model parts. The number of model parts included in the three-dimensional model is the target number, that is, the number of model parts included in the three-dimensional model is determined as the target number.
[0187] Based on this, the first image can be divided into a target number of blocks in the following manner: from the first image, determine the blocks that include each of the target number of model parts.
[0188] As an example, edge detection can be performed on the first image to determine a patch from the first image that includes each of the target number of model parts.
[0189] Based on this, the second image can be divided into the target number of patches in the following manner:
[0190] For each of the target number of tiles, based on the position of that tile in the first image, the corresponding tile is determined from the second image.
[0191] Here, if patch A in the first image corresponds to patch B in the second image, then the position of patch A in the first image can be the same as the position of patch B in the second image.
[0192] Step 306: Determine the similarity between the tiles in the first target set and the corresponding tiles in the second target set to obtain the second similarity.
[0193] In this embodiment, the second similarity may be the similarity between the tiles in the first target set and the corresponding tiles in the second target set.
[0194] Step 307: Based on the second similarity, control the 3D printer to print the 3D model.
[0195] In this embodiment, the printing of the 3D model by the 3D printer can be controlled based on the numerical value of the second similarity.
[0196] As an example, if the second similarity is greater than the second preset threshold, it can be determined that the probability of the target printing layer being printed correctly is high. Furthermore, the 3D printer can be controlled to continue printing the 3D model. If the second similarity of a corresponding block is less than or equal to the second preset threshold, it can be determined that the probability of the target printing layer within the corresponding block being printed incorrectly is high. Furthermore, the 3D printer can be controlled to pause printing the portion of the 3D model corresponding to that block (e.g., stop printing the currently printed model part) and start printing the portion of the 3D model corresponding to other blocks (e.g., print other model parts), or, the printing nozzle output can be paused to pause printing the 3D model.
[0197] The printer control method provided in this application, by dividing a first image and a second image and then calculating the similarity between the corresponding blocks obtained from the division, can determine whether the local part of the target printing layer is printed correctly, thereby further improving the accuracy of the three-dimensional model obtained by the printer.
[0198] The following uses the target printing layer as the first printing layer as an example to illustrate the embodiments of this application. However, it should be noted that the embodiments of this application may have the features described below, but the following description does not constitute a limitation on the protection scope of the embodiments of this application.
[0199] 3D printing technology, a cutting-edge model-making technology in recent years, inevitably produces various defects during the printing process, such as non-adhesive first layer, spaghetti-like defects, and dry printing. Research shows that first-layer issues account for over 90% of all problems, and almost all user model printing failures are due to poorly printed first layers. Therefore, this paper proposes a high-precision first-layer printing recognition scheme that exhibits high robustness under various lighting conditions and does not require industrial-grade lighting and imaging conditions.
[0200] Reference Figure 9 , Figure 9 This is a flowchart illustrating another printer control method provided in an embodiment of this application. Figure 9 As shown, this method can be divided into three main modules:
[0201] 1. Multiple exposure photography.
[0202] 1. Take multiple images (i.e., the image set above), each with a different exposure time, to ensure that areas of varying brightness and darkness in the scene can be captured.
[0203] 2. Read all captured images and convert them to grayscale or RGB format.
[0204] 3. Perform camera response function estimation to correct for image brightness differences under different exposures. This process involves acquiring the brightness value of each pixel under different exposures and converting it into a true brightness value. Typically, this process requires a curve fitting algorithm based on the least squares method.
[0205] 4. Perform exposure alignment to reduce registration errors caused by minute image shifts. This process involves image registration using image feature points or masks.
[0206] 5. Image merging. In this process, images at different exposures are weighted and averaged. High-exposure images are assigned lower weights, while low-exposure images are assigned higher weights. This process is typically accomplished using an exposure merging technique based on the Debevec-Malik algorithm.
[0207] 6. Color Mapping. This process converts the merged HDR image into a standard 8-bit image for display and printing. Typically, this process involves tone mapping to preserve the rich detail and tonal variations in shadow areas of the HDR image.
[0208] In real-world scenarios, image quality is significantly affected by environmental factors; both overexposure and underexposure can lead to a substantial decrease in image quality. To address this issue, a multiple exposure strategy can be introduced, using a multi-frame fusion algorithm to obtain a high-quality image, such as... Figure 6 As shown, Figure 6 This is a schematic diagram of the image fusion process involved in a printer control method provided in an embodiment of this application.
[0209] Here, a second image can be generated based on an image obtained from multiple exposure photography.
[0210] II. Comparison of the first layer outline.
[0211] 1. Using slicing software, obtain the cross-sectional rendering of the model file from the camera's perspective, perform binarization, find edge contours, and perform dilation operations to obtain the first image mentioned above.
[0212] The principle of image dilation is as follows: Assuming there is a foreground object in the original image, the process of dilating the original image using a structuring element is as follows: Traverse every pixel of the original image, then align the center point of the structuring element with the pixel being traversed, and then take the maximum value of all pixels in the corresponding area of the original image covered by the current structuring element, and replace the current pixel value with this maximum value.
[0213] The process of contour finding is as follows:
[0214] First, find a black pixel and designate it as the starting pixel. There are several ways to locate a starting pixel; for example, you can start from the bottom left corner of the grid and scan each column of pixels from bottom to top, from left to right, until you encounter a black pixel, which you then use as the starting pixel.
[0215] After that, each time a black pixel P is encountered, backtracking is performed, that is, returning to the white pixel where it was standing, and then bypassing pixel P in a clockwise direction, visiting every pixel in its mole neighborhood, until a black pixel is hit.
[0216] This process is repeated until the starting pixel is visited a second time, at which point the algorithm terminates. The black pixels traversed during the entire process become the boundary pixels of the target. These traversed black pixels form the outline of the pattern.
[0217] 2. Edge detection algorithms are used to perform edge detection on the camera image. A sliding window the size of a standard slice outline is taken and scanned across the entire image. The edge image of the extracted window and the dilated image are then ANDed. In incorrect positions, the similarity of the AND operation result will be very low; however, if the window is moved to the correct position, the overlap with the operated outline will be very high, thus locating the correct model position. Please refer to [link / reference] for details. Figure 5 .
[0218] For example, please refer to Figures 4A-4C , Figures 4A-4C This is a schematic diagram illustrating the method for determining the edge contour in a printer control method provided in this application embodiment. As shown in the figure, in the process of... Figure 4A After edge detection is performed on the image shown, we can obtain... Figure 4B The edge contour shown, then, in the... Figure 4B After dilating the edge contour shown, the following can be obtained: Figure 4C The image shown.
[0219] Third, after locating the model, calculate the similarity of the overall outline, the similarity of the partition outline, and the similarity of the individual component outline.
[0220] 1. Overall contour comparison. For example, such as... Figure 7 As shown, Figure 7 This is a schematic diagram of a second image in an image-to-image comparison scenario within a printer control method provided in this application embodiment. Figure 7 The selected area can be used as a second image.
[0221] 2. Grid-based component comparison: Divide the image into a 9-grid section and compare the similarity of each section. For an example, please refer to... Figure 8A and Figure 8B , Figure 8AA schematic diagram of a first type of first target set provided in an embodiment of this application; Figure 8B This is a schematic diagram illustrating a first type of second target set provided in an embodiment of this application. Figure 8A and Figure 8B In the middle, a grid division method is used to divide the data into sections. Figure 8A , 8B The first and second images in the image are divided into 9 patches each.
[0222] 3. Individual component comparison: Extract disconnected individual components and compare each component individually. For an example, please refer to... Figure 8C and Figure 8D , Figure 8C A schematic diagram of a second type of first target set provided in an embodiment of this application; Figure 8D This is a schematic diagram illustrating a second type of second target set provided in an embodiment of this application. Figure 8C and Figure 8D In the middle, based on the model parts, respectively... Figure 8C , 8D The first and second images in the image are divided to obtain the corresponding blocks for each model part.
[0223] Among them, the similarity of the overall outline is also known as the first similarity mentioned above.
[0224] Partition outline similarity, which is the similarity between corresponding patches obtained by dividing the image using a grid method.
[0225] The similarity of the outlines of individual components, that is, the similarity between the corresponding blocks of the above model parts.
[0226] III. Dynamic adjustment of path planning.
[0227] Here, the path planning is dynamically adjusted, that is, the 3D printer described above is controlled to perform one of the following: pause printing, print other model parts, reprint, or continue printing.
[0228] In practice, G-code, as an instruction format, is used to control 3D printers (or other CNC machine tools). It can be understood as a time-series set of control instructions for the 3D printer, with different models corresponding to different G-code codes. For multiple part models, the G-code blocks can be internally divided, with different blocks corresponding to different part models (i.e., the aforementioned model parts). Combining this with the initial identification results, it can be determined which code block (or part) is malfunctioning. In subsequent printing processes, this G-code instruction is skipped, and other printing commands are executed. This way, the printing of other normal parts is not affected, and the entire printing process is not rendered unusable.
[0229] It should be noted that, in addition to the contents described above, this embodiment may also include the technical features described in the above embodiments, thereby achieving the technical effect of the printer control method shown above. Please refer to the above description for details. For the sake of brevity, it will not be elaborated here.
[0230] The printer control method provided in this application can solve the problem of poor image quality in products through a multi-exposure scheme, thereby affecting the recognition accuracy of subsequent contour comparison methods. Through a contour comparison strategy (overall, partitioned, and individual part), it can detect local detail errors in the first layer of printing with a high recall rate. Dynamic path planning allows printing to continue even if individual parts of the model have problems, instead of abruptly pausing printing. Furthermore, this method effectively prevents glue overflow and clogging caused by non-adhesive first layer, thus avoiding machine damage.
[0231] Figure 10 This is a schematic diagram of the structure of a printer control device provided in an embodiment of this application. Specifically, it includes:
[0232] The acquisition unit 401 is used to acquire model data of a three-dimensional model, wherein the three-dimensional model includes a target printing layer, and the model data is used by a three-dimensional printer to print the three-dimensional model;
[0233] The first determining unit 402 is used to determine the image of the target printing layer from the target viewpoint based on the model data, and obtain the first image;
[0234] The second determining unit 403 is used to determine the image of the target printed layer captured by the camera from the target viewpoint after the 3D printer has finished printing the target printed layer, and obtain a second image.
[0235] Control unit 404 is used to control the 3D printer to print the 3D model based on the first image and the second image.
[0236] In one possible implementation, controlling the 3D printer to print the 3D model based on the first image and the second image includes:
[0237] Determine the similarity between the first image and the second image to obtain a first similarity score;
[0238] Based on the first similarity, the 3D printer is controlled to print the 3D model.
[0239] In one possible implementation, controlling the 3D printer to print the 3D model based on the first image and the second image includes:
[0240] The first image is divided into a target number of image patches to obtain a first target set;
[0241] The second image is divided into the target number of patches to obtain a second target set, wherein the patches in the first target set correspond one-to-one with the patches in the second target set;
[0242] Determine the similarity between the corresponding tiles in the first target set and the corresponding tiles in the second target set to obtain the second similarity.
[0243] Based on the second similarity, the 3D printer is controlled to print the 3D model.
[0244] In one possible implementation, dividing the first image into a target number of patches includes:
[0245] The first image is divided into a target number of rectangular patches using a grid partitioning method; and
[0246] The step of dividing the second image into the target number of image patches includes:
[0247] The second image is divided into the target number of rectangular blocks using the grid division method.
[0248] In one possible implementation, the three-dimensional model includes a plurality of model parts, and the number of model parts included in the three-dimensional model is the target number; and
[0249] The step of dividing the first image into a target number of image patches includes:
[0250] From the first image, determine a patch including each of the target number of model parts; and
[0251] The step of dividing the second image into the target number of image patches includes:
[0252] For each of the target number of tiles, based on the position of that tile in the first image, the corresponding tile is determined from the second image.
[0253] In one possible implementation, controlling the 3D printer to print the 3D model includes:
[0254] The operation type to be performed by the 3D printer is determined; wherein, the operation type includes one of the following: pause printing, print other model parts, reprint, and continue printing; the other model parts are: model parts in the 3D model other than the model parts currently being printed;
[0255] Control the 3D printer to perform the operation of the operation type.
[0256] In one possible implementation, determining the image of the target printed layer captured by the camera from the target viewpoint to obtain a second image includes:
[0257] Acquire an image set, wherein the image set includes: images of the target printing layer captured by a camera at different exposure levels from the target viewpoint;
[0258] Determine the weights corresponding to the images in the image set, wherein the weights corresponding to the images are negatively correlated with the exposure of the images;
[0259] Based on the determined weights, the images in the image set are fused to obtain a second image, and the viewpoint of the second image is used as the target viewpoint.
[0260] In one possible implementation, the target printing layer includes a first printing layer.
[0261] The printer control device provided in this embodiment can be as follows: Figure 10 The control device for the printer shown can execute all the steps of the control methods for each printer described above, thereby achieving the technical effects of the control methods for each printer described above. For details, please refer to the relevant descriptions above. For the sake of brevity, further details are not provided here.
[0262] Figure 11 This is a schematic diagram of the structure of a 3D printing device provided in an embodiment of this application. Figure 11 The 3D printing apparatus 500 shown includes at least one processor 501, a memory 502, at least one network interface 504, and other user interfaces 503. The various components in the 3D printing apparatus 500 are coupled together via a bus system 505. It is understood that the bus system 505 is used to implement communication between these components. In addition to a data bus, the bus system 505 also includes a power bus, a control bus, and a status signal bus. However, for clarity, ... Figure 11 The general designated all buses as Bus System 505.
[0263] The user interface 503 may include a display, keyboard, or clicking device (e.g., mouse, trackball, touchpad, or touchscreen).
[0264] It is understood that the memory 502 in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The memory 502 described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0265] In some implementations, memory 502 stores elements, executable units or data structures, or subsets thereof, or extended sets thereof: operating system 5021 and application program 5022.
[0266] The operating system 5021 includes various system programs, such as the framework layer, core library layer, and driver layer, used to implement various basic business functions and handle hardware-based tasks. The application program 5022 includes various applications, such as a media player and a browser, used to implement various application functions. Programs implementing the methods of this application embodiment can be included in application program 5022.
[0267] In this embodiment, by calling the program or instructions stored in memory 502, specifically the program or instructions stored in application program 5022, processor 501 executes the method steps provided in each method embodiment, including, for example:
[0268] Obtain model data of a 3D model, wherein the 3D model includes a target printing layer, and the model data is used by a 3D printer to print the 3D model;
[0269] Based on the model data, the image of the target printing layer from the target viewpoint is determined, and a first image is obtained;
[0270] After the 3D printer finishes printing the target printing layer, the image of the target printing layer captured by the camera from the target viewpoint is determined to obtain a second image;
[0271] Based on the first image and the second image, the 3D printer is controlled to print the 3D model.
[0272] The methods disclosed in the embodiments of this application can be applied to or implemented by processor 501. Processor 501 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 501 or by instructions in the form of software. The processor 501 may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software units in the decoding processor. The software units may be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory 502. Processor 501 reads the information in memory 502 and, in conjunction with its hardware, completes the steps of the above method.
[0273] It is understood that the embodiments described herein can be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described above in this application, or combinations thereof.
[0274] For software implementation, the techniques described herein can be implemented by units that perform the functions described above. The software code can be stored in memory and executed by a processor. The memory can be implemented within the processor or external to the processor.
[0275] The 3D printing equipment provided in this embodiment can be as follows: Figure 11 The 3D printing equipment shown can execute all the steps of the control methods for each printer described above, thereby achieving the technical effects of the control methods for each printer described above. For details, please refer to the relevant descriptions above. For the sake of brevity, further details are not provided here.
[0276] This application also provides a storage medium (computer-readable storage medium). This storage medium stores one or more programs. The storage medium may include volatile memory, such as random access memory; it may also include non-volatile memory, such as read-only memory, flash memory, hard disk, or solid-state drive; and it may also include combinations of the above types of memory.
[0277] When one or more programs in the storage medium can be executed by one or more processors to implement the printer control method described above that is executed on the 3D printing device side.
[0278] The processor described above is used to execute the 3D printing program stored in the memory to implement the following steps of the printer control method executed on the 3D printing device side:
[0279] Obtain model data of a 3D model, wherein the 3D model includes a target printing layer, and the model data is used by a 3D printer to print the 3D model;
[0280] Based on the model data, the image of the target printing layer from the target viewpoint is determined, and a first image is obtained;
[0281] After the 3D printer finishes printing the target printing layer, the image of the target printing layer captured by the camera from the target viewpoint is determined to obtain a second image;
[0282] Based on the first image and the second image, the 3D printer is controlled to print the 3D model.
[0283] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0284] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented in hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
[0285] It should be understood that the terminology used herein is for the purpose of describing particular exemplary embodiments only and is not intended to be limiting. Unless the context clearly indicates otherwise, the singular forms “a,” “an,” and “described” as used herein may also include the plural forms. The terms “comprising,” “including,” “containing,” and “having” are inclusive and therefore indicate the presence of the stated features, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, elements, components, and / or combinations thereof. The method steps, processes, and operations described herein are not construed as requiring them to be performed in a particular order described or illustrated unless the order of performance is explicitly indicated. It should also be understood that additional or alternative steps may be used.
[0286] The above description is merely a specific embodiment of the present invention, enabling those skilled in the art to understand or implement the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.
Claims
1. A control method of a printer, characterized by, The method is applied to printing 3D models that are not a connected whole, including: Obtain model data of a 3D model, wherein the 3D model includes a target printing layer, and the model data is used by a 3D printer to print the 3D model; Based on the model data, the image of the target printing layer from the target viewpoint is determined, and a first image is obtained; After the 3D printer finishes printing the target printing layer, the image of the target printing layer captured by the camera from the target viewpoint is determined to obtain a second image; Based on the first image and the second image, control the 3D printer to print the 3D model; The step of controlling the 3D printer to print the 3D model based on the first image and the second image includes: From the first image, a patch representing each model part from a target number of model parts is identified to obtain a first target set. For each patch in the target number of patches, based on its position in the first image, a corresponding patch is identified from the second image to obtain a second target set. The similarity between the patches in the first target set and the corresponding patches in the second target set is determined. When the similarity of the patches is less than a preset threshold, printing the model part corresponding to the patch is paused, and printing other model parts begins.
2. The method of claim 1, wherein, The control of the 3D printer to print the 3D model includes: The operation type to be performed by the 3D printer is determined; wherein, the operation type includes one of the following: pause printing, print other model parts, reprint, and continue printing; the other model parts are: model parts in the 3D model other than the model parts currently being printed; Control the 3D printer to perform the operation of the operation type.
3. The method of claim 1, wherein, The process of determining the image of the target printed layer captured by the camera from the target viewpoint to obtain a second image includes: Acquire an image set, wherein the image set includes: images of the target printing layer captured by a camera at different exposure levels from the target viewpoint; Determine the weights corresponding to the images in the image set, wherein the weights corresponding to the images are negatively correlated with the exposure of the images; Based on the determined weights, the images in the image set are fused to obtain a second image, and the viewpoint of the second image is used as the target viewpoint.
4. The method of claim 1, wherein, The target printing layer includes the first printing layer.
5. A control device of a printer characterized by comprising: The apparatus is used to print 3D models that are not a connected whole, including: An acquisition unit is used to acquire model data of a three-dimensional model, wherein the three-dimensional model includes a target printing layer, and the model data is used by a three-dimensional printer to print the three-dimensional model; The first determining unit is used to determine the image of the target printing layer from the target viewpoint based on the model data, and obtain the first image; The second determining unit is used to determine the image of the target printed layer captured by the camera from the target viewpoint after the 3D printer has finished printing the target printed layer, and obtain the second image. A control unit is configured to control the three-dimensional printer to print the three-dimensional model based on the first image and the second image, wherein: from the first image, a tile including each of a target number of model parts is determined to obtain a first target set, for each of the target number of tiles, a corresponding tile is determined from the second image based on a position of the tile in the first image to obtain a second target set; a similarity between the tile in the first target set and the corresponding tile in the second target set is determined; and when the similarity of the tile is less than a preset threshold, printing of a model part corresponding to the tile is paused and printing of other model parts is started.
6. A 3D printing device, characterized by The method comprises: a memory configured to store a computer program; a processor configured to execute the computer program stored in the memory, and the computer program, when executed, implements the method of any one of claims 1-4.
Citation Information
Patent Citations
Printing monitoring system and method
CN111016181A
3D printing model detection method and related device
CN115195124A