3D Printing System with Speed Optimization Vector Processing System

The 3D printing system addresses scanning speed and execution time errors by correcting vector endpoints, improving reproducibility and consistency in 3D printing.

JP7709557B2Active Publication Date: 2025-07-16LAYERWISE
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023577385
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-06-25
Filing Date
2022-06-09
Publication Date
2025-07-16
Estimated Expiration
2042-06-09

AI Technical Summary

Technical Problem

Scanning speed and execution time errors in 3D printing systems using energy beams for layer-by-layer manufacturing of 3D articles result in reproducibility and consistency issues.

Method used

A 3D printing system with a controller that processes virtual 3D bodies into slices, analyzes scanning speed errors, and adjusts vector endpoints to correct scanning speed errors, thereby optimizing fabrication speed and reducing overheating or over-curing.

Benefits of technology

The system enhances the reproducibility and consistency of 3D printing by correcting scanning speed errors, maximizing fabrication speed, and preventing potential overheating or over-curing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007709557000001
    Figure 0007709557000001
  • Figure 0007709557000002
    Figure 0007709557000002
  • Figure 0007709557000003
    Figure 0007709557000003
Patent Text Reader

Abstract

The three-dimensional printing system (3D) includes a print engine and a controller. The print engine includes an electro-modeling platform, a coating device, and a beam forming unit. The controller is configured to perform the following steps: (a) receiving a virtual 3D body, (b) processing the 3D body to define a plurality of N slices, each of the N slices representing an intersection of the 3D body with the slices, (c) processing the N slices to represent a solid portion of the 3D body with vectors, each of the vectors defining a contour and a hatch pattern, each of the vectors being bounded by two end points, (d) analyzing, for each slice, a scanning velocity error for one or more of the plurality of vectors, and (e) for each slice, moving some of the end points if the scanning velocity error exceeds a predetermined threshold to provide a velocity-compensated slice.
Need to check novelty before this filing date? Find Prior Art

Description

Cross - Reference to Related Applications

[0001] This non - provisional patent application claims priority to U.S. Provisional Patent Application No. 63 / 215,155, filed Jun. 25, 2021, by Sam Coeck et al., titled “Three Dimensional Printing System with Speed Optimized Vector Processing System,” which is incorporated herein by reference under 35 U.S.C. 119(e).

Technical Field

[0002] The present disclosure relates to apparatuses and methods for layer - by - layer manufacturing of three - dimensional (3D) articles by energy - beam curing of layers of materials such as polymer powders, metal powders, and photocurable resins. More particularly, the present disclosure relates to methods for correcting scanning speeds or execution - time errors that can adversely affect the reproducibility and consistency of operation.

Background Art

[0003] Three - dimensional (3D) printing systems are rapidly increasing in use for purposes such as prototyping and manufacturing. Certain 3D printing systems utilize a layer - by - layer process to form 3D articles from a variety of materials that can be metal powders, plastic powders, and photocurable resins. Each material layer is selectively cured with an energy beam that can be a laser beam, an electron beam, or a particle beam. The layer - by - layer process starts from a virtual 3D body such as a CAD file. The virtual 3D body is sliced with virtual horizontal slices corresponding to the layers. The virtual slices individually define the contours or boundaries that are the intersections of the surface of the 3D body and the slices. The virtual slices are converted into a vector format that can be used to control the movement of the energy beam.

Summary of the Invention

Problems to be Solved by the Invention

[0004] The problems associated with this conversion are the scanning speed and execution time errors resulting from applying the vector format of virtual slices to the energy beam system. **Means for Solving the Problems**

