Patent ID: 12233603

DESCRIPTION OF THE CURRENT EMBODIMENTS

The present disclosure is generally directed to systems and methods for generating non-uniform lattice structures. The non-uniform lattice structures can be utilized in systems and methods for fabricating an article using additive manufacturing, small-scale and large-scale.

One aspect of the present disclosure is generally directed to systems and methods of fabrication of a non-uniform lattice infill with variable unit size based on a physical field (e.g., a stress field or a thermal field) that corresponds to the article being fabricated. That is, the unit size of cells of the lattice over the extent of the article varies with the intensity of the physical field. For example, depending on the type of physical field and the application, higher intensity field values generally correspond to smaller unit size lattice cells and lower intensity field values generally correspond to larger unit size lattice cells, or vice versa. One example of such a non-uniform, graded infill structure fabricated in accordance with a method of the present disclosure is illustrated inFIG.1. Additive manufacturing instructions to fabricate the non-uniform, graded infill structure can be generated based on a functional condition embodied in a field (e.g., a field indicative internal stress under loading).

One aspect of the present disclosure is generally directed to systems and methods for combining multiple uniform lattices that have two or more different lattice unit cell sizes to generate a linked non-uniform lattice structure, i.e., a lattice structure with multiple different lattice unit cell sizes having a suitable linkage in-between. The linkage connects the edges of multiple different lattice patches having uniform unit cell sizes that do not naturally align by generating a transition lattice patch that systematically and robustly transitions between the different unit cell sizes. For example, systems and methods of the present disclosure can generate a non-uniform lattice structure that includes a transition patch that transitions from a first uniform lattice patch having a first unit cell size to a second lattice patch having a second unit cell size different from the first unit cell size.FIG.1shows an exemplary representation. Specifically, it depicts an additive manufacturing layer toolpath122generated based on an internal stress field120that can be utilized to fabricate a layer of the infill structure of an article, in this case an airplane wing. The particular stress field depicted is exemplary and can vary from application to application. InFIG.1, higher stress values (e.g., in Mises) are generally toward the bottom portion of the article while lower stress values are toward the top of the article with intermediate stress values over a gradient between.

FIGS.2A-Cillustrate top plan views of exemplary infill structures for additively manufactured articles. Some embodiments of the present disclosure are directed to systems and methods for tailored sectioning to fabricate a section tailored infill structure for an article (see, for exampleFIG.2A), some are directed to systems and methods for field-based smoothing to fabricate a field-smoothed infill structure for an article (see, for exampleFIG.2B), and some embodiments are directed to a combination of tailored sectioning and field-based smoothing to fabricate an infill structure for an article that is both section tailored and field-smoothed (see, for exampleFIG.2C). A field-tailored lattice can refer to a section tailored lattice, a field-smoothed lattice, a section tailored and field-smoothed lattice, or a lattice generated by another methodology that integrates a field into the infill generation process. For example, a field-tailored lattice may refer to a lattice that is fabricated via additive manufacture by tailored sectioning. a lattice that is fabricated via additive manufacture by field-based smoothing, a lattice that is fabricated via additive manufacture by essentially any lattice generation technique that integrates a field into the infill generation process to generate a non-uniform, graded infill structure, or any combination of such systems and methods.

Tailored sectioning, field-based smoothing, and combinations thereof refer to modified circle packing algorithms that ensures connectivity between two non-uniform lattice structures at their interface. That is, these systems and methods can generate non-uniform lattice structures with guaranteed connectivity that address the connectivity issues that can arise when polygon sizes are adapted based on field intensities. For example,FIG.3illustrates how simply changing the relative size of hexagons in an infill pattern results in a connectivity issue. Systems and methods of the present disclosure can generate transition lattice patch linkages that provide a continuous transition interface between multiple different non-uniform lattice structures, which addresses this connectivity issue.

In tailored sectioning, the sizes of the packing shapes are varied according to a tailored sectioning parameter. The tailored sectioning parameter is indicative of a mapping between a discrete number of packing shape sizes (e.g., packing circle radii) and field data (e.g., intensity value of a physical field over a region). Thresholding can divide the region into sections that have patches of regular polygons tailored to different uniform sizes. The number of discrete polygon sizes can vary from application to application by adjusting the thresholding. Thresholds can be user-selectable, pre-defined in memory, or automatically configured by a processor, e.g., based on the nature of the field data, the standard deviation or another statistical characteristic of the field data, or essentially any other characteristic of the field data.

That is, by tailoring the sizing of the packing shapes based on the field intensity into several discrete sizes, the resultant grid will automatically form multiple uniform sections of regular polygons with transitions between the sections of different sized polygons including irregular polygons that ensure a continuous interface between sections. An example of a section tailored infill structure is shown inFIG.5, and discussed in more detail below.

The tailored sectioning method generally produces an embedded complex with discrete changes in edge lengths based on the underlying field. Field-based smoothing provides a heuristic for obtaining a more continuous change in cell size that is influenced by the field data. In essence, field-based smoothing attempts to embed each vertex of the complex as a circle with a radius that is determined from the field data in such a way that neighboring circles are tangent. For stress fields, regions of higher stress produce circles of smaller radius in order to create a denser grid, while regions of lower stress produce circles of larger radius. The mapping of stress (or other field data) to radii can be defined by the user. In some applications the maximum stress can be mapped to a user set minimum radius, the minimum stress to a user set maximum radius, and values in-between can be determined by a processor executing a linear interpolation or other methodology for intermediate values.

Embodiments of the present disclosure can also involve placing boundary circles onto the boundary of a user-defined (or CAD/slicer defined) polygon, e.g., such that each circle center corresponds to a boundary vertex that lies on the boundary polygon. That is, systems and methods of the present disclosure can constrain the circle packing and ultimately the infill structure generated to a particular boundary, such as the infill or surface boundary of the part being additively manufactured.

Some embodiments of the field-based smoothing heuristic provide the following constraints: (1) that neighboring circles be tangent, (2) that boundary circles lie on the boundary of a polygon, and (3) that radii conform to the specified field. In this way, field-based smoothing is significantly over-constrained. In alternative embodiments, just (1) and (2) or (1) and (3) together are sufficient to provide a variant heuristic. In essence, the field-based smoothing heuristic involves treating the network similar to a spring network and iteratively searching for an equilibrium to allow partial satisfaction all of the constraints. The equilibrium criteria can vary from application to application. In some embodiments, it may be desirable to ensure about equal satisfaction among all criteria in order to spread errors fairly evenly across the network, which ultimately can result in an improvement in static load bearing or other metrics of a 3D printed article. In other embodiments, certain constraints can be weighted higher or lower than others such that the equilibrium point is skewed toward a particular constraint(s).

