Slice file generation method and device, model printing method and device

By setting exclusion zones in the 3D printer, the problems of material and time loss during equipment anomalies are resolved, enabling more efficient model printing.

CN118578669BActive Publication Date: 2025-09-19SHENZHEN ANYCUBIC TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410390417.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-04-01
Publication Date
2025-09-19
Estimated Expiration
2044-04-01

AI Technical Summary

Technical Problem

In the event of an abnormality in the 3D printing device, the prior art method of printing multiple model objects layer by layer results in a large loss of material and time, and may damage other model objects that do not have defects.

Method used

By identifying the model objects in the model file, determining their bounding boxes and generating the position information of the placement area, the information is recorded in the model slice file so that it can be set as the exclusion area in the 3D printer to avoid printing in these areas.

Benefits of technology

It effectively avoids the loss of material and time in model printing, improves the flexibility and efficiency of the printing process, and reduces losses caused by equipment abnormalities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118578669B_ABST
    Figure CN118578669B_ABST
Patent Text Reader

Abstract

The present invention discloses a slicing file generation method and device, a model printing method and device, and relates to the field of three-dimensional printing technology. The method includes: obtaining a model file to identify the model objects in the model file; determining the bounding box of each model object in the model file, and determining the placement area of ​​each model object based on the bounding box of each model object; generating position information of each placement area, and recording the position information of each placement area in a model slicing file corresponding to the model file, wherein the placement area is used to exclude the printing of the model object corresponding to the exclusion area when it is set as an exclusion area in a three-dimensional printer. The above method can facilitate the user to set the placement area of ​​any model object as the exclusion area, so that the user can exclude any model object from printing during the printing process, thereby avoiding material loss and time loss in model printing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of three-dimensional printing, and in particular to a slice file generation method and device thereof, and a model printing method and device thereof. Background Art

[0002] 3D printing technology transforms digital models into physical objects. By layering materials, it enables the rapid manufacture of objects of arbitrary shapes and structures. With its advantages of short manufacturing cycles, low costs, flexible design, and personalized customization, 3D printing has been widely used in various fields, including industry, medicine, education, and art.

[0003] In the prior art, when using slicing software to generate a slice file, if the model file contains multiple model objects, for example, multiple parts or components, the user needs to place the multiple model objects in different areas of the model file and then generate the slice file using the slicing software. The generated slice file will generate the printing paths and printing parameters for the multiple model objects based on a path planning algorithm. When a 3D printer prints a model using the slice file, it will print the first layer, the second layer, and so on for each model object one by one according to the printing path, until all model objects are printed.

[0004] However, this printing method has certain drawbacks. In the event of a device anomaly, such as a power outage and subsequent printing, or if the device itself is not leveled, some model objects may exhibit printing defects. In such cases, printing all models layer by layer would result in significant material and time losses, and could also damage other model objects that do not exhibit printing defects. Summary of the Invention

[0005] In view of this, the present application provides a slicing file generation method and device, a model printing method and device, the main purpose of which is to solve the technical problem of large material loss and time loss in model printing when multiple model objects are printed simultaneously and an equipment abnormality occurs.

[0006] According to a first aspect of the present invention, a method for generating a slice file is provided, the method comprising:

[0007] Obtaining a model file to identify a model object in the model file;

[0008] Determining a bounding box of each of the model objects in the model file, and determining a placement area of ​​each of the model objects based on the bounding box of each of the model objects;

[0009] Generate position information of each of the placement areas, and record the position information of each of the placement areas in a model slice file corresponding to the model file, wherein the placement area is used to exclude printing of the model object corresponding to the exclusion area when the placement area is set as an exclusion area in a three-dimensional printer.

[0010] According to a second aspect of the present invention, there is provided a model printing method, the method comprising:

[0011] In response to a selection operation of a model slicing file, determining whether position information of a plurality of placement areas is recorded in the model slicing file;

[0012] If the model slice file records the location information of multiple placement areas, output the location information of each placement area;

[0013] In response to the selection operation of the exclusion area, the selected placement area is set as the exclusion area, wherein the exclusion area is used to exclude the printing of the model object corresponding to the exclusion area when printing the model.

[0014] According to a third aspect of the present invention, a slice file generation device is provided, the device comprising:

[0015] A model object identification module, used to obtain a model file to identify a model object in the model file;

[0016] a placement area determination module, configured to determine a bounding box of each model object in the model file, and determine a placement area of ​​each model object based on the bounding box of each model object;

[0017] A position information recording module is used to generate position information of each of the placement areas and record the position information of each of the placement areas in a model slicing file corresponding to the model file, wherein the placement area is used to exclude printing of the model object corresponding to the exclusion area when the placement area is set as an exclusion area in a three-dimensional printer.

[0018] According to a fourth aspect of the present invention, there is provided a model printing device, the device comprising:

[0019] a placement area detection module, configured to determine, in response to a selection operation of a model slice file, whether location information of multiple placement areas is recorded in the model slice file;

[0020] a placement area output module, configured to output the position information of each placement area if the position information of multiple placement areas is recorded in the model slice file;

[0021] The exclusion area setting module is used to set the selected placement area as an exclusion area in response to the selection operation of the exclusion area, wherein the exclusion area is used to exclude the printing of the model object corresponding to the exclusion area when printing the model.

[0022] According to a fifth aspect of the present invention, a storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the above-mentioned slice file generation method is implemented.

[0023] According to a sixth aspect of the present invention, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned slice file generation method when executing the program.

[0024] According to a seventh aspect of the present invention, there is provided a storage medium having a computer program stored thereon, wherein the program implements the above-mentioned model printing method when executed by a processor.

[0025] According to an eighth aspect of the present invention, a three-dimensional printer is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned model printing method when executing the program.

[0026] The present invention provides a slicing file generation method, device, storage medium and computer equipment, which first obtains a model file to identify the model objects in the model file, then determines the bounding box of each model object in the model file, and determines the placement area of ​​each model object based on the bounding box of each model object, and finally generates position information of each placement area, and records the position information of each placement area in a model slicing file corresponding to the model file, wherein the placement area can be used to exclude the printing of the model objects corresponding to the exclusion area when the placement area is set as an exclusion area in a three-dimensional printer. The above method automatically places each model object in the model file and generates the position information of each placement area and records it in the slicing file, which can facilitate the user to set the placement area of ​​any model object as an exclusion area, thereby facilitating the user to exclude any model object from printing during the printing process, thereby avoiding material loss and time loss in model printing.

[0027] The present invention provides a model printing method, device, storage medium, and 3D printer. First, in response to a selection operation of a model slicing file, the method determines whether the model slicing file contains location information of multiple placement areas. If the model slicing file contains location information of multiple placement areas, the method outputs the location information of each placement area. Finally, in response to a selection operation of an exclusion area, the method sets the selected placement area as an exclusion area. The exclusion area can be used to exclude the printing of model objects corresponding to the exclusion area during model printing. By obtaining a slicing file that records the location information of multiple placement areas for model printing, the method facilitates users to set the placement area of ​​any model object as an exclusion area, thereby facilitating users to exclude any model object from printing during the printing process, thereby avoiding material loss and time loss in model printing.

[0028] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:

[0030] Figure 1 A schematic diagram showing a flow chart of a method for generating a slice file provided by an embodiment of the present invention;

[0031] Figure 2 A schematic flow chart of a method for determining placement areas of various model objects in a method for generating a slice file provided by an embodiment of the present invention is shown;

[0032] Figure 3 A schematic diagram of a scenario illustrating a method for generating a slice file provided by an embodiment of the present invention is shown;

[0033] Figure 4 A schematic diagram illustrating another method for generating a slice file according to an embodiment of the present invention is shown;

[0034] Figure 5 A schematic diagram showing a flow chart of another method for generating a slice file provided by an embodiment of the present invention;

[0035] Figure 6 A schematic diagram showing a flow chart of a model printing method provided by an embodiment of the present invention;

[0036] Figure 7A schematic flow chart of another model printing method provided by an embodiment of the present invention is shown;

[0037] Figure 8 A schematic diagram illustrating a scenario of a model printing method provided by an embodiment of the present invention is shown;

[0038] Figure 9 A schematic diagram illustrating another model printing method provided by an embodiment of the present invention is shown;