[0005] In one aspect of the present disclosure, a three-dimensional (3D) printing system is configured to fabricate or manufacture a 3D article. The 3D printing system includes a print engine and a controller. The print engine includes an electroforming platform, a coating device for forming a uniform layer of the forming material on the forming platform, and a beam forming unit configured to scan an energy beam on a forming plane above the forming platform. The controller is configured to perform the following steps: (a) receiving a virtual 3D body; (b) processing the 3D body to define a plurality of N slices, where the N slices individually represent the intersection of the 3D body and the slice; (c) processing the N slices to represent the solid portion of the 3D body using vectors, where the vectors define a contour and a hatching pattern and the vectors are individually bounded by two endpoints; (d) analyzing the scanning speed error for one or more of the plurality of vectors for each individual slice; and (e) for each individual slice, when the scanning speed error exceeds a predetermined threshold, replacing or moving some of the endpoints to provide a speed-corrected slice. By steps (d) and (e), the scanning speed error is eliminated or reduced. Thereby, the overall speed of fabrication is maximized, and potential overheating or over-curing that may occur at a low scanning speed is reduced or eliminated.

[0006] In one implementation, the controller includes at least two separate controllers including a preprocessing controller and a print engine controller that are physically separated from each other.

[0007] In another implementation form, steps (c) and (d) for each individual vector among a plurality of vectors include: a step of calculating the average scanning speed of the vector, a step of determining a scanning speed error by comparing the average scanning speed with the default scanning speed, and a step of moving the endpoints of the vector to reduce or eliminate the scanning speed error when the scanning speed error is greater than a predetermined threshold. The controller has a relationship ΔT * V = ΔS can be defined, where ΔT is equal to the time step size of the beamforming unit, ΔS is equal to the dimensional step size of the beamforming unit, V is the default scanning speed, and the endpoints of the vector can be moved to change the length of the vector and make it closer to an integer multiple of ΔS.

[0008] In yet another implementation form, steps (d) and (e) for a sequence of two or more individual vectors among a plurality of vectors can include: a step of calculating the average scanning speed for the sequence of two or more vectors, a step of determining a scanning speed error by comparing the average scanning speed with the default scanning speed, and a step of moving one or more endpoints of the two or more vectors to reduce or eliminate the scanning speed error when the scanning speed error is greater than a predetermined threshold.

[0009] In a further implementation form, the controller is further configured to: operate the electroforming platform to position the electroforming platform or the upper surface of the forming material close to the forming plane, operate the coating device to form a new layer of the forming material on the upper surface of the electroforming platform or the forming material, and operate the beamforming unit using the speed-corrected slice to selectively solidify the new layer of the forming material.

Brief Description of the Drawings

[0010]

Figure 1

Figure 2

Figure 3A

Figure 3B

Figure 3C

Figure 3D

Figure 4A

Figure 4B

Figure 5

Figure 5A

Figure 5B

Figure 5C

Figure 5D

Figure 5E

Figure 5F

Figure 5G

Figure 6

[0011] FIG. 1 is a schematic diagram of a three-dimensional (3D) printing system 2 for forming a 3D article 4. When describing the 3D printing system 2, axes X, Y, and Z that are orthogonal to each other can be used. Axes X and Y are generally horizontal cross axes. Axis Z is a vertical axis that is generally aligned with a gravity reference. "Generally" means that is so intended by design, but can vary due to manufacturing tolerances or other sources of variation.

[0012] The 3D printing system 2 includes a 3D print engine 6 coupled to a controller 8. The controller 8 can include a single computer located at the same position as the print engine 6, or can include two or more computers, some of which are physically separated from or remotely located from the print engine 6. In the illustrated embodiment, the controller 8 includes two controllers, a first controller 8A and a second controller 8B. The first controller 8A can even be physically separated from or remotely located from the print engine 6. The second controller 8B is physically connected to or more closely associated with the print engine 6.

[0013] The controller 8 includes a processor (at least one CPU) coupled to an information storage device (at least one non-temporary or non-volatile device). The information storage device stores software modules that individually contain instructions. The information storage device can include one or more of non-volatile or non-temporary computer memory, flash memory, and disk drives. The controller 8 is configured to operate various parts of the print engine 6 when the processor executes the instructions. In the illustrated embodiment, the first controller 8A processes a virtual 3D body and generates cross-sectional "slices" used by the controller 8B to control the print engine 6.