Details regarding various exemplary embodiments of these aspects of the present disclosure are discussed in detail below in connection with systematic generation of lattice structures and applications to small and large-scale additive manufacturing.

Some embodiments of the present disclosure are generally directed to a system and method to generate a non-uniform graded polygonal structure, or representation in memory thereof, based on a selected field that defines one or more regions having a particular effect (e.g., multiple regions with different levels of internal stress or different thermal levels). For example, some embodiments provide a non-uniform, graded honeycomb structure based on a given field (e.g., an internal stress profile or a thermal profile).

Some embodiments of the present disclosure are generally directed to a non-uniform graded polygonal structure that is locally scaled according to a field to accommodate different size meshes. For example, one embodiment can generate an infill structure with a coarse mesh corresponding to a low stress area and a fine mesh corresponding to a high stress area. However, attaching a coarse mesh to a fine mesh presents a connectivity issue at the interface between the two different lattices because they are not guaranteed to align. This can be addressed by locally scaling the size of the mesh at the interface. For example, the structure can include multiple different size meshes and the various embodiments of the system and method ensure satisfactory connectivity between the different sized meshes. In one embodiment, the non-uniform, graded polygonal structure is scaled to two different size meshes, a coarse mesh and a fine mesh.

The systems and methods of the present disclosure can generate additive manufacturing instructions, e.g., G-Code, which can be provided to a 3D printer to additively manufacture a part or article that includes a non-uniform lattice structure. As an example, an airplane wing with a non-uniform lattice infill structure can be manufactured according to various embodiments of the present disclosure.

Infill Lattice Generation

A configuration of tangent circles yields a contact graph T by connecting the centers of tangent circles with straight line segments. The embodiments of the present disclosure systematically and robustly generate circle packings whose contact graphs T form triangulations fitted to prescribed two-dimensional regions. The graph T can be converted to its dual graph, denoted G, by connecting centers of adjacent triangles of T with straight line segments. G is trivalent, meaning that each vertex belongs to three edges. An example of this is illustrate inFIG.4, which shows how a packing by uniform sized circles yields a regular triangulation T that then generates a dual graph G, in this case, a regular hexagonal grid. When the circles of the packing are not of uniform size, the nature of the resulting grid G changes. For example, perhaps as best shown inFIG.5, a non-uniform circle packing P yields a non-regular triangulation T that converts to a grid G which is honeycomb-like, with mostly hexagonal cells, but with cell side counts in the range 5-7 (and occasional 4's or 8's). Accordingly, by adjusting the circle packing, the resulting lattice G remains connected and trivalent, but the sizes of its cells vary based on the sizes of the circles.

Some embodiments of the present disclosure, such as tailored sectioning embodiments (seeFIG.2A), field-based smoothing embodiments (seeFIG.2B), and combined tailored sectioning and field-based smoothing embodiments (seeFIG.2C), involve modifications of circle packing techniques and their application to additive manufacturing toolpaths. That is, a grid G can be constructed for an infill structure that has a honeycomb appearance because they are all obtained as the duals to circle packings. The circles form mutually tangent trips, meaning that connecting the centers of tangent circles yields a triangulation T, as appears inFIG.5. The hexagonal grid G is realized as the dual graph to T. Embodiments of the present disclosure are generally directed toward the construction and manipulation of the circle packings P, to extract a grid G.

One familiar (circle) packing is the hexagonal or “penny” packing, involving circles of uniform radius, each surrounded by six tangent neighbors. Such a circle packing is mentioned above and illustrated inFIG.4. Packings of the present disclosure display more variety but retain the feature that the circles come in mutually tangent triples. In embodiments of the present disclosure, P denotes a packing, meaning a collection P={Cv} of circles in a plane with the property that when we connect the centers of tangent circles in P we obtain a planar triangulation graph. The graph is termed the “triangulation” for P and denoted T=T(P). For each vertex v of T, there is a corresponding in P. Write v˜w if v and w share an edge in T, meaning Cv˜cw, i.e., that Cuand Cware tangent. The dual graph, denoted G=G (P), is our real target. In the case of uniform hexagonal packings, for instance, G is a honeycomb pattern of six-sided cells.

Combinatorics will generally not be hexagonal. If V, E, and F denote the number of vertices, edges, and faces of the triangulation T, the Euler characteristic χ(T)=V−E+F will always be one, meaning T triangulates a topological disc. “Boundary” vertices and edges are those on the periphery of T, denoted Ta, while the other vertices and edges are termed “interior,” denoted Tint. Denote by N(v) the set of neighbor vertices of v, N(v)={u:u˜v}. The degree of v, deg(v), is the cardinality of N(v). In the hexagonal case, deg(v)=6 for all v∈Tint, but in general, degrees will fall in the range 5-7, with the preponderance being 6 and with occasional 4's and 8's.

To compute a packing P={Cv}, a processor computes R={rv}, the associated radii of the circles, and Z={zv}, the associated circle centers. It may be counterintuitive, but the process starts with triangulation T. The processor then computes the radii rv, typically taking the radii of vertices in the boundary as initial data. Finally, with the combinatorics and the radii in memory, the processor can successively compute circle centers zv. Standalone packing engines are readily available and can handle simple and complex packings alike.

Although some embodiments of the present disclosure leverage the circle packing paradigm, the constructions involve compromises. Typical boundary conditions involve boundary radii, centers, and/or boundary angle sums. In certain embodiments, a border may or may not be included around a shape, and if included, it may be defined irrespective of the interior grid. Also, as sizes are modified as part of tailored sectioning (see below), tangency compromises can be made by bringing in “inversive distance” parameters.

In general, each cell of the grid G roughly circumscribes the associated circle of the packing P. Accordingly, these cells are “almost round” rather than distorted. The number of edges of the cell associated with v is deg(v).

As T is a triangulation, the circles of the packing P form triples. This means that the corners of the cells of the grid G are triple points, points incident to three edges. This and the fact that these edges meet with roughly equal angles, can provide clear structural advantages.

