Method and apparatus for 3D printing
By acquiring the geometric features and stress analysis of the 3D model, the printing support nodes are determined, and the problem of inaccurate printing support positions in the prior art is solved, more accurate support structure settings are achieved, and the stability and efficiency of 3D printing are improved.
Patent Information
- Application Number
- CN202310232241.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-10
- Publication Date
- 2025-07-22
- Estimated Expiration
- 2043-03-10
AI Technical Summary
In the existing 3D printing technology, manual judgment of the position of the printing support structure is inaccurate, resulting in unstable structure of three-dimensional objects during printing.
By obtaining the geometric features of the 3D model, determining the horizontal segmentation plane, performing force analysis, determining the nodes that need to be printed support, and using finite element analysis and iterative calculations, the support position is accurately determined.
Improves the accuracy of the printing support position, reduces the calculation amount and analysis time, and improves the user experience.
Smart Images

Figure CN116061432B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of 3D printing technology, and in particular, to a method and apparatus for 3D printing. Background Art
[0002] A 3D printer, also known as a three-dimensional printer or a stereolithography printer, is a rapid prototyping process device that typically uses digital technology to print materials to achieve. 3D printers are often used in the fields of mold manufacturing, industrial design, etc. to manufacture models or components. In recent years, 3D printing technology has high application prospects in the fields of jewelry, footwear, industrial design, architecture, engineering and construction (AEC), automotive, aerospace, dental and medical industries, education, geographic information systems, civil engineering, and other fields.
[0003] Among the three-dimensional printing methods known in the art, fused deposition modeling (FDM) is a method for constructing a three-dimensional object based on a digital model, using materials such as powdered metal or plastic, and constructing the three-dimensional object layer by layer. The three-dimensional printer used therein supplies the molding material to the print head in the form of a filament, and the molding material is heated to a molten state by electric heating in the print head. The print head prints the three-dimensional object layer by layer according to the path of the relative movement of the print head generated by the controller of the three-dimensional printer with respect to the substrate. During the printing process, for some parts of the three-dimensional object, additional columnar printing supports need to be printed to prevent the molten molding material from deforming under the influence of gravity at these parts. Finally, after the printed object is formed, the additional support part is removed from the printed three-dimensional object.
[0004] Therefore, before actual printing, it is necessary to first determine the parts of the three-dimensional object model where the support structure needs to be additionally provided. The existing method is for the 3D printing operator to judge by himself the position where the support structure needs to be provided, but this manual determination method is not accurate, resulting in the support structure not being pre-set at the position where it should be provided, thus causing the structure of the three-dimensional object to be unstable during the printing process. Therefore, there is an urgent need for a method that can accurately analyze the positions where printing supports need to be provided according to the geometric characteristics of the three-dimensional object. Summary of the Invention
[0005] It would be advantageous to provide a mechanism that alleviates, mitigates, or even eliminates one or more of the above problems.
[0006] According to one aspect of the present disclosure, a method for 3D printing is provided, including: obtaining a first 3D model; determining a first horizontal segmentation plane for horizontally segmenting the first 3D model according to the geometric features of the first 3D model, so as to obtain a first contact model block in contact with a virtual hot bed plane representing the hot bed plane of a 3D printer, the first contact model block being located below the first horizontal segmentation plane; performing a force analysis on multiple first nodes in the first contact model block to determine the deformation displacements of the multiple first nodes respectively; and determining whether there are first support nodes among the multiple first nodes according to the deformation displacements of the multiple first nodes respectively, where a support structure is to be printed at the first support nodes.
[0007] According to another aspect of the present disclosure, a device for 3D printing is provided, including: an obtaining unit configured to obtain a first 3D model; a segmentation unit configured to determine a first horizontal segmentation plane for horizontally segmenting the first 3D model according to the geometric features of the first 3D model, so as to obtain a first contact model block in contact with a virtual hot bed plane representing the hot bed plane of a 3D printer, the first contact model block being located below the first horizontal segmentation plane; an analysis unit configured to perform a force analysis on multiple first nodes in the first contact model block to determine the deformation displacements of the multiple first nodes respectively; and a determination unit configured to determine whether there are first support nodes among the multiple first nodes according to the deformation displacements of the multiple first nodes respectively, where a support structure is to be printed at the first support nodes.
[0008] According to still another aspect of the present disclosure, a computer device is provided, including: at least one processor; and at least one memory storing a computer program thereon, where when the computer program is executed by the at least one processor, the at least one processor is caused to execute the above method.
[0009] According to yet another aspect of the present disclosure, a computer-readable storage medium is provided, having a computer program stored thereon, and when the computer program is executed by a processor, the processor is caused to execute the above method.
[0010] According to yet another aspect of the present disclosure, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the processor is caused to execute the above method.
[0011] According to the embodiments of the present disclosure, the deformation conditions of each node of the model can be obtained through finite element analysis, and then the positions where supports need to be added during 3D printing of the object to be printed can be determined according to the deformation. Compared with the prior art, the determination of the above positions will be more accurate. By using the method of selecting the segmentation plane according to geometric features for force analysis, compared with performing force analysis layer by layer on the model below that layer, the calculation amount is greatly reduced, so that the analysis duration is greatly reduced and the user experience is improved.
[0012] According to the embodiments described hereinafter, these and other aspects of the present disclosure will be apparent and will be elucidated with reference to the embodiments described hereinafter. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] In the following description of exemplary embodiments in conjunction with the accompanying drawings, more details, features, and advantages of the present disclosure are disclosed, in which:
[0014] Figure 1 is a schematic diagram of a 3D printer system that can implement various methods described herein according to an exemplary embodiment;
[0015] Figure 2 is a flowchart of a method for 3D printing according to an exemplary embodiment;
[0016] Figure 3 is a schematic diagram of a 3D model according to an exemplary embodiment;
[0017] Figure 4 is a schematic diagram showing Figure 3 the 3D model shown after being segmented;
[0018] Figure 5 is a flowchart of a method for 3D printing according to another exemplary embodiment;
[0019] Figure 6 is a flowchart of a method for 3D printing according to another exemplary embodiment;
[0020] Figure 7 is a flowchart of a method for determining node deformation according to an exemplary embodiment;
[0021] Figure 8 is a flowchart of a method for horizontally segmenting a 3D model according to an exemplary embodiment;
[0022] Figure 9 is a schematic diagram of the principle of horizontally segmenting a 3D model according to an exemplary embodiment;
[0023] Figure 10 is a schematic block diagram of a device for 3D printing according to an exemplary embodiment; and
[0024] Figure 11 is a block diagram of an exemplary computer device that can be applied to an exemplary embodiment. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0025] In the present disclosure, unless otherwise specified, the use of terms such as "first" and "second" to describe various elements does not intend to limit the positional relationship, chronological relationship, or importance relationship of these elements. Such terms are only used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of the element, and in certain cases, based on the context description, they may also refer to different instances.
[0026] In the description of various examples in the present disclosure, the terms used are only for the purpose of describing specific examples and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element can be one or more. As used herein, the term "plurality" means two or more, and the term "based on" should be interpreted as "at least partially based on". In addition, the terms "and / or" and "at least one of..." cover any one of the listed items and all possible combinations.
[0027] Before introducing the various embodiments of the present disclosure in detail, the basic process of 3D printing is briefly introduced first. The 3D printing process generally includes: 1) obtaining a 3D model; 2) slicing the 3D model using slicing software; 3) sending the result of the slicing to a 3D printer, and the 3D printer completes the printing of the 3D model based on the result of the slicing. The slicing software usually runs on a terminal in communication connection with the printer, and the terminal can be a computer device such as a PC or a mobile phone. The slicing operation of the 3D model (usually a file in stl or 3mf format) by the slicing software includes cutting the 3D model into multiple layers according to the set slicing requirements, determining the printing path of each layer of the model, and generating a slicing result including the printing path of each layer, where the printing path refers to the moving path of the print head in the 3D printer. The slicing result can be code executable by the 3D printer (such as gcode). Before performing the slicing operation, the slicing software can also perform some operations to assist printing, which can include but are not limited to: determining the printing orientation of the 3D model, determining the placement position of the 3D model, determining whether the 3D model needs support and the position of the support, determining the slicing layer height, determining the flushing amount when switching between different material lines, etc. at least one of the above. The above operations to assist printing can be automatically determined by the slicing software, can also be determined based on preset parameters, or can be specified by the user of 3D printing by operating the slicing software. Figure 1 FIG. shows a schematic structural diagram of a 3D printer system 10 according to an embodiment of the present disclosure. As Figure 1 shown, in this system 10, a 3D printer 100 is connected to a computer device 1100 installed with slicing software. The 3D printer 100 includes a box body 110, a hot bed 120, an extrusion head 140, and a driving device (not shown in Figure 1(as shown). The housing 110 includes a housing wall and a top cover 111 located at the top of the housing wall of the housing 110, and the heated bed 120 is provided at the bottom of the housing 110. The 3D printer further has a lifting mechanism for driving the heated bed 120 to move up and down (i.e., move along the Figure 1 Z-axis direction shown). The driving device is connected to the extrusion head 140 and is used to drive the extrusion head 140 to move in a plane parallel to the heated bed 120 (i.e., Figure 1 the X-Y plane in). Specifically, the driving device includes a first slide bar 130 extending along the Figure 1 X direction in and a second slide bar extending along the Figure 1 Y direction in (perpendicular to the plane where Figure 1 is located), and the extrusion head 140 is respectively attached to the first slide bar 130 and the second slide bar and can slide along these two slide bars respectively. In addition, the driving device further includes a motor for driving the extrusion head 140 to slide on the first slide bar 130 or the second slide bar. During the actual printing process, the heated bed 120 is raised so that its upper surface is close to the nozzle of the extrusion head 140, and then the printing of the first layer slice of the model starts. After the printing of the first layer slice is completed, the heated bed 120 will descend by the height of the slice layer, and then the extrusion head 140 starts to print the second layer slice on the upper surface of the first layer slice. The above process is repeated to complete the printing of the entire model.
[0028] As described above, the slicing software can determine the parts where additional support structures are to be set on the model of the three-dimensional object. For the relevant slicing software, there are some functions for determining the printing support positions, which determine the printing support points based on the geometric features of the 3D model. Generally, it is to judge whether the included angle between the outer normal direction of the model outer surface and the direction of the gravitational acceleration is less than a certain angle. If the judgment is yes, a support structure is added near the outer surface to ensure the stability of the object to be printed under the action of gravity. However, the above method does not determine the specific force situation of the object to be printed, so the determined printing support points may not be accurate. For example, for some slender rods, the included angle between the outer normal direction of all their surfaces and the direction of the gravitational acceleration is greater than 90°, but if no support is added, the rod may collapse during printing or the surface quality may be poor due to excessive deformation.
[0029] An exemplary embodiment of determining whether a 3D model needs support and the position of the support according to the present disclosure will be described in detail below with reference to the accompanying drawings.
[0030] Figure 2 is a flowchart of a method 200 for 3D printing according to an exemplary embodiment. The method 200 can be executed at a computer device (e.g., Figure 1 the computer device 1100 shown in) and implement the corresponding functions in the slicing software. That is, the execution subject of each step of the method 200 can be Figure 1The computer device 1100 shown in the figure. In the following, taking the computer device 1100 as the execution subject, each step of method 200 will be described in detail. As Figure 2 shown, method 200 includes:
[0031] Step 201, obtaining a first 3D model;
[0032] Step 202, according to the geometric features of the first 3D model, determining a first horizontal segmentation plane for horizontally segmenting the first 3D model, so as to obtain a first contact model block in contact with a virtual hot bed plane representing the hot bed plane of a 3D printer, and the first contact model block is located below the first horizontal segmentation plane;
[0033] Step 203, performing a force analysis on multiple first nodes in the first contact model block to determine the deformation displacements of the multiple first nodes;
[0034] Step 204, according to the deformation displacements of the multiple first nodes, determining whether there are first support nodes among the multiple first nodes, and a support structure is to be printed at the first support nodes.
[0035] According to an embodiment of the present disclosure, the deformation conditions of each node of the model can be obtained through force analysis (for example: finite element analysis), and then according to the deformation, the positions where supports need to be added during 3D printing of the object to be printed can be determined. Compared with the prior art, the determination of the above positions will be more accurate. By using the method of selecting the segmentation plane through geometric features for force analysis, compared with performing force analysis layer by layer on the model below that layer, the calculation amount is greatly reduced, thereby greatly reducing the analysis duration and improving the user experience.
[0036] Further, before step 201, the 3D model can be first segmented into a suspended model block and a contact model block, and the suspended model block is used as the first 3D model and method 200 is executed, where the contact model block is the block in contact with the virtual hot bed plane. Different support printing strategies can be adopted for these two different model blocks. Printing supports can be set for the entire lower surface of the suspended model block, and method 200 is performed on the contact model block to determine the support nodes. In this way, the positions of the printing supports can be set more reasonably and effectively. For the suspended model block, method 200 can be not performed, thereby reducing the calculation amount of the relevant computer device; for the contact model block, after performing force analysis, printing supports are set at the positions of its first support nodes, ensuring the printing accuracy.
[0037] Optionally, the suspended model block with added supports can also be used as the first 3D model and method 200 is executed, thus further ensuring the printing accuracy.
[0038] In step 201, the slicing software in the computer device can obtain a model file. The model file defines a first 3D model to be printed. The above-mentioned first 3D model is shown as a polyhedral structure in the slicing software. The curved surface on the real object to be printed can be represented by multiple cross-sections in the first 3D model. Of course, the first 3D model can also be shown in other ways. The above-mentioned first 3D model can be an integral model or a segmented model, that is, the first 3D model includes at least one pre-segmented model block. In some embodiments, these model blocks include two categories. One category is the contact model blocks that contact the virtual hot bed plane (i.e., the plane for carrying the 3D model) representing the hot bed plane of the 3D printer. The other category is the suspended model blocks that do not contact the above-mentioned virtual hot bed plane. There is a gap between the lower surface of the suspended model blocks and the virtual hot bed plane, so they are suspended. These model blocks are fixed by connecting to other modules. In some other embodiments, the model block can only include one contact model block.
[0039] Optionally, the first 3D model can be a model obtained by performing method 200 on a prior 3D model and adding supports.
[0040] In step 202, the first 3D model is horizontally divided for the first time to obtain the first contact model block that contacts the virtual hot bed plane. In addition to the first contact model block, the divided blocks can also include suspended model blocks. In subsequent steps, it will be mainly determined which support nodes in the first contact model block need to add supports.
[0041] Figure 3 FIG. 300 is a schematic diagram showing a 3D model according to an exemplary embodiment. Figure 4 FIG. Figure 3 shows a schematic diagram 400 of the 3D model shown in FIG. after being segmented. Referring to Figure 4 shown in Figure 3 the swan model is divided into at least two model blocks shown in Figure 4 by a horizontal plane (there are other model blocks in this model, not shown in Figure 4 ). Among them, the model block 410 is a contact model block, and the model 420 is a suspended model block. During the printing of the 3D model, a support structure can be added to the entire lower surface of the suspended model block. Since the suspended model block is separated from the virtual hot bed surface as a whole, therefore, a support structure needs to be added to the whole of it to ensure the stability of the model block during the actual 3D printing process.
[0042] In step 203, the relevant parameters of the segmented first contact model can be expressed in the form of Lagrangian coordinates. The relevant parameters may include: the boundary conditions, displacement field, and stress field at each position of the segmented first contact model. After the relevant parameters of the segmented first contact model are described in Lagrangian coordinates, multiple Lagrangian points are generated for subsequent analysis of the forces on the segmented model. Among them, each Lagrangian point corresponds to a node of the segmented model, that is, the first node. In some embodiments, the segmented contact model can be further divided into multiple elements for subsequent finite element calculation. As Figure 3 shown, the above segmentation step divides the segmented first contact model into a grid shape. In this embodiment, each of the above multiple elements is a tetrahedron, so each element includes 4 first nodes (i.e., Lagrangian points), where each first node is a vertex of the tetrahedron. Adjacent two elements share some first nodes. Therefore, each segmented contact model is composed of multiple elements, and each segmented first contact model has multiple first nodes. As Figure 3 shown, some of these first nodes are on the surface of the segmented first contact model, and some are inside the segmented first contact model. To simplify the drawings, Figure 3 only some of the multiple elements 301 and some of the first nodes 302 of these elements are marked exemplarily.
[0043] Subsequently, mechanical analysis is used to calculate the deformation displacement of each of the above multiple first nodes. In some embodiments, the mechanical analysis may be finite element analysis. Finite Element Analysis (FEA) uses mathematical approximation methods to simulate real physical systems (geometry and load conditions). By using simple and interacting elements (i.e., elements), a real system with an infinite number of unknowns can be approximated with a finite number of unknowns. In this embodiment, the constraint conditions of each node and the external force loads received by each node can be determined in advance before finite element calculation, and then, taking these constraint conditions and external force loads of the nodes as initial conditions, the amount of deformation displacement that each node theoretically undergoes under the above initial conditions is calculated. Although in this embodiment, finite element analysis is used to calculate to determine the above deformation displacement, in some other embodiments, other analysis means can also be used to determine the above deformation displacement. It can be understood that any solution for solving elastic mechanics problems under the small deformation assumption can be applied to this embodiment to determine the deformation displacement of each first node.
[0044] In step 204, determining whether there is a first support node among the multiple first nodes includes: if at least one first support node is determined, there is a first support node; if zero first support nodes are determined, there is no first support node.
[0045] In step 204, among all the first nodes on each first contact model block, determine the first nodes that need to add a support structure in the subsequent 3D printing, that is, the first support nodes. In some embodiments, when it is determined in step 203 that the deformation displacement of a certain first node exceeds a preset deformation threshold, then determine this first node as the first support node; otherwise, determine this first node as a non-first support node. Subsequently, during the actual 3D printing process, printing support can be provided at the positions determined as the first support nodes.
[0046] Figure 5 FIG. shows a flowchart of a method 500 for 3D printing according to another exemplary embodiment. The method 500 can be implemented after step 204 of the above method 200, as Figure 5 shown, the method 500 includes:
[0047] Step 501, in the case of determining the existence of first support nodes, add a support structure at the first support nodes in the first 3D model, so as to obtain a second 3D model;
[0048] Step 502, according to the geometric features of the second 3D model, determine a second horizontal division plane for horizontally dividing the second 3D model above the first horizontal division plane, so as to obtain a second contact model block that contacts the virtual hot bed plane representing the hot bed plane of the 3D printer, and the second contact model block is located below the second horizontal division plane;
[0049] Step 503, perform a force analysis on multiple second nodes in the second contact model block, and determine the deformation displacements of the multiple second nodes respectively; and
[0050] Step 504, according to the deformation displacements, determine whether there are second support nodes among the multiple second nodes, and the second support nodes are used for printing the support structure.
[0051] In step 501, update the first 3D model according to the first support nodes determined in method 200. Specifically, add printing support to the first 3D model at the corresponding first support nodes to form a second 3D model with printing support. The above model update process can be executed on a computer device communicatively connected to the 3D printer. It can be understood that the above-mentioned printing support is a virtual printing support existing in the model file and corresponds to the real support in the actual printing process.
[0052] In step 502, since the 3D model is updated to the second 3D model, it is necessary to re-determine the contact model blocks. In step 502, the second 3D model is horizontally divided for the second time to obtain the second contact model blocks in contact with the virtual hot bed plane, where the number of sliced layers between the second horizontal division plane and the first horizontal division plane can be greater than or equal to two layers, and the blocks obtained by the second horizontal division may also include the second suspended model blocks separated from the surface of the virtual hot bed. In subsequent steps, it will be mainly determined which nodes in the second contact model blocks need to add supports. The subsequent steps 502-504 are similar to steps 202-204 in the above method 200 and will not be described in detail here. After determining the second support nodes, printing supports are added at the second support nodes of the second 3D model. The current 3D model will include the 3D model main body to be printed, the printing supports for the previously determined first support nodes, and the printing supports for the second support nodes determined this time. Subsequently, during the actual 3D printing process, printing can be performed according to the current 3D model.
[0053] Figure 6 FIG. is a flowchart showing a method 600 for 3D printing according to another exemplary embodiment. The method 600 can be implemented after step 204 of the above method 200, as Figure 6 shown, the method 600 includes:
[0054] Step 601, in the case of determining that there are no first support nodes, according to the geometric features of the first 3D model, a second horizontal division plane for horizontally dividing the first 3D model is determined above the first horizontal division plane, so as to obtain the second contact model blocks in contact with the virtual hot bed plane representing the hot bed plane of the 3D printer, and the second contact model blocks are located below the second horizontal division plane;
[0055] Step 602, perform a force analysis on multiple second nodes in the second contact model blocks to determine the deformation displacements of the multiple second nodes respectively; and
[0056] Step 603, according to the deformation displacements, determine whether there are second support nodes among the multiple second nodes, and the second support nodes are used for printing support structures.
[0057] In step 601, in the case of determining that the first 3D model does not need to set the first support nodes, there is no need to update the 3D model.
[0058] In subsequent steps, the nodes that need to add supports in the above-mentioned second touch model blocks will be mainly determined. The subsequent steps 602 - 603 are similar to steps 202 - 204 in the above method 200, and will not be described repeatedly here. After determining the second support nodes, print supports are added at the second support nodes of the first 3D model. The 3D model at this time will include the model body to be printed and the print supports of the second support nodes determined this time. Subsequently, during the actual 3D printing process, printing can be performed according to the current 3D model.
[0059] Figure 7 The flowchart of method 700 for determining node deformation according to an embodiment of the present disclosure is shown. This method 700 is a further refinement of step 203 in the above method 200, where the force analysis includes iterative force analysis. As Figure 7 shown, this method 700 includes:
[0060] Step 701, in the nth iterative force analysis: According to the external force loads of multiple first nodes and the constraint conditions of the constraint nodes among the multiple first nodes, solve the elasticity equation to obtain the current deformation displacements of the multiple first nodes. The constraint nodes include the nodes in contact with the virtual hot bed and / or the nodes in contact with the support structure. The nodes in contact with the support structure are the prior support nodes determined according to the prior deformation displacements, and the prior deformation displacements are the deformation displacements of the multiple first nodes determined in the previous n - 1 iterative force analyses. n is an integer greater than 1;
[0061] Step 702, correspondingly, determining whether there are first support nodes among the multiple first nodes according to the deformation displacements of the multiple first nodes respectively includes: determining whether there are current support nodes among the multiple first nodes according to the current deformation displacements of the multiple first nodes respectively. The first support nodes include current support nodes and / or prior support nodes.
[0062] The steps in the iterative calculation will be specifically described below. In step 701, first, set the constraint conditions of the specified nodes among the first nodes. It can be understood that only some of the multiple first nodes have constraints, and these first nodes are hereinafter referred to as specified nodes, while the other nodes do not have constraints, that is, they can deform freely. As Figure 4 shown, in multiple iterative calculations, the specified nodes include two types of nodes. One is the fixed nodes, and the fixed nodes include the nodes in contact with the virtual hot bed plane among the respective nodes of the contact model block (such as Figure 4 the node 402a shown) and the nodes in contact with other model blocks (such as Figure 4 the node 402b shown). The other is the constraint nodes, that is, the points that have been determined to need to add support structures in multiple iterative calculations before the current iterative calculation (such as Figure 4The node 402c) shown. For fixed nodes and constrained nodes, different constraint conditions need to be set to facilitate the simulation of the actual force conditions of various parts of the object to be printed. For fixed nodes, fixed constraint conditions can be set to indicate that the node cannot deform or displace. For constrained nodes, spring constraint conditions can be set. The spring constraint conditions model the support structure at the constrained node as a spring, indicating that the node can deform and displace according to the motion mode of the spring. The stiffness of the spring is determined by the stiffness of the printing material of the support structure. Generally speaking, the higher the stiffness of the printing material, the smaller the deformation and displacement of the node under the same conditions. The stiffness of the above-mentioned printing material can be obtained by the 3D printer 100 reading the information data on the material tray storing the forming material, or can be pre-entered into the slicing software by the 3D printing operator.
[0063] As described above, since the constrained nodes are determined only in multiple iterative calculations, in the first iteration, the designated nodes only include fixed nodes. In the iterative calculations after the first iteration, the constraint conditions of the constrained nodes need to be set. The above-mentioned constrained nodes are the support nodes determined in all previous iterative calculations.
[0064] In step 701, the external force load of each first node is associated with the printing parameters of the node during the 3D printing process. These parameters include, for example: the thermal strain at the node during the printing process, the gravitational acceleration received by the node, the lateral acceleration of the heated bed during the printing process, and the three-dimensional components of the shear force exerted by the extrusion head of the 3D printer on the node during the printing process, etc. The influence of these printing parameters on the external force load will be described in detail below and will not be elaborated here.
[0065] According to the deformation and displacement of each first node, a newly generated support node in the current iterative calculation is determined. The new current support node is the node with the lowest height relative to the virtual heated bed plane among the nodes with current deformation and displacement greater than the displacement threshold among the multiple first nodes. For example: in the second iteration, one or more points with deformation and displacement greater than the displacement threshold will be calculated. Such as Figure 4As shown in the figure, assume that a, b, c, d, and e are all points with a deformation displacement greater than the displacement threshold in the second iteration. Then, the point a with the lowest height relative to the virtual hot bed plane is selected as the support node determined in the second iteration. This is because, in the actual 3D printing process, the object to be printed is printed layer by layer from bottom to top. Therefore, it can be understood that point a will obtain printing support before points b, c, d, and e. When point a and its printing support are printed, points b, c, d, and e have not yet obtained printing support. Therefore, taking the point with the lowest deformation displacement greater than the displacement threshold as the support node conforms to the printing law of 3D printing and can achieve a more accurate deformation simulation of the object to be printed. After determining the support nodes generated in this iteration calculation, it means that a support structure needs to be set for this support node in the actual printing process. At this time, the next iteration calculation process is entered. In the third iteration, one or more points with a deformation displacement greater than the displacement threshold will also be calculated. Assume that b', c', d', and e' are all points with a deformation displacement greater than the displacement threshold in the third iteration. Then, the point b' with the lowest height relative to the virtual hot bed plane is selected as the support node determined in the third iteration. It should be noted here that since a new constraint condition (i.e., the constraint condition of the newly determined support node a in the second iteration calculation) is added in the corresponding step 2041 in the third iteration, the overall force situation of the model changes, and the above nodes b', c', d', and e' may not necessarily be the nodes b, c, d, and e determined in the second iteration. In addition, since the support node a already has a constraint condition, the nodes around it have become relatively stable. Therefore, the position of the newly determined support node b' is generally higher than that of the support node a determined in the previous iteration. After determining the support nodes generated in this iteration calculation, it means that a support structure needs to be set for this support node in the actual printing process. At this time, the next iteration calculation process is entered again. In the next iteration calculation process, the support nodes obtained from the previous iteration calculation will be transformed into the constraint nodes of this iteration calculation, and a constraint condition needs to be added to this node. Therefore, the above-mentioned prior support nodes include: the node with the lowest height relative to the virtual hot bed plane among the nodes corresponding to the prior deformation displacements greater than the displacement threshold in the prior deformation displacements determined in the force analysis of the mth iteration, where m is any integer greater than or equal to 1 and less than or equal to n - 1.
[0066] As can be seen from the above steps, each iterative calculation actually simulates the new stress condition and deformation displacement of the model after all the support nodes determined in all previous iterative calculations are set with the support structure. Finally, after n iterative calculations, n support nodes will be determined. In step 204, these n support nodes can be determined as the nodes where the support structure needs to be printed during the 3D model printing. It can be understood that since the printed support is generally a vertical columnar structure connecting the hot bed and the object to be printed, and it has a certain cross-sectional size, in actual operation, multiple nodes within a certain range of the support nodes can be determined as the nodes where the support structure needs to be printed. In some embodiments, when the deformation displacement of all the first nodes is less than the displacement threshold during the iterative calculation, that is, when no new support nodes are generated, the iterative calculation process is stopped. All the finally obtained support nodes are the nodes where the support structure needs to be printed.
[0067] The method of the embodiments of the present disclosure can sequentially determine multiple positions where the support needs to be printed for the object to be printed from bottom to top through multiple iterative calculations. This iterative calculation method conforms to the actual process of 3D printing layer by layer from bottom to top. Therefore, it can accurately simulate the actual stress conditions of each node of the object to be printed at different stages during the 3D printing process, so as to more accurately determine the positions where the support needs to be added to the object to be printed.
[0068] Next, how to determine the external force loads of each node in the above step 701 will be described in detail. The above external force loads can be determined according to at least one printing parameter during the actual 3D printing process of the node. For example, when the printing parameter is thermal stress, the temperature of the hot bed 120 and the nozzle temperature of the extrusion head 140 can be first determined, and then the thermal stress can be determined through the above temperature values. There is a functional correspondence between the thermal stress and the above two temperature values. Based on the above functional correspondence, the thermal stress is calculated using the determined temperature values, and then the external force load is determined. The above functional correspondence can be obtained through empirical formulas or a limited number of experiments. For another example, when the printing parameter is gravitational acceleration, the external force load is determined according to the local gravitational acceleration (generally 9.8 m / s 2 ). In addition, considering that during the 3D printing process, the hot bed 120 of the 3D printer may shake, in some embodiments, the printing parameter can also be the lateral acceleration of the hot bed 120 during the printing process, and the external force load can be determined based on the above lateral acceleration (which can include accelerations in two directions). During the 3D printing process, the extrusion head 140 of the 3D printer adheres to the just extruded forming material, so the part of the object to be printed that is being formed is also affected by the shear force of the extrusion head 140. Therefore, in some embodiments, the printing parameter can also be the three-dimensional components of the shear force exerted by the extrusion head 140 of the 3D printer on the node during the printing process, and the external force load can be determined based on any one of the above shear force components.
[0069] In the iterative calculation of method 700, the above external force load can be generated based on one of the above multiple printing parameters, that is, one printing parameter corresponds to one working condition of a different external force load. In this case, iterative calculations can be performed for multiple different working conditions respectively, so as to obtain multiple possibilities of support nodes. Subsequently, the final constraint nodes can be determined by comprehensively considering these possibilities of constraint nodes. In some other embodiments, the above external force load can be generated based on all of the above multiple printing parameters, that is, there is only one working condition of the external force load. In this case, iterative calculations can be performed only for this working condition, so as to obtain the determined constraint nodes.
[0070] In some alternative embodiments, the number of polygons included in the cross-section obtained by the first horizontal splitting plane splitting the first 3D model is greater than the number of polygons included in the cross-section obtained by the horizontal splitting plane adjacent above the first horizontal splitting plane splitting the first 3D model. In other words, if the number of polygons included in the cross-section obtained by a candidate horizontal splitting plane splitting the first 3D model is greater than the number of polygons included in the cross-section obtained by the horizontal splitting plane adjacent above the candidate horizontal splitting plane splitting the first 3D model, then the candidate horizontal splitting plane is the first horizontal splitting plane. The same applies to the determination method of the second horizontal splitting plane, which will not be elaborated here. The 3D model often has a certain topological structure. The above determination criterion of the horizontal splitting plane facilitates finding the node positions of the topological structure, that is, at the horizontal position corresponding to this node position, at least two components are not yet connected to each other, and above this horizontal position, the at least two components will be connected. That is to say, from this horizontal position upwards, the corresponding mechanical structure will become more stable. That is to say, when the printer prints to the slice layer where this horizontal position is located, the mechanical structures of at least two components are relatively unstable and relatively in need of support. Therefore, the above method of determining the horizontal splitting plane can more accurately determine the horizontal splitting plane.
[0071] It should be noted that adjacent can be understood as specifically N slice layer heights between two horizontal splitting planes, where N is a positive integer.
[0072] In some other alternative embodiments, Figure 8 The flowchart of method 800 for horizontally splitting a 3D model according to an embodiment of the present disclosure is shown. The method 800 includes:
[0073] Step 801, preset multiple candidate horizontal splitting planes at different heights;
[0074] Step 802, select at least one first horizontal segmentation plane from multiple candidate horizontal segmentation planes according to the number of polygons included in multiple cross-sections respectively obtained by segmenting with the multiple candidate horizontal segmentation planes; and
[0075] Step 803, horizontally segment the model according to at least one first horizontal segmentation plane.
[0076] Method 800 can be carried out in related software, for example, it can be executed in the slicing software of computer device 1100. In step 801, the slicing software will preset multiple candidate horizontal segmentation planes at multiple different heights. For example, a candidate horizontal segmentation plane can be set at every certain vertical distance, and then the segmentation process of each candidate horizontal segmentation plane is simulated in the slicing software, and the cross-section corresponding to each candidate horizontal segmentation plane is obtained. Figure 9 Shows a schematic diagram of the principle of horizontally segmenting a 3D model according to an embodiment of the present disclosure. As Figure 9 shown, a total of 3 candidate horizontal segmentation planes A - C are set (for the sake of simplifying the drawings, the illustrated embodiment only includes 3 candidate horizontal segmentation planes, but in other embodiments, in order to improve the segmentation accuracy, more than 3 candidate horizontal segmentation planes can be included), and each candidate horizontal segmentation plane corresponds to a segmentation cross-section. As Figure 9 shown, the segmentation cross-sections of these candidate horizontal segmentation planes include one or more polygons, which depends on the geometric features of the model. Generally speaking, when the number of polygons included in the cross-section is two or more, the model at this height may include multiple independent model blocks. The independent model blocks can be, for example, the first suspended model block or the first contact model block. Therefore, in step 802, the first horizontal segmentation plane can be determined according to the number of polygons included in the multiple cross-sections, which is convenient for separating the first contact model block and the first suspended model block.
[0077] In step 802, for each candidate horizontal segmentation plane among the multiple candidate horizontal segmentation planes: in response to determining that the number of polygons included in the first cross-section is greater than the number of polygons included in the second cross-section, determine this candidate horizontal segmentation plane as the first horizontal segmentation plane, where the first cross-section is the cross-section obtained by segmenting with this candidate horizontal segmentation plane, and the second cross-section is the cross-section obtained by segmenting with the candidate horizontal segmentation plane adjacent above this candidate horizontal segmentation plane. Continue to refer to Figure 9The illustrated embodiment, where the divided cross-section of A has only one polygon, while the divided cross-section of B includes two polygons, and the divided cross-section of C also includes two polygons. A and B are two candidate horizontal division planes adjacent to each other vertically. The number of polygons included in the cross-section corresponding to A decreases. Therefore, B can be used as the first horizontal division plane. It should be added that in some embodiments with more complex geometric shapes of the model, there may be multiple first horizontal division planes. In method 500 and method 600, determining the second horizontal division plane may include: determining a candidate horizontal division plane above the first horizontal division plane and using this candidate horizontal division plane as the second horizontal division plane. For example, a candidate horizontal division plane adjacent to and above the first horizontal division plane can be used as the second horizontal division plane.
[0078] In some embodiments, for multiple horizontal division plane schemes, they are determined from the bottom up in the printing direction of the 3D model, and the support nodes are determined.
[0079] According to another aspect of the present disclosure, there is also provided a device for 3D printing. Figure 10 is a schematic block diagram illustrating a device 1000 for 3D printing according to an exemplary embodiment. As Figure 10 shown, the device 1000 includes: an acquisition unit 1010 configured to acquire a first 3D model; a division unit 1020 configured to determine a first horizontal division plane for horizontally dividing the first 3D model according to the geometric features of the first 3D model, so as to obtain a first contact model block in contact with a virtual hot bed plane representing the hot bed plane of the 3D printer, and the first contact model block is located below the first horizontal division plane; an analysis unit 1030 configured to perform a force analysis on a plurality of first nodes in the first contact model block to determine the deformation displacements of the plurality of first nodes; a determination unit 1040 configured to determine whether there are first support nodes among the plurality of first nodes according to the deformation displacements of the plurality of first nodes respectively, and a support structure is to be printed at the first support nodes.
[0080] It should be understood that Figure 10 each unit / module of the device 1000 shown in Figure 2 can correspond to each step in method 200 described with reference to
[0081] Although specific functions have been discussed above with reference to specific modules, it should be noted that the functions of the various modules discussed herein can be divided into multiple modules, and / or at least some of the functions of multiple modules can be combined into a single module. The actions performed by a specific module discussed herein include the specific module itself performing the action, or alternatively the specific module invoking or otherwise accessing another component or module that performs the action (or performs the action in combination with the specific module). Thus, a specific module that performs an action can include the specific module itself that performs the action and / or another module that the specific module invokes or otherwise accesses and that performs the action. For example, the presentation unit 930 and the computing unit 940 described above can be combined into a single module in some embodiments. As used herein, the phrase "entity A initiates action B" can mean that entity A issues an instruction to perform action B, but entity A itself does not necessarily perform action B.
[0082] It should also be understood that the various techniques herein can be described in the general context of software-hardware elements or program modules. The various modules described above with Figure 9 reference can be implemented in hardware or in hardware in combination with software and / or firmware. For example, these modules can be implemented as computer program code / instructions configured to execute in one or more processors and stored in a computer-readable storage medium. Alternatively, these modules can be implemented as hardware logic / circuits. For example, in some embodiments, one or more of the acquisition unit 1010, the segmentation unit 1020, the determination unit 1040, and the analysis unit 1030 can be implemented together in a system on chip (SoC). The SoC can include an integrated circuit chip (which includes a processor (e.g., a central processing unit (CPU), a microcontroller, a microprocessor, a digital signal processor (DSP), etc.), a memory, one or more communication interfaces, and / or one or more other components in the circuit), and can optionally execute the received program code and / or include embedded firmware to perform functions.
[0083] According to one aspect of the present disclosure, there is provided a computer device including a memory, a processor, and a computer program stored on the memory. The processor is configured to execute the computer program to implement the steps of any of the method embodiments described above.
[0084] According to one aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of any of the method embodiments described above are implemented.
[0085] According to one aspect of the present disclosure, there is provided a computer program product including a computer program which, when executed by a processor, implements the steps of any of the method embodiments described above.
[0086] In the following, illustrative examples of such computer devices, non-transitory computer-readable storage media, and computer program products will be described in conjunction with Figure 11 description.
[0087] Figure 11 FIG. shows an example configuration of a computer device 1100 that can be used to implement the methods described herein. For example, Figure 1 the computer device 1100 shown in may be or include an architecture similar to that of the computer device 1100. The above-described method for 3D printing may also be implemented in whole or in part by the computer device 1100 or a similar device or system.
[0088] The computer device 1100 can be of various different types. Examples of the computer device 1100 include but are not limited to: desktop computers, server computers, laptop or netbook computers, mobile devices (e.g., tablets, cellular or other wireless telephones (e.g., smart phones), notepad computers, mobile stations), wearable devices (e.g., glasses, watches), entertainment devices (e.g., entertainment appliances, set-top boxes communicatively coupled to a display device, gaming consoles), televisions or other display devices, automotive computers, and the like.
[0089] The computer device 1100 may include at least one processor 1102, a memory 1104, (one or more) communication interfaces 1106, a display device 1108, other input / output (I / O) devices 1110, and one or more mass storage devices 1112 that are capable of communicating with each other, such as via a system bus 1114 or other suitable connections.
[0090] The processor 1102 can be a single processing unit or multiple processing units, and all processing units can include a single or multiple computing units or multiple cores. The processor 1102 can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuits, and / or any device that manipulates signals based on operation instructions. Among other capabilities, the processor 1102 can be configured to obtain and execute computer-readable instructions stored in the memory 1104, the mass storage device 1112, or other computer-readable media, such as program code of an operating system 1116, program code of an application 1118, program code of other programs 1120, and the like.
[0091] Memory 1104 and mass storage device 1112 are examples of computer-readable storage media for storing instructions that are executed by processor 1102 to implement the various functions described above. For example, memory 1104 generally may include both volatile and non-volatile memory (e.g., RAM, ROM, etc.). In addition, mass storage device 1112 generally may include a hard disk drive, solid state drive, removable media, including external and removable drives, memory cards, flash memory, floppy disks, optical disks (e.g., CD, DVD), storage arrays, network attached storage, storage area network, etc. Memory 1104 and mass storage device 1112 may both be collectively referred to herein as memory or computer-readable storage media, and may be non-transitory media capable of storing computer-readable, processor-executable program instructions as computer program code that can be executed by processor 1102 as a particular machine configured to implement the operations and functions described in the examples herein.
[0092] Multiple programs may be stored on mass storage device 1112. These programs include operating system 1116, one or more application programs 1118, other programs 1120, and program data 1122, and they may be loaded into memory 1104 for execution. Examples of such application programs or program modules may include, for example, computer program logic (e.g., computer program code or instructions) for implementing the following components / functions: acquisition unit 1010, segmentation unit 1020, determination unit 1040, analysis unit 1030, method 200, method 500, 600, and / or method 700 (including any suitable steps of methods 200, 500, 600, 700), and / or additional embodiments described herein.
[0093] Although illustrated as being stored in memory 1104 of computer device 1100 in Figure 11 , module 1116, 1118, 1120, and 1122 or portions thereof may be implemented using any form of computer-readable medium accessible by computer device 1100. As used herein, "computer-readable medium" includes at least two types of computer-readable media, namely computer-readable storage media and communication media.
[0094] A computer-readable storage medium includes volatile and non-volatile, removable and non-removable media implemented by any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disks (DVDs), or other optical storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, or any other non-transitory medium that can be used to store information for access by a computer device. In contrast, a communication medium can embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism. The computer-readable storage media as defined herein does not include a communication medium.
[0095] One or more communication interfaces 1106 are used to exchange data with other devices, such as via a network, a direct connection, and so on. Such communication interfaces can be one or more of the following: any type of network interface (e.g., a network interface card (NIC)), a wired or wireless (such as IEEE 802.11 wireless LAN (WLAN)) wireless interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth TM interface, a Near Field Communication (NFC) interface, and so on. The communication interface 1106 can facilitate communication within a variety of network and protocol types, including wired networks (e.g., LAN, cable, etc.) and wireless networks (e.g., WLAN, cellular, satellite, etc.), the Internet, and so on. The communication interface 1106 can also provide communication with external storage devices (not shown) such as in storage arrays, network-attached storage, storage area networks, and so on.
[0096] In some examples, a display device 1108, such as a monitor, can be included to display information and images to a user. Other I / O devices 1110 can be devices that receive various inputs from a user and provide various outputs to the user, and can include touch input devices, gesture input devices, cameras, keyboards, remote controls, mice, printers, audio input / output devices, and so on.
[0097] The techniques described herein can be supported by these various configurations of computer device 1100 and are not limited to the specific examples of the techniques described herein. For example, the functionality can also be implemented in whole or in part using a distributed system over a "cloud". The cloud comprises and / or represents a platform for resources. The platform abstracts the underlying functionality of the hardware (e.g., servers) and software resources of the cloud. Resources can include applications and / or data that can be used when performing computational processing on servers remote from computer device 1100. Resources can also include services provided over the Internet and / or over a subscriber network such as a cellular or Wi-Fi network. The platform can abstract the resources and functionality to connect computer device 1100 with other computer devices. Accordingly, the implementation of the functionality described herein can be distributed throughout the cloud. For example, the functionality can be implemented in part on computer device 1100 and in part via a platform that abstracts the functionality of the cloud.
[0098] Although the present disclosure has been illustrated and described in detail in the accompanying drawings and foregoing description, such illustration and description are to be considered illustrative and exemplary, and not restrictive; the present disclosure is not limited to the disclosed embodiments. Variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed subject matter, from a study of the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps not listed, the indefinite article "a" or "an" does not exclude a plurality, the term "plural" means two or more, and the term "based on" shall be construed as "at least partially based on". The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
Claims
1. A method for 3D printing, comprising: Obtaining a first 3D model; According to the geometric features of the first 3D model, determining a first horizontal segmentation plane for horizontally segmenting the first 3D model, so as to obtain a first contact model block in contact with a virtual hot bed plane representing the hot bed plane of a 3D printer, where the first contact model block is located below the first horizontal segmentation plane; Performing a force analysis on a plurality of first nodes in the first contact model block to determine the respective deformation displacements of the plurality of first nodes, where the plurality of first nodes indicating relevant parameters of the first contact model block are described as a plurality of Lagrangian points generated by Lagrangian coordinates, and the relevant parameters include boundary conditions, displacement fields, and stress fields at each position of the first contact model block, and the deformation displacements indicate the deformation degrees of the corresponding first nodes under predetermined mechanical conditions; According to the respective deformation displacements of the plurality of first nodes, determining whether there is a first support node among the plurality of first nodes, where a support structure is to be printed at the first support node.
2. The method according to claim 1, wherein The method further comprises: In the case of determining the existence of the first support node, adding a support structure at the first support node in the first 3D model, so as to obtain a second 3D model; According to the geometric features of the second 3D model, determining a second horizontal segmentation plane for horizontally segmenting the second 3D model above the first horizontal segmentation plane, so as to obtain a second contact model block in contact with a virtual hot bed plane representing the hot bed plane of a 3D printer, where the second contact model block is located below the second horizontal segmentation plane; Performing a force analysis on a plurality of second nodes in the second contact model block to determine the respective deformation displacements of the plurality of second nodes; According to the deformation displacements, determining whether there is a second support node among the plurality of second nodes, where a support structure is to be printed at the second support node.
3. The method according to claim 1, wherein The method further comprises: In the case of determining the non-existence of the first support node, according to the geometric features of the first 3D model, determining a second horizontal segmentation plane for horizontally segmenting the first 3D model above the first horizontal segmentation plane, so as to obtain a second contact model block in contact with a virtual hot bed plane representing the hot bed plane of a 3D printer, where the second contact model block is located below the second horizontal segmentation plane; Performing a force analysis on a plurality of second nodes in the second contact model block to determine the respective deformation displacements of the plurality of second nodes; According to the deformation displacements, determining whether there is a second support node among the plurality of second nodes, where a support structure is to be printed at the second support node.
4. The method according to any one of claims 1 to 3, characterized in that, The obtaining of the first 3D model includes: obtaining a model file, where the model file defines the first 3D model to be printed.
5. The method according to any one of claims 1 to 4, characterized in that The performing a force analysis on a plurality of first nodes in the first contact model block to determine the respective deformation displacements of the plurality of first nodes includes: According to the external force loads of the multiple first nodes and the constraint conditions of the constrained nodes among the multiple first nodes, solve the elasticity equations to obtain the deformation displacements of the multiple first nodes, where the constrained nodes include the nodes in contact with the virtual hot bed.
6. The method according to any one of claims 1 to 4, characterized in that, The force analysis includes iterative force analysis. The force analysis of the multiple first nodes in the first contact model block to determine the deformation displacements of the multiple first nodes respectively includes: In the nth iterative force analysis: According to the external force loads of the multiple first nodes and the constraint conditions of the constrained nodes among the multiple first nodes, solve the elasticity equations to obtain the current deformation displacements of the multiple first nodes. The constrained nodes include the nodes in contact with the virtual hot bed and / or the nodes in contact with the support structure. The nodes in contact with the support structure are the prior support nodes determined according to the prior deformation displacements. The prior deformation displacements are the deformation displacements of the multiple first nodes determined in the previous n - 1 iterative force analyses. n is an integer greater than 1. Correspondingly, determining whether there are first support nodes among the multiple first nodes according to the deformation displacements of the multiple first nodes respectively includes: determining whether there are current support nodes among the multiple first nodes according to the current deformation displacements of the multiple first nodes. The first support nodes include the current support nodes and / or the prior support nodes.
7. The method according to claim 6, characterized in that, The current support node is the node with the lowest height relative to the virtual hot bed plane among the nodes with current deformation displacements greater than the displacement threshold among the multiple first nodes. The prior support nodes include: the nodes with the lowest height relative to the virtual hot bed plane among the nodes corresponding to the prior deformation displacements greater than the displacement threshold in the prior deformation displacements determined in the mth iterative force analysis, where m is any integer greater than or equal to 1 and less than or equal to n - 1.
8. The method according to claim 6 or 7, characterized in that, The constraint conditions of the nodes in contact with the support structure include spring constraint conditions. Among them, the spring constraint conditions model the support structure at the nodes in contact with the support structure as a spring, and the stiffness of the spring is determined by the stiffness of the printing material of the support structure.
9. The method according to any one of claims 1 to 4, characterized in that The first support node is the node with the lowest height relative to the virtual hot bed plane among the nodes with deformation displacements greater than the displacement threshold among the multiple first nodes.
10. The method according to any one of claims 1-9, characterized in that, The number of polygons included in the cross-section obtained by dividing the first 3D model by the first horizontal division plane is greater than the number of polygons included in the cross-section obtained by dividing the first 3D model by the horizontal division plane adjacent above the first horizontal division plane.
11. A device for 3D printing, characterized in that, Including: An acquisition unit configured to acquire a first 3D model; A division unit configured to determine a first horizontal division plane for horizontally dividing the first 3D model according to the geometric features of the first 3D model, so as to obtain a first contact model block in contact with a virtual hot bed plane representing the hot bed plane of a 3D printer, and the first contact model block is located below the first horizontal division plane. An analysis unit configured to perform a stress analysis on a plurality of first nodes in the first contact model block to determine the deformation displacements of the plurality of first nodes, wherein the plurality of first nodes indicate a plurality of Lagrangian points generated by describing relevant parameters of the first contact model block as Lagrangian coordinates, the relevant parameters including boundary conditions, displacement fields, and stress fields at various positions of the first contact model block, and the deformation displacements indicate the degree of deformation of the corresponding first nodes under predetermined mechanical conditions; A determination unit configured to determine whether there are first support nodes among the plurality of first nodes according to the deformation displacements of the plurality of first nodes respectively, and a support structure is to be printed at the first support nodes.
12. A computer device, characterized in that, Comprising: At least one processor; And At least one memory having stored thereon a computer program, wherein when the computer program is executed by the at least one processor, the at least one processor executes the method according to any one of claims 1-10.
13. A computer-readable storage medium, characterized in that, Having stored thereon a computer program, which when executed by a processor causes the processor to execute the method according to any one of claims 1-10.
14. A computer program product, characterized in that, Including a computer program, which when executed by a processor causes the processor to execute the method according to any one of claims 1-10.
Citation Information
Patent Citations
Method, device and equipment for 3D printing, storage medium and program product
CN114670450A
Adaptive supports for 3D printing
US20150066178A1