Support generation method and device for three-dimensional model, readable storage medium and printer
Patent Information
- Application Number
- CN202111604534.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-24
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2041-12-24
AI Technical Summary
[0003]现有的3D打印中,支撑粘附在模型上,造成支撑剥离困难,影响支撑粘附处的模型表面打印效果
[0020]本申请中首先根据待打印模型各层原始轮廓确定出各层的初始支撑区域,然后根据各层的原始轮廓和轮廓缩小参数,确定所述待打印模型各层的虚实结合轮廓,根据各层的初始支撑区域与各层的虚实结合轮廓进行指定运算,确定待打印模型的支撑轮廓,最后在所述支撑轮廓的区域生成支撑,由于限定了各层的虚实结合轮廓大于待打印模型对应层的原始轮廓,使得生成的支撑不完全的粘附于待打印模型表面,从而显著降低了支撑在模型上的粘附面积和粘附力,提升支撑粘附处的模型表面打印效果,减少支撑的材料消耗量,极大减弱了支撑剥离的困难度。
Smart Images

Figure CN116330665B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of 3D printing technology, specifically to a method, apparatus, readable storage medium, and printer for generating support for a three-dimensional model. Background Technology
[0002] 3D printing, or rapid prototyping technology, is an additive manufacturing technique. It uses a digital model file as a base and employs special waxes, powdered metals, or plastics—materials that can be bonded—to create three-dimensional objects by printing layers of this bonding material. Common 3D printing technologies include Fused Deposition Modeling (FDM) and Digital Light Processing (DLP). These technologies typically cut the model into many parallel layers and then solidify them layer by layer to form the entire model. The quality of each layer depends on the previous layer, and the process between layers is generally continuous. If there are abrupt changes between two layers, printing may fail. To avoid printing failures caused by abrupt changes, additional support structures are usually created to ensure successful printing.
[0003] In existing 3D printing, the supports adhere to the model, making it difficult to peel them off and affecting the printing effect on the model surface at the support adhesion point. Summary of the Invention
[0004] To address the problems in the prior art, this application provides a method, apparatus, readable storage medium, and printer for generating supports for 3D models. The support generation method of this application can reduce the adhesion of supports to the model, improve the printing effect on the model surface at the support adhesion points, reduce material consumption of supports, and alleviate the difficulty of support peeling.
[0005] Firstly, a method for generating a support for a three-dimensional model is provided, the method comprising:
[0006] Based on the model file, determine the original outline of each layer of the model to be printed;
[0007] Based on the original contours of each layer, determine the initial support area of each layer of the model to be printed;
[0008] Based on the original contours of each layer and the set contour reduction parameters, the combined solid and void contours of each layer of the model to be printed are determined, wherein the combined solid and void contours of each layer are greater than or equal to the original contours of the corresponding layer of the model to be printed.
[0009] Based on the initial support area of each layer and the combined solid and void contour of each layer, the support contour of the model to be printed is determined.
[0010] A support is generated in the region of the support contour.
[0011] Secondly, a support generation device for a three-dimensional model is provided, the device comprising:
[0012] The reading unit is used to determine the original outline of each layer of the model to be printed based on the model file.
[0013] The first region determination unit is used to determine the initial support region of each layer of the model to be printed based on the original outline of each layer.
[0014] The second region determination unit is used to determine the virtual and real combined contour of each layer of the model to be printed based on the original contour of each layer and the set contour reduction parameter. The virtual and real combined contour of each layer is greater than or equal to the original contour of the corresponding layer of the model to be printed.
[0015] The third region determination unit is used to determine the support contour of the model to be printed based on the initial support region of each layer and the virtual-real combined contour of each layer.
[0016] A support generation unit is used to generate supports in the region of the support contour.
[0017] Thirdly, a computer-readable storage medium is provided that stores a computer-readable program thereon, which, when executed by a processor, implements any of the methods described above.
[0018] Fourthly, a three-dimensional printer is provided, the unit printer including a processor and a memory, the memory storing a computer-readable program configured to be executed by the processor, the computer-readable program implementing any of the methods described above when executed by the processor.
[0019] The above-described technical solutions adopted in the embodiments of this application can achieve the following beneficial effects:
[0020] In this application, the initial support area of each layer is first determined based on the original contour of each layer of the model to be printed. Then, based on the original contour and contour reduction parameters of each layer, the virtual-solid combination contour of each layer of the model to be printed is determined. Based on the initial support area and the virtual-solid combination contour of each layer, a specified calculation is performed to determine the support contour of the model to be printed. Finally, a support is generated in the area of the support contour. Since the virtual-solid combination contour of each layer is limited to be larger than the original contour of the corresponding layer of the model to be printed, the generated support does not completely adhere to the surface of the model to be printed, thereby significantly reducing the adhesion area and adhesion force of the support on the model, improving the printing effect of the model surface at the support adhesion point, reducing the material consumption of the support, and greatly reducing the difficulty of support peeling. Attached Figure Description
[0021] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0022] Figure 1-a A schematic diagram of the structure of a model to be printed is shown;
[0023] Figure 1-b The image shows the result generated using CURA. Figure 1-a The support structure of the part of the model to be printed is shown;
[0024] Figure 2 A flowchart illustrating a method for generating a support for a three-dimensional model according to an embodiment of this application is shown.
[0025] Figure 3 -a is a schematic outline of a portion of the model to be printed shown in Figure 1;
[0026] Figure 3 -b indicates Figure 3 -a shows the model to be printed and its corresponding initial support area;
[0027] Figure 3 -c indicates Figure 3 -a shows the combined solid and virtual outline of the model to be printed;
[0028] Figure 3 -d indicates Figure 3 -a shows the model to be printed and its corresponding support contour;
[0029] Figure 3 -e shows Figure 3 -a is a schematic diagram of the support outline of the printable model generated by existing software.
[0030] Figure 4-a A schematic diagram of a Boolean subtraction algorithm is shown;
[0031] Figure 4-b A schematic diagram of another Boolean subtraction algorithm is shown;
[0032] Figure 4-c A schematic diagram of the Boolean addition algorithm is shown;
[0033] Figure 4-d A schematic diagram showing the inward offset of the contour is shown;
[0034] Figure 5-a A schematic outline of another printable model of this application is shown;
[0035] Figure 5-b It shows Figure 5-a The diagram shows the outline of the initial support region of the (n-1)th layer of the model to be printed;
[0036] Figure 5-c It shows Figure 5-a A schematic diagram showing the outlines of multiple support sub-regions in the (n-2)th layer of the model to be printed;
[0037] Figure 5-d It shows Figure 5-a A schematic diagram showing the outlines of multiple support sub-regions of each layer of the model to be printed;
[0038] Figure 6-a It shows Figure 5-a A schematic diagram showing the outline of the middle support area of the first layer of the model to be printed;
[0039] Figure 6-b It shows Figure 5-a A schematic diagram showing the outline of the intermediate support area of each layer of the model to be printed;
[0040] Figure 6-c It shows Figure 5-a The diagram shows the topmost outline of each support sub-region in the middle support area of the model to be printed.
[0041] Figure 7-a It shows Figure 5-a A top view showing the original outline of the support sub-region of the model to be printed;
[0042] Figure 7-b It shows Figure 5-a The top view shown is of the original outline of the support sub-region of the model to be printed, enlarged based on the support enlargement parameters.
[0043] Figure 7-c It shows Figure 5-b The shown outline is a top view of the outline after being scaled down based on the support scaling parameters;
[0044] Figure 8 A schematic diagram of the structure of a support generation device for a three-dimensional model according to an embodiment of this application is shown;
[0045] Figure 9 This is a schematic diagram of the structure of a 3D printer according to an embodiment of this application. Detailed Implementation
[0046] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0047] The technical solutions provided by the various embodiments of this application are described in detail below with reference to the accompanying drawings.
[0048] In existing 3D printing, the supports adhere to the model, making it difficult to peel them off and affecting the printing effect on the model surface at the support adhesion point. Figure 1-a A schematic diagram of the structure of a model to be printed is shown in Figure 1. As can be seen from Figure 1, the gaps between the various "beams" of the model to be printed are large, so supports need to be generated between every two "beams" to ensure successful printing.
[0049] Existing 3D printing slicing software, such as CURA, often produces supports with a large adhesion area to the model surface, resulting in large support volumes and requiring significant material consumption. Figure 1-b The above, Figure 1-b The image shows the result generated using CURA. Figure 1-a The support for the model to be printed shown, from Figure 1-b It can be seen that the supports generated by CURA software are numerous, large in volume, and have a large area of adhesion to the model to be printed.
[0050] In response, this application provides a method for generating supports for a 3D model. This method first determines the initial support area of each layer based on the original contour of each layer of the model to be printed. Then, based on the original contour and contour reduction parameters of each layer, it determines the virtual-solid combined contour of each layer of the model to be printed. It then performs specified calculations based on the initial support area and the virtual-solid combined contour of each layer to determine the support contour of the model to be printed. Finally, it generates supports in the area of the support contour. Because the virtual-solid combined contour of each layer is limited to be greater than or equal to the original contour of the corresponding layer of the model to be printed, the generated supports do not completely adhere to the surface of the model to be printed, thus overcoming the shortcomings of the prior art.
[0051] Figure 2 This illustration shows a flowchart of a method for generating a support for a three-dimensional model according to an embodiment of this application. Figure 2 It can be seen that this application includes at least S210 to S250:
[0052] S210: Determine the original outlines of each layer of the model to be printed based on the model file.
[0053] 3D printing is based on a model file corresponding to a 3D model. This 3D model can be created using any existing modeling software, such as CAD or BIM. The modeling process can be manually executed. After the 3D model is created, it can be saved as a file in a target format, such as an STL file, to ensure compatibility. In essence, obtaining the original outline of the model to be printed means obtaining its corresponding outline region.
[0054] In the actual printing process of the model, not all consumables are released at once. The model is usually divided into layers and printed one layer at a time. After one layer is printed, the print head moves vertically relative to the printing platform to print the next layer. Once all layers have been printed, the entire model is complete.
[0055] To achieve layer-by-layer printing, the 3D model file needs to be sliced. During the printing process, the model file is read and printed layer by layer from the bottom up. It should be noted that the creation and generation of the 3D model file are preparatory work done manually beforehand during 3D printing.
[0056] By reading the model file, information about the model to be printed can be obtained, including but not limited to the original outline of each layer. In this embodiment, a portion of the model to be printed shown in Figure 1 is used as an example for illustrative purposes. Please refer to... Figure 3 , Figure 3 -a is a schematic outline of a portion of the model to be printed shown in Figure 1. Figure 3 The model shown is divided into n layers (n is a natural number greater than 1), from bottom to top, numbered 1, 2, 3...n. The original outline of each layer can be found in... Figure 3 It is clearly visible in the text.
[0057] The following is a brief introduction to some of the terms used in this application, which will not be elaborated upon further.
[0058] 1. Boolean subtraction: Removes the portion of one shape that intersects with another shape. Specifically, for example... Figure 4-a As shown, subtracting B from A in Boolean mode means removing the part of A that intersects with B; for example... Figure 4-b As shown, subtracting A from B in Boolean mode means removing the part of B that intersects with A. Subtracting B from A in Boolean mode is different from subtracting A from B in Boolean mode.
[0059] II. Boolean, referring to taking the union of two shapes. Specifically, such as... Figure 4-c As shown, Boolean addition A to B means taking the union of A and B, and Boolean addition B to A is the same as Boolean addition A to B.
[0060] 3. Inward offset of the contour refers to the contour becoming smaller inward by a certain value, such as... Figure 4-d As shown, Figure 4-d The outermost contour is the original contour, and the inner contour is the contour after multiple offsets.
[0061] Fourth, outward offset of the contour refers to the contour becoming larger outward by a certain value. For details, please refer to inward offset of the contour. It is the opposite process.
[0062] S220: Determine the initial support area of each layer of the model to be printed based on the original contours of each layer.
[0063] Generally, the initial support area is consistent with the support area generated by existing CURE software, meaning it needs to "fill" the recessed areas of the model. To achieve this "filling" effect, this application uses the Boolean subtraction of the original contour of the target layer from the original contour of the layer above it to obtain the initial support area of the target layer. Repeating this step determines the initial support areas of each layer of the model to be printed. This method of obtaining the initial support area is simpler and easier to implement. It should be noted that if the original contour of the layer above it is less than or equal to the original contour of the target layer, the Boolean subtraction result is 0.
[0064] Figure 3 The shaded area in -b represents the initial support region for each layer of the printed model. Figure 3 -b shows that in the existing technology ( Figure 1-b The common approach is to generate supports from this initial support area, that is, to fill the initial support area with multiple supports. This results in large support volume, high material consumption, and a large adhesion area to the model surface.
[0065] In this application, the initial support area is used as an intermediate parameter. After subsequent calculations, a support with smaller volume, less material consumption, and smaller adhesion area can be obtained.
[0066] In this application, Figure 3 The area that needs to be supported in -b is not a suspended surface. That is, there is still the entity of the model file below the area that needs to be supported. The area that the model needs to be supported is not necessarily a suspended area.
[0067] S230: Based on the original contours of each layer and the set contour reduction parameters, determine the virtual-real combined contours of each layer of the model to be printed, wherein the virtual-real combined contours of each layer are greater than or equal to the original contours of the corresponding layer of the model to be printed.
[0068] The various parameters in this application can be manually set by the user, pre-set initial parameters, or system default parameters. These parameters include, but are not limited to, contour reduction parameters. The contour reduction parameter is used to reduce the size of the obtained virtual-real combined contour, and then compare it with the corresponding 3D model in the model file to obtain the virtual-real combined contour of the next layer, thus obtaining the virtual-real combined contours of each layer in sequence.
[0069] Specifically, still based on Figure 3 Taking the model to be printed shown in -a as an example, when determining its virtual-real combined contour, the original contour of the bottom layer, i.e., the first layer, can be used as its virtual-real combined contour. Using the bottom layer as a reference, from bottom to top, the virtual-real combined contour of the first layer is reduced according to the contour reduction parameter to obtain the virtual contour of the second layer. Then, the virtual contour of the second layer is Boolean added to the original contour of the second layer to obtain the virtual-real combined contour of the second layer. The virtual-real combined contour of the second layer is then reduced according to the contour reduction parameter to obtain the virtual contour of the third layer. The virtual contour of the third layer is then Boolean added to the original contour of the third layer to obtain the virtual-real combined contour of the third layer. Following this method, the virtual contours of each layer and the corresponding virtual-real combined contours of the corresponding layers are obtained sequentially. For reference, the virtual-real combined contours of each layer of the model to be printed are as follows: Figure 3 The combination of the shaded area in -c and the solid part of the model is shown.
[0070] from Figure 3 As can be seen from -a and 3-c, except for the bottom and top layers where the combined solid and virtual contours are equal to their original contours, the combined solid and virtual contours of the remaining layers are larger than the original contours of the corresponding layers of the model to be printed. For the top layer, taking one layer of the model to be printed as the target layer, the support of the layer below the target layer actually provides support for the target layer. Therefore, the top layer of the model to be printed, i.e. Figure 3 In -a, the nth layer does not require an additional support layer.
[0071] S240: Based on the initial support area of each layer and the combined solid and virtual contours of each layer, determine the support contour of the model to be printed.
[0072] Then, the support contour is determined, which is the area where support layers need to be added. The initial support area of each layer intersects with the virtual-solid combination contour of each layer, and the initial support area is usually larger than the virtual-solid combination contour. In existing technologies, the virtual-solid combination contour is also supported, which makes the supports tightly adhere to the model to be printed, resulting in numerous supports that are difficult to peel off. In this application, the virtual-solid combination contour is excluded from the support; that is, no printing is performed at the virtual-solid combination contour. Specifically, this can be achieved by subtracting the virtual-solid combination contour of each layer from the initial support area of each layer using Boolean subtraction, resulting in the following... Figure 3-d indicates the support contour of the model to be printed.
[0073] S250: Generate support in the area of the support contour.
[0074] Finally, the support is generated in the area of the support contour. During this process, multiple support generation parameters can be set, such as support connection parameters and filling density parameters. The support is generated according to these parameters. The support can be in the form of multiple vertical columns or in the form of a topological structure.
[0075] The support connection parameter determines a preset distance, allowing supports to be connected when adjacent supports are less than this preset distance. The infill density parameter indicates the infill density of the support. For example, if the infill density is 15%, and the cross-sectional area of the support is 100, then 15% of it will be filled with material. For instance, when printing a base with an infill density of 15%, the printed base will have a lower infill density, with the grid area printed and the rest empty.
[0076] Figure 3 -e indicates the generation using existing technology with the Cura software. Figure 3 -a is a schematic diagram of the support outline of the model to be printed, from Figure 3 -d and Figure 3 As can be seen from the -e, the support generated by this application can support the model to be printed very well, and its stability is very good. While reducing the support volume and material consumption, it ensures the support function and support strength of the model to be printed.
[0077] Depend on Figure 2 As can be seen from the method shown, in this application, the initial support area of each layer is first determined according to the original contour of each layer of the model to be printed. Then, the virtual-solid combination contour of each layer of the model to be printed is determined according to the original contour and contour reduction parameter of each layer. The support contour of the model to be printed is determined by specified calculation based on the initial support area and the virtual-solid combination contour of each layer. Finally, the support is generated in the area of the support contour. Since the virtual-solid combination contour of each layer is limited to be larger than the original contour of the corresponding layer of the model to be printed, the generated support does not completely adhere to the surface of the model to be printed, thereby significantly reducing the adhesion area and adhesion force of the support on the model, improving the printing effect of the model surface at the support adhesion point, reducing the material consumption of the support, and greatly reducing the difficulty of support peeling.
[0078] In this application, the model to be printed includes n original contours, with the top layer being the nth layer and the bottom layer being the 1st layer, where n is a positive integer. In the above method, determining the initial support area of each layer of the model to be printed based on the original contours of each layer includes:
[0079] S221: Subtract the expanded contour of the target layer from the original contour of the layer above the target layer to obtain the first initial support area of the target layer, wherein the expanded contour is obtained by expanding the original contour of the corresponding layer of the model to be printed based on the set contour expansion parameters;
[0080] S222: Perform a Boolean addition operation on the first initial support region and the second initial support region of the target layer to obtain at least one support sub-region of the target layer, wherein the second initial support region is the region in the target layer that corresponds to the support sub-region of the previous layer;
[0081] S223: Repeatedly execute the Boolean subtraction of the expanded contour of the target layer from the original contour of the layer above the target layer to obtain the first initial support region of the target layer, wherein the expanded contour of the target layer is obtained by expanding the original contour of the target layer based on the set contour expansion parameters; perform a Boolean addition operation on the first initial support region and the second initial support region of the target layer to obtain at least one support sub-region of the target layer; until the support sub-regions of each layer of the model to be printed are calculated;
[0082] S224: Based on the support sub-region of the target layer, the initial support region of the target layer is obtained.
[0083] In S221, a contour expansion parameter can also be set to expand the contour so that the supports on the same layer will not come into contact with the solids of the model on the same layer, so that the supports can be removed.
[0084] Specifically, for ease of understanding the method of this application, this embodiment uses... Figure 5-a Taking the given model to be printed as an example, Figure 5-a The given model to be printed is an "inverted triangle". Assume the model has n layers, such as... Figure 5-a As shown, the top layer is layer n, and the second-to-top layer is layer (n-1). Layer n has no upper layer, so it's not necessary to obtain the first initial support area for layer n. Taking layer (n-1) as an example, the original contour of layer (n-1) of the model to be printed is enlarged based on the set contour enlargement parameters to obtain the enlarged contour of layer (n-1). Please refer to [reference needed]. Figure 5-b , Figure 5-b In this context, e1 represents the increased region based on the contour expansion parameters. Adding e1 to the original contour of layer (n-1) yields the expanded contour of layer (n-1). This is understandable. Figure 5-b In the middle, on the left side of the figure, each layer of the model can also have a corresponding area that is increased after being expanded based on the contour expansion parameters.
[0085] Using the original contour of layer n, subtract the expanded contour of layer (n-1) obtained after contour expansion parameter processing from layer (n-1) to obtain the first initial support region n1 of layer (n-1). Since there is no second initial support region in layer (n-1), the first initial support region n1 of layer (n-1) is the initial support region of layer (n-1). Figure 5-b As shown in the figure, n1 is shown.
[0086] Taking the (n-2)th layer as an example again, the first initial support region n2 of the (n-2)th layer can be obtained in the same way as above.
[0087] In S222, the nth layer has no upper layer, so there is no need to obtain the support sub-region of the nth layer. When obtaining the support sub-region of the (n-1)th layer, it is necessary to first obtain the second initial support region of the (n-1)th layer. The second initial support region of the (n-1)th layer is the region corresponding to the support sub-region of the nth layer. Since there is no support sub-region of the nth layer, there is no second initial support region of the (n-1)th layer, that is, the second initial support region of the (n-1)th layer is 0; therefore, the support sub-region of the (n-1)th layer is the first initial support region of the (n-1)th layer, that is, the n1 region of the first initial support region of the (n-1)th layer is taken as the support sub-region of the (n-1)th layer.
[0088] For example, when obtaining the support sub-region of the (n-2)th layer, it is necessary to first obtain the second initial support region of the (n-2)th layer. The second initial support region of the (n-2)th layer is the region in the (n-2)th layer that corresponds to the support sub-region n1 of the previous layer, i.e., the (n-1)th layer. Figure 5-c As shown, Figure 5-c e2 in the text is the region added after the (n-2)th layer is expanded based on the contour expansion parameter. The contour obtained by Boolean addition between e2 and the original contour of the (n-2)th layer is the expanded contour of the (n-2)th layer. Figure 5-c The n3 region is the second initial support region of the (n-2)th layer; by performing a Boolean addition on the first initial support region n2 and the second initial support region n3 of the (n-2)th layer, we obtain the two support sub-regions of the (n-2)th layer.
[0089] In S223, repeating the above steps allows for the sequential calculation of the support sub-regions of each layer, where each layer includes layers 1 to (n-1), as follows: Figure 5-d As shown, Figure 5-d The shaded area in the image represents the support sub-region of the model to be printed. It should be noted that... Figures 5-b to 5-d The support regions of each model shown are spaced out. This is an exaggerated representation for clarity. The actual spacing is very small and will disappear when the initial support region is determined based on multiple support sub-regions.
[0090] In S224, the obtained support sub-regions of each layer can be connected to obtain the initial support region of each layer. The obtained support sub-regions are then used as the initial support regions. Alternatively, the support sub-regions can be processed to obtain other types of initial support regions.
[0091] In this application, the step of subtracting the expanded outline of the previous layer from the support sub-region of the target layer to obtain the intermediate support region of the target layer further includes:
[0092] S2231: Subtract the expanded outline of the previous layer from the support sub-region of the target layer using Boolean subtraction to obtain the middle support region of the target layer;
[0093] S2232: Based on the intermediate support region of the target layer, obtain the initial support region of the target layer.
[0094] In this embodiment, the initial support region of the target layer, determined based on the support sub-regions of the target layer, can be further processed as follows; please refer to [reference needed]. Figure 5-d and Figure 6-a For the first layer, i.e., the bottom layer, by subtracting the expanded outline of the second layer from the multiple supporting sub-regions of the first layer using Boolean subtraction, we obtain the middle supporting region of the first layer, such as... Figure 6-a As shown in n4, the gaps between the intermediate support areas (n4) are then connected to obtain the initial support area of the first layer.
[0095] By repeating the above steps, the initial support areas for each layer of the model to be printed can be determined, such as... Figure 6-b As shown, the initial support areas of each layer constitute the initial support areas of the model to be printed.
[0096] from Figure 6-b As can be seen, the initial support area obtained by this method, taking the first layer as an example, does not directly adhere to the lower surface of the second layer, meaning that part of the support area is missing. However, since each model layer and each support layer is very thin in reality, such as 0.2mm, it can still provide support for the model. Moreover, the adhesion is not tight, making it easy to remove the support.
[0097] In this application, the top layer of each support sub-region is thickened according to the set sub-region thickening parameters to enhance the support effect. For example, the top layer of each support sub-region can be thickened to 1.2-1.8 times the initial value, thereby improving the support effect. Figure 6-c As shown, it can be achieved by increasing Figure 6-c The thickness of the area indicated by the middle arrow is to enhance the support effect.
[0098] In this application, obtaining the initial support region of the target layer based on the intermediate support region of the target layer includes:
[0099] S22321: Based on the set support expansion parameters, the obtained support sub-region is expanded to form the initial support region of the target layer.
[0100] Specifically, it can be S223211: Based on the set support expansion parameters, the edge of the obtained support sub-region is expanded outward by the value corresponding to the support connection parameters to obtain the support connection region.
[0101] The support expansion parameters can be preset, such as the default settings, or they can be temporarily modified by the user.
[0102] When connecting the support sub-regions of each layer or the support sub-regions in the intermediate support region, the connection can be made according to the support expansion parameter. The edge of each support sub-region is expanded by the support expansion parameter, such as by 1.1-1.5 times the original size, so that the support sub-regions are connected together to form the initial support region of each layer.
[0103] For details, please refer to [the relevant documentation]. Figure 7-a and Figure 7-b , Figure 7-a L1 is the original contour of the support sub-region. After being enlarged using the support enlargement parameters, the following is obtained: Figure 7-b L2 in the middle, that is, the outline of the outer ring, from Figure 7-b As can be seen, after expansion, the various supporting sub-regions are connected together. Figure 7-b In the middle, the part between the two supporting sub-regions is the supporting connection area.
[0104] In this application, the step of expanding the obtained support sub-region based on the set support expansion parameter to form the initial support region of the target layer further includes S22322: shrinking the edge of the support connection region inward by the value corresponding to the set support shrinkage parameter to obtain the initial support region of the target layer.
[0105] To further save on the materials required for the support and the distance between the support and the model entity to be printed, a support reduction parameter can be set. The support reduction parameter can be preset, such as the default setting, or it can be temporarily modified by the user.
[0106] The edge of the obtained support connection area is shrunk inward by the value corresponding to the set support shrinkage parameter to obtain the initial support area of the target layer. See details for further information. Figure 7-c , Figure 7-cL3 shows the outline obtained by shrinking the connection between two support sub-regions according to the support shrinkage parameters. As can be seen from L3, the support regions are still connected after being shrunk.
[0107] In this application, determining the combined solid and void contours of each layer of the model to be printed based on the original contours of each layer and the set contour reduction parameters includes:
[0108] S231: The expanded outline of the first layer of the model to be printed is taken as the combined solid and virtual outline of the first layer, wherein the first layer is the bottom layer of the model to be printed; wherein the expanded outline of the first layer is obtained by expanding the original outline of the first layer based on the set outline expansion parameters.
[0109] S232: For the remaining layers of the model to be printed, according to the set contour reduction parameters, the virtual and real combined contour of the layer below the target layer is reduced to obtain the virtual contour of the target layer.
[0110] S233: Perform a Boolean addition operation on the expanded contour of the target layer and the virtual contour of the target layer to obtain the virtual-real combined contour of the target layer.
[0111] The above method can also be used when determining the virtual combination contour of each layer. First, the original contour of the first layer is enlarged based on the set contour enlargement parameters to obtain the enlarged contour of the first layer. The enlarged contour of the first layer is then used as the virtual-real combination contour of the first layer.
[0112] For the remaining layers, taking the second layer as an example, firstly, the virtual-real combined contour of the first layer is shrunk according to the set contour shrinkage parameters, and the resulting shrinkage contour is used as the virtual contour of the second layer; finally, a Boolean addition operation is performed on the expanded contour of the second layer and the virtual contour of the second layer to obtain the virtual-real combined contour of the second layer. This can eliminate unnecessary supports, making the support volume smaller and the adhesion area smaller, making it easier to remove.
[0113] In this application, determining the support contour of the model to be printed based on the initial support area of each layer and the combined solid and void contour of each layer includes:
[0114] S241: Using the initial support area of each layer, subtract the corresponding virtual and real combined contour of each layer from the Boolean value to obtain the support contour of each layer.
[0115] The final support contour of the model to be printed is composed of the support contours of each layer. The support contour of each layer can be obtained by subtracting the corresponding solid and void combined contour of each layer from the initial support area of each layer using Boolean subtraction. For details, please refer to 3-b. Figure 3 -c and Figure 3 -d.
[0116] Figure 8 A support generation apparatus for a three-dimensional model according to an embodiment of this application is shown, from Figure 8 It can be seen that the device 800 includes:
[0117] The reading unit 810 is used to determine the original outline of each layer of the model to be printed based on the model file.
[0118] The first region determination unit 820 is used to determine the initial support region of each layer of the model to be printed based on the original outline of each layer.
[0119] The second region determination unit 830 is used to determine the virtual and real combined contour of each layer of the model to be printed based on the original contour of each layer and the set contour reduction parameter. The virtual and real combined contour of each layer is greater than or equal to the original contour of the corresponding layer of the model to be printed.
[0120] The third region determination unit 840 is used to determine the support contour of the model to be printed based on the initial support region of each layer and the virtual-real combined contour of each layer.
[0121] Support generation unit 850 is used to generate supports in the region of the support contour.
[0122] In some embodiments of this application, the model to be printed includes n original contours, with the topmost layer being the nth layer and the bottommost layer being the 1st layer, where n is a positive integer. A first region determination unit 820 is used to subtract the expanded contour of the target layer from the original contour of the layer above the target layer using a Boolean subtraction, to obtain a first initial support region of the target layer. The expanded contour is obtained by expanding the original contour of the corresponding layer of the model to be printed based on set contour expansion parameters. A Boolean addition operation is performed on the first initial support region and the second initial support region of the target layer to obtain at least one support sub-region of the target layer. The second initial support region is a sub-region of the target layer that is adjacent to... The region corresponding to the support sub-region of the previous layer, wherein the nth layer does not include the support sub-region; repeatedly perform the Boolean subtraction of the expanded contour of the target layer from the original contour of the previous layer to obtain the first initial support region of the target layer, wherein the expanded contour of the target layer is obtained by expanding the original contour of the target layer based on the set contour expansion parameters; perform Boolean addition on the first initial support region and the second initial support region of the target layer to obtain at least one support sub-region of the target layer; until the support sub-regions of each layer of the model to be printed are calculated; based on the support sub-regions of each layer of the model to be printed, the initial support region of each layer is obtained.
[0123] In some embodiments of this application, in the above-described apparatus, the first region determination unit 820 is used to subtract the expanded outline of the previous layer from the support sub-region of the target layer to obtain the intermediate support region of the target layer; and to obtain the initial support region of the target layer based on the intermediate support region of the target layer.
[0124] In some embodiments of this application, in the above-described apparatus, the first region determination unit 820 is used to expand the obtained support sub-region based on the set support expansion parameters to form the initial support region of the target layer.
[0125] In some embodiments of this application, in the above-described apparatus, the first region determining unit 820 is used to expand the edge of the obtained support sub-region outward by the value corresponding to the support connection parameter based on the set support expansion parameter, so as to obtain a support connection region; and to shrink the edge of the support connection region inward by the value corresponding to the set support shrinking parameter, so as to obtain the initial support region of the target layer.
[0126] In some embodiments of this application, in the above-described apparatus, the second region determining unit 830 is used to take the expanded outline of the first layer of the model to be printed as the virtual-real combined outline of the first layer, wherein the first layer is the bottom layer of the model to be printed, and the expanded outline is obtained by expanding the original outline of the corresponding layer of the model to be printed based on the set outline expansion parameters; for the remaining layers of the model to be printed, the virtual-real combined outline of the layer below the target layer is reduced according to the set outline reduction parameters to obtain the virtual outline of the target layer; and a Boolean addition operation is performed on the expanded outline of the target layer and the virtual outline of the target layer to obtain the virtual-real combined outline of the target layer.
[0127] In some embodiments of this application, in the above-described apparatus, the third region determination unit 840 is used to subtract the corresponding virtual-real combined contour of each layer from the initial support region of each layer to obtain the support contour of each layer.
[0128] It should be noted that the aforementioned support generation device for the three-dimensional model can realize the aforementioned support generation method for the three-dimensional model, and will not be described in detail here.
[0129] Figure 9 This is a schematic diagram of the structure of a 3D printer according to an embodiment of this application. Please refer to it. Figure 9At the hardware level, the 3D printer includes a processor, and optionally also an internal bus, network interface, and memory. The memory may include RAM, such as high-speed random-access memory (RAM), or non-volatile memory, such as at least one disk drive. Of course, the 3D printer may also include other hardware required for its business operations.
[0130] The processor, network interface, and memory can be interconnected via an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 9 The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.
[0131] Memory is used to store programs. Specifically, programs may include program code, which includes computer operation instructions. Memory may include main memory and non-volatile memory, and provides instructions and data to the processor.
[0132] The processor reads the corresponding computer program from non-volatile memory into main memory and then executes it, forming a support generation device for the 3D model at the logical level. The processor executes the program stored in memory and specifically performs operations for the support generation method of the 3D model, such as:
[0133] Based on the model file, determine the original outline of each layer of the model to be printed;
[0134] Based on the original contours of each layer, determine the initial support area of each layer of the model to be printed;
[0135] Based on the original contours of each layer and the set contour reduction parameters, the combined solid and void contours of each layer of the model to be printed are determined, wherein the combined solid and void contours of each layer are greater than or equal to the original contours of the corresponding layer of the model to be printed.
[0136] Based on the initial support area of each layer and the combined solid and void contour of each layer, the support contour of the model to be printed is determined.
[0137] A support is generated in the region of the support contour.
[0138] The above is as stated in this application. Figure 8 The method executed by the three-dimensional model support generation device disclosed in the illustrated embodiment can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.
[0139] This 3D printer can also perform... Figure 8 A method for executing a support generation device for a 3D model, and the implementation of the support generation device for the 3D model in... Figure 8 The functions of the embodiments shown are not described in detail here.
[0140] This application also proposes a computer-readable storage medium that stores one or more programs, the programs including instructions that, when executed by a 3D printer comprising multiple applications, enable the 3D printer to perform... Figure 8 The method executed by the support generation device for the 3D model in the illustrated embodiment, and specifically used to execute the operation of the support generation method for the 3D model, such as:
[0141] Based on the model file, determine the original outline of each layer of the model to be printed;
[0142] Based on the original contours of each layer, determine the initial support area of each layer of the model to be printed;
[0143] Based on the original contours of each layer and the set contour reduction parameters, the combined solid and void contours of each layer of the model to be printed are determined, wherein the combined solid and void contours of each layer are greater than or equal to the original contours of the corresponding layer of the model to be printed.
[0144] Based on the initial support area of each layer and the combined solid and void contour of each layer, the support contour of the model to be printed is determined.
[0145] A support is generated in the region of the support contour.
[0146] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0147] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more flowchart illustrations and / or one or more block diagrams.
[0148] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0149] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.
[0150] In a typical configuration, a 3D printer includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0151] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0152] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a 3D printer. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0153] 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.
[0154] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0155] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A method for generating support for a three-dimensional model, characterized in that, The method includes: Based on the model file, determine the original outline of each layer of the model to be printed; Based on the original contours of each layer, determine the initial support area of each layer of the model to be printed; Based on the original contours of each layer and the set contour reduction parameters, the combined solid and void contours of each layer of the model to be printed are determined, wherein the combined solid and void contours of each layer are greater than or equal to the original contours of the corresponding layer of the model to be printed. Based on the initial support area of each layer and the combined solid and void contour of each layer, the support contour of the model to be printed is determined. A support is generated in the region of the support contour. The step of determining the combined solid and void contours of each layer of the model to be printed based on the original contours of each layer and the set contour reduction parameters includes: The enlarged outline of the first layer of the model to be printed is used as the combined solid and void outline of the first layer. The first layer is the bottom layer of the model to be printed. The enlarged outline is obtained by enlarging the original outline of the corresponding layer of the model to be printed based on the set outline enlargement parameters. For the remaining layers of the model to be printed, the virtual and real combined contours of the layer below the target layer are reduced according to the set contour reduction parameters to obtain the virtual contour of the target layer. A Boolean addition operation is performed on the expanded contour of the target layer and the virtual contour of the target layer to obtain the combined real and virtual contour of the target layer. The step of determining the support contour of the model to be printed based on the initial support area of each layer and the combined solid and void contour of each layer includes: The initial support area of each layer is used, and the corresponding solid and void combined contour of each layer is subtracted to obtain the support contour of each layer.
2. The method according to claim 1, characterized in that, The model to be printed includes n original contours, with the top layer being the nth layer and the bottom layer being the 1st layer, where n is a positive integer. The step of determining the initial support area for each layer of the model to be printed based on the original contours of each layer includes: The first initial support region of the target layer is obtained by subtracting the expanded contour of the target layer from the original contour of the layer above the target layer. The expanded contour is obtained by expanding the original contour of the corresponding layer of the model to be printed based on the set contour expansion parameters. A Boolean addition operation is performed on the first initial support region and the second initial support region of the target layer to obtain at least one support sub-region of the target layer, wherein the second initial support region is the region in the target layer corresponding to the support sub-region of the previous layer, and the nth layer does not include support sub-regions; Repeatedly subtract the expanded contour of the target layer from the original contour of the layer above the target layer to obtain the first initial support region of the target layer. The expanded contour of the target layer is obtained by expanding the original contour of the target layer based on the set contour expansion parameters. Perform Boolean addition on the first initial support region and the second initial support region of the target layer to obtain at least one support sub-region of the target layer. Continue until the support sub-regions of each layer of the model to be printed are calculated. Based on the support sub-regions of each layer of the model to be printed, the initial support region of each layer is obtained.
3. The method according to claim 2, characterized in that, Based on the support sub-regions of each layer of the model to be printed, the initial support region of each layer is obtained, including: Subtract the expanded outline of the previous layer from the support sub-region of the target layer using Boolean subtraction to obtain the middle support region of the target layer; Based on the intermediate support region of the target layer, the initial support region of the target layer is obtained.
4. The method according to claim 3, characterized in that, The step of obtaining the initial support region of the target layer based on the intermediate support region of the target layer includes: Based on the set support expansion parameters, the obtained support sub-region is expanded to form the initial support region of the target layer.
5. The method according to claim 4, characterized in that, The expansion of the obtained support sub-region based on the set support expansion parameters to form the initial support region of the target layer includes: Based on the set support expansion parameters, the edge of the obtained support sub-region is expanded outward by the value corresponding to the support expansion parameters to obtain the support connection region; The edge of the support connection area is reduced inward by the value corresponding to the set support reduction parameter to obtain the initial support area of the target layer.
6. A support generation device for a three-dimensional model, characterized in that, The device includes: The reading unit is used to determine the original outline of each layer of the model to be printed based on the model file. The first region determination unit is used to determine the initial support region of each layer of the model to be printed based on the original outline of each layer. The second region determination unit is used to determine the virtual and real combined contour of each layer of the model to be printed based on the original contour of each layer and the set contour reduction parameter. The virtual and real combined contour of each layer is greater than or equal to the original contour of the corresponding layer of the model to be printed. The third region determination unit is used to determine the support contour of the model to be printed based on the initial support region of each layer and the virtual-real combined contour of each layer. A support generation unit is used to generate a support in the region of the support contour. The second region determination unit is used to take the expanded outline of the first layer of the model to be printed as the combined solid and void outline of the first layer, wherein the first layer is the bottom layer of the model to be printed, and the expanded outline is obtained by expanding the original outline of the corresponding layer of the model to be printed based on the set outline expansion parameters. For the remaining layers of the model to be printed, the virtual and real combined contours of the layer below the target layer are reduced according to the set contour reduction parameters to obtain the virtual contour of the target layer. A Boolean addition operation is performed on the expanded contour of the target layer and the virtual contour of the target layer to obtain the combined real and virtual contour of the target layer. The third region determination unit is used to subtract the corresponding virtual-solid combined contour of each layer from the initial support region of each layer to obtain the support contour of each layer.
7. A computer-readable storage medium having a computer-readable program stored thereon, characterized in that, When the computer-readable program is executed by a processor, it implements the method as described in any one of claims 1 to 5.
8. A three-dimensional printer, characterized in that, include: A processor and a memory, wherein the memory stores a computer-readable program configured to be executed by the processor, wherein when executed by the processor, the computer-readable program implements the method as described in any one of claims 1-5.
Citation Information
Patent Citations
Three-dimensional printing method
CN104647753A
3D printing file generation method and device, computer equipment and storage medium
CN113752561A