There is a mathematical rigidity attached to the packing P. For example, in the infinite hexagonal case, every circle of the packing P must have the same radius—if one radius of its packing P is changed, it is impossible to compensate with other radii adjustments to maintain a hexagonal circle packing in a way that is not simply a scaled/translated/rotated version of the original packing. Although the embodiments of the present disclosure deal with practical finite and non-hexagonal triangulations, this notion of rigidity persists: One manipulates packings for triangulation T by manipulating boundary conditions, but once those boundary conditions are set, the geometry of the packing P (and hence, the geometry of the grid G) is uniquely determined.

Each cell of the grid G is associated with a single number, the radius of its circle. This makes for easy computations and avoids degeneracies and accounts for the “conformal” nature exhibited by circle packings.

Tailored Sectioning Infill Lattice Generation

A region Ω in an x, y-plane is presented, for which an infill grid G is desired. The grid G can be obtained by generating a circle packing P in region Ω and extracting the grid G as its dual grid. From the circle packing P an underlying triangulation T can be obtained, for example, for use in subsequent field-based smoothing. Optionally, elements may be included in the circle packing P, triangulation T, and grid G associated with the boundary of the region Ω.

One goal of tailored sectioning is to accommodate additional constraints on the grid G represented by a scalar field to which the grid G responds. This field, specified by a non-negative function ƒ(x, y) on the region Ω, may represent a distribution of stress, weight, or some other physical property that varies across the region Ω. Put another way, one goal of tailored sectioning is to align the granularity of the grid G with the values of ƒ: where ƒ is larger, the cells of G should be smaller and vice versa. This can be accomplished by configuring a processor to adjust the granularity of the circle packing P.

In a simple case where ƒ is essentially constant, the circle packing P can be created by cookie-cutting the shape of the region Ω out of regular hexagonal circle packing of the plane. Such a case is essentially illustrated inFIG.4. The processor can be configured to accept a selection from a user interface as to a common radius of the circles and relative position of the circles within the region Ω to optimize the circle packing P—for instance, so that a row of its circles lies along a given edge of the region Ω. Circles lying along a given edge of the region Ω can include lying tangent the edge of the region, lying such that the center of the circles lie on the edge of the region, or essentially any other configuration where the circles either overlap the edge of the region or are in close proximity to the edge of the region. In some embodiments the circles can be packed to lie along the edge of the region in substantially the same manner, in other embodiments the circles can be packed such that they lie along the edge of the region in different manners.

In other cases, the values of ƒ will vary across the region Ω. The circle packing P can be generated out of circles that vary in radius. For example, the circles of the circle packing P can be smaller where the magnitude of the field ƒ is larger and vice versa. Examples of this are represented inFIG.1andFIGS.9A-D. This can be accomplished while maintaining or substantially maintaining local uniformity to the extent possible, by utilizing a limited number of distinct radii for the circles so that the circles of the packing P form local hexagonal patches. And, due to using a limited number of distinct radii, the grid G will have generally uniform cells within the local patches, but irregular cells in the transition zones between patches.

This system and method of tailored sectioning provides flexibility that is not present in conventional lattice generation. The method can be described as a series of steps including: obtaining a field function ƒ that maps a region Ω into an interval [a, b]⊂+, selecting a number m of decreasing values b=ƒ0>ƒ1>ƒ2> . . . >ƒm−1>ƒm=a, selecting increasing radii 0<r1<r2< . . . <rm−1<rmwhere r1and rmrepresent the radii of the largest and smallest circles, respectively, permitted in the circle packing P, and selecting a micro-lattice parameter s and a micro-lattice M=M(s). Here s>0 is such that each circle radius rjis roughly equal to an integer multiple njof s. For example, given ∈>0, the processor can be configured to select s suitably small that there will exist integers 0<n1<n2< . . . <nmwith |njs−rj|<∈rj, j=1, . . . , m. The associated micro-lattice M=M(s) is a regular hexagonal lattice with lattice spacing 2s (the distance between neighboring lattice points), with a convenient orientation and juxtaposed with the region Ω. For each integer n>1 there are superlattices Mnwithin M that are regular hexagonal lattices with lattice spacing n(2s). For each j the processor can be configured to select and fix such a superlattice Mj=Mnj. This family {Mj} of chosen superlattices are held in memory as the basis for construction of the circle packing P. In some embodiments, for j<m, the processor can be configured to include additional circles of radius rjto help smooth the transition to circles of the next larger radius rj+1.

The nearest neighbor triangulation T of the centers of the circle packing P can be defined. In addition, the grid G can be defined as the concrete dual grid to the circle packing P. Referring toFIG.6an example of a grid G, with blowups showing an exemplary triangulation and circle packing P are depicted. The cells of the grid G are locally uniform honeycombs in regions between the field function ƒj-level sets of the field F. There are irregular cells between those regions, though typically having no less than four and no more than eight sides. Tangency between circles can be generalized to accommodate overlaps or separations between neighboring circles. This can be done with “inversive distance” labels on the edges of T. Further optimization can be obtained with field-based smoothing, which will address irregularities in the cells of the grid, as well as irregularities in cells between the grid and perimeter edges around ∂Ω.

A slicer software program can conduct this process sufficiently fast that a user can cycle through many repetitions with various parameters, such as the micro-lattice parameter s, the field function values ƒjand the integers nj, to optimize the grid G. to adjust the total weight of the infill material, to further tailor the gradations of cell size, or to incorporate ad hoc adjustments in local areas.

Field-Based Smoothing Lattice Generation

The tailored sectioning system and method described above can produce an embedded complex with discrete changes in edge lengths based on an underlying field, such as a stress, thermal, or essentially any other specified field. The field-based smoothing is a heuristic for obtaining a more continuous change in cell size that is influenced by the field data. An evolution of a complex starting from an initial planar embedding with radii set to 1 is illustrated inFIG.7, with the four representations illustrating the state of the packing at iterations 0, 100, 200, and 300.

