Model typesetting method and nonvolatile storage medium

By determining the layout plane in 3D printing and arranging the models according to predetermined rules, the problem of high computational load leading to low efficiency in existing technologies is solved. This achieves efficient placement of models on the printing platform and optimized space utilization, thereby improving 3D printing efficiency and material utilization.

CN120952240APending Publication Date: 2025-11-14GUANGZHOU HEIGE ZHIZAO INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511070951.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-31
Publication Date
2025-11-14

AI Technical Summary

Technical Problem

In existing 3D printing technologies, the high computational cost of model layout leads to low efficiency. Existing methods such as envelope polygons, critical polygons, and raster/pixel methods have their own limitations and cannot effectively improve the density and accuracy of model layout.

Method used

By determining the layout plane, multiple models are sorted according to predetermined rules, and the models are arranged on the layout plane according to the sorting results, including arranging models on the first and second layers. Bounding box and linked list detection mechanisms are used to avoid collisions and optimize the placement of models on the printing platform.

Benefits of technology

It reduces the amount of calculation in the layout process, improves the layout efficiency of 3D printers, ensures that the model is placed reasonably and efficiently on the printing platform, makes full use of the printing space, and improves the overall printing efficiency and material utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120952240A_ABST
    Figure CN120952240A_ABST
Patent Text Reader

Abstract

The invention discloses a model typesetting method and a nonvolatile storage medium. The method comprises the following steps: determining a typesetting plane, and providing a plurality of models; sorting the plurality of models according to a preset rule; arranging the models on the typesetting plane according to the sorting order to provide a first-layer model; and arranging the models over the first tier model in the ordered order to provide a second tier model. The technical problem that the efficiency is low due to the fact that the typesetting calculated amount is high when an existing 3D printer is used for typesetting is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of 3D printing technology, and more specifically, to a model layout method and a non-volatile storage medium. Background Technology

[0002] In 3D printing technology, the platform area of ​​a 3D printer is limited. In order to improve production efficiency, more models are arranged on the printer's platform to print as many models as possible in one printing process.

[0003] Currently, the following methods are mainly used to calculate the positional relationships of models in single-page layout problems of 3D printing:

[0004] Envelope polygon: Envelope polygon is a relatively simple method to solve the problem of irregular two-dimensional layout. It simplifies the irregular polygon into rectangles and then arranges them.

[0005] No-fit polygon: The No-fit polygon method (NFP) is an effective way to solve 2D nesting problems. This method fixes one polygon A and rotates another polygon B around it without rotation, using a point on B as a reference point. The resulting trajectory is the NFP. This method is used to calculate the overlapping area between the two shapes and obtain all possible positions between A and B, thus finding the optimal placement.

[0006] Raster / pixel methods: This method divides continuous parts into discrete, pixel-like regions, thereby simplifying geometric information into encoded data represented by matrices and reducing the complexity of the problem.

[0007] However, the envelope polygon method wastes area, resulting in low nesting density; the critical polygon method has two limitations: the placement process requires the results of different rotation angles, increasing the computational load, and it is difficult to solve for concave polygons; the raster / pixel method has the disadvantage that it cannot accurately represent non-parallel polygonal line segments, and the size of discrete points also affects the placement accuracy.

[0008] There is currently no effective solution to the above problems. Summary of the Invention

[0009] This invention provides a model layout method and a non-volatile storage medium to at least solve the technical problem of low efficiency caused by high layout calculations in current 3D printers.

[0010] According to one aspect of the present invention, a model layout method is provided, comprising: determining a layout plane and providing a plurality of models; sorting the plurality of models according to a predetermined rule; arranging the models on the layout plane according to the sorting result to provide a first layer of models; and arranging models above the first layer of models according to the sorting structure to provide a second layer of models.

[0011] In some embodiments, multiple models include multiple identical or different models.

[0012] In some embodiments, sorting multiple models according to predetermined rules includes any of the following: sorting by the height of the models; or sorting by the size of the projected area of ​​the models on the layout plane.

[0013] In some embodiments, arranging models on a typesetting plane to provide a first layer of models includes: arranging the first-ordered model on the typesetting plane based on the initial typesetting position.

[0014] In some embodiments, arranging models on a typesetting plane to provide a first layer of models further includes: arranging second models at predetermined intervals along a predetermined direction based on the first arranged models.

[0015] In some embodiments, arranging models on the typesetting plane to provide a first layer of models further includes: arranging at least one model on the typesetting plane according to the sorting result of the arranged first model, such that all models in the first layer of models do not collide with each other and do not extend beyond the typesetting plane.

[0016] In some embodiments, arranging models above a first-layer model to provide a second-layer model includes providing a second plane that provides all models above the first-layer model, wherein all models of the second-layer model are arranged on the second plane.

[0017] In some embodiments, sorting multiple models according to a predetermined rule includes: providing a bounding box for each model, and sorting multiple bounding boxes of multiple models according to a predetermined rule, wherein the predetermined rule includes the height of the bounding box or the size of the projected area of ​​the bounding box on the typesetting plane.

[0018] In some embodiments, arranging models on a typesetting plane to provide a first layer of models according to the sorting results includes providing a first layer of models based on the distribution of the projection pattern of the models on the typesetting plane.

[0019] According to another aspect of the present invention, a non-volatile storage medium is also provided, the non-volatile storage medium including a stored program, wherein, when the program is running, the device where the non-volatile storage medium is located is controlled to execute any of the above-described model layout methods.

[0020] In this embodiment of the invention, a model layout method is adopted. By determining a layout plane and providing multiple models, the multiple models are sorted according to a predetermined rule. The models are arranged on the layout plane in the sorted order to provide a first layer of models. And in the sorted order, models are arranged above the first layer of models to provide a second layer of models. This achieves the purpose of transforming the layout of three-dimensional models into two-dimensional planar layout, thereby reducing the amount of calculation in the layout process and improving the layout efficiency. This solves the technical problem that the current 3D printers have high layout calculation volume and low efficiency. Attached Figure Description

[0021] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:

[0022] Figure 1 A hardware structure block diagram of a computer terminal for implementing a model typesetting method is shown.

[0023] Figure 2 This is a flowchart illustrating the model layout method provided according to an embodiment of the present invention;

[0024] Figure 3 This is a schematic diagram of the layout plan of the model layout method provided by an optional embodiment of the present invention;

[0025] Figure 4 This is a schematic diagram of model layout according to an optional embodiment of the present invention.

[0026] Figure 5 This is a flowchart illustrating a model layout method provided by an optional embodiment of the present invention;

[0027] Figure 6 This is a schematic diagram of linked list detection during model layout according to an optional embodiment of the present invention;

[0028] Figure 7 This is a schematic diagram of the z-axis three-dimensional layout strategy in the model layout method provided by an optional embodiment of the present invention;

