A collision detection method based on 3D printing slicing software

By employing a hybrid bounding box method in 3D printing slicing software, the region is divided using the center point of the substrate, and a Sphere-AABB combined envelope box is constructed. This solves the problem of low detection efficiency in existing technologies and achieves efficient collision detection.

CN116476388BActive Publication Date: 2026-03-06NANJING CHAMLION LASER TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-31
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Existing bounding box collision detection algorithms cannot balance the simplicity and precision of collision detection, resulting in low efficiency in detecting overlapping or intersecting parts during 3D printing.

Method used

A hybrid bounding box method is adopted, which uses the positive and negative values ​​of the center point of the substrate to divide the model region and constructs a Sphere-AABB combined bounding box. By recursively dividing the AABB bounding box, the detection efficiency is improved and unnecessary collision detection is avoided.

Benefits of technology

It improves the efficiency of collision detection, reduces unnecessary detection attempts, and enhances the accuracy and speed of detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116476388B_ABST
    Figure CN116476388B_ABST
Patent Text Reader

Abstract

This invention relates to the field of 3D printing slicing technology, and more particularly to a collision detection method for 3D printing slicing software. The method first divides the model to be processed into the left and right sides of the substrate based on the non-processed areas on the slicing software substrate; then, it divides the processing areas on the left and right sides of the substrate, using a hybrid bounding box as the root node of the tree for each of the divided processing areas, and using AABB-bounded models for all child nodes except the root node; finally, it performs collision detection on the encapsulated model, initially using sphere-AABB collision detection between root nodes. If a collision occurs, the collision detection model for the root node is changed to AABB intersection testing; after the root node collision detection is completed, all child nodes are then subjected to AABB collision detection. The root node uses a hybrid Sphere-AABB collision detection model, which not only utilizes the convenience and speed of sphere-to-sphere collision detection but also compensates for the poor tightness of sphere-bounded models.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of 3D printing slicing technology, and more particularly to a bounding box collision detection method in the field of 3D printing slicing technology. Background Technology

[0002] With the continuous development of 3D printing technology, 3D printing has been successfully applied to fields such as transportation, aerospace, industrial equipment, and biomedicine, and has made continuous breakthroughs.

[0003] When printing parts using a 3D printer, multiple independent models can be printed simultaneously. Therefore, the models need to be laid out before printing. During the layout process, it's crucial that the parts do not overlap or intersect in space, as this will render the printed parts unusable. To avoid overlap and intersection, collision detection is necessary. Common collision detection algorithms include hierarchical bounding box methods and spatial partitioning. Hierarchical bounding box methods include bounding spheres, AABB axisymmetric bounding boxes, and OBB directional bounding boxes. Bounding spheres are simple to construct and have low collision detection difficulty, but their tightness is poor. AABB bounding boxes are more difficult to construct and detect than bounding spheres, but their tightness is better. OBB directional bounding boxes have the best tightness, but their construction and detection difficulty are higher than the other two types. Therefore, a single bounding box cannot simultaneously achieve both ease of collision detection and tightness of enclosure. Summary of the Invention

[0004] To address the above shortcomings, the purpose of this invention is to provide a bounding box collision detection method in the field of 3D printing slicing technology.

[0005] This invention provides the following technical solution:

[0006] A collision detection method based on 3D printing slicing software, the method comprising the following steps:

[0007] S1. Initialization: Import the model file to be printed onto the substrate of the 3D printing slicing software, and use the automatic placement function to place the model on both sides of the substrate.

[0008] S2. Divide the model to be printed into regions. Let the center point of the non-printing region be (0, 0). Determine the region where the model is stored based on the x-coordinate of the center point of the model after layout. Specifically, when x > 0, the object is located to the right of the non-printing region and is denoted as region A; when x < 0, the object is located to the left of the non-printing region and is denoted as region B.

[0009] S3. Traverse the models to be printed in regions A and B respectively, and store the models in the corresponding arrays Arr1, Arr2 and Arr3 according to the minimum and maximum coordinates of the model vertices.

[0010] S4. Construct the root node of the hybrid bounding box: Determine the radius and center of the circle by using the maximum and minimum values ​​of the model vertex coordinates to construct the bounding sphere of the model under test, and then use the minimum-maximum method to construct the AABB of the model under test;