Field-based smoothing attempts to embed each vertex of the complex as a circle with a radius that is determined from the field in such a way that neighboring circles are tangent. Regions of higher field values (e.g., more stress) produce circles of smaller radius in order to create a denser grid, while regions of lower field values (e.g., less stress) produce circles of larger radius. Although the convention chosen describes higher field values representing more stress and lower field values representing less stress, the mapping of stress to radii can be defined by the user. For example, in some embodiments, maximum stress is mapped to a user set minimum radius, and the minimum stress is mapped to a user set maximum radius, and linear interpolation between the two values provides intermediate stress values. Field-based smoothing can also attempt to place the boundary circles of the disk onto the boundary of a user-defined polygon, meaning that each circle center can corresponding to a boundary vertex that lies on the user-defined polygon.

Summarizing, some embodiments of the field-based smoothing heuristic provide the following constraints: (1) that neighboring circles be tangent, (2) that boundary circles lie on the boundary of a polygon, and (3) that radii conform to the specified field. In this way, field-based smoothing is significantly over-constrained. In alternative embodiments, just (1) and (2) or (1) and (3) together are sufficient to provide a variant heuristic. In some aspects, the field-based smoothing heuristic involves treating the network similar to a spring network and iteratively searching for an equilibrium to allow the field-based smoothing to partially satisfy all of the constraints thereby spreading errors fairly evenly across the network, which ultimately can result in an improvement in static load bearing or other metrics of a 3D printed article.

The rigidity of the circle packing allows implementation of a refinement on the packing that maintains the original constraint of the face angle sum of the boundary vertices in the triangulation. An angle sum is the total angle α (v) around a vertex v, and the constraints on the packing defined by the radii of the boundary vertices can also be formulated by the face angle sums of the boundary vertices. The radii of a subset of the circles in the packing can be changed without altering the constraints of the face angle sums along the boundary.

This rigidity can also lead to unexpected changes in the combinatorics of the packing by slight changes in the boundary conditions imposed. Refinement can be achieved based on simulated field values imposed on the target object or article.

Field-based smoothing can be described in three stages: (1) a description of the heuristic for adjusting a given planar grid embedded with an initial circle set to a nearby configuration in which all neighboring circles are tangent; (2) a description of how to add the constraint of placing vertices on the boundary of the polygon and optionally pinning some vertices to polygon corners; and (3) a description of how to incorporate field values to adjust radii to more densely pack regions of higher values (e.g., higher stress) while still attempting to maintain neighbor tangencies.

Satisfying Neighbor Tangencies

Embodiments of the systems and methods of the field-based smoothing heuristic can generally accept as inputs a complex K (e.g., such as a triangulation T obtained from tailored sectioning) and a packing P together with an initial placement of vertices as circles in a plane. Each vertex vcorresponds to a circle C∇centered at p(v) and radius R(v). N(v) denotes a set of neighbors of vertex vin complex K, and edge vector E(v, v′)=p(v′)−p(v) denotes the edge vector from v to v′, and distance d(v, v′)=∥E(v, v′)∥ denotes the distance between circle centers corresponding to v and v′.

Field-based smoothing works, in general, by first updating the position p(v) and then updating the radius R(v) for each vertex vindependently of the other vertices. Consider a vertex vand one of its neighbors v′. The position of a circle C(v) can be corrected by moving it towards C(v′) along an imaginary line connecting the two centers p(v) and p(v′) until the two circles become tangent. This can be referred to as position correction of Cvtowards Cv′. The position correction is given by

P⁡(v,v′)=d⁡(v,v′)-R⁡(v)-R⁡(v′)d⁡(v,v′)⁢E⁡(v,v′).
The process also includes computing a radius correction of Cvtowards Cv′which is the change in radius to make Cvtangent to Cv′without changing its position. The radius correction is given by: p(v, v′)=d(v, v′)−R(v′). Then, in this embodiment of the field-based smoothing heuristic, the processor is configured to compute the average position and radius correction values over all neighbors:

P⁡(v)=∑v′∈N⁡(v)P⁡(v,v′),andρ⁡(v)=1❘"\[LeftBracketingBar]"N⁡(v)❘"\[RightBracketingBar]"⁢∑v′∈N⁡(v)ρ⁡(v,v′)-R⁡(v).

Finally, in this embodiment, the update in a single iteration to a vertex v's position p(v) and radius R(v) is given by:
p(v)new:=p(v)+δP(v), and
R(v)new:=R(v)+δP(v)

The parameter δ is a user-defined value that controls how big the update step is at each iteration. Larger values may become unstable while smaller values will take a larger number of iterations to converge. Some embodiments use δ=0.01.

The iterative heuristic can apply the updates above to each vertex in the complex K. In this embodiment, a total number of iterations can be specified as a user-controlled parameter.FIG.7shows an example of field-based smoothing starting with an initial grid with a small initial circle placed at each vertex. The four grids represent an evolution of a complex K starting from an initial planar embedding with radii set to 1. The four images represent the state of the packing at iterations 0, 100, 200, and 300.

Placing Boundary Circles on the Boundary of a Polygon

In the current embodiment of the field-based smoothing, a user can push the boundary circles outwards to the boundary of a user defined polygon with a user interface, such as a mouse or touch screen in communication with the computer performing the field-based smoothing. Alternatively, a processor can be configured to execute a program stored in memory that automatically pushes the boundary circles outward to the boundary of a user-defined polygon according to a set of criteria. Consider a boundary vertex v and letdenote the point on the user defined polygon nearest the circle center p(v).can be incorporated as an additional attraction point for the position correction calculation:

P⁡(v)=-p⁡(v))+∑v′∈N⁡(v)P⁡(v,v′),

This essentially has the effect of moving the boundary vertices onto the boundary of the polygon. In some embodiments, a user can optionally select a corner of the polygon with a user interface instead of using the nearest polygon point asonce for each polygon corner. This has the effect of having the boundary of the final grid match the boundary of the polygon more precisely, perhaps even exactly.FIGS.8A-Bshow an example of placing boundary circles on the boundary of an input polygon (FIG.8A) and with certain vertices pinned to the corners of the polygon (FIG.8B). Specifically, inFIG.8A, the boundary circle centers are attracted to the boundary. InFIG.8B, the boundary circle centers are attracted to the boundary and midway through the computation, the seven circles closest to the seven corners of the polygon are “pinned” to the polygon vertices.

Incorporating the Field Data

Two embodiments of methods for incorporating scalar field data (e.g., scalar stress field data) will now be described and compared in connection withFIG.9.

For both embodiments, F(p) denotes the value of the scalar field at a particular point p, while the minimum and maximum values are denoted by

