Method, apparatus, device, storage medium, and program product for 3D printing

By determining the cost of candidate areas in 3D printing and selecting the most suitable target area, the problem of low thermal bed utilization is solved, the model layout is optimized, and the printing efficiency and efficiency are improved.

CN114750410BActive Publication Date: 2025-07-22SHANGHAI LUNKUO TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210369143.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-08
Publication Date
2025-07-22
Estimated Expiration
2042-04-08

AI Technical Summary

Technical Problem

When determining the location distribution of multiple models on the hot bed, existing 3D printing technology has problems such as low utilization of the hot bed printing area and low printing efficiency, and the influence of other attributes of the model, such as printing height and temperature, is not fully considered.

Method used

By obtaining the model file, multiple candidate areas are determined, and their cost is calculated based on the position parameters and printing parameters of the candidate areas, select the most suitable target area for placing, and optimize the layout of the model on the hot bed.

Benefits of technology

The utilization rate of the hot bed printing area is improved, the 3D printing process is optimized, the printing efficiency is improved, and the impact of other attributes of the model on the placing strategy is fully considered.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114750410B_ABST
    Figure CN114750410B_ABST
Patent Text Reader

Abstract

The present application provides a method, apparatus, device, storage medium and program product for 3D printing. The method includes: obtaining a model file that defines a plurality of models to be printed; determining corresponding target regions of the plurality of models in at least one disk, where each disk is a virtual space corresponding to a working area on a hot bed of a 3D printer for 3D printing. Determining the corresponding target regions includes, for each model of the plurality of models: determining a plurality of candidate regions in at least one disk at least according to the shape characteristics of the model; respectively determining the corresponding costs of the plurality of candidate regions for the model according to the position parameters of each candidate region and the printing parameters of the model; and selecting the target region of the model from the plurality of candidate regions according to the corresponding costs; and allocating the plurality of models to the corresponding target regions in at least one disk.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of 3D printing technology, and particularly to a method, an apparatus, an electronic device, a computer-readable storage medium, and a computer program product for 3D printing. Background Art

[0002] A 3D printer, also known as a three-dimensional printer or a stereolithography printer, is a rapid prototyping process device that typically uses digital technology to print materials. 3D printers are often used in the fields of mold manufacturing, industrial design, etc. to manufacture models or components. In recent years, 3D printing technology has high application prospects in jewelry, footwear, industrial design, architecture, engineering and construction (AEC), automotive, aerospace, dental and medical industries, education, geographic information systems, civil engineering, firearms, and other fields.

[0003] In the field of 3D printing technology, multiple models to be printed are usually printed on the same hot bed, that is, multiple models are printed in the same batch, so as to reduce the idle stroke of the extruder head of the 3D printer, and thus improve the printing efficiency. In this case, it is necessary to determine the position distribution of multiple printed models in the same printing batch on the hot bed to maximize the utilization rate of the printing area on the hot bed. At present, there is still much room for improvement in the technology for determining the position distribution of 3D printing models on the hot bed.

[0004] The methods described in this section are not necessarily methods that have been previously envisioned or adopted. Unless otherwise specified, no method described in this section should be considered prior art solely because it is included in this section. Similarly, unless otherwise specified, the problems mentioned in this section should not be considered to have been recognized in any prior art. Summary of the Invention

[0005] According to one aspect of the present disclosure, there is provided a method for 3D printing, including: obtaining a model file that defines multiple models to be printed; determining corresponding target regions of the multiple models in at least one disk, where each disk is a virtual space corresponding to a working area on a hot bed of a 3D printer for 3D printing, and determining the corresponding target regions includes, for each model among the multiple models: determining multiple candidate regions in at least one disk at least according to the shape feature of the model; respectively determining corresponding costs of the multiple candidate regions for the model according to the position parameters of each candidate region and the printing parameters of the model; and selecting the target region of the model from the multiple candidate regions according to the corresponding costs; and allocating the multiple models to the corresponding target regions in at least one disk.

[0006] According to another aspect of the present disclosure, there is also provided an apparatus for 3D printing, including: an acquisition unit configured to acquire a model file, the model file defining a plurality of models to be printed; a determination unit configured to determine corresponding target regions of the plurality of models in at least one disk, where each disk is a virtual space corresponding to a working area on a hot bed of a 3D printer for 3D printing. The determination unit includes: a first determination module configured to, for each of the plurality of models: determine a plurality of candidate regions in at least one disk at least according to the shape characteristics of the model; a second determination module configured to respectively determine corresponding costs of the plurality of candidate regions for the model according to the position parameters of each candidate region and the printing parameters of the model; and a selection module configured to select a target region of the model from the plurality of candidate regions according to the corresponding costs; and an allocation unit configured to allocate the plurality of models to the corresponding target regions in at least one disk.

[0007] According to still another aspect of the present disclosure, there is also provided a computer device, including: a memory, a processor, and a computer program stored on the memory, where the processor is configured to execute the computer program to implement the steps of the above method.

[0008] According to still another aspect of the present disclosure, there is also provided a non-transitory computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps of the above method.

[0009] According to still another aspect of the present disclosure, there is also provided a computer program product, including a computer program, where the computer program, when executed by a processor, implements the steps of the above method.

[0010] According to one or more embodiments of the present disclosure, when arranging a plurality of models on a disk, first determine a plurality of candidate regions of the models, then evaluate each candidate region and calculate its cost, and finally select the most suitable candidate region from the plurality of candidate models according to the cost as the target region of the model. Therefore, the method of the embodiments of the present disclosure can provide an optimized disk arrangement strategy that is more conducive to the subsequent 3D printing process. In addition, the method of the embodiments of the present disclosure fully considers the influence of other attributes of the model (i.e., the printing parameters of the model) on determining the target region of the model compared with the related art, and thus further improves the optimization degree of the disk arrangement strategy. Description of the Drawings

[0011] In the drawings, unless otherwise specified, the same reference numerals throughout the several views denote the same or similar components or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings only depict some embodiments disclosed in accordance with the present application and should not be regarded as limiting the scope of the present application.

[0012] Figure 1 Shows a schematic structural diagram of a 3D printer according to an embodiment of the present disclosure;

[0013] Figure 2 Shows a schematic diagram of arranging plates using slicing software of related technologies;

[0014] Figure 3 Shows a flowchart of a method for 3D printing according to an embodiment of the present disclosure;

[0015] Figure 4 Shows a schematic diagram of the principle of determining multiple candidate regions of a model according to an embodiment of the present disclosure;

[0016] Figure 5 Shows a flowchart of a method for determining multiple candidate regions according to an embodiment of the present disclosure;

[0017] Figure 6 Shows a schematic diagram of decomposing a non-convex shaped model;

[0018] Figure 7 Shows a schematic diagram of decomposing a hollow shaped model;

[0019] Figure 8 Shows a flowchart of a method for selecting a target region from multiple candidate regions according to an embodiment of the present disclosure;

[0020] Figure 9 Shows a flowchart of a method for determining the cost of candidate regions of a model according to an embodiment of the present disclosure;

[0021] Figure 10 Shows a flowchart of a method for determining the cost of candidate regions of a model according to an embodiment of the present disclosure;

[0022] Figure 11 Shows a flowchart of a method for determining the cost of candidate regions of a model according to an embodiment of the present disclosure;

[0023] Figure 12 Shows a flowchart of a method for determining multiple candidate regions according to an embodiment of the present disclosure;

[0024] Figure 13 Shows a flowchart of a method for determining multiple candidate regions according to an embodiment of the present disclosure;