[0029] Figure 8 This is a schematic diagram of a center layout strategy provided by an optional embodiment of the present invention;

[0030] Figure 9 This is a flowchart illustrating a model layout method provided by an optional embodiment of the present invention;

[0031] Figure 10 This is a structural block diagram of a model layout device provided according to an embodiment of the present invention. Detailed Implementation

[0032] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0033] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0034] According to an embodiment of the present invention, a method embodiment of a model typesetting method is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0035] The method embodiment provided in Embodiment 1 of this application can be executed on a mobile terminal, computer terminal, or similar computing device. Figure 1 A hardware structure block diagram of a computer terminal for implementing a model typesetting method is shown. For example... Figure 1 As shown, the computer terminal 10 may include one or more processors (shown as 102a, 102b, ..., 102n in the figure) (the processor may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 104 for storing data. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of a BUS bus), a network interface, a power supply, and / or a camera. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the aforementioned electronic device. For example, computer terminal 10 may also include... Figure 1The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0036] It should be noted that the aforementioned one or more processors and / or other data processing circuits are generally referred to herein as "data processing circuits". These data processing circuits may be implemented wholly or partially as software, hardware, firmware, or any other combination thereof. Furthermore, the data processing circuits may be a single, independent processing module, or may be wholly or partially integrated into any other element in the computer terminal 10. As involved in the embodiments of this application, the data processing circuits serve as processor control (e.g., selection of a variable resistor termination path connected to an interface).

[0037] The memory 104 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the model layout method in this embodiment of the invention. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory 104, thereby realizing the model layout method of the aforementioned application. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor, and these remote memories can be connected to the computer terminal 10 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0038] The display may be, for example, a touchscreen liquid crystal display (LCD) that allows the user to interact with the user interface of the computer terminal 10.

[0039] Figure 2 This is a flowchart illustrating the model layout method provided in an embodiment of the present invention, as shown below. Figure 2 As shown, the method includes the following steps:

[0040] Step S202: Determine the layout plane and provide multiple models.

[0041] In this step, you first determine the layout plane, which typically corresponds to the printer's forming platform. In preprocessing software, the layout plane is customizable. Multiple models can be provided, representing multiple models to be printed; these models will then be placed one by one onto the layout plane for arrangement.

[0042] Step S204: Sort the multiple models according to a predetermined rule.

[0043] In this step, sorting multiple models is a crucial part of 3D printing preprocessing. It helps optimize the model arrangement on the printing platform, thereby improving printing efficiency and material utilization. Sorting rules are typically based on specific model properties, such as:

[0044] 1. Sort by model height:

[0045] In some embodiments, shorter models are arranged in ascending order. In other embodiments, taller models are arranged first. Sorting by model height helps reduce the height difference of objects in a single print run, reducing the time period during which only one or a portion of an object is cured due to height differences, which improves printing efficiency.

[0046] 2. Sort by model projected area:

[0047] Ascending order: Arrange the models with smaller projected areas first.

[0048] Descending order: Arrange the models with larger projected areas first.

[0049] 3. Sort by input order:

[0050] Original order: Preserves the original input order of the model list. This is especially useful when there is a specific printing order requirement between models.

[0051] 4. Sort by model material or color:

[0052] Single material / color priority: If the model's material or color needs to be changed frequently, print models using the same material or color together to reduce the number of times the material needs to be changed.

[0053] For example, you can first obtain information such as the size, shape, and material of all models to be printed. Based on printing requirements and strategies, select one or more of the above sorting rules. Sort the model list using the selected sorting rule; this can be achieved using built-in sorting algorithms (such as quicksort, insertion sort, etc.) or a custom algorithm to meet specific needs. Based on the sorted model list, attempt to arrange the models sequentially on the printing platform, using a linked list detection mechanism to avoid model overlap or exceeding printing boundaries. During the layout process, if the current sorting rule is found to be insufficient for optimal layout, the sorting rule can be dynamically adjusted to further optimize the model layout.

[0054] By following the sorting and layout steps described above, it can be ensured that the model can be placed on the printing platform in a reasonable and efficient manner according to predetermined rules during 3D printing, thereby improving printing efficiency, reducing waste, and enhancing printing quality.

[0055] Step S206: Arrange the models on the layout plane according to the sorting results to provide the first layer of models.

[0056] In this step, the models are sorted according to a preset sorting method, such as by model height, projected area, or input order. The sorted model list is then updated into the algorithm's input, preparing for layout. The size of the layout plane can be initialized, typically matching the size of the printer platform. A linked list is created for the layout plane to record the available print area for each column. Based on the layout strategy, the starting point for layout is determined. Figure 3 This is a schematic diagram of the layout plan of the model layout method provided by an optional embodiment of the present invention, such as... Figure 3 As shown, the starting point under the bottom-left corner layout strategy is the bottom-left corner of the platform. The first sorted model is projected onto the bottom-left corner of the layout plane to obtain its 2D outline. A linked list detection mechanism can be used to check whether the model outline overlaps with the outlines of models already placed on the layout plane. If there is no overlap, the optimal placement position of the model is calculated according to the layout strategy; if there is overlap, the position or rotation angle of the model is adjusted until a collision-free position is found. Once the collision-free position of the model is determined, a score is calculated according to the layout strategy to confirm that this is the optimal position of the model at the current stage. After placing the first model, the next model is selected from the sorted model list, i.e., the second sorted model, and the above process of model projection, linked list detection, and position adjustment is repeated. The models in the list are continued to be laid out until all models are placed or the current layout plane can no longer accommodate more models, resulting in the first layer of models.

[0057] After completing the layout of the first layer of models, record the maximum height of the models in this layer. Then check if there are any unlaid models. If the current platform is full or there are too many models to lay out at once, you need to start the split-layout operation, determine a new layout plane, and continue the layout. Summarize all the model data that have been laid out in the first layer to form a layout result file. Output the layout result to the printer control software, ready for 3D printing.

[0058] The above process ensures that the models are efficiently arranged on the first layer of the printing plane according to the preset sorting and layout strategy, laying a solid foundation for the smooth progress of 3D printing. If there are too many models or the platform capacity is limited, multi-layer printing can be achieved through plate splitting, maximizing the printer's efficiency.

[0059] It's understandable that the layout doesn't necessarily have to strictly follow the sorting order. For example, you could first place the model with the largest area, and then place the model with the smallest area, which is the last in the sorting order. This helps improve the utilization of the display space.

[0060] Step S208, and according to the sorting result, arrange the model above the first layer model to provide the second layer model.