[0014] The printing engine 6 includes a shaping container 10 that houses an electro - forming platform 12. The electro - forming platform 12 has an upper surface 14 and a mechanism (not shown in detail) for accurately positioning the shaping platform 12 vertically. The mechanism can include mechanical drives such as a rack and pinion, a lead screw, or other drive systems. The lead - screw drive system can include a lead screw coupled to a fixed motor. The lead screw can be received by a threaded nut coupled to the shaping platform 12. Under the command of the controller 8, the motor can rotate the lead screw to position the shaping platform 12 vertically.

[0015] The printing engine 6 includes a coating device 16 configured to form a uniform layer of a material 18, such as metal powder, on the electro - forming platform 12. When a new uniform material layer 18 is formed, the upper surface 20 of the new uniform material layer 18 can be referred to as partially defining a "shaping plane 22". The coating device 16 can include a dispenser for dispensing the material 18 and a wiper blade for ensuring a flat and uniform surface 20. The movement of the coating device 16 during dispensing and wiping can be imparted by an electric lead screw, an electric belt, or other electric motion mechanisms. The dispensing device can include an electric roller or valve mechanism for metering a controlled or sufficient amount of the material 18 to ensure the uniformity of the new material layer 18.

[0016] The printing engine 6 includes a beam - forming unit 24 for forming and scanning one or more energy beams 26 across the shaping plane 22. The lateral scanning limit of the beam - forming unit 24 can define the lateral extent of the beam - forming unit 24. In an exemplary embodiment, the beam - forming unit includes a laser beam generator and two scanning mirrors including an X - mirror and a Y - mirror that provide the movement of the laser beam across the shaping plane along the X - axis and Y - axis, respectively.

[0017] The controller 8 is configured to operate the portion of the printing engine 6 to manufacture or fabricate the 3D article 4. The controller is configured as follows: (a) receiving a data file defining the 3D article 4, (b) processing the data file to prepare for operating the printing engine 6, (c) operating the electroforming platform to position the top surface 14 or 20 in proximity to the forming plane 22, (c) operating the coating device to apply a new layer 18 of the forming material to the top surface 14 or 20, (d) operating the beam forming unit 24 to selectively cure the new layer of the forming material, and repeating (c)-(d) to complete the manufacture or fabrication of the article 4.

[0018] FIG. 2 is a schematic diagram of the controller 8. More specifically, FIG. 2 is intended to show software modules including software instructions stored and executed by one or more processors of the controller 8 to perform the operations of the software modules. In the illustrated embodiment, the controller 8 includes a preprocessing controller 8A and a printing engine controller 8B. The preprocessing controller 8A can be physically separated from or remotely located with respect to the printing engine 6. The printing engine controller 8B may be disposed partially or wholly in the same location as the printing engine 6 or may be within the printing engine 6. In another embodiment, the controller 8 can be a single physically integrated unit. Other embodiments with other physical partitions between the software modules are also possible.

[0019] The controller 8 receives a virtual 3D object 32, such as a CAD file, that defines the 3D article 4 to be manufactured. The slicer module 34 receives the 3D virtual body 32 and virtually and horizontally slices it. Thereby, a file defining virtual cross-sectional slices of the 3D virtual body 32 is obtained. The virtual cross-sectional slices individually define one or more two-dimensional boundaries and solid cross-sections of the 3D virtual body 32. For each individual slice, the two-dimensional boundary defines the intersection between the horizontal slice and the solid object 32. The virtual cross-sectional slices also include a representation of the solid cross-sectional portion of the slice.

[0020] The slices are sent to a vector generation module 36 (sometimes called a hatcher module) that defines a series of linear scans corresponding to the solid portions of the slices. These scans are represented as linear vectors having end points that define the start and end of each vector. As a result, a plurality of vector slices are obtained, each having a plurality of vectors corresponding to the energy beam 26 that scans over the shaping plane 22.