[0025] Figure 14 Shows a block diagram of the structure of a device for 3D printing according to an embodiment of the present disclosure. Detailed implementation manners

[0026] In the following text, only some exemplary embodiments are briefly described. As those skilled in the art can recognize, the described embodiments can be modified in various different ways without departing from the spirit or scope of the present application. Therefore, the accompanying drawings and description are considered to be exemplary in nature rather than restrictive.

[0027] Before introducing the various embodiments of the present disclosure in detail, first briefly introduce the basic working principle of 3D printing. 3D printing requires using slicing software to slice a 3D model (usually a file in stl or 3mf format), convert it to gcode, and send it to a 3D printer. Subsequently, the 3D printer will print according to the sliced 3D model on a heated bed. Figure 1 A schematic structural diagram of a 3D printer 100 according to an embodiment of the present disclosure is shown. As Figure 1 shown, the 3D printer 100 includes a cabinet 110, a heated bed 120, an extruder head 140, and a driving device (not shown Figure 1 in the figure). The cabinet 110 includes a cabinet wall and a top cover 111 located at the top of the cabinet 110 wall, and the heated bed 120 is provided at the bottom of the cabinet 110. The 3D printer also has a lifting mechanism for driving the heated bed 120 to move up and down (i.e., move along the Figure 1 Z-axis direction shown). The driving device is connected to the extruder head 140 and is used to drive the extruder head 140 to move in a plane parallel to the heated bed 120 (i.e., Figure 1 the X-Y plane in the figure). Specifically, the driving device includes a first slide bar 130 extending along the Figure 1 X direction in the figure and a second slide bar extending along the Figure 1 Y direction in the figure (perpendicular to the plane where Figure 1 is located). The extruder head 140 is respectively attached to the first slide bar 130 and the second slide bar and can slide along these two slide bars respectively. In addition, the driving device further includes a motor for driving the extruder head 140 to slide on the first slide bar 130 or the second slide bar. During the actual printing process, the heated bed 120 is raised so that its upper surface is close to the nozzle of the extruder head 140, and then the printing of the first layer slice of the model starts. After the printing of the first layer slice is completed, the heated bed 120 will descend by the height of the slice layer, and then the extruder head 140 starts to print the second layer slice on the upper surface of the first layer slice. Repeat the above process to complete the printing of the entire model.

[0028] Before 3D printing, in addition to slicing the model, the slicing software also needs to pre-set the printing position of each model on the heated bed 120 in the future. That is to say, the arrangement area of each model on the virtual heated bed generated in the slicing software will be pre-set. This process can be called "plating" of the model. For a 3D printing process that needs to print multiple models, it may be necessary to divide the models into multiple batches for printing. In a printing batch, at least some of the multiple models are formed on the heated bed 120 at the same time. That is to say, it may be necessary to perform "plating" on multiple models multiple times to determine the layout of the models on the virtual heated bed in each printing batch. Subsequently, the 3D printer will print multiple models according to the layout during plating.

[0029] The plating of 3D printed models has a great impact on the subsequent printing process. If the layout of the models is not good, it may waste the printing area on the heated bed 120, resulting in the need for more printing batches to complete all the models. This prolongs the printing time and at the same time increases the idle running time of the extruder 140, thus reducing the printing efficiency.

[0030] In the related art, some slicing software already has the function of plating 3D printed models. For example, slicing software such as Cura and Prusa has realized automatic plating. These software generally first obtain the convex hull of each model. The convex hull refers to a convex polygon that can enclose the two-dimensional projection of the model on the horizontal plane (i.e., the plane where the heated bed 120 is located). Then the slicing software will perform "plating" based on the convex hull shapes of these models, so that the convex hulls of each model do not overlap with each other but can maximize the use of the available area on the heated bed 120. This process can be called a 2D bin-packing operation. Figure 2 The schematic diagram of the model layout 200 using the slicing software of the related art for plating is shown. As Figure 2 shown, these models to be printed are multiple parts of a pistol model. The convex hulls of each model in the figure are shown by dotted lines.

[0031] However, the plating function of the related art has the following several defects. As shown by model A in Figure 2 , the convex hull area of this model is larger than the area of the horizontal projection of the model itself. Therefore, if plated according to the convex hull, the part of the model's convex hull that exceeds its horizontal projection cannot be designed to place other models, which may cause a large area of waste. In addition, the plating function of the related art only considers the influence of the convex hull shape of the model and does not consider the influence of other attributes of the model (such as the printing height of the model, the printing temperature of the model, etc.) on plating. Therefore, the optimization degree of the plating strategy is not high.

[0032] Next, refer to Figure 3A method for 3D printing according to an embodiment of the present disclosure will be described in detail. Figure 3 FIG. shows a flowchart of a method 300 for 3D printing according to an embodiment of the present disclosure, as Figure 3 shown, the method 300 includes:

[0033] Step 301, obtaining a model file, where the model file defines a plurality of models to be printed;

[0034] Step 302, determining corresponding target regions of the plurality of models in at least one tray, where each tray is a virtual space corresponding to a working area on a hot bed of a 3D printer for 3D printing;

[0035] Step 303, allocating the plurality of models to the corresponding target regions in at least one tray.

[0036] Wherein, step 302 further includes, for each model among the plurality of models:

[0037] Step 3021, determining a plurality of candidate regions in at least one tray at least according to the shape characteristics of the model;

[0038] Step 3022, respectively determining corresponding costs of the plurality of candidate regions for the model according to the position parameters of each candidate region and the printing parameters of the model; and

[0039] Step 3023, selecting a target region of the model from the plurality of candidate regions according to the corresponding costs.

[0040] According to an embodiment of the present disclosure, when arranging a plurality of models on a tray, first determine a plurality of candidate regions of the models, then evaluate each candidate region and calculate its cost, and finally select the most suitable candidate region from the plurality of candidate models as the target region of the model. Therefore, the method of the embodiment of the present disclosure can provide an optimized tray arrangement strategy that is more beneficial to the subsequent 3D printing process. In addition, the method of the embodiment of the present disclosure fully considers the influence of other attributes of the model (i.e., the printing parameters of the model) on determining the target region of the model compared with the related art, and thus further improves the optimization degree of the tray arrangement strategy.

[0041] In step 301, the model file can be obtained by relevant slicing. The above model file can include model data of the entire object to be printed, and this model data can be decomposed into a plurality of models by slicing software. Each model forms a part of the entire object to be printed. For example, as Figure 2 shown, the object to be printed can be a pistol, and the plurality of models are the plurality of parts of the pistol. In some other embodiments, the model file can also contain a plurality of models that have been decomposed, or a plurality of independent non-associated models.

[0042] The virtual space corresponding to the working area on the heated bed for printing at least one model in each printing batch is called "a tray". Therefore, multi-batch printing can also be referred to as multi-tray printing. In step 302, the target area of each model among the multiple models in one of the multiple trays can be determined in sequence. The shape and size of the target area are exactly the same as the projected size of the model on the horizontal plane. In the subsequent actual printing process, each model will be formed within its corresponding target area.

[0043] After determining the target area of each model, that is, completing the tray arrangement operation. At this time, the target area of at least one model is arranged on each of the multiple trays, thereby forming a printing layout of multiple models on multiple trays. In step 303, the multiple models are assigned to the corresponding target areas in at least one tray according to the determined printing layout.

[0044] The sub-steps in step 302 will be described in detail below.