[0061] In this step, after completing the first layer of model layout, the maximum height values ​​of all models in the Z-axis direction can be collected. The total height difference between the highest point of the first layer model and the platform base point is calculated as the total height of the first layer. Based on the maximum height of the first layer model, the starting position of the Z-axis of the layout plane is set to this height value plus a safety interval of one layer (such as the minimum gap between layers to ensure that models do not stick together). The model is projected onto the updated second layer layout plane to obtain the model's contour information in the XY plane. Similar to the first layer layout, it may be necessary to rotate and dimensionally check the model to ensure that the projected contour of the model fits within the second layer layout plane.

[0062] At the start of the second layer layout, the linked list needs to be updated to reflect the outline information of the top of the first layer model. This involves modifying the start and end values ​​in the linked list related to the top outline of the model. The next model is selected from the sorted list of remaining models, and a linked list check is performed to ensure that the model does not collide or overlap with the first layer model or other placed second layer models. After the linked list check condition is met, the second model is placed according to the preset layout strategy, such as left-side, bottom, bottom left corner, or center layout strategy. This model placement process is repeated until all models to be laid out have been placed, or all available space on the second layer layout plane is occupied.

[0063] Check if any models have not yet been laid out. If so, prepare the third layer of layout based on the characteristics of these models and the limitations of the printer platform. Organize the layout data for all layers to form a complete layout result file. Send the layout result to the 3D printing software so that it can generate G-code or other printing instructions for each layer of the layout model.

[0064] Figure 4 This is a schematic diagram of model layout according to an optional embodiment of the present invention, such as... Figure 4 As shown, the maximum allowable height is the maximum height that the printer can print. Figure 4 The display is a two-layer print. After the first layer model is placed on the first layer layout plane, a second plane is set up, and the second layer model is placed on the second plane. However, the total height of the placed models cannot exceed the maximum allowable height.

[0065] By following the steps above, it can be ensured that the second-layer model is effectively arranged and laid out without interfering with the first-layer model, thereby making full use of the 3D printer's vertical printing space and improving overall printing efficiency and throughput. If necessary, this process can be repeated until all models are properly arranged across multiple layers.

[0066] It's understandable that, similarly, the layout doesn't necessarily have to strictly follow the sorting order. For example, the model with the largest area can be placed first, followed by the model with the smallest area. This helps improve the utilization of the display space. The aforementioned sorting steps are to determine the model information, so as to save screening time when determining the available layout scheme, for example, later.

[0067] As an optional embodiment, multiple models may include multiple identical or different models.

[0068] In some embodiments, "multiple models" may refer not only to multiple different models, but also to multiple instances of the same model. When dealing with such a set of models, the layout and typesetting strategies need to take into account the diversity and repetition of the models to ensure maximum space utilization and optimized printing efficiency.

[0069] As an optional embodiment, sorting multiple models according to predetermined rules includes any of the following: sorting by the height of the models; or sorting by the size of the projected area of ​​the models on the layout plane.

[0070] In some embodiments, sorting multiple models according to predetermined rules is a key step in 3D printing pre-layout, which helps optimize printing efficiency and material usage. Sorting by model height or projected area can bring different advantages.

[0071] Sort the models by height. First, load the data for all models to be printed, including their dimensions in 3D space. Then, extract the maximum dimension (height) of each model along the Z-axis from the model data. Sort the models in ascending or descending order based on their height. Ascending order is advantageous for printing shorter models first, then using the remaining space to print taller models; descending order may be more suitable for taller models requiring supporting structures, as printing them first provides a better foundation for placing shorter models.

[0072] By arranging the shorter models first, the remaining space on the platform can be utilized more effectively, avoiding the taller models taking up too much planar space and neglecting the vertical use of space. If the taller models are printed later, they can be used as natural supports for the shorter models, reducing the need for additional support structures and saving material.

[0073] Sort the models according to their projected area on the layout plane. First, project each model onto the layout plane and obtain its projected area on the XY plane. Calculate the projected area of ​​each model. Sort the models according to their projected areas. Generally, models with larger projected areas are arranged first, followed by models with smaller projected areas. Arranging large-area models first ensures they have space to be printed, and filling in smaller-area models afterwards greatly improves the utilization of platform space. If large-area models are arranged last, it may be necessary to readjust the already placed smaller models to make enough space, which increases the complexity and uncertainty of the layout.

[0074] In practical applications, two sorting strategies can be combined. For example, sorting can be prioritized by height, and then sorted by projected area within the same height range. This comprehensive sorting can better balance the placement of the model on the platform, considering both the optimization of vertical space and the efficient use of planar space.

[0075] Sequencing models not only help with more efficient printing but also simplify management and monitoring during the printing process, especially when dealing with large numbers of models or requiring precise control over the printing order. Proper sequencing rules can significantly improve the success rate and cost-effectiveness of 3D printing projects.

[0076] As an optional embodiment, arranging models on a typesetting plane to provide a first layer of models includes: arranging the first-ordered model on the typesetting plane based on the initial typesetting position.

[0077] In some embodiments, a layout strategy, such as a bottom-left corner strategy or a center strategy, can be pre-set, and then the initial position point on the layout plane can be determined according to the layout strategy. For example, the bottom-left corner strategy would set the starting point of the layout at the bottom left corner of the platform. The first model is retrieved from the sorted model list, and its 3D dimensions and projected area data are read. The first model is projected onto the layout plane to obtain its outline on the XY plane. If the layout strategy allows the model to be rotated to optimize space utilization, the model can be rotated appropriately to find the most space-efficient pose.

[0078] A linked list detection mechanism can be used to determine if the model collides with the boundaries of the layout plane or with already placed models. Since this is the first model in the first layer, only the boundaries need to be checked. The optimal placement position of the model is calculated according to the rules of the layout strategy. This may involve calculating the shortest distance between the model and the initial layout position, or finding a position that brings the model closer to the layout center. The model is placed in a position that ensures no collisions and satisfies the layout rules, and the final position coordinates and rotation angle of the model are recorded.

[0079] After placing the model on the layout plane, the linked list is updated to reflect the space occupied by the model, providing accurate information for the placement of subsequent models. The internal data structure records information about the placed models, including their exact position and rotation on the layout plane.

[0080] Continue processing the next model in the list in sorted order, repeating steps 3 through 5 until all models have been considered or no more models can be placed in the current layer.

[0081] By following the steps above, we can ensure that the first model is optimally placed on the layout plane while adhering to layout rules, providing a good starting point for the layout of subsequent models. This method helps maximize the efficiency of the printing platform, especially when dealing with a large number of models of varying shapes.

[0082] As an optional embodiment, arranging models on a typesetting plane to provide a first layer of models further includes: arranging second models at predetermined intervals along a predetermined direction based on the first arranged models.