[0011] S5. Construct child nodes of the AABB bounding box: Divide the current node's bounding box by the midpoint of the longest axis to generate a tighter AABB bounding box. Repeat this process recursively until a custom depth is reached.

[0012] S6. Collision detection process: Determine whether collision detection is needed between the models in region A and region B; determine whether collision detection is needed between the models in arrays Arr1, Arr2, and Arr3, as well as between the models in the arrays.

[0013] As a preferred technical solution for collision detection methods based on 3D printing slicing software, in step S3, the model located in region A is traversed: when the maximum value of the vertex coordinates y of the model is reached... max If the value is ≤0, store the model in array Arr1; if .... min If the value is ≥0, store the model in array Arr2; if .... max >0 or y min If <0, store the model in array Arr3.

[0014] As a preferred technical solution for collision detection methods based on 3D printing slicing software, in step S3, the model located in region B is traversed: when the maximum value of the vertex coordinates y of the model is reached... max If the value is ≤0, store the model in array Arr1; if .... min If the value is ≥0, store the model in array Arr2; if .... max >0 or y min If <0, store the model in array Arr3.

[0015] As a preferred technical solution for collision detection based on 3D printing slicing software, in step 6, as can be seen from step 2, there is no need to perform collision detection between the models of region A and region B.

[0016] As a preferred technical solution for a collision detection method based on 3D printing slicing software, in step 6, as can be seen from step S3, there is no need to perform collision detection between the models in array Arr1 and array Arr2; self-detection is performed on the objects in arrays Arr1, Arr2, and Arr3, and then collision detection is performed between the model in Arr3 and the models in Arr1 and Arr2 respectively.

[0017] As a preferred technical solution for collision detection based on 3D printing slicing software, the collision detection method between models includes the following steps:

[0018] Step 1: Perform bounding sphere collision detection on the root nodes of the hybrid structure hierarchy bounding boxes of the two models. If they do not intersect, return the disjoint result; if they intersect, proceed to the next step.

[0019] Step 2: Perform AABB bounding box collision detection on the two root nodes, that is, project onto the three coordinate axes x, y, z. If there is no overlap in the projection on any axis, return the non-intersecting result; otherwise, continue to the next step.

[0020] Step 3: Select a larger AABB tree for descent. If, after descending to the leaf nodes, there is still no case where the projections of any axis do not overlap, the detection result is that the two models collide; otherwise, the result of non-intersection is returned.

[0021] As a preferred technical solution for collision detection based on 3D printing slicing software, in step S2, the model is initially divided according to the non-printing area to avoid collision detection between the models on both sides of the substrate.

[0022] As a preferred technical solution for collision detection based on 3D printing slicing software, this method performs a secondary division of the array storing the models after initial division by considering the sign of the y-axis at the center point of the substrate. This avoids collision detection between models in the positive and negative y-axis regions of the substrate. Our substrate is circular, with the center point coordinates (0,0). By comparing the maximum and minimum values ​​of the bounding box y-axis with the y-axis value of the substrate center point, the models are divided into three regions: top, middle, and bottom. The top and bottom models will definitely not collide. Therefore, only the top and middle, and middle and bottom models need to be detected, avoiding the need to detect the top and bottom models.

[0023] As a preferred technical solution for collision detection based on 3D printing slicing software, the combined envelope box method is used. The root node adopts a Sphere-AABB combination, and the remaining nodes adopt AABB bounding boxes, which effectively solves the problems of poor compactness of a single envelope box or high difficulty in collision detection.

[0024] The beneficial effects of this invention are:

[0025] 1. This invention uses non-printing areas to separate the parts to be printed, and stores the parts to be printed on the left and right sides in two arrays, avoiding mutual detection between the parts in the two arrays and improving the efficiency of collision detection.

[0026] 2. This invention utilizes the positive and negative values ​​of the center point y of the substrate, and further divides the model parts in the above two sets of arrays into a new array based on the positive and negative values ​​of the maximum and minimum vertex coordinates of the part model to be printed. This avoids collision detection between the model in the positive y-axis direction and the model in the negative y-axis direction, thus improving the efficiency of collision detection.