[0045] In step 3021, for each model, multiple candidate areas can be determined on the multiple trays. The shape and size of these candidate areas are exactly the same as the projected size of the model on the horizontal plane. Subsequently, one target area is determined from these candidate areas. These candidate areas can be determined, for example, according to the shape characteristics of the model and the remaining area on the corresponding tray (i.e., the working area on the heated bed not occupied by the target areas of the already positioned models), so that the candidate areas do not overlap with the target areas of the already positioned models, but can maximize the utilization rate of the heated bed printing area.

[0046] In step 3022, the cost of each of the multiple candidate areas for the model can be calculated respectively. The above cost can be understood as an evaluation of the candidate area. The higher the cost, the less suitable the candidate area is to be selected as the target area. On the contrary, the lower the cost, the more suitable it is to be selected as the target area. In step 3023, the target area of the model is selected from the multiple candidate areas according to the corresponding cost. Subsequently, printing the model within the target area is beneficial to the formation of multiple models. The printing parameters of the above model can include: parameters such as the convex hull of the model, the printing temperature of the model, the heated bed temperature, and the vertical size of the model. The method for determining the costs of the multiple candidate areas according to the position parameters of each candidate area and the printing parameters of the model will be described in detail below and will not be elaborated here. Subsequently, the magnitudes of the corresponding costs of the multiple candidate areas can be compared, and the candidate area with the minimum cost value can be selected as the target area.

[0047] Next, reference will be made to Figure 4 A specific example of the method of this embodiment will be described in detail. Figure 4A schematic diagram showing the principle 400 of a method for determining multiple candidate regions of a model according to an embodiment of the present disclosure. Exemplarily, the model file defines 4 models to be printed, and then the slicing software sequentially determines the target regions of these 4 models in a pre-determined order. As Figure 4 shown, the target region of the first model among the 4 models has been determined within the shaded area 410 on disk A. When determining the target region of the second model, multiple candidate regions can be first determined on disk A, such as Figure 4 the candidate regions 401, 402, 403, and 404 shown. Then, calculate the cost of these four candidate regions for the second model respectively. If there are candidate regions with a cost less than the preset cost threshold among these candidate regions, then select the candidate region with the minimum cost from these 4 candidate regions as the target region; if the costs of these candidate regions are all greater than the preset cost threshold, then create a new disk B, that is, add a new printing batch, and then determine the target region of the second model on disk B. The specific operation is the same as determining the target region on disk A, that is, including determining multiple candidate regions 405 on disk B according to the shape characteristics of the model, then calculating the costs of the multiple candidate regions respectively, and determining the target region from the multiple candidate regions based on the cost. The specific process will not be elaborated here. When determining the target region of the third model, multiple candidate regions can be first determined on disk A. If the costs of these multiple candidate regions all exceed the preset cost threshold, then further determine multiple candidate regions on disk B. If the costs of the multiple candidate regions on disk B still exceed the preset cost threshold, then a new disk C can be created again, and the target region is determined on disk C. Thus, repeat the above process until the target regions of all models have been determined respectively.

[0048] Figure 5 A flowchart showing the method 500 for determining multiple candidate regions according to an embodiment of the present disclosure, where the shape characteristics include the convex hull of the horizontal projection of the model. The method 500 includes:

[0049] Step 501, determine the convex hull of the horizontal projection according to the horizontal projection of the model;

[0050] Step 502, determine whether the ratio of the convex hull area to the horizontal projection is greater than a preset ratio:

[0051] Step 503, if the judgment result of step 502 is yes, decompose the model to obtain multiple sub-models, so that the sum of the convex hull areas of the horizontal projections of the multiple sub-models is less than the convex hull area of the model;

[0052] Step 504, for any one of at least one disk, determine the free area on the disk that is not occupied by the already determined target regions;

[0053] Step 505, determining multiple candidate areas in the disk according to the convex hulls of the multiple sub-models of the model, the constraint relationships between the multiple sub-models, and the free areas;

[0054] Step 506, if the determination result of step 502 is no, for any disk of the at least one disk, determining a free area of the disk that is not occupied by the determined target area;

[0055] Step 507: determine multiple candidate areas in the disk according to the convex hull and the free area.

[0056] As described above, the convex hull of the horizontal projection of the model refers to a convex polygon that can enclose the two-dimensional projection of the model on the horizontal plane (i.e., the plane where the hot bed is located). Therefore, in step 501, the contour line of the horizontal projection of the model can be determined first, and then a plurality of convex points can be selected on the contour line, and then the plurality of convex points can be sequentially connected to form the convex hull of the horizontal projection.

[0057] In step 502, the preset ratio can be set according to the actual situation. If the utilization rate of the printing area of the hot bed is expected to be as high as possible, a lower preset ratio can be set. If the ratio of the convex hull area to the horizontal projection is greater than the preset ratio, it indicates that the free area between the horizontal projection and the convex hull of the model is large and needs to be further decomposed to improve the utilization rate of the subsequent printing area on the hot bed. The above-mentioned model that needs to be further decomposed may be referred to as a "model to be decomposed" hereinafter.

[0058] In step 503, the model can be decomposed according to one or more straight lines. The sum of the convex hull areas of the horizontal projections of the decomposed sub-models will be smaller than the convex hull area of the model before decomposition. Therefore, the subsequent arrangement of the plates according to the convex hulls of the sub-models can improve the utilization rate of the printing area of the hot bed, thereby reducing the number of printing batches as much as possible. The model to be decomposed can include two types of shape models, namely non-convex shapes and hollow shapes. The following will explain in detail how to decompose the models of these two shapes.

[0059] As above combined Figure 4 As described above, since the target areas of the multiple models are determined in a certain order, when determining the target area of a certain model, the determined target areas of other models already exist on at least part of the multiple disks. In step 504, the free area refers to the area portion of the disk that is not occupied by the determined target area.

[0060] In step 505, the decomposed sub-models and other non-decomposed models are put together and a 2D bin-packing operation is performed using slicing software. Constraint conditions are imposed on multiple sub-models belonging to the same model so that the multiple decomposed sub-models enjoy a common coordinate transformation (such as a rotation transformation or a translation transformation) in the virtual space of the slicing software. This ensures that the multiple sub-models after placement on the tray are still an integral model set together.

[0061] In steps 506 and 507, if there are no models that need to be decomposed among the multiple models, then a 2D bin-packing operation can be directly performed on the multiple models.

[0062] The following Figure 6 and Figure 7 will be used to elaborate in detail how to decompose non-convex shapes and hollow shapes. Figure 6 FIG. shows a schematic diagram of the principle 600 for decomposing a model with a non-convex shape; Figure 7 FIG. shows a schematic diagram of the principle 700 for decomposing a model with a hollow shape. As Figure 6 shown, in response to determining that the horizontal projection of the model is a non-convex shape, a first straight line is determined, where the first straight line is a connection line between a first point on the contour line of the horizontal projection of the model and a second point on the corresponding convex hull contour. In the Figure 6 example of, the first point and the second point are two points with the farthest distance from the contour line to the corresponding convex hull contour, but the present disclosure is not limited thereto. As Figure 6 shown in the model of, its horizontal projection (represented by a solid line) is a non-convex shape. For any point on the contour line of the horizontal projection of the model, there is a corresponding point on the convex hull contour (represented by a dotted line) of the horizontal projection of the model. That is to say, the points on the contour line and the points on the convex hull contour are in one-to-one correspondence, and this one-to-one correspondence relationship can be determined by the slicing software. As Figure 6 shown, point An is a point on the contour line of the horizontal projection, and point Bn is the corresponding point on the convex hull contour. Among these point pairs (An, Bn), there is a pair of points with the largest distance, that is, (A1, B1) shown in the figure. In the Figure 6 example of, a first straight line is determined based on (A1, B1), and then the model is decomposed along the first straight line. After decomposition, the areas of the convex hulls of the two sub-models will be significantly smaller than the area of the convex hull of the model before decomposition.