F-=minpF⁡(p)⁢and⁢⁢F+=maxp⁢F⁡(p).
R−and R+denote user specified minimum and maximum desired radii. The processor is configured to associate the minimum field value of F−with the maximum desired radius R+, the maximum field value of F+with the minimum desired radius R−, and linearly interpolate between the two for points whose field value F(p) is in-between. Thus, the desired radius function:

D⁡(p)=(F+-F⁡(p))⁢(R+-R-)F+-F-+R-.

First Embodiment: To incorporate the field data into the iterative method described above, the radius correction function is altered to

ρ⁡(v)=11+❘"\[LeftBracketingBar]"N⁡(v)❘"\[RightBracketingBar]"⁢((∑v′∈N⁡(v)ρ⁡(v,v′)-R⁡(v))+(D⁡(p⁡(v))-R⁡(v))).
This incorporates the desired radius as another member of average change. In this embodiment, the desired radius has a small influence on the overall sum. Thus, for a user to weight the desired radius more highly against the neighbor tangency computation, the user has to exaggerate the desired radius computation. This can be done by multiplying R+by a multiplicative factor larger than 1 or by multiplying R−by a multiplicative factor between 0 and 1 to force the smaller circles to get even smaller.

Second Embodiment: Another method of achieving a similar effect, which can be incorporated into the lattice generation software is to modify the update to

ρ⁡(v)=ϵ⁡(D⁡(p⁡(v))-R⁡(v))+(1-ϵ)⁢1❘"\[LeftBracketingBar]"N⁡(v)❘"\[RightBracketingBar]"⁢∑v′∈∖N⁡(v)⁢(ρ⁡(v,v′)-R⁡(v)).
The user-selected parameter ϵ controls how strongly the heuristic should favor the desired radius over tangency. Since vertices have nearly constant valency these embodiments have a similar effect; however, the first embodiment asks the user to exaggerate the desired radius in a way that may be counter intuitive, while the second embodiment allows the user to simply control how much the desired radius influences the overall computation using a single parameter E which may be more user friendly in practice. A comparison of the two embodiments is illustrated inFIGS.9A-Don a grid that is influenced by a stress field, but without the boundary polygon constraints from the last section.

Referring toFIGS.9A-D, a comparison of the two embodiments for incorporating the stress field is shown.FIG.9Aillustrates the stress field being incorporated with darker shading representing higher stress values (i.e., larger intensity values of field data) and lighter shading representing lower stress values (i.e., lower intensity values of field data). The field data can essentially be taken from any field and stored in memory. It can be obtained by or provided to the processor executing the slicing software program that is configured to generate additive manufacturing instructions for the infill structure. For example, the field data can be simulated, actual, or user-specified. For example, a stress field (or other type of field) can be simulated by an internal stress simulation program that analyzes CAD or other representation of the article being fabricated. As another example, a thermal field (or other type of field) can be measured with a suitable sensor. The measurements and simulation may be generated based on a different version of the article. For example, a different additively manufactured version, perhaps with uniform honeycomb or some other infill structure. Or, from a version of the article manufactured by a different non-additive manufacturing method. As yet another alternative, the field data may be user specified and not based on simulated or actual field data. It should also be understood that the field data may not include intensity values for the entire area of the field corresponding to the article. For example, the field data might include some minimum and/or maximum values corresponding to locations on the part with other intensity values being interpolated. The field data may represent a physical field that the resultant additively manufactured part is expected to be subject to, such as internal stress under certain expected loading conditions, certain thermals under expected temperature exposure levels, or essentially any other field the part is expected to experience. The field data may or may not be available at the layer level of the article. In instances where the field data is available by layer, the layer field data can be utilized. However, in instances where layer field data is not available, surface field data may be applied to each layer. Such data may be applied as is, assuming substantially similar field experience for each layer, or an interpolation method may be utilized based on surface values and relative position of the subject layer.

Referring back to the specific field-smoothed embodiments depicted inFIGS.9B-D. Both embodiments start from the same initial state (i.e., complex K) as shown inFIG.7. An example of the first embodiment with a minimum circle radius of 8 and maximum circle radius of 60 is illustrated inFIG.9B.FIG.9Cillustrates an example of the second embodiment with a minimum circle radius of 10, maximum circle radius of 50, and user parameter ∈=0.75.FIG.9Dillustrates another version of the second embodiment, this one with a minimum radius of 10, maximum radius of 50, and user parameter of ∈=0.95. The units for the circle radii can be any suitable unit depending on the application and scale of the desired infill structure. For example, the units may refer to centimeters, millimeters, or another measurement unit appropriate for the application and scale of the article being fabricated.

FIGS.10A-Cshow examples of incorporating both the stress field and the polygon boundary condition constraints for both embodiments discussed above. Specifically, theFIG.10Aillustrates a grid generated by the first embodiment with a desired minimum radius of 8 and maximum radius of 60. In this case, the underlying stress field contributes almost no change from the unstressed case ofFIG.7.FIG.10Billustrates another version of the first embodiment but with the minimum radius set to −50. This exaggeration allows the system to better incorporate the stress field.FIG.10Cillustrates an exemplary complex with minimum radius 10, maximum radius 50 and ∈=0.95. This achieves a qualitatively similar effect as theFIG.10Bcomplex, but without the using a negative radius input as an exaggeration.

Infill Lattice Generation Topology

Two graphs G1and G2are isomorphic if there is a bijection ƒ: V (G1)→V(G2) mapping the vertex set of G1to the vertex set of G2such that uv is an edge of G1if and only if ƒ(u)ƒ(v) is an edge of G2. Colloquially, two graphs are isomorphic if they are re-labelings or re-drawings of each other. The isomorphism class of a graph G is the set of all graphs that are isomorphic to G.

With respect to tailored sectioning and field-based smoothing, they can generate graphs whose dual graphs are isomorphic to a subgraph of the honeycomb (hexagonal) lattice. For example,FIG.11illustrates an un-deformed graph, Graph A, that can be deformed utilizing one of the embodiments of the present disclosure into a deformed graph, Graph B, illustrated inFIG.12. The dual graphs, DualGraph A and DualGraph B, of Graphs A and B are shown inFIGS.11-12. DualGraph A is isomorphic to DualGraph B and likewise, DualGraph B is isomorphic to DualGraph A. It is worth noting that Graph A is not isomorphic to DualGraph A or DualGraph B.

