Placement scheduling method, system and equipment for continuous 3D printing objects and medium
By modeling the continuous 3D printing problem as a linear arithmetic constraint problem and performing multi-strategy combination solutions in parallel under a multi-core CPU environment, the placement of objects and printing order are optimized, solving the problems of low space utilization and low efficiency in continuous 3D printing, and realizing efficient and low-cost industrial mass printing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- JIER MACHINE TOOL GROUP
- Filing Date
- 2026-04-15
- Publication Date
- 2026-05-12
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing technologies for continuous 3D printing suffer from low space utilization, low printing efficiency, and high costs, failing to meet the demands of industrial mass production.
The problem of continuous 3D printing object placement and scheduling is modeled as a linear arithmetic constraint problem and solved in parallel using multiple strategies. By executing the CEGAR-SEQ algorithm in parallel in a multi-core CPU environment, a composite strategy set consisting of multiple placement and sorting strategies is constructed to optimize the object placement and printing order and reduce the number of printing platforms.
It improves the space utilization of the printing platform, increases solution efficiency and solution quality, and reduces printing costs.
Smart Images

Figure CN122008554A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of 3D printing optimization technology, specifically to a method, system, device, and medium for the placement and scheduling of continuously 3D printed objects. Background Technology
[0002] Continuous 3D printing prints objects one by one, leaving the already printed objects on the printing platform while printing the next. This improves printing robustness, reduces stringing defects, and simplifies multi-color switching processes. The process requires simultaneously determining the object placement and printing order, while ensuring that moving parts such as the nozzle and gantry do not collide with already printed objects, making it an NP-hard combinatorial optimization problem.
[0003] Existing technologies transform the continuous printing problem into a linear arithmetic formula and achieve collision avoidance constraint solution through SMT solvers and counterexample-guided abstraction and refinement. However, they have obvious drawbacks: they only adopt a single strategy of placing objects in the center of the printing platform, resulting in low space utilization; they require a large number of platforms when printing multiple batches, resulting in low overall printing efficiency; and the object sorting method is fixed, which cannot adapt to the optimal arrangement requirements of objects of different sizes and heights.
[0004] Therefore, existing technologies cannot meet the scheduling requirements of industrial mass 3D printing for high utilization, high efficiency, and low cost. Summary of the Invention
[0005] The purpose of this invention is to provide a method, system, device, and medium for the placement and scheduling of continuously 3D printed objects. By solving in parallel using multiple strategies, the space utilization of the printing platform is improved, the number of required platforms is reduced, and the solution efficiency and solution quality are enhanced.
[0006] To achieve the above objectives, embodiments of the present invention provide a method for arranging and scheduling continuously 3D printed objects, comprising: The problem of continuous 3D printing object placement and scheduling is modeled as a linear arithmetic constraint problem, and a set of constraint conditions is established, including continuous printing non-collision constraints, printing platform boundary constraints, and nozzle passability constraints. Construct a set of composite strategy combinations obtained by combining several placement strategies with several sorting strategies through Cartesian products; In a multi-core CPU environment, an independent solution process is assigned to each composite strategy in the composite strategy combination set, and the CEGAR-SEQ algorithm is executed in parallel to solve the problem, so as to obtain the solution result corresponding to each composite strategy. The solution result includes at least the object placement coordinates, printing order and the number of printing platforms required. From all parallel solution results, the final scheduling result is selected with the lower limit of the number of printing platforms used as the optimization objective; and the object placement coordinates, printing order and platform allocation scheme in the final scheduling result are output to drive the 3D printer to execute.
[0007] Optionally, the placement strategy includes: placing towards the center of the printing platform, placing in the Min-X-Min-Y corner, placing in the Max-X-Min-Y corner, placing in the Min-X-Max-Y corner, and placing in the Max-X-Max-Y corner; The sorting strategies include: sorting by object height from low to high, sorting by object height from high to low, random sorting, and inputting the original order.
[0008] Optionally, in a multi-core CPU environment, an independent solution process is allocated for each composite strategy in the composite strategy combination set, and the CEGAR-SEQ algorithm is executed in parallel to obtain the solution result corresponding to each composite strategy, including: Based on the sorting strategy in the current set of composite strategy combinations, a subset of objects that can be placed on the current printing platform is selected from the set of objects to be printed as a batch of objects to be solved. Construct an initial constraint set for the current batch, wherein the initial constraint set includes at least the object printing order constraint, the collision avoidance constraint between objects for sequential printing, and the position constraint of the objects within the boundary of the printing platform. The platform layout accuracy is iteratively adjusted within a preset accuracy range using a bisection method. For each accuracy value, a sub-solution process with positional constraints within the printing platform boundary is called. During the sub-solution process, the SMT solver is used to solve the initial constraint set. If there is no solution, a no-solution flag is returned; otherwise, candidate positions and printing timing are obtained. Perform edge collision detection on the candidate positions obtained by the solution. If a collision is detected between the first printed object and the second printed object, add a constraint to the initial constraint set to prevent the collision between the two objects, and return to the sub-solution process for iterative optimization until a collision-free feasible solution is obtained. Save the solution results for the current batch, remove the assigned objects from the set of objects to be printed, and continue the solution process for the next platform for the remaining objects until all objects have been assigned.
[0009] Optionally, based on the sorting strategy in the current set of composite strategy combinations, a subset of objects that can be placed on the current printing platform is selected from the set of objects to be printed as a batch of objects to be solved, including: The collection of objects to be printed is sorted according to the sorting strategy in the current composite strategy to obtain an ordered sequence; Iterate through each object in the ordered sequence, add the current object to the temporary candidate batch, and then input the temporary candidate batch and the platform size. The temporary candidate batch is initially empty. Based on the placement strategy in the current composite strategy, determine the pre-placement method of objects, and use one or more combinations of area threshold method, bounding box union method, heuristic pre-placement method or historical statistics method to evaluate the arrangeability of temporary candidate batches and output the decision result of feasibility or infeasibility. If the determination result is feasible, the object is officially added to the candidate batch; otherwise, the selection is terminated. The final candidate batch is used as the subset of objects to be solved on the current platform.
[0010] Optionally, based on the placement strategy in the current composite strategy, the pre-placement method of objects is determined. One or more combinations of the area threshold method, bounding box union method, heuristic pre-placement method, or historical statistical method are used to evaluate the arrangeability of temporary candidate batches, outputting a feasible or infeasible judgment result, including: For the area threshold method, the sum of the projected areas of all objects in the temporary candidate batch on the horizontal plane is calculated; and the available area of the platform is calculated; if the sum of the projected areas is less than or equal to the product of the preset area coefficient and the available area of the platform, it is deemed feasible; otherwise, it is deemed infeasible. For the bounding box union method, obtain the minimum bounding rectangle of each object in the temporary candidate batch on the horizontal plane, and obtain the width and length of each object; determine the pre-placement orientation and relative position relationship of the objects according to the placement strategy in the current composite strategy; calculate the width and length of the minimum bounding rectangle of the union of the bounding rectangles of all objects. If the width of the minimum bounding rectangle is less than or equal to the width of the printing platform and the length of the minimum bounding rectangle is less than or equal to the length of the printing platform, then it is considered feasible; otherwise, it is considered infeasible. For the heuristic pre-placement method, the pre-placement order and initial placement position of objects are determined according to the placement strategy in the current composite strategy; Iterate through each object in the temporary candidate batch. If the placement strategy is to place the object towards the center, place the object at the geometric center of the remaining available area. If the placement strategy is to place the object towards the corner, place the object close to the already placed object or the platform boundary according to the corresponding corner direction. After each placement, check whether the current object is completely within the platform boundary and does not overlap with previously placed objects; if all objects can be successfully placed without overlap, it is considered feasible; otherwise, it is considered infeasible. For historical statistical methods, the number of objects, the mean and variance of object sizes, and the ratio of the largest object size to the platform size of the temporary candidate batch are extracted; these are then input into a pre-trained classification model to predict whether a given batch can be successfully solved under a preset placement strategy; and the success probability output by the classification model is obtained; if the success probability is greater than or equal to a preset probability threshold, it is determined to be feasible; otherwise, it is determined to be infeasible.
[0011] Optionally, each solution process can independently complete object selection, platform scaling, constraint solving, and collision optimization operations during the solution process, without interfering with each other.
[0012] Optionally, from all parallel solution results, the final scheduling result is selected with the lower bound of the number of printing platforms used as the optimization objective, including: Collect the solution results output by all parallel solution processes; With minimizing the number of printing platforms required as the primary optimization objective, we iterate through all the solution results, count the number of platforms corresponding to each result, and determine the minimum number of platforms. The candidate solutions are selected based on the minimum number of platforms, forming a candidate result set. If there is only one candidate result in the candidate result set, then that result is taken as the optimal scheduling result; if there are multiple candidate results in the candidate result set, then a secondary screening is performed according to the preset secondary optimization objectives to obtain the final scheduling result; wherein, the secondary optimization objectives include one or more of the following: total printing time, platform space utilization, and load balancing of each platform meet the preset requirements.
[0013] Secondly, the present invention also provides a placement and scheduling system for continuously 3D printed objects, comprising: The modeling module is used to transform the problem of placing and scheduling continuous 3D printed objects into a linear arithmetic constraint problem and to establish a set of constraint conditions. The strategy combination module is used to generate a composite strategy set consisting of several placement strategies and several sorting strategies. The parallel solution module is used to execute multiple CEGAR-SEQ solution instances in parallel in a multi-core CPU environment, with each instance corresponding to a composite strategy in the composite strategy set. The selection module is used to select the solution that uses the fewest printing platforms from all the solution results output by the parallel solution module as the optimal scheduling result.
[0014] Thirdly, the present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the above-described method for arranging and scheduling continuously 3D printed objects.
[0015] Fourthly, the present invention also provides a storage medium storing a computer program thereon, wherein the computer program, when executed by a processor, implements the steps of the above-described method for arranging and scheduling continuously 3D printed objects.
[0016] The above technical solution models the continuous 3D printing problem as a linear arithmetic constraint problem and constructs a composite strategy set composed of orthogonal combinations of various placement and sorting strategies. Multiple CEGAR-SEQ solution instances are executed in parallel on a multi-core CPU, and the solution with the fewest printing platforms is finally selected for output. This breaks through the limitations of traditional single strategy and serial execution, and improves the space utilization of the printing platform.
[0017] Other features and advantages of the embodiments of the present invention will be described in detail in the following detailed description section. Attached Figure Description
[0018] The accompanying drawings are provided to further illustrate embodiments of the present invention and form part of the specification. They are used together with the following detailed description to explain the embodiments of the present invention, but do not constitute a limitation thereof. In the drawings: Figure 1 This is a flowchart of a method for arranging and scheduling continuously 3D printed objects according to an embodiment of the present invention; Figure 2 This is a placement strategy diagram provided in an embodiment of the present invention, wherein, Figure 2 (a) Centered placement strategy diagram, Figure 2 (b) is the placement strategy diagram for the bottom right corner; Figure 3 This is a comparison curve of printing platform usage under different strategy combinations provided in an embodiment of the present invention.
[0019] Figure 4 This is a runtime analysis diagram of the sorting of printer parts using the Portfolio-CEGAR-SEQ algorithm based on different strategy combinations, provided by an embodiment of the present invention. Figure 5 This is a comparative diagram of continuous 3D printing in Prusa Slicer software and individual 3D printing provided in an embodiment of the present invention. Figure 5 (a) is a layer-by-layer standard 3D printing drawing. Figure 5 (b) is a continuous 3D printing image. Figure 5 (c) is a printed image of the finished product; Figure 6 This is a schematic diagram of the structure of a continuous 3D printed object placement and scheduling system provided in an embodiment of the present invention; Figure 7 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0020] Various embodiments of this disclosure will be described more fully in the following detailed description. This disclosure may have various embodiments, and adjustments and changes may be made therein. However, it should be understood that there is no intention to limit the various embodiments of this disclosure to the specific embodiments disclosed herein, but rather this disclosure should be understood to cover all adjustments, equivalents, and / or alternatives falling within the spirit and scope of the various embodiments of this disclosure.
[0021] In the following, the terms “comprising” or “may include”, which may be used in various embodiments of this disclosure, indicate the presence of the disclosed functions or operations and do not limit the addition of one or more functions or operations. Furthermore, as used in various embodiments of this disclosure, the terms “comprising,” “having,” and their cognates are intended only to indicate a specific feature, number, step, operation, or combination of the foregoing and should not be construed as primarily excluding the presence of one or more other features, numbers, steps, operations, or combinations of the foregoing, or the possibility of adding one or more features, numbers, steps, operations, or combinations of the foregoing.
[0022] In various embodiments of this disclosure, the expression "or" or "at least one of A and / or B" includes any combination or all combinations of the words listed simultaneously. For example, the expression "A or B" or "at least one of A and / or B" may include A, may include B, or may include both A and B.
[0023] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. 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 are within the scope of protection of the present invention.
[0024] See Figure 1 The diagram shows a flowchart of a method for arranging and scheduling continuously 3D printed objects in a specific embodiment, including the following execution steps: Step 100: Model the continuous 3D printing object placement and scheduling problem as a linear arithmetic constraint problem, and establish a set of constraints including continuous printing non-collision constraints, printing platform boundary constraints, and nozzle passability constraints.
[0025] Specifically, the non-collision constraint for continuous printing is expressed as: the nozzle envelope of the later printed object does not intersect with the earlier printed object; the printing platform boundary constraint is expressed as: the projection of all objects is completely within the platform area; the nozzle passability constraint is expressed as: the nozzle can be vertically lifted from the top of the object and moved to the next printing position.
[0026] Step 101: Construct a composite strategy combination set obtained by combining several placement strategies and several sorting strategies through the Cartesian product.
[0027] Specifically, the placement strategy includes: placing the paper towards the center of the printing platform (see...). Figure 2 (a) Min-X-Min-Y corner placement, Max-X-Min-Y corner placement, Min-X-Max-Y corner placement, Max-X-Max-Y corner placement; the sorting strategy includes: sorting by object height from low to high, sorting by object height from high to low, random sorting, and inputting the original order.
[0028] It should be noted that Min-X-Min-Y can be understood as the minimum X plus the minimum Y (bottom left corner), and Max-X-Min-Y can be understood as the maximum X plus the minimum Y (bottom right corner). Figure 2 (b) Min-X-Max-Y can be understood as the minimum X plus the maximum Y (top left corner), and Max-X-Max-Y can be understood as the maximum X plus the maximum Y (top right corner).
[0029] Twenty composite strategies are obtained through Cartesian product combinations to achieve coordinated optimization of spatial layout and printing timing.
[0030] By orthogonally combining object placement strategies with printing sorting strategies, a composite strategy set is formed. This overcomes the limitations of traditional algorithms that rely solely on single-center placement and fixed timing. Through the combination of multiple strategies via Cartesian products, it achieves coordinated optimization of spatial layout and printing timing, overcoming the defect of local optima.
[0031] Step 102: In a multi-core CPU environment, assign an independent solution process to each composite strategy in the composite strategy combination set, and execute the CEGAR-SEQ algorithm in parallel to solve the problem and obtain the solution result corresponding to each composite strategy.
[0032] The solution results include at least the object placement coordinates, printing order, and the number of printing platforms required.
[0033] Specifically, when executing step 102, the following sub-steps can be executed: S1020: Based on the sorting strategy in the current composite strategy combination set, select a subset of objects that can be placed on the current printing platform from the set of objects to be printed as a batch of objects to be solved.
[0034] Specifically, when executing step S1020, the following steps can be performed: S10200: Sort the collection of objects to be printed according to the sorting strategy in the current composite strategy to obtain an ordered sequence.
[0035] S10201: Iterate through each object in the ordered sequence, add the current object to the temporary candidate batch, and input the temporary candidate batch and the platform size, wherein the temporary candidate batch is initially empty.
[0036] S10202: Determine the pre-placement method of objects based on the placement strategy in the current composite strategy, and evaluate the arrangeability of temporary candidate batches by using one or more combinations of area threshold method, bounding box union method, heuristic pre-placement method or historical statistics method, and output the decision result of feasibility or infeasibility.
[0037] Specifically, when executing step S10202, the following steps can be performed: SA: For the area threshold method, calculate the sum of the projected areas of all objects in the temporary candidate batch on the horizontal plane; and calculate the available area of the platform; if the sum of the projected areas is less than or equal to the product of the preset area coefficient and the available area of the platform, it is deemed feasible; otherwise, it is deemed infeasible.
[0038] SB: For the bounding box union method, obtain the minimum bounding rectangle of each object in the temporary candidate batch on the horizontal plane, and obtain the width and length of each object; determine the pre-placement orientation and relative position relationship of the objects according to the placement strategy in the current composite strategy; calculate the width and length of the minimum bounding rectangle of the union of the bounding rectangles of all objects; if the width of the minimum bounding rectangle is less than or equal to the width of the printing platform and the length of the minimum bounding rectangle is less than or equal to the length of the printing platform, it is considered feasible; otherwise, it is considered infeasible.
[0039] SC: For the heuristic pre-placement method, the pre-placement order and initial placement position of objects are determined according to the placement strategy in the current composite strategy; each object in the temporary candidate batch is traversed sequentially. If the placement strategy is to place towards the center, the object is placed at the geometric center of the remaining available area; if the placement strategy is to place towards the corner, the object is placed close to the already placed object or the platform boundary according to the corresponding corner direction; after each placement, it is checked whether the current object is completely within the platform boundary and does not overlap with the already placed objects; if all objects can be successfully placed without overlap, it is considered feasible; otherwise, it is considered infeasible.
[0040] SD: For historical statistical methods, extract the number of objects, the mean and variance of object size, and the ratio of the largest object size to the platform size of the temporary candidate batch; and input them into a pre-trained classification model to predict whether a given batch can be successfully solved under a preset placement strategy; and obtain the success probability output by the classification model; if the success probability is greater than or equal to a preset probability threshold, it is determined to be feasible; otherwise, it is determined to be infeasible.
[0041] The average size of the object is calculated using the following formula:
[0042] In the formula, This represents a temporary candidate batch, where n represents the number of objects.
[0043] Calculate the variance of the object's dimensions using the following formula:
[0044] The ratio of the maximum object size to the platform size includes the ratio of the maximum object width to the platform width, the ratio of the maximum object length to the platform length, the ratio of the maximum object area to the platform area, and the ratio of the total area to the platform area; among which, according to the formula... Calculate the ratio of the maximum object width to the platform width, where, This is the width of the object's bounding box. According to the formula... Calculate the ratio of the maximum object length to the platform length, where, This is the length of the object's bounding box. According to the formula... Calculate the ratio of the area of the largest object to the area of the platform; according to the formula... Calculate the ratio of the total area to the platform area.
[0045] Logistic regression is used as the classification model because it has advantages such as strong interpretability, fast training speed, and natural output probability values. The model calculates the success probability using the following formula:
[0046] In the formula, y=1 indicates that the batch can be successfully solved by CEGAR-SEQ under the given placement strategy, y=0 indicates that it cannot be successfully solved, w is the weight vector, and b is the bias term.
[0047] S10203: If the determination result is feasible, then the object is officially added to the candidate batch; otherwise, the selection is terminated.
[0048] S10204: The final candidate batch is used as the subset of objects to be solved on the current platform.
[0049] S1021: Construct the initial constraint set for the current batch.
[0050] The initial constraint set includes at least the object printing order constraint, the collision avoidance constraint between objects for sequential printing, and the position constraint of the object within the boundary of the printing platform.
[0051] S1022: The platform layout accuracy is iteratively adjusted within a preset accuracy range using a bisection method. For each accuracy value, a sub-solution process with positional constraints within the printing platform boundary is called.
[0052] S1023: During the sub-solution process, the SMT solver is used to solve the initial constraint set. If there is no solution, a no-solution flag is returned; otherwise, candidate positions and printing timing are obtained.
[0053] It should be noted that each solution process independently completes object selection, platform scaling, constraint solving, and collision optimization operations during the solution process, and the processes do not interfere with each other.
[0054] In one specific implementation, see Figure 3 The figure shows a comparison curve of different strategy combinations provided by an embodiment of the present invention. The graph is under a standard printing environment of 250×210mm. The left side of the figure shows the performance comparison experiment of the number of objects from 0 to 8 in the industrial 3D printing scenario, and the right side shows the performance comparison experiment of the number of objects from 0 to 52 in the industrial 3D printing scenario. Among them, the center placement is a common traditional placement scheme, which uses the most printing platform and has the worst space utilization. The sorting placement only adjusts the printing order and does not optimize the placement position, so the printing platform usage is slightly lower than the center placement scheme. The strategy placement scheme only uses multiple placement strategies but has no parallel optimization, which is significantly lower than the first two traditional schemes, and the printing platform usage is significantly reduced. The combined placement of this application adopts a multi-strategy + parallel combination scheme to achieve the minimum printing platform usage and the highest space utilization. The multi-strategy combination scheme reduces the platform usage by more than 10% under the same number of objects.
[0055] In one specific implementation, see Figure 4 The figure shows the runtime analysis of sorting on printer parts using the Portfolio-CEGAR-SEQ algorithm based on different strategy combinations, according to an embodiment of the present invention. The X-axis represents the number of 3D objects to be printed, and the Y-axis represents the scheduling time; a smaller value indicates higher efficiency. Experiments show that the strategy placement scheme without parallel architecture has the highest algorithm time, followed by the common traditional center placement and sorting placement schemes. The combined placement scheme of this application, using multiple strategies and parallel execution, has the lowest algorithm time and highest efficiency. This fully verifies that parallel execution of the combined strategies can minimize the number of printing platforms without significantly increasing the time consumption.
[0056] S1024: Perform edge collision detection on the candidate positions obtained by the solution. If a collision is detected between the first printed object and the second printed object, add a constraint to the initial constraint set to prohibit the collision between the two objects, and return to the sub-solution process for iterative optimization until a collision-free feasible solution is obtained.
[0057] S1025: Save the solution results of the current batch, remove the assigned objects from the set of objects to be printed, and continue to perform the solution process of the next platform on the remaining objects until all objects are assigned.
[0058] In one specific implementation, see Figure 5 The image shown is a comparative diagram of continuous 3D printing in Prusa Slicer software and individual 3D printing according to an embodiment of the present invention. Figure 5 (a) is for layer-by-layer standard 3D printing. Figure 5 (b) For continuous 3D printing, the printing order of objects is indicated by numbers; in continuous printing mode, the printer nozzle and gantry must avoid objects that have been printed (the figure shows the printing status of the last object). Figure 5 (c) is the printed finished product.
[0059] We propose a multi-core top-level parallel CEGAR-SEQ solution architecture, which executes multi-strategy solution instances in parallel at the algorithm's high level without altering the underlying collision avoidance constraint logic. This fully utilizes the multi-core computing power of modern CPUs and improves solution quality without significantly increasing processing time.
[0060] Step 103: From all parallel solution results, select the final scheduling result with the lower limit of the number of printing platforms used as the optimization objective; and output the object placement coordinates, printing order and platform allocation scheme in the final scheduling result to drive the 3D printer to execute.
[0061] Specifically, when executing step 103, the following steps can be performed: S1030: Collect the solution results output by all parallel solution processes.
[0062] S1031: With minimizing the number of required printing platforms as the primary optimization objective, iterate through all solution results, count the number of platforms corresponding to each result, and determine the minimum number of platforms. S1032: Select the candidate solution results that are equal to the minimum number of platforms, and form a candidate result set.
[0063] S1033: If there is only one candidate result in the candidate result set, then that result shall be taken as the optimal scheduling result; if there are multiple candidate results in the candidate result set, then a secondary screening shall be performed according to the preset secondary optimization objective to obtain the final scheduling result.
[0064] The secondary optimization objectives include one or more of the following: total printing time, platform space utilization, and load balancing of each platform meet preset requirements.
[0065] An automatic selection mechanism for optimal solutions is established with the goal of minimizing the number of printing platforms. The solution with the fewest platforms is directly selected from the parallel results, taking into account both collision avoidance safety and industrial economy, and directly solving the pain point of batch printing cost.
[0066] In this embodiment, the continuous 3D printing problem is modeled as a linear arithmetic constraint problem, and a composite strategy set consisting of orthogonal combinations of various placement and sorting strategies is constructed. Multiple CEGAR-SEQ solution instances are executed in parallel on a multi-core CPU, and the solution with the fewest printing platforms is finally selected for output. This breaks through the limitations of traditional single strategy and serial execution, and improves the space utilization of the printing platform.
[0067] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0068] like Figure 6 As shown, the following are embodiments of the continuous 3D printed object placement and scheduling system provided in this disclosure. The continuous 3D printed object placement and scheduling methods of the above embodiments belong to the same inventive concept. For details not described in detail in the embodiments of the continuous 3D printed object placement and scheduling system, please refer to the embodiments of the continuous 3D printed object placement and scheduling methods described above.
[0069] A system for arranging and scheduling continuously 3D printed objects, comprising: The modeling module is used to transform the problem of placing and scheduling continuous 3D printed objects into a linear arithmetic constraint problem and to establish a set of constraint conditions. The strategy combination module is used to generate a composite strategy set consisting of several placement strategies and several sorting strategies. The parallel solution module is used to execute multiple CEGAR-SEQ solution instances in parallel in a multi-core CPU environment, with each instance corresponding to a composite strategy in the composite strategy set. The selection module is used to select the solution that uses the fewest printing platforms from all the solution results output by the parallel solution module as the optimal scheduling result.
[0070] Figure 7 This is a schematic diagram of the hardware structure of an electronic device that implements various embodiments of the present invention.
[0071] The method for arranging and scheduling continuously 3D printed objects provided in this application can be applied to electronic devices. Those skilled in the art will understand that the electronic device structure involved in the embodiments of this invention does not constitute a limitation on the electronic device. An electronic device may include more or fewer components than illustrated, or combine certain components, or have different component arrangements. In the embodiments of this invention, the electronic device includes, but is not limited to, laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the embodiments of this application described and / or claimed herein.
[0072] Electronic devices may include processors, external memory interfaces, internal memory, universal serial bus (USB) interfaces, charging management modules, power management modules, batteries, wireless communication modules, audio modules, speakers, microphones, sensor modules, buttons, cameras, displays, and SIM card interfaces, etc.
[0073] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device. In other embodiments of this application, the electronic device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0074] A processor may include one or more processing units, such as: a central processing unit (CPU), an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors.
[0075] The processor can serve as the nerve center and command center of an electronic device. The controller can generate operation control signals based on the instruction opcode and timing signals to control the fetching and execution of instructions.
[0076] The processor may also include memory for storing instructions and data. In some embodiments, the memory in the processor is a cache memory. This memory can store instructions or data that the processor has just used or that are used repeatedly. If the processor needs to use the instruction or data again, it can retrieve it directly from this memory. This avoids repeated accesses, reduces processor latency, and thus improves system efficiency.
[0077] An external storage interface (ESI) can be used to connect external memory cards, such as microSD cards, to expand the storage capacity of electronic devices. The external memory card communicates with the processor through the ESI to perform data storage functions, such as saving music and video files on the external memory card.
[0078] Internal memory can be used to store computer executable program code, which includes instructions. The processor executes various functional applications and data processing of electronic devices by running the instructions stored in internal memory. Internal memory can include a program storage area and a data storage area. Internal memory can include high-speed random access memory, and can also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.
[0079] Wireless communication functionality in electronic devices can be achieved through antennas, wireless communication modules, modem processors, and baseband processors.
[0080] Wireless communication modules can provide solutions for wireless communication applications in electronic devices, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies.
[0081] Electronic devices can implement audio functions through audio modules, speakers, receivers, microphones, headphone jacks, and application processors.
[0082] Electronic devices can achieve shooting functions through ISPs, cameras, video codecs, GPUs, displays, and application processors.
[0083] Electronic devices can achieve display functions through GPUs, displays, and application processors.
[0084] A GPU is a microprocessor for image processing, connected to the display screen and application processor. GPUs are used to perform mathematical and geometric calculations for graphics rendering. A processor may include one or more GPUs, which execute program instructions to generate or modify display information.
[0085] A display screen is used to display images, videos, etc. A display screen includes a display panel.
[0086] The storage medium provided in this application stores a program product capable of implementing a method for arranging and scheduling continuously 3D printed objects.
[0087] The method for scheduling the placement of objects in continuous 3D printing includes: modeling the placement and scheduling problem of continuous 3D printing objects as a linear arithmetic constraint problem, establishing a set of constraint conditions including continuous printing non-collision constraints, printing platform boundary constraints, and nozzle accessibility constraints; constructing a set of composite strategy combinations obtained by combining several placement strategies and several sorting strategies through Cartesian products; in a multi-core CPU environment, allocating an independent solution process for each composite strategy in the set of composite strategy combinations, executing the CEGAR-SEQ algorithm in parallel to solve the problem, and obtaining the solution result corresponding to each composite strategy, wherein the solution result includes at least the object placement coordinates, printing order, and the required number of printing platforms; selecting the final scheduling result from all parallel solution results, with the lower limit of the number of printing platforms used as the optimization objective; and outputting the object placement coordinates, printing order, and platform allocation scheme in the final scheduling result to drive the 3D printer to execute.
[0088] In some possible implementations, the subject matter of this disclosure, namely, the method and system for placing and scheduling continuously 3D printed objects, can be implemented as a program product comprising program code that, when the program product is run on a terminal device, causes the terminal device to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure.
[0089] The storage medium disclosed herein may be any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof.
[0090] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for arranging and scheduling continuously 3D printed objects, characterized in that, include: The problem of continuous 3D printing object placement and scheduling is modeled as a linear arithmetic constraint problem, and a set of constraint conditions is established, including continuous printing non-collision constraints, printing platform boundary constraints, and nozzle passability constraints. Construct a set of composite strategy combinations obtained by combining several placement strategies with several sorting strategies through Cartesian products; In a multi-core CPU environment, an independent solution process is assigned to each composite strategy in the composite strategy combination set, and the CEGAR-SEQ algorithm is executed in parallel to solve the problem, so as to obtain the solution result corresponding to each composite strategy. The solution result includes at least the object placement coordinates, printing order and the number of printing platforms required. From all parallel solution results, the final scheduling result is selected with the lower limit of the number of printing platforms used as the optimization objective; and the object placement coordinates, printing order and platform allocation scheme in the final scheduling result are output to drive the 3D printer to execute.
2. The method for placing and scheduling continuously 3D printed objects according to claim 1, characterized in that, The placement strategies include: placement towards the center of the printing platform, placement in the Min-X-Min-Y corner, placement in the Max-X-Min-Y corner, placement in the Min-X-Max-Y corner, and placement in the Max-X-Max-Y corner; The sorting strategies include: sorting by object height from low to high, sorting by object height from high to low, random sorting, and inputting the original order.
3. The method for arranging and scheduling continuously 3D printed objects according to claim 2, characterized in that, In a multi-core CPU environment, an independent solution process is allocated to each composite strategy in the composite strategy combination set, and the CEGAR-SEQ algorithm is executed in parallel to solve the problem, obtaining the solution result corresponding to each composite strategy, including: Based on the sorting strategy in the current set of composite strategy combinations, a subset of objects that can be placed on the current printing platform is selected from the set of objects to be printed as a batch of objects to be solved. Construct an initial constraint set for the current batch, wherein the initial constraint set includes at least the object printing order constraint, the collision avoidance constraint between objects for sequential printing, and the position constraint of the objects within the boundary of the printing platform. The platform layout accuracy is iteratively adjusted within a preset accuracy range using a bisection method. For each accuracy value, a sub-solution process with positional constraints within the printing platform boundary is called. During the sub-solution process, the SMT solver is used to solve the initial constraint set. If there is no solution, a no-solution flag is returned; otherwise, candidate positions and printing timing are obtained. Perform edge collision detection on the candidate positions obtained by the solution. If a collision is detected between the first printed object and the second printed object, add a constraint to the initial constraint set to prevent the collision between the two objects, and return to the sub-solution process for iterative optimization until a collision-free feasible solution is obtained. Save the solution results for the current batch, remove the assigned objects from the set of objects to be printed, and continue the solution process for the next platform for the remaining objects until all objects have been assigned.
4. The method for arranging and scheduling continuously 3D printed objects according to claim 3, characterized in that, Based on the sorting strategy in the current set of composite strategy combinations, a subset of objects that can be placed on the current printing platform is selected from the set of objects to be printed as a batch of objects to be solved, including: The collection of objects to be printed is sorted according to the sorting strategy in the current composite strategy to obtain an ordered sequence; Iterate through each object in the ordered sequence, add the current object to the temporary candidate batch, and then input the temporary candidate batch and the platform size. The temporary candidate batch is initially empty. Based on the placement strategy in the current composite strategy, determine the pre-placement method of objects, and use one or more combinations of area threshold method, bounding box union method, heuristic pre-placement method or historical statistics method to evaluate the arrangeability of temporary candidate batches and output the decision result of feasibility or infeasibility. If the determination result is feasible, the object is officially added to the candidate batch; otherwise, the selection is terminated. The final candidate batch is used as the subset of objects to be solved on the current platform.
5. The method for arranging and scheduling continuously 3D printed objects according to claim 4, characterized in that, Based on the placement strategy in the current composite strategy, the pre-placement method of objects is determined. One or more combinations of the area threshold method, bounding box union method, heuristic pre-placement method, or historical statistical method are used to evaluate the arrangeability of temporary candidate batches, outputting a feasible or infeasible judgment result, including: For the area threshold method, the sum of the projected areas of all objects in the temporary candidate batch on the horizontal plane is calculated; and the available area of the platform is calculated; if the sum of the projected areas is less than or equal to the product of the preset area coefficient and the available area of the platform, it is deemed feasible; otherwise, it is deemed infeasible. For the bounding box union method, obtain the minimum bounding rectangle of each object in the temporary candidate batch on the horizontal plane, and obtain the width and length of each object; determine the pre-placement orientation and relative position relationship of the objects according to the placement strategy in the current composite strategy; calculate the width and length of the minimum bounding rectangle of the union of the bounding rectangles of all objects. If the width of the minimum bounding rectangle is less than or equal to the width of the printing platform and the length of the minimum bounding rectangle is less than or equal to the length of the printing platform, then it is considered feasible; otherwise, it is considered infeasible. For the heuristic pre-placement method, the pre-placement order and initial placement position of objects are determined according to the placement strategy in the current composite strategy; Iterate through each object in the temporary candidate batch. If the placement strategy is to place the object towards the center, place the object at the geometric center of the remaining available area. If the placement strategy is to place the object towards the corner, place the object close to the already placed object or the platform boundary according to the corresponding corner direction. After each placement, check whether the current object is completely within the platform boundary and does not overlap with previously placed objects; if all objects can be successfully placed without overlap, it is considered feasible; otherwise, it is considered infeasible. For historical statistical methods, the number of objects, the mean and variance of object sizes, and the ratio of the largest object size to the platform size of the temporary candidate batch are extracted; these are then input into a pre-trained classification model to predict whether a given batch can be successfully solved under a preset placement strategy; and the success probability output by the classification model is obtained; if the success probability is greater than or equal to a preset probability threshold, it is determined to be feasible; otherwise, it is determined to be infeasible.
6. The method for arranging and scheduling continuously 3D printed objects according to claim 1, characterized in that, Each solution process independently completes object selection, platform scaling, constraint solving, and collision optimization operations during the solution process, without interfering with each other.
7. The method for placing and scheduling continuously 3D printed objects according to claim 1, characterized in that, From all parallel solution results, the final scheduling result is selected with the lower bound of the number of printing platforms used as the optimization objective, including: Collect the solution results output by all parallel solution processes; With minimizing the number of printing platforms required as the primary optimization objective, we iterate through all the solution results, count the number of platforms corresponding to each result, and determine the minimum number of platforms. The candidate solutions are selected based on the minimum number of platforms, forming a candidate result set. If there is only one candidate result in the candidate result set, then that result is taken as the optimal scheduling result; if there are multiple candidate results in the candidate result set, then a secondary screening is performed according to the preset secondary optimization objectives to obtain the final scheduling result; wherein, the secondary optimization objectives include one or more of the following: total printing time, platform space utilization, and load balancing of each platform meet the preset requirements.
8. A system for arranging and scheduling continuously 3D printed objects, characterized in that, include: The modeling module is used to transform the problem of placing and scheduling continuous 3D printed objects into a linear arithmetic constraint problem and to establish a set of constraint conditions. The strategy combination module is used to generate a composite strategy set consisting of several placement strategies and several sorting strategies. The parallel solution module is used to execute multiple CEGAR-SEQ solution instances in parallel in a multi-core CPU environment, with each instance corresponding to a composite strategy in the composite strategy set. The selection module is used to select the solution that uses the fewest printing platforms from all the solution results output by the parallel solution module as the optimal scheduling result.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the placement and scheduling method for continuously 3D printed objects as described in any one of claims 1 to 7.
10. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the placement and scheduling method for continuously 3D printed objects as described in any one of claims 1 to 7.