[0063] As Figure 7 shown, in response to determining that the model is a hollow shape, a second straight line is determined, where the second straight line is a connection line between a first point and a second point on the inner contour line of the horizontal projection of the model, and the first point and the second point are two different points on the inner contour line. In the Figure 7In the example, the first point and the second point are the two points on the inner contour line that are the farthest apart, but the present disclosure is not limited thereto. As Figure 7 shown in the model, its horizontal projection is a hollow shape. Different from the non-convex shape model, for the hollow shape model, its decomposition line is determined by two points on the inner contour line (represented by a solid line) of the horizontal projection of the model. In Figure 7 , there is a pair of points with the largest distance on the inner contour line of the horizontal projection of the model, that is, (A2, A3) shown in the figure. In this example, the second line is determined based on (A2, A3), and then the model is decomposed along the second line. Subsequently, the model can be further decomposed, for example, it can be further decomposed along a line that intersects (for example, is perpendicular to) the second line (as Figure 7 shown by the dashed line) to decompose the model into 4 sub-models. The sum of the convex hull areas of the multiple sub-models after the secondary decomposition is smaller than the convex hull area of the model before decomposition.

[0064] In multiple embodiments of the present disclosure, when determining multiple candidate regions of a model, the model can be decomposed to obtain multiple sub-models to reduce the convex hull area of the horizontal projection of the decomposed model. Subsequently, the candidate regions are determined according to the convex hull areas of the horizontal projections of the sub-models, which can make full use of the printing area of the hot bed and improve the efficiency of subsequent printing.

[0065] Figure 8 shows a flowchart of a method 800 for selecting a target region from multiple candidate regions, where at least one disk includes multiple disks, as Figure 8 shown, the method 800 includes:

[0066] Step 801, for any one of the multiple disks, determine at least one candidate region;

[0067] Step 802, determine whether at least one candidate region in this disk includes a candidate region whose cost is less than a preset threshold;

[0068] Step 803, if the determination result of step 802 is yes, select the candidate region with the smallest cost from at least one candidate region in this disk as the target region;

[0069] Step 804, if the determination result of step 802 is no, determine the target region in the other disks except this disk among the multiple disks.

[0070] Next, the method of this embodiment will be described in detail with reference to Figure 4 Exemplarily, the model file defines 4 models to be printed, and then the slicing software sequentially determines the target regions of these 4 models in a pre-determined order, as Figure 4As shown, the target area has been determined within the shaded area 410 of disk A for the first of the four models. When determining the target area for the second model, in step 801, multiple candidate areas can be determined on disk A, such as Figure 4 the candidate areas 401, 402, 403, and 404 shown. Then, calculate the cost of each of these four candidate areas for the second model.

[0071] In step 802, determine whether at least one of the candidate areas on the disk includes a candidate area with a cost less than a preset threshold. In step 803, if there are candidate areas with costs all less than the preset cost threshold among these candidate areas, then select the candidate area with the minimum cost from these 4 candidate areas as the target area for this model. In step 804, if the costs of these candidate areas are all greater than the preset cost threshold, then create a new disk B, that is, add a new printing batch, and then determine the target area of the second model on disk B. The specific operation of determining the target area of the second model on disk B is the same as that of determining the target area on disk A, that is, it includes determining multiple candidate areas on disk B according to the shape characteristics of the model, then calculating the costs of the multiple candidate areas respectively, and determining the target area from the multiple candidate areas based on the costs. The specific process will not be elaborated here.

[0072] When determining the target area for the third model, multiple candidate areas can be determined on disk A first. If the costs of these multiple candidate areas all exceed the preset cost threshold, then multiple candidate areas can be determined on disk B. If the costs of the multiple candidate areas on disk B still exceed the preset cost threshold, then a new disk C can be created and the target area can be determined on disk C. Thus, repeat the above process until the target areas of all models have been determined respectively.

[0073] In some embodiments, the costs of the above-mentioned multiple candidate regions are also related to the printing mode of the 3D printing to be performed. The determining of the respective costs of the multiple candidate regions for the model further includes: determining the printing mode of the 3D printing, where the printing mode includes printing piece by piece or layer by layer, and subsequently determining the cost of each candidate region in the multiple candidate regions for the model according to the printing mode. The so-called "printing piece by piece" means that for multiple models on the same tray (or in the same batch), the first model is printed first and then the second model is printed, and thus, the multiple models are printed in the order of "pieces". Different from "printing piece by piece", "printing layer by layer" prints multiple models on the same tray (or in the same batch) simultaneously. Specifically, the first layer slice of the first model can be printed first, and then the first layer slice of the second model is printed. After the first layer of all models in the multiple models is printed, the second layer slice of the first model is printed. The above printing mode can be set in the 3D printer in advance. For example, the printing mode can be set by operating the control buttons of the 3D printer. The slicing software can determine the printing mode according to the operating state of the 3D printer obtained.

[0074] Figure 9 FIG. 4 shows a flowchart of a method 900 for determining the cost of candidate regions of a model according to an embodiment of the present disclosure. Among them, the printing parameters include the hot bed temperature, and the hot bed temperature is the set temperature of the hot bed when printing the model, as Figure 9 shown, the method 900 includes:

[0075] Step 901, in response to determining that the printing mode is printing piece by piece, determine the hot bed temperature of the model;

[0076] Step 902, obtain the glass transition temperature of at least one located model among the multiple models, where at least one located model has determined a target region in the tray corresponding to the candidate region; and

[0077] Step 903, determine the cost according to the difference between the hot bed temperature of the model and the glass transition temperatures of at least one located model.

[0078] In step 901, the hot bed temperature of the model is related to the material of the model. The hot bed temperature needs to be slightly lower than the glass transition temperature of the model material (i.e., the temperature at which the material changes from a solid state to a liquid state), so as to ensure that the model does not melt when printing the model and is at a temperature suitable for the adhesion of each layer of printed slices.

[0079] During the actual printing process, multiple models to be printed on the same tray need to be printed on the hot bed simultaneously. Therefore, in the piece-by-piece printing mode, each model among the multiple models to be printed needs to be able to withstand the hot bed temperature set during the printing of the model. That is to say, it is required that the hot bed temperature of the model is lower than the glass transition temperature of other models on the same tray (if the above hot bed temperature is higher than the glass transition temperature of some models, then these models will melt during the printing process). Therefore, in step 903, the cost can be determined according to the difference between the hot bed temperature of the model and the glass transition temperature of at least one located model. If there is a situation where these differences are greater than 0, that is, the hot bed temperature of the model is greater than the glass transition temperature of a certain or some models, then the cost of multiple candidate regions of the model on the tray is set to a relatively high value to indicate that the candidate region is not suitable to be selected as the target region.

[0080] The above cost can include multiple cost components. Step 903 further includes: calculating a corresponding cost component among the multiple cost components based on the difference between the hot bed temperature of the model and the glass transition temperature of each located model among at least one located model. Specifically, for each cost component among the multiple cost components, first determine whether the corresponding difference is greater than zero; in response to determining that the corresponding difference is greater than zero, set the cost component to a first preset value.