One difference between tailored sectioning and field-based smoothing is that field-based smoothing allows for more precise control of the isomorphism class of the graph that is generated. The field-based smoothing maintains the same isomorphism class for the underlying graph throughout the process (meaning that no vertices, edges, or faces in the graph are added or removed). This means that if the dual graph of the initial grid is hexagonal and isomorphic to a subgraph of the hexagon lattice, then the dual graph of the final grid will also be hexagonal and isomorphic to a sub-graph of the hexagonal lattice.

Small-Scale Additive Manufacturing Example

The systems and method for lattice generation can be applied to generate an infill structure for a 3D printed article, such as an airplane wing.FIGS.4A-Cillustrate three exemplary wings that can be manufactured in accordance with embodiments of the present disclosure.

Field Data

The field data can be representative of essentially any physical characteristic of the part being additively manufactured. Internal stress field and thermal fields are two practical applications, but essentially any field that varies over the extent of the part can have practical application in connection with the embodiments of the present disclosure. In many practical applications, field data will include values representative of physical characteristics, such as thermal or stress characteristics. The field data can be obtained from essentially anywhere. For example, field data can be communicated over a network from a database or server having a repository of such data, determined experimentally by use of sensors on a prototype, duplicate, or other physical representation of the target part, or via simulation based on characteristics of the target part.

In one embodiment, a static loading or other type of simulation can be performed, e.g., via finite element analysis (FEA). Such a simulation can be performed with commercial FEA software, such as Abaqus 2018 or other FEA software. Although such a simulation can produce a stress field that can be utilized in connection with the embodiment of the present disclosure, it should be understood that the lattice generation systems and method of the present disclosure can accept a field from any type of loading case or a combination of multiple loading cases, provided that the output of the simulation is presented in a two-dimensional field.

Infill Lattice Generation

Embodiments of tailored sectioning and field-based smoothing methodologies can be adapted for use in additive manufacturing slicer software to generate an infill lattice structure for a part to be additively manufactured. For example, referring toFIG.2A, a non-uniform honeycomb infill structure with two distinct size hexagon patterns can be generated with slicer software incorporating an embodiment of the tailored sectioning. Referring toFIG.2B, an exemplary non-uniform honeycomb infill structure with gradually graded hexagons can be generated with an embodiment of the field-based smoothing. As another example, referring toFIG.4C, a non-uniform honeycomb infill can be generated based on a combination of embodiments of tailored sectioning and field-based smoothing methodologies. The average hexagon size was calibrated so that the infill of each wing has an equal weight of about 74 g.

The infill structures ofFIGS.4A-Ccan be manufactured in a small-scale 3D printer, such as a Stratasys Fortus 400MC, with ABS plastic filament. Stiffness of infill lattice structures generated with the systems and methods of the present disclosure can be evaluated with static load testing. Generally, load weight and deflection show a linear relationship. Field-based smoothing tailored sectioning methodologies generally produce infill lattices that deflect less relative to uniform infill lattice structure counterparts for the same load, with infill lattices generated by a combination of tailored sectioning and field-based smoothing deflecting even less.

Through calibration of the parameters in both methods (Smoothing and Sectioning), the disparity of the pattern size can be increased in order to improve stiffness. Field-based smoothing may be better for certain applications and tailored sectioning may be better for certain applications. Field-based smoothing generates a lattice structure with gradually changing unit size, and the disparity of the unit size can be changed via calibration and parameter selection (i.e., difference between small hexagon and large hexagon). Tailored sectioning can generate an infill lattice structure with an abrupt change in the unit size, which can be desirable in some applications. However, it is also possible with tailored sectioning to partition an area into multiple sections and assign slightly larger or smaller unit circle sizes from one section to the next section, which can provide a non-uniform honeycomb lattice with more visually gradual changes, and provide a great degree of control.

Large-Scale Additive Manufacturing Example

Embodiments of the present disclosure can also be utilized in large-scale additive manufacturing. The geometry and the dimensions of an exemplary flat wing for large-scale additive manufacturing printing are shown inFIG.13A. A finite element analysis (FEA) can be performed on the flat wing design, with suitable boundary conditions applied to the flat wing. Further constraints can be applied, such as pressure constraints and elastic material properties. A von Mises stress field, or other type of stress field, can be obtained from the FEA simulation as shown inFIG.17B.

By way of example, a uniform lattice structure in the domain of the wing can be generated as shown inFIG.14. An optimized lattice structure180can be generated with both the tailored sectioning method and the field-based smoothing method. The width of the lattice ribs in this case is set to about 0.26 inches (˜6.6 mm), which is two-bead widths of the extruded material from the nozzle diameter of 0.1 inch without a tamper. The boundary line of the wing can be added to the lattice structure to close the incomplete polygons at the boundary. The width of the boundary line can be set to the same width of the lattice ribs (6.66 mm) or a different value. The addition of the boundary line can be done using computer-aided design (CAD) software. The size of the unit cell (in this case, the hexagon cell) of the uniform lattice was calibrated such that the total weight of the uniform lattice wing matches the total weight of the optimized lattice wing. In the generated optimized lattice, the hexagon unit size decreases as the location moves down from the tip of the wing to the root of the wing. The gradual decrease in the cell size from hexagon cell182to hexagon cell184and from hexagon cell186to hexagon cell188results from application of the field-based smoothing method. The abrupt change in the cell size from hexagon cell184to hexagon cell186results from application of the tailored sectioning method.FIG.14shows an exemplary comparison of the cell sizes between the uniform lattice190and optimized lattice180, specifically one exemplary lattice cell192of the uniform lattice190is depicted next to several exemplary lattice cells182,184,186,188of the tailor sectioned and field smoothed lattice180. In this exemplary embodiment, it is worth noting that the two lattices180,190have about the same weight (1.1 kg), and the hexagon size of the uniform lattice (71.5 mm) is in between the size of hexagon cell184(89.3 mm) and the size of hexagon cell186(42.4 mm) in the optimized lattice as shown inFIG.14.