[0039] Figure 10 A schematic structural diagram of a slice file generating device provided by an embodiment of the present invention is shown;

[0040] Figure 11 A schematic structural diagram of a model printing device provided by an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0041] The present invention will be described in detail below with reference to the accompanying drawings and in combination with embodiments. It should be noted that, unless there is a conflict, the embodiments and features in the embodiments of the present application can be combined with each other.

[0042] In one embodiment, Figure 1 As shown, a method for generating a slice file is provided. The method can be applied to a computer device or a server in which slice software for processing model files is pre-installed. The method can include the following steps:

[0043] 101. Obtain a model file to identify a model object in the model file.

[0044] The model file stores the information of the model. After slicing, a model slice file is generated. The model slice file is used to print the model object.

[0045] There is no limitation on the method of obtaining the model file. For example, the model file can be directly read actively, or the user can import the model file or download the model file from the Internet to obtain the model file.

[0046] A model object refers to a part or portion of a model in a model file. For example, if a model is composed of multiple printed parts, the model file can contain information such as the location of each part. After slicing a model file, the location information of each part is recorded in the model slice file. A 3D printer can use this model slice file to simultaneously print each part.

[0047] Specifically, when generating a model slicing file, a computer device may import a model file to be printed through slicing software. The model file may contain at least one model object, wherein the slicing software may identify the location of each model object in the model file. It should be noted that this embodiment can be applied to scenarios where the model file contains multiple model objects, and does not exclude scenarios where the model file contains only one model object.

[0048] 102. Determine the bounding box of each model object in the model file, and determine the placement area of ​​each model object based on the bounding box of each model object.

[0049] Specifically, the computer device can determine a bounding box that encloses each model object based on the location of each model object in the model file. The bounding box can be a minimum rectangular frame that encloses the model object, a frame of another shape that encloses the model object, or a frame of a preset shape that encloses the model object and leaves a certain amount of space, etc., which is not specifically limited in this embodiment. In other embodiments, the bounding box of each model object can be stored in the model file, and the bounding box of each model object in the model file can be directly read.

[0050] Furthermore, after determining the bounding boxes of each model object in the model file, the computer device can determine the placement area of ​​each model object based on the bounding boxes of each model object, wherein the placement method of the model objects can be set according to actual conditions. For example, the computer device can determine the placement area of ​​each model object through an automatic arrangement algorithm so that the bounding boxes of each model object do not overlap with each other and do not exceed the plane where the printing platform of the 3D printer is located. For another example, the computer device can also determine the placement area of ​​each model object through pre-selected layout information or layout information selected by the user, so that the bounding box of each model object can be placed in a layout area corresponding to the layout information. In addition, the computer device can also choose other methods such as random placement and manual placement to determine the placement area of ​​each model object, which will not be explained one by one in this embodiment.

[0051] This embodiment determines a bounding box surrounding each model object and determines the placement area of ​​each model object based on the bounding box of each model object. This can reduce the calculation complexity of the placement area of ​​the model object, improve the placement efficiency of the model object, and at the same time, save the cost of manpower placement.

[0052] 103. Generate position information of each placement area, and record the position information of each placement area in a model slice file corresponding to the model file, wherein the placement area is used to exclude printing of the model object corresponding to the exclusion area when the placement area is set as an exclusion area in the 3D printer.

[0053] Specifically, after determining the placement areas of each model object, the location information of each placement area can be generated based on the location of the placement area. For example, for a rectangular placement area, the location information of the placement area can be represented by the coordinates of the four vertices of the rectangular shape. Furthermore, after determining the location information of each placement area, the location information of each placement area can be recorded in a model slice file corresponding to the model file. For example, the location information of each placement area can be recorded in the annotation section of the corresponding model slice file, or it can be recorded in other sections of the model slice file.

[0054] In this embodiment, the position information of each placement area is recorded in a model slice file corresponding to the model file and sent to the 3D printer. This allows the 3D printer to identify the location of each placement area through the position information of each placement area recorded in the model slice file, thereby facilitating the 3D printer to perform other operations on the placement area. In this embodiment, the 3D printer can set one or more placement areas as exclusion areas. After setting the placement areas as exclusion areas, the 3D printer will skip printing in the areas when printing the model. In this way, the flexibility of model printing can be improved, and the time and material consumption caused by continuing to print defective models can be avoided.

[0055] The slicing file generation method provided in this embodiment first obtains a model file to identify the model objects in the model file, then determines the bounding box of each model object in the model file, and based on the bounding box of each model object, determines the placement area of ​​each model object, and finally generates position information of each placement area, and records the position information of each placement area in a model slicing file corresponding to the model file, wherein the placement area can be used to exclude the printing of the model objects corresponding to the exclusion area when the placement area is set as an exclusion area in a 3D printer. The above method automatically places each model object in the model file and generates the position information of each placement area and records it in the model slicing file, which can facilitate the user to set the placement area of ​​any model object as an exclusion area, thereby facilitating the user to exclude any model object from printing during the printing process, thereby avoiding material loss and time loss in model printing.

[0056] In one embodiment, in step 102, the method for determining the bounding box of each model object in the model file can be implemented in the following manner: identifying the outer contour boundary of each model object projected on the printing plane; determining a rectangular box surrounding the outer contour boundary, wherein each side of the rectangular box is tangent to at least one point on the outer contour boundary; and determining the rectangular box surrounding the outer contour boundary as the bounding box of the model object corresponding to the outer contour boundary.

[0057] In the above embodiment, by identifying the outer contour boundary of the model object projected onto the printing plane, the maximum area that the model object can occupy on the corresponding printing plane can be determined. Therefore, by determining the bounding box of the model object based on the projected outer contour boundary, the bounding box can be made to surround the model object in the model slice file. Furthermore, by setting the bounding box of the model object to a rectangular box tangent to the outer contour boundary, the calculation efficiency of the bounding box can be improved, the area occupied by the bounding box can be reduced, and it can also facilitate the subsequent determination of the placement area of ​​the model object based on the bounding box of each model object.

[0058] In one embodiment, Figure 2 As shown, the method of determining the placement area of ​​each model object according to the bounding box of each model object can be implemented in the following way:

[0059] 201. Obtain parameter information corresponding to the bounding box of each model object, where the parameter information includes length information and width information.

[0060] 202. Determine layout information of the model file according to the number of model objects in the model file and parameter information corresponding to the bounding box of each model object, and set each model object in a layout area corresponding to the layout information.

[0061] 203. Determine the layout area set for each model object as the placement area for each model object.

[0062] In the above embodiment, when determining the placement areas of each model object based on the bounding boxes of each model object, parameter information corresponding to the bounding boxes of each model object can be obtained, such as parameters such as the length and width of the bounding boxes. Then, based on the parameter information of each bounding box, it can be calculated whether each model object can be placed on the corresponding printing plane of the 3D printer, as well as whether each model object can be placed within each layout area of ​​the layout information. If a certain layout information is determined, each model object in the model file can be placed in each layout area corresponding to the layout information, and each layout area corresponding to the layout information can be used as the placement area for each model object. It is understood that there can be multiple types of layout information corresponding to the model file, and this embodiment only needs to select one type of layout information from the multiple types of layout information as the layout information of the model file. In this embodiment, the computer device can determine the layout information of the model file through various methods, such as automatic placement, random placement, manual placement by the user, preset layout information, and manual selection of layout information by the user. The above-mentioned methods for determining layout information will be described in detail in the following embodiments, and this embodiment will not be further elaborated here.

[0063] In one embodiment, the above step 202 can be implemented in the following manner: in response to the selection operation of layout information, the selected layout information is determined as pre-selected layout information; if the number of layout areas corresponding to the pre-selected layout information is greater than or equal to the number of model objects, then based on the parameter information corresponding to the bounding box of each model object, it is detected whether the bounding box of each model object can be set in each layout area corresponding to the pre-selected layout information; if the bounding box of each model object can be set in each layout area corresponding to the pre-selected layout information, the pre-selected layout information is determined as the layout information of the model file, and each model object is set in a layout area corresponding to the layout information.