[0081] In one example, the cost in the piece-by-piece printing mode can be calculated by the following formula:

[0082]

[0083] where cost seq (i) represents the cost of the i-th model, μ1 represents the first preset value, tb i represents the hot bed temperature of the i-th model, tv j represents the glass transition temperature of the j-th model. The function I(x) is equal to 1 when the condition x is true and equal to 0 when the condition x is false. It will be understood that the present disclosure is not limited to the cost calculation formula represented by formula (1). In other embodiments, any other appropriate cost calculation formula can be adopted.

[0084] It can be seen from the above formula that the cost includes j cost components, and each cost component is related to the difference between the hot bed temperature of the model and the glass transition temperature of another located model. The more the above differences are greater than 0, the greater the cost, indicating that the candidate region is not suitable to be selected as the target region. On the contrary, if there are only a few differences greater than 0 or any difference is less than or equal to 0, then the cost is smaller, indicating that the candidate region is suitable to be selected as the target region.

[0085] Figure 10FIG. 0 shows a flowchart of a method 1000 for determining the cost of candidate regions of a model according to an embodiment of the present disclosure. Wherein, the printing parameters include the hot bed temperature, and the hot bed temperature is the set temperature of the hot bed when printing the model, such as Figure 10 As shown, the method 1000 includes:

[0086] Step 1001, in response to determining that the printing mode is layer-by-layer printing, determine the hot bed temperature of the model;

[0087] Step 1002, obtain the hot bed temperature of at least one located model among multiple models, and at least one located model has determined a target region in the plate corresponding to the candidate region; and

[0088] Step 1003, determine the cost according to the difference between the hot bed temperature of the model and the hot bed temperatures of at least one located model respectively.

[0089] In the actual printing process, multiple models to be printed on the same plate need to be printed on the hot bed simultaneously. In the layer-by-layer printing mode, when printing multiple models on the same plate, the hot bed temperature is almost constant or only varies within a very narrow temperature range. This is because the time for printing a single layer of the model is very short (for example, after printing one layer of the first model, it is necessary to immediately execute the printing of the second model). Therefore, the hot bed does not have time to change the hot bed temperature within such a short time. Therefore, for layer-by-layer printing, the hot bed temperatures of multiple models to be printed need to be similar to avoid the hot bed temperature changing within a wide temperature range. Therefore, in step 1003, the cost can be determined according to the difference between the hot bed temperature of the model and the hot bed temperatures of at least one located model respectively. If there is a non-zero situation among these differences, that is, the hot bed temperature of the model is not equal to the hot bed temperature of a certain or certain located models, then the cost of multiple candidate regions of the model on the plate is set to a relatively high value to indicate that the candidate region is not suitable to be selected as the target region.

[0090] The above cost can also include multiple cost components. Step 1003 further includes: calculating a corresponding cost component among multiple cost components based on the difference between the hot bed temperature of the model and the hot bed temperature of each located model among at least one located model. Specifically, for each cost component among multiple cost components, first determine whether the corresponding difference is equal to zero; in response to determining that the corresponding difference is not equal to zero, set the cost component to a second preset value.

[0091] In one example, the cost in the layer-by-layer printing mode can be calculated by the following formula:

[0092]

[0093] where, cost nonseq (i) represents the cost of the i-th model, μ2 represents the second preset value, and tb i represents the hot bed temperature of the i-th model, and tv j represents the glass transition temperature of the j-th model. The function I(x) is equal to 1 when the condition x is true and equal to 0 when the condition x is false. It will be understood that the present disclosure is not limited to the cost calculation formula represented by Equation (2), and in other embodiments, any other suitable cost calculation formula may be adopted.

[0094] It can be seen from the above formula that the cost includes j cost components, and each cost component is related to the difference between the hot bed temperature of this model and the hot bed temperature of another located model. The more cases where the above difference is not equal to 0, the greater the cost, indicating that the candidate area is not suitable to be selected as the target area. On the contrary, if there are only a few differences not equal to 0 or any one difference is equal to 0, then the cost is smaller, indicating that the candidate area is suitable to be selected as the target area.

[0095] Figure 11 shows a flowchart of a method 1100 for determining the cost of a candidate area of a model according to an embodiment of the present disclosure. Wherein, the printing parameters include the vertical dimension of the model, such as Figure 11 shown, the method 1100 includes:

[0096] Step 1101, in response to determining that the printing mode is piece-by-piece printing, obtain the first height of the inner wall of the top cover of the 3D printer relative to the hot bed and the second height of the slide bar along which the print head of the 3D printer moves relative to the hot bed; and

[0097] Step 1102, determine the cost according to the differences between the vertical dimension and the first height and the second height respectively.

[0098] In the case where the printing mode is piece-by-piece printing, it is also necessary to further consider the influence of each component of the 3D printer on the model printing, and determine the cost of the candidate area accordingly. The following combines Figure 1 to describe the method 1100 in detail. As Figure 1 shown, assume that there are two models to be printed in the same plate, that is Figure 1Model A and Model B shown in []. During the actual printing process, Model A is printed first and then Model B. Then, according to the principle of 3D printing described above, when starting to print Model B, the heated bed needs to be lifted so that the nozzle of the extruder reaches the surface of the heated bed. Therefore, the height of the pre-printed Model A should preferably be less than the first height hc1 of the inner wall of the top cover of the 3D printer relative to the heated bed to avoid interference between the top cover of the 3D printer and the top of the printed Model A during the printing process. However, it should be added that if Model A is the last model to be printed in the tray, the above restrictions are not required because there is no model to be printed after A, the heated bed will not rise anymore, and thus there will be no interference between the top cover and the top of Model A.

[0099] In addition, the height of the pre-printed Model A should preferably also be less than the second height hc2 of the slide bar of the 3D printer relative to the heated bed to avoid interference between the slide bar of the 3D printer and the top of the printed Model A during the printing process. However, it should be added that if Model A is the last model to be printed in a certain row of models in the tray, the above restrictions are not required because there is no model to be printed in that row after A (when printing models in other rows, the slide bar will not interfere with Model A in that row either), and thus there will be no interference between the slide bar and the top of Model A.

[0100] Therefore, in step 1102, the differences between the vertical dimensions of the models and the first height and the second height are considered as factors for the cost of the candidate region. Specifically, the cost can be determined according to the following formula:

[0101] cost seq (i) = μ3I(h i - hc2 > 0)(1 - I isLastOfRow (i)) + μ4I(h i - hc1 > 0)*(1 - I isLastOfAll (i))..................(3)

[0102] Wherein, cost seq (i) represents the cost of the i-th model, μ3 represents the third preset value, μ4 represents the fourth preset value, the function I isLastOfRow (i) is used to determine whether the i-th model is the last model to be printed in the row where the model is located, the function I isLastOfAll (i) is used to determine whether the i-th model is the last model to be printed among the multiple models in the tray, h i represents the vertical dimension of the i-th model, hc1 represents the first height, and hc2 represents the second height. It will be understood that the present disclosure is not limited to the cost calculation formula represented by formula (3), and in other embodiments, any other suitable cost calculation formula can be adopted.

[0103] As can be seen from the above formula, the cost includes two cost components. One cost component is related to the difference between the vertical dimension of the model and the first height, and the other cost component is related to the difference between the vertical dimension of the model and the second height. The larger the cost, the less suitable the candidate region is to be selected as the target region. On the contrary, the smaller the cost, the more suitable the candidate region is to be selected as the target region.