[0021] The plurality of vector slices are sent to a velocity correction module 38. The velocity correction module 38 calculates a scanning velocity error for an individual vector or group of vectors. The velocity correction module 38 corrects the velocity and / or time error by moving or replacing the end points of the vectors when one or more velocity and / or time errors exceed a predetermined threshold. In the illustrated embodiment, the velocity correction module 38 is incorporated into the print engine controller 8B. Alternatively, it can be incorporated as part of the preprocessing module 8A.

[0022] As a result, a plurality of correction vector slices having correction vectors sent to the scanning driver module 40 are obtained. The scanning driver module 40 operates the beam forming unit 24 using the corrected vector slices. Individual slices are used to selectively cure one new layer of the deposition material 18. In the above, "slice" can be interpreted as data representing a horizontal slice of the virtual 3D body 32 at any subsequent stage of one or more of the software modules 34 to 40.

[0023] FIG. 3A is a view of a very simple 3D virtual body 32 that is a right circular cylinder aligned axially with the vertical axis Z. The operation of the slicer module 34 is to define the vertical arrangement of the horizontal virtual cross-sectional slices 42.

[0024] FIG. 3B is a schematic view of the virtual cross-sectional slice 42 defined by the slicer module 34. The virtual cross-sectional slice 42 includes data defining an outer boundary 44 and a solidified region 46 within the outer boundary 44.

[0025] FIG. 3C is a schematic view of the vector slice 48 defined by the vector generation module 36 acting on the virtual cross-sectional slice 42 of FIG. 3B. Here, the outer boundary 44 is replaced by a contour 50 that includes a series of vectors 52 (only some shown) arranged head-to-tail to define the contour 50. In some embodiments, the contour 50 includes two or more sequences of vectors 52 that pass around the contour 50 two or more times and can expand the contour 50. The vectors 52 of the contour 50 "circumscribe" the contour 50 to form the contour 50. The contour 50 surrounds the solidified region 46 and defines the outer boundary 44.

[0026] The solidified region 46 is replaced with the area hatch pattern 54 of the vector 56 (only part is shown). Adjacent vectors 56 can have opposite directions on the hatch pattern 54. In some embodiments, additional vectors may be attached to the start and end points of the adjacent vectors 56 so that the laser remains on during the hatching process.

[0027] Figure 3D is a schematic diagram of the corrected vector slice 49. The velocity correction module 38 processes the vector slice 48 to provide the corrected vector slice 49. The corrected vector slice 49 has corrected positions of the start and end points of the vectors 52 and 56, and thus differs from the vector slice 48, providing the vectors 53 and 57 respectively. The velocity correction vectors 53 and 57 correspond to the scanning of the energy beam 26 on the powder layer 18.

[0028] Figure 4A is a flowchart of an embodiment of the operating method 60 executed by the controller 8. The controller 8 executes the method 60 by executing the software modules 34 and 36 of FIG. 2.

[0029] According to 62, the controller 28 receives the 3D virtual body 32. According to 64, the controller 28 executes the module 36 to slice the 3D virtual body 32 into N virtual cross-sectional slices 42. According to 66, the controller 28 executes the module 26 to define the scanning vectors 52 and 56 having the end points of the N individual slices. As a result, N individual vector slices having the vectors 52 and 56 that have not yet been velocity-corrected are obtained.

[0030] Figure 4B is a flowchart of an embodiment of the operating method 70 executed by the controller 8, and more specifically by the print engine controller 30. The print engine controller 30 executes the method 70 by executing the software modules 38 and 40 of FIG. 2.

[0031] According to 72, the controller 30 receives the aforementioned N vector slices 42 from the controller 28. According to 74, the slice (slice n among the N slices) is processed to correct the scanning speed error based on the threshold condition. By step 74, a speed-corrected vector slice n is obtained. According to 76, the speed-corrected vector slice is transferred to the laser scanning driver module. According to 78, the beam forming unit 24 is operated to selectively fuse the speed-corrected vector slice n of the 3D article 4. As shown, steps 72 to 78 are repeated to selectively fuse all N slices.