[0083] In some embodiments, the orientation of the model placement is determined based on a layout strategy, such as moving along the X-axis or Y-axis. A minimum spacing distance can be set between models to ensure they do not interfere with each other during printing. Data for the second model, including its three-dimensional dimensions and projected area, is obtained from the sorted list of models. The starting position of the second model is calculated based on the position of the first model already placed. This typically starts from the edge of the first model and moves a predetermined distance along a predetermined direction. If the layout strategy allows for model rotation, the models can be rotated to ensure a more compact placement.

[0084] A linked list detection mechanism is used to ensure that the placement of the second model will not collide with the boundaries of the first model or the layout plane. If a collision is detected, the model's position is adjusted (which may require moving it in another direction or rotating it), and collision detection is performed again until a suitable position is found. Once a collision-free position is found, the final placement of the second model is determined based on scoring rules (such as how close the model is to the initial layout point). The model is placed in the final determined position, and the linked list and layout state information are updated. The linked list is updated to reflect the space occupied by the second model, and the placement information of the second model, including its position coordinates and rotation angle, is recorded in the layout information data structure.

[0085] By placing models at predetermined intervals along a predetermined direction, the space between models can be used efficiently, avoiding potential collisions or adhesions during printing. This also ensures a logical printing sequence, improving the efficiency and success rate of 3D printing. This layout method is particularly suitable for situations where the models are not significantly different in size and have relatively regular shapes.

[0086] As an optional embodiment, arranging models on the typesetting plane to provide a first layer of models further includes: arranging at least one model on the typesetting plane according to the sorting order of the arranged first model so that all models in the first layer of models do not collide with each other and do not extend beyond the typesetting plane.

[0087] In some embodiments, the dimensions (width and depth) of the layout plane and the boundary conditions for model placement are defined. Based on a layout strategy (e.g., bottom left corner, center, etc.), the first-ranked model is placed on the layout plane, and its position and rotation information are recorded. For the next model in the list (starting from the second-ranked model), the potential placement position of the new model is predicted based on the positions of already placed models and the layout strategy. Position prediction typically considers which unoccupied portion of the layout plane the model can be placed in, while maintaining a minimum safe distance between models. A linked list detection mechanism is used to confirm that the model will not collide with already placed models or the boundaries of the layout plane. If a collision is detected, the model's position is adjusted (e.g., moved or rotated), and the collision detection is repeated until a suitable collision-free position is found. Once a collision-free position is determined, the model is placed at that position, and the linked list and layout state information are updated, recording the model's final position and rotation information. This process continues, repeating the above steps for each model in the sorted order, until all models have been considered or the layout plane is full. If the model cannot be placed while adhering to collision rules and typographical plane boundaries, try changing the placement order or rotation angle of the model to explore more possibilities for space utilization.

[0088] The above process ensures that at least one model exists on the first-level layout plane, and that all models are optimally placed according to preset rules, preventing collisions and exceeding the boundaries of the layout plane. This arrangement not only improves printing efficiency but also guarantees the stability and safety of the printing process.

[0089] As an optional embodiment, arranging models above the first-layer model to provide a second-layer model includes: providing a second plane that is higher than all models of the first-layer model, wherein all models of the second-layer model are arranged on the second plane.

[0090] During actual printing, supports are typically placed at the second plane to allow support for all models in the second layer. These supports at the second plane are connected to the 3D printer's forming platform, for example, via additional supports, so that all models in both the first and second layers can be connected or secured by the supports. Correspondingly, appropriate support models can be set up during the layout process.

[0091] In some embodiments, after the first layer of models is laid out, placing the models on a higher plane to provide the second layer can greatly improve the printer's manufacturing efficiency. The highest point of all models in the first layer along the Z-axis can be measured to determine the total height occupied by the first layer. The minimum Z-axis spacing of the second layer relative to the first layer is determined, depending on the safety margin requirements of the models and the printer's Z-axis accuracy. The maximum height of the first layer models plus the set Z-axis spacing is used as the starting height of the second layer layout plane. Above the first layer models, a new layout plane is created based on the calculated starting height of the second layer. Models suitable for printing in the second layer plane are selected from the remaining unlaid-out models; typically, the height of these models, when added to the maximum height of the first layer and the Z-axis spacing, still does not exceed the printer's total printing height limit. The selected models are then sorted again, possibly according to rules similar to those for the first layer (e.g., model height, projected area, etc.). Based on the layout strategy, models are arranged on the second layer layout plane, ensuring no collisions between models and that they do not exceed the boundaries of the second layer plane.

[0092] By arranging the model on multiple layers, not only can the 3D printing space of the 3D printer be made more fully, but the printing process can also be optimized, making it more efficient to print multiple models.

[0093] As an optional embodiment, sorting multiple models according to a predetermined rule includes: providing a bounding box for each model, and sorting multiple bounding boxes of multiple models according to a predetermined rule, wherein the predetermined rule includes the height of the bounding box or the size of the projected area of ​​the bounding box on the layout plane.

[0094] In some embodiments, using bounding boxes for sorting simplifies the geometric complexity of the models, making the sorting and layout process more efficient. A minimum bounding box is calculated for each 3D model. A bounding box is a minimal cuboid that completely covers the model in the X, Y, and Z directions, providing data for the model's length, width, and height. Key geometric information, such as height (maximum dimension along the Z-axis) and projected area (projected area on the XY plane), is extracted from each model's bounding box. Models can be sorted based on specific attributes of the bounding boxes, such as height or projected area. If the model height is required to be arranged in ascending order, the height information of the bounding boxes can be sorted in ascending order. If the model height is required to be arranged in descending order, the height information of the bounding boxes can be sorted in descending order. If the model projected area is required to be arranged in ascending order, the projected area of ​​the bounding boxes on the layout plane can be sorted in ascending order. If the model projected area is required to be arranged in descending order, the projected area of ​​the bounding boxes on the layout plane can be sorted in descending order.

[0095] Once the models are sorted according to their bounding box properties, they can be laid out before printing based on their sorted positions. Typically, the first model in the list is placed first, followed by others in sequence according to a strategy. Based on the model sorting, models are arranged on the layout plane, ensuring sufficient spacing between them to avoid collisions. During model placement, a linked list or similar mechanism is used to detect collisions between models, as well as between models and the print boundaries. If a collision is detected, the model's position is adjusted or it is rotated until a suitable location is found.

[0096] Using bounding boxes for sorting and layout can greatly simplify the calculation process, reduce collision detection time between models, and thus improve the preparation efficiency of 3D printing.

[0097] As an optional embodiment, arranging models on a typesetting plane in a sorted order to provide a first-layer model includes providing the first-layer model based on the distribution of the projection pattern of the models on the typesetting plane.