[0104] In some embodiments, the cost of the candidate region is associated with not only the above-mentioned printing parameters of the model but also the position parameters of the candidate region. The position parameters of the candidate region include at least one of the following parameters: the distance between the center point of the candidate region and a preset reference point of the disk corresponding to the candidate region; the distance between the center point of the candidate region and the center point of the printing stack, where the printing stack is formed by at least one determined target region in the disk corresponding to the candidate region; the relative position relationship between the candidate region and the at least one determined target region. The above-mentioned printing stack refers to the region formed by at least one model for which the target region has been determined, and this region covers all the determined target regions.

[0105] Generally speaking, for a new disk, the slicing software will preferentially set the target region of the model near the middle of the disk because the area near the middle of the disk (hot bed) is relatively large, and the placement orientation and position of the model are relatively free. Therefore, the utilization rate of the hot bed area of the candidate region located in the middle of the hot bed is higher than that of the candidate region near the edge of the hot bed. In addition, when placing subsequent models, candidate positions are preferentially determined around the printing stack for which the target region has been determined, which helps the target regions of multiple models to form an overall large region, thereby further improving the utilization rate of the hot bed area. Therefore, the cost of the candidate region can be calculated by the following formula:

[0106] cost seq (i) = λ1d i→pileCenter +λ2d i→startingPoint ...................(4)

[0107] where cost seq (i) represents the cost of the i-th model, d i→pileCenter represents the distance from the candidate region to the center of the printing stack (for example, it can be the distance from the geometric center of the candidate region to the geometric center of the printing stack), d i→startingPointRepresents the distance from the candidate area to the preset reference point of the corresponding disk. The preset reference point of the above disk may include, for example, the center point of the hot bed. λ1 and λ2 are preset parameters. It can be seen from the above formula that the farther the candidate area is from the center of the print stack and the farther it is from the reference point of the disk, the greater the cost, indicating that it is less suitable to be selected as the target area. It will be understood that the present disclosure is not limited to the cost calculation formula represented by Equation (4). In other embodiments, any other suitable cost calculation formula may be adopted.

[0108] It should be added that although in the above-mentioned multiple embodiments, how to determine the corresponding cost of multiple candidate areas for the model according to a certain position parameter of the candidate area or a certain printing parameter of the model is separately described, in some other embodiments, the above-mentioned multiple position parameters and multiple printing parameters can also be comprehensively considered to obtain the corresponding cost. For example, the cost can be calculated by the following formula:

[0109] For the printing mode of printing one by one:

[0110]

[0111] For the printing mode of printing layer by layer:

[0112]

[0113] It will be understood that the present disclosure is not limited to the cost calculation formulas represented by Equation (5) and Equation (6). In other embodiments, any other suitable cost calculation formula may be adopted.

[0114] In some embodiments, as described above, the target areas of multiple models can be determined in a pre-determined order in sequence. Therefore, before determining the corresponding target areas of multiple models in at least one disk in Method 300, it further includes: determining the order for multiple models according to multiple sorting parameters of the multiple models, and determining the corresponding target areas for the multiple models in this order. The above order can also be used as the printing order during actual 3D printing. Especially for the printing mode of printing one by one, the 3D printer can print multiple models in sequence according to the above-determined order. The sorting parameters include at least one of the following parameters: the hot bed temperature required for each model, the vertical dimension of each model, the area of the horizontal projection of each model, and the printing material required for each model.

[0115] Similar to the determination of the cost described above, the above order can also be determined based on the printing mode of 3D printing. For example, for piece-by-piece printing, the order priority of the model with a higher hot bed temperature can be set to be high, which can make the glass transition temperature of the subsequent models lower than the hot bed temperature of this model. As can be seen from the above formula (1), such a setting can make the cost of the candidate areas of the models for subsequent determination of the target area as small as possible, so that it is easier to select the target area from multiple candidate areas. When the hot bed temperatures are the same, the model with a smaller vertical size determines the target area first, which can make the vertical sizes of the subsequent models for determining the target area all larger than the vertical size of this model, so as to avoid interference between this model and the components of the 3D printer. As can be seen from the above formula (3), the smaller the vertical size of this model, the smaller the cost of the candidate areas of the subsequent models. If the hot bed temperature and the vertical size are both the same, the model with a larger horizontal projection area determines the target area first. This is because it is not easy to determine the corresponding candidate area for the model with a larger horizontal projection area. Especially as the number of models with the determined target area gradually increases, the area of the remaining area on the plate becomes smaller and smaller, and it becomes more and more difficult to determine the candidate area therein. While it is easier for the model with a smaller horizontal projection area to find a suitable target area in the irregular remaining area of the plate. Therefore, the model with a larger horizontal projection area takes precedence over the one with a smaller area. In addition, models that require the same printing material should be as adjacent as possible in the order to avoid frequent material change of the extruder head of the 3D printer.

[0116] In some embodiments, the determination of the candidate area is also related to the orientation of the model. Figure 12 FIG. shows a flowchart of a method 1200 for determining multiple candidate areas according to an embodiment of the present disclosure, where the shape feature includes the distribution feature of multiple patches in the model. As Figure 12 shown, the method 1200 further includes:

[0117] Step 1201, determining the distribution feature of multiple patches in the model;

[0118] Step 1202, determining a first end and a second end opposite to the first end of the model according to the distribution feature, where the patch distribution density at the first end is greater than the patch distribution density at the second end;

[0119] Step 1203, determining the orientation of the model according to the extending direction of the cooling air duct of the 3D printer so that the first end is located upstream in the cooling air duct of the 3D printer and the second end is located downstream in the cooling air duct; and

[0120] Step 1204, determining multiple candidate areas of the model in the determined orientation.

[0121] In step 1201, the distribution feature of multiple patches can be the number of patches within the unit volume of the model. The more patches there are within the unit volume, the more complex the structural feature of that part of the model is, and it takes a longer time to form during 3D printing. Specifically, in the slicing software, the bounding box of the model can be divided into grids with a certain density, and the number of vertices in each small grid can be calculated. The more vertices there are, the more patches and the more complex the geometric features are at that location. It is also possible to calculate the curvature of all vertices. The area where the curvature is large and densely distributed is the area with a high patch density. In addition to determining the complexity of the geometric features of the model by the patch density as described above, in some other embodiments, features such as the overhang area and the number of sharp points of the model can also be used to characterize the richness of details. An overhang refers to a patch whose normal vector forms an angle greater than a certain threshold (such as 120 degrees) with the Z-axis. A sharp point refers to a vertex where the normal vectors of at least two pairs of adjacent patches differ by more than a certain threshold (such as 60 degrees).

[0122] In steps 1202 and 1203, a first end with a relatively large patch distribution density and a second end with a relatively small patch distribution density are respectively determined. Then, during the process of arranging the model on the plate, based on the orientations of the first end and the second end, candidate regions of the model are determined such that the first end is located upstream in the cooling air duct of the 3D printer, and the second end is located downstream in the cooling air duct. Such an arrangement ensures that during 3D printing, the end of the model with complex structural features faces upstream in the cooling air duct, and this end will receive more air flow, thus facilitating the cooling and forming of this end.

[0123] Figure 13 FIG. shows a flowchart of a method 1300 for determining multiple candidate regions according to an embodiment of the present disclosure, where the shape feature includes the principal axis direction of the model. As Figure 13 shown, the method 1300 further includes:

[0124] Step 1301, determining the principal axis direction of the model;

[0125] Step 1302, according to the extending direction of the cooling air duct of the 3D printer, determining the orientation of the model such that the principal axis direction is parallel to the extending direction;

