Method for determining a tool path for controlling a printing tool
The method addresses inefficiencies in 3D printing by allowing partial filling of upper build layers before completing lower layers, optimizing tool paths for continuous material flow and reduced deactivations, thereby enhancing printing efficiency and quality.
Patent Information
- Application Number
- JP2022506176
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-07-30
- Filing Date
- 2020-07-30
- Publication Date
- 2025-06-03
- Estimated Expiration
- 2040-07-30
AI Technical Summary
Existing 3D printing technologies face inefficiencies in tool path planning, particularly in advanced systems with multiple robotic arms, where the strict layer-by-layer approach does not utilize the full degrees of freedom, leading to excessive vibration, wear, and limitations in high-speed movement.
A method for determining a tool path that involves dividing a three-dimensional structure into build layers, partially filling upper layers along the build direction before completely filling lower layers, and generating a printing tool control algorithm to optimize the tool path, allowing for continuous material flow and reduced deactivations of the print head.
This approach enhances printing efficiency by reducing the number of print tool jumps and path intersections, maintaining continuous material flow, and optimizing the use of robotic arms' degrees of freedom, thereby improving the quality and speed of the 3D printing process.
Smart Images

Figure 0007688014000003 
Figure 0007688014000004 
Figure 0007688014000005
Abstract
Description
Technical Field
[0001] The present invention relates to a method for determining a tool path for controlling a printing tool in an additive manufacturing process, particularly an additive manufacturing process, and subsequently controlling the printing tool in the additive manufacturing process based on the tool path.
[0002] Although some embodiments are described herein with particular reference to their use, it will be understood that the present invention is not limited to such fields of use and is applicable in a broader context.
Background Art
[0003] In an additive manufacturing (also called "3D printing") process, a printing mechanism (referred to as a "tool") is computer-controlled to follow a pre-defined path (referred to as a "tool path") in 3D space to create an object of interest from a printing material.
[0004] Typically, the path planning process for 3D printing involves a combination of (a) the movement of the print head while material is added to the part and (b) movements where no material is deposited. The latter may be referred to as skip or jump movements. For example, in a polymer 3D printing process, the extruder motor turns off during a jump movement.
[0005] In some additive manufacturing processes, it is difficult or impossible to quickly turn the material supply on / off in order to somehow disrupt the material deposition process. In these processes, a more appropriate tool path strategy is one where the feed is maintained in as many builds as possible.
[0006] 3D printing conventionally involves a layer-by-layer construction process. In this process, all toolpaths for layer n are completed before proceeding to the next layer n+1. In this regard, existing 3D printing software for generating G-code for 3D printing achieves computational efficiency by reducing 3D problems to 2D problems. To do this, the object is first sliced. That is, the intersections of the regular spaced planes and triangles in the STL file are found, the 2D regions to fill each layer are defined, and in this 2D region, the toolpath planning is executed layer by layer, one layer at a time.
[0007] However, this layer-by-layer approach is inefficient in more advanced systems, including 3-axis additive manufacturing systems, especially those involving one or two 6-axis robotic arms, which may be capable of performing more advanced 3D shaping. In a system with two robotic arms (one holding the part and the other holding the deposition head), up to 12 degrees of freedom are possible since rotational movements can also be performed. The strict layer-by-layer path planning approach does not utilize this freedom.
[0008] Some more advanced toolpaths have been devised, such as fractal space-filling curves like the Peano curve and the Hilbert curve. However, these paths inherently involve a large number of turns for a given path length. In large robotic applications where heavy parts and deposition heads are manipulated at high speeds, there may be too many rotations, which can require significant deceleration / acceleration. If a toolpath contains a large number of direction changes, the robot can experience excessive vibration and wear, and high-speed movement is not possible if there is not enough path length for the robotic arm to accelerate to a constant speed.
[0009] To partially address some of the above-mentioned deficiencies, Michel et al., “A modular path planning solution for Wire + Arc Additive Manufacturing”, Robotics and Computer-Integrated Manufacturing Volume 60, December 2019, Pages 1-11, used the partitioning (segmentation) of individual object layers using different path planning strategies within each segment. They call this “modular path planning (MPP)”. In the MPP process, once paths are generated for all segments, they are combined into a single layer path. However, the deposition is not continuous along the entire layer. Instead, when the end of a section is reached, the deposition is stopped and the torch moves to the starting point of the next section with the arc turned off and no material being supplied. Thus, this approach involves multiple deactivations of the tool.
[0010] Dwivedi, Rajeev & Kovacevic, Radovan (2004) "Automated torch path planning using polygon subdivision for solid freeform fabrication based on welding", Journal of Manufacturing Systems, 23(4), pp. 278-291, used a continuous path planning using monotone polygon subdivision for the welding additive manufacturing process. However, this approach does not mention extending the continuous path to other layers within the 3D structure. Therefore, this approach may follow a layer-by-layer approach.
[0011] In "Toolpath generation for the manufacture of metallic components by means of the laser metal deposition technique" by Flores, J. et al. in the International Journal of Advanced Manufacturing Technology in 2019, Vol. 101, Issues 5 - 8, pp 2111 - 2120, an optimized hybrid toolpath strategy is taught that combines a contour line and a zigzag filling pattern to provide uniform growth with a certain overlap in each build layer. Flores et al. also explain a multi - axis strategy for tilting the print head to more accurately form an overhang function. This results in the deposition of curved layers.
Prior Art Documents
Non - Patent Documents
[0012]
Non - Patent Document 1
Non - Patent Document 2
[0013] However, in each of the above technologies, the deposition of the toolpath is planned in a layer-by-layer approach where the layer (plane or curved) must be completely deposited before the next layer can be started. [Summary of the Invention] [Means for Solving the Problems]
[0014] One aspect of the present invention provides a method for determining a toolpath for controlling a printing tool, the method comprising: a) Receiving an input file containing data indicating a three-dimensional structure to be formed; b) Dividing the three-dimensional structure into a plurality of build layers, where the build layers are separated in a build direction, each build layer extends in a direction transverse to the build direction, and each build layer includes an outer contour that defines an intersection of the build layer with an outer surface of the three-dimensional structure; c) Defining a tool path for filling the three-dimensional structure, the tool path including partially filling one or more higher build layers along the build direction before completely filling at least one lower build layer; d) Generating a printing tool control algorithm including a series of control commands for controlling the printing tool to move along the tool path to form the three-dimensional structure. Including.
[0015] In some embodiments, step c) includes: c)i) Dividing each build layer into one or more layer regions; c)ii) Determining a first tool path section for completely filling a first layer region based on a first predefined filling strategy; c)iii) Determining a second tool path section for completely filling a second layer region adjacent to the first layer region in either the same layer or an adjacent layer based on a second predefined filling strategy, where an end point of the first tool path section within the first layer region is directly adjacent to a corresponding start point of the second tool path section; c)iv) Aligning a start point of a tool path section with an end point of a tool path section corresponding to a previous tool path section in an adjacent layer or layer region, and repeating steps c)ii) and c)iii) for all layer regions to define a single tool path. Including.
[0016] In some embodiments, step c) iv) includes defining a contour loop path that extends around an outer contour of a structure between a starting point and an ending point of adjacent partitions.
[0017] In other embodiments, step c) is c) i) dividing each build layer into a plurality of layer regions based on characteristics of the structure or the build process; c) ii) for each layer region, determining a plurality of possible filling path options including a starting point and an ending point within the layer region; c) iii) determining a priority graph for each feature based on features that are partially or wholly present above or below other features within the structure; c) iv) determining an execution order in a tool path according to a precedence relationship determined in the priority graph such that each function is executed only once, wherein an ending point of a current feature in the sequence is adjacent to a starting point of a next feature.
[0018] In some embodiments, the feature includes a sub-area of a structure that needs to be filled before other areas. In some embodiments, the feature includes a connection path between filling sections. In some embodiments, the feature includes a loop path that loops around a structural feature. In some embodiments, the filling path option includes a filling strategy.
[0019] In some embodiments, the printing tool is controlled to perform an additive manufacturing process to form a three-dimensional structure. In some embodiments, the three-dimensional structure forms part of a larger three-dimensional object.
[0020] In some embodiments, the tool path is continuous such that the flow of printing material to the printing tool is maintained throughout the printing process.
[0021] In some embodiments, the method comprises: a) i) receiving, from a user via a user interface, one or more construction parameters for constructing a three-dimensional structure. In some embodiments, the construction parameters include a filling strategy. In some embodiments, the filling strategy includes a double-layer strategy in which a tool-path section of layer n+1 is a direct inverse of an adjacent layer-region's tool-path section of the adjacent layer n. In some embodiments, the filling strategy includes a helical filling pattern that starts at an outer-layer-region point and ends at a central-layer-region point. In these embodiments, the filling strategy of adjacent layers includes an inverse spiral pattern that starts at a center point and ends at an outer point. In some embodiments, the filling strategy includes a raster-pattern filling strategy. The first and second filling strategies may be the same or different.
[0022] In some embodiments, dividing the three-dimensional structure into a plurality of sub-regions includes dividing the three-dimensional structure into one or more volume structures before defining the construction layers. The construction layers may include planes, curved surfaces, or other shapes.
[0023] A second aspect of the present invention provides a method for determining a tool-path for controlling a printing tool, the method comprising: a) receiving an input file containing data representing the three-dimensional structure to be formed; b) dividing the three-dimensional structure into a plurality of sub-regions, the sub-regions including a plurality of construction layers, each construction layer including an external contour defining an intersection of the construction layer and an outer surface of the three-dimensional structure; c) dividing each construction layer into one or more layer regions; d) determining a first tool-path section that completely fills a first layer region based on a first predefined filling strategy; e) determining a second tool path section that completely fills a second layer region adjacent to the first layer region in either the same layer or an adjacent layer based on a second predefined filling strategy, wherein an end point of the first tool path section within the first layer region is directly adjacent to a corresponding start point of the second tool path section; f) repeating steps d) and e) for all layer regions by aligning a start point of a tool path section with an end point of a tool path section corresponding to a previous tool path section in an adjacent layer or device region to define a single tool path; g) generating a print tool control algorithm that includes a series of control commands to control a print tool to move along the tool path to form the three-dimensional structure; including.
[0024] In some embodiments, step f) includes defining a contour loop path that extends around an outer contour of the structure between a start point and an end point of adjacent partitions.
[0025] In some embodiments of the first and second aspects, the tool path is defined to optimize the printing time for forming the three-dimensional structure. In some embodiments, the tool path is defined to minimize the number of print tool jumps along the tool path during formation of the three-dimensional structure. In some embodiments, the tool path is defined to minimize the number of path intersections along the tool path. In some embodiments, the tool path is continuous and does not intersect other sections of the path. In some embodiments, the tool path is defined to minimize the amount of printing material used to form the three-dimensional structure. In some embodiments, the tool path is defined to optimize the number and degree of rotations of the print tool along the tool path. In some embodiments, the tool path is defined to optimize intersections of several layers to enhance the overall build strength of the three-dimensional structure.
[0026] Preferably, the steps of the above method are sequentially executed in the order in which they are described.
[0027] A third aspect of the present invention provides a method of controlling a printing tool in an additive manufacturing process, the method comprising: executing, by a computer processor, a printing tool control algorithm generated by the method according to any one of the preceding claims; generating an electrical signal for controlling the printing tool to move along a tool path to form a predefined three-dimensional structure in response to the printing tool control algorithm.
[0028] In some embodiments, the printing tool control algorithm includes instructions for changing one or more build parameters across different build layers or layer regions. In some embodiments, the line spacing of the printing tool varies between one or more layer regions. In some embodiments, the movement of the printing tool varies between one or more layer regions. In some embodiments, the filling strategy varies between one or more layer regions. In some embodiments, the thickness or height of the build layer varies between one or more layers.
[0029] In some embodiments, the printing tool includes at least one robotic arm. In some embodiments, the printing tool includes a cold spray gun held in an operating position by the robotic arm.
[0030] A fourth aspect of the present invention provides a computer system configured to implement the method according to any one of the first, second, or third aspects.
[0031] A fifth aspect of the present invention provides a computer program which, when executed by a computer, includes instructions for causing the computer to execute the method according to any one of the first, second, or third aspects.
[0032] The sixth aspect of the present invention provides a computer-readable storage medium that, when executed by a computer, includes instructions for causing the computer to execute a method according to any one of the first, second, or third aspects.
[0033] The seventh aspect of the present invention provides an additive manufacturing system, the additive manufacturing system including a computer processor configured to execute a printing tool control algorithm generated by the method according to any one of the first to third aspects, and a printing tool responsive to an electrical signal generated by the computer processor based on the printing tool control algorithm, wherein the electrical signal is configured to move the printing tool along a tool path to form a predefined three-dimensional structure.
[0034] Preferred embodiments of the present disclosure are described by way of example only with reference to the accompanying drawings. It will be understood that the embodiments shown are merely examples and should not be construed as limiting the scope of the invention defined by the claims appended hereto.
Brief Description of the Drawings
[0035]
Figure 1
[0036]
Figure 2
[0037]
Figure 3a
[0038]
Figure 3b
[0039]
Figure 4a
[0040]
Figure 4b
[0041]
Figure 4c
[0042]
Figure 4d
[0043]
Figure 4e
[0044]
Figure 4f
[0045]
Figure 5a
[0046]
Figure 5b
[0047]
Figure 6
[0048]
Figure 7a
[0049]
Figure 7b
[0050]
Figure 8
[0051]
Figure 9a
[0052]
Figure 9b
[0053] 。
Figure 10a
Figure 10b
Figure 10c
[0054]
Figure 11
[0055]
Figure 12a
[0056]
Figure 12b
[0057]
Figure 12c
[0058]
Figure 12d
[0059]
Figure 13a
[0060]
Figure 13b
[0061]
Figure 13c
DETAILED DESCRIPTION OF THE INVENTION
[0062] (System Overview) The embodiments disclosed and illustrated herein are described with reference to cold spray deposition type 3D printing in which solid powder is projected onto a substrate under pressure and adheres to the substrate. However, it will be understood that the present disclosure is also applicable to other types of 3D printing such as welding-based additive manufacturing (e.g., wire arc additive manufacturing), viscous fluid 3D printing, 3D printing of polymers and fiber-reinforced polymers, and concrete 3D printing.
[0063] Referring first to FIGS. 1 and 2, two similar but different cold spray additive manufacturing systems 100 and 200 are shown. The system 100 of FIG. 1 includes a print head in the form of a stationary cold spray gun 102 and a six-axis robotic arm 104 for holding a substantially planar print substrate 105. The cold spray gun 102 is a model manufactured by Plasma Giken Kogyo Co., Ltd. and includes a body 107 and an elongated cylindrical print head 114. The spray gun print head 114 is adapted to project a beam of deposition powder onto a desired area of the substrate 105 under high pressure. During the collision with the substrate, the particles undergo plastic deformation and adhere to the surface of the substrate 105. Typical material powders include metals and their alloys, polymers, ceramics, composite materials, and nanocrystalline powders, and typical particle sizes are about 1 to 50 microns.
[0064] FIG. 2 shows a system similar to that of FIG. 1, but with the cold spray gun 103 attached to a second six-axis robotic arm 116. Corresponding features in FIG. 1 are denoted by like reference numerals in FIG. 2. The cold spray gun 103 is a model manufactured by Impact Innovations GmbH and includes a substantially cylindrical and elongated body 106 extending between a backend 108 from which a material supply conduit 110 extends and a frontend 112 from which the spray gun print head 114 protrudes.
[0065] It will be understood that the spray gun 103 and the robotic arms 104 and 116 can be replaced by other equivalent devices for performing cold spray deposition or other additive manufacturing processes. In other embodiments, the dual robotic arm system can be replaced by other combinations of fixed or robotic controlled mounts. For example: · In one embodiment, the cold spray gun (or other print head) is held by a robotic arm and the substrate is maintained stationary on a fixed mount. · In one embodiment, the spray gun (or other print head) is held by a 6-axis robotic arm and the substrate is attached to a positioning device consisting of a turntable and a tilting mechanism. This system provides two additional axes to the robotic arm. · In other embodiments, an additive manufacturing cell is provided that uses motors to move the print head and / or substrate stage along a track or rail. For example, a Cartesian 3D printer uses three sets of motors (such as stepper motors) to perform X-Y-Z translational motion. Similar systems using delta configurations and polar configurations are available.
[0066] In other embodiments, the cold spray system 100 can be replaced by other additive manufacturing systems, and the cold spray gun 102 can be replaced by other print heads. For example, in a wire arc additive manufacturing (WAAM) system, the print head includes a welding torch. In a directed energy deposition (DED) system, a laser, electron beam, or plasma arc is incorporated into the print head to deposit material by melting. In other systems, the print head may include an extrusion nozzle.
[0067] The 3D position and 3D orientation of the print head 114 are precisely electro-mechanically controlled by a 6-axis robotic arm 116 attached to the top of the spray gun body 106. Similarly, the 3D position and 3D orientation of the substrate 105 can also be precisely electro-mechanically controlled by the robotic arm 104, enabling complete print control over 12 degrees of freedom.
[0068] Referring now to FIG. 3a, the robotic arms 104 and 116 are controlled by a control computer 118 that is in data connection, either electrically or wirelessly, with each robotic arm. By way of example, the robotic arms 104 and 116 and the control computer 118 may be industrial robots manufactured by ABB Robotics. The control computer 118 is configured to send a position control signal 120 to the robotic arm 104 to position and orient the substrate 105 at any 3D position / direction within the operating space. Similarly, the control computer 118 is configured to send a position control signal 122 to the robotic arm 116 to position and orient the print head 114 at any 3D position / direction within the operating space. Further, the control computer 118 is also configured to send a deposition material flow control signal 124 to the spray gun 102 to selectively activate, deactivate, or change the flow parameters of the material flow from the print head 114. In some embodiments, additional feedback control signals are also sent from the robotic arms 104 and 116 and the spray gun 102 to control the computer 118.
[0069] As shown in FIG. 3b, in another configuration, a separate control computer 130 can be used to control the spray gun 102 for the cold spray process to the computer 118 used to control the robotic arms 104 and 116. In this arrangement, the cold spray process is completely independent of the robot controller. This has the advantage of facilitating the deposition process in a more consistent manner without the need to adjust feed rates, outputs, etc. to keep them optimal.
[0070] Throughout this specification, the use of the term "printing tool" for performing an additive manufacturing process is intended to refer to one or more of the spray gun 102, the print head 114, and the robotic arms 104 and 116. In this regard, a "tool path" may refer to the relative physical position between the tip of the print head 114 or the tool centre point (TCP) and the substrate 105. In cold spray robot programming, the TCP is typically a short distance from the tip of the nozzle. For example, the substrate can be maintained at a set stand-off distance, such as 20 mm or 30 mm, from the end of the nozzle. When the print head is angled with respect to the material, the centre of rotation is the TCP. The shape of the tool path is typically defined with respect to the substrate 105. As an example, a 3D tool path coordinate system can be defined with respect to a corner of the substrate 105.
[0071] The control signals 120, 122, and 124 include a series of encoded control commands for controlling the printing tool to move along the tool path to form the three-dimensional structure or object being manufactured. These control commands for the position control signals 120 and 122 are determined by the tool path planning process outlined below with reference to FIG. 4.
[0072] (Tool Path Planning) Referring to FIG. 4a, a method 400 for determining a tool path for controlling a printing tool as shown in FIGS. 1 and 2 is shown. In a first step 401, the method 400 includes receiving an input file containing data representing the three-dimensional structure to be formed.
[0073] The input file is typically an STL (stereolithography) file created from a 3D model of a structure or object created using a computer-aided design (CAD) software package. However, the input file may take other formats such as the.OBJ,.AMF,.3MF file formats. As an example, FIG. 5a shows an exemplary arrow-shaped object 500 formed as represented by a 3D CAD file. FIG. 5b shows the corresponding STL triangulation 501 of the 3D CAD file. The STL file is a standard file format for inputting into various slicing software products that can be used in 3D printing applications. The STL file describes only the surface geometry of the 3D structure without representing other common CAD model attributes such as color and texture.
[0074] It should be understood that the input file can be created using any of a variety of commercially available CAD software packages, including but not limited to SolidWorks (owned by Dassault Systemes SolidWorks Corporation), Autodesk Fusion 360 (owned by Autodesk, Inc), and Autodesk Inventor (owned by Autodesk, Inc).
[0075] In optional step 402, one or more build parameters for constructing the three-dimensional structure may be input by the user via the user interface. The user interface may be a graphical user interface (GUI) accessible via a display and a user input device in data communication with the control computer 118. Alternatively, the user interface may be accessible by a separate computer device that is in data communication with the control computer 118 via a network such as a LAN or the Internet. Step 402 is optional in that the build parameters may be automatically predefined and set rather than manually input. In either case, it is necessary to define specific build parameters before starting the tool path determination process.
[0076] Examples of build parameters include the following. · Infill strategies such as raster, spiral, zigzag, hybrid pattern infill strategies · Layer height or thickness of the build layer · Inter-row spacing of the tool path · Travel speed of the print head · Nozzle angle of the print head · Minimum or maximum value of the radius of curvature of the tool path · Starting point of the print head · Tolerance or deviation allowed from the actual tool path specification
[0077] FIG. 6 shows a screen shot of an example of a GUI 600 used for slicing an STL file, calculating a tool path, and outputting a print tool control algorithm. The software behind this GUI is written in the Python programming language. However, it will be understood that similar programs may be implemented in other programming languages.
[0078] In optional step 403, the three-dimensional structure can be divided into a plurality of volume structures. This volume division can occur when the three-dimensional structure is more complex and contains components of various shapes. Examples of complex structures that can be divided into different volume sub-regions include structures with overhangs such as brackets and wing ribs. Or, take a table as an example. In this case, the base of the table is divided individually for each leg, and the different volume structures are manufactured individually. Thus, the three-dimensional structure manufactured by the tool path determined by method 400 can form part of a larger three-dimensional object where different volume structures have different build directions. In the case of a simple structure, the construction process can be executed without dividing the three-dimensional structure into volume structures.
[0079] In step 404, for each of the volume structures, a build direction is defined through the structure, and a plurality of build layers extending transverse to the build direction are defined. As an example, FIG. 7a shows a 3D cross-shaped structure 700 divided into a plurality of horizontal planes (e.g., 701) indicated by dashed lines. The build direction is indicated by arrow 702. The layers 701 resulting from the slicing are shown in FIG. 7b.
[0080] Since the additive manufacturing process involves the continuous deposition of material onto the substrate 105, there necessarily exists a predefined build direction that is typically perpendicular to the surface of the substrate 105. As described below, in some embodiments, there may be multiple build directions for different volume structures of the object, particularly when more complex support elements are required for the structure. However, within a particular volume structure of the object, the additive manufacturing process has conventionally relied on deposition in a series of build layers.
[0081] Since each build layer extends across the entire three-dimensional structure, it contains one or more contours that are loops defining the intersection of the build layer with the surface of the object being formed. Generally, 3D models such as STL format files approximate the surface of the model with a triangular mesh. As a result, the intersection of the layer plane with the model surface generates contours that include straight line segments. These are simple, non-intersecting polygons.
[0082] The outer contour results from the intersection of the layer plane with the outer surface of the 3D object, such as the vertical walls of the cross-shaped structure 700. Each defined layer must contain at least one outer contour. Inner contours are always restricted to the area surrounded by the outer contour and result from slicing a 3D object that contains an internal cavity. Not all layers contain inner contours. If the 3D object does not contain an internal cavity, the sliced model will have no inner contours.
[0083] The build layer extends approximately perpendicular to the defined build direction, although in the case of a curved layer, it may extend partially in the direction of the build layer. However, more generally, the build layer extends horizontally with respect to the build direction. Conventional additive manufacturing processes rely on completely filling the build layer between the outer contour and the inner contour (if present) before the process moves to the next layer.
[0084] As shown in the inset of Figure 7a, the layering process of step 404 involves slicing the three-dimensional structure of the STL file (or other input file format) into n one-directional or multi-directional layers separated by a thickness d based on a slicing algorithm. The thickness d of each layer selected when setting the build parameters ultimately determines the positions of the robotic arms 104 and 116 between the layers. However, as the layer gets thicker, more printing material needs to be projected from the print head 114 of each layer. Therefore, the layer thickness build parameter partially defines the position control signals 120 and 122, as well as the material flow control signal 124.
[0085] As described above, the STL file contains a set of triangles in three-dimensional space. Each triangle is composed of three line segments. In one embodiment, the layering process of step 404 includes determining the intersections of a set of STL line segments with an infinite plane that defines a layer. Next, the intersections are arranged and grouped to create a contour polygon.
[0086] As described above, typically, a build layer includes planes that extend in directions transverse and perpendicular to the build direction. However, in some embodiments, the build layer may include curved surfaces or other non-planar structures. For example, in a cylindrical slice, a rotational motion is performed using the axis of a robotic arm.
[0087] If a larger three-dimensional structure is divided into separate volume structures in step 403, this layer splitting process of step 404 can be performed separately for each volume structure, and each volume structure may include a different build direction. Thus, by way of example, the three-dimensional structure may comprise three volume structures V i , V j , V k , and each volume structure may be divided into a stack of layer slices of respective thicknesses d i , d, and d k having n i , n j , and n k respectively. The number and thickness of the layer slices of different volume structures may be the same or different.
[0088] In step 405, by adopting the partial layer completion technique specific to the present invention, a tool path for filling the volume structure (or the entire three-dimensional structure if only a single volume structure is defined in step 403) is defined. In this partial layer completion method, a tool path for filling the volume structure is defined by partially filling one or more upper build layers along the build direction before completely filling at least one lower build layer. In this way, the tool path is not restricted to a layer-by-layer approach as in the prior art, and utilizes the available degrees of freedom by traversing the entire three-dimensional volume structure.
[0089] To execute the partial layer completion technique in step 405, several different approaches are possible. One such approach is to utilize an optimization algorithm to define an appropriate path with partial layer intersections. In one approach, individual sections of the tool path are defined within the volume structure and these are linked using an optimization algorithm based on graph theory. For example, a Hamiltonian path search algorithm can be applied to link adjacent sections of the tool path while using each section of the tool path only once.
[0090] In three dimensions, a tool path section of layer n can be adjacent to an adjacent region of layer n, or a region of layer n + 1 or n - 1. This approach is particularly useful when attempting to fill complex shapes that require multiple transitions across different layers to link the sections. Alternatively, the distance between nearby sections of the tool path can be recorded as a cost matrix. Next, a cost minimization routine can be implemented to find the minimum path between nearby sections. A precedence graph can be created to track the regions of the lower layer that need to be filled first before filling a specific region of the current layer to avoid "undercuts".
[0091] (Dual-layer tool path strategy) Referring now to FIG. 4b, an exemplary method of performing step 405 to define tool paths based on a double-layer strategy for performing the completion of a partial layer is shown. In step 405a, each build layer is divided into one or more lateral layer elements or partitions. By way of example, FIG. 8 shows layer 701 of the cross-shaped structure 700 of FIG. 7 divided into three rectangular partitions P1 - P3. In some embodiments, particularly where the structure being formed has a relatively simple shape, the output of step 405a may be that the layer is defined by a single layer region encompassing the entire layer.
[0092] Step 405a includes, for each layer, dividing the area enclosed by the outer contour into smaller polygons. For example, a convex partitioning routine can be used to remove concave vertices to simplify the calculation of infill paths. In some embodiments, the layer partitioning of step 405a is incorporated into the infill path calculation routine (step 405b below), although performing these processes as separate steps typically provides a simpler workflow.
[0093] In step 405b, a first tool path section that completely fills the first partition is determined based on a first predefined filling strategy. The filling strategy can be any one of a plurality of known strategies such as a raster, spiral, or hybrid strategy. FIG. 9a shows an example of a spiral pattern filling strategy for a rectangular partition, and FIG. 9b shows an example of a raster pattern filling strategy for the same area. In these figures, the solid lines represent the tool paths within the outline of the rectangle shown by the dashed lines. The vertices of the outline are labeled 1, 2, 3, 4, and the first two vertices of the infill path are labeled 5 and 6.
[0094] When using L as the line spacing, in the spiral filling strategy, each line segment is offset inward by a distance L until the area enclosed by the contour is filled. First, the contour segment is offset (dotted line), and then the segments of the spiral pattern itself are offset to create new line segments in the spiral pattern.
[0095] In the raster filling strategy, the first contour segment is offset by a distance L, then moved a little in the direction of the next segment, and then the first segment is offset again.
[0096] In the hybrid filling pattern, a more arbitrary combination of full movement and short movement is used so that some parts look like a spiral and other parts look like a raster. Figures 10a - 10c show three exemplary hybrid filling patterns used to fill a rectangular partition.
[0097] It should be noted that the end points are in different places for each filling strategy. Thus, the computer algorithm can reach points adjacent to the starting points of adjacent partitions, for example, in the upper or lower layers, using various combinations of raster and spiral.
[0098] In step 405c, a second tool path section that completely fills the second layer region is determined based on a second predefined filling strategy. The second predefined filling strategy may be the same as or different from the first predefined filling strategy. The second layer region is preferably disposed adjacent to the first layer region of the next adjacent layer (n + 1). To maintain partial or complete continuity, the end point of the first tool path section within the first layer region preferably directly abuts or is as close as possible to the corresponding start point of the second tool path section. This is schematically shown in FIG. 11. This figure shows the tool path sections of the same square layer region of two adjacent layers. As shown in the figure, in layer n, the tool path section extends from point A to point B, and in layer n + 1, the tool path section returns from point B to point A, providing a continuous tool path spanning two adjacent layer regions.
[0099] In the example shown in FIG. 11, the order in which the functions are executed is as follows. i) The lower contour of square layer n connected to point A ii) Filling in layer n from point A to point B iii) Step up to layer n + 1 and fill in the reverse direction from point B to point A. iv) Step down to layer n and move counterclockwise to move to the black point. v) Step up to layer n + 1 and execute a complete counterclockwise contour loop. The end point is the same as the start point but one layer above. If the tool head is raised one more layer and the pattern is repeated, the layer regions within the next two layers (n + 2 and n + 3) can be filled in a similar two - layer method before completely filling either layer n + 2 or n + 3.
[0100] Such a filling strategy can be called a double-layer strategy where the tool path section of layer n+1 is the direct inverse of the tool path section of the adjacent layer region of the adjacent layer n. Although FIG. 11 shows an inverse raster pattern, it is understood that other interlaced patterns are possible. For example, one double-layer filling strategy may include a spiral filling pattern that starts at the outer layer region points of layer n and ends at the central layer region points of layer n. The filling strategy for the adjacent layer n+1 includes an inverse spiral pattern that starts at the center point and ends at the outer point.
[0101] FIGS. 12a through 12c show three exemplary tool paths that can be used to fill layer 701 of the cross-shaped structure 700 shown in FIG. 7. Here, the arrows indicate the movement direction of the tool head, and the dots indicate the transition from the current layer to the upper layer. The dashed lines represent the transition movement from the upper or lower layer to the current layer. The path strategies of FIGS. 12a and 12b represent insufficient strategies that do not utilize the layer partitioning of step 404 shown in FIG. 8. The path strategies of FIGS. 12c and 12d represent improved strategies that utilize layer partitioning and provide continuous non-crossing paths.
[0102] FIG. 12a shows an insufficient tool path strategy that treats the cross as two rectangles. With this tool path, the amount of material in the central square where the two rectangles overlap is doubled. When the material is deposited by cold spray, the height of the upper surface of the build becomes uneven and not perpendicular to the spray nozzle, resulting in a high level of porosity. Furthermore, to continue the build process, excess material needs to be removed periodically.
[0103] FIG. 12b shows a raster pattern that avoids the doubling problem, but it is still a cross-path strategy. When a sharp change in dimensions occurs, the filling path intersects the contour. The path also leaves the area surrounded by the outer contour when transitioning from one layer to the next. Therefore, this tool path strategy is also not optimized.
[0104] Figure 12c shows continuous non - intersecting paths that fill the cross - shaped structure by following the layer division shown in Figure 8. The raster fill pattern is arranged vertically within each partition. The contour loop path is used to move from one partition to another. There is one transition from the layer shown in each partition to the layer above and another transition to the left - hand outer contour (a total of 4 layer transitions). The upper layer contains the same raster pattern but with the direction of movement reversed. Figure 12d shows the same tool path but as a 3D view of two adjacent layers.
[0105] When the tool path is continuous, as in the strategies of Figures 12c and 12d, the flow of printing material to the print head 114 can be maintained throughout the printing process. This avoids unwanted de - activation (or "jumps") of the print head 114 that could impede the process of material flow. Depending on the feed mechanism, it may not react almost instantaneously even when the feed is turned off and then on again. In powder supply processes, when the supply is restarted, there is often a period of non - uniform or unstable logistics flow. In cold spray processes, sudden disruptions in powder injection cause fluctuations in the supersonic gas flow, leading to defects in the deposit, excessive porosity, or nozzle blockage. In pump - driven supplies of viscous fluids, it is difficult to stop the flow due to pressure accumulation. This can also reduce the amount of material to be deposited, the processing time, and the energy required to execute the manufacturing process.
[0106] According to the tool path strategy shown in FIGS. 11 and 12, it is pointed out that the areas of two adjacent layers of the structure are partially filled, and then one of these layers is completely filled. This is different from the prior art techniques where the structure is fabricated purely layer by layer and adjacent layers are not started until the previous layer is completed. This additional flexibility of the tool path provides a more continuous tool path that has advantages in terms of time, cost, and manufacturing quality. Further, the partial layer filling technique optionally provides for defining more interlayer tool intersections along the build direction. This allows the layer intersections to function as reinforcement along the build direction, reducing layering and increasing the strength of the overall build.
[0107] Conventional 3D printed parts often exhibit mechanical anisotropy because the properties in the Z direction (build direction) are inferior compared to the properties measured in a direction parallel to the X-Y (build layer) plane. For example, in 3D printing of common polymers such as acrylonitrile butadiene styrene (ABS) and polylactic acid (PLA), the strength in the build direction is often 50 - 75% lower than the in-plane strength because there is no interdiffusion of polymer chains across the layers. (See C. Duty, J. Failla, S. Kim, T. Smith, J. Lindahl, V. Kunc, Additive Manufacturing 2019, 27, 175 - 184).
[0108] Another example is the 3D printing of fiber-reinforced polymers, such as the 3D printing of carbon fiber-reinforced polymers, glass fiber-reinforced polymers, or Kevlar-reinforced polymers. Sometimes called continuous fiber printing, in practice, the laying of fibers is interrupted at the completion of each layer and often interrupted several times within each layer. To compensate for this, it has been proposed that in a process known as "z-pinning", vertical voids into which pins are inserted can be intentionally printed into the part (see Roschli, Alex C., Duty, Chad E, Lindahl, John M., Post, Brian K., Chesser, Phillip C., Love, Lonnie J., and Gaul, Katherine T. Increasing Interlaminar Strength in Large Scale Additive Manufacturing. United States: N. p., 2018. Web.). However, the inventors have determined that by incorporating layer intersections into the toolpath, a simpler way to improve Z-direction properties can be provided without significantly modifying or adding cumbersome steps to the manufacturing process.
[0109] In some embodiments, it may be advantageous to fully fill a particular layer before filling adjacent layers. It will be appreciated that different filling strategies can be employed across different layer regions and different layers such that some layers are fully filled sequentially and other layers are only partially filled at once. For example, a hybrid of a spiral pattern and a raster pattern can be implemented. In one particular example, a raster pattern that changes direction by 90 degrees in each successive layer is called a cross-hatching pattern.
[0110] In step 405d, a determination is made as to whether the tool path is complete. If there is an additional layer region to fill, steps 405b and 405c are repeated for all layer regions by aligning the starting point of the tool path section with the corresponding end point of the tool path section of the previous tool path section of the adjacent layer or layer region. Matching means that the starting and ending points of each tool path section are close enough to minimize or avoid deactivation or jumps of the print head 114.
[0111] To achieve a continuous path between tool path sections, it is advantageous for the tool path strategy to loop around the outer contour of the structure when connecting the start and end points of the partition. This contour loop reduces the likelihood of individual partitions or layer regions becoming disjoint and enhances the ability to provide a continuous path. Thus, the outer contour path is divided into sections that provide links between the end and start points of each section of the fill path.
[0112] (Hamiltonian tool path strategy) Referring now to FIG. 4c, another exemplary method of performing step 405 to define a tool path based on a Hamiltonian closed-loop problem strategy for performing the completion of a partial layer is shown.
[0113] In step 405i, each build layer is divided into a plurality of lateral layer regions or partitions. Each layer region is determined based on the corresponding "element". As will be described below, each element represents a node of the Hamiltonian circuit problem. An element may include a sub-region or layer of a structure that needs to be filled before other regions. These are created by dividing the region enclosed by the outer contour path into smaller regions. An element may also include a connection path between the filling sections. For example, these may be sections of the outer contour loop path. An element may also include a loop path such as an inner contour loop that represents a path that can go around the perimeter of a hole formed from the inner contour. The loop path ends at the same place where it started. An element may also include a section of the outer contour loop. The section of the outer contour loop provides a link path between the partitions adjacent to the contour
[0114] In step 405ii, for each layer region, a plurality of possible filling path options are determined. Each path option has a start point and an end point associated with it, and there is an optionally prioritized or pre-defined filling strategy. Elements such as contour path sections also have a list of possible start and end points.
[0115] FIG. 4d shows an example of an adjacency graph created from three elements in either of two layers. In reality, there are many more layers and elements within each layer. Each element can be executed in various ways within constraints such as the direction of a specified raster line or the direction along a contour path. Each path option has a start point and an end point. A list of possible start points and corresponding end points can be assembled for each element. Next, an adjacency test can be performed based on the Euclidean distance between the end point of one element and the start point of another element.
[0116] In step 405iii, a priority graph for each element is determined based on elements that are partially or entirely located above or below other elements within the structure. An element is not executed until all of the underlying elements are complete. However, various regions of the layer above a particular layer may be complete before all regions of that particular layer are complete. In this way, a partial layer completion approach is followed that does not limit the tool path strategy to layer-by-layer completion.
[0117] Figure 4e shows a priority graph that could apply to the same set of three partitions. The graph shows that element E2 in layer n is partially or entirely below E3 in layer n+1, whereas E1 in layer n is not. Therefore, before executing E3, a check must be performed to confirm that E2 is already complete. There is no such constraint for E1.
[0118] In step 405iv, the order of element execution in the tool path is determined, and the selection of infill options for each layer region is determined. This determination may be based on the following requirements. a) Each element is executed only once. b) The order of execution follows the precedence relationships determined by the priority graph during step 405iii. And, c) The end point of the current element in the sequence is adjacent to the start point of the current element.
[0119] Figure 4f shows layer n of the square region shown in Figure 11, showing how it is divided into four elements. E1 n , E2 n , and E3 n of the three elements form an outer contour loop path. The thick lines at points 2 and 3 indicate where the contour path is divided into sections. E1 n extends from the start point (1) of the layer to point 2, E2 n extends from point 2 to 3, and E3 n extends from point 3 to the end point 4 of the contour. E4 nis the area inside a square that is shown to be filled using a raster pattern from point A to point B. E4 n Another filling option for n is to traverse the same path in the reverse direction, from point B to point A. Layer n+1 has the same shape as layer n, E1 n+1 , E2 n+1 , E3 n+1 , and E4 n+1 has equivalent elements as shown by n+1 .
[0120] As an example, the requirement for endpoint / startpoint adjacency shows that E4 n can be followed by E1 n , but not vice versa. If the direction of the path of E4 is reversed, i.e., from point B to point A, E4 n may not follow E1 n .
[0121] The priority matrix for this set of elements is shown in Table 1 below. Table 1 shows, for example, that since E1 n is directly below, E1 n cannot be executed until E1 n+1 is executed.
[0122]
Table 1
[0123] Taking into account both adjacency and priority, the solution to this problem shown in Figure 11 has the following order of elements. E1 n , E4 n , E4 n+1 , E2 n , E3 n , E1 n+1 , E2 n+1 , E3 n+1 . E4 n 's path option proceeds in the direction from A to B, and E4 n+1 's path option proceeds in the direction from B to A.
[0124] By following steps 405i through 405iv, a Hamiltonian cycle can be determined that represents a path within the priority graph that visits each vertex exactly once.
[0125] Once all the tool path sections in all the layer regions of the structure are complete, they are combined to define a single tool path. In a preferred embodiment, the tool path strategy employed for each layer region is defined such that the end tool paths are continuous and do not cross other sections of the path. However, it will be understood that the tool path can be defined to optimize other parameters such as the following. · Optimize the printing time for forming the three-dimensional structure by minimizing the time during which the print head is not printing material. · Minimize the number of print tool jumps along the tool path. Jumps occur when there is sufficient distance between the starting and ending points and the flow of material from the print head 114 must be temporarily stopped. · Minimize the number of path intersections along the tool path. If the supply of material is not stopped, path intersections can cause unnecessary additional material to deposit on the structure. This additional material usually needs to be individually removed by a filing or shaving process either before depositing additional layers or after all layers have been deposited. · Minimize the number of paths that leave the area enclosed by the outer contour. That is, "draw" on the outside of the 3D model. For example, the diagonals in FIGS. 12a and 12b represent paths that leave the outer contour of the object being manufactured. At best, these external paths cause waste of material and, in the worst case, they can result in unwanted deposition on lower layers. · Minimize the amount of printing material used to form the three-dimensional structure. Continuous and non-crossing paths provide the minimum amount of required printing material. However, if such continuous and non-crossing paths are not possible (e.g., when a complex structure is formed), different path options that require different amounts of printing material may be available. · When optimizing the number and degree of printing tools, they rotate along the tool path. For sharp rotations of the tool path, either a higher acceleration or a slower movement of the print head is required. The former may have an adverse effect on the material deposition process, and the latter may increase the printing time. · Throughout the printing process, disperse the printing process across different regions of the structure. Excessive printing of one local area of the structure can cause overheating and may result in structural deformation or weaknesses in the final product. · Optimize some layer intersections, especially in the Z direction (build direction), to enhance the strength of the entire build. The number of layer intersections can be increased by dividing each layer into more and finer partitions and connecting them into a completely continuous path using transitions between layers.
[0126] Figure 13a shows a continuous path for manufacturing the arrow-shaped object 500 of Figure 5. Figure 13a shows six layers and indicates the positions of the transitions between adjacent layers. Figure 13b shows a raster-style tool path filling strategy for one of the layers of Figure 13a. Here, the dots indicate transitions to or from adjacent layers.
[0127] When the 3D structure is divided into volume sub-regions, the number of tool jumps for the entire structure can be minimized to be equal to the number of sub-regions. The sub-regions need to be correctly selected so that there is exactly one outer contour for each layer after slicing.
[0128] For more complex structures divided into multiple volume structures in step 403, steps 404 and 405 are repeated for each volume structure.
[0129] Returning to FIG. 4a, finally, in step 406, a print tool control algorithm is generated based on the defined tool path. The algorithm includes a series of control commands for controlling the print head 114 to move along the tool path to form a three-dimensional structure. This algorithm is executed by the control commands transmitted as the control computer 118 and the control signals 120, 122, and 124, and the printing process can be executed via the robotic arms 104 and 116 and the spray gun 102.
[0130] The algorithm output in step 406 is a robot program for performing additive manufacturing. Depending on the specific robot system, it may be described in G-code (computer numerical control - CNC code) or other languages. For example, robots developed by ABB Robotics are executed in ABB's own programming language called RAPID.
[0131] The following is the first line of the RAPID robot program created by method 400. Method 400 can be used to output in other programming languages, such as G-code.
[0132] [Table 2]
[0133] It will be understood that method 400 forms the first step for performing an additive manufacturing process. In this regard, one aspect of the present disclosure relates to a method of controlling a print tool such as system 100 in an additive manufacturing process. This method includes the following. a) Executing the print tool control algorithm generated by method 400 by a computer processor such as the control computer 118. And b) In response to a printing tool control algorithm, generate electrical signals (e.g., signals 120, 122, and 124) and control the printing tool to move along a defined tool path to form a predefined three-dimensional structure.
[0134] In addition to simply controlling the position and flow of the print head 114, the printing tool control algorithm may also include instructions for changing one or more construction parameters across different build layers or layer regions. For example, the line spacing and / or movement (e.g., minimum speed or maximum acceleration) of the print head 114 can be controlled to vary between one or more layer regions. These parameters may be changed during the printing process, but the determination of when and where to change the parameters is predefined and set in the tool path planning process before printing begins.
[0135] It will be appreciated that method 400 can be implemented as a computer program including instructions that, when executed by a computer such as control computer 118, cause the computer to execute method 400. Method 400 can also be embodied as a set of instructions stored on a computer-readable storage medium. When the storage medium is interfaced with a computer (such as control computer 118), the instructions can be executed by the computer to cause the computer to execute method 400.
[0136] The above disclosure provides a more sophisticated tool path strategy that allows for multiple transitions between adjacent layers and removes previous limitations on sequential layer completion to achieve a continuous tool path. By filling one or more layer regions of the upper build layer along the build direction before filling all layer regions of at least one lower build layer, a tool path for filling the three-dimensional structure can be defined. That is, this allows material to be placed in layer n+1 or n+2, etc., before layer n is completely filled.
[0137] Furthermore, before layer slicing, the object can be divided into sub-volumes to reduce the problem of sub-components that can be printed continuously. Additionally, since multiple build directions are possible in volume subdivision, the function of a robot that holds the parts in any direction during construction can be utilized.
[0138] In the case of multi-material construction, a combination of a volume division algorithm and non-planar slicing may be used to maximize the continuity of printing of one material component, i.e., to reduce the number of switches from one material to another within an interconnected multi-material construction.
[0139] (Example of arrow cold spray) An example of a tool path for generating the arrow shape shown in the figure was actually demonstrated using cold spray metal deposition. Aluminum was sprayed onto a 200×200×6 mm aluminum build plate using a Plasma Giken PCS-1000L high-pressure cold spray system. The cold spray gun was stationary while the build plate was moved in front of the nozzle by an ABB IRB4600 robot arm.
[0140] The tool path planning algorithm was created in Python. The arrow STL file was sliced at a layer height of 0.5 mm. The problem of continuous paths was solved using a double-layer strategy. A raster pattern filling pattern was used with a line spacing of 2 mm, and the raster angle was rotated 90° every two layers. A tool speed of 50 mm / s was used. After calculating the tool path, the Python program output an ABB RAPID module file. This file was later opened with ABB RobotStudio software.
[0141] Before the cold spray, the aluminum construction plate was grit blasted to improve the adhesiveness of the cold spray material. The cold spray powder feeder was filled with pure aluminum powder with an average particle size of 36.1 μm. Nitrogen gas was used as the accelerating gas. The settings of the cold spray gas were as follows: 400 °C and 4.0 MPa. The stand-off distance between the nozzle exit and the construction surface was maintained at 30 mm. The total construction time was about 20 minutes.
[0142] Figure 13c shows the completed structure, indicating that no aluminum was deposited on the construction plate outside the area of the arrow. Furthermore, the upper surface of the build is approximately flat, taking into account some height variations due to fluctuations in powder supply. This indicates that the tool path planning algorithm, which implements the completion of partial layers, has successfully filled all areas of the part evenly. If the tool path included overlaps, repeating path sections, or intersections from one location to another, the arrows would have indicated overbuilt and underbuilt features.
[0143] (Interpretation) In this specification (including the claims), when any or all of the terms "comprise", "comprises", "comprised", or "comprising" are used, they refer to the recited features, integers, steps, or components. However, they do not exclude the presence of one or more other features, integers, steps, or components.
[0144] The use of terms such as "computer" in this specification may refer to any device or part of a device that processes electronic data, for example, to convert electronic data stored in registers and / or other electronic data that can be stored in memory, from, for example, registers and memory. A "computer" or "computing machine" or "computing platform" may include one or more processors.
[0145] Furthermore, a computer may operate as a stand-alone device or may be network-connected to, for example, other processors and / or computers. In a network deployment, a computer may operate in the capacity of a server or a user machine in a server-user network environment, or may operate as a peer machine in a peer-to-peer or distributed network environment. A computer may form a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a web appliance, a network router, a switch or a bridge, or a machine capable of executing a series of instructions (sequential or otherwise) specifying actions to be taken by that machine.
[0146] References throughout this specification to "one embodiment", "some embodiments" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment and potentially multiple embodiments of the present disclosure. Thus, the appearances of the phrases "in one embodiment", "in some embodiments" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments, as will be apparent to those skilled in the art from the present disclosure.
[0147] Furthermore, some embodiments described herein include some but not other features included in other embodiments. Combinations of features of different embodiments, however, are within the scope of the present disclosure and are meant to form different embodiments, as will be understood by those skilled in the art. For example, in the following claims, any combination of the embodiments recited in the claims can be used.
[0148] As used herein, unless otherwise specified, the use of ordinal adjectives such as "first," "second," "third," etc. to describe a common object only indicates that different instances of the same object are being referred to, and is not intended to mean that the objects so described must be in a particular order, whether in time, space, ranking, or otherwise. Thus, when the methods described herein include several steps, the ordering of such elements is not implied unless otherwise specified.
[0149] Accordingly, while the preferred embodiments and uses of the present disclosure are described, those skilled in the art will recognize that additional modifications can be made without departing from the spirit of the present disclosure. And it is intended to claim all such changes and modifications as fall within the scope of the disclosure. For example, the above formulas are only representative of the procedures that can be used. Functions can be added or removed from the block diagrams, or operations can be exchanged between functional blocks. Steps can be added or removed from the methods described within the scope of the present disclosure.
Claims
1. A method for determining a tool path for controlling a printing tool, the method comprising: a) receiving an input file containing data representing a three-dimensional structure to be formed; b) dividing the three-dimensional structure into a plurality of build layers, the build layers being separated in a build direction, each build layer extending transversely to the build direction, and each build layer including an outer contour defining an intersection of the build layer with the outer surface of the three-dimensional structure; c) defining a tool path for filling the three-dimensional structure, such that for at least two adjacent layers, the tool path includes partially filling one or more higher build layers along the build direction before completely filling at least one lower build layer using non-intersecting continuous tool paths; d) generating a printing tool control algorithm including a series of control commands for controlling the printing tool to move along the tool path to form the three-dimensional structure.
2. Said step c) comprises: c) i) dividing each build layer into one or more layer regions; c) ii) determining a first tool path section for completely filling the first layer region based on a first predefined filling strategy; c) iii) determining a second tool path section for completely filling a second layer region adjacent to the first layer region in either the same layer or an adjacent layer based on a second predefined filling strategy, wherein the tool path section within the first layer region is directly adjacent to the corresponding starting point of the second tool path section; c) iv) repeating steps c) ii) and c) iii) for all layer regions by aligning the starting point of the tool path section with the corresponding end point of the corresponding tool path section of the previous tool path section in an adjacent layer or layer region to define a single tool path. The method according to claim 1.
3. Said step c) iv) defines a contour loop path extending around the outer contour of the three-dimensional structure between the starting and ending points of adjacent partitions. The method according to claim 2.
4. Said step c) comprises: c) i) dividing each structure layer into a plurality of layer regions based on the three-dimensional structure or elements of the build process; c) ii) determining, for each layer region, a plurality of possible filling path options including starting and ending points within the layer region; c) iii) determining a priority graph for each element based on features that are partially or wholly present above or below other elements within the three-dimensional structure. c) iv) Determine the execution order in the tool path according to the priority relationship determined in the priority graph so that each function is executed only once, and the end point of the current feature in the sequence is adjacent to the start point of the next feature. The method according to claim 1.
5. The element includes a sub-region of a structure that needs to be filled before other regions. The method according to claim 4.
6. The element includes a connection path between filling sections. The method according to claim 4 or claim 5.
7. The element includes a loop path that loops around a structural feature. The method according to any one of claims 4 to 6.
8. The filling path option includes a filling strategy. The method according to any one of claims 4 to 7.
9. The printing tool is controlled to execute an additional shaping process to form a three-dimensional structure. The method according to any one of claims 1 to 8.
10. The three-dimensional structure forms part of a larger three-dimensional object. The method according to any one of claims 1 to 9.
11. The tool path is continuous so that the flow of printing material to the printing tool is maintained throughout the printing process. The method according to any one of claims 1 to 10.
12. Including step a) i) of receiving one or more construction parameters for constructing a three-dimensional structure from a user via a user interface. The method according to any one of claims 1 to 11.
13. The construction parameter includes a filling strategy. The method according to claim 12.
14. The filling strategy includes a double-layer strategy in which the tool path section of layer n + 1 is the direct inverse of the tool path section of the adjacent layer region of the adjacent layer n. The method according to claim 13.
15. The filling strategy includes a helical filling pattern that starts at an outer layer region point and ends at a central layer region point. The method according to claim 14.
16. The filling strategy of adjacent layers includes an inverse spiral pattern that starts at a central point and ends at an outer point. The method according to claim 15.
17. The filling strategy includes a raster pattern filling strategy. The method according to claim 13.
18. The first and second filling strategies are the same. The method according to any one of claims 1 to 17.
19. Dividing the three-dimensional structure into a plurality of sub-regions includes dividing the three-dimensional structure into one or more volume structures before defining the construction layers. The method according to any one of claims 1 to 18.
20. where the build layer includes a plane, The method according to any one of claims 1 to 19.
21. where the build layer includes a curved surface, The method according to any one of claims 1 to 20.
22. where the tool path is defined to optimize the printing time for forming a three-dimensional structure, The method according to any one of claims 1 to 21.
23. where the tool path is defined to minimize the number of printing tool jumps along the tool path during the formation of the three-dimensional structure, The method according to any one of claims 1 to 22.
24. where the tool path is defined to minimize the number of path intersections along the tool path, The method according to any one of claims 1 to 23.
25. where the tool path is defined to minimize the amount of printing material used to form the three-dimensional structure, The method according to any one of claims 1 to 24.
26. The tool path is defined to optimize the number and degree of printing tool turns along the tool path, The method according to any one of claims 1 to 25.
27. To enhance the overall build strength of the three-dimensional structure, the tool path is defined to optimize the intersection of several layers, The method according to any one of claims 1 to 26.
28. A method for controlling a printing tool in an additive manufacturing process, the method comprising: executing, by a computer processor, a printing tool control algorithm generated by the method according to any one of claims 1 to 27, generating an electrical signal for controlling the printing tool to move along a tool path to form a predefined three-dimensional structure in response to the printing tool control algorithm.
29. The printing tool control algorithm includes instructions for changing one or more build parameters across different build layers or layer regions, The method according to claim 28.
30. where the line spacing of the printing tool varies between one or more layer regions, The method according to claim 29.
31. where the movement of the printing tool varies between one or more layer regions, The method according to claim 29 or claim 30.
32. The filling strategy varies between one or more layer regions, The method according to any one of claims 29 to 31.
33. The method according to any one of claims 1 to 32, wherein the printing tool includes at least one robotic arm. The method according to any one of claims 1 to 32.
34. The method according to any one of claims 1 to 33, wherein the printing tool includes a cold spray gun held in an operating position by a robotic arm. The method according to any one of claims 1 to 33.
35. A computer system for determining a tool path for controlling a printing tool, the computer system comprising: a processor; a memory storing instructions that, when executed by the processor, cause the processor to perform the following: The instructions cause the processor to perform the procedure according to the method according to any one of claims 1 to 34. Computer system.
36. A computer program comprising a processor and a memory storing instructions that, when executed by the processor, cause the processor to perform the following: When executed by the processor in a computer system for determining a tool path for controlling a printing tool, the instructions cause the processor to The instructions cause the processor to perform the procedure according to the method according to any one of claims 1 to 35. Computer program.
37. A non-transitory computer-readable storage medium having program code readable by a computer system comprising a processor and a memory storing instructions that, when executed by the processor, cause the processor to perform the following: The computer-readable program code, when executed by the processor, performs the procedure according to the method according to any one of claims 1 to 34. Computer-readable storage medium.
38. A processor and a memory storing instructions that, when executed by the processor, cause the processor to perform the procedure according to the method according to any one of claims 1 to 27, and a printing tool that responds to an electrical signal generated by the processor based on the instructions, moves along a tool path, and forms a predefined three-dimensional structure. Additive manufacturing system.
Citation Information
Patent Citations
In-space manufacturing and assembly of spacecraft equipment and technology
JP2018526535A
Method of fiber reinforced additive manufacturing
JP2019116104A
Method for printing hollow part using robotic additive manufacturing system and product printed thereby
JP2019151119A
Real-time adaptive control of additive manufacturing processes using machine learning
JP2020527475A
Multiple axis robotic additive manufacturing system and methods
WO2018039260A1