[0032] It should be noted that there may be specific process steps missing from methods 60 and 70. For example, the data may be filtered to remove irrelevant vectors. Also, as part of method 70, the controller 30 can operate the electroforming platform 12 to maintain the appropriate height of the forming plane 22 and operate the coating device 16 for each slice n to coat a new layer 18 of material. In some embodiments, multiple layers of material can be applied during the operation of the beam forming unit 24.

[0033] In another implementation, step 74 - speed error correction can be performed as part of method 60 rather than as part of method 70. Thus, the speed error correction would be incorporated into the vectors when the print engine controller 30 receives the slices. In yet other implementations, the division of the steps of methods 60 and 62 can be divided among different controllers in different ways.

[0034] FIG. 5 is a flowchart of a first embodiment of an operating method 80 executed by the controller 8. The controller 8 executes the method 80 by executing the software module 38 of FIG. 2. In particular, method 80 is a more detailed embodiment of step 74 of method 70, but for a single slice n.

[0035] According to 82, slice n is received by software module 38. Slice n has M(n) vectors. As shown, M is a variable that depends on n. According to 84, the velocity of vector m (where m varies from 1 to M) is measured.

[0036] To understand the velocity measurement, several parameters need to be defined. Beamforming module 24 has a default scan velocity V, an actual scan velocity v, a standard resolution step size ΔS, an actual step size ΔS, and a time step size or time-based resolution ΔT. The time step size ΔT is fixed and does not change. Thus, the scan velocity varies according to v and is equal to the step size Δs divided by the time step size ΔT (v = Δs / ΔT). However, when Δs is equal to ΔS, the scan velocity is equal to the default scan velocity V. Otherwise, the actual scan velocity v is different from the default scan velocity V.

[0037] The vectors for a slice can have a length that defines a non-integer number of steps ΔS. Thus, the vectors can include steps of length Δs < ΔS in addition to the number of steps of length ΔS. Since ΔT is fixed, the shorter steps are executed in time ΔT and thus have a lower scan velocity. The average velocity of a vector is determined by dividing the total time to scan the vector by the length of the vector. The total time to scan the vector is equal to the actual number of steps multiplied by time ΔT.

[0038] As described above for step 84, the scan velocity v(m) is calculated or determined for vector m. According to 86, a determination is made as to whether v(m) is within a certain allowable range of the default scan velocity V. In one embodiment, the value of [V - v(m)] / V, which is the fractional velocity error, is calculated. If v(m) is within a certain allowable value or fractional range of the default V, the process loops back to step 84.

[0039] According to step 86, if v(m) is not within a predetermined range, according to step 88, the point position of vector m is corrected such that the length of vector m is close to or equal to an integer multiple of length ΔS. In certain embodiments, this is accomplished by lengthening the vector until its length is an integer multiple of ΔS. Alternatively, this can be accomplished by shortening the vector until its length is an integer multiple of ΔS. As shown in FIG. 5, this processing method is executed for all M(n) vectors of slice n. As a result of this process, slice n will have R(n) vectors, which may be equal to, greater than, or less than M(n).

[0040] FIGS. 5A-G are illustrations of a particular embodiment of method 80 of FIG. 5. Step 82 of method 80 is represented by FIG. 5A. The loaded slice n is represented by points P1-P6, which are consecutive endpoints of the movement vectors of a scanning laser (e.g., a laser + motorized X mirror and motorized Y mirror). Thus, M(n) in this example is equal to 5. The first movement vector is from P1 to P2. The second movement vector is from P2 to P3, which follows the fifth movement vector from P5 to P6. Without a velocity correction module, a velocity error occurs as described above. The dashed line of the sequence from P1 to P6 can be referred to as an "uncorrected contour" 83 that has not yet been velocity corrected.