[0126] Step 1303, under the determined orientation, determining multiple candidate regions of the model.

[0127] For a model with a symmetric shape, the above principal axis direction can be the axis of symmetry direction. For a model with an asymmetric shape, the principal axis direction can be the direction along which the model has the maximum dimension. The advantage of having the principal axis parallel to the air duct orientation is that the air flow conditions on both sides of the principal axis are basically symmetric, which can balance the cooling effects on the left and right sides of the model.

[0128] According to another aspect of the present disclosure, there is also provided an apparatus 1400 for 3D printing, including: an acquisition unit 1410 configured to acquire a model file that defines a plurality of models to be printed; a determination unit 1420 configured to determine corresponding target regions of the plurality of models in at least one disk, where each disk is a virtual space corresponding to a working area on a hot bed of a 3D printer for 3D printing. The determination unit 1420 includes: a first determination module 1421 configured to, for each model of the plurality of models, determine a plurality of candidate regions in at least one disk at least according to the shape characteristics of the model; a second determination module 1422 configured to respectively determine corresponding costs of the plurality of candidate regions for the model according to the position parameters of each candidate region and the printing parameters of the model; and a selection module 1423 configured to select the target region of the model from the plurality of candidate regions according to the corresponding costs; and an allocation unit 1430 configured to allocate the plurality of models to the corresponding target regions in at least one disk.

[0129] The operation methods of the above respective units and modules correspond to the respective steps in the method 300, and will not be elaborated here.

[0130] It should be understood that in this specification, terms such as "center", "longitudinal", "transverse", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc. indicate the orientation or position relationship or dimension based on the orientation or position relationship or dimension shown in the drawings. The use of these terms is only for the convenience of description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and thus cannot be construed as a limitation on the protection scope of the present application.

[0131] In addition, terms such as "first", "second", "third", etc. are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the quantity of the indicated technical features. Thus, features defined with "first", "second", "third" may explicitly or implicitly include one or more of such features. In the description of the present application, the meaning of "a plurality" is two or more, unless otherwise specifically defined.

[0132] In this application, unless otherwise clearly specified and defined, terms such as "install", "connect", "link", "fix", etc. shall be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or integrated; it can be a mechanical connection, an electrical connection, or a communication connection; it can be directly connected, or indirectly connected through an intermediate medium, and can be the connection inside two components or the interaction relationship between two components. For those of ordinary skill in the art, the specific meanings of the above terms in this application can be understood according to specific circumstances.

[0133] In this application, unless otherwise clearly specified and defined, the first feature being "on" or "under" the second feature may include the first and second features being in direct contact, or may include the first and second features not being in direct contact but in contact through additional features therebetween. Moreover, the first feature being "above", "over" and "on top of" the second feature includes the first feature being directly above and obliquely above the second feature, or merely indicating that the first feature has a higher horizontal height than the second feature. The first feature being "under", "below" and "beneath" the second feature includes the first feature being directly below and obliquely below the second feature, or merely indicating that the first feature has a lower horizontal height than the second feature.

[0134] Although specific functions have been discussed above with reference to specific modules, it should be noted that the functions of the various modules discussed herein can be divided into multiple modules, and / or at least some of the functions of multiple modules can be combined into a single module. The specific modules discussed herein performing an action include the specific module itself performing the action, or alternatively the specific module calling or otherwise accessing another component or module that performs the action (or performs the action in combination with the specific module). Thus, the specific module performing the action can include the specific module itself that performs the action and / or another module that the specific module calls or otherwise accesses and that performs the action.

[0135] It should also be understood that various techniques can be described herein in the general context of software-hardware elements or program modules. Regarding the above Figure 14The described modules and units can be implemented in hardware or in hardware combined with software and / or firmware. For example, these modules can be implemented as computer program code / instructions configured to be executed in one or more processors and stored in a computer-readable storage medium. Alternatively, these modules can be implemented as hardware logic / circuits. For example, in some embodiments, one or more of these modules can be implemented together in a system-on-chip (SoC). The SoC can include an integrated circuit chip (which includes one or more components such as a processor (e.g., a central processing unit (CPU), a microcontroller, a microprocessor, a digital signal processor (DSP), etc.), a memory, one or more communication interfaces, and / or other circuits), and can optionally execute the received program code and / or include embedded firmware to perform functions.

[0136] According to some exemplary embodiments, an electronic device is also provided, including: at least one processor; and a memory communicatively connected to the at least one processor, where the memory stores instructions that can be executed by the at least one processor to implement the method as described above.

[0137] According to some exemplary embodiments, a non-transitory computer-readable storage medium storing computer instructions is also provided, where the computer instructions, when executed by a computer, cause the computer to implement the method as described above.

[0138] According to some exemplary embodiments, a computer program product is also provided, including a computer program that, when executed by a processor, causes the processor to implement the method as described above.

[0139] It should be understood that various forms of the processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and no limitations are imposed herein.

[0140] 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 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 defined by the authorized claims and their equivalent scope. Various elements in the embodiments or examples can be omitted or replaced by their equivalent elements. In addition, the steps can be executed in a different order than described in this disclosure. Further, various elements in the embodiments or examples can be combined in various ways. Importantly, with the evolution of technology, many of the elements described herein can be replaced by equivalent elements that emerge after this disclosure.

Claims

1. A method for 3D printing, comprising: Obtaining a model file, the model file defining a plurality of models to be printed; Determining corresponding target regions of the plurality of models in at least one disk, wherein each disk is a virtual space corresponding to a working area on a hot bed of a 3D printer for the 3D printing, and wherein determining the corresponding target regions includes, for each model of the plurality of models: Determining a plurality of candidate regions in the at least one disk at least according to a shape feature of the model; Respectively determining corresponding costs of the plurality of candidate regions for the model according to position parameters of each candidate region and printing parameters of the model; and Selecting a target region of the model from the plurality of candidate regions according to the corresponding costs, wherein the corresponding costs indicate an evaluation of the corresponding candidate region in the plurality of candidate regions being selected as the target region; and Allocating the plurality of models to the corresponding target regions in the at least one disk.

2. The method according to claim 1, wherein, The shape feature includes a convex hull of a horizontal projection of the model, and wherein determining the plurality of candidate regions includes: Determining the convex hull according to the horizontal projection of the model; In response to determining that a ratio of a convex hull area to a horizontal projection area is not greater than a preset ratio, for any one of the at least one disk: Determining an idle region in the disk that is not occupied by the already determined target regions; and Determining the plurality of candidate regions in the disk according to the convex hull and the idle region.

3. The method according to claim 1, wherein The shape feature further includes convex hulls of horizontal projections of a plurality of sub-models of the model, and wherein determining the plurality of candidate regions further includes: In response to determining that the ratio of the convex hull area to the horizontal projection area is greater than the preset ratio, decomposing the model to obtain a plurality of sub-models such that a sum of convex hull areas of horizontal projections of the plurality of sub-models is less than the convex hull area of the model; For any one of the at least one disk, Determining an idle region in the disk that is not occupied by the already determined target regions; and Determining the plurality of candidate regions in the disk according to convex hulls of the plurality of sub-models of the model, constraint relationships between the plurality of sub-models, and the idle region.

4. The method according to claim 3, wherein, The decomposing of the model includes: In response to determining that the horizontal projection of the model is a non-convex shape, determining a first straight line, wherein the first straight line is a connection line between a first point on a contour line of the horizontal projection of the model and a second point on a corresponding convex hull contour; Decomposing the model along the first straight line.

