Method, device and electronic equipment for determining support data of three-dimensional model
By determining the support data step by step in the voxel space of the 3D model, a stable support structure is formed, which solves the problem of unstable support in 3D printing and improves printing quality and efficiency.
Patent Information
- Application Number
- CN202410175111.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-07
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2044-02-07
AI Technical Summary
In the prior art, the support of the three-dimensional model is unstable during three-dimensional printing, especially the problem that the high cylindrical support is insufficient to resist stress.
By determining the target source voxel in the voxel space formed by the X-axis, Y-axis and Z-axis, and gradually determining the target secondary voxel in the negative direction of the Z-axis, support data is generated according to the voxel type results to form a stable support structure.
It improves the support stability during 3D model printing, reduces redundant supports, saves printing materials, reduces the risk of 3D model falling off, improves printing efficiency, and optimizes the model surface quality.
Smart Images

Figure CN117841364B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of three-dimensional printing, and in particular to a method, device and electronic equipment for determining support data of a three-dimensional model. Background Art
[0002] When 3D printing is used to construct complex three-dimensional objects under the constraints of gravity, it is often necessary to start from the location with the lowest gravitational potential energy and work backwards in the opposite direction of gravity. The fundamental reason is that the object cannot maintain its original position under the constraints of gravity. In this case, a support structure that can self-support from a fixed position is needed to maintain the object's position in space.
[0003] In the actual construction process, in addition to gravity constraints, there are often more environmental constraints that affect the conditions for self-support. Just as the support is still a three-dimensional object, it will be affected by the material or physical stress inside the object. Therefore, a support form that can adapt to complex stress conditions is needed for application in the complex field of three-dimensional printing.
[0004] Conventional supports typically use independent cylindrical shapes as their foundation. However, the taller the cylinder, the less effective the radius is in resisting stress. Related technologies also present a technical problem: when printing 3D models based on 3D printing data that includes support data, the printed 3D models suffer from unstable support conditions.
[0005] To address the above-mentioned problems, no effective solutions have been proposed so far. Summary of the Invention
[0006] Embodiments of the present invention provide a method, device, and electronic device for determining support data of a three-dimensional model, so as to at least solve the technical problem in the related art that the support of the printed three-dimensional model is unstable when printing the three-dimensional model based on three-dimensional printing data including support data.
[0007] According to one aspect of an embodiment of the present invention, a method for determining support data of a three-dimensional model is provided, comprising: acquiring a three-dimensional model, wherein the three-dimensional model is located in a voxel space formed by an X-axis, a Y-axis, and a Z-axis, and the voxel space includes a plurality of voxels; determining a target source voxel from the plurality of voxels; determining a target secondary voxel corresponding to the target source voxel in the negative direction of the Z-axis; performing voxel type judgment on the target secondary voxel to determine a voxel type result of the target secondary voxel; and obtaining support data corresponding to the three-dimensional model based on the voxel type result.
[0008] Optionally, determining a target source voxel from a plurality of voxels includes: obtaining a support point corresponding to the three-dimensional model; determining a target voxel vertex corresponding to the support point; and determining a target source voxel corresponding to the target voxel vertex from the plurality of voxels.
[0009] Optionally, based on the voxel type result, support data corresponding to the three-dimensional model is obtained, including: determining the next level of voxels based on whether the voxel type result is a blocking voxel type result, until the voxel whose corresponding Z coordinate is the base plate coordinate is determined, and support data corresponding to the three-dimensional model is obtained.
[0010] Optionally, based on whether the voxel type result is a blocking voxel type, the next level voxel is determined until a voxel whose corresponding Z coordinate is the base plate coordinate is determined, and support data corresponding to the three-dimensional model is obtained, including: when the type result is that the voxel type of the target secondary voxel is a blocking voxel type, determining the target adjacent voxel corresponding to the target secondary voxel, wherein the Z coordinate corresponding to the target adjacent voxel is the same as the Z coordinate corresponding to the target secondary voxel; using the target adjacent voxel as a new source voxel to determine the next level voxel, until a voxel whose corresponding Z coordinate is the base plate coordinate is determined, and support data is obtained, wherein the base plate coordinate is the smallest coordinate of the three-dimensional model in the Z-axis direction.
[0011] Optionally, determining a target neighboring voxel corresponding to a target sub-voxel includes: determining at least one candidate neighboring voxel corresponding to the target sub-voxel, wherein the Z coordinate corresponding to the at least one candidate neighboring voxel is the same as the Z coordinate corresponding to the target sub-voxel, and the distance between the at least one candidate neighboring voxel and the target sub-voxel is less than a first predetermined threshold; and determining the target neighboring voxel from the at least one candidate neighboring voxel.
[0012] Optionally, based on whether the voxel type result is a blocking voxel type, the next level voxel is determined until the voxel whose corresponding Z coordinate is the base coordinate is determined, and the support data corresponding to the three-dimensional model is obtained, including: when the type result is that the voxel type of the target secondary voxel is not a blocking voxel type, the voxel directly below the target secondary voxel is determined as the next level voxel, until the voxel whose corresponding Z coordinate is the base coordinate is determined, and the support data is obtained.
[0013] Optionally, based on whether the voxel type result is a blocking voxel type result, the next level voxel is determined until the voxel whose corresponding Z coordinate is the base plate coordinate is determined, and before the support data corresponding to the three-dimensional model is obtained, it also includes: when the support point includes the model outer surface support point and the model inner surface support point, and the base plate coordinate includes the first base plate coordinate and the second base plate coordinate, determine the first base plate coordinate corresponding to the model outer surface support point, and determine the second base plate coordinate corresponding to the model inner surface support point, wherein the first base plate coordinate is the minimum coordinate of the three-dimensional model in the Z-axis direction, and the second base plate coordinate is the minimum coordinate of the hollow space inside the three-dimensional model in the Z-axis direction.
[0014] Optionally, determining the target voxel vertex corresponding to the support point includes: determining at least one candidate voxel vertex corresponding to the support point, wherein the distance between the at least one candidate voxel vertex and the support point is less than a second predetermined threshold; and determining the target voxel vertex from the at least one candidate voxel vertex.
[0015] Optionally, determining a target voxel vertex from at least one candidate voxel vertex includes: determining the number of supported times corresponding to at least one candidate voxel vertex; and determining a target voxel vertex from at least one candidate voxel vertex based on the number of supported times corresponding to at least one candidate voxel vertex.
[0016] Optionally, determining a target voxel vertex from at least one candidate voxel vertex includes: determining connection parameters of at least one candidate voxel vertex connected to a support point; and determining a target voxel vertex from at least one candidate voxel vertex based on the connection parameters of at least one candidate voxel vertex connected to a support point.
[0017] Optionally, determining a target source voxel corresponding to a target voxel vertex from a plurality of voxels includes: determining at least one candidate source voxel corresponding to a target voxel vertex from a plurality of voxels, wherein the Z coordinate corresponding to the at least one candidate source voxel is less than or equal to the Z coordinate corresponding to the target voxel vertex; and determining the target source voxel from the at least one candidate source voxel.
[0018] Optionally, after determining the target source voxel corresponding to the target voxel vertex from multiple voxels, it also includes: determining whether the target secondary voxel corresponding to the target source voxel can be determined in the negative direction of the Z axis; if the determination result is that the target secondary voxel corresponding to the target source voxel cannot be determined, determining the connecting rod data connected to the predetermined surface by the support point.
[0019] Optionally, the connecting rod shape represented by the connecting rod data is a shape with hemispherical sides and a cylindrical middle.
[0020] Optionally, the support point and the target voxel data are connected via a frustum-shaped connector, which includes a cusp and a bottom surface, wherein the cusp is connected to the support point and the bottom surface is connected to the target voxel data.
[0021] Optionally, the radius of the bottom surface is the same as the radius of the cylinder corresponding to the target voxel data.
[0022] Optionally, the voxel is a hollow voxel, and the target surface of the voxel is formed by two cylinders intersecting on a diagonal line.
[0023] Optionally, the resolution of the voxels is greater than a predetermined multiple of the radius of the cylinder.
[0024] Optionally, the radius of the cylinder is determined according to the distance between the corresponding voxel and the three-dimensional model, and the collision probability corresponding to the distance.
[0025] According to one aspect of an embodiment of the present invention, a device for determining support data of a three-dimensional model is provided, including: a first acquisition module for acquiring a three-dimensional model, wherein the three-dimensional model is located in a voxel space composed of an X-axis, a Y-axis, and a Z-axis, and the voxel space includes a plurality of voxels; a first determination module for determining a target source voxel from the plurality of voxels; a second determination module for determining a target secondary voxel corresponding to the target source voxel in the negative direction of the Z-axis; a third determination module for performing voxel type judgment on the target secondary voxel and determining a voxel type result of the target secondary voxel; and a fourth determination module for obtaining support data corresponding to the three-dimensional model based on the voxel type result.
[0026] According to one aspect of an embodiment of the present invention, an electronic device is provided, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to execute the instructions to implement any of the above-mentioned methods for determining support data of a three-dimensional model.
[0027] According to one aspect of an embodiment of the present invention, a computer-readable storage medium is provided. When the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute any of the above-mentioned methods for determining support data of a three-dimensional model.
[0028] In an embodiment of the present invention, a three-dimensional model is obtained, wherein the three-dimensional model is located in a voxel space formed by an X-axis, a Y-axis, and a Z-axis, and the voxel space includes a plurality of voxels; a target source voxel is determined from the plurality of voxels; a target secondary voxel corresponding to the target source voxel is determined in the negative direction of the Z-axis; a voxel type judgment is performed on the target secondary voxel to determine the voxel type result of the target secondary voxel; and support data corresponding to the three-dimensional model is obtained based on the voxel type result. Through the above steps, the voxels used for support are determined step by step, thereby obtaining support data, and support is added to the three-dimensional model based on the support data. After the support addition is completed, the printing data of the three-dimensional model is generated, and the three-dimensional model is printed based on the printing data of the three-dimensional model. Through the above method, when the three-dimensional model is printed according to the printing data, the support condition of the printed three-dimensional model will be more stable, thereby solving the technical problem in the related art that the support condition of the printed three-dimensional model is unstable when the three-dimensional printing data including the support data is printed. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0030] Figure 1 is a flow chart of a method for determining support data of a three-dimensional model according to an embodiment of the present invention;
[0031] Figure 2 A schematic diagram of a model provided for an optional embodiment of the present invention;
[0032] Figure 3 A schematic diagram of a partial flow voxel waterfall (support) on the outer surface of a model provided for an optional embodiment of the present invention;
[0033] Figure 4 A schematic diagram of a voxel waterfall of flow on the outer surface of a model provided for an optional embodiment of the present invention;
[0034] Figure 5 A schematic diagram of a flow voxel waterfall on a local portion of the outer surface of a model provided in an optional embodiment of the present invention;
[0035] Figure 6 A schematic diagram of a local flow voxel waterfall within a model provided in an optional embodiment of the present invention;
[0036] Figure 7 is a schematic diagram of the relationship between support points and voxels provided in an optional embodiment of the present invention;
[0037] Figure 8 is a schematic diagram of the number of supported times corresponding to a voxel provided in an optional embodiment of the present invention;
[0038] Figure 9 1 is a schematic diagram of the voxel direction when the voxel type of the target secondary voxel is a blocking voxel type, provided by an optional embodiment of the present invention;
[0039] Figure 10 is a schematic diagram of a connector provided by an optional embodiment of the present invention connected to a surface of an object;
[0040] Figure 11 is a comparison diagram of simplified and non-simplified voxel data provided by an optional embodiment of the present invention;
[0041] Figure 12 is a comparison diagram of simplified and non-simplified model voxel data provided by an optional embodiment of the present invention;
[0042] Figure 13 is a schematic diagram of simplified and non-simplified voxel data including print data provided by an optional embodiment of the present invention;
[0043] Figure 14 is a voxel data overlap comparison diagram provided by an optional embodiment of the present invention;
[0044] Figure 15is a schematic diagram of a connector component provided in an optional embodiment of the present invention;
[0045] Figure 16 is a comparison diagram of different voxel resolutions provided by an optional embodiment of the present invention;
[0046] Figure 17 A schematic cross-sectional view of an optional embodiment of the present invention when the voxel resolution is equal to 8 times the radius of the cylinder;
[0047] Figure 18 is a schematic diagram of a truncated cone-shaped connector provided by an optional embodiment of the present invention;
[0048] Figure 19 is a schematic diagram of another embodiment of the present invention including a truncated cone-shaped connector;
[0049] Figure 20 is a schematic diagram of a frustum-shaped connector provided in an optional embodiment of the present invention;
[0050] Figure 21 is a schematic diagram of a connector provided by an optional embodiment of the present invention;
[0051] Figure 22 is a top view of a model provided by an optional embodiment of the present invention;
[0052] Figure 23 is a schematic diagram of a base provided in an optional embodiment of the present invention;
[0053] Figure 24 4 is a structural block diagram of a device for determining support data of a three-dimensional model according to an embodiment of the present invention. DETAILED DESCRIPTION
[0054] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0055] It should be noted that the terms "first", "second", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0056] The following is an introduction to the terms that appear in this application:
[0057] pwf: pixel waterfall, an alias for the support involved in this application.
[0058] Example 1
[0059] According to an embodiment of the present invention, an embodiment of a method for determining supporting data of a three-dimensional model is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0060] Figure 1 FIG. 1 is a flow chart of a method for determining support data of a three-dimensional model according to an embodiment of the present invention. Figure 1 As shown, the method includes the following steps:
[0061] Step S102, obtaining a three-dimensional model, wherein the three-dimensional model is located in a voxel space formed by an X-axis, a Y-axis, and a Z-axis, and the voxel space includes a plurality of voxels;
[0062] In step S102 of the present application, a three-dimensional model is obtained. The three-dimensional model can be a model placed in a three-dimensional rectangular coordinate system composed of the X-axis, Y-axis, and Z-axis. The space in which the coordinate system resides is also a space composed of voxels. By obtaining the three-dimensional model in voxel space, the voxel support data corresponding to the three-dimensional model is determined, thereby making the printed three-dimensional model more stable.
[0063] Step S104, determining a target source voxel from a plurality of voxels;
[0064] In step S104, the target source voxel corresponding to the target voxel vertex is determined from the multiple voxels included in the voxel space. That is, the target source voxel corresponding to the target voxel vertex is determined based on the target voxel vertex. As can be seen, a target voxel vertex can have eight similar voxels. The target source voxel can be determined from these eight voxels.
[0065] Furthermore, since the support volume is built downward from the support point, the target source voxel can be determined from the four voxels with a lower Z coordinate. The specific settings can be adaptively designed according to the actual application and scenario.
[0066] Step S106, determining a target secondary voxel corresponding to the target source voxel in the negative direction of the Z axis;
[0067] In step S106 provided in the present application, the target secondary voxel corresponding to the target source voxel is determined in the negative direction of the Z axis, that is, after the target source voxel connected to the support point is determined, the target secondary voxel connected to the target source voxel is determined. By determining the voxels step by step, the purpose of gradually determining the voxels from the support point and connecting to the bottom surface to form a support body can be achieved.
[0068] Step S108, performing voxel type judgment on the target secondary voxel to determine the voxel type result of the target secondary voxel;
[0069] In step S108 provided in this application, the voxel type of the target secondary voxel is determined, so that the next level of voxels can be determined based on the type result, so as to perform targeted processing for different situations.
[0070] Step S110 : obtaining support data corresponding to the three-dimensional model according to the voxel type result.
[0071] In step S110 provided in this application, it can be seen that the determination of the support data is related to the type of the current target secondary voxel, which helps to better select voxels to form a support body. In this way, support data corresponding to the three-dimensional model is obtained.
[0072] It should be noted that the final support data may include the support point, its corresponding target source voxel, target secondary voxel, and multiple next-level voxels until the voxel with the corresponding Z coordinate corresponding to the base coordinate is determined. With this support data, a support volume can be accurately constructed to support the printed 3D model.
[0073] Through the above steps S102-S110, a three-dimensional model is obtained, wherein the three-dimensional model is located in a voxel space formed by the X-axis, Y-axis, and Z-axis, and the voxel space includes multiple voxels; a target source voxel is determined from the multiple voxels; a target secondary voxel corresponding to the target source voxel is determined in the negative direction of the Z-axis; a voxel type judgment is performed on the target secondary voxel to determine the voxel type result of the target secondary voxel; and support data corresponding to the three-dimensional model is obtained based on the voxel type result. Through the above steps, the voxels used for support are determined step by step, thereby obtaining support data, and support is added to the three-dimensional model based on the support data. After the support addition is completed, print data for the three-dimensional model is generated, and the three-dimensional model is printed based on the print data of the three-dimensional model. Through the above method, when the three-dimensional model is printed according to the print data, the support of the printed three-dimensional model will be more stable, thereby solving the technical problem in the related art that the support of the printed three-dimensional model is unstable when the three-dimensional printing data including support data is printed.
[0074] In addition, the above method can be used to optimize the design of 3D model supports. For example, redundant supports can be reduced, thereby reducing printing materials, or supports can be added to the stress-weak parts of the 3D model to reduce the risk of the 3D model falling off during printing and improve printing efficiency. It can also be achieved by avoiding the main part of the 3D model and avoiding adding supports on the surface of the 3D model, which affects the surface quality of the model print.
[0075] As an optional embodiment, determining a target source voxel from multiple voxels includes: obtaining a support point corresponding to the three-dimensional model; determining a target voxel vertex corresponding to the support point; and determining a target source voxel corresponding to the target voxel vertex from multiple voxels.
[0076] In this embodiment, support points corresponding to the 3D model are obtained. The support points can be directly retrieved or obtained through analysis of the 3D model. By adding support at the support points, the 3D model can be supported during printing, thereby smoothly performing 3D printing.
[0077] In this embodiment, target voxel vertices corresponding to the support are also determined. To maximize the stability of the support, the algorithm needs to calculate the most appropriate voxel vertices starting from the support point, so as to connect the voxel vertices to form the support. That is, since the voxel space is composed of multiple voxels, voxels can be understood as cubes, which have multiple vertices.
[0078] The embodiments provided by the present invention require determining the data of the support structure supporting the 3D model. This means determining the support structure starting from the support point and ending at the lowest Z coordinate of the 3D model (which can also be understood as the coordinate corresponding to the base plate on which the 3D model is placed) to support the 3D model.
[0079] It can be seen that when determining the support body, the connection relationship between the support point and other voxels is used to determine the support body that takes the support point as the starting point and gradually connects to the bottom surface through one voxel at a time.
[0080] Therefore, we must first determine the first voxel connected to the support point. When determining the first voxel connected to the support point, we must first determine the target voxel vertex corresponding to the support point, that is, determine the point to be connected, so that we can subsequently determine the first voxel connected to the support point.
[0081] It should be noted that at this point, the determined support point may not fall exactly on a certain voxel vertex, but may also fall exactly on a certain voxel vertex. Therefore, it is necessary to determine the target voxel vertex corresponding to the support point to determine the first point to connect to the support point so that subsequent steps can be performed.
[0082] It should also be noted that when there are multiple support points, it is necessary to determine the target voxel vertices corresponding to the support points respectively. These target voxel vertices may be the same or different and can be selected according to actual conditions.
[0083] In this embodiment, the target source voxel corresponding to the target voxel vertex is also determined from the multiple voxels included in the voxel space. That is, the target source voxel corresponding to the target voxel vertex is determined based on the target voxel vertex. As can be seen, a target voxel vertex can have eight similar voxels. The target source voxel can be determined from these eight voxels.
[0084] Furthermore, since the support volume is built downward from the support point, the target source voxel can be determined from the four voxels with a lower Z coordinate. The specific settings can be adaptively designed according to the actual application and scenario.
[0085] As an optional embodiment, support data corresponding to the three-dimensional model is obtained based on the voxel type result, including: determining the next level of voxels based on whether the voxel type result is a blocking voxel type, until the voxel whose corresponding Z coordinate is the base plate coordinate is determined, and support data corresponding to the three-dimensional model is obtained.
[0086] In this embodiment, the voxel type result of the target secondary voxel is determined to be a blocking voxel type, and the next-level voxel is determined based on the type result. This means that the selection of the next-level voxel is related to the type of the current target secondary voxel. This approach facilitates better selection of voxels to form support bodies. This approach is used until a voxel with a corresponding Z coordinate equal to the baseplate coordinate is determined, resulting in support data corresponding to the 3D model.
[0087] It should be noted that, through this method, until the voxel whose corresponding Z coordinate is the base coordinate is determined, the next level of voxels will be determined based on the type of the currently determined voxel, and the end will be to determine the voxel that can be connected to the bottom surface, so as to achieve the purpose of determining the voxels step by step, gradually determining the voxels from the support point, connecting to the bottom surface, and forming a support body.
[0088] It should also be noted that the final support data may include the support point, its corresponding target source voxel, target secondary voxel, and multiple next-level voxels until the voxel with the corresponding Z coordinate corresponding to the base coordinate is determined. This support data allows for the accurate construction of a support volume to support the printed 3D model.
[0089] As an optional embodiment, based on whether the voxel type result is a blocking voxel type, the next level of voxels is determined until a voxel whose corresponding Z coordinate is the base plate coordinate is determined, and support data corresponding to the three-dimensional model is obtained, including: when the type result is that the voxel type of the target secondary voxel is a blocking voxel type, the target adjacent voxel corresponding to the target secondary voxel is determined, wherein the Z coordinate corresponding to the target adjacent voxel is the same as the Z coordinate corresponding to the target secondary voxel; the target adjacent voxel is used as a new source voxel to determine the next level of voxels until a voxel whose corresponding Z coordinate is the base plate coordinate is determined, and support data is obtained, wherein the base plate coordinate is the smallest coordinate of the three-dimensional model in the Z-axis direction.
[0090] This embodiment describes the step of determining support data when the voxel type of the target secondary voxel is a blocking voxel. In this case, the step of determining the next voxel downward is blocked, that is, some part of the 3D model blocks the target secondary voxel from finding the next voxel.
[0091] At this time, it is necessary to bypass the three-dimensional model. The way to bypass it is to determine the target adjacent voxel corresponding to the target secondary voxel, that is, to determine the next level voxel with the same Z coordinate next to the target secondary voxel. By extending to the side instead of extending downward, the purpose of bypassing the model part of the three-dimensional model is achieved. After determining the next level voxel, the next level voxel is used as the starting point and the above steps are repeated, that is, the search is continued downward. That is, as mentioned above, the target adjacent voxel is used as the new source voxel to determine the next level voxel. If after extending to the side, the blocking voxel is still found by searching downward, then according to the content described in the embodiment, the voxel with the same Z coordinate will continue to be searched nearby, and the cycle will be repeated until the voxel with the corresponding Z coordinate of the base plate coordinate is determined. The final support data is obtained.
[0092] In this way, the obstruction of the three-dimensional model part is bypassed, making it more convenient to disassemble the printed three-dimensional model. Moreover, the obstruction part of the three-dimensional model is bypassed, so that the support body can fall to the bottom, making the support body supporting the three-dimensional model more supportive.
[0093] As an optional embodiment, determining a target neighboring voxel corresponding to a target sub-voxel includes: determining at least one candidate neighboring voxel corresponding to the target sub-voxel, wherein the Z coordinate corresponding to the at least one candidate neighboring voxel is the same as the Z coordinate corresponding to the target sub-voxel, and the distance between the at least one candidate neighboring voxel and the target sub-voxel is less than a first predetermined threshold; and determining the target neighboring voxel from the at least one candidate neighboring voxel.
[0094] In this embodiment, the steps of determining the target neighboring voxels corresponding to the target secondary voxel are described. First, at least one candidate neighboring voxel corresponding to the target secondary voxel is determined, wherein the distance between the vertex of at least one candidate voxel and the support point is less than a first predetermined threshold value, which ensures that the distance between at least one candidate neighboring voxel and the distance between the target secondary voxel is close, avoiding the collapse problem caused by the distance being too far to withstand the support force when the two are connected. In addition, the Z coordinate corresponding to at least one candidate neighboring voxel is limited to be the same as the Z coordinate corresponding to the target secondary voxel, so as to reduce the stress borne by the determined target neighboring voxel, thereby better forming a support body with supporting force and better supporting the three-dimensional model. It also ensures that the voxels that are searched for sideways after being blocked downwards are not searched in the upward direction, thereby ensuring the smooth execution of the method.
[0095] Then, a target voxel vertex is determined from the at least one candidate voxel vertex. The purpose of determining the target voxel vertex is achieved. The method for determining the target voxel vertex from the at least one candidate voxel vertex is not limited and can be adaptively set based on actual experience and scenarios.
[0096] It should be noted that, when the type result is that the voxel type of the target secondary voxel is a blocking voxel type, after determining at least one candidate neighboring voxel corresponding to the target secondary voxel, if the target neighboring voxel cannot be determined from at least one candidate neighboring voxel, that is, when the secondary source cannot be found nearby, only the initial section of the support body can be retained, and the four vertices at the bottom of the target secondary voxel are connected to the initial three-dimensional model as a truncated support body.
[0097] As an optional embodiment, the next level voxel is determined based on whether the voxel type result is a blocking voxel type, until the voxel whose corresponding Z coordinate is the base coordinate is determined, and the support data corresponding to the three-dimensional model is obtained, including: when the type result is that the voxel type of the target secondary voxel is not a blocking voxel type, the voxel directly below the target secondary voxel is determined as the next level voxel, until the voxel whose corresponding Z coordinate is the base coordinate is determined, and the support data is obtained.
[0098] This embodiment describes the step of determining support data when the voxel type of the target secondary voxel is not a blocking voxel. In this case, the step of determining the next voxel downwards can find a voxel vertically downwards, that is, the step of finding a voxel downwards that does not block the target secondary voxel in the three-dimensional model.
[0099] At this point, you can directly identify the voxel directly below as the next level voxel, and continue searching until you find a voxel with a Z coordinate that matches the baseplate coordinates. This process yields the support data. After determining the voxel directly below as the next level voxel, repeat the above steps, starting with the next level voxel, to continue searching downward. If a non-blocking voxel is found while searching downward, continue searching using the next level voxel as the next level voxel, and so on. This cycle repeats until you find a voxel with a Z coordinate that matches the baseplate coordinates. This yields the final support data.
[0100] This method allows the voxel directly below to be identified as the next level voxel when there is no obstruction, making voxel identification more convenient and ultimately allowing the support to fall to the bottom, ensuring the support for the 3D model has sufficient strength. Furthermore, this method can optimize the design of 3D model supports, for example by reducing redundant supports, thereby reducing printing materials, or by adding supports to weakly stressed areas of the 3D model, reducing the risk of the model falling off during printing and improving printing efficiency. It can also avoid adding supports to the main body of the 3D model, preventing them from affecting the surface quality of the printed model.
[0101] As an optional embodiment, the next level voxel is determined based on whether the voxel type result is a blocking voxel type result, until the voxel whose corresponding Z coordinate is the base plate coordinate is determined, and before the support data corresponding to the three-dimensional model is obtained, it also includes: when the support point includes the model outer surface support point and the model inner surface support point, and the base plate coordinate includes the first base plate coordinate and the second base plate coordinate, determine the first base plate coordinate corresponding to the model outer surface support point, and determine the second base plate coordinate corresponding to the model inner surface support point, wherein the first base plate coordinate is the minimum coordinate of the three-dimensional model in the Z-axis direction, and the second base plate coordinate is the minimum coordinate of the hollow space inside the three-dimensional model in the Z-axis direction.
[0102] In this embodiment, the steps for determining the base plate coordinates are described. The steps for determining the base plate coordinates are described in two different cases. First, when the support points include support points on the outer surface of the model and support points on the inner surface of the model, the base plate coordinates corresponding to each of these support points are determined in each case.
[0103] First of all, it should be noted that the support points on the outer surface of the model are easy to understand, that is, the support points on the outside of the model used to support the model. The support points on the inner surface of the model are the support points inside the model. That is, some three-dimensional models are very large. In order to save materials and unnecessary consumption of resources, the interior can be printed as not solid, that is, the interior is hollow. When the internal hollow space is large, a support is also required inside to avoid internal collapse. Therefore, there also needs to be some support points on the inner surface of the model. By determining the above-mentioned support points, the design of the three-dimensional model support can be optimized, and support can be added to the stress-weak parts of the three-dimensional model to reduce the risk of the three-dimensional model falling off during printing. It also avoids adding support on the surface of the three-dimensional model, which affects the surface quality of the model printing.
[0104] On this basis, the methods for obtaining the corresponding base plate coordinates are explained.
[0105] Determine the first base plate coordinate corresponding to the support point on the outer surface of the model. The first base plate coordinate is the minimum coordinate of the three-dimensional model in the Z-axis direction, that is, it can be understood that the first base plate coordinate is the coordinate of the bottom surface where the three-dimensional model is placed.
[0106] It should be noted that in some cases, in order to better obtain the 3D model, the 3D model may be printed in the air. When the model needs to be printed in the air, the first base coordinate is the Z coordinate plus the coordinate of the air height. This method can print a better 3D model.
[0107] Determine the second baseplate coordinates corresponding to the support points on the model's inner surface. These coordinates are the minimum coordinates of the hollow space within the 3D model along the Z axis. This means the second baseplate coordinates are the coordinates of the lowest point in the hollow space. This method allows for better internal support.
[0108] As an optional embodiment, determining the target voxel vertex corresponding to the support point includes: determining at least one candidate voxel vertex corresponding to the support point, wherein the distance between at least one candidate voxel vertex and the support point is less than a second predetermined threshold; and determining the target voxel vertex from the at least one candidate voxel vertex.
[0109] This embodiment describes the steps for determining a target voxel vertex corresponding to a support point. First, at least one candidate voxel vertex corresponding to the support point is determined, where the distance between the at least one candidate voxel vertex and the support point is less than a second predetermined threshold. This ensures that the distance between the at least one candidate voxel vertex and the support point is relatively close, thus preventing collapse caused by the support force being too great when the two are connected.
[0110] Then, a target voxel vertex is determined from the at least one candidate voxel vertex. The purpose of determining the target voxel vertex is achieved. The method for determining the target voxel vertex from the at least one candidate voxel vertex is not limited and can be adaptively set based on actual experience and scenarios.
[0111] As an optional embodiment, determining a target voxel vertex from at least one candidate voxel vertex includes: determining the number of supported times corresponding to at least one candidate voxel vertex; and determining a target voxel vertex from at least one candidate voxel vertex based on the number of supported times corresponding to at least one candidate voxel vertex.
[0112] In this embodiment, the number of supported times corresponding to the candidate voxel vertices is determined, and the number of supported times of the current voxel vertex can be calculated by an independent counter to determine the target voxel vertex from at least one candidate voxel vertex based on the number of supported times corresponding to at least one candidate voxel vertex.
[0113] Since the number of times a voxel vertex is supported can indirectly reflect the support strength of the voxel vertex, that is, it can indicate whether it is stable, the target voxel vertex can be determined by the number of times the voxel vertex is supported.
[0114] In a three-dimensional representation, if the number of times is less than or equal to a predetermined threshold (e.g., 2 in the scenario used in this application), the point is considered not to be in a stable supported state and cannot be used as a target voxel vertex. If it is greater than 2, the point is considered to be in a stable supported state and is preliminarily considered to be a target voxel vertex. In this way, the stability of the determined target voxel vertex can be guaranteed.
[0115] As an optional embodiment, determining a target voxel vertex from at least one candidate voxel vertex includes: determining connection parameters of at least one candidate voxel vertex connected to a support point; and determining a target voxel vertex from at least one candidate voxel vertex based on the connection parameters of at least one candidate voxel vertex connected to a support point.
[0116] In this embodiment, connection parameters of candidate voxel vertices connected to support points are determined, so as to determine a target voxel vertex from at least one candidate voxel vertex based on the connection parameters of at least one candidate voxel vertex connected to the support point.
[0117] The connection parameters may be the length and angle of the connection between the two, etc., which can be adaptively set according to the actual application and scenario.
[0118] Since the stability is different when connected by different connection parameters, the support strength of the voxel vertex can be reflected by the connection parameters, that is, it can indicate whether it is stable. Therefore, the target voxel vertex can be determined by the connection parameters between the voxel vertex and the support point.
[0119] In a 3D representation, if the angle in the connection parameter is too large, the connection between the two points may not be in a stable supported state, and the point is considered unsuitable as a target voxel vertex. If the angle is within a preset range, the connection between the two points is considered to be in a stable supported state, and the point is preliminarily considered a target voxel vertex. This approach ensures the stability of the determined target voxel vertex.
[0120] As an optional embodiment, determining a target source voxel corresponding to a target voxel vertex from a plurality of voxels includes: determining at least one candidate source voxel corresponding to the target voxel vertex from a plurality of voxels, wherein the Z coordinate corresponding to the at least one candidate source voxel is less than or equal to the Z coordinate corresponding to the target voxel vertex; and determining the target source voxel from the at least one candidate source voxel.
[0121] In this embodiment, the steps of determining the target source voxel corresponding to the target voxel vertex from the multiple voxels included in the voxel space are described. Since there can be 8 voxels similar to one target voxel vertex. Since the support body is established from the support point downward, the target source voxel can be determined from the 4 voxels with the Z coordinate lower. Therefore, the number of at least one candidate source data can be set to 4. When set to 4, the amount of calculation can be reduced and the process of the method provided by the present application can be accelerated.
[0122] In addition, when determining the candidate source voxels based on the target voxel vertex, the target voxel vertex is not limited to being on the candidate source voxel, and the search can also be performed with distance as a restriction condition. In this way, the screening criteria for candidate source voxels can be broadened, that is, it is not necessary to use the voxel connected to the target voxel vertex as the source to determine the support body downward. It can be farther away and combined with other support points to a target source voxel, so as to search for the support body downward based on this target source voxel, which can save printing resources to a certain extent.
[0123] It should be noted that the at least one candidate source voxel determined can have a Z coordinate less than or equal to the Z coordinate corresponding to the target voxel vertex, that is, it is limited to searching downward for the determined target source voxel. Therefore, when the support point is connected to the target source voxel, it is connected downward and has a certain supporting force, rather than connected upward and has less supporting force.
[0124] The method of determining the target source voxel from at least one candidate source voxel is not limited here. It can be determined based on the support strength being greater than a predetermined threshold and for the purpose of saving printing resources. When there are multiple support bodies, if adjacent support bodies can correspond to the same target source voxel, the target source voxel can be used as the source to search for voxels downward to construct the support body. That is, it can be seen that multiple support bodies are originally required, but only one support body is required after corresponding to the same target source voxel, which can save printing resources. Therefore, it is possible to achieve the above beneficial effects while ensuring the support strength with the purpose of saving printing resources.
[0125] As an optional embodiment, after determining the target source voxel from multiple voxels, it also includes: determining whether the target secondary voxel corresponding to the target source voxel can be determined in the negative direction of the Z axis; if the determination result is that the target secondary voxel corresponding to the target source voxel cannot be determined, determining the connecting rod data connected to the predetermined surface by the support point.
[0126] In this embodiment, it is determined whether the determination result of the target secondary voxel corresponding to the target source voxel can be determined in the negative direction of the Z axis, so as to perform targeted processing for different determination results. In the case where the determination result is that the target secondary voxel corresponding to the target source voxel cannot be determined, that is, if a secondary voxel of at least one voxel height cannot be generated from the beginning, then a connecting rod will be generated at this time, and the tail end will be connected to the surface of the object to obtain the connecting rod data, that is, the connecting rod data connected to the predetermined surface by the support point is obtained. The predetermined surface is the above-mentioned object surface. Which point on the surface is connected to can be customized according to the actual application and scenario, such as it can be a point vertically downward from the support point. In this way, the processing method when the determination result is that the target secondary voxel corresponding to the target source voxel cannot be determined is explained, which broadens the applicability of this solution.
[0127] As an optional embodiment, the connecting rod shape represented by the connecting rod data is a shape with hemispherical sides and a cylindrical middle.
[0128] This method limits the shape of the connecting rod represented by the connecting rod data. The connecting rod is shaped like two hemispherical shapes connected by a pipe in the middle. This ensures stability while saving resources and making it easy to disassemble.
[0129] It should be noted that, in this application, customized connectors and connecting rod shapes can also be supported to meet different customized needs.
[0130] As an optional embodiment, the support point and the target voxel data are connected via a frustum-shaped connector. The frustum-shaped connector includes a cusp and a bottom surface. The cusp is connected to the support point, and the bottom surface is connected to the target voxel data.
[0131] This embodiment illustrates the connection between support points and target voxel data. In this case, a truncated cone-shaped connector can be used to connect the support points to the target voxel represented by the target voxel data. In this case, it can be understood that only one point is connected to the model, and the bottom surface is connected to the target voxel. This saves printing materials while ensuring stability, and facilitates disassembly of the 3D model.
[0132] As an optional embodiment, the radius of the bottom surface is the same as the radius of the cylinder corresponding to the target voxel data.
[0133] In this embodiment, it is defined that the truncated cone-shaped connector and the cylinder radius corresponding to the target voxel are the same, so that the truncated cone-shaped connector and the target voxel are fully connected, thereby ensuring the stability of the connection.
[0134] As an optional embodiment, the voxel is a hollow voxel, and the target surface of the voxel is formed by two cylinders intersecting on a diagonal line.
[0135] Voxels can be various types of voxels, such as solid voxels, etc., but in this embodiment, the voxels are limited to hollow voxels, that is, the voxels are not a whole cube, but a hollow structure with supporting force. The target surface is the surface related to the supporting force. For example, for voxels with supporting force in only one direction, on the four squares of the voxel perpendicular to the direction of the supporting force, two cylinders with a specific radius are used to connect the two sets of diagonal points of each square, thereby forming a physical expression of this voxel. On the one hand, it can provide supporting force, and on the other hand, it greatly saves printing resources and printing time. That is, it can not only reduce the consumption of materials in the printing process. It is also defined that the target surface is composed of two cylinders crossing on the diagonal line, which ensures the supporting force and stability of the voxel.
[0136] As an optional embodiment, the resolution of the voxel is greater than a predetermined multiple of the radius of the cylinder.
[0137] In this embodiment, the resolution of the voxels is limited to be greater than the radius of the cylinder by a predetermined multiple. This is to prevent the cylinders between voxels from occupying too much space, so that the surface of the cylinder will be embedded in the interior of the adjacent cylinder. Therefore, the resolution of the voxels needs to be greater than the radius of the cylinder by a predetermined multiple. For example, in the scenario used in this application, it can be set to 8 times. The specific setting can be customized as needed.
[0138] As an optional embodiment, the radius of the cylinder is determined according to the distance between the corresponding voxel and the three-dimensional model, and the collision probability corresponding to the distance.
[0139] In this embodiment, since voxels have a certain volume, they may collide with the 3D model. Therefore, when determining the radius of the cylinder within the voxel, the maximum radius of the voxel must be considered to prevent collision with the entity. In cases where collision is possible, this radius can be further reduced to avoid collision, thereby achieving better 3D printing results.
[0140] Based on the above embodiment and optional embodiment, an optional implementation manner is provided, which is described in detail below.
[0141] An optional embodiment of the present invention provides a method for determining support data of a three-dimensional model. The method proposes a segmented support structure. By controlling the length of each cylindrical segment, self-supporting nodes are established at regular intervals, thereby improving the self-supporting ability of each segment to resist other stresses, thereby allowing the support structure to support three-dimensional objects that are farther away from low potential energy.
[0142] Figure 2 A schematic diagram of a model provided for an optional embodiment of the present invention, Figure 3 A schematic diagram of a partial flow voxel waterfall (support body) on the outer surface of a model provided in an optional embodiment of the present invention, Figure 4 A schematic diagram of a flow voxel waterfall (support body) on the outer surface of a model provided in an optional embodiment of the present invention, Figure 5 A schematic diagram of a flow voxel waterfall on a local surface of a model provided in an optional embodiment of the present invention, Figure 6 This is a schematic diagram of a local flow voxel waterfall inside a model provided in an optional embodiment of the present invention, which is described in detail below:
[0143] S1, obtaining a three-dimensional model, wherein the three-dimensional model is located in a voxel space formed by an X-axis, a Y-axis, and a Z-axis, and the voxel space includes a plurality of voxels;
[0144] Use a number of voxels to surround the entire 3D model (the object to be printed). The voxels that touch the object to be printed are called blocking voxels, and the others are unblocked voxels.
[0145] The voxels included in the voxel space are hollow voxels, and the target surface of the voxel is composed of two cylinders crossing on the diagonal line. The target surface is the surface related to the support force. More specifically, for voxels with support force in only one direction, two cylinders with a specific radius are used to connect the two sets of diagonal points of each square on the four squares perpendicular to the direction of the support force, thereby forming a physical expression of this voxel. For example, Figure 6 In the figure, the two cubes with regular shapes in the middle are the two voxels shown.
[0146] In addition, the size of the voxel can be set by parameters, and it is assumed that the voxel under this parameter will not be subjected to any stress other than gravity. The voxels generated in the first step are stacked in the opposite direction of gravity. Under the assumption of the first step, in the stacked voxels, the upper voxels must be fully supported by the lower voxels. In this way, the support stacked in each segment (the diagonal points of the four faces of each voxel perpendicular to the direction of the force are connected by cylinders) can share the influence of other forces on the current voxel block, thereby reducing support deformation and fracture.
[0147] S2, obtaining support points corresponding to the three-dimensional model;
[0148] like Figure 2 As shown in the figure, the short cylinder is the support point. The support point that avoids the voxel waterfall in the thigh area is connected to the target source voxel, the target secondary voxel, and multiple next-level voxels until the support body with the corresponding voxel with the base coordinate is determined.
[0149] S3, determining at least one candidate voxel vertex corresponding to the support point, wherein a distance between the at least one candidate voxel vertex and the support point is less than a second predetermined threshold;
[0150] S4, determining connection parameters connecting at least one candidate voxel vertex and a support point respectively;
[0151] Figure 7 is a schematic diagram of the relationship between the connection parameters between the support points and the voxels provided by an optional embodiment of the present invention, such as Figure 7 As shown in the figure, blue dots represent support points, and yellow dots represent voxel vertices. The line connecting the two represents the connection parameters. Based on the connection parameters of the candidate voxel vertices, such as the parameters of the connected body during printing, the target voxel vertex can be determined. As shown in the figure, the red line indicates that this section of support is too short and too slanted, so the corresponding candidate voxel vertex is unlikely to be selected as the target voxel vertex.
[0152] S5, determining the number of times each of at least one candidate voxel vertices is supported;
[0153] Figure 8is a schematic diagram of the number of times a voxel is supported according to an optional embodiment of the present invention, such as Figure 8 As shown, the number of times the candidate voxel vertices are supported can be combined to determine the target voxel vertex.
[0154] S6, determining a target voxel vertex from the at least one candidate voxel vertex based on connection parameters between the at least one candidate voxel vertex and the support point and the number of times the at least one candidate voxel vertex is supported, wherein the Z coordinate corresponding to the at least one candidate source voxel is less than or equal to the Z coordinate corresponding to the target voxel vertex;
[0155] S7, determining at least one candidate source voxel corresponding to the target voxel vertex from a plurality of voxels included in the voxel space;
[0156] During the implementation of each step, the information about whether the voxel grid connected to each voxel vertex is blocked will be saved. When it starts to pour downward, the algorithm process can determine whether the next voxel is blocked, and then guide the direction of the next flowing voxel.
[0157] It should be noted that, of course, the obstruction may start from the source of the waterfall, so it is also necessary to consider whether the support point is in a narrow area so that the waterfall cannot pour down.
[0158] S8, determining a target source voxel from at least one candidate source voxel;
[0159] S9, determining a target secondary voxel corresponding to the target source voxel in the negative direction of the Z axis;
[0160] S10, determining the next level voxel based on whether the voxel type of the target secondary voxel is a blocking voxel type;
[0161] 1) In the case where the type result is that the voxel type of the target secondary voxel is a blocking voxel type, Figure 9 FIG. 1 is a schematic diagram of the voxel direction when the voxel type of the target secondary voxel provided by an optional embodiment of the present invention is a blocking voxel type, as shown in FIG. Figure 9 As shown, the following is its introduction:
[0162] determining at least one candidate neighboring voxel corresponding to the target secondary voxel, wherein a Z coordinate corresponding to the at least one candidate neighboring voxel is the same as a Z coordinate corresponding to the target secondary voxel, and a distance between the at least one candidate neighboring voxel and the target secondary voxel is less than a first predetermined threshold;
[0163] Determine a target neighboring voxel from the at least one candidate neighboring voxel, wherein a Z coordinate corresponding to the target neighboring voxel is the same as a Z coordinate corresponding to the target secondary voxel;
[0164] The target neighboring voxel is used as a new source voxel to determine the next level of voxels until the voxel whose corresponding Z coordinate is the base plate coordinate is determined to obtain support data, where the base plate coordinate is the minimum coordinate of the three-dimensional model in the Z axis direction.
[0165] 2) When the type result shows that the voxel type of the target secondary voxel is not a blocking voxel type, the voxel directly below the target secondary voxel is determined to be the next level voxel, until the voxel whose corresponding Z coordinate is the base coordinate is determined to obtain support data.
[0166] It should be noted that, when the voxel type of the target secondary voxel is a blocking voxel type, after determining at least one candidate neighboring voxel corresponding to the target secondary voxel, if the target neighboring voxel cannot be determined from the at least one candidate neighboring voxel, Figure 10 is a schematic diagram of a connector provided by an optional embodiment of the present invention connected to the surface of an object, such as Figure 10 As shown, when no secondary source can be found nearby, only the initial section of the waterfall can be retained, and the four vertices at the bottom of the voxel at the end of the waterfall are connected to the object to be printed as a truncated waterfall support.
[0167] S11, until the voxel whose corresponding Z coordinate is the base plate coordinate is determined, and the support data corresponding to the three-dimensional model is obtained.
[0168] It should be noted that before this, when the support points include the support points on the outer surface of the model and the support points on the inner surface of the model, and the base plate coordinates include the first base plate coordinates and the second base plate coordinates, the first base plate coordinates corresponding to the support points on the outer surface of the model are determined, and the second base plate coordinates corresponding to the support points on the inner surface of the model are determined, wherein the first base plate coordinates are the minimum coordinates of the three-dimensional model in the Z-axis direction, and the second base plate coordinates are the minimum coordinates of the hollow space inside the three-dimensional model in the Z-axis direction.
[0169] like Figure 5 As shown in the figure, it is a schematic diagram of establishing a voxel waterfall for the external part of the model, as shown in the figure. Figure 6 As shown in the figure, it is a schematic diagram of the voxel waterfall built inside the model. After the support data is determined, the printing data presented is the 3D model. Figure 4 shown.
[0170] It should also be noted that in the above process, voxels can be simplified. That is, when actually printing, those areas far away from the support anchor points, such as the tail area of the model, can be simplified to a certain extent if the connection is on the base plate.
[0171] Figure 11This is a comparison diagram of simplified and non-simplified voxel data provided by an optional embodiment of the present invention. The left side of the figure is a simplified schematic diagram, and the right side of the figure is an unsimplified schematic diagram. Figure 12 This is a comparison diagram of the simplified and non-simplified model voxel data provided by an optional embodiment of the present invention. The upper half of the figure is an unsimplified schematic diagram, and the lower half is a simplified schematic diagram. Figure 11 As shown in Figure 12, by simplifying, the waste of materials can be reduced based on the support model.
[0172] Figure 13 This is a schematic diagram of simplified and non-simplified voxel data including printing data provided by an optional embodiment of the present invention. As can be seen from the upper right part of the figure, the data to be printed is relatively dense, and as can be seen from the lower right part of the figure, the data to be printed is relatively sparse, which can effectively reduce material consumption. For further intuitive display, Figure 14 is a voxel data overlapping comparison diagram provided by an optional embodiment of the present invention, Figure 14 It is clear how much material savings are achieved in the simplified version.
[0173] Figure 15 It is a schematic diagram of a connector component provided in an optional embodiment of the present invention. In the solution provided in the optional embodiment of the present invention, the connector component can be predetermined and directly manufactured, that is, the connection of voxels can be achieved by using the connector component in the figure, that is, voxel data can be obtained by splicing, which can achieve more efficient processing when the model is actually printed.
[0174] Figure 16 is a comparison diagram of different voxel resolutions provided by an optional embodiment of the present invention. Figure 17 This is a cross-sectional diagram of an optional embodiment of the present invention when the voxel resolution is equal to 8 times the radius of the cylinder. It can be seen from the figure that the pipe width is used here to represent different resolutions, where pwf xy width represents the width and length of a pixel grid, pwf z width represents the height of a pixel grid, and Figure 16 It can be seen that when the voxel resolution is too small, the cross-connection situation will be serious, which will have a certain limitation. Figure 17 It can be seen that when the voxel resolution is greater than a predetermined multiple, no serious crossing phenomenon will occur. Therefore, by limiting the radius of the cylinder whose voxel resolution is greater than a predetermined multiple, this is to prevent the cylinders between voxels from occupying too much space, so that the surface of the cylinder will be embedded in the interior of the adjacent cylinder. Therefore, the voxel resolution needs to be greater than the radius of the cylinder which is a predetermined multiple.
[0175] Figure 18is a schematic diagram of a truncated cone-shaped connector provided by an optional embodiment of the present invention, Figure 19 is a schematic diagram of another embodiment of the present invention including a truncated cone-shaped connector. Figure 20 This is a schematic diagram illustrating a truncated cone connector, provided in an optional embodiment of the present invention. This connector illustrates the connection between a support point and target voxel data. Specifically, a truncated cone connector is provided to connect the support point to the target voxel represented by the target voxel data. In this case, it can be understood that only one point is connected to the model, and the bottom surface is connected to the target voxel. This saves printing materials while ensuring stability, and facilitates disassembly of the 3D model.
[0176] It should be noted that the connector can also be Figure 21 As shown, Figure 21 This is a schematic diagram of a connector provided by an optional embodiment of the present invention. Optionally, it can be cylindrical in the middle, with cones or spheres at both ends. This approach limits the shape of the connecting rod represented by the connecting rod data, ensuring stable support for the model while saving resources and facilitating disassembly. This allows for better avoidance of collisions with entities. The specific connector form can be adaptively selected based on the specific model or connector location.
[0177] It should be noted that, in this application, customized connectors and connecting rod shapes can also be supported to meet different customized needs.
[0178] Figure 22 This is a top view of the model provided by an optional embodiment of the present invention. It can be seen from the figure that it includes a base plate. The shape of the base plate is determined by the convex hull shape surrounded by all cylindrical coordinates connected to the bottom. The longest side of this convex hull is used as the X-axis, and the direction orthogonal to it is the Y-axis to form a local coordinate system. As the starting coordinate of the center of the circle hollowed out of the base plate, the normal operation of the three-dimensional model printing can be guaranteed by forming a hollow circle, and the occurrence of phenomena such as liquid leakage can be avoided.
[0179] Figure 23 This is a schematic diagram of a base provided in an optional embodiment of the present invention. This base reduces effort when moving a model out of the print zone. This is achieved by designing a base chamfer, using three parameters to control the angle of the chamfer: base height, offsetup, and offsetdown. These parameters represent the upper and lower offsets, respectively, and the base height. This allows the aforementioned effect to be achieved through base chamfering.
[0180] The above optional implementation method can achieve at least the following beneficial effects: Through the above steps, the voxels used for support are gradually determined, so that when a 3D model is printed according to the print data, the printed 3D model has more stable support conditions, thereby resolving the technical problem in the related art of unstable support conditions when printing a 3D model based on 3D print data that includes support data. Furthermore, the above method can optimize the design of 3D model supports, for example, by reducing redundant supports, thereby reducing printing materials, or by adding supports to weakly stressed areas of the 3D model, thereby reducing the risk of 3D model printing failure and improving printing efficiency. It can also avoid adding supports to the main body of the 3D model, thereby avoiding affecting the surface quality of the printed model.
[0181] It should be noted that for the aforementioned method embodiments, for simplicity of description, they are all expressed as a series of action combinations. However, those skilled in the art should be aware that the present invention is not limited by the order of the actions described, because according to the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
[0182] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods of various embodiments of the present invention.
[0183] Example 2
[0184] According to an embodiment of the present invention, there is also provided a device for implementing the above-mentioned method for determining support data of a three-dimensional model. Figure 24 FIG. 1 is a structural block diagram of a device for determining support data of a three-dimensional model according to an embodiment of the present invention. Figure 24 As shown, the device includes: a first acquisition module 2402, a first determination module 2404, a second determination module 2406, a third determination module 2408 and a fourth determination module 2410. The device is described in detail below.
[0185] The first acquisition module 2402 is used to acquire a three-dimensional model, wherein the three-dimensional model is located in a voxel space formed by the X-axis, Y-axis, and Z-axis, and the voxel space includes multiple voxels; the first determination module 2404 is connected to the above-mentioned first acquisition module 2402, and is used to determine the target source voxel from the multiple voxels; the second determination module 2406 is connected to the above-mentioned first determination module 2404, and is used to determine the target secondary voxel corresponding to the target source voxel in the negative direction of the Z-axis; the third determination module 2408 is connected to the above-mentioned second determination module 2406, and is used to perform voxel type judgment on the target secondary voxel and determine the voxel type result of the target secondary voxel; the fourth determination module 2410 is connected to the above-mentioned third determination module 2408, and is used to obtain support data corresponding to the three-dimensional model based on the voxel type result.
[0186] It should be noted here that the above-mentioned first determination module 2404, second determination module 2406, third determination module 2408 and fourth determination module 2410 correspond to steps S102 to S110 in the method for determining support data for implementing a three-dimensional model. The instances and application scenarios implemented by multiple modules and corresponding steps are the same, but are not limited to the contents disclosed in the above-mentioned embodiment 1.
[0187] Example 3
[0188] According to another aspect of an embodiment of the present invention, an electronic device is provided, comprising: a processor; and a memory for storing processor-executable instructions, wherein the processor is configured to execute the instructions to implement any of the above-mentioned methods for determining support data of a three-dimensional model.
[0189] Example 4
[0190] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is also provided. When the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device can execute any of the above-mentioned methods for determining support data of a three-dimensional model.
[0191] The serial numbers of the above embodiments of the present invention are for description only and do not represent the advantages or disadvantages of the embodiments.
[0192] In the above embodiments of the present invention, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0193] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only exemplary. For example, the division of the units can be a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0194] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0195] In addition, the functional units in the various embodiments of the present invention may be integrated into a single processing unit, each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0196] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk, etc. Various media that can store program codes.
[0197] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as within the scope of protection of the present invention.
Claims
1. A method for determining support data of a three-dimensional model, characterized in that: include: Acquire a three-dimensional model, wherein the three-dimensional model is located in a voxel space formed by an X-axis, a Y-axis, and a Z-axis, and the voxel space includes a plurality of voxels; determining a target source voxel from the plurality of voxels; Determining a target secondary voxel corresponding to the target source voxel in the negative direction of the Z axis; Performing voxel type judgment on the target secondary voxel to determine the voxel type result of the target secondary voxel; Obtaining support data corresponding to the three-dimensional model according to the voxel type result; Wherein, determining the target source voxel from the plurality of voxels comprises: obtaining a support point corresponding to the three-dimensional model; determining a target voxel vertex corresponding to the support point; and determining a target source voxel corresponding to the target voxel vertex from the plurality of voxels; Among them, the support data corresponding to the three-dimensional model is obtained based on the voxel type result, including: determining the next level voxel based on whether the voxel type result is a blocking voxel type result, until the voxel whose corresponding Z coordinate is the base plate coordinate is determined, and the support data corresponding to the three-dimensional model is obtained.
2. The method according to claim 1, characterized in that Determine the next level of voxels based on whether the voxel type result is a blocking voxel type result, until a voxel whose corresponding Z coordinate is the base coordinate is determined, and obtain support data corresponding to the three-dimensional model, including: In a case where the voxel type of the target secondary voxel is the blocking voxel type, determining a target neighboring voxel corresponding to the target secondary voxel, wherein the Z coordinate corresponding to the target neighboring voxel is the same as the Z coordinate corresponding to the target secondary voxel; The target neighboring voxel is used as a new source voxel to determine the next level voxel until a voxel whose corresponding Z coordinate is the base plate coordinate is determined to obtain the support data, wherein the base plate coordinate is the minimum coordinate of the three-dimensional model in the Z-axis direction.
3. The method according to claim 2, characterized in that Determining a target neighboring voxel corresponding to the target secondary voxel includes: determining at least one candidate neighboring voxel corresponding to the target sub-voxel, wherein a Z coordinate corresponding to the at least one candidate neighboring voxel is the same as a Z coordinate corresponding to the target sub-voxel, and a distance between the at least one candidate neighboring voxel and the target sub-voxel is less than a first predetermined threshold; The target neighboring voxel is determined from the at least one candidate neighboring voxel.
4. The method according to claim 1, wherein Determine the next level of voxels based on whether the voxel type result is a blocking voxel type result, until a voxel whose corresponding Z coordinate is the base coordinate is determined, and obtain support data corresponding to the three-dimensional model, including: When the voxel type of the target secondary voxel is not the blocking voxel type, the voxel directly below the target secondary voxel is determined as the next-level voxel, until a voxel whose corresponding Z coordinate is the base plate coordinate is determined to obtain the support data.
5. The method according to claim 1, wherein Determining the next level of voxels based on whether the voxel type result is a blocking voxel type, until a voxel whose corresponding Z coordinate is the base plate coordinate is determined, and before obtaining support data corresponding to the three-dimensional model, the method further includes: When the support points include support points on the outer surface of the model and support points on the inner surface of the model, and the base plate coordinates include first base plate coordinates and second base plate coordinates, determine the first base plate coordinates corresponding to the support points on the outer surface of the model, and determine the second base plate coordinates corresponding to the support points on the inner surface of the model, wherein the first base plate coordinates are the minimum coordinates of the three-dimensional model in the Z-axis direction, and the second base plate coordinates are the minimum coordinates of the hollow space inside the three-dimensional model in the Z-axis direction.
6. The method according to claim 1, characterized in that Determining a target voxel vertex corresponding to the support point includes: determining at least one candidate voxel vertex corresponding to the support point, wherein a distance between the at least one candidate voxel vertex and the support point is less than a second predetermined threshold; The target voxel vertex is determined from the at least one candidate voxel vertex.
7. The method according to claim 6, characterized in that Determining the target voxel vertex from the at least one candidate voxel vertex includes: Determine the number of times each of the at least one candidate voxel vertices is supported; The target voxel vertex is determined from the at least one candidate voxel vertex according to the number of times each candidate voxel vertex is supported.
8. The method according to claim 6, characterized in that Determining the target voxel vertex from the at least one candidate voxel vertex includes: determining connection parameters connecting the at least one candidate voxel vertex and the support point respectively; The target voxel vertex is determined from the at least one candidate voxel vertex according to connection parameters of the at least one candidate voxel vertex and the support point.
9. The method according to claim 1, characterized in that Determining a target source voxel corresponding to the target voxel vertex from the plurality of voxels includes: Determine at least one candidate source voxel corresponding to the vertex of the target voxel from the plurality of voxels, wherein a Z coordinate corresponding to the at least one candidate source voxel is less than or equal to a Z coordinate corresponding to the vertex of the target voxel; The target source voxel is determined from the at least one candidate source voxel.
10. The method according to claim 1, characterized in that After determining the target source voxel from the plurality of voxels, the method further includes: determining whether a target secondary voxel corresponding to the target source voxel can be determined in the negative direction of the Z axis; If the determination result is that the target secondary voxel corresponding to the target source voxel cannot be determined, link data connecting the support point to a predetermined surface is determined.
11. The method according to claim 10, characterized in that The connecting rod shape represented by the connecting rod data is a shape of hemispherical ends and a cylindrical middle.
12. The method according to claim 1, characterized in that The support point and the target voxel data are connected via a truncated cone connector. The truncated cone connector includes a sharp point and a bottom surface. The sharp point is connected to the support point, and the bottom surface is connected to the target voxel data.
13. The method according to claim 12, characterized in that The radius of the bottom surface is the same as the radius of the cylinder corresponding to the target voxel data.
14. The method according to claim 1, wherein The voxel is a hollow voxel, and the target surface of the voxel is formed by two cylinders crossing on a diagonal line.
15. The method according to claim 14, characterized in that The resolution of the voxels is greater than a predetermined multiple of the radius of the cylinder.
16. The method according to claim 14, characterized in that The radius of the cylinder is determined according to the distance between the corresponding voxel and the three-dimensional model, and the collision probability corresponding to the distance.
17. A device for determining support data of a three-dimensional model, characterized in that: include: A first acquisition module is configured to acquire a three-dimensional model, wherein the three-dimensional model is located in a voxel space formed by an X-axis, a Y-axis, and a Z-axis, and the voxel space includes a plurality of voxels; A first determining module is used to determine a target source voxel from a plurality of voxels; A second determining module is used to determine a target secondary voxel corresponding to the target source voxel in the negative direction of the Z axis; a third determination module, configured to perform voxel type judgment on the target secondary voxel and determine the voxel type result of the target secondary voxel; A fourth determination module is used to obtain support data corresponding to the three-dimensional model based on the voxel type result; The first determining module is further configured to obtain a support point corresponding to the three-dimensional model; determine a target voxel vertex corresponding to the support point; and determine a target source voxel corresponding to the target voxel vertex from the plurality of voxels; Among them, the fourth determination module is also used to determine the next level voxel according to whether the voxel type result is a blocking voxel type result, until the voxel whose corresponding Z coordinate is the base plate coordinate is determined, and the support data corresponding to the three-dimensional model is obtained.
18. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the method for determining support data of a three-dimensional model according to any one of claims 1 to 16.
19. A computer-readable storage medium, characterized in that When the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform the method for determining support data of a three-dimensional model according to any one of claims 1 to 16.
Citation Information
Patent Citations
Group support unit generation method and device, electronic equipment and storage medium
CN116551992A
Shell support generation method
US20190016057A1