[0027] 3. This invention uses a combined envelope box method, where the root node adopts a Sphere-AABB combination and the remaining nodes adopt AABB bounding boxes, effectively solving the problems of poor compactness of a single envelope box or difficulty in collision detection. Attached Figure Description

[0028] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. Wherein:

[0029] Figure 1 This is an overall flowchart of the present invention;

[0030] Figure 2 This is a schematic diagram of the collision detection between two objects according to the present invention;

[0031] Figure 3 These are layout diagrams after automatic placement and manual adjustment according to the present invention;

[0032] Figure 4 This is the initial region division diagram of this invention;

[0033] Figure 5 This is a schematic diagram of the hybrid envelope box of the present invention; Detailed Implementation

[0034] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with one or more embodiments of the present invention. Rather, they are merely examples of apparatuses and methods consistent with some aspects of one or more embodiments of the present invention.

[0035] It should be noted that the steps of the corresponding methods in other embodiments are not necessarily performed in the order shown and described in this invention. In some other embodiments, the methods may include more or fewer steps than those described in this invention. Furthermore, a single step described in this invention may be broken down into multiple steps in other embodiments; and multiple steps described in this invention may be combined into a single step in other embodiments.

[0036] like Figure 1 As shown, this invention discloses a bounding box collision detection method in the field of 3D printing slicing technology, which includes the following steps:

[0037] S1. Initialization: Import the model file to be printed onto the substrate of the 3D printing slicing software. Use the automatic placement function to position the model on both sides of the substrate (during placement, the object will automatically avoid non-processing areas). To ensure a more compact model on the substrate, manually adjust the model's position and add the model to be printed again to the empty printing area after adjustment, such as... Figure 3 As shown.

[0038] S2. Divide the model to be printed into regions. Let the center point of the non-printing region be (0, 0). Determine the region where the model will be stored based on the x-coordinate of the center point of the laid-out model. Specifically, when x > 0, the object is located to the right of the non-printing region, and this region is designated as region A. When x < 0, the object is located to the left of the non-printing region, and this region is designated as region B. Figure 4 The red arrow points to area A, and the opposite area is area B.

[0039] S3. Traverse the models to be printed in regions A and B respectively. Taking region A as an example, traverse the models located in region A, and when the maximum value of the vertex coordinates y is reached... max If the value is ≤0, store the model in array Arr1; if .... min If the value is ≥0, store the model in array Arr2; if .... max >0 or y min <0, store the model in array Arr3; taking region B as an example, traverse the models located in region B, and when the maximum value of the vertex coordinates of the model is y max If the value is ≤0, store the model in array Arr1; if .... min If the value is ≥0, store the model in array Arr2; if .... max >0 or y min If the value is less than 0, store the model in array Arr3, such as... Figure 4 The green arrow points in the positive y-axis direction, and the opposite direction points in the negative y-axis direction.

[0040] S4. Construct the root node of the hybrid bounding box. Determine the radius and center using the maximum and minimum values ​​of the model vertex coordinates to construct the bounding sphere of the model under test. Then, use the minimum-maximum method to construct the AABB of the model under test, such as... Figure 5 ;

[0041] S5. Construct child nodes of the AABB bounding box. Divide the current node's bounding box by the midpoint of its longest axis to generate a tighter AABB bounding box. Recursively divide the bounding box in the above manner until a custom depth is reached, at which point the recursion ends.

[0042] S6. Collision Detection Process. As shown in step S2, no collision detection is needed between the models in region A and region B. Similarly, as shown in step S3, no collision detection is needed between the models in arrays Arr1 and Arr2. First, self-detection is performed on the models in arrays Arr1, Arr2, and Arr3. Then, collision detection is performed between the model in Arr3 and the models in Arr1 and Arr2, respectively. The specific detection method between the two models is shown in S7.

[0043] S7. Collision Detection Between Models. Step 1: Perform bounding sphere collision detection on the root nodes of the hybrid structure bounding boxes of the two models. If they do not intersect, return a disjoint result; otherwise, proceed to the next step. Step 2: Perform AABB bounding box collision detection on the two root nodes, i.e., project onto the x, y, and z coordinate axes. If there is no overlap in the projections along any axis, return a disjoint result; otherwise, continue to the next step. Step 3: Select the larger AABB tree for descent. If, after descending to the leaf nodes, there is still no disjoint projection along any axis, a collision is detected between the two models; otherwise, return a disjoint result. Figure 2 .