5. The method according to claim 3, wherein The decomposing of the model further includes: In response to determining that the model is a hollow shape, determining a second straight line, wherein the second straight line is a connection line between a first point and a second point on an inner contour line of the horizontal projection of the model, and the first point and the second point are two different points on the inner contour line; Decomposing the model at least along the second straight line.

6. The method according to claim 1, wherein The at least one disk includes a plurality of disks, and wherein selecting the target region of the model from the plurality of candidate regions according to the corresponding costs includes: For any one of the plurality of disks, In response to determining that the costs of at least one candidate region in the plate are all greater than a preset threshold, determine the target region in other plates except this plate among the multiple plates.

7. The method according to claim 1, wherein, The at least one plate includes a plurality of plates. Among them, selecting the target region of the model from the multiple candidate regions according to the corresponding cost includes: For any one of the multiple plates, In response to determining that at least one candidate region in the plate includes a candidate region with a cost less than the preset threshold, select the candidate region with the minimum cost from the at least one candidate region in the plate as the target region.

8. The method according to any one of claims 1-7, wherein, The separately determining the corresponding costs of the multiple candidate regions for the model further includes: Determine the printing mode of the 3D printing, where the printing mode includes printing piece by piece or layer by layer; Determine the cost of each candidate region in the multiple candidate regions for the model according to the printing mode.

9. The method according to claim 8, wherein, The printing parameter includes the hot bed temperature, where the hot bed temperature is the set temperature of the hot bed when printing the model. Among them, determining the cost of each candidate region in the multiple candidate regions for the model according to the printing mode includes: In response to determining that the printing mode is printing piece by piece, determine the hot bed temperature of the model; Obtain the glass transition temperature of at least one located model among the multiple models, where the at least one located model has determined the target region in the plate corresponding to the candidate region; and Determine the cost according to the difference between the hot bed temperature of the model and the glass transition temperatures of the at least one located model.

10. The method according to claim 9, wherein, The cost includes multiple cost components. Among them, determining the cost according to the difference between the hot bed temperature of the model and the glass transition temperatures of the at least one located model further includes: Based on the differences between the hot bed temperature of the model and the glass transition temperatures of each of the at least one located models, calculate the corresponding one of the multiple cost components. Among them, for each of the multiple cost components: Determine whether the corresponding difference is greater than zero; In response to determining that the corresponding difference is greater than zero, set the cost component to a first preset value to indicate that the candidate region is not suitable to be selected as the target region.

11. The method according to claim 8, wherein The printing parameter includes the hot bed temperature, where the hot bed temperature is the set temperature of the hot bed when printing the model. Among them, determining the cost of each candidate region in the multiple candidate regions for the model according to the printing mode includes: In response to determining that the printing mode is layer by layer printing, determine the hot bed temperature of the model; Obtain the hot bed temperature of at least one located model among the multiple models, where the at least one located model has determined the target region in the plate corresponding to the candidate region; and Determine the cost according to the difference between the hot bed temperature of the model and the hot bed temperatures of the at least one located model.

12. The method according to claim 11, wherein, The cost includes multiple cost components. Among them, determining the cost according to the difference between the hot bed temperature of the model and the hot bed temperatures of the at least one located model further includes: Calculate a corresponding cost component among the multiple cost components based on the difference between the hot bed temperature of the model and the hot bed temperature of each positioned model in the at least one positioned model, where, for each cost component among the multiple cost components: Determine whether the corresponding difference is equal to zero; In response to determining that the corresponding difference is not equal to zero, set the cost component to a second preset value to indicate that the candidate area is not suitable to be selected as the target area.

13. The method according to claim 8, wherein The printing parameters include the vertical dimension of the model, where the determining the cost for each candidate area among the multiple candidate areas according to the printing mode includes: In response to determining that the printing mode is piece-by-piece printing, obtain a first height of the inner wall of the top cover of the 3D printer relative to the hot bed and a second height of the slide bar along which the print head of the 3D printer moves relative to the hot bed; and Determine the cost according to the differences between the vertical dimension and the first height and the second height respectively.

14. The method according to any one of claims 1-7, wherein, The position parameters of the candidate area include at least one of the following parameters: The distance between the center point of the candidate area and a preset reference point of the disk corresponding to the candidate area; The distance between the center point of the candidate area and the center point of the print stack, where the print stack is formed by at least one determined target area in the disk corresponding to the candidate area; and The relative position relationship between the candidate area and the at least one determined target area.

15. The method according to any one of claims 1-7, further comprising: Before determining the corresponding target areas of the multiple models in at least one disk: Determine an order for the multiple models according to multiple sorting parameters of the multiple models, and determine corresponding target areas for the multiple models in this order.

16. The method according to claim 15, wherein, The sorting parameters include at least one of the following parameters: The hot bed temperature required for each model; The vertical dimension of each model; The area of the horizontal projection of each model; and The printing material required for each model.

17. The method according to any one of claims 1-7, wherein, The shape feature includes the distribution feature of multiple patches in the model, where the determining multiple candidate areas further includes: Determine the distribution feature of multiple patches in the model; Determine a first end and a second end opposite to the first end of the model according to the distribution feature, where the patch distribution density at the first end is greater than the patch distribution density at the second end; Determine the orientation of the model according to the extending direction of the cooling air duct of the 3D printer so that the first end is located upstream in the cooling air duct of the 3D printer and the second end is located downstream in the cooling air duct; and Determine the multiple candidate areas of the model in the determined orientation.

18. The method according to any one of claims 1-7, wherein, The shape feature includes the main axis direction of the model, where the determining multiple candidate areas further includes: Determine the main axis direction of the model; Determine the orientation of the model according to the extending direction of the cooling air duct of the 3D printer so that the main axis direction is parallel to the extending direction; and Determine the multiple candidate areas of the model in the determined orientation.

19. The method according to any one of claims 1-7 further comprises: Slice the multiple models allocated to the at least one disk.

20. A device for 3D printing, comprising: An acquisition unit configured to acquire a model file, the model file defining a plurality of models to be printed; A determination unit configured to determine corresponding target regions of the plurality of models in at least one disk, wherein each disk is a virtual space corresponding to a working area on a hot bed of a 3D printer for the 3D printing, and wherein the determination unit comprises: A first determination module configured to, for each model of the plurality of models: determine a plurality of candidate regions in the at least one disk at least according to a shape feature of the model; A second determination module configured to respectively determine corresponding costs of the plurality of candidate regions for the model according to a position parameter of each candidate region and a printing parameter of the model; and A selection module configured to select a target region of the model from the plurality of candidate regions according to the corresponding costs, wherein the corresponding costs indicate an evaluation of the corresponding candidate region in the plurality of candidate regions being selected as the target region; and An allocation unit configured to allocate the plurality of models to the corresponding target regions in the at least one disk.

21. A computer device, comprising: A memory, a processor, and a computer program stored on the memory, wherein the processor is configured to execute the computer program to implement the steps of the method according to any one of claims 1 to 19.

22. A non-transitory computer-readable storage medium having a computer program stored thereon, wherein, The steps of the method according to any one of claims 1 to 19 are implemented when the computer program is executed by the processor.

23. A computer program product comprising a computer program, wherein, The steps of the method according to any one of claims 1 to 19 are implemented when the computer program is executed by the processor.

Citation Information

Patent Citations

  • 3D model printing position determination method, device, and equipment and storage medium

    CN113799397A

  • Iterative packing optimization

    US20130290220A1