[0041] FIGS. 5A and 5B show the steps for m = 1. According to 84, the velocity of the movement over the first segment (P1-P2) is calculated. According to 86, the measured velocity v is found to be outside the allowable range. According to 88, the point position is corrected, which is shown in FIG. 5B. A circle with a radius of ΔS is placed on point P1, and the intersection point Q2 with the entire path (dashed line) is determined. This becomes the new second point Q2, which "replaces" P2.

[0042] Here, method 80 loops back to step 84, and m is indexed to m = 2. Here, the speed is calculated for the segment between Q2 and P3 (the next point on the original contour 83), and is found to be out of the tolerance range according to 86. When m = 2, the point position is corrected again as shown in FIG. 5C.

[0043] Method 80 continues for m = 3 (FIG. 5C / 5D), m = 4 (FIG. 5D / 5E) and m = 5 (FIG. 5E / 5F). For the last segment (Q6 - Q7), in this illustrated embodiment, since Q7 coincides with point P6, the segment is a non-integer multiple of the standard resolution step size ΔS.

[0044] In summary, element 83 in FIG. 5A refers to the uncorrected contour defined by the initial points P1 - P6 before method 80 is executed. Element 89 in FIG. 5G refers to the speed-corrected contour defined by points Q1 - Q7 after method 80 is executed. Thus, points P1 - P6 in FIG. 5A represent uncorrected slices, and points Q1 - Q7 in FIG. 5G represent speed-corrected slices. In the illustrated uncorrected slice of FIG. 5A, M(n) = 5. In the speed-corrected slice of FIG. 5G, R(n) = 6. In other words, as a result of the speed correction, an endpoint is added to the sequence of endpoints.

[0045] FIG. 6 is a flowchart of a second embodiment of an operating method 90 executed by controller 8, and more particularly by print engine controller 30. Print engine controller 30 executes method 80 by executing software module 38 of FIG. 2. In particular, method 90 is a more detailed embodiment of step 74 of method 70, but for a single slice n. Method 90 calculates and responds with the average value of v(m) for a group of P vectors instead of one vector at a time, which is different from method 80 at the responding points. P may be 2 or more.

[0046] According to 92, slice n is received by software module 38. Module 38 has M(n) vectors. As shown, M is a variable that depends on n. According to 94, the scanning speed is measured for a group of P segments. For example, a group of two segments can be measured at a time. Step 94 is performed for all segments. If there are remaining segments, this process can be performed for the remainder as well. The measurement method is the same as the method for measuring one segment, except that the calculation is to calculate the total length of the segments divided by the total time of the segments.

[0047] According to 96, a determination is made as to which group of vectors is outside the tolerance - which group of P - segments has a speed percentage error exceeding a predetermined threshold.

[0048] According to 98, the point position is corrected for any group of vectors that is outside the tolerance. For example, this can be achieved by moving the connection point between two segments so that the individual lengths of the segments individually approach an integer of distance ΔS.

[0049] In a third embodiment, step 74 of method 70 can utilize both method 70 and 80. The above - described specific embodiments and their applications are for illustrative purposes only and do not exclude modifications and variations encompassed by the appended claims.

Claims

1. A three-dimensional (3D) printing system comprising a printing engine, and a controller wherein the printing engine includes an electroforming platform; a coating device for forming a uniform layer of the forming material on the forming platform; and a beam forming unit configured to scan an energy beam on a forming plane above the forming platform and the controller is configured to perform the following steps: (a) receiving a virtual 3D object; (b) processing the virtual 3D object to define a plurality of N slices, where the N slices individually represent the intersection of the virtual 3D object and the slice; (c) processing the N slices to represent the solid portion of the virtual 3D object using vectors, where the vectors define a contour and a hatching pattern and the vectors are individually bounded by two end points; (d) analyzing a scanning speed error for one or more of the plurality of vectors for each individual slice; (e) for each individual slice, when the scanning speed error exceeds a predetermined threshold, replacing some of the end points to provide a speed-corrected slice; and (f) operating the printing engine to fabricate a three-dimensional article in a layer-by-layer manner using the speed-corrected slices A three-dimensional (3D) printing system configured to perform.