[0064] In the above embodiment, the layout information can be actively selected by the user, wherein whether the layout information selected by the user is available needs to be calculated based on the number of model objects and the parameter information corresponding to the bounding box of the model object, that is, the number of layout areas corresponding to the layout information selected by the user must be greater than or equal to the number of model objects, and the bounding box of each model object in the model file must be able to be placed in each layout area corresponding to the selected layout information. Only then can the layout information selected by the user be used as the layout information of the model file, and the layout areas corresponding to the layout information be used as the placement areas of each model file. In this embodiment, the user can select pre-selected layout information at multiple times. For example, the user can pre-select layout information before importing the model file, or can select layout information after importing the model file. This embodiment does not make specific limitations here.

[0065] For example, refer to Figure 3 , assuming that the user selects a 2×2 layout, where each layout area corresponding to the 2×2 layout is of equal length and width, and the model file imported by the user has a total of 4 model objects. When making a judgment, you can first determine whether the number of layout areas is greater than or equal to the number of model objects, and then you can determine whether each layout area can place the bounding box of the above 4 model objects (the border shown by the dotted line in the figure). Through the above two judgments, it can be found that the 2×2 layout can meet the above requirements. Therefore, it can be determined that the layout information selected by the user can be used as the layout information of the model file. At this time, the four layout areas corresponding to the layout information are the placement areas corresponding to the model.

[0066] In one embodiment, the above method may further include the following steps: if the number of layout areas corresponding to the selected preselected layout information is less than the number of model objects, or the bounding box of any model object cannot be set in each layout area corresponding to the preselected layout information, then a first prompt message is generated indicating that the selected preselected layout information is unavailable, and the first prompt message is output.

[0067] In the above embodiment, if the number of layout areas corresponding to the layout information selected by the user is less than the number of model objects, or the bounding box of the model object cannot be set in each layout area corresponding to the pre-selected layout information, the computer device can output a first prompt message to prompt the user that the pre-selected layout information selected is unavailable. In addition, the first prompt message can also prompt other information or display other controls. For example, the first prompt message can prompt the user to change the layout information and display the selection controls corresponding to other layout information. For another example, the first prompt message can also prompt the user to change the placement of the model object and display the selection controls for other placement methods, etc., so as to achieve reasonable placement of the model object.

[0068] For example, suppose the user selects a 3×3 layout, where each layout area corresponding to the 3×3 layout is of equal length and width, and the model file imported by the user contains a total of 4 model objects. It is found through judgment that the bounding boxes of the above 4 model objects cannot be placed in each layout area of ​​the 3×3 layout. At this time, the first prompt message indicating that the 3×3 layout is not available can be output. In addition, the first prompt message can also display a selection control for a 2×2 layout. If the user selects a 2×2 layout, it can be determined again whether the 2×2 layout is available. If the 2×2 layout is available, the 2×2 layout can be used as the layout information of the model file. If it is not available, the first prompt message indicating that the 2×2 layout is unavailable can be output again.

[0069] In one embodiment, the above step 202 can also be implemented in the following manner: first, pre-selected layout information corresponding to the number of model objects is obtained, wherein the number of layout areas corresponding to the pre-selected layout information is greater than or equal to the number of model objects; then, based on the parameter information corresponding to the bounding box of each model object, it is detected whether the bounding box of each model object can be set in each layout area corresponding to the pre-selected layout information; if the bounding box of each model object can be set in each layout area corresponding to the pre-selected layout information, the pre-selected layout information is determined as the layout information of the model file, and each model object is set in a layout area corresponding to the layout information.

[0070] In the above embodiment, layout information can also be automatically matched by a computer device, wherein the number of layout areas corresponding to the automatically matched layout information is greater than or equal to the number of model objects, and the bounding boxes of each model object in the model file can be placed in each layout area corresponding to the layout information. In this embodiment, there can be multiple automatically matched layout information, and the computer device can determine the availability of each layout information one by one through polling, and then select the available layout information as the layout information of the model file.

[0071] For example, refer to Figure 3, suppose the model file imported by the user has a total of 4 model objects. When the computer device matches the layout information for the model file, it first selects a layout information that is divided into four equal parts horizontally. After comparison, it is found that the three model objects in the model file cannot be placed in the layout areas corresponding to the layout information, so the layout information is determined to be unusable. Further, the computer device matches a 2×2 four-partitioned layout information for the model file. After comparison, it is found that the four model objects in the model file can all be placed in the layout areas corresponding to the layout information, so the layout information is determined to be usable. At this time, the layout information can be used as the layout information of the model file.

[0072] In one embodiment, a method for detecting whether the bounding box of each model object can be set in each layout area corresponding to the preselected layout information can be implemented in the following manner: first, according to the parameter information corresponding to the bounding box of each model object, the bounding box of each model object is arranged in descending order, and then the following steps are executed in a loop until the bounding box of each model object can be set in each layout area corresponding to a preselected layout information, or all the preselected layout information are detected: according to the arrangement order of the bounding boxes of the model objects, it is determined in turn whether the bounding box of each model object can be set in each layout area corresponding to the preselected layout information; if the bounding box of any model object cannot be set in each layout area corresponding to the preselected layout information, the preselected layout information is replaced.

[0073] In the above embodiment, by sorting the bounding boxes of each model object in descending order based on the parameter information corresponding to the bounding boxes of each model object, and then determining whether the bounding box of each model object can be placed in each layout area corresponding to the preselected layout information according to the sorted order of the bounding boxes of each model object, the number of bounding box determinations can be reduced, thereby improving the efficiency of layout information matching. In addition, by automatically replacing the preselected layout information and performing individual determinations on each preselected layout information, the user can save the operation of manually selecting layout information, thereby improving operational efficiency and user experience.

[0074] In one embodiment, the above method may further include the following steps: for all the pre-selected layout information obtained, if the bounding box of any model object cannot be set in each layout area corresponding to the pre-selected layout information, a second prompt information is generated indicating that all the pre-selected layout information is unavailable, and the second prompt information is output.

[0075] In the above embodiment, if none of the automatically matched layout information can place the bounding boxes of each model object, the computer device may output a second prompt message to inform the user that none of the automatically matched pre-selected layout information is available. Furthermore, the second prompt message may also provide other information or display other controls. For example, the second prompt message may also prompt the user to change the placement of the model objects and display a selection control for other placement methods, such as a selection control for automatic placement or manual placement, to prompt the user that the model objects can be properly placed using methods such as automatic placement and manual placement.

[0076] In one embodiment, the above step 202 can also be implemented in the following manner: based on the overall occupied area of ​​the bounding box of each model object, determine whether each model object in the model file can be placed on the printing plane of the three-dimensional printer; if each model object in the model file can be placed on the printing plane of the three-dimensional printer, use a greedy algorithm to traverse each position on the printing plane, and search for the placement position of the bounding box of each model object on the printing plane one by one; based on the placement position of the bounding box of each model object on the printing plane, generate the layout information of the model file, and use the placement position of the bounding box of each model object on the printing plane as a layout area corresponding to the layout information.

[0077] In the above embodiment, the computer device can automatically arrange model objects through collision detection and a greedy algorithm. By automatically arranging and placing each model object, the printing space of the 3D printer can be fully utilized, and the arrangement of each model object in the model file can be more compact, thereby improving space utilization. At the same time, the user can reduce the manual placement or manual selection of layout information.

[0078] For example, refer to Figure 4 Assume that the model file imported by the user contains 4 model objects. First, by detecting the total occupied area of ​​the bounding boxes of the 4 model objects, it can be determined whether the 4 model objects can be placed on the printing plane of the 3D printer. If they can be placed on the printing plane of the 3D printer, the greedy algorithm can be further used to traverse each position on the printing plane and find the placement position of the bounding box of each model object on the printing plane one by one, thereby obtaining the following: Figure 4 The layout shown, wherein each rectangular box in the layout is the placement area of ​​a model object.

[0079] In one embodiment, a method for using a greedy algorithm to search for the placement position of the bounding box of each model object on the printing plane one by one can be implemented as follows: constructing a grid plane corresponding to the printing plane of the 3D printer, wherein each grid on the grid plane corresponds to an occupied mark, and then looping through the following steps until the bounding boxes of all model objects in the model file are placed on the grid plane: placing a bounding box of a model object at a preset position on the grid plane, and detecting whether the grid where the bounding box of the model object is placed is marked as occupied; if the grid is not marked as occupied, placing the bounding box of the model object at the current position, and marking the grid where the bounding box of the model object is placed as occupied; if the grid is marked as occupied, moving the bounding box of the model object in a preset direction until the grid where the bounding box of the model object is placed is not marked as occupied and the bounding box of the model object does not exceed the position of the grid plane; placing the bounding box of the model object at the moved position, and marking the grid where the bounding box of the model object is placed as occupied.