[0098] In some embodiments, each model can be projected onto the layout plane along the Z-axis to obtain its outline shape on the XY plane, called the projection pattern. The shape, size, and relative position of the projection pattern to the edge of the layout plane can be analyzed. Models are sorted according to specific attributes of their projection patterns (such as projection area size, shape complexity, etc.). If the models have significant height differences, they can be sorted by height first to optimize the arrangement of models within a layer. The initial positions of the models are set according to layout strategies (such as bottom left corner, center alignment, etc.). For each model in the sorted list: based on the current model's projection pattern and layout strategy, the potential placement position of the model is predicted. Linked list detection or other collision detection algorithms are used to confirm that the model's placement position will not collide with already placed models or the boundary of the layout plane. If a collision is detected, the model's position is adjusted (e.g., moved along the X or Y axis) or the model is rotated, and then collision detection is repeated until a suitable collision-free position is found. Once a collision-free position is confirmed, the model is placed at that position according to the layout strategy, and the final position coordinates and rotation information of the model are recorded. Update the linked list to reflect the area occupied by the model on the layout plane, facilitating collision detection during subsequent model placement. Continue placing each model in sorted order until all models are placed on the layout plane, or the layout plane is full.

[0099] Through the above process, it can be ensured that the distribution of all models on the first layer of the layout plane is optimized according to their projection patterns, so that they will not exceed the boundaries of the layout plane or collide with other models.

[0100] The following is an optional embodiment. Figure 5This is a flowchart illustrating a model layout method provided by an optional embodiment of the present invention, such as... Figure 5 As shown, it includes:

[0101] Step S502: Obtain the planar data of the printer width and the three-dimensional data of the model to be printed.

[0102] In this step, the planar data of the printer's printing area can include the printer's size and resolution. This information is used to create a linked list to record the current layout. The three-dimensional data of the model to be printed can include the geometric information of the model's surface, such as vertex positions, model boundaries, and mesh data. Multiple models to be printed can be arranged in the printer's printing area to improve printing efficiency. By obtaining the planar data of the printer's printing area and the three-dimensional data of the models to be printed, subsequent model layout is facilitated.

[0103] Step S504: Based on the planar data of the printer's width, establish a linked list, which is used to record the layout of the printer's width.

[0104] Because linked lists allow for flexible addition, deletion, and updating of nodes, they can serve as a means of dynamically managing and querying space. A linked list can be created based on the printer's width and planar data. The length of the linked list can be the width of the printer's width; that is, when the printer's longer side is the x-axis and its width is the y-axis, the length of the linked list is the number of pixels along the y-axis. Each column corresponds to one linked list, and each linked list includes the start and end positions of the occupied spaces in that column. In the initial state, when no model has been placed, start = end = 0.

[0105] Using linked lists can accelerate the overlap detection process during model placement. During model layout, linked lists can quickly locate overlapping areas without requiring a comprehensive check; only the relevant columns need to be examined and updated, significantly reducing computation time. Furthermore, the dynamic nature of linked lists allows for adjustments to model placement at any time during layout. For example, if a model placement attempt fails, the linked list can be updated immediately to find the next suitable placement location without needing to rebuild the entire platform's state representation.

[0106] Step S506: Starting from the preset layout start point, place the projection image corresponding to the model to be printed on the printer surface, wherein the projection data corresponding to the model to be printed is determined based on three-dimensional data.

[0107] In this step, the corresponding projected image is determined based on the 3D data of the model to be printed. Then, starting from the layout start point, the projected image is placed on the printer's printing surface, and it is checked whether there is enough space to place the model's projected image. This includes checking whether the model's projection overlaps with the boundary of the printer's printing surface or with the projection of an already placed model. The layout start point can be determined based on the layout strategy, such as a left-side layout strategy or a center layout strategy. Different strategies may correspond to different start points.

[0108] Step S508: Based on the linked list, determine whether the projected image corresponding to the model to be printed overlaps with the projected images corresponding to other models and whether it exceeds the printer's width. The other models are those whose layout positions have been determined in the printer's width.

[0109] In this step, the previously established linked list is used to check whether the projected image of the model to be printed overlaps with the already placed model. For example, the starting point position corresponding to the model to be printed can be set to (x... i ,y j ), check y i If the value is greater than the corresponding end value in the linked list, and not greater, it means that overlap has occurred. The endpoint position of the projected image can be determined as (x...). end y end The system checks whether these values ​​are greater than the maximum value corresponding to the printer's paper size. If they are not greater, it is considered that they are within the range of the current printer's paper size.

[0110] Step S510: If there is no overlap and the printout does not exceed the printer's width, update the linked list and determine the layout position corresponding to the model to be printed.

[0111] If there is no overlap and the printout does not exceed the printer's paper size, the current position is considered suitable for placing the printable model. The `end` value of the column in the linked list covered by the printable model is updated, and the layout position of the printable model is determined. If other printable models need to be placed subsequently, they can be placed according to the updated linked list.

[0112] Currently, 3D printers suffer from low efficiency due to high computational demands during typesetting. As an alternative implementation, a three-dimensional coordinate system corresponding to the model to be printed is established based on the three-dimensional data of the model to be printed. The model to be printed is controlled to rotate around the z-axis in the three-dimensional coordinate system and projected along the z-axis direction onto the plane containing the x-axis and y-axis in the three-dimensional coordinate system to obtain multiple initial projection images. The projection image that meets the preset conditions among the multiple initial projection images is selected as the projection data corresponding to the model to be printed.

[0113] In some embodiments, a three-dimensional coordinate system can be established based on the model to be printed, where the xy plane can be a plane parallel to the printer's surface, facilitating the placement of the projected image within the printer. The model can be rotated around the z-axis to find the optimal layout. The rotated model is then projected along the z-axis onto the plane containing the x and y axes; the generated projected image is a two-dimensional representation of the model on the printer's surface, used for subsequent layout calculations. For example, the model to be printed can be rotated 8 times around the z-axis, each time by 45°, resulting in 8 projected images. Then, according to a layout strategy, the projected image that meets preset conditions among the 8 projected images is selected as the corresponding projected image for the model to be printed.

[0114] Select the projection image that meets the preset conditions as the projection image corresponding to the model to be printed. The preset conditions can be either the minimum projection area or the minimum area of ​​the rectangle formed by the model and the starting point.

[0115] Through the above steps, the model can be effectively converted into two-dimensional data and the optimal layout method can be found, which improves the utilization rate of the printer area. Furthermore, the three-dimensional layout is converted into two-dimensional layout, which reduces the amount of calculation in the layout process and improves the flexibility of layout.

[0116] As an optional embodiment, determining whether the projected image corresponding to the model to be printed overlaps with the projected images corresponding to other models, based on the linked list, further includes: if the projected image corresponding to the model to be printed overlaps with the projected images corresponding to other models, determining the number of overlapping pixels; based on the number of overlapping pixels, moving the projected image corresponding to the model to be printed and determining it again; repeating the above steps until the projected image corresponding to the model to be printed does not overlap with the projected images corresponding to other models and does not exceed the printer's width, then updating the linked list and determining the layout position of the model to be printed.