2. The controller includes at least two separate controllers including a preprocessing controller and a printing engine controller, and the two separate controllers are physically separated from each other. The three-dimensional (3D) printing system according to claim 1.

3. Steps (d) and (e) are as follows for each individual vector of the plurality of vectors: calculating an average scanning speed for the vector; determining a scanning speed error by comparing the average scanning speed with a default scanning speed; and when the scanning speed error is greater than a predetermined threshold, moving the end points of the vector to reduce or eliminate the scanning speed error The three-dimensional (3D) printing system according to claim 1, characterized in that it comprises.

4.

5. Steps (d) and (e) are as follows for a sequence of two or more individual vectors of the plurality of vectors: The controller has a relational ΔT * V = ΔS is defined, where ΔT is equal to the time step size of the beam forming unit, ΔS is equal to the dimensional step size of the beam forming unit, V = the default scanning speed, and the end point of the vector is moved to change the length of the vector and brought closer by an integer multiple of ΔS. The three-dimensional (3D) printing system according to claim 3, characterized in that. ​ ​ A step of calculating an average scanning speed for the sequence of the two or more vectors; A step of determining a scanning speed error by comparing the average scanning speed with a default scanning speed; and A step of moving one or more endpoints of the two or more vectors to reduce or eliminate the scanning speed error when the scanning speed error is greater than a predetermined threshold The three-dimensional (3D) printing system according to claim 1, characterized by including the above.

6. The controller Operates the electromechanical shaping platform to position the electromechanical shaping platform or the upper surface of the shaping material close to the shaping plane; Operates the coating device to form a new layer of the shaping material on the upper surface of the electromechanical shaping platform or the shaping material; and Operates the beam forming unit using the speed-corrected slice to selectively solidify the new layer of the shaping material The three-dimensional (3D) printing system according to claim 1, characterized by being configured as above.

7. A method for manufacturing a 3D article, comprising: An electromechanical shaping platform; A coating device for forming a uniform layer of the shaping material on the shaping platform; and A beam forming unit configured to scan an energy beam on a shaping plane above the shaping platform Providing a 3D printing system comprising a printing engine including the above; and (a) A step of receiving a virtual 3D object; (b) A step of processing the virtual 3D object to define a plurality of N slices, where the N slices individually represent the intersection points of the virtual 3D object and the slices; (c) A step of processing the N slices to represent the solid part of the virtual 3D object using vectors bounded by endpoints individually; (d) A step of analyzing the scanning speed error for one or more of the plurality of vectors for each of the individual slices; (e) For each of the individual slices, when the scanning speed error exceeds a predetermined threshold, providing a speed-corrected slice by replacing some of the endpoints; and Operating the printing engine to produce a 3D article in a layer-by-layer manner using the speed-corrected slices A method including the above.

8. The method according to claim 7, wherein the 3D printing system further comprises a controller including at least two separate controllers, namely a preprocessing controller and a print engine controller, which are physically separated from each other.

9. For each individual vector among the plurality of vectors, steps (d) and (e) are as follows: Calculating an average scanning speed for the vector; Determining a scanning speed error by comparing the average scanning speed with a default scanning speed; and When the scanning speed error is greater than a predetermined threshold, moving an end point of the vector to reduce or eliminate the scanning speed error The method according to claim 7, characterized by including the above steps.

10. Related ΔT * The method according to claim 9, further comprising a step of defining V = ΔS, where ΔT is equal to the time step size of the beamforming unit, ΔS is equal to the dimensional step size of the beamforming unit, V = the default scanning speed, and moving the end point of the vector to change the length of the vector and approaching it by an integer multiple of ΔS.