[0080] In the above embodiment, by constructing a grid plane corresponding to the printing plane of the 3D printer and using the occupancy mark of each grid on the grid plane to perform collision detection on the model objects, the layout efficiency of the model objects can be effectively improved and the space utilization can be improved.

[0081] For example, refer to Figure 4 When automatically placing model objects, the bounding box of the first model object can be placed in the lower left corner. At this time, the grid in this area is not occupied. After the bounding box of the first model object is placed, the grid corresponding to the bounding box is marked as occupied. Then the second model object can be placed. The second model object is also placed starting from the lower left corner. At this time, if the grid in this area is found to be occupied, the bounding box of the second model object is moved to the right until the grid in the moved area is not occupied and does not exceed the grid plane. Then the second model object can be placed and the grid in the area where the bounding box of the second model object is located is marked as occupied. And so on, until all model objects are placed in the grid plane, thus completing the placement of model objects.

[0082] In one embodiment, the above method may further include the following steps: if each model object in the model file cannot be placed on the printing plane of the 3D printer, generating a third prompt message indicating that the model object cannot be placed, and outputting the third prompt message.

[0083] In the above embodiment, if, after automatic placement, it is found that the model objects in the model file cannot be placed on the printing surface of the 3D printer, the computer device may output a third prompt message to inform the user that the model objects cannot be placed on the printing surface of the 3D printer. In this case, the user may be further prompted to delete some of the model objects and try automatic placement again.

[0084] In one embodiment, Figure 5 As shown, the above-mentioned slice file generation method further includes the following steps:

[0085] 104. Generate a layout diagram for each placement area based on the location information of each model object.

[0086] 105. Send the layout schematic diagram to a 3D printer so that the 3D printer displays the layout schematic diagram.

[0087] In the above embodiment, the computer device can generate a layout diagram for each placement area based on the position information of the placement area of ​​each model object, and send the layout diagram to the 3D printer so that the 3D printer can display the layout diagram. In this embodiment, by generating a layout diagram that records the position information of each placement area on the computer device, the computing power required by the 3D printer to generate the layout diagram can be reduced. In addition, by displaying the layout diagram, the 3D printer can facilitate the user to select exclusion areas and skip printing in the exclusion areas, thereby improving interactive performance.

[0088] In one embodiment, Figure 6 As shown, a model printing method is provided, which is described by taking the application of the method to a 3D printer as an example, and includes the following steps:

[0089] 301. In response to a selection operation of a model slicing file, determine whether location information of multiple placement areas is recorded in the model slicing file.

[0090] Specifically, a user can select a model slicing file to be printed on a 3D printer. In response to the selection operation of the model slicing file, the 3D printer can obtain the model slicing file to be printed and determine whether the model slicing file records the location information of multiple placement areas. For example, the 3D printer can determine whether the annotation section of the model slicing file records the location information of multiple placement areas. In addition, in some embodiments, the 3D printer can also determine whether the model slicing file to be printed has the area selection mode enabled. If the area selection mode is enabled, the subsequent exclusion area setting operation can also be performed.

[0091] 302. If the model slice file records location information of multiple placement areas, output the location information of each placement area.

[0092] Specifically, if the model slice file records the location information of multiple placement areas and / or the model slice file has the area selection mode enabled, the 3D printer can output the location information of each placement area. For example, the 3D printer can display a layout diagram with the location information of each placement area marked on a display module or a third-party device connected to the 3D printer, or can display other information such as a placement area list, so that the user can view the location of each placement area.

[0093] 303. In response to the selection operation of the exclusion area, the selected placement area is set as the exclusion area, wherein the exclusion area is used to exclude the printing of the model object corresponding to the exclusion area when printing the model.

[0094] Specifically, the user can set one or more placement areas as exclusion areas by selecting the exclusion area operation. After setting the placement area as the exclusion area, the 3D printer will skip the area when printing the model. In this way, the flexibility of model printing can be improved, and the time and material consumption caused by continuing to print defective models can be avoided.

[0095] In this embodiment, the model slicing file that records the location information of multiple placement areas can be generated by the slicing file generation method described in any of the above embodiments. Based on this, for the specific processing method of the model slicing file, please refer to the description in the above embodiments and will not be repeated here.

[0096] This embodiment provides a model printing method that first responds to a selection operation of a model slicing file, determines whether the model slicing file contains location information for multiple placement areas. If the model slicing file contains location information for multiple placement areas, the location information for each placement area is output. Finally, in response to a selection operation of an exclusion area, the selected placement area is set as an exclusion area. The exclusion area can be used to exclude the printing of model objects corresponding to the exclusion area during model printing. By obtaining a model slicing file that records the location information of multiple placement areas for model printing, the above method can facilitate the user to set the placement area of ​​any model object as an exclusion area, thereby facilitating the user to exclude any model object from printing during the printing process, thereby avoiding material loss and time loss in model printing.

[0097] In one embodiment, Figure 7 As shown, the above-mentioned model printing method may further include the following steps:

[0098] 304. In response to receiving a print pause instruction and / or in response to the 3D printer being restarted after power is restored, output position information of each placement area.

[0099] 305. In response to the selection operation of the exclusion area, the selected placement area is set as the exclusion area.

[0100] In the above embodiment, after the user pauses printing and / or the 3D printer loses power and stops printing and then resumes power, the 3D printer can again output the location information of each placement area, allowing the user to select an exclusion area and set the selected placement area as the exclusion area. In this way, the user can set the area where the model object with printing defects is located as the exclusion area during the model printing process, thereby avoiding the material and time consumption required to print defective models.

[0101] For example, refer to Figure 8 and Figure 9 Assume that during the model printing process, the 3D printer suddenly loses power, and the model is printing the model object in the upper left corner. After a period of time, the 3D printer recovers power and restarts. At this time, the 3D printer can output a layout diagram for each placement area. The user can use the layout diagram to select the area where the model object is located in the upper left corner as the exclusion area (i.e. Figure 8 and Figure 9 This prevents defects in the model after resuming printing, which would waste printing materials and time. This area will not be printed during subsequent model printing, saving some printing materials and improving model printing efficiency.

[0102] In one embodiment, the three-dimensional printer includes an interactive display module and / or a communication module, and the communication module is used to communicate with a third-party device. On this basis, the method of outputting the position information of each placement area in steps 302 and 304 can be implemented in the following manner: displaying a layout schematic diagram for each placement area through a display module, and / or displaying a layout schematic diagram for each placement area through a display device on a third-party device. Furthermore, steps 303 and 305 can be implemented in the following manner: in response to a triggering operation for at least one placement area in the layout schematic, setting the triggered placement area as an exclusion area.

[0103] In the above embodiment, the 3D printer can display the layout diagram for each placement area through a local display model, or it can display the layout diagram for each placement area through a display device on a third-party device that is in communication with the 3D printer. Accordingly, the user can initiate a trigger operation through the display module on the 3D printer to determine the exclusion area, or can initiate a trigger operation through the display device on the third-party device to determine the exclusion area. The trigger operation can be directly operated by a part of the user's body, such as a finger, or indirectly operated by an input device such as a mouse, keyboard, or stylus pen, and this embodiment does not impose any specific restrictions here. In the above manner, the efficiency of setting the exclusion area can be effectively improved, and the interactive performance of the device can be improved.

[0104] In one embodiment, the above-mentioned model printing method may further include the following steps: printing the model based on the printing area indicated by the model slicing file, wherein, for the model slicing file, the following steps are executed in a loop when the model is printed until the printing area indicated by the model slicing file is printed: detecting whether the currently printed area is an exclusion area; if the currently printed area is an exclusion area, skipping the currently printed area for printing.

[0105] In the above embodiment, during the model printing process, if it is detected that the currently printed area is an exclusion area, the currently printed area can be skipped for printing, wherein the form of skipping printing will be different for different types of 3D printers. For example, for a light-curing 3D printer, the exclusion area in the printing area can be identified before the model is printed, and the other areas except the exclusion area can be solidified to achieve the printing of the model. For another example, for an FDM (Fused Deposition Modeling) 3D printer, it can be detected during the printing process whether each printing position is the location of the exclusion area. If the current printing position is at the location of the exclusion area, the current position is skipped for printing. For other types of 3D printers, it is also possible to use a method that is suitable for them to perform exclusion printing, which will not be explained one by one here.

[0106] Reference number 1, the present application provides a method for generating a slice file, the method comprising:

[0107] Obtaining a model file to identify a model object in the model file;

[0108] Determining a bounding box of each of the model objects in the model file, and determining a placement area of ​​each of the model objects based on the bounding box of each of the model objects;

[0109] Generate position information of each of the placement areas, and record the position information of each of the placement areas in a model slice file corresponding to the model file, wherein the placement area is used to exclude printing of the model object corresponding to the exclusion area when the placement area is set as an exclusion area in a three-dimensional printer.

[0110] Reference numeral 2, based on reference numeral 1, determining the bounding box of each model object in the model file includes:

[0111] Identifying outer contour boundaries of each model object projected onto a printing plane;

[0112] Determine a rectangular frame surrounding the outer contour boundary, wherein each side of the rectangular frame is tangent to at least one point on the outer contour boundary;

[0113] A rectangular box surrounding the outer contour boundary is determined as a boundary box of the model object corresponding to the outer contour boundary.

[0114] Reference numeral 3, based on reference numeral 1 or 2, determining the placement area of ​​each model object according to the bounding box of each model object includes:

[0115] Obtaining parameter information corresponding to the bounding box of each of the model objects, wherein the parameter information includes length information and width information;

[0116] determining layout information of the model file according to the number of model objects in the model file and parameter information corresponding to a bounding box of each model object, and arranging each model object in a layout area corresponding to the layout information;

[0117] The layout area set for each of the model objects is determined as the placement area for each of the model objects.

[0118] Reference numeral 4, based on reference numeral 3, determining layout information of the model file according to the number of model objects in the model file and parameter information corresponding to the bounding box of each model object, and placing each model object in a layout area corresponding to the layout information, including:

[0119] In response to a selection operation of the layout information, determining the selected layout information as pre-selected layout information;

[0120] If the number of layout areas corresponding to the preselected layout information is greater than or equal to the number of model objects, detecting, based on parameter information corresponding to the bounding boxes of the model objects, whether the bounding boxes of the model objects can be set in the layout areas corresponding to the preselected layout information;

[0121] If the bounding box of each model object can be set in each layout area corresponding to the preselected layout information, the preselected layout information is determined as the layout information of the model file, and each model object is set in a layout area corresponding to the layout information.

[0122] Reference number 5, based on reference number 4, the method further includes:

[0123] If the number of layout areas corresponding to the selected preselected layout information is less than the number of the model objects, or the bounding box of any of the model objects cannot be set in each layout area corresponding to the preselected layout information, a first prompt information indicating that the selected preselected layout information is unavailable is generated and the first prompt information is output.

[0124] Reference numeral 6, based on reference numeral 3, determining layout information of the model file according to the number of model objects in the model file and parameter information corresponding to the bounding box of each model object, and placing each model object in a layout area corresponding to the layout information, including:

[0125] Acquire preselected layout information corresponding to the number of the model objects, wherein the number of layout areas corresponding to the preselected layout information is greater than or equal to the number of the model objects;

[0126] detecting, according to parameter information corresponding to the bounding boxes of the model objects, whether the bounding boxes of the model objects can be set in the layout areas corresponding to the preselected layout information;

[0127] If the bounding box of each model object can be set in each layout area corresponding to the preselected layout information, the preselected layout information is determined as the layout information of the model file, and each model object is set in a layout area corresponding to the layout information.

[0128] Reference numeral 7, based on reference numeral 6, detecting whether the bounding boxes of the model objects can be set in the layout areas corresponding to the preselected layout information according to the parameter information corresponding to the bounding boxes of the model objects, includes:

[0129] Arranging the bounding boxes of the model objects in descending order according to the parameter information corresponding to the bounding boxes of the model objects;

[0130] The following steps are executed in a loop until the bounding boxes of the model objects can be set in the layout areas corresponding to the preselected layout information, or all the preselected layout information are detected:

[0131] determining, in sequence according to the arrangement order of the bounding boxes of the model objects, whether the bounding boxes of the model objects can be set in the layout areas corresponding to the preselected layout information;

[0132] If the bounding box of any of the model objects cannot be set in each layout area corresponding to the preselected layout information, the preselected layout information is replaced.

[0133] Reference number 8, based on reference number 7, the method further includes:

[0134] For all the acquired pre-selected layout information, if the bounding box of any model object cannot be set in each layout area corresponding to the pre-selected layout information, second prompt information indicating that all pre-selected layout information is unavailable is generated and output.

[0135] Reference numeral 9, based on reference numeral 3, determining layout information of the model file according to the number of model objects in the model file and parameter information corresponding to the bounding box of each model object, and placing each model object in a layout area corresponding to the layout information, including:

[0136] determining, based on the overall occupied area of ​​the bounding boxes of the model objects, whether each of the model objects in the model file can be placed on the printing plane of the 3D printer;

[0137] If each of the model objects in the model file can be placed on the printing plane of the 3D printer, then using a greedy algorithm to traverse each position on the printing plane and search one by one for the placement position of the bounding box of each of the model objects on the printing plane;

[0138] The layout information of the model file is generated according to the placement position of the bounding box of each model object on the printing plane, and the placement position of the bounding box of each model object on the printing plane is used as a layout area corresponding to the layout information.

[0139] Reference numeral 10, based on reference numeral 9, traversing each position on the printing plane using a greedy algorithm and searching for the placement position of the bounding box of each model object on the printing plane one by one, including:

[0140] constructing a grid plane corresponding to a printing plane of the 3D printer, wherein each grid on the grid plane corresponds to an occupancy mark;

[0141] The following steps are repeated until the bounding boxes of all model objects in the model file are placed on the grid plane:

[0142] placing a bounding box of the model object at a preset position on the grid plane, and detecting whether the grid in which the bounding box of the model object is placed is marked as occupied;

[0143] If the grid is not marked as occupied, placing the bounding box of the model object at the current position and marking the grid where the bounding box of the model object is placed as occupied;

[0144] If the grid is marked as occupied, the bounding box of the model object is moved in a preset direction until the grid where the bounding box of the model object is placed is not marked as occupied and the bounding box of the model object does not exceed the position of the grid plane. The bounding box of the model object is placed at the moved position, and the grid where the bounding box of the model object is placed is marked as occupied.

[0145] Reference number 11, based on reference number 9, the method further includes:

[0146] If each of the model objects in the model file cannot be placed on the printing plane of the 3D printer, third prompt information indicating that the model object cannot be placed is generated and output.

[0147] Reference number 12, based on reference number 1, the method further includes:

[0148] generating a layout diagram for each placement area according to the position information of each placement area of ​​the model objects;

[0149] The layout schematic diagram is sent to the three-dimensional printer, so that the three-dimensional printer displays the layout schematic diagram.

[0150] Reference numeral 13, this embodiment further provides a model printing method, which is applied to a 3D printer, and includes:

[0151] In response to a selection operation of a model slicing file, determining whether position information of a plurality of placement areas is recorded in the model slicing file;

[0152] If the model slice file records the location information of multiple placement areas, output the location information of each placement area;

[0153] In response to the selection operation of the exclusion area, the selected placement area is set as the exclusion area, wherein the exclusion area is used to exclude the printing of the model object corresponding to the exclusion area when printing the model.

[0154] Reference number 14, based on reference number 13, the method further includes:

[0155] In response to receiving a print pause instruction, and / or in response to the 3D printer being restarted after power is restored, outputting position information of each of the placement areas;

[0156] In response to the selection operation of the exclusion area, the selected placement area is set as the exclusion area.

[0157] Reference numeral 15, based on reference numeral 13 or 14, the 3D printer includes an interactive display module and / or a communication module, wherein the communication module is configured to communicate with a third-party device; and the outputting of the position information of each of the placement areas includes:

[0158] Displaying a schematic layout diagram for each of the placement areas through the display module; and / or displaying a schematic layout diagram for each of the placement areas through the display device on the third-party device;

[0159] Then, in response to the selection operation of the exclusion area, setting the selected placement area as the exclusion area includes:

[0160] In response to a triggering operation on at least one of the placement areas in the layout schematic diagram, the triggered placement area is set as the exclusion area.

[0161] Reference number 16, based on reference number 13 or 14, the method further includes:

[0162] The model is printed based on the printing area indicated by the model slicing file, wherein, for the model slicing file, the following steps are looped during model printing until the printing area indicated by the model slicing file is printed: detecting whether the currently printed area is the exclusion area; if the currently printed area is the exclusion area, skipping the currently printed area for printing.

[0163] It should be noted that the reference numbers corresponding to the various steps in the above embodiments serve only as identifiers and do not limit the order in which the steps are executed. The order in which the steps are executed in the various embodiments can be set according to actual circumstances. In addition, the order in which the steps are executed in the above embodiments can also be set according to actual circumstances and is again not specifically limited.

[0164] Further, as Figures 1 to 5 The specific implementation of the method shown in this embodiment provides a slice file generation device, such as Figure 10 As shown, the device includes: a model object recognition module 41, a placement area determination module 42 and a position information recording module 43, wherein:

[0165] The model object identification module 41 may be used to obtain a model file to identify a model object in the model file;

[0166] The placement area determination module 42 may be configured to determine a bounding box of each model object in the model file, and determine a placement area of ​​each model object based on the bounding box of each model object;

[0167] The position information recording module 43 can be used to generate the position information of each of the placement areas, and record the position information of each of the placement areas in the model slicing file corresponding to the model file, wherein the placement area is used to exclude the printing of the model object corresponding to the exclusion area when it is set as an exclusion area in the three-dimensional printer.

[0168] In a specific application scenario, the placement area determination module 42 can be specifically used to identify the outer contour boundaries of each of the model objects projected on the printing plane; determine a rectangular box surrounding the outer contour boundary, wherein each side of the rectangular box is tangent to at least one point on the outer contour boundary; and determine the rectangular box surrounding the outer contour boundary as the boundary box of the model object corresponding to the outer contour boundary.

[0169] In a specific application scenario, the placement area determination module 42 can also be used to obtain parameter information corresponding to the bounding box of each model object, wherein the parameter information includes length information and width information; determine the layout information of the model file according to the number of model objects in the model file and the parameter information corresponding to the bounding box of each model object, and set each model object in a layout area corresponding to the layout information; determine the layout area set for each model object as the placement area of ​​each model object.

[0170] In a specific application scenario, the placement area determination module 42 can also be used to determine the selected layout information as pre-selected layout information in response to a selection operation of layout information; if the number of layout areas corresponding to the pre-selected layout information is greater than or equal to the number of model objects, then based on the parameter information corresponding to the bounding box of each model object, it is detected whether the bounding box of each model object can be set in each layout area corresponding to the pre-selected layout information; if the bounding box of each model object can be set in each layout area corresponding to the pre-selected layout information, then the pre-selected layout information is determined as the layout information of the model file, and each model object is set in a layout area corresponding to the layout information.

[0171] In a specific application scenario, the device also includes a prompt information output module 44. The prompt information output module 44 can be used to generate a first prompt information that the selected preselected layout information is unavailable and output the first prompt information if the number of layout areas corresponding to the selected preselected layout information is less than the number of the model objects, or the bounding box of any of the model objects cannot be set in each layout area corresponding to the preselected layout information.

[0172] In a specific application scenario, the placement area determination module 42 can also be used to obtain pre-selected layout information corresponding to the number of model objects, wherein the number of layout areas corresponding to the pre-selected layout information is greater than or equal to the number of model objects; based on the parameter information corresponding to the bounding box of each model object, it is detected whether the bounding box of each model object can be set in each layout area corresponding to the pre-selected layout information; if the bounding box of each model object can be set in each layout area corresponding to the pre-selected layout information, the pre-selected layout information is determined as the layout information of the model file, and each model object is set in a layout area corresponding to the layout information.

[0173] In a specific application scenario, the placement area determination module 42 can also be used to arrange the bounding boxes of each model object in descending order according to the parameter information corresponding to the bounding boxes of each model object; loop through the following steps until the bounding boxes of each model object can be set in each layout area corresponding to a preselected layout information, or all preselected layout information are detected: according to the arrangement order of the bounding boxes of the model objects, determine in turn whether the bounding boxes of each model object can be set in each layout area corresponding to the preselected layout information; if the bounding box of any model object cannot be set in each layout area corresponding to the preselected layout information, replace the preselected layout information.

[0174] In a specific application scenario, the prompt information output module 44 can also be used to generate a second prompt information indicating that all pre-selected layout information is unavailable if the bounding box of any model object cannot be set in each layout area corresponding to the pre-selected layout information for all the pre-selected layout information obtained, and output the second prompt information.

[0175] In a specific application scenario, the placement area determination module 42 can be used to determine whether each of the model objects in the model file can be placed on the printing plane of the three-dimensional printer based on the overall occupied area of ​​the bounding box of each of the model objects; if each of the model objects in the model file can be placed on the printing plane of the three-dimensional printer, a greedy algorithm is used to traverse each position on the printing plane, and the placement position of the bounding box of each model object on the printing plane is searched one by one; based on the placement position of the bounding box of each model object on the printing plane, the layout information of the model file is generated, and the placement position of the bounding box of each model object on the printing plane is used as a layout area corresponding to the layout information.

[0176] In a specific application scenario, the placement area determination module 42 can also be used to construct a grid plane corresponding to the printing plane of the 3D printer, wherein each grid on the grid plane corresponds to an occupation mark; the following steps are looped until the bounding boxes of all model objects in the model file are placed on the grid plane: a bounding box of the model object is placed at a preset position on the grid plane, and it is detected whether the grid where the bounding box of the model object is placed is marked as occupied; if the grid is not marked as occupied, the bounding box of the model object is placed at the current position, and the grid where the bounding box of the model object is placed is marked as occupied; if the grid is marked as occupied, the bounding box of the model object is moved in a preset direction until the grid where the bounding box of the model object is placed is not marked as occupied and the bounding box of the model object does not exceed the position of the grid plane, the bounding box of the model object is placed at the moved position, and the grid where the bounding box of the model object is placed is marked as occupied.

[0177] In a specific application scenario, the prompt information output module 44 can also be used to generate a third prompt information indicating that the model object cannot be placed if each model object in the model file cannot be placed on the printing plane of the 3D printer, and output the third prompt information.

[0178] In a specific application scenario, the device also includes a layout schematic output module 45, which can be used to generate a layout schematic for each placement area based on the position information of the placement area of ​​each model object; and send the layout schematic to the three-dimensional printer so that the three-dimensional printer displays the layout schematic.

[0179] It should be noted that for other corresponding descriptions of the functional units involved in the slice file generation device provided in this embodiment, please refer to Figures 1 to 5 The corresponding description in will not be repeated here.

[0180] Further, as Figures 6 to 9 The specific implementation of the method shown in this embodiment provides a model printing device, such as Figure 11 As shown, the device includes: a placement area detection module 51, a placement area output module 52 and an exclusion area setting module 53, wherein:

[0181] The placement area detection module 51 is configured to determine, in response to a selection operation of a model slice file, whether the model slice file contains location information of multiple placement areas;

[0182] The placement area output module 52 is configured to output the position information of each placement area if the location information of multiple placement areas is recorded in the model slice file;

[0183] The exclusion area setting module 53 can be used to set the selected placement area as an exclusion area in response to the exclusion area selection operation, wherein the exclusion area is used to exclude the printing of the model object corresponding to the exclusion area when printing the model.

[0184] In a specific application scenario, the placement area output module 52 can also be used to output the position information of each placement area in response to receiving a print pause instruction and / or in response to the 3D printer being restarted after power is restored; the exclusion area setting module 53 can also be used to set the selected placement area as an exclusion area in response to an exclusion area selection operation.

[0185] In a specific application scenario, the three-dimensional printer includes an interactive display module and / or a communication module, and the communication module is used to communicate with a third-party device; the placement area output module 52 can be specifically used to display a layout schematic diagram for each of the placement areas through the display module; and / or display a layout schematic diagram for each of the placement areas through a display device on the third-party device; the exclusion area setting module 53 can be specifically used to respond to a trigger operation for at least one of the placement areas in the layout schematic, and set the triggered placement area as the exclusion area.

[0186] In a specific application scenario, the device also includes a model printing module 54, which can be specifically used to print the model based on the printing area indicated by the model slicing file. Specifically, for the model slicing file, the following steps are executed in a loop when the model is printed until the printing area indicated by the model slicing file is printed: detecting whether the currently printed area is the exclusion area; if the currently printed area is the exclusion area, skipping the currently printed area for printing.

[0187] It should be noted that for other corresponding descriptions of the functional units involved in the model printing device provided in this embodiment, please refer to Figures 6 to 9 The corresponding description in will not be repeated here.

[0188] Based on the above Figures 1 to 5 The method shown in FIG. 1 is a method for performing the above-mentioned operation. Accordingly, this embodiment further provides a storage medium on which a computer program is stored. When the program is executed by a processor, the above-mentioned Figures 1 to 5 The slice file generation method shown in FIG.

[0189] Based on the above Figures 6 to 9 The method shown in FIG. 1 is a method for performing the above-mentioned operation. Accordingly, this embodiment further provides a storage medium on which a computer program is stored. When the program is executed by a processor, the above-mentioned Figures 6 to 9 The model printing method shown.

[0190] Based on this understanding, the technical solution of the present application can be embodied in the form of a software product. The software product to be identified can be stored in a non-volatile storage medium (which can be a CD-ROM, USB flash drive, mobile hard disk, etc.), including a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute the methods described in each implementation scenario of the present application.

[0191] Based on the above Figures 1 to 5 The method shown, and Figure 10 In order to achieve the above-mentioned purpose, the embodiment of the slice file generation device shown in the figure further provides a computer device for generating a slice file, which can be a personal computer, a server, a smart phone, a tablet computer, a smart watch, or other network devices, etc. The computer device includes a storage medium and a processor; the storage medium is used to store a computer program and an operating system; the processor is used to execute the computer program to achieve the above-mentioned Figures 1 to 5 The method shown.

[0192] Optionally, the computer device may further include an internal memory, a communication interface, a network interface, a camera, a radio frequency (RF) circuit, a sensor, an audio circuit, a Wi-Fi module, a display, an input device such as a keyboard, etc. Optionally, the communication interface may further include a USB interface, a card reader interface, etc. The network interface may optionally include a standard wired interface, a wireless interface (such as a Wi-Fi interface), etc.

[0193] Based on the above Figures 6 to 9 The method shown, and Figure 11 In order to achieve the above-mentioned purpose, the present embodiment further provides a 3D printer, which can be a light-curing 3D printer, an FDM 3D printer, or other 3D printers, etc. The computer device includes a storage medium and a processor; the storage medium is used to store a computer program and an operating system; the processor is used to execute the computer program to achieve the above-mentioned Figures 6 to 9 The method shown.

[0194] Those skilled in the art will understand that the computer device structure for identifying an operation action provided in this embodiment does not constitute a limitation on the computer device, and may include more or fewer components, or a combination of certain components, or different component arrangements.

[0195] The storage medium may also include an operating system and a network communication module. The operating system is a program that manages the computer device hardware and the software resources to be identified, supporting the execution of the information processing program and other software and / or programs to be identified. The network communication module is used to enable communication between components within the storage medium and with other hardware and software in the information processing computer device.

[0196] Through the description of the above implementation methods, those skilled in the art can clearly understand that the present application can be implemented by means of software plus the necessary general hardware platform, or can be implemented by hardware. By applying the technical solution of the present application, a model file is first obtained to identify the model objects in the model file, and then the bounding box of each model object in the model file is determined, and based on the bounding box of each model object, the placement area of ​​each model object is determined, and finally the position information of each placement area is generated, and the position information of each placement area is recorded in the model slice file corresponding to the model file, wherein the placement area can be used to exclude the printing of the model object corresponding to the exclusion area when it is set as an exclusion area in a three-dimensional printer. Compared with the prior art, the above method can facilitate the user to set the placement area of ​​any model object as an exclusion area, so that the user can exclude any model object from printing during the printing process, thereby avoiding material loss and time loss in model printing.

[0197] Those skilled in the art will understand that the accompanying drawings are only schematic diagrams of a preferred implementation scenario, and the modules or processes in the accompanying drawings are not necessarily required to implement the present application. Those skilled in the art will understand that the modules in the devices in the implementation scenario can be distributed in the devices of the implementation scenario according to the implementation scenario description, or can be changed accordingly and located in one or more devices different from the implementation scenario. The modules of the above-mentioned implementation scenario can be combined into one module, or can be further split into multiple sub-modules.

[0198] In other embodiments, the present application also provides another type of 3D printer, comprising a control device, a human body detection sensor, and a functional device. The human body detection sensor and the functional device are electrically connected to the control device, respectively. The human body detection sensor is used to detect the approach of a user to generate a proximity signal, and the control device controls the operating state of the functional module based on the proximity signal.

[0199] The control device is a control chip of the three-dimensional printer, such as a main control MCU (Microcontroller Unit).

[0200] The type of human detection sensor is not limited, as long as it can detect the approach of a user. Specifically, the human detection sensor can be a photoelectric sensor, such as a distance sensor or an infrared sensor. When a user approaches a preset distance from the 3D printer, the human detection sensor detects the user and generates a proximity signal.

[0201] The specific structure or type of the functional device is not limited. The functional device includes but is not limited to at least one of the following components: light source, fan, sound module, etc.

[0202] Light sources are used for illumination. A control device turns the light source on and off based on a proximity signal. Specifically, if the control device receives a proximity signal, it turns the light source module on, causing it to illuminate. If the control device does not receive a proximity signal, it turns the light source module off or reduces its power, preventing it from illuminating and conserving energy.

[0203] Fans include, but are not limited to, fans on the print head, cooling fans on the mainboard, and cooling fans on the switching power supply. The control device controls the operating state of the fans based on the proximity signal. Specifically, if the control device receives a proximity signal, it controls the fans to reduce power, i.e., reduce speed, and controls the 3D printer to reduce printing speed to reduce noise. This reduction in speed does not affect the print quality of the model. If the control device does not receive a proximity signal, it controls the fans to return to the set power, and controls the 3D printer to resume printing speed.

[0204] The sound module includes a buzzer or speaker, etc. The control device controls the operation of the sound module based on the proximity signal. If the control device receives the proximity signal, the sound module emits a sound to remind the user to pay attention to safety and avoid being hit by moving parts or burns. The sound module can also emit voice to inform the user of the current model's printing speed, printing progress, and the remaining time for printing. If the control device does not receive the proximity signal, the printing module stops operating.

[0205] The serial numbers of the above application are for descriptive purposes only and do not represent the advantages or disadvantages of the implementation scenarios. The above disclosure only discloses several specific implementation scenarios of the present application, but the present application is not limited thereto. Any changes that can be conceived by those skilled in the art should fall within the scope of protection of the present application.

Claims

1. A method for generating a slice file, characterized in that: The method comprises: Obtaining a model file to identify a model object in the model file; Determining a bounding box of each of the model objects in the model file, and determining a placement area of ​​each of the model objects based on the bounding box of each of the model objects; Determining the bounding box of each model object in the model file includes: identifying an outer contour boundary of each model object projected on a printing plane; determining a rectangular box surrounding the outer contour boundary, wherein each side of the rectangular box is tangent to at least one point on the outer contour boundary; and determining the rectangular box surrounding the outer contour boundary as the bounding box of the model object corresponding to the outer contour boundary; Generate position information of each of the placement areas, and record the position information of each of the placement areas in a model slice file corresponding to the model file, wherein the placement area is used to exclude printing of the model object corresponding to the exclusion area when the placement area is set as an exclusion area in a three-dimensional printer.

2. The method according to claim 1, characterized in that Determining the placement area of ​​each model object according to the bounding box of each model object includes: Obtaining parameter information corresponding to the bounding box of each of the model objects, wherein the parameter information includes length information and width information; determining layout information of the model file according to the number of model objects in the model file and parameter information corresponding to a bounding box of each model object, and arranging each model object in a layout area corresponding to the layout information; The layout area set for each of the model objects is determined as the placement area for each of the model objects.

3. The method according to claim 2, characterized in that The step of determining layout information of the model file according to the number of model objects in the model file and parameter information corresponding to a bounding box of each model object, and arranging each model object in a layout area corresponding to the layout information, includes: In response to a selection operation of the layout information, determining the selected layout information as pre-selected layout information; If the number of layout areas corresponding to the preselected layout information is greater than or equal to the number of model objects, detecting, based on parameter information corresponding to the bounding boxes of the model objects, whether the bounding boxes of the model objects can be set in the layout areas corresponding to the preselected layout information; If the bounding box of each model object can be set in each layout area corresponding to the preselected layout information, the preselected layout information is determined as the layout information of the model file, and each model object is set in a layout area corresponding to the layout information.

4. The method according to claim 3, characterized in that The method further comprises: If the number of layout areas corresponding to the selected preselected layout information is less than the number of the model objects, or the bounding box of any of the model objects cannot be set in each layout area corresponding to the preselected layout information, a first prompt information indicating that the selected preselected layout information is unavailable is generated and the first prompt information is output.

5. The method according to claim 2, characterized in that The step of determining layout information of the model file according to the number of model objects in the model file and parameter information corresponding to a bounding box of each model object, and arranging each model object in a layout area corresponding to the layout information, includes: Acquire preselected layout information corresponding to the number of the model objects, wherein the number of layout areas corresponding to the preselected layout information is greater than or equal to the number of the model objects; detecting, according to parameter information corresponding to the bounding boxes of the model objects, whether the bounding boxes of the model objects can be set in the layout areas corresponding to the preselected layout information; If the bounding box of each model object can be set in each layout area corresponding to the preselected layout information, the preselected layout information is determined as the layout information of the model file, and each model object is set in a layout area corresponding to the layout information.

6. The method according to claim 5, characterized in that The detecting, based on the parameter information corresponding to the bounding box of each model object, whether the bounding box of each model object can be set in each layout area corresponding to the preselected layout information includes: Arranging the bounding boxes of the model objects in descending order according to the parameter information corresponding to the bounding boxes of the model objects; The following steps are executed in a loop until the bounding boxes of the model objects can be set in the layout areas corresponding to the preselected layout information, or all the preselected layout information are detected: determining, in sequence according to the arrangement order of the bounding boxes of the model objects, whether the bounding boxes of the model objects can be set in the layout areas corresponding to the preselected layout information; If the bounding box of any of the model objects cannot be set in each layout area corresponding to the preselected layout information, the preselected layout information is replaced.

7. The method according to claim 6, characterized in that The method further comprises: For all the acquired pre-selected layout information, if the bounding box of any model object cannot be set in each layout area corresponding to the pre-selected layout information, second prompt information indicating that all pre-selected layout information is unavailable is generated and output.

8. The method according to claim 2, characterized in that The step of determining layout information of the model file according to the number of model objects in the model file and parameter information corresponding to a bounding box of each model object, and arranging each model object in a layout area corresponding to the layout information, includes: determining, based on the overall occupied area of ​​the bounding boxes of the model objects, whether each of the model objects in the model file can be placed on the printing plane of the 3D printer; If each of the model objects in the model file can be placed on the printing plane of the 3D printer, then using a greedy algorithm to traverse each position on the printing plane and search one by one for the placement position of the bounding box of each of the model objects on the printing plane; The layout information of the model file is generated according to the placement position of the bounding box of each model object on the printing plane, and the placement position of the bounding box of each model object on the printing plane is used as a layout area corresponding to the layout information.

9. The method according to claim 8, characterized in that The method of traversing each position on the printing plane using a greedy algorithm and searching for the placement position of the bounding box of each model object on the printing plane one by one includes: constructing a grid plane corresponding to a printing plane of the 3D printer, wherein each grid on the grid plane corresponds to an occupancy mark; The following steps are repeated until the bounding boxes of all model objects in the model file are placed on the grid plane: placing a bounding box of the model object at a preset position on the grid plane, and detecting whether the grid in which the bounding box of the model object is placed is marked as occupied; If the grid is not marked as occupied, placing the bounding box of the model object at the current position and marking the grid where the bounding box of the model object is placed as occupied; If the grid is marked as occupied, the bounding box of the model object is moved in a preset direction until the grid where the bounding box of the model object is placed is not marked as occupied and the bounding box of the model object does not exceed the position of the grid plane. The bounding box of the model object is placed at the moved position, and the grid where the bounding box of the model object is placed is marked as occupied.

10. The method according to claim 8, characterized in that The method further comprises: If each of the model objects in the model file cannot be placed on the printing plane of the 3D printer, third prompt information indicating that the model object cannot be placed is generated and output.

11. The method according to claim 1, wherein The method further comprises: generating a layout diagram for each placement area according to the position information of each placement area of ​​the model objects; The layout schematic diagram is sent to the three-dimensional printer, so that the three-dimensional printer displays the layout schematic diagram.

12. A model printing method, characterized in that: Applied to a three-dimensional printer, the method comprises: In response to a selection operation of a model slicing file, determining whether location information of a plurality of placement areas is recorded in the model slicing file, wherein the model slicing file is generated based on the method according to any one of claims 1 to 11; If the model slice file records the location information of multiple placement areas, output the location information of each placement area; In response to the selection operation of the exclusion area, the selected placement area is set as the exclusion area, wherein the exclusion area is used to exclude the printing of the model object corresponding to the exclusion area when printing the model.

13. The method according to claim 12, characterized in that The method further comprises: In response to receiving a print pause instruction, and / or in response to the 3D printer being restarted after power is restored, outputting position information of each of the placement areas; In response to the selection operation of the exclusion area, the selected placement area is set as the exclusion area.

14. The method according to claim 12 or 13, characterized in that The three-dimensional printer includes an interactive display module and / or a communication module, wherein the communication module is used to communicate with a third-party device; Then the outputting of the position information of each of the placement areas includes: Displaying a schematic layout diagram for each of the placement areas through the display module; and / or displaying a schematic layout diagram for each of the placement areas through the display device on the third-party device; Then, in response to the selection operation of the exclusion area, setting the selected placement area as the exclusion area includes: In response to a triggering operation on at least one of the placement areas in the layout schematic diagram, the triggered placement area is set as the exclusion area.

15. The method according to claim 12 or 13, characterized in that The method further comprises: The model is printed based on the printing area indicated by the model slicing file, wherein, for the model slicing file, the following steps are looped during model printing until the printing area indicated by the model slicing file is printed: detecting whether the currently printed area is the exclusion area; if the currently printed area is the exclusion area, skipping the currently printed area for printing.

16. A slice file generating device, characterized in that: The device comprises: A model object identification module, used to obtain a model file to identify a model object in the model file; a placement area determination module, configured to determine a bounding box of each model object in the model file, and determine a placement area of ​​each model object based on the bounding box of each model object; The placement area determination module is specifically configured to identify the outer contour boundary of each model object projected on the printing plane; determine a rectangular frame surrounding the outer contour boundary, wherein each side of the rectangular frame is tangent to at least one point on the outer contour boundary; and determine the rectangular frame surrounding the outer contour boundary as the bounding box of the model object corresponding to the outer contour boundary; A position information recording module is used to generate position information of each of the placement areas and record the position information of each of the placement areas in a model slicing file corresponding to the model file, wherein the placement area is used to exclude printing of the model object corresponding to the exclusion area when the placement area is set as an exclusion area in a three-dimensional printer.

17. A model printing device, characterized in that: The device comprises: a placement area detection module, configured to, in response to a selection operation of a model slicing file, determine whether location information of multiple placement areas is recorded in the model slicing file, wherein the model slicing file is generated based on the method according to any one of claims 1 to 11; a placement area output module, configured to output the position information of each placement area if the position information of multiple placement areas is recorded in the model slice file; The exclusion area setting module is used to set the selected placement area as an exclusion area in response to the selection operation of the exclusion area, wherein the exclusion area is used to exclude the printing of the model object corresponding to the exclusion area when printing the model.

18. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.

19. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.

20. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 12 to 15 are implemented.

21. A three-dimensional printer comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the computer program is executed by a processor, the steps of the method according to any one of claims 12 to 15 are implemented.

Citation Information

Patent Citations

  • Slicing processing method and device in 3D printing, storage medium and electronic equipment

    CN115139528A

  • Method and device for determining three-dimensional printing data of three-dimensional model and electronic equipment

    CN117774329A