[0044] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0045] The foregoing has described specific embodiments of the present invention. In some cases, the actions or steps described herein may be performed in a different order than those shown in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0046] The terminology used in one or more embodiments of the present invention is for the purpose of describing particular embodiments only and is not intended to limit the scope of the invention. The singular forms “a,” “the,” “and,” and “the” used in one or more embodiments of the invention are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more associated listed items.

[0047] The above description is merely a preferred embodiment of one or more embodiments of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments of the present invention should be included within the protection scope of one or more embodiments of the present invention.

Claims

1. A method for collision detection based on 3D printing slicing software, characterized in that: The method comprises the following steps: S1. Initialization, import the model file to be printed into the substrate of the 3D printing slicing software, and use the automatic placement function to place the model on both sides of the substrate; S2. Region division of the model to be printed, record the center point coordinates of the non-printing area as (0, 0), and determine the region of the model according to the x coordinate value of the center coordinate point of the laid-out model; specifically, when x>0, the object is located on the right side of the non-printing area, and is recorded as region A; when x<0, the object is located on the left side of the non-printing area, and is recorded as region B; S3. Traverse the models to be printed in regions A and B respectively, and store the models in arrays Arr1, Arr2 and Arr3 according to the minimum and maximum values of the coordinates of the model vertices; S4. Construct the root node of the hybrid bounding box: determine the radius and center of the sphere by the maximum and minimum values of the model vertex coordinates to construct the bounding sphere of the model to be tested, and then construct the AABB of the model to be tested by using the min-max method; S5. Constructing the child node of the AABB bounding box: divide the midpoint of the longest axis of the bounding box of the current node to generate a more compact AABB bounding box, and recursively divide according to the above method until the desired depth is reached; S6. Collision detection process: determine whether the models in regions A and B need to be subjected to collision detection; determine whether the models in arrays Arr1, Arr2 and Arr3 need to be subjected to collision detection.

2. The collision detection method based on 3D printing slicing software according to claim 1, wherein, In step S3, the models located in the A region are traversed: when the maximum vertex coordinate y max ≤ 0, the model is stored in array Arr1; when the minimum vertex coordinate y min ≥ 0, the model is stored in array Arr2; when the maximum vertex coordinate y max > 0 or y min < 0, the model is stored in array Arr3.

3. The collision detection method based on 3D printing slicing software according to claim 1, wherein, In step S3, the models located in the B region are traversed: when the maximum vertex coordinate y max ≤ 0, the model is stored in array Arrl; when the minimum vertex coordinate y min ≥ 0, the model is stored in array Arr2; when the maximum vertex coordinate y max > 0 or y min < 0, the model is stored in array Arr3.

4. The collision detection method based on 3D printing slicing software according to claim 1, wherein, In step 6, according to step 2, the models in regions A and B do not need to be subjected to collision detection.

5. The collision detection method based on 3D printing slicing software according to any one of claims 2 or 3, characterized in that, In step 6, according to step S3, the models in arrays Arr1 and Arr2 also do not need to be subjected to collision detection; The objects in arrays Arr1, Arr2 and Arr3 are subjected to self-detection, and then the models in Arr3 are subjected to collision detection with the models in Arr1 and Arr2.

6. The collision detection method based on 3D printing slicing software according to claim 5, wherein, The collision detection method between models comprises the following steps: First step: perform sphere collision detection on the root nodes of the hybrid structure level bounding boxes of the two models, and if there is no intersection, return the non-intersection result, and if there is intersection, proceed to the next step; Second step: perform AABB bounding box collision detection on the two root nodes, that is, project towards the x, y and z coordinate axes, and if there is no overlap in the projection of any axis, return the non-intersection result, otherwise proceed to the next step; Third step: select the larger AABB tree to descend, and if there is still no overlap in the projection of any axis when descending to the leaf node, the detection result is that the two models collide, otherwise, return the non-intersection result.

Citation Information

Patent Citations

  • Virtual assembly-oriented collision detection method based on AABB (Axis Aligned Bounding Box)-OBB (Oriented Bounding Box) mixed bounding box

    CN102368280A

  • 3D continuous route generation method for fused deposition manufacturing

    CN109808171A