11. For a sequence of two or more individual vectors among the plurality of vectors, steps (d) and (e) are as follows: Calculating an average scanning speed for the sequence of two or more vectors; Determining a scanning speed error by comparing the average scanning speed with a default scanning speed; and When the scanning speed error is greater than a predetermined threshold, moving one or more end points of the two or more vectors to reduce or eliminate the scanning speed error The method according to claim 7, characterized by including the above steps.

12. Operating the electromechanical shaping platform to position the electromechanical shaping platform or the upper surface of the shaping material in proximity to the shaping plane; Operating the coating device to form a new layer of shaping material on the upper surface of the electromechanical shaping platform or the shaping material; and Operating the beam forming unit using the speed-corrected slice to selectively solidify the new layer of the shaping material The method according to claim 7, further characterized by including the above steps.

13. A non-transitory storage medium storing software instructions for controlling a 3D printing system, wherein the 3D printing system An electromechanical shaping platform; A coating device for forming a uniform layer of shaping material on the shaping platform; and A beam forming unit configured to scan an energy beam on a shaping plane above the shaping platform Comprises a print engine including, When executed by a processor, the software instructions perform the following steps: Step (a) of receiving a virtual 3D object; Step (b) of processing the virtual 3D object to define a plurality of N slices, where the N slices individually represent the intersection points of the virtual 3D object and the slices; Step (c) of processing the N slices to represent the solid part of the virtual 3D object using vectors, where the vectors define a contour and a hatching pattern, and the vectors are individually bounded by two endpoints; Step (d) of analyzing the scanning speed error for one or more of the plurality of vectors for each of the individual slices; Step (e) of, for each of the individual slices, providing a speed-corrected slice by replacing some of the endpoints when the scanning speed error exceeds a predetermined threshold; and Step (f) of operating the printing engine to create a three-dimensional article in a layer-by-layer manner using the speed-corrected slices A non-transitory storage medium that executes.

14. The non-transitory storage medium according to claim 13, wherein the 3D printing system includes two controllers including a preprocessing controller and a print engine controller that are physically separated from each other.

15. Steps (d) and (e) are for each individual vector of the plurality of vectors, as follows: Step of calculating an average scanning speed for the vector; Step of determining a scanning speed error by comparing the average scanning speed with a default scanning speed; and Step of moving the endpoints of the vector to reduce or eliminate the scanning speed error when the scanning speed error is greater than a predetermined threshold The non-transitory storage medium according to claim 13, characterized by including.

16. wherein the step further includes a step of defining ΔT * V = ΔS, where ΔT is equal to the time step size of the beamforming unit, ΔS is equal to the dimensional step size of the beamforming unit, V = the default scanning speed, and the method further includes moving the end point of the vector to change the length of the vector and approaching it by an integer multiple of ΔS. A non-transitory storage medium according to claim 15.

17. Steps (d) and (e) are for a sequence of two or more individual vectors of the plurality of vectors, as follows: Step of calculating an average scanning speed for the sequence of the two or more vectors; Step of determining a scanning speed error by comparing the average scanning speed with a default scanning speed; and Step of moving one or more endpoints of the two or more vectors to reduce or eliminate the scanning speed error when the scanning speed error is greater than a predetermined threshold The non-transitory storage medium according to claim 13, characterized by including.

18. The steps are Operating the electric shaping platform to position the upper surface of the electric shaping platform or the shaping material in proximity to the shaping plane; Operating the coating device to form a new layer of shaping material on the upper surface of the electric shaping platform or the shaping material; and Operating the beam forming unit using the speed-corrected slice to selectively solidify the new layer of the shaping material The non-transitory storage medium according to claim 13, characterized by including the above steps.

Citation Information

Patent Citations

  • Method and apparatus for stereo lithography improved in curing stimulus

    JP2000296560A

  • Laser scanning and power control in rapid prototyping system

    JP2006323361A

  • 3D printing device, control method for 3D printing device, and control program for 3D printing device

    WO2018066099A1