[0117] In some embodiments, starting from a preset layout start point, an attempt is made to place a projected image of the model to be printed on the printer's surface. A linked list detection mechanism is used to determine whether the projected image overlaps with projected images of other placed models. If the projected image overlaps with the projected images of other placed models, the number of overlapping pixels can be determined. Then, based on the number of overlapping pixels, the position of the projected image is moved, and the detection is repeated until the projected image of the model to be printed no longer overlaps with the projected images of other models and does not exceed the printer's surface. At this point, the end value in the linked list is updated, and the layout position of the model to be printed is determined.

[0118] The starting point data for movement can be determined based on the selected layout strategy. For example, the starting point for the bottom-left corner layout strategy is the bottom-left corner of the image. The model is rotated along the z-axis, and the model is placed on the platform for each rotation angle. Assuming the model can fit on the platform (i.e., the model's starting point coordinates are greater than the platform's starting point coordinates, and the model's ending point coordinates are less than the platform's ending point coordinates), a score is calculated for the model's current placement. The layout scoring rule is to minimize the area of ​​the rectangle formed by the model and the starting point; that is, the closer the model is to the bottom-left corner, the better. Then, the corresponding image to be printed is moved 1 pixel along the x-axis. At this point, the X-coordinate of the placed model is x. i , along x i Search for the position of all pixels along the y-axis. j If the scoring rules are met, the linked list is used to check whether the model at the current position collides with any already placed models. If no collision occurs, the model is placed in the current position (x). i ,y j If a collision occurs at position (x, y), the y-coordinate is skipped based on the number of colliding pixels detected in the linked list, and the next position is detected by skipping the corresponding number of pixels. For example, if a collision of n pixels is detected at the current position, the model is moved to (x, y). i ,y j+n Repeat the above checks after the model is positioned until it can be placed at a certain position on the platform; otherwise, the platform cannot accommodate the model.

[0119] Figure 6 This is a schematic diagram of linked list detection during model layout according to an optional embodiment of the present invention, such as... Figure 6 As shown, the area enclosed by the thick line is the current position of the model to be placed, and the gray square is the area of ​​the already placed model. It can be seen that the model to be placed currently being processed has overlapping pixels with other already placed models. There is one overlapping pixel in each of the second and third columns of the figure. If the projected image data is moved one pixel along the y-axis, there will be no overlapping pixels, and it will still be within the boundary of the printer's print area. The layout result corresponding to the model to be printed currently being processed can be determined.

[0120] As an optional embodiment, when there are multiple models to be printed, the steps of updating the linked list and determining the layout position of the models to be printed are performed sequentially on the multiple models to be printed according to the preset layout order; until the printer can no longer place the multiple models to be printed or all the models to be printed are placed on the printer, the first target layout result is obtained.

[0121] In some embodiments, if there are multiple models to be printed, their sorting order can be determined first, such as by ascending height, descending area, or input order. Then, the first model is selected from the sorted list as the current model to be printed. The model is then rotated and projected to obtain the projected image corresponding to the currently processed model. Based on the layout starting point, the projected image corresponding to the currently processed model is placed on the printer's layout surface. According to the linked list, it is checked whether the currently processed model overlaps with other models or exceeds the layout boundary. If it can be placed, the end value in the linked list is updated, and the layout position of the model is recorded. The above steps are repeated until no model can be placed on the printer's layout surface or all models have corresponding layout positions, at which point the first target layout result is determined.

[0122] As an optional embodiment, if the printer cannot accommodate any more of the multiple printable models, the method further includes: detecting whether a page splitting operation exists in the printer; if a page splitting operation exists, determining a new printer size; based on the new printer size, and in accordance with the layout order, continuing to sequentially perform the above-mentioned steps of updating the linked list and determining the layout position of the printable models for the multiple printable models that have not been laid out; until the new printer size cannot accommodate any more of the multiple printable models or all the printable models that have not been laid out are placed in the new printer size, thus obtaining the second target layout result.

[0123] In some embodiments, when the printer's printhead cannot accommodate more models to be printed, the printer can be checked for support for splitting the printhead, thus determining a new printhead and continuing to process the remaining models. A new linked list can be created for the new printhead, initializing the start and end values ​​of all columns to reflect the available space on the new printhead. Then, following the previous layout order, the processes of rotation, projection, linked list detection, and position updates continue to find a suitable layout position on the new printhead. These steps are repeated until the new printhead can no longer accommodate any more models or all remaining models are successfully laid out, resulting in the second target layout result. The layout information of all models can be output to a file or database for subsequent 3D printing.

[0124] Through the above steps, the page splitting operation allows for more models to be effectively laid out, thereby maximizing the number of models printed within a limited printing space, saving time and costs, and improving overall printing efficiency.

[0125] As an optional embodiment, when a page splitting operation exists in the printer, determining a new printer size includes: when a page splitting operation perpendicular to the printer size exists in the printer, determining the model height corresponding to the first target layout result; and determining a new printer size based on the preset height corresponding to the printer and the model height corresponding to the first target layout result.

[0126] In some embodiments, the printer performs a page splitting operation perpendicular to the printer's layout, also known as z-axis page splitting. This z-axis is defined in a three-dimensional coordinate system with the printer's layout as the xy-plane. Based on the first target layout result, the maximum height occupied by all layout models in the z-axis direction can be calculated. Then, the maximum printing height of the printer in the z-axis direction is determined, which is a hardware limitation of the printer. Based on the printer's maximum printing height and the total model height corresponding to the first target layout result, the starting position of the next page's z-axis is calculated. Typically, the starting height of the next page's z-axis is the maximum model height of the current page plus a certain safety distance to ensure that models on adjacent pages do not collide. Based on the maximum height of the layout models, models that can be placed in the new printer's layout can be selected from the list of remaining models to be printed, ensuring that the height printed on the new printer's layout does not exceed the maximum height value that the printer can accept.

[0127] Figure 7 This is a schematic diagram of the z-axis three-dimensional layout strategy in the model layout method provided by an optional embodiment of the present invention, as shown below. Figure 7 As shown, when not all models are printed, the maximum height of the current model on the typesetting platform and the number of models not printed can be recorded. The z-axis data of the typesetting plane is updated, and it is determined whether the height in the z-axis direction exceeds the print area. If it does not exceed the limit, the unprinted models can be printed on a new typesetting plane until all models are printed or no more models can be printed. The typesetting data is then saved and output. Through these steps, the printer's printing capability in the z-axis direction can be fully utilized to achieve efficient multi-model printing, helping users minimize the number of print jobs.

[0128] As an optional embodiment, the layout starting point is determined based on a preset layout strategy, wherein the layout strategy includes a left-side layout strategy, a bottom layout strategy, a lower left corner layout strategy, and a center layout strategy.