Put simply,FIG.14illustrates a wing design with a uniform lattice and a wing with an optimized lattice fabricated in accordance with the tailored sectioning and field-based smoothing embodiments of the present disclosure.FIG.14also shows a comparison of the hexagon size from the uniform lattice and the optimized lattice. In this case, the article material is acrylonitrile butadiene styrene (ABS) reinforced with 20% wt. carbon fiber, though essentially any other suitable material could be used for the fabrication. A nozzle diameter of 0.1 inch (2.54 mm) and layer height of 0.05 inch (1.27 mm) was used in this embodiment, though different values could be used within the scope of embodiments of the present disclosure. The print includes ten layers, though other prints in accordance with the disclosure may include additional or fewer layers.

Additive Manufacturing System Example

Embodiments of the present disclosure can be utilized in connection with an additive manufacturing system. One exemplary additive manufacturing system100in accordance with one embodiment of the present disclosure is illustrated inFIG.15. The additive manufacturing system100generally includes a computer102and an additive manufacturing machine104. Computers and additive manufacturing machines are generally well known and therefore will not be described in detail. Suffice it to say, a computer or processor102can essentially be any hardware or combination of hardware, local, remote, or distributed, capable of receiving a representation of an object116, executing a slicing algorithm108on the representation116in order to generate a toolpath110and additive manufacturing instructions. The algorithms can be stored in memory, individually or collectively, as instructions for execution by a computer processor. For example, the slicer and toolpath generation algorithms may be referred to collectively as a slicer software program that outputs (e.g., stored in memory or communicates to another module or apparatus) additive manufacturing instructions.

Further, the system can include an additive manufacturing machine104that can be essentially any suitable additive manufacturing equipment that can generate an additive structure according to additive manufacturing instructions generated by the slicer software program. For example, for deposition based additive manufacturing systems, in operation, the computer102receives a representation of an object116and a slicer108slices the model116and generates a toolpath110for successively additively manufacturing each layer (e.g., by deposition of material from a nozzle that moves about a print area according to the instructions). The output of the programs can ultimately be provided in the form of additive manufacturing instructions to the additive manufacturing machine104. The slicer108and toolpath generator110can be separate parts of one software program or can be stand-alone software programs that execute on the computer and can communicate directly with each other or indirectly, for example via files stored in memory on the computer. The controller114of the additive manufacturing machine104controls the deposition nozzle112according to the instructions to additively manufacture the object layer by layer. Although the additive manufacturing system100described herein is a deposition based system with a deposition nozzle, other types of additive manufacturing machines can be utilized in connection with embodiments of the present disclosure. The particular methodology for additively manufacturing infill structures generated in accordance with embodiments of the present disclosure can vary from application to application. U.S. patent application Ser. No. 16/750,631, filed on Jan. 23, 2020 to Seokpum, and hereby incorporated by reference in its entirety, describes various systems and methods for additive manufacturing with toolpath bridges that can be utilized in connection with the embodiments of the present disclosure.

Forming an additive structure, such as a lattice infill structure, includes any process in which a three-dimensional build, part, object, or additive structure is formed in successive layers according to one or more additive manufacturing techniques. The systems and methods discussed herein are suitable for both small and large scale additive manufacturing. The embodiments are applicable for essentially any additive manufacturing systems involving generation of a non-uniform infill. For example, suitable additive manufacturing techniques for use in conjunction with embodiments of the present disclosure include, by non-limiting example, direct energy deposition (DED), material extrusion (e.g., fused deposition modeling (FDM)), welding-based systems, material jetting, binder jetting, powder bed fusion, and essentially any other additive manufacturing process.

The additive structure can be formed with essentially any material or combination of materials used in additive manufacturing. This can include additive manufacturing materials now known or hereinafter developed. Suitable materials can include plastics, fiber composites, ceramics, metals, and other materials. For example, thermoplastics, thermosets, rubber, silicone, carbon fiber, and glass fiber, glass fiber-filled ABS, carbon fiber-filled ABS, to name a few different materials suitable for use with the embodiments of the present disclosure.

Molecular Dynamics Infill Lattice Generation

Another aspect of the present disclosure is generally directed to systems and methods for molecular dynamics based infill lattice generation. In particular, a force balance equation can be used as the foundation for a system and method for generating non-uniform infill lattice structure based on field data.

The molecular dynamics infill lattice generation of the present disclosure is inspired by the Lennard-Jones potential equation

V=4⁢e[(σr)1⁢2-(σr)6].
The equation and graph illustrate an intermolecular pair potential, sometimes referred to as the 12-6 potential. It provides an archetype model for realistic intermolecular interactions.

A force balance equation generally has two terms: pushing force (i.e., repulsive force) and pulling force (i.e., attraction force). A force balance equation essentially involves locating nodes (e.g., two nodes a distance r apart) such that the pushing and pulling forces are balanced to meet a particular equilibrium. If nodes are positioned too close, the pushing force become dominant, and the nodes push each other away. However, if the two nodes are positioned too far apart, the pulling force becomes dominant over the pushing force, and the nodes are pulled toward each other, or if the nodes are even farther apart, then the overall force may become very weak and the nodes do not exert any appreciable force on one another, pushing force or pulling force. These three states are illustrated in theFIG.16graph. The vertical line302illustrates the distance apart the two nodes end up staying. If they are too close (i.e., to the left of line302), the nodes push each other. If they are far apart, they pull each other (i.e., to the right of line302). And, if they are too far apart, the pulling is weak (i.e., on the far right side of the graph).

With this backdrop, an embodiment of the molecular dynamics based infill lattice generation method will now be described.

The method can begin with a number of nodes being obtained, generated, or defined over a surface representing the infill layer to be generated, e.g., either randomly distributed or regularly distributed. These nodes form a two-dimensional set of input seeds.FIGS.17-19illustrate different numbers of input seeds (i.e., nodes) that represent a two-dimensional area of atoms and their output configuration after the molecular dynamics infill generation methodology is applied and the positions of the nodes are adjusted.

FIG.17shows an example of a relatively low number of input seeds for a given two dimensional area and the resulting positions of the nodes after the method adjusts the locations of the nodes. That is, after the method is applied, the output shows the nodes in positions where the forces are balanced. If the nodes are too far apart, they lose the interaction force. The amount of nodes can vary by application—if too few nodes are generated as the input seeds, then the nodes tend to cluster in the output, as shown inFIG.17.

FIG.18shows a larger number of nodes that are representative of atoms. Again, the nodes are randomly or regularly distributed across a two-dimensional area. When the molecular dynamics based infill lattice generation method is applied with a sufficient number of nodes, such as the case withFIG.18, the nodes evenly space out from each other in the output, as shown.

