Model edge support generation method, apparatus, electronic device and storage medium
By generating model edge support units, the problems of low efficiency and high computing power requirements in existing technologies are solved, achieving efficient and adaptable support unit generation and improving the printing quality of the bottom edge of the model.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN CBD TECH CO LTD
- Filing Date
- 2023-06-14
- Publication Date
- 2026-05-26
AI Technical Summary
In the current technology, when adding support units manually one by one during the model preprocessing stage, the efficiency is low. Adding them automatically as a whole will increase the amount of computation and computing power required. Furthermore, overly dense support units will increase the amount of trimming work and make it difficult to effectively improve the printing quality of the bottom edge of the model.
By traversing the model's triangular mesh, the minimum bounding box of the model is generated and aligned to the zero-plane platform. Preset squares are divided, the center points of the boundary squares are extracted, and support units are vertically led out to connect to the bottom edge of the model. Support units are generated by combining slicing processing.
It enables batch generation of support units at the bottom edge of the model, reducing computing power requirements, reducing trimming workload, improving printing quality, and is highly adaptable, while also controlling the density of support units.
Smart Images

Figure CN116811253B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of 3D printing model preprocessing technology, specifically relating to a method, device, electronic device, and storage medium for generating model edge support. Background Technology
[0002] In existing photopolymerization molding technology, during the computer preprocessing stage of the model, it is necessary to add support units to the model. In particular, in order to improve the printing quality of the bottom edge of the model and ensure the successful printing of the overall model, it is also necessary to generate a sufficient number of support units at the bottom edge of the model. Currently, the common methods for adding support to the model are to add support manually one by one or to add support automatically as a whole.
[0003] When adding support units to the bottom edge of the model, manually adding them point by point is difficult to control the uniformity of the support unit density and is inefficient. If the support is added automatically as a whole, the overall density of the support units needs to be increased in the XY plane to generate more support units at the bottom edge of the model. The disadvantages are that it will increase the amount of computation and slow down the support generation process. In severe cases, it may even cause the program to crash due to insufficient computing power. On the other hand, too dense support units will add too much workload to the support trimming stage after printing. Summary of the Invention
[0004] This application provides a method, apparatus, electronic device, and storage medium for generating model edge supports. The purpose is to automatically generate support units in batches at the bottom edge of the model during the model preprocessing process. Correspondingly, sparse support units are automatically added to the non-edge positions at the bottom of the model. This can improve the printing quality of the bottom edge of the model, ensure successful model printing, reduce the overall number of support units at the bottom of the model, thereby reducing the demand for computing power and the workload of the support trimming process.
[0005] A first aspect of this application provides a method for generating model edge support, comprising:
[0006] Traverse all the triangular meshes that make up the model;
[0007] Get the minimum bounding box of the model;
[0008] Align the bottom center point of the smallest model box with the origin of the zero-plane platform;
[0009] Raise the model by H millimeters;
[0010] Divide the zero-plane platform into a preset grid with a side length of Y millimeters, centered on the origin;
[0011] Select a plane at the bottom of the model and obtain the maximum vertical projection range of that plane on the zero plane platform;
[0012] All preset squares whose center point is within the maximum vertical projection range are selected as candidate squares;
[0013] Obtain the boundary squares and the center point of the boundary squares based on all candidate squares;
[0014] Specify a clock direction and extract the center points of the boundary squares in pairs with a straight line interval of L + ΔX mm, starting from the center point of a boundary square.
[0015] Draw straight lines vertically upwards from each extraction point and intersect them with the bottom plane of the model, then use the intersection point as the target point.
[0016] Support units are extended downwards from each target point and connected between the edge of the bottom plane of the model and the zero-plane platform;
[0017] The overall three-dimensional data of the model and support units is stored in the storage unit.
[0018] Further, the step of selecting a plane at the bottom of the model and obtaining the maximum vertical projection range of that plane on the zero-plane platform includes:
[0019] Select a triangular mesh on the bottom plane of the model;
[0020] Collect triangular meshes that share the same normal vector as the selected triangular mesh and are continuous and share the same edge as the triangular mesh group;
[0021] Obtain the maximum vertical projection range of the endpoints and line segments of each triangular mesh in the triangular mesh group onto the zero plane platform.
[0022] Furthermore, the model edge support generation method further includes:
[0023] The overall 3D data is sliced and slice image data is obtained;
[0024] The sliced image data is imported into a 3D printing device for exposure printing.
[0025] Optionally, the step of specifying a clock direction, starting from the center point of a boundary square, sequentially extracting the center points of boundary squares with a linear interval of L + ΔX millimeters in pairs, and determining them as extraction points, includes:
[0026] Starting from the center point of the boundary square with the smallest / largest X coordinate value and / or the smallest / largest Y coordinate value in a counterclockwise direction, extract the center points of the boundary squares with a straight line interval of L+△X mm in pairs and determine them as extraction points;
[0027] Alternatively, starting from the center point of the boundary square with the smallest / largest X coordinate value and / or the smallest / largest Y coordinate value, extract the center points of the boundary squares with a straight line interval of L+△X mm in a clockwise direction and determine them as extraction points.
[0028] Optionally, H, Y, and L are positive integers or decimals; △X is an error value less than L.
[0029] A second aspect of this application provides a model edge support generation apparatus, comprising:
[0030] The model mesh traversal module is used to traverse all the triangular meshes that make up the model;
[0031] The minimum model bounding box acquisition module is used to obtain the minimum model bounding box of the model.
[0032] The model alignment module is used to align the bottom center point of the minimum model box to the origin of the zero-plane platform;
[0033] The model lifting module is used to lift the model by H millimeters;
[0034] The preset grid division module is used to divide a preset grid with a side length of Y millimeters into a zero-plane platform centered on the origin;
[0035] The model plane selection and projection module is used to select a plane at the bottom of the model and obtain the maximum vertical projection range of that plane on the zero plane platform.
[0036] The candidate square acquisition module is used to acquire all preset squares whose center point is within the maximum vertical projection range as candidate squares.
[0037] The boundary grid acquisition module is used to acquire the boundary grid and the center point of the boundary grid based on all candidate grids;
[0038] The extraction point determination module is used to specify a clock direction, start from the center point of a boundary square, and sequentially extract the center points of the boundary squares with a straight line interval of L+△X mm in pairs, and determine them as extraction points;
[0039] The target point determination module is used to draw straight lines vertically upwards from each extraction point and intersect the bottom plane of the model, and use the intersection point as the target point;
[0040] The edge support generation module is used to extend support units from each target point downwards and connect them between the edge of the bottom plane of the model and the zero plane platform.
[0041] The three-dimensional data storage module is used to store the overall three-dimensional data of the model and support unit in the storage unit.
[0042] Furthermore, the model plane selection and projection module includes:
[0043] The triangular mesh selection module is used to select a triangular mesh on the bottom plane of the model;
[0044] The triangular mesh group acquisition module is used to acquire triangular meshes that have the same normal vector as the selected triangular mesh and share continuous edges as a triangular mesh group.
[0045] The maximum vertical projection range acquisition module is used to obtain the maximum vertical projection range of each triangular mesh endpoint and line segment in the triangular mesh group on the zero plane platform.
[0046] Furthermore, the model edge support generation device further includes:
[0047] The slicing module is used to slice the overall 3D data and obtain slice image data.
[0048] 3D printing equipment is used to import sliced image data into the 3D printing equipment for exposure printing.
[0049] A third aspect of this application provides an electronic device, including:
[0050] At least one processor; and a storage unit communicatively connected to said at least one processor;
[0051] The storage module stores instructions that can be executed by the at least one processor, and when the at least one processor executes the instructions, it implements the steps of any of the above-described model edge support generation methods.
[0052] A fourth aspect of this application provides a non-transitory computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of any of the above-described model edge support generation methods.
[0053] A fifth aspect of this application provides a computer program product comprising computer instructions that, when executed by a computer, implement the steps of any of the above-described model edge support generation methods.
[0054] Compared with the prior art, the beneficial effects of the present invention are:
[0055] 1. The model edge support generation method provided in the first aspect of the present application can generate support units in batches at the edge positions of the bottom plane of the model. Compared with manually adding support units to the bottom edge of the model, it is faster, more convenient and more efficient.
[0056] 2. The model edge support generation method provided in the first aspect of the present application can generate support units in batches at the edge positions of the bottom plane of the model. On this basis, the overall support unit generation method is used to automatically add a sparse number of support units to the non-edge positions at the bottom of the model, which can reduce the overall support density of the model, thereby reducing the demand for computing power and reducing the workload of the support trimming process.
[0057] 3. The model edge support generation method provided in the first aspect of the embodiments of this application can add support to both flat planes at the bottom of the model and planes with holes at the bottom of the model, making the method highly adaptable.
[0058] 4. The model edge support generation method provided in the first aspect of the embodiments of this application can facilitate user control of the density of support units by adjusting the side length of the preset squares and the straight-line interval distance of the extraction points, making it convenient for users to customize. Attached Figure Description
[0059] Figure 1 This is a flowchart of the model edge support generation method according to an embodiment of this application;
[0060] Figure 2 This is a structural diagram of the model edge support generation device according to an embodiment of this application;
[0061] Figure 3 This is a flowchart illustrating the steps of model plane selection and projection in an embodiment of this application.
[0062] Figure 4 This is a block diagram illustrating the module structure for model plane selection and projection in an embodiment of this application.
[0063] Figure 5-10 This is a partial schematic diagram of the model edge support generation method according to an embodiment of this application;
[0064] Figure 11-12 Example 1 of the effect of generating support for the model edge in this application embodiment;
[0065] Figure 13-14 Example 2 of the effect of generating support for the model edge in this application embodiment;
[0066] Figure 15 The electronic device structure diagram for implementing the edge support generation method of the embodiments of this application;
[0067] Figure 16 This is a schematic diagram illustrating the preprocessing and slicing of a model by an electronic device according to an embodiment of this application;
[0068] Figure 17A structural block diagram of a 3D printing device for realizing the edge support generation method of the proposed method;
[0069] Figure 18 This is a schematic diagram illustrating the import of image data obtained by slicing after implementation of the method described in this application into a 3D printing device.
[0070] Label Explanation:
[0071] 7. Electronic device; 70. Computer program; 71. Processor; 72. Storage unit; 8. 3D printing equipment; 81. Controller; 82. Memory; 80. Printing control program; 9. Mobile storage device;
[0072] Model 401; Triangular Mesh 402; Zero Plane Platform 403; Preset Grid 404; Maximum Vertical Projection Range 405; Candidate Grid Range 406; Grid Center Point 407; Boundary Grid Range 408; Extraction Point 409; Target Point 411; Top Support Column 412; Main Support Column 413; Bottom Raft 414; Reinforcing Column 415;
[0073] Model mesh traversal module 100; minimum model bounding box acquisition module 150; model alignment module 200; model elevation module 250; preset grid division module 300; model plane selection and projection module 350; triangular mesh selection module 352; triangular mesh group acquisition module 354; maximum vertical projection range acquisition module 356; candidate grid acquisition module 400; boundary grid acquisition module 450; extraction point determination module 500; target point determination module 550; edge support generation module 600; 3D data storage module 650; slicing processing module 700. Detailed Implementation
[0074] To make the inventive objectives, features, and advantages of this application more apparent and understandable, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the embodiments described below are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0075] It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or collections thereof. It should also be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of the application.
[0076] Figure 1This is a flowchart illustrating the model edge support generation method according to an embodiment of this application. As shown in the figure, the model edge support generation method of this application includes the following basic steps:
[0077] S100, Traverse all the triangular meshes that form the model;
[0078] S150, Obtain the minimum model bounding box of the model;
[0079] S200, Align the bottom center point of the smallest model box with the origin of the zero-plane platform;
[0080] S250, Raise the model by H millimeters;
[0081] S300. Divide the zero-plane platform into preset squares with a side length of Y millimeters, centered on the origin.
[0082] S350. Select a plane at the bottom of the model and obtain the maximum vertical projection range of the plane on the zero plane platform.
[0083] S400: Obtain all preset squares whose center point is within the maximum vertical projection range as candidate squares;
[0084] S450. Obtain the boundary squares and the center point of the boundary squares based on all candidate squares;
[0085] S500: Specify a clock direction and extract the center points of the boundary squares in pairs with a straight line interval of L+△X mm, starting from the center point of a boundary square, and determine them as extraction points.
[0086] S550, Draw straight lines vertically upwards from each extraction point and intersect them with the bottom plane of the model, and take the intersection point as the target point;
[0087] S600, support units are extended downwards from each target point and connected between the edge of the bottom plane of the model and the zero plane platform;
[0088] S650: Store the overall three-dimensional data of the model and support unit in the storage unit.
[0089] In addition to the steps described above, the following optional steps are also included:
[0090] S700: Slice the overall 3D data and obtain slice image data;
[0091] S750: Import the sliced image data into the 3D printing equipment for exposure printing.
[0092] Specifically, H, Y, and L are positive integers or decimals; △X is an error value less than L.
[0093] Specifically, in step S500, the step of specifying a clock direction, extracting the center points of boundary squares with a linear interval of L + ΔX millimeters from the center point of a boundary square as the starting extraction point, and determining them as extraction points, includes:
[0094] Starting from the center point of the boundary square with the smallest / largest X coordinate value and / or the smallest / largest Y coordinate value in a counterclockwise direction, extract the center points of the boundary squares with a straight line interval of L+△X mm in pairs and determine them as extraction points;
[0095] Alternatively, starting from the center point of the boundary square with the smallest / largest X coordinate value and / or the smallest / largest Y coordinate value, extract the center points of the boundary squares with a straight line interval of L+△X mm in a clockwise direction and determine them as extraction points.
[0096] Figure 2 This is a structural diagram of the model edge support generation device according to an embodiment of this application. As shown in the figure, the model edge support generation device of this application includes:
[0097] Model mesh traversal module 100 is used to traverse all the triangular meshes that make up the model;
[0098] Minimum model bounding box acquisition module 150 is used to acquire the minimum model bounding box of the model;
[0099] Model alignment module 200 is used to align the bottom center point of the minimum model box to the origin of the zero plane platform;
[0100] Model lifting module 250 is used to lift the model by H millimeters;
[0101] The preset grid division module 300 is used to divide a preset grid with a side length of Y millimeters on a zero-plane platform with the origin as the center.
[0102] The model plane selection and projection module 350 is used to select a plane at the bottom of the model and obtain the maximum vertical projection range of the plane on the zero plane platform.
[0103] The candidate square acquisition module 400 is used to acquire all preset squares whose center point is within the maximum vertical projection range as candidate squares.
[0104] The boundary grid acquisition module 450 is used to acquire the boundary grid and the center point of the boundary grid based on all candidate grids;
[0105] The extraction point determination module 500 is used to specify a clock direction, take the center point of a boundary square as the starting extraction point, and extract the center points of the boundary squares with a straight line interval of L+△X mm in pairs and determine them as extraction points.
[0106] The target point determination module 550 is used to draw straight lines vertically upward from each extraction point and intersect the bottom plane of the model, and take the intersection point as the target point;
[0107] The edge support generation module 600 is used to extend support units from each target point downwards and connect them between the edge of the bottom plane of the model and the zero plane platform.
[0108] The 3D data storage module 650 is used to store the overall 3D data of the model and support unit in the storage unit.
[0109] In addition, the following optional modules are also included:
[0110] The slicing module 700 is used to slice the overall 3D data and obtain slice image data.
[0111] 3D printing equipment 8 is used to import sliced image data into the 3D printing equipment for exposure printing.
[0112] Specifically, H, Y, and L are positive integers or decimals; △X is an error value less than L.
[0113] Figure 3 This is a flowchart illustrating the model plane selection and projection method according to an embodiment of this application. As shown in the figure... Figure 1 Step S350, selecting a plane at the bottom of the model and obtaining the maximum vertical projection range of that plane on the zero-plane platform, includes the following steps:
[0114] S352. Select a triangular mesh on the bottom plane of the model;
[0115] S354. Obtain triangular meshes that share the same normal vector as the selected triangular mesh and are continuous and share the same edge as the triangular mesh group.
[0116] S356. Obtain the maximum vertical projection range of each triangular mesh endpoint and line segment in the triangular mesh group on the zero plane platform.
[0117] Figure 4 This is a structural diagram of the model plane selection and projection module according to an embodiment of this application. As shown in the figure... Figure 2 The model plane selection and projection module 350 includes:
[0118] Triangular mesh selection module 352 is used to select a triangular mesh on the bottom plane of the model;
[0119] The triangular mesh group acquisition module 354 is used to acquire triangular meshes that have the same normal vector as the selected triangular mesh and share continuous edges as a triangular mesh group.
[0120] The maximum vertical projection range acquisition module 356 is used to acquire the maximum vertical projection range of each triangular mesh endpoint and line segment in the triangular mesh group on the zero plane platform.
[0121] Figure 5-10 This is a schematic diagram illustrating part of the process of the model edge support generation method in an embodiment of this application. Specific examples are provided. Figure 1 The process of steps 300-S550 in the method shown is illustrated in the figure. Figure 5 An example model 401 is provided, consisting of multiple triangular meshes 402; another example shows a zero-plane platform 403 divided into multiple preset squares 404 with a side length of Y millimeters; according to Figure 3 In step 352, a triangular mesh 402 is selected on the bottom plane of model 401. Specifically, after selecting point A, the triangular mesh M1 representing the point-filled area of point A is obtained, and the normal vector of this triangular mesh is n1; according to Figure 3 In step 354, triangular meshes with the same normal vector and continuous shared edges as the selected triangular mesh are obtained as a group of triangular meshes; since another triangular mesh M2 and triangular mesh M1 are in the same plane, their normal vectors n1 and n2 are in the same direction, and triangular mesh M2 and triangular mesh M1 share edges. Therefore, after selecting point A, all triangular meshes with the same normal vector and continuous shared edges are obtained, forming a group of triangular meshes; then according to Figure 3 In step 356, the maximum vertical projection range of each triangular mesh endpoint and line segment in the triangular mesh group on the zero plane platform is obtained; as shown in the figure, the maximum vertical projection range 405 of triangular meshes M1 and M2 on the zero plane platform 403 is obtained.
[0122] Figure 6 exist Figure 5 Based on this, examples were provided. Figure 1 In step S400, all preset squares whose center points are within the maximum vertical projection range are obtained as candidate squares. As shown in the figure, the outer boundary of the maximum vertical projection range 405 passes through the center points 407 of a series of preset squares 404. That is, the center points 407 are on the boundary of the outer boundary of the maximum vertical projection range 405. Therefore, the center points 407 in the figure are also within the maximum vertical projection range 405. So the area of all preset squares 404 occupied by the maximum vertical projection range 405 is the candidate square range 406 to be obtained.
[0123] Figure 7 exist Figure 6Based on this, after obtaining the candidate grid range 406, the next step is to obtain the boundary grid range 408 based on each candidate grid in the candidate grid range 406; specifically, the Freeman chain code algorithm in computer graphics can be used to obtain multiple boundary grids with closed paths under a rasterized graphic.
[0124] Figure 8 exist Figure 7 Based on this, the center point 407 of each boundary square in the boundary square range 408 is obtained; therefore, it is possible to achieve Figure 1 In step S450, the boundary squares and the center point of the boundary squares are obtained based on all candidate squares.
[0125] Figure 9 exist Figure 8 Based on this, for each boundary square's center point 407, the center point of the upper left boundary square with the largest Y-coordinate value and the smallest X-coordinate value was selected as the starting extraction point. Following a straight-line interval of L + ΔX millimeters and a clockwise direction, the center points of squares 407 were extracted pairwise to form extraction points 409. Specifically, in this image, because the straight-line interval L is exactly twice the square's side length Y, ΔX is zero.
[0126] Figure 10 exist Figure 9 Based on, according to Figure 1 In step S550, straight lines are drawn vertically upward from each extraction point to intersect with the bottom triangular mesh plane of the model, and the intersection point is taken as the target point, thus obtaining each target point 411 on the model 401; based on these target points 411, support units can be drawn downward to connect between the edge of the bottom plane of the model 401 and the zero plane platform 403.
[0127] Accordingly, from the above Figure 5-10 As can be seen from the schematic process, adjusting the side length Y of the preset square and adjusting the straight line spacing L can both adjust the number and density of support units at the bottom edge of the model.
[0128] Figure 11-12 Example 1 shows the effect of generating support for the model edges in this application embodiment. As shown in the figure... Figure 11 Example model 401 is a cube with a complete bottom plane, using the method described in this application. Figure 1 The method shown can generate uniformly distributed top support columns 412 at the bottom edge of model 401.
[0129] Figure 12 exist Figure 11Based on this, the complete bottom edge support of the model is shown. The upper end of the top support column 412 is connected to the bottom edge of the model, and the lower end of the top support column 412 is connected to the main support column 413. The bottom of the main support column 413 is connected to the bottom raft 414, which rests on the zero plane platform. The zero plane platform is omitted here. Reinforcing columns 415 are also connected between the main support columns 413 to strengthen the overall support unit frame and strength.
[0130] Figure 13-14 Example 2 shows the effect of generating model edge support in this application embodiment. As shown in the figure... Figure 13 Example model 401 is a cube with a hollow bottom plane and a through square hole, which adopts the design of this application. Figure 1 The method shown can also generate uniformly distributed top support columns 412 simultaneously at the bottom outer edge and inner edge of model 401.
[0131] Figure 14 exist Figure 13 Based on this, the complete bottom edge support of the model is shown. The upper end of the top support column 412 is connected to the bottom edge of the model, and the lower end of the top support column 412 is connected to the main support column 413. The bottom of the main support column 413 is connected to the bottom raft 414, which rests on the zero plane platform. The zero plane platform is omitted here. The reinforcing column 415 is not generated in this figure.
[0132] In particular, compared Figure 14 and Figure 12 The effect of generating inner and outer edge supports at the bottom of the model shows that the model edge support generation method of this application has good applicability to different types of models.
[0133] Figure 15 The diagram illustrates the electronic device structure for implementing the edge support generation method of this application. As shown in the figure, the electronic device 7 in this figure is exemplified by having a processing unit 71. As shown, the electronic device 7 includes a processing unit 71 and a storage unit 72; wherein the storage unit 72 stores a computer program 70 or instructions executable by the processing unit 71, and the computer program 70 or instructions are executed by the processing unit 71 to enable the processing unit 71 to perform actions such as... Figure 1 Steps S100-S650 in the above steps, or perform as follows: Figure 1 Steps S100-S700 in the above steps, or perform as follows: Figure 3 Steps S352-S356 in the process.
[0134] Storage unit 72, which is the third aspect of this application, provides a non-transitory computer-readable storage medium. Storage unit 72 stores instructions executable by at least one processing unit 71, causing the at least one processing unit 71 to perform, as follows: Figure 1 Steps S100-S650 in the above steps, or implement as follows: Figure 1 Steps S100-S700 in the above, or implemented as follows: Figure 3 Steps S352-S356 in the process.
[0135] Storage unit 72, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as those implemented during execution. Figure 1 The program instructions / modules corresponding to steps S100-S650, or implementations such as... Figure 1 The program instructions / modules corresponding to steps S100-S700, or implementations such as... Figure 3 The program instructions / modules corresponding to steps S352-S356 in the above steps. Processing unit 71 executes various server functions and data processing by running the non-transient computer program 70, instructions, and modules stored in storage unit 72, thereby achieving the above-mentioned... Figure 1 or Figure 3 The corresponding embodiments involve steps involving a computer and a processor.
[0136] Storage unit 72 may include a stored program area and a stored data area. The stored program area may store the operating system and applications required for at least one function; the stored data area may store data created during the use of electronic device 7. Furthermore, storage unit 72 may include a high-speed random access memory module and may also include a non-transient storage module, such as at least one disk storage module, flash memory device, or other non-transient solid-state storage module. In some embodiments, storage unit 72 may optionally include storage modules remotely located relative to processing unit 71. These remote storage modules can be connected to the electronic device generated by the support structure via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0137] Various implementations of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, application-specific integrated circuits (ASICs), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include: implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input unit, and at least one output device, and transmitting data and instructions to the storage system, the at least one input unit, and the at least one output device.
[0138] These computer programs 70 (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any computer program product, device, and / or apparatus (e.g., disk, optical disk, storage module, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term “machine-readable signal” refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0139] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this application can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this application can be achieved, and this is not limited herein.
[0140] Figure 16 This is a schematic diagram illustrating the preprocessing and slicing of a model by an electronic device according to an embodiment of this application. As shown in the figure, the user runs 3D slicing software through the electronic device 7 and uses a model edge support generation method provided by the first aspect of this application to generate edge supports at the bottom edge of the model; then, step S700 is performed to slice the overall three-dimensional data and obtain slice image data.
[0141] Figure 17 The structural block diagram of a 3D printing device for implementing the edge support generation method of this application is shown in the figure. As shown, a 3D printing device 8 includes a controller 81 and a memory 82; wherein the memory 82 stores a printing control program 80 or instructions that can be executed by the controller 81, and the printing control program 80 or instructions are executed by the controller 81 to enable the controller 81 to perform actions such as... Figure 1 In step S750, the overall printed part of the model with generated edge support is obtained.
[0142] Figure 18 This diagram illustrates the import of image data obtained by slicing after implementation of the method described in this application into a 3D printing device. As shown, the user uses a mobile storage device 9 to import the overall sliced image data of the model with generated edge support, obtained by the electronic device 7, and / or printing parameters into the 3D printing device 8 for 3D exposure printing, thereby obtaining the overall printed part of the model with generated edge support.
[0143] The specific embodiments described above do not constitute a limitation on the scope of protection of this application. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A method for generating model edge support, characterized in that, include: Traverse all the triangular meshes that make up the model; Get the minimum bounding box of the model; Align the bottom center point of the smallest model box with the origin of the zero-plane platform; Raise the model by H millimeters; Divide the zero-plane platform into a preset grid with a side length of Y millimeters, centered on the origin; Select a plane at the bottom of the model and obtain the maximum vertical projection range of that plane on the zero plane platform; All preset squares whose center point is within the maximum vertical projection range are selected as candidate squares; Obtain the boundary squares and the center point of the boundary squares based on all candidate squares; With a specified clock direction, starting from the center point of a boundary square, extract the center points of the boundary squares in pairs with a straight-line interval of L + ΔX millimeters and determine them as extraction points. Here, ΔX is an error value less than L. A straight line is drawn vertically upwards from each extraction point and intersects the bottom plane of the model, with the intersection point being the target point; Support units are extended downwards from each target point and connected between the edge of the bottom plane of the model and the zero-plane platform; The overall three-dimensional data of the model and support units is stored in the storage unit.
2. The model edge support generation method according to claim 1, characterized in that, The step of selecting a plane at the bottom of the model and obtaining the maximum vertical projection range of that plane on the zero-plane platform includes: Select a triangular mesh on the bottom plane of the model; Collect triangular meshes that share the same normal vector as the selected triangular mesh and are continuous and share the same edge as the triangular mesh group; Obtain the maximum vertical projection range of the endpoints and line segments of each triangular mesh in the triangular mesh group onto the zero plane platform.
3. The model edge support generation method according to claim 1, characterized in that, Also includes: The overall 3D data is sliced and slice image data is obtained; The sliced image data is imported into a 3D printing device for exposure printing.
4. The model edge support generation method according to claim 1, characterized in that, H, Y, and L are positive integers or decimals.
5. A model edge support generation device, characterized in that, include: The model mesh traversal module is used to traverse all the triangular meshes that make up the model; The minimum model bounding box acquisition module is used to obtain the minimum model bounding box of the model. The model alignment module is used to align the bottom center point of the minimum model box to the origin of the zero-plane platform; The model lifting module is used to lift the model by H millimeters; The preset grid division module is used to divide a preset grid with a side length of Y millimeters into a zero-plane platform centered on the origin; The model plane selection and projection module is used to select a plane at the bottom of the model and obtain the maximum vertical projection range of that plane on the zero plane platform. The candidate square acquisition module is used to acquire all preset squares whose center point is within the maximum vertical projection range as candidate squares. The boundary grid acquisition module is used to acquire the boundary grid and the center point of the boundary grid based on all candidate grids; The extraction point determination module is used to specify a clock direction, start from the center point of a boundary square, and sequentially extract the center points of the boundary squares with a straight line interval of L+△X mm in pairs, and determine them as extraction points; The target point determination module is used to draw straight lines vertically upwards from each extraction point, intersect the bottom plane of the model, and take the intersection point as the target point; The edge support generation module is used to extend support units from each target point downwards and connect them between the edge of the bottom plane of the model and the zero plane platform. The three-dimensional data storage module is used to store the overall three-dimensional data of the model and support unit in the storage unit.
6. The model edge support generation device according to claim 5, characterized in that, The model plane selection and projection module includes: The triangular mesh selection module is used to select a triangular mesh on the bottom plane of the model; The triangular mesh group acquisition module is used to acquire triangular meshes that have the same normal vector as the selected triangular mesh and share continuous edges as a triangular mesh group. The maximum vertical projection range acquisition module is used to obtain the maximum vertical projection range of each triangular mesh endpoint and line segment in the triangular mesh group on the zero plane platform.
7. The model edge support generation device according to claim 5, characterized in that, Also includes: The slicing module is used to slice the overall 3D data and obtain slice image data. 3D printing equipment is used to import sliced image data into the 3D printing equipment for exposure printing.
8. An electronic device, characterized in that, include: At least one processor; and a storage unit communicatively connected to the at least one processor; The storage unit stores instructions that can be executed by the at least one processor, and when the at least one processor executes the instructions, it implements the steps of the model edge support generation method as described in any one of claims 1 to 4.
9. A non-transitory computer-readable storage medium, characterized in that, The non-transitory computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the model edge support generation method as described in any one of claims 1 to 4.
10. A computer program product, characterized in that, The computer program product includes computer instructions that, when executed by a computer, implement the steps of the model edge support generation method as described in any one of claims 1 to 4.