[0129] In some embodiments, the starting point for layout can be determined based on a layout strategy. There are many layout strategies, such as a left-side layout strategy, which starts from the lower left corner of the platform and minimizes the X-coordinate after the model is placed; a bottom-side layout strategy, which starts from the lower left corner of the platform and minimizes the Y-coordinate after the model is placed; a lower left-side layout strategy, which starts from the lower left corner of the platform and minimizes the area of ​​the rectangle formed by the model and the lower left corner after placement; and a center-side layout strategy, which starts from the center of the platform and moves the model along a circular trajectory around the center point, minimizing the distance between the model and the starting point after placement.

[0130] Figure 8 This is a schematic diagram of a center-based layout strategy provided by an optional embodiment of the present invention, such as... Figure 8 As shown, the first model, namely Model 1 in the figure, follows the principle of starting from the center of the platform to minimize the distance between the model and the starting point. Model 2 can be a model that is still moving to find the best layout position.

[0131] The following is another optional embodiment. Figure 9 This is a flowchart illustrating a model layout method provided by an optional embodiment of the present invention, such as... Figure 9 As shown, the specific process is as follows:

[0132] 1. Import the original 3D data of the model to be printed.

[0133] 2. Set the relevant parameters required for layout, including the following layout parameters:

[0134] The layout strategies for a model can include left-side layout, bottom layout, bottom-left corner layout, and center layout.

[0135] The model sorting method can be arranged in ascending or descending order by model height, which can be used when the models have different heights to make the models on the same page have similar heights; or arranged in ascending or descending order by model projected area, which can improve the utilization rate of the typesetting platform by prioritizing the placement of larger models.

[0136] Page division strategies can include single-page division (i.e., no page division), x-axis page division, y-axis page division, and three-dimensional page division.

[0137] 3. Projecting the 3D model along the z-axis onto the xy plane yields projection data. The model can be rotated around the z-axis, and a projection image is obtained after each rotation around the z-axis by a specified angle. For example, rotating around the z-axis 8 times results in a 45° rotation each time, resulting in a total of 8 projection images of the model.

[0138] To initialize the layout platform, a platform list can be created. The length of the list is the number of pixels along the y-axis. Each element in the list contains the start and end positions for that column (initially, start = end = 0).

[0139] 4. During the layout process, the models are sequentially placed onto the platform, and the starting point data for movement is determined according to the selected layout strategy. For example, the starting point for the bottom-left corner layout strategy is the bottom-left corner of the image. The 2D projection image of the model is moved 1 pixel along the x-axis, at which point the x-coordinate of the placed model is x. i , along x i Search for the position of all pixels along the y-axis. j Under the premise that the model can be placed on the platform (ensuring that within the range of the model's x-axis length, the model's starting point coordinates are greater than the platform's starting point coordinates, and the model's ending point coordinates are less than the platform's ending point coordinates), calculate the score for the model's current placement position. The layout scoring rule is that the area of ​​the rectangle formed by the model and the starting point is the smallest, that is, the closer the model is to the lower left corner, the better.

[0140] If the scoring rules are met, the model at the current position is checked using a linked list to see if it collides with any already placed models. If no collision occurs, the model is placed in the current position (x). i ,y j If a collision occurs at position (x, y), the y-coordinate is skipped based on the number of colliding pixels detected in the linked list, and the next position is detected by skipping the corresponding number of pixels. For example, if a collision of n pixels is detected at the current position, the model is moved to (x, y). i ,y j+n Repeat the above checks after positioning until the model can be placed at a certain position on the canvas. Otherwise, the platform cannot accommodate the model.

[0141] The model placed on the platform will update the values ​​of the corresponding pixels on the platform, so that collision detection can be performed when the next model is placed; the movement coordinates of the model placed on the platform will be recorded in the list position corresponding to 'trans', and the transformation matrix of the 'trans' list corresponds one-to-one with the model.

[0142] 5. Repeat step 4 for the models in the layout list until all models are placed on the platform or the current platform is full. If the page division parameter is not enabled, return the remaining models to their original positions and exit the layout process. If the page division operation is enabled in the parameters, update the layout platform according to the page division method, and use the models that were not placed on the previous page as input to continue to be placed on the updated platform. The platform number marks the position of the model belonging to a certain corresponding platform.

[0143] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the present invention is not limited to the described order of actions, because according to the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to the present invention.

[0144] Through the above description of the embodiments, those skilled in the art can clearly understand that the model layout method according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0145] According to an embodiment of the present invention, a model layout apparatus for implementing the above-described model layout method is also provided. Figure 10 This is a structural block diagram of a model layout device provided according to an embodiment of the present invention. As shown in the figure, the model layout device includes a determining module 1002, a sorting module 1004, a first arrangement module 1006, and a second arrangement module 1008. The model layout device will be described below.

[0146] Module 1002 is used to determine the layout plane and provides multiple models.

[0147] The sorting module 1004, connected to the determining module 1002, is used to sort multiple models according to predetermined rules.

[0148] The first arrangement module 1006, connected to the sorting module 1004, is used to arrange the model on the layout plane according to the sorting order to provide the first layer of model.

[0149] The second arrangement module 1008, connected to the first arrangement module 1006, is used to arrange the model above the first layer model in the order of sorting to provide the second layer model.

[0150] It should be noted that the aforementioned determining module 1002, sorting module 1004, first arrangement module 1006, and second arrangement module 1008 correspond to steps S202 to S208 in the embodiments. Multiple modules implement the same instances and application scenarios as their corresponding steps, but are not limited to the content disclosed in the above embodiments. It should also be noted that the aforementioned modules, as part of the device, can run on the computer terminal 10 provided in the embodiments.

[0151] Embodiments of the present invention may provide a computer device. Optionally, in this embodiment, the computer device may be located in at least one of a plurality of network devices in a computer network. The computer device includes a memory and a processor.

[0152] The memory can be used to store software programs and modules, such as the program instructions / modules corresponding to the model layout method and apparatus in this embodiment of the invention. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, thereby realizing the aforementioned model layout method. The memory may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include memory remotely located relative to the processor, and these remote memories can be connected to a computer terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0153] The processor can invoke information and application programs stored in memory via a transmission device to perform the following steps: determine a typesetting plane and provide multiple models; sort the multiple models according to a predetermined rule; arrange the models on the typesetting plane in the sorted order to provide a first-layer model; and arrange the models above the first-layer model in the sorted order to provide a second-layer model.

[0154] Optionally, the multiple models in the processor described above may include multiple identical or different models.

[0155] Optionally, the processor may also execute program code that sorts multiple models according to a predetermined rule, including any one of the following: sorting by the height of the model; or sorting by the size of the projected area of ​​the model on the layout plane.