If the number of nodes representing atoms is allowed to fill the entire domain as shown inFIG.19, then the nodes evenly space out with a shorter distance from each other in the output. Because there are a large number of nodes, when a stress field is imposed, the effect of the input stress will be less significant.

A modified version of the force balance equation can be utilized that integrates field data into the force balancing. For example, an input stress factor α can control the distance between nodes at a certain area. This can be accomplished with the following modified Lennard Jones Potential, with alpha representing an input stress factor:

V=4⁢e[(σr)p-α⁡(σr)q]

Inclusion of the input stress factor effectively shifts the equilibrium distance. For example, as shown inFIG.16, the equilibrium distance line302shifts to line304.

The p and q values can be varied depending on the application. In some applications, the p and q values are set to 8 and 6, respectively. However, in alternative embodiments, the p and q values can be set to other suitable values such as 4 and 2. In general, with lower values, the effect of alpha (input stress factor) becomes more pronounced in the node distribution, and with higher values, vice versa.

FIGS.20A-Dillustrates an exemplary embodiment of the molecular dynamics infill lattice generation process. The process begins with a representation of a stress field, e.g., as shown inFIG.20A.FIG.20Aillustrates a stress field with a distribution of intensity field values that represent a high stress near the upper right corner. The stress field is converted to a two-dimensional node distribution, such as depicted inFIG.20B. The node distribution represents the same stress field by virtual of node density representing higher intensity values of the stress field. Triangulation is then applied to the node distribution to generate a triangular graph over the same two-dimensional area, such as shown inFIG.20C. The triangle density represents higher stress values in a similar fashion as the node density. From there, the dual graph can be obtained of the triangular graph, which generates a generally hexagonal graph (with a few other types of polygons with fewer or additional numbers of sides. If applied over a surface of an article layer for additive manufacture, the hexagonal graph provides a molecular dynamics infill lattice.

FIG.21A-Cprovides another example of a hexagonal graph derived from a different stress field (not shown). In this embodiment, the stress field has a high intensity stress values at the center of the graph, but has otherwise normal stress values. The resultant node distribution from converting such a stress field is illustrated inFIG.21A. The triangulation of that node distribution is shown inFIG.21B. And, the dual graph of that triangular graph is shown inFIG.21C, which results in a non-uniform, continuous, and generally hexagonal graph, with some transition polygons with different number of shapes towards the edges or other regions where the triangle size changes.

A comparison between a node distribution converted from a zero input stress field and a node distribution converted from an exemplary stress distribution input for an exemplary wing structure under loading is shown inFIG.22A-B. In this exemplary stress distribution input, the stress input values range from about 0 to about 6.4e+5 Mises (i.e., 640,000), with an average stress of about 75%. The comparison shows how, for zero stress input, the resultant node distribution is more or less uniform, but the node distribution that integrates the wing stress field has nodes densely clustered near the bottom of the wing, where the highest stress correlates, and has nodes sparsely clustered near the top of the wing, where the lowest stress correlates.

Continuing with the stress integrated node distribution fromFIG.22B,FIGS.23A-Billustrate a triangulated graph obtained from the node distribution, as well as the dual (generally hexagon) graph obtained from the triangulation. The straight lines overlaid on the graphs ofFIGS.22BandFIGS.23A-Bshow the boundary of the wing220.

FIGS.24and25A-B illustrate two exemplary lattice infill structures generated with the molecular dynamics infill generation system and method. By controlling the number of nodes in the starting node distribution, the relative size of the hexagon cells in the ultimate infill lattice that is generated can be controlled. In general, the larger the number of nodes in the starting node distribution, the smaller the size of the hexagons (and other polygons) in the lattice.FIG.24illustrates a representative front view of an exemplary infill structure for a wing generated with a molecular dynamics infill generation method using the same stress field ofFIG.22B.FIGS.25A-Billustrates representative front and perspective views, respectively, of an infill structure for a wing generated with the molecular dynamics method using the same stress field, but with a larger number of initial nodes in the node distribution than theFIG.24node distribution.

Accordingly, the molecular dynamics infill generation method can generally be described by the following steps: defining an initial node distribution, adjusting the spacing between the nodes to reach, increase, or maximize a force balance equilibrium between the nodes, wherein the force balance equilibrium accounts for field intensity values of a field, such as a stress field, triangulating the adjusted node distribution to generate a triangular graph, and dual graphing the triangular graph to obtain a dual graph representative of an infill structure corresponding to the field data. The infill structure can be aligned to the boundary of the part being additively manufactured and converted to additive manufacturing instructions. Because of the molecular dynamics, node distribution, triangulation, and dual graph, the resultant lattice structure will be non-uniform, but generally hexagonal with transitions between different size hexagons having different numbers of sides. The infill structure will automatically provide a continuous lattice structure that can be constrained by the boundary of the part and provide vertices that match the part boundary.

Directional terms, such as “vertical,” “horizontal,” “top,” “bottom,” “upper,” “lower,” “inner,” “inwardly,” “outer” and “outwardly,” are used to assist in describing the invention based on the orientation of the embodiments shown in the illustrations. The use of directional terms should not be interpreted to limit the invention to any specific orientation(s).

The above description is that of current embodiments of the invention. Various alterations and changes can be made without departing from the spirit and broader aspects of the invention as defined in the appended claims, which are to be interpreted in accordance with the principles of patent law including the doctrine of equivalents. This disclosure is presented for illustrative purposes and should not be interpreted as an exhaustive description of all embodiments of the invention or to limit the scope of the claims to the specific elements illustrated or described in connection with these embodiments. For example, and without limitation, any individual element(s) of the described invention may be replaced by alternative elements that provide substantially similar functionality or otherwise provide adequate operation. This includes, for example, presently known alternative elements, such as those that might be currently known to one skilled in the art, and alternative elements that may be developed in the future, such as those that one skilled in the art might, upon development, recognize as an alternative. Further, the disclosed embodiments include a plurality of features that are described in concert and that might cooperatively provide a collection of benefits. The present invention is not limited to only those embodiments that include all of these features or that provide all of the stated benefits, except to the extent otherwise expressly set forth in the issued claims. Any reference to claim elements in the singular, for example, using the articles “a,” “an,” “the” or “said,” is not to be construed as limiting the element to the singular.