Method, device, 3D printer and storage medium for 3D printer
By establishing the correspondence between the identification of the 3D printing model and the image pixel area, and generating control codes to skip the failed printing model, solving the problems of material waste and other models during the 3D printing process, achieving an efficient and high-quality 3D printing process.
Patent Information
- Application Number
- CN202210523049.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-13
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2042-05-13
AI Technical Summary
During the 3D printing process, if a model fails to print, the 3D printer continues to implement the established printing strategy, resulting in wasted printing materials and damage to the appearance and shape of other models.
By obtaining the three-dimensional model file, establish the correspondence between the model identifier and the image pixel area, and generate control codes to achieve the function of skipping the failed printing model. The user can select a model that skips the printing through the human-computer interactive interface. The generated control code contains the model identifier, instructing the 3D printer to skip the printing operation of the corresponding model.
It realizes the timely skipping of the printing of the specified model during the 3D printing process, saving printing materials, avoiding the printing materials scratching and damaging other models, and improving printing efficiency and quality.
Smart Images

Figure CN114789555B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of 3D printing technology, and in particular to a method, an apparatus, a 3D printer, a 3D printing system, a computer-readable storage medium, and a computer program product for a 3D printer. Background Art
[0002] 3D printing technology, also known as additive manufacturing technology, is a technology that uses digital model files as the basis, uses adhesive materials, and constructs objects by printing layer by layer. 3D printing is usually achieved using a 3D printer. 3D printers, also known as three-dimensional printers and stereo printers, are a type of rapid prototyping process equipment. A typical 3D printing technology is fused deposition modeling (FDM). The working principle of an FDM is that the hot melt nozzle moves in a horizontal plane under the control of a computer according to the cross-sectional profile information of the product parts. The thermoplastic linear material is fed to the hot melt nozzle by the feeding mechanism. The molten material is extruded from the nozzle and deposited on the hot bed. After rapid cooling, a thin sheet profile is formed. After a layer of cross-section is formed, the hot bed moves a certain distance in the vertical direction, and then the next layer of cladding is carried out. This cycle eventually forms a three-dimensional product part.
[0003] The methods described in this section are not necessarily methods that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any method described in this section is considered to be prior art simply because it is included in this section. Similarly, unless otherwise indicated, the issues mentioned in this section should not be considered to have been recognized in any prior art. Summary of the invention
[0004] The present disclosure provides a method, an apparatus, a 3D printer, a 3D printing system, a computer-readable storage medium, and a computer program product for a 3D printer.
[0005] According to some aspects of the present disclosure, a method for a 3D printer is provided. The method includes: obtaining a three-dimensional model file, the three-dimensional model file defines multiple models in a batch printing task; establishing a one-to-one correspondence between the model identifiers of the multiple models and multiple first pixel areas in a first image, wherein the first image is used to display the graphical representations of the multiple models in a human-computer interaction interface, and each first pixel area is used to display a corresponding graphical representation of the graphical representations of the multiple models; and generating a set of control codes based on the three-dimensional model file, the set of control codes including multiple code segments, each code segment including a control code for printing a corresponding model in the multiple models and a model identifier of the corresponding model, wherein the set of control codes can be executed by a processor of the 3D printer to enable the 3D printer to execute a printing strategy. The printing strategy includes: in response to obtaining a control instruction to skip printing a target model in the multiple models, skipping the execution of a control code in at least one code segment in the multiple code segments, the control instruction including the model identifier of the target model, each code segment in the at least one code segment including the model identifier of the target model, wherein the control instruction is generated based on a user's selection operation on the graphical representation of the target model on the first image through the human-computer interaction interface and the one-to-one correspondence.
[0006] According to another aspect of the present disclosure, a device for a 3D printer is provided. The device includes: a model acquisition unit configured to acquire a three-dimensional model file, wherein the three-dimensional model file defines multiple models in a batch printing task; a first image generation unit configured to establish a one-to-one correspondence between model identifiers of each of the multiple models and multiple first pixel regions in a first image, wherein the first image is used to display the respective graphical representations of the multiple models in a human-computer interaction interface, and each first pixel region is used to display a corresponding graphical representation of the respective graphical representations of the multiple models; and a control code generation unit configured to generate a set of control codes based on the three-dimensional model file, wherein the set of control codes includes multiple code segments, each code segment includes a control code for printing a corresponding model in the multiple models and a model identifier of the corresponding model, wherein the set of control codes can be executed by a processor of the 3D printer to enable the 3D printer to execute a printing strategy. The printing strategy includes: in response to obtaining a control instruction to skip printing a target model among the multiple models, skipping executing a control code in at least one code segment among the multiple code segments, the control instruction including a model identifier of the target model, each code segment in the at least one code segment including a model identifier of the target model, wherein the control instruction is generated based on a user's selection operation on a graphical representation of the target model on a first image through a human-computer interaction interface and the one-to-one correspondence.
[0007] According to another aspect of the present disclosure, a 3D printer is provided, comprising: a processor; and a memory, wherein the memory stores a set of control codes generated using the above method, wherein the set of control codes can be executed by the processor of the 3D printer to enable the 3D printer to execute the printing strategy.
[0008] According to another aspect of the present disclosure, a 3D printing system is provided, including: a 3D printer; and 3D printing slicing software, configured to execute the above method.
[0009] According to yet another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the above method.
[0010] According to yet another aspect of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program implements the above method when executed by a processor.
[0011] According to the method of the embodiment of the present disclosure, the 3D printer can skip the printing operation of the specified model in a timely manner, thereby saving printing materials on the one hand, and reducing or avoiding the extruded excess printing materials from scratching other printed parts on the hot bed on the other hand, thereby protecting the appearance and shape of other printed parts. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the multiple drawings represent the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings only depict some embodiments disclosed in the present application and should not be regarded as limiting the scope of the present application.
[0013] Figure 1 A schematic structural diagram of a 3D printer according to an embodiment of the present disclosure is shown;
[0014] Figure 2 A flow chart of a method for a 3D printer according to an embodiment of the present disclosure is shown;
[0015] Figure 3 A schematic diagram showing a first image in a method for a 3D printer according to an embodiment of the present disclosure;
[0016] Figure 4 A schematic diagram showing a first image and a second image in a method for a 3D printer according to an embodiment of the present disclosure;
[0017] Figure 5 A schematic block diagram showing a device for a 3D printer according to an embodiment of the present disclosure; and
[0018] Figure 6 A schematic block diagram of a computer device according to a disclosed embodiment is shown. DETAILED DESCRIPTION
[0019] In the following, only some exemplary embodiments are briefly described. As those skilled in the art will appreciate, the described embodiments may be modified in various ways without departing from the spirit or scope of the present application. Therefore, the drawings and descriptions are considered to be exemplary and non-restrictive in nature.
[0020] It should be understood that in this specification, the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", "clockwise", "counterclockwise", "axial", "radial", "circumferential" and the like indicate orientations or positional relationships or dimensions that are based on the orientations or positional relationships or dimensions shown in the accompanying drawings, and these terms are used only for the convenience of description and do not indicate or imply that the referred device or element must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as limiting the scope of protection of the present application.
[0021] In addition, the terms "first", "second", "third", etc. are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first", "second", "third" may explicitly or implicitly include one or more of the feature. In the description of this application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.
[0022] In this application, unless otherwise clearly specified and limited, the terms "installed", "connected", "connected", "fixed" and the like should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection, an electrical connection, or a communication; it can be a direct connection, or an indirect connection through an intermediate medium, it can be the internal connection of two elements or the interaction relationship between two elements. For ordinary technicians in this field, the specific meanings of the above terms in this application can be understood according to specific circumstances.
[0023] In the present application, unless otherwise clearly specified and limited, a first feature being "above" or "below" a second feature may include that the first and second features are in direct contact, or may include that the first and second features are not in direct contact but are in contact through another feature between them. Moreover, a first feature being "above", "above" and "above" a second feature includes that the first feature is directly above and obliquely above the second feature, or simply indicates that the first feature is higher in level than the second feature. A first feature being "below", "below" and "below" a second feature includes that the first feature is directly below and obliquely below the second feature, or simply indicates that the first feature is lower in level than the second feature.
[0024] Before introducing the various embodiments of the present disclosure in detail, the basic working principle of 3D printing is briefly introduced first. Before performing a 3D printing operation, a slicing software can be used to slice the 3D model to be printed, and then the model slices can be converted into Gcode codes, and the Gcode codes can be sent to the 3D printer so that the 3D printer can perform a printing operation according to the printing strategy defined in the Gcode. In the scenario of printing multiple models, the printing strategy of the 3D printer is mainly divided into the following two types: the first is layer-by-layer printing, that is, the first layer of multiple models is printed separately on the hot bed, and then the second layer of multiple models is printed separately, until the last layer of each model in the multiple models is printed separately. The second is piece-by-piece printing, that is, after printing a complete model, another complete model is printed.
[0025] However, in the scenario of printing multiple models, one or several of the models may fail to print during the printing process due to some reasons. For example, a printed part is not bonded in place on the hot bed, causing the part to fall off during the printing process. For another example, in some scenarios, it is necessary to print support parts for parts, and in the actual printing process, errors in printing the support parts may cause the parts to be printed in the air or the parts to shake during the printing process. For another example, during the printing process, some areas of the part may warp up, causing the printer's nozzle to knock down the part, resulting in the failure of the part to print.
[0026] When a part fails to print, the 3D printer will continue printing according to the established printing strategy in the Gcode, that is, the 3D printer's print nozzle may continue to extrude printing material above the part that has failed to print. This will not only waste printing time and printing material, but also because the part below the extruded printing material has collapsed or shifted, the extruded printing material may hang on the printer's extruder head, and then be scratched onto the next part as the print head moves, thereby destroying the appearance and shape of the next part.
[0027] In the 3D printer system of the related art, when faced with such problems, users can only wait for the 3D printer to complete the established printing strategy and pick up the unscratched printed parts from the hot bed, or can only forcibly terminate the printing task during the printing process. This greatly reduces the overall printing efficiency and printing quality.
[0028] For example, Figure 1 FIG. 1 shows a schematic diagram of the structure of a 3D printer 100 according to an embodiment of the present disclosure. Figure 1 As shown, the 3D printer 100 includes a housing 110, a heated bed 120, a print head 130 and a drive device (not shown). Figure 1 The 3D printer may also have a lifting mechanism to drive the hot bed 120 to move up and down (i.e., along the Figure 1 The drive device is connected to the print head 130 and is used to drive the print head to move in a plane parallel to the hot bed 120 (i.e. Figure 1 ). In an exemplary printing process, the hot bed 120 is raised to an upper surface close to the nozzle 140 of the print head 130, the nozzle 140 extrude molten printing wire, and then start printing the first layer of slices of the model. After the first layer of slices is printed, the hot bed 120 will drop to the height of the slice layer, and then the print head 130 starts printing the second layer of slices on the upper surface of the first layer of slices. The above process is repeated in this way to complete the printing of multiple models (for example, model 150A, model 150B and model 150C). Assuming that during the printing process, model 150A fails to print due to the above reasons, the 3D printer 100 may still continue the printing operation according to the established printing strategy in the Gcode, that is, the nozzle 140 may continue to extrude the printing wire above the model 150A. Since the model 150A is damaged, continuing to extrude the printing wire on the model 150A will result in a waste of the printing wire; and the extruded printing wire may hang on the nozzle 140, and the hanging printing wire may follow the movement of the print head 130 and scratch the model 150B or the model 150C, thereby destroying the appearance and shape of the model 150B or the model 150C.
[0029] In view of this, embodiments of the present disclosure provide a method, an apparatus, a 3D printer, a 3D printing system, a computer-readable storage medium, and a computer program product for a 3D printer.
[0030] The following will further refer to Figure 2 The method for a 3D printer according to an embodiment of the present disclosure is described in detail. Figure 2 200 for a 3D printer according to an embodiment of the present disclosure. Figure 1 The method 200 is described and can be used to Figure 1 The 3D printer 100 shown in FIG. Figure 2 As shown, the method 200 includes:
[0031] Step S210: obtaining a three-dimensional model file, where the three-dimensional model file defines multiple models in a batch printing task;
[0032] Step S220, establishing a one-to-one correspondence between the model identifiers of the multiple models and the multiple first pixel regions in the first image, wherein the first image is used to display the graphical representations of the multiple models in the human-computer interaction interface, and each first pixel region is used to display a corresponding graphical representation in the graphical representations of the multiple models; and
[0033] Step S230: Based on the three-dimensional model file, generate a set of control codes, wherein the set of control codes includes multiple code segments, each code segment includes a control code for printing a corresponding model among the multiple models and a model identifier of the corresponding model, wherein the set of control codes can be executed by a processor of the 3D printer to enable the 3D printer to execute a printing strategy.
[0034] The above-mentioned printing strategy includes: in response to obtaining a control instruction to skip printing a target model among multiple models, skipping the execution of a control code in at least one code segment among multiple code segments, the control instruction includes a model identifier of the target model, and each code segment in the at least one code segment includes the model identifier of the target model, wherein the control instruction is generated based on a user's selection operation on a graphical representation of the target model on a first image through a human-computer interaction interface and the one-to-one correspondence.
[0035] In step S210, the 3D model file may include multiple models in a batch printing task (eg Figure 1 Model data of Model 150A, Model 150B and Model 150C).
[0036] In step S220, the model identification of each of the multiple models may be the model ID of each of the multiple models (for example, the model ID of each of the multiple models may be 1, 2, 3, etc.). And the first image may be a stereogram capable of displaying the graphical representation of each of the multiple models in the human-computer interaction interface. The first image may include multiple (for example, 3) first pixel areas, and each first pixel area may correspond to the model ID of each of the multiple models (for example, 1, 2, 3). The user may select the corresponding model through the graphical representation of each model displayed in the human-computer interaction interface. For example, when the user finds that the printing of a certain model is damaged or erroneous during the printing process, the graphical representation of the damaged model may be selected in the human-computer interaction interface to trigger a control instruction to skip printing the damaged model.
[0037] In step S230, each code segment in a set of control codes (such as Gcode codes) may include multiple lines of code. A code segment may be a code segment for printing one layer of a model in a layer-by-layer printing process, or a code segment for printing a complete model in a piece-by-piece printing process.
[0038] According to method 200, since each code segment in a set of generated control codes includes a model identifier of a corresponding model, when the 3D printer obtains a control instruction to skip printing a target model among multiple models, since the control instruction includes the model identifier of the target model, the code segments including the model identifier corresponding to the target model can be skipped according to the model identifier included in each code segment, so that the 3D printer no longer performs the printing operation for the target model. Therefore, when the user triggers the control instruction to skip printing a damaged model, the 3D printer can stop the printing operation for the damaged model in time, thereby saving printing materials on the one hand, and reducing or avoiding the extruded excess printing materials from scratching other printed parts on the hot bed on the other hand, thereby protecting the appearance and shape of other printed parts.
[0039] According to some embodiments, the first image may be a virtual image of multiple models generated for a batch printing task based on a three-dimensional model file. For example, the virtual image may be a color rendering in RGB format generated by computer graphics (CG), so that each model has a color appearance. The RGB value of the color used for rendering may be determined based on the actual color that the model is expected to have in the printing task. In the virtual image, the graphical representation of the model to be printed may be the same as the appearance of the real part corresponding to the model to be printed. Using a virtual image to graphically represent multiple models can help users accurately locate multiple models in the image, reduce the difficulty of use for users, and thus improve the user experience.
[0040] According to some embodiments, the first image may be a top view of the graphical representations of each of the plurality of models. Figure 3 FIG. 1 is a schematic diagram showing a first image in a method for a 3D printer according to an embodiment of the present disclosure. Figure 3 As shown, the first image 310 shows Figure 1 The top view of the three models (model 150A, model 150B and model 150C) in the XY plane, in which the graphical representations of model 150A, model 150B and model 150C are graphical representations 350A, 350B and 350C respectively. By displaying the graphical representations of the top views of the multiple models in the human-computer interaction interface, the user can accurately correspond the graphical representations on the interface with the actual printed objects.
[0041] In some examples, the first image may be a color overhead view of graphical representations of each of the plurality of models.
[0042] According to some embodiments, the first image may be a real image of actual printed objects corresponding to the plurality of models captured by a camera arranged at the 3D printer, wherein the pixel representation of each actual printed object in the real image is a graphical representation of the corresponding model. The camera may be arranged to capture the real image at a predetermined orientation relative to the 3D printer so that the relative positions of the plurality of first pixel regions for the batch printing task in the first image are predetermined.
[0043] The camera (not shown in the figure) can be arranged at a predetermined position on the 3D printer, for example, it can be arranged on the top of the box 110, and aimed at the hot bed 120 for shooting, so that the real image of the actual printed object corresponding to the multiple models can be captured. It will be understood that the relative positions of the multiple first pixel areas showing the actual printed object in the real image can be known to the slicing software. This is because the slicing software has specified the layout (e.g., position and orientation) of these models on the hot bed when slicing multiple models, and the resulting Gcode will control the 3D printer to print these models on the hot bed according to the layout specified by the slicing software. At the same time, since the camera is installed at a predetermined position of the 3D printer, the rotation and translation of the camera relative to the hot bed can be predetermined by calibrating the camera external parameters. This makes the relative position of the actual printed object in the real image taken by the camera reflect the layout of the multiple models on the hot bed. Therefore, before the actual printing process occurs, the relative positions of the multiple first pixel areas showing the actual printed object in the real image are predetermined, that is, known to the slicing software. This in turn allows the slicing software to associate the model identifiers of each of the multiple models with the corresponding multiple first pixel regions to establish a one-to-one correspondence. In one example, the camera can shoot in an orientation looking down relative to the hot bed, thereby capturing a true top view of the actual printed object. The top view can be used as the first image displayed in the human-computer interaction interface.
[0044] According to some embodiments, the human-computer interaction interface may be a human-computer interaction interface of at least one of the following: a 3D printer, slicing software for 3D printing, or a mobile electronic device that is communicatively connected to the 3D printer. Thus, in some different usage scenarios, the user can observe the first image displayed on the human-computer interaction interface.
[0045] According to some embodiments, the control instruction may be generated by at least one of the following: a 3D printer, slicing software for 3D printing, or a mobile electronic device communicatively connected to the 3D printer.
[0046] In one example, the user can click to select the target model for which printing needs to be skipped on the human-computer interaction interface of the 3D printer; in another example, the user can also click to select the target model for which printing needs to be skipped on the human-computer interaction interface of the slicing software used for 3D printing; in another example, the user can also click to select the target model for which printing needs to be skipped on the human-computer interaction interface of a mobile electronic device (such as a mobile phone) that is communicatively connected to the 3D printer.
[0047] After receiving the user's selection operation on the human-computer interaction interface, the 3D printer, the slicing software for 3D printing, or the mobile electronic device in communication with the 3D printer can obtain the target model that needs to be skipped for printing based on the one-to-one correspondence between the first pixel area selected by the user in the first image and the model identifier of the corresponding model. Thus, a variety of human-computer interaction interfaces can be provided for the user to select the target model that needs to be skipped for printing, thereby further improving the user's experience when the printing operation for the damaged model is stopped in time.
[0048] According to some embodiments, step S220 may include: creating a data structure, the data structure mapping each first pixel region to a model identifier of a corresponding model among a plurality of models, the first pixel region being used to display a graphical representation of the corresponding model.
[0049] The data structure may be a lookup table or other index table. The data structure may store a mapping between each first pixel region and a model identifier of a corresponding model, so that when a user selects a first pixel region, the model identifier corresponding to the first pixel region selected by the user may be found through the data structure, and the 3D printer may skip executing a code segment corresponding to the model identifier.
[0050] According to some embodiments, the data structure may include a second image, the second image includes multiple second pixel regions, and the pixel position in each first pixel region can be mapped to a pixel position in a corresponding second pixel region in the multiple second pixel regions, and the pixel value of the pixel in the corresponding second pixel region is the model identifier of the corresponding model corresponding to the first pixel region.
[0051] refer to Figure 4 , Figure 4 A schematic diagram of a first image and a second image in a method for a 3D printer according to an embodiment of the present disclosure is shown. Figure 4 As shown, the first image 410 may be the same as that described above. Figure 3The first image 310 described is similar. The second image 420 may include multiple second pixel areas (second pixel areas 460A, 460B and 460C). It can be seen from the first image 410 and the second image 420 that the pixel position in each first pixel area can be mapped to the pixel position in one of the multiple second pixel areas, and the pixel value of the pixel of the second pixel area 460A is the model identification (model ID, 1) of the model corresponding to the graphic representation 450A, the pixel value of the pixel of the second pixel area 460B is the model identification (model ID, 2) of the model corresponding to the graphic representation 450B, and the pixel value of the pixel of the second pixel area 460C is the model identification (model ID, 3) of the model corresponding to the graphic representation 450C. Thus, the corresponding model identification can be added to the code segment for printing a corresponding model in the multiple code segments. For example, the first code segment includes the model identification (model ID, 1), the second code segment includes the model identification (model ID, 2), and the third code segment includes the model identification (model ID, 3).
[0052] Therefore, when the user selects a model to be skipped in printing (for example, model 150A) in the first image 410 through the human-computer interaction interface, through the mapping relationship between the graphic representation 450A in the first image 410 and the second pixel area 460A in the second image 420, the printer can skip executing the code segment with model ID 1, that is, the above-mentioned first code segment, so that the printing of model 150A is no longer executed in the printing task.
[0053] According to some embodiments, the resolution of the second image may be the same as the resolution of the first image, and wherein the pixel positions in the plurality of second pixel regions in the second image correspond one-to-one to the pixel positions in the plurality of first pixel regions in the first image.
[0054] In one example, the resolution of the second image 420 and the resolution of the first image 410 may both be 1280*1280.
[0055] According to some embodiments, step S230 may include: adding a model identifier of the corresponding model before and after the control code in each code segment, so as to define the control code in the code segment.
[0056] For example, the control code may include 9 code segments, wherein the 1st, 4th, and 7th code segments are used to print the 1st, 2nd, and 3rd layers of the model 150A, respectively; the 2nd, 5th, and 8th code segments are used to print the 1st, 2nd, and 3rd layers of the model 150B, respectively; and the 3rd, 6th, and 9th code segments are used to print the 1st, 2nd, and 3rd layers of the model 150C, respectively. Model identifiers (e.g., model ID, 1) may be added before and after the 1st, 4th, and 7th code segments, respectively; model identifiers (e.g., model ID, 2) may be added before and after the 2nd, 5th, and 8th code segments, respectively; and model identifiers (e.g., model ID, 3) may be added before and after the 3rd, 6th, and 9th code segments, respectively. Thus, when, for example, a control instruction to skip the model 150A is obtained, if the 3D printer is executing the 4th code segment at this time, since the processor has read the model ID (i.e., 1) before the 4th code segment, the 3D printer may immediately skip executing the 4th code segment and continue to execute the 5th code segment, thereby continuing to print the model 150B. Furthermore, when the processor executes the 7th code segment, since the model ID before the 7th code segment is also 1, the 3D printer can skip executing the 7th code segment and continue to execute the 8th code segment, thereby continuing to print the model 150B.
[0057] In some examples, each line of code in the code segment may include a corresponding model identifier before and after, which will not be repeated here.
[0058] Figure 5 FIG. 5 shows a schematic block diagram of an apparatus 500 for a 3D printer according to an embodiment of the present disclosure. Figure 5 As shown, the device 500 includes:
[0059] The model acquisition unit 510 is configured to acquire a three-dimensional model file, wherein the three-dimensional model file defines multiple models in a batch printing task;
[0060] a first image generating unit 520 configured to establish a one-to-one correspondence between model identifiers of respective models and a plurality of first pixel regions in a first image, wherein the first image is used to display respective graphical representations of the plurality of models in a human-computer interaction interface, and each first pixel region is used to display a corresponding graphical representation of the respective graphical representations of the plurality of models; and
[0061] The control code generation unit 530 is configured to generate a set of control codes based on the three-dimensional model file, wherein the set of control codes includes multiple code segments, each code segment includes a control code for printing a corresponding model among multiple models and a model identifier of the corresponding model, wherein the set of control codes can be executed by a processor of the 3D printer to enable the 3D printer to execute a printing strategy.
[0062] The printing strategy includes: in response to obtaining a control instruction to skip printing a target model among the multiple models, skipping execution of a control code in at least one code segment among the multiple code segments, the control instruction including a model identifier of the target model, each code segment in the at least one code segment including a model identifier of the target model, wherein the control instruction is generated based on a user's selection operation on a graphical representation of the target model on a first image through a human-computer interaction interface and the one-to-one correspondence.
[0063] According to an embodiment of the present disclosure, a 3D printer is also provided, comprising: a processor; and a memory, wherein the memory stores a set of control codes generated using the above method 200, wherein the set of control codes can be executed by the processor of the 3D printer to enable the 3D printer to execute the printing strategy.
[0064] According to yet another aspect of the present disclosure, a 3D printing system is provided, including: a 3D printer; and 3D printing slicing software, configured to execute the method 200 as described above.
[0065] According to yet another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the method 200 as described above.
[0066] According to yet another aspect of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program implements the above method 200 when executed by a processor.
[0067] For the sake of brevity, the details of method 200 are not repeated.
[0068] In the following, combined Figure 6 Illustrative examples of such a computer device, non-transitory computer-readable storage medium, and computer program product are described.
[0069] Figure 6 An example configuration of a computer device 600 that can be used to implement the methods described herein is shown. For example, the above-mentioned 3D printer may include an architecture similar to the computer device 600. The above-mentioned 3D printer may also be implemented in whole or at least in part by the computer device 600 or a similar device or system.
[0070] Computer device 600 can be a variety of different types of devices. Examples of computer device 600 include, but are not limited to, desktop computers, server computers, laptop or netbook computers, mobile devices (e.g., tablet computers, cellular or other wireless phones (e.g., smart phones), notepad computers, mobile stations), wearable devices (e.g., glasses, watches), entertainment devices (e.g., entertainment appliances, set-top boxes communicatively coupled to display devices, game consoles), televisions or other display devices, automotive computers, and the like.
[0071] The computer device 600 may include at least one processor 602, memory 604, communication interface(s) 606, a display device 608, other input / output (I / O) devices 610, and one or more mass storage devices 612, all capable of communicating with one another, such as via a system bus 614 or other appropriate connections.
[0072] The processor 602 may be a single processing unit or multiple processing units, all of which may include a single or multiple computing units or multiple cores. The processor 602 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuits, and / or any device that manipulates signals based on operating instructions. Among other capabilities, the processor 602 may be configured to obtain and execute computer-readable instructions stored in the memory 604, mass storage device 612, or other computer-readable media, such as program code of an operating system 616, program code of an application program 618, program code of other programs 620, and the like.
[0073] The memory 604 and the mass storage device 612 are examples of computer-readable storage media for storing instructions that are executed by the processor 602 to implement the various functions described above. For example, the memory 604 may generally include both volatile memory and non-volatile memory (e.g., RAM, ROM, etc.). In addition, the mass storage device 612 may generally include a hard drive, a solid-state drive, a removable medium, including external and removable drives, a memory card, a flash memory, a floppy disk, an optical disk (e.g., a CD, a DVD), a storage array, a network attached storage, a storage area network, etc. The memory 604 and the mass storage device 612 may all be collectively referred to herein as memory or computer-readable storage media, and may be a non-transitory medium capable of storing computer-readable, processor-executable program instructions as computer program code, which may be executed by the processor 602 as a specific machine configured to implement the operations and functions described in the examples herein.
[0074] A plurality of programs may be stored on the mass storage device 612. These programs include an operating system 616, one or more application programs 618, other programs 620, and program data 622, and they may be loaded into the memory 604 for execution. Examples of such applications or program modules may include, for example, computer program logic (e.g., computer program code or instructions) for implementing the following components / functions: the acquisition unit 1010, the slicing unit 1020, and the determination unit 1030, the methods 200, 300, the method 600, the method 700, and / or the other embodiments described herein.
[0075] Although in Figure 6 604 of the computer device 600, but modules 616, 618, 620, and 622, or portions thereof, may be implemented using any form of computer-readable media accessible by the computer device 600. As used herein, "computer-readable media" includes at least two types of computer-readable media, namely, computer-readable storage media and communication media.
[0076] Computer-readable storage media include volatile and non-volatile, removable and non-removable media implemented by any method or technology for storing information, such as computer-readable instructions, data structures, program modules or other data. Computer-readable storage media include but are not limited to RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD), or other optical storage device, magnetic cassette, magnetic tape, magnetic disk storage device or other magnetic storage device, or any other non-transmission medium that can be used to store information for access by a computer device. In contrast, communication media can embody computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transmission mechanism. Computer-readable storage media defined herein do not include communication media.
[0077] One or more communication interfaces 606 are used to exchange data with other devices, such as through a network, a direct connection, etc. Such communication interfaces can be one or more of the following: any type of network interface (e.g., a network interface card (NIC)), a wired or wireless (such as IEEE 802.11 wireless LAN (WLAN)) wireless interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a cellular network ... TMThe communication interface 606 may facilitate communication within a variety of network and protocol types, including wired networks (e.g., LAN, cable, etc.) and wireless networks (e.g., WLAN, cellular, satellite, etc.), the Internet, etc. The communication interface 606 may also provide for communication with external storage devices (not shown) such as in a storage array, network attached storage, storage area network, etc.
[0078] In some examples, a display device 608 such as a monitor may be included for displaying information and images to the user. Other I / O devices 610 may be devices that receive various inputs from the user and provide various outputs to the user, and may include a touch input device, a gesture input device, a camera, a keyboard, a remote control, a mouse, a printer, an audio input / output device, and the like.
[0079] The technology described herein can be supported by these various configurations of the computer device 600, and is not limited to the specific examples of the technology described herein. For example, the functionality can also be implemented in whole or in part on the "cloud" by using a distributed system. The cloud includes and / or represents a platform for resources. The platform abstracts the underlying functionality of the hardware (e.g., server) and software resources of the cloud. Resources can include applications and / or data that can be used when performing computing processing on a server away from the computer device 600. Resources can also include services provided over the Internet and / or through a subscriber network such as a cellular or Wi-Fi network. The platform can abstract resources and functions to connect the computer device 600 to other computer devices. Therefore, the implementation of the functions described herein can be distributed throughout the cloud. For example, the functions can be implemented partially on the computer device 600 and partially through a platform that abstracts the functions of the cloud.
[0080] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0081] Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-mentioned methods, systems and devices are merely exemplary embodiments or examples, and the scope of the present disclosure is not limited by these embodiments or examples, but is only limited by the claims after authorization and their equivalent scope. Various elements in the embodiments or examples may be omitted or replaced by their equivalent elements. In addition, each step may be performed in an order different from that described in the present disclosure. Further, the various elements in the embodiments or examples may be combined in various ways. It is important that with the evolution of technology, many of the elements described herein may be replaced by equivalent elements that appear after the present disclosure.
Claims
1. A method for a 3D printer, comprising: Acquire a three-dimensional model file, wherein the three-dimensional model file defines multiple models in a batch printing task; establishing a one-to-one correspondence between the model identifiers of the respective models and a plurality of first pixel regions in a first image, wherein the first image is used to display the respective graphical representations of the respective models in a human-computer interaction interface, and each first pixel region is used to display a corresponding graphical representation of the respective graphical representations of the respective models; and Based on the three-dimensional model file, a set of control codes is generated, the set of control codes includes a plurality of code segments, each code segment includes a control code for printing one layer of a corresponding model in the plurality of models in a layer-by-layer printing process and a model identifier of the corresponding model, wherein the layer-by-layer printing process includes: firstly printing the first layers of the plurality of models respectively, then printing the second layers of the plurality of models respectively, until the last layers of the plurality of models are respectively printed, wherein based on the three-dimensional model file, a set of control codes is generated including: adding the model identifier of the corresponding model before and after the control code in each code segment respectively, so as to define the control code in the code segment, wherein the set of control codes can be executed by the processor of the 3D printer so that the 3D printer executes a printing strategy, wherein the printing strategy includes: In response to obtaining a control instruction to skip printing a target model among the multiple models, skip executing a control code in at least one code segment among the multiple code segments, the control instruction includes a model identifier of the target model, and each code segment in the at least one code segment includes the model identifier of the target model, wherein the control instruction is generated based on a user's selection operation on the graphical representation of the target model on the first image through the human-computer interaction interface and the one-to-one correspondence.
2. The method according to claim 1, wherein: Establishing a one-to-one correspondence between the model identifiers of each of the multiple models and the multiple first pixel regions in the first image includes: creating a data structure, which maps each first pixel region to the model identifier of a corresponding model in the multiple models, and the first pixel region is used to display a graphical representation of the corresponding model.
3. The method according to claim 2, wherein: The data structure includes a second image, which includes multiple second pixel areas. The pixel position in each first pixel area is mapped to a pixel position in a corresponding second pixel area among the multiple second pixel areas, and the pixel value of the pixel in the corresponding second pixel area is the model identifier of the corresponding model corresponding to the first pixel area.
4. The method according to claim 3, wherein: The resolution of the second image is the same as that of the first image, and wherein pixel positions in the plurality of second pixel regions in the second image correspond one-to-one to pixel positions in the plurality of first pixel regions in the first image.
5. The method according to claim 1, wherein: The first image is a virtual image of the plurality of models generated for the batch printing task based on the three-dimensional model file.
6. The method according to claim 1, wherein: The first image is a real image of an actual printed object corresponding to the multiple models, captured by a camera arranged at the 3D printer, and the camera is arranged to capture the real image at a predetermined orientation relative to the 3D printer so that the relative positions of the multiple first pixel areas for the batch printing task in the first image are predetermined.
7. The method according to any one of claims 1 to 6, wherein: The first image is a top view of a graphical representation of each of the plurality of models.
8. The method according to any one of claims 1 to 6, wherein: The human-computer interaction interface is a human-computer interaction interface of at least one of the following: The 3D printer, slicing software for 3D printing or a mobile electronic device communicatively connected to the 3D printer.
9. The method according to any one of claims 1 to 6, wherein: The control instruction is generated by at least one of the following: The 3D printer, slicing software for 3D printing or a mobile electronic device communicatively connected to the 3D printer.
10. A device for a 3D printer, comprising: A model acquisition unit is configured to acquire a three-dimensional model file, wherein the three-dimensional model file defines a plurality of models in a batch printing task; a first image generating unit configured to establish a one-to-one correspondence between the model identifiers of the respective models and a plurality of first pixel regions in a first image, wherein the first image is used to display the respective graphical representations of the plurality of models in a human-computer interaction interface, and each first pixel region is used to display a corresponding graphical representation of the respective graphical representations of the plurality of models; and A control code generating unit is configured to generate a set of control codes based on the three-dimensional model file, wherein the set of control codes includes a plurality of code segments, each of which includes a control code for printing one layer of a corresponding model in the plurality of models in a layer-by-layer printing process and a model identifier of the corresponding model, wherein the layer-by-layer printing process includes: firstly printing the first layers of the plurality of models respectively, then printing the second layers of the plurality of models respectively, until the last layers of the plurality of models are respectively printed, wherein generating a set of control codes based on the three-dimensional model file includes: adding the model identifier of the corresponding model before and after the control code in each code segment respectively, so as to define the control code in the code segment, wherein the set of control codes can be executed by the processor of the 3D printer so that the 3D printer executes a printing strategy, wherein the printing strategy includes: In response to obtaining a control instruction to skip printing a target model among the multiple models, skip executing a control code in at least one code segment among the multiple code segments, the control instruction includes a model identifier of the target model, and each code segment in the at least one code segment includes the model identifier of the target model, wherein the control instruction is generated based on a user's selection operation on the graphical representation of the target model on the first image through the human-computer interaction interface and the one-to-one correspondence.
11. A 3D printer, comprising: processor; as well as A memory storing a set of control codes generated by the method according to any one of claims 1 to 9, wherein the set of control codes can be executed by a processor of the 3D printer to enable the 3D printer to execute the printing strategy.
12. A 3D printing system, comprising: 3D printers; as well as 3D printing slicing software, configured to execute the method as described in any one of claims 1-9.
13. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 9.
14. A computer program product comprising a computer program, wherein: When the computer program is executed by a processor, the computer program implements the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
3D printer based on printing error correction, computer device thereof and handheld device
CN108943728A