[0156] Optionally, the processor may also execute program code that performs the following steps: arranging models on the typesetting plane to provide a first layer of models, including: arranging the first-order model on the typesetting plane based on the initial typesetting position.

[0157] Optionally, the processor may also execute program code that includes the following steps: arranging models on a typesetting plane to provide a first layer of models further includes: arranging second models at predetermined intervals along a predetermined direction based on the first arranged models.

[0158] Optionally, the processor may also execute program code that performs the following steps: arranging models on the typesetting plane to provide a first-layer model further includes: arranging at least one model on the typesetting plane according to the sorting order of the arranged first model so that all models in the first-layer model do not collide with each other and do not exceed the typesetting plane.

[0159] Optionally, the processor may also execute program code that includes the following steps: arranging models above the first-layer model to provide a second-layer model, including providing a second plane that is higher than all models of the first-layer model, wherein all models of the second-layer model are arranged on the second plane.

[0160] Optionally, the processor may also execute program code that performs the following steps: sorting multiple models according to a predetermined rule, including: providing a bounding box for each model and sorting multiple bounding boxes of multiple models according to a predetermined rule, wherein the predetermined rule includes the height of the bounding box or the size of the projected area of ​​the bounding box on the typesetting plane.

[0161] Optionally, the processor may also execute program code that performs the following steps: arranging models on a typesetting plane in a sorted order to provide a first-layer model, including providing the first-layer model based on the distribution of the projection pattern of the models on the typesetting plane.

[0162] The present invention provides a model layout method by determining a layout plane and providing multiple models; sorting the multiple models according to a predetermined rule; arranging the models on the layout plane in the sorted order to provide a first layer of models; and arranging models above the first layer of models in the sorted order to provide a second layer of models. This achieves the purpose of transforming the layout of three-dimensional models into two-dimensional planar layout, thereby reducing the amount of calculation in the layout process and improving the layout efficiency. It also solves the technical problem of low efficiency caused by high layout calculation in current 3D printers.

[0163] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing the hardware related to the terminal device. The program can be stored in a non-volatile storage medium, which may include: flash drive, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, etc.

[0164] Embodiments of the present invention also provide a non-volatile storage medium. Optionally, in this embodiment, the aforementioned non-volatile storage medium can be used to store the program code executed by the model layout method provided in the above embodiments.

[0165] Optionally, in this embodiment, the non-volatile storage medium may be located in any computer terminal in a group of computer terminals in a computer network, or in any mobile terminal in a group of mobile terminals.

[0166] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: determining a layout plane and providing multiple models; sorting the multiple models according to a predetermined rule; arranging the models on the layout plane in the sorted order to provide a first layer of models; and arranging models above the first layer of models in the sorted order to provide a second layer of models.

[0167] Optionally, in this embodiment, the multiple models in the non-volatile storage medium include multiple identical or different models.

[0168] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: sorting multiple models according to predetermined rules, including any of the following: sorting by the height of the models; or sorting by the size of the projected area of ​​the models on the layout plane.

[0169] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: arranging models on the typesetting plane to provide a first layer of models includes: arranging the first-ordered models on the typesetting plane based on the initial typesetting position.

[0170] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: arranging models on a typesetting plane to provide a first layer of models further includes: arranging second models in a predetermined direction at predetermined distances based on the first arranged models.

[0171] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: arranging models on the typesetting plane to provide a first layer of models further includes: arranging at least one model on the typesetting plane according to the sorting order of the arranged first model so that all models in the first layer of models do not collide with each other and do not exceed the typesetting plane.

[0172] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: arranging models above the first-layer model to provide a second-layer model includes: providing a second plane that is higher than all models of the first-layer model, wherein all models of the second-layer model are arranged on the second plane.

[0173] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: sorting multiple models according to a predetermined rule includes: providing a bounding box for each model, and sorting multiple bounding boxes of multiple models according to a predetermined rule, wherein the predetermined rule includes the height of the bounding box or the size of the projected area of ​​the bounding box on the typesetting plane.

[0174] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: arranging models on a typesetting plane in a sorted order to provide a first-layer model includes providing a first-layer model based on the distribution of the projection pattern of the models on the typesetting plane.

[0175] Embodiments of the present invention also provide a computer program product, including a computer program. Optionally, in this embodiment, when the computer program is executed by a processor, it can: determine a layout plane and provide multiple models; sort the multiple models according to a predetermined rule; arrange the models on the layout plane in the sorted order to provide a first layer of models; and arrange the models above the first layer of models in the sorted order to provide a second layer of models.

[0176] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0177] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0178] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

[0179] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0180] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a non-volatile storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0181] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A model layout method, characterized in that, include: Define the layout plan and provide multiple models; The multiple models are sorted according to a predetermined rule; According to the sorting result, the models are arranged on the layout plane to provide the first layer of models; and Based on the sorting results, models are arranged above the first-layer model to provide the second-layer model.

2. The model layout method according to claim 1, characterized in that, The multiple models mentioned therein include multiple identical or different models.

3. The model layout method according to claim 1, characterized in that, The sorting of the plurality of models according to a predetermined rule includes any one of the following: Sort by model height; or Sort the models according to the size of their projected area on the layout plane.

4. The model layout method according to claim 1, characterized in that, The step of arranging the model on the typesetting plane to provide the first layer of models includes: arranging the first-order model on the typesetting plane based on the initial typesetting position.

5. The model layout method according to claim 4, characterized in that, The step of arranging models on the layout plane to provide a first layer of models further includes: arranging second models at predetermined intervals along a predetermined direction based on the first arranged models.

6. The model layout method according to claim 4, characterized in that, The step of arranging models on the typesetting plane to provide a first layer of models further includes: based on the arrangement of the first sorted models, arranging at least one model on the typesetting plane according to the sorting result so that all models in the first layer of models do not collide with each other and do not exceed the typesetting plane.

7. The model layout method according to claim 1, characterized in that, The step of arranging models above the first layer model to provide a second layer model includes: providing a second plane that is higher than all models of the first layer model, wherein all models of the second layer model are arranged on the second plane.

8. The model layout method according to claim 1, characterized in that, The step of sorting the multiple models according to a predetermined rule includes: providing a bounding box for each model, and sorting the multiple bounding boxes of the multiple models according to the predetermined rule, wherein the predetermined rule includes the height of the bounding box or the size of the projected area of ​​the bounding box on the typesetting plane.

9. The model layout method according to claim 1, characterized in that, The step of arranging the models on the typesetting plane according to the sorting result to provide a first layer model includes: providing the first layer model based on the distribution of the projection pattern of the models on the typesetting plane.

10. A non-volatile storage medium, characterized in that, Includes a program configured to execute, when executed, the model layout method according to any one